JP2016110502A - Electronic controller - Google Patents

Electronic controller Download PDF

Info

Publication number
JP2016110502A
JP2016110502A JP2014249147A JP2014249147A JP2016110502A JP 2016110502 A JP2016110502 A JP 2016110502A JP 2014249147 A JP2014249147 A JP 2014249147A JP 2014249147 A JP2014249147 A JP 2014249147A JP 2016110502 A JP2016110502 A JP 2016110502A
Authority
JP
Japan
Prior art keywords
calculation
unit
function
storage unit
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014249147A
Other languages
Japanese (ja)
Other versions
JP6405966B2 (en
Inventor
亮次 田中
Ryoji Tanaka
亮次 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2014249147A priority Critical patent/JP6405966B2/en
Publication of JP2016110502A publication Critical patent/JP2016110502A/en
Application granted granted Critical
Publication of JP6405966B2 publication Critical patent/JP6405966B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an electronic controller, capable of determining whether or not, abnormality of a calculation part is temporary abnormality or permanent abnormality, when a calculation result on any of the calculation parts is different from that of other calculation parts, and then properly coping with the abnormality.SOLUTION: An electronic controller 10 is configured so that: when a determination part 130 for determining whether or not, calculation results of respective calculation units are equal, determines that, a first calculation result and a second calculation result are not equal, the calculation unit 110 and calculation unit 120 execute a function corresponding to a function address stored in a second storage part 152, again, using input information PR stored in a first storage part 151.SELECTED DRAWING: Figure 1

Description

本発明は、複数の演算部において同一の演算が並行して実行される電子制御装置に関する。   The present invention relates to an electronic control device in which the same calculation is executed in parallel in a plurality of calculation units.

自動車用の電子制御装置では、常に正確な制御を行うことが求められる。そこで、制御のための演算を司るCPUを複数備えた構成とした上で、それぞれのCPUにおいて同一の演算を並列して実行させ、全ての演算結果が同一であることを確認しながら制御を行う方式(ロックステップ方式)の電子制御装置が実用化されている(例えば下記特許文献1を参照)。   Electronic control apparatuses for automobiles are required to always perform accurate control. Therefore, after having a configuration including a plurality of CPUs for controlling calculations, the same calculation is executed in parallel in each CPU, and control is performed while confirming that all the calculation results are the same. A system (lockstep system) electronic control device has been put into practical use (see, for example, Patent Document 1 below).

尚、ロックステップ方式の電子制御装置としては、上記のように複数設けられたCPUが同一の演算を行う態様の他、単一のCPUに設けられた複数のコアが同一の演算を行う態様とされることもある。以下では、同一の演算を行うために複数設けられたCPU又はコアのことを総じて「演算部」と表記する。   In addition to the aspect in which a plurality of CPUs perform the same calculation as described above, the lockstep type electronic control device includes a mode in which a plurality of cores provided in a single CPU perform the same calculation. Sometimes it is done. Hereinafter, a plurality of CPUs or cores provided to perform the same calculation are collectively referred to as “calculation unit”.

下記特許文献1に記載の電子制御装置では、一部の演算部における演算結果が他と異なってしまったことが検出された場合、それぞれの演算部において自己診断ソフトを実行させることで、異常が生じた演算部を特定することとしている。一部の演算部における診断結果(自己診断ソフトを実行することにより得られる演算結果)が異常を示すものであった場合には、当該演算部において何らかの異常が生じているということである。そこで、当該演算部からの演算結果の使用を中断し、以降は正常な演算部からの演算結果のみを用いて制御が行われる。   In the electronic control device described in Patent Document 1 below, when it is detected that the calculation results in some of the calculation units are different from the others, by causing the respective diagnostic units to execute self-diagnostic software, It is supposed to specify the generated calculation unit. If the diagnosis result (calculation result obtained by executing the self-diagnosis software) in some calculation units indicates an abnormality, it means that some abnormality has occurred in the calculation unit. Therefore, the use of the calculation result from the calculation unit is interrupted, and thereafter, control is performed using only the calculation result from the normal calculation unit.

また、全ての演算部における診断結果が異常を示すものであった場合には、全ての演算部において何らかの異常が生じているということである。そこで、動作が保障されたフェールセーフソフトをそれぞれの演算部において実行させて安全を確保する。   Moreover, when the diagnosis result in all the arithmetic units shows an abnormality, it means that some abnormality has occurred in all the arithmetic units. Therefore, fail safe software whose operation is guaranteed is executed in each arithmetic unit to ensure safety.

特開2012−68788号公報JP 2012-68788 A

ところで、一部の演算部における演算結果が他と異なってしまったことが検出された後、自己診断ソフトが実行されたにも拘らず、全ての診断結果が正常となってしまう場合がある。このような現象が生じる原因の一つとしては、例えば、演算部において生じた異常はノイズの影響等による一時的なものであり、自己診断ソフトが実行される際には当該異常が解消していた、ということが考えられる。   By the way, after it is detected that the calculation results in some calculation units are different from others, all the diagnosis results may be normal even though the self-diagnosis software is executed. One of the causes of such a phenomenon is that, for example, an abnormality that has occurred in the arithmetic unit is temporary due to the influence of noise or the like, and when the self-diagnosis software is executed, the abnormality has been resolved. It is possible that

もう一つの原因としては、一部又は全ての演算部において恒久的な異常が生じているにも拘らず、当該異常が自己診断ソフトでは検出されなかったということも考えられる。   Another possible cause is that the abnormality was not detected by the self-diagnosis software although a permanent abnormality occurred in some or all of the arithmetic units.

上記特許文献1に記載の電子制御装置では、自己診断ソフトによる診断結果が全ての演算部において正常であった場合、演算結果の違いは演算部の一時的な異常により生じたのか、それとも、(自己診断ソフトでは検出不可能な)演算部の恒久的な異常により生じたのか、を区別することができない。   In the electronic control device described in Patent Document 1, if the diagnosis result by the self-diagnosis software is normal in all the arithmetic units, is the difference in the arithmetic result caused by a temporary abnormality in the arithmetic unit, or ( It cannot be distinguished whether the error occurred due to a permanent abnormality of the arithmetic unit (which cannot be detected by self-diagnosis software).

このため、上記特許文献1に記載の電子制御装置では、全ての診断結果が正常となった場合には、少なくとも一部の演算部に恒久的な異常が生じている可能性に鑑み、フェールセーフソフトを全ての演算部において実行させることとしている。実際には演算部の恒久的な異常は生じておらず、一時的な異常のみが生じたような場合にも、必ずフェールセーフソフトが実行されてしまうため、ソフトに異常がなくてもフェールセーフが働いてしまうという問題がある。   For this reason, in the electronic control device described in Patent Document 1, when all the diagnosis results are normal, in view of the possibility that permanent abnormality has occurred in at least some of the arithmetic units, fail-safe Software is executed in all arithmetic units. Actually, there is no permanent abnormality in the computing unit, and even if only a temporary abnormality occurs, fail-safe software is always executed, so even if there is no abnormality in the software, fail-safe There is a problem that will work.

本発明はこのような課題に鑑みてなされたものであり、その目的は、一部の演算部における演算結果が他と異なってしまったことが検出された際において、演算部の異常が一時的なものであるのか、それとも恒久的なものであるのかを正確に区別し、その後の対応を適切にとることのできる電子制御装置を提供することにある。   The present invention has been made in view of such problems, and the purpose of the present invention is to temporarily detect abnormalities in the arithmetic units when it is detected that the arithmetic results in some of the arithmetic units differ from others. It is an object of the present invention to provide an electronic control device that can accurately discriminate whether it is a permanent one or a permanent one, and can appropriately take subsequent actions.

上記課題を解決するために、本発明に係る電子制御装置では、複数の演算部において同一の演算が並行して実行される電子制御装置であって、それぞれの演算部における演算結果を常に比較し、当該演算結果が互いに同一かどうかを判定する比較判定部と、情報を一時的に保存するための第1保存部及び第2保存部と、を備えている。それぞれの演算部は、入力情報を用いて処理を行うように記述された関数を実行する際、入力情報を第1保存部に保存する処理と、関数の格納場所である関数アドレスを、第2保存部に保存する処理と、を、関数を実行する直前において予め実行するように構成されている。比較判定部により、それぞれの演算結果が互いに同一ではないと判定された場合には、それぞれの演算部によって、第1保存部に記憶されている入力情報を用いて、第2保存部に保存されている関数アドレスに対応する関数が再度実行される。   In order to solve the above problems, the electronic control device according to the present invention is an electronic control device in which the same operation is executed in parallel in a plurality of operation units, and the operation results in each operation unit are always compared. A comparison determination unit that determines whether the calculation results are the same as each other, and a first storage unit and a second storage unit for temporarily storing information. When each arithmetic unit executes a function described to perform processing using the input information, the processing unit stores the input information in the first storage unit, the function address that is the function storage location, and the second function address. The process of storing in the storage unit is configured to be executed in advance immediately before executing the function. When the comparison determination unit determines that the respective calculation results are not the same as each other, the respective calculation units store the second storage unit using the input information stored in the first storage unit. The function corresponding to the function address being executed is executed again.

上記のような電子制御装置では、複数の演算部におけるそれぞれの演算結果が互いに同一ではないと判定された場合、第1保存部に記憶されている入力情報を用いて、第2保存部に保存されている関数アドレスに対応する関数が再度実行される。すなわち、演算結果が互いに同一ではないと判定される直前に実行されたものと同一の演算が、全ての演算部において、前回と同一の条件で再度実行される。   In the electronic control device as described above, when it is determined that the calculation results of the plurality of calculation units are not the same as each other, the input information stored in the first storage unit is used to store the second storage unit. The function corresponding to the function address being executed is executed again. That is, the same calculation as that performed immediately before it is determined that the calculation results are not the same is re-executed in all the calculation units under the same conditions as the previous time.

例えば、関数が再度実行された後の演算結果が全ての演算部において同一となった場合には、演算部に生じていたのは一時的な異常であったと推定することができる。また、関数が再度実行された後の演算結果が全ての演算部において同一とならなかった場合には、少なくとも一部の演算部において恒久的な異常が生じていると推定することができる。   For example, when the calculation result after the function is executed again is the same in all the calculation units, it can be estimated that what has occurred in the calculation unit is a temporary abnormality. Moreover, when the calculation result after the function is executed again is not the same in all the calculation units, it can be estimated that a permanent abnormality has occurred in at least some of the calculation units.

つまり、本発明では、予め用意された自己診断ソフトによってではなく、演算結果が互いに同一ではないと判定される直前に実行されたものと同一の演算によって、演算部に生じた異常が一時的なものであったかどうかが判定される。演算部において恒久的な異常が生じていた場合には確実に演算結果の不一致が生じるため、上記の判定を正確に行うことができ、その後の対応を適切にとることができる。   In other words, in the present invention, the abnormality that has occurred in the calculation unit is temporarily caused by the same calculation performed immediately before it is determined that the calculation results are not the same, not by the self-diagnosis software prepared in advance. It is determined whether it was a thing. When a permanent abnormality has occurred in the calculation unit, the result of the calculation is surely inconsistent, so that the above determination can be made accurately and the subsequent response can be taken appropriately.

本発明によれば、一部の演算部における演算結果が他と異なってしまったことが検出された際において、演算部の異常が一時的なものであるのか、それとも恒久的なものであるのかを正確に区別し、その後の対応を適切にとることのできる電子制御装置を提供することができる。   According to the present invention, when it is detected that the calculation results in some of the calculation units are different from the others, is the abnormality of the calculation units temporary or permanent? Therefore, it is possible to provide an electronic control device that can accurately discriminate between the above and appropriately take subsequent actions.

本発明の実施形態に係る電子制御装置の構成を模式的に示す図である。It is a figure which shows typically the structure of the electronic control apparatus which concerns on embodiment of this invention. 図1に示された電子制御装置によって実行される処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process performed by the electronic control apparatus shown by FIG. 図1に示された電子制御装置によって実行される処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process performed by the electronic control apparatus shown by FIG. 入力情報及び関数について説明するための図である。It is a figure for demonstrating input information and a function.

以下、添付図面を参照しながら本発明の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。   Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In order to facilitate the understanding of the description, the same constituent elements in the drawings will be denoted by the same reference numerals as much as possible, and redundant description will be omitted.

本実施形態に係る電子制御装置10は、不図示の車両に備えられ、当該車両の各種動作(例えば燃料噴射等)を制御するための装置である。尚、本発明の適用範囲はこのような車両用の電子制御装置に限定されるものではなく、機器の制御を行うための電子制御装置全般に適用することができる。特に、利用者の安全のために正確な制御が求められるような機器の電子制御装置に、本発明が適用されることが望ましい。   The electronic control device 10 according to the present embodiment is a device that is provided in a vehicle (not shown) and controls various operations (for example, fuel injection) of the vehicle. The scope of application of the present invention is not limited to such an electronic control device for a vehicle, and can be applied to all electronic control devices for controlling devices. In particular, it is desirable that the present invention be applied to an electronic control device for equipment that requires precise control for the safety of the user.

図1に示されるように、本実施形態に係る電子制御装置10は、演算器110と、演算器120と、判定部130と、不揮発性メモリ140と、揮発性メモリ150と、を備えている。   As shown in FIG. 1, the electronic control device 10 according to the present embodiment includes a computing unit 110, a computing unit 120, a determination unit 130, a nonvolatile memory 140, and a volatile memory 150. .

演算器110及び演算器120は、互いに同一な構成の中央演算装置(CPU)である。電子制御装置10が制御を行うにあたって実行される演算は、これら演算器110及び演算器120によって実行される。具体的には、演算器110及び演算器120によってそれぞれ異なる演算が行われるのではなく、同一の演算が並行して且つ同期して行われる。このため、演算器110及び演算器120の両方が正常に動作しているのであれば、それぞれの演算結果は常に一致することとなる。逆に、少なくとも一方の演算器(110,120)に異常が生じた場合には、それぞれの演算結果は通常は一致しない。   The computing unit 110 and the computing unit 120 are central processing units (CPUs) having the same configuration. Calculations executed when the electronic control device 10 performs control are executed by the calculator 110 and the calculator 120. Specifically, different calculations are not performed by the calculator 110 and the calculator 120, but the same calculation is performed in parallel and synchronously. For this reason, if both the computing unit 110 and the computing unit 120 are operating normally, the respective computation results will always match. On the other hand, when an abnormality occurs in at least one of the computing units (110, 120), the respective computation results usually do not match.

後に詳しく説明するように、本実施形態においては、演算部110がメインの演算部として演算を行いながら、その演算結果が演算器120の演算結果と一致することの確認を常に行うように構成されている。演算部110は、その演算結果が演算器120の演算結果と異なっている場合には、その原因が演算部110又は演算器120に生じた恒久的な異常なのか、それとも一時的な異常なのかの判定を引き続き行う。   As will be described in detail later, in the present embodiment, the calculation unit 110 is configured to always check that the calculation result matches the calculation result of the calculator 120 while performing the calculation as the main calculation unit. ing. If the calculation result of the calculation unit 110 is different from the calculation result of the calculation unit 120, is the cause a permanent abnormality generated in the calculation unit 110 or the calculation unit 120 or a temporary abnormality? Continue the determination.

判定部130は、演算器110及び演算器120のそれぞれの演算結果を監視し、両者が互いに一致しているかどうかの判定を行う部分である。判定部130は、判定結果を記憶するためのレジスタ(以下、「比較結果レジスタ」と称する)を備えている。演算器110の演算結果(以下、「第1演算結果」とも称する)と演算器120の演算結果(以下、「第2演算結果」とも称する)とが互いに一致している場合、すなわち、演算器110及び演算器120がいずれも正常に動作している場合には、比較結果レジスタには0が書き込まれる。第1演算結果と第2演算結果とが互いに一致していない場合、すなわち、演算器110及び演算器120の少なくとも一方において異常が生じた場合には、比較結果レジスタには1が書き込まれる。   The determination unit 130 is a part that monitors the calculation results of the calculator 110 and the calculator 120 and determines whether or not they match each other. The determination unit 130 includes a register (hereinafter referred to as “comparison result register”) for storing the determination result. When the calculation result of the calculator 110 (hereinafter also referred to as “first calculation result”) matches the calculation result of the calculator 120 (hereinafter also referred to as “second calculation result”), that is, the calculator. When both 110 and the arithmetic unit 120 are operating normally, 0 is written in the comparison result register. When the first calculation result and the second calculation result do not match each other, that is, when an abnormality occurs in at least one of the calculator 110 and the calculator 120, 1 is written in the comparison result register.

不揮発性メモリ140は、所謂ROM(Read Only Memory)であって、演算器110及び演算器120によって実行されるプログラムの一部や、固定値として設定された制御パラメータ等が記憶された記憶装置である。不揮発性メモリ140に記憶された情報は、演算器110及び演算器120の両方から参照される。   The nonvolatile memory 140 is a so-called ROM (Read Only Memory), which is a storage device in which a part of a program executed by the computing units 110 and 120, a control parameter set as a fixed value, and the like are stored. is there. Information stored in the nonvolatile memory 140 is referred to by both the computing unit 110 and the computing unit 120.

揮発性メモリ150は、所謂RAM(Random Access Memory)であって、演算器110及び演算器120によって実行されるプログラムの一部や、当該プログラムの処理が行われる際に用いられる情報(変数値等)を一時的に記憶するための記憶装置である。揮発性メモリ150に記憶された情報は、演算器110及び演算器120の両方から参照される。また、揮発性メモリ150に対する情報の書き込みも、演算器110及び演算器120の両方から行われる。   The volatile memory 150 is a so-called RAM (Random Access Memory), which is a part of a program executed by the arithmetic unit 110 and the arithmetic unit 120, and information (variable values, etc.) used when processing of the program is performed. ) Is temporarily stored. Information stored in the volatile memory 150 is referred to by both the computing unit 110 and the computing unit 120. Information is also written to the volatile memory 150 from both the arithmetic unit 110 and the arithmetic unit 120.

揮発性メモリ150は、情報を一時的に保存するための部分として、第1保存部151と、第2保存部152とを有している。尚、揮発性メモリ150はその全体が情報を一時的に保存するためのものなのであるが、後の説明の便宜のために、その一部を特に第1保存部151及び第2保存部152と表記している。これらのそれぞれに保存される情報については、後に説明する。   The volatile memory 150 includes a first storage unit 151 and a second storage unit 152 as a part for temporarily storing information. Note that the volatile memory 150 as a whole is for temporarily storing information, but for convenience of later explanation, a part of the volatile memory 150 is in particular the first storage unit 151 and the second storage unit 152. It is written. Information stored in each of these will be described later.

演算器110及び演算器120においてプログラムが実行される際の処理の流れについて説明する。当該プログラムは不揮発性メモリ140に記憶されており、複数の関数を含んだ形で記載されている。ここで、関数とは、例えば揮発性メモリ150に記憶された各種情報(入力情報)を用いて処理を行うように記述された命令群のことである。   A flow of processing when a program is executed in the arithmetic unit 110 and the arithmetic unit 120 will be described. The program is stored in the nonvolatile memory 140 and is described in a form including a plurality of functions. Here, the function is a group of instructions described to perform processing using various information (input information) stored in the volatile memory 150, for example.

図4には、C言語によって記載された関数の簡単な例が示されている。関数「example」は、整数型の引数を2つ(int a,int b)渡されて実行されると、これら引数の積(int a*b)を返すものである。この例では、関数「example」が実行されると、引数である変数a及び変数bの値を用いた演算が行われる。変数a及び変数bの値のように、関数内の演算処理に用いられる情報(変数値)を総じて、以下では「入力情報PR」と表記する。尚、入力情報PRには、引数として関数に渡されるような情報のみならず、当該関数の外で定義されたグローバル変数の値が含まれる場合もある。   FIG. 4 shows a simple example of a function written in C language. When the function “example” is executed by passing two integer arguments (int a, int b), it returns the product (int a * b) of these arguments. In this example, when the function “example” is executed, an operation using the values of the variable a and the variable b as arguments is performed. Information (variable values) used for calculation processing within the function, such as the values of the variables a and b, will be collectively referred to as “input information PR” below. Note that the input information PR may include not only information that is passed to a function as an argument, but also the value of a global variable defined outside the function.

図2に示されたフローチャートは、プログラムに含まれる関数が実行される際に、電子制御装置10において都度行われる処理の流れを示すものである。具体的には、プログラム中の関数が実行される度に図2に示される処理の一部(S101〜S103)が行われるように、当該プログラムが記載されている。図2に示される処理のうち、ステップS101からステップS107までの処理は、演算器110は制御側として処理を行い、演算器120は監視側として処理を行う。図2に示される処理のうち、ステップS104以降の処理は、演算器110のみによって行われる。   The flowchart shown in FIG. 2 shows the flow of processing performed each time in the electronic control device 10 when a function included in the program is executed. Specifically, the program is described so that a part of the processing (S101 to S103) shown in FIG. 2 is performed each time a function in the program is executed. Among the processes shown in FIG. 2, in the processes from step S101 to step S107, the arithmetic unit 110 performs the process as the control side, and the arithmetic unit 120 performs the process as the monitoring side. Of the processes shown in FIG. 2, the processes after step S <b> 104 are performed only by the computing unit 110.

最初のステップS101では、これから実行される(後のステップS103で実行される)関数に用いられる入力情報PRの値が、全て第1保存部151に記憶(コピー)される。具体的には、例えば、入力情報PRに含まれる変数に対応したメンバ変数を有する構造体を予め用意しておき、構造体の各メンバ変数の値を入力情報PRの値に一致させた後、当該構造体を第1保存部151に記憶すればよい。尚、入力情報PRに含まれる変数の種類(型及びサイズ)や数は、関数によって異なるので、上記の構造体は関数ごとに用意しておけばよい。   In the first step S101, all the values of the input information PR used for the function to be executed (executed in the subsequent step S103) are stored (copied) in the first storage unit 151. Specifically, for example, a structure having member variables corresponding to the variables included in the input information PR is prepared in advance, and the value of each member variable of the structure is matched with the value of the input information PR. The structure may be stored in the first storage unit 151. Since the type (type and size) and number of variables included in the input information PR vary depending on the function, the above-described structure may be prepared for each function.

ステップS101に続くステップS102では、これから実行される関数の格納場所(不揮発性メモリ140におけるアドレス)が第2保存部152に保存される。関数の格納場所とは、所謂「関数ポインタ」としてプログラム中に記述される変数に記憶されている情報である。   In step S <b> 102 following step S <b> 101, the storage location (address in the nonvolatile memory 140) of the function to be executed is stored in the second storage unit 152. The function storage location is information stored in a variable described in the program as a so-called “function pointer”.

ステップS102に続くステップS103では、関数が実行される。ステップS103に続くステップS104では、比較結果レジスタの値が読み込まれる。既に述べたように、比較結果レジスタは、判定部130に設けられたレジスタであって、第1演算結果と第2演算結果とが一致した場合には0が書き込まれ、第1演算結果と第2演算結果とが一致しない場合には1が書き込まれるレジスタである。本実施形態では、演算器110及び演算器120によって一つの命令が実行される毎に、判定部130によって第1演算結果と第2演算結果との比較が行われ、当該比較の結果に基づいて比較結果レジスタへの値の書き込みが行われている。   In step S103 following step S102, the function is executed. In step S104 following step S103, the value of the comparison result register is read. As already described, the comparison result register is a register provided in the determination unit 130. When the first calculation result and the second calculation result match, 0 is written, and the first calculation result and the first calculation result 2 is a register to which 1 is written when the operation result does not match. In the present embodiment, every time one instruction is executed by the calculator 110 and the calculator 120, the determination unit 130 compares the first calculation result and the second calculation result, and based on the comparison result. A value is written to the comparison result register.

このため、ステップS104において読み込まれる比較結果レジスタの値は、ステップS103における処理(関数の実行)の結果が、演算器110と演算器120とで一致するかどうかを示す値、ということになる。   For this reason, the value of the comparison result register read in step S104 is a value indicating whether the result of the process (function execution) in step S103 matches between the arithmetic unit 110 and the arithmetic unit 120.

ステップS104に続くステップS105では、ステップS104において読み込まれた比較結果レジスタの値が、電子制御装置10が備えるフラッシュメモリ(不図示)に記憶される。   In step S105 following step S104, the value of the comparison result register read in step S104 is stored in a flash memory (not shown) provided in the electronic control unit 10.

ステップS105に続くステップS106では、ステップS104において読み込まれた比較結果レジスタの値が0であるか否か、すなわち、第1演算結果と第2演算結果とが一致しているかが判定される。比較結果レジスタの値が0である場合には、図2に示される一連の処理を終了する。その後は、プログラムにおいて次の関数が実行される際に、再び図2に示される処理が実行される。つまり、ステップS103においては、前回の関数に続く次の関数が実行される。   In step S106 following step S105, it is determined whether or not the value of the comparison result register read in step S104 is 0, that is, whether or not the first calculation result and the second calculation result match. When the value of the comparison result register is 0, the series of processes shown in FIG. Thereafter, when the next function is executed in the program, the processing shown in FIG. 2 is executed again. That is, in step S103, the next function following the previous function is executed.

ステップS106において、比較結果レジスタの値が1である場合には、ステップS107に移行する。ステップS107では、演算器110及び演算器120の両方が同時にリセット(再起動)される。   If the value of the comparison result register is 1 in step S106, the process proceeds to step S107. In step S107, both the arithmetic unit 110 and the arithmetic unit 120 are simultaneously reset (restarted).

演算器110及び演算器120がリセットされた直後において行われる処理について、図3を参照しながら説明する。図3に示される一連の処理は、演算器110は制御側として処理を行い、演算器120は監視側として処理を行う。   Processing performed immediately after the computing units 110 and 120 are reset will be described with reference to FIG. In the series of processing shown in FIG. 3, the arithmetic unit 110 performs processing as the control side, and the arithmetic unit 120 performs processing as the monitoring side.

最初のステップS201では、比較結果レジスタの値がフラッシュメモリから読み込まれる。ここで読み込まれる比較結果レジスタの値は、演算器110及び演算器120がリセットされる直前に、図2に示されるステップS105においてフラッシュメモリに記憶されていた値である。   In the first step S201, the value of the comparison result register is read from the flash memory. The value of the comparison result register read here is the value stored in the flash memory in step S105 shown in FIG. 2 immediately before the arithmetic unit 110 and the arithmetic unit 120 are reset.

ステップS201に続くステップS202では、ステップS201において読み込まれた比較結果レジスタの値が0であるか否か、すなわち、リセット前における第1演算結果と第2演算結果とが一致していたかどうかが判定される。比較結果レジスタの値が0である場合には、図3に示される一連の処理を終了する。その後は、図2を参照しながら説明した一連の処理が実行される。   In step S202 following step S201, it is determined whether or not the value of the comparison result register read in step S201 is 0, that is, whether or not the first calculation result and the second calculation result before the reset match. Is done. If the value of the comparison result register is 0, the series of processes shown in FIG. Thereafter, a series of processes described with reference to FIG. 2 is executed.

ステップS202において、比較結果レジスタの値が1である場合には、ステップS203に移行する。ステップS203では、第1保存部151に記憶されていた入力情報PRの値が読み込まれ、関数で用いられる全ての変数にその値が代入される。ここでいう関数とは、リセットが実行される直前において、演算器110及び演算器120で実行された関数のことである。換言すれば、第1演算結果と第2演算結果とが不一致となる直前において実行された関数のことである。   In step S202, when the value of the comparison result register is 1, the process proceeds to step S203. In step S203, the value of the input information PR stored in the first storage unit 151 is read, and the value is substituted for all variables used in the function. The function here is a function executed by the arithmetic unit 110 and the arithmetic unit 120 immediately before the reset is executed. In other words, it is a function executed immediately before the first calculation result and the second calculation result do not match.

ステップS203に続くステップS204では、第2保存部152に記憶されていた値(関数ポインタに記憶されていた値)が読み込まれる。   In step S204 subsequent to step S203, the value stored in the second storage unit 152 (the value stored in the function pointer) is read.

ステップS204に続くステップS205では、ステップS204において読み込まれた関数ポインタに対応する関数(関数ポインタに記憶されていたアドレスに格納されている関数)が実行される。ステップS205では、第1演算結果と第2演算結果とが不一致となる直前において実行された関数が、前回(第1演算結果と第2演算結果とが不一致となる直前)と同一条件にて再度実行される。   In step S205 following step S204, the function corresponding to the function pointer read in step S204 (the function stored at the address stored in the function pointer) is executed. In step S205, the function executed immediately before the first calculation result and the second calculation result do not coincide with each other again under the same condition as the previous time (immediately before the first calculation result and the second calculation result do not coincide). Executed.

ステップS205に続くステップS206では、図2のステップS104と同様に、比較結果レジスタの値が読み込まれる。   In step S206 following step S205, the value of the comparison result register is read in the same manner as in step S104 of FIG.

ステップS206に続くステップS207では、ステップS206において読み込まれた比較結果レジスタの値が0であるか否か、すなわち、第1演算結果と第2演算結果とが一致しているか否かが判定される。比較結果レジスタの値が0である場合には、ステップS208に移行する。   In step S207 following step S206, it is determined whether or not the value of the comparison result register read in step S206 is 0, that is, whether or not the first calculation result and the second calculation result match. . If the value of the comparison result register is 0, the process proceeds to step S208.

ステップS208に移行したということは、前回においては第1演算結果と第2演算結果とが一致しなかった演算を、同一条件において再度実行したところ(ステップS205)、今回は第1演算結果と第2演算結果とが一致した、ということである。このため、前回(リセット前)において第1演算結果と第2演算結果とが一致しなかったのは、演算器110又は演算器120において恒久的な異常が生じていたことに起因するのではなく、ノイズ等の影響により一時的な異常が生じていたことに起因すると推測される。   The transition to step S208 means that when a calculation in which the first calculation result and the second calculation result did not match in the previous time is executed again under the same condition (step S205), this time, the first calculation result and the second calculation result are the same. That is, the two operation results match. For this reason, the reason why the first calculation result and the second calculation result did not match in the previous time (before reset) is not due to a permanent abnormality occurring in the calculator 110 or 120. This is presumed to be caused by a temporary abnormality caused by the influence of noise or the like.

このため、ステップS208では、演算器110又は演算器120のいずかに生じていたのは一時的な異常であって、現時点では演算器110及び演算器120はいずれも正常に機能していると判定される。その後は、図2を参照しながら説明した一連の処理が実行される(ステップS209)。   For this reason, in step S208, what has occurred in either the computing unit 110 or the computing unit 120 is a temporary abnormality, and at present, both the computing unit 110 and the computing unit 120 are functioning normally. It is determined. Thereafter, a series of processing described with reference to FIG. 2 is executed (step S209).

ステップS207において、比較結果レジスタの値が1である場合には、ステップS210に移行する。   If the value of the comparison result register is 1 in step S207, the process proceeds to step S210.

ステップS210に移行したということは、前回においては第1演算結果と第2演算結果とが一致しなかった演算を、同一条件において再度実行したところ、今回もやはり第1演算結果と第2演算結果とが一致しなかった、ということである。このため、前回(リセット前)において第1演算結果と第2演算結果とが一致しなかったのは、演算器110又は演算器120において恒久的な異常が生じていたことに起因すると推測される。   The transition to step S210 means that the first calculation result and the second calculation result that were not matched in the previous time are re-executed under the same conditions. Does not match. For this reason, the reason why the first calculation result and the second calculation result did not match in the previous time (before reset) is presumed to be due to a permanent abnormality occurring in the calculator 110 or 120. .

このため、ステップS210では、演算器110又は演算器120のいずかに生じていたのは恒久的な異常であって、現時点においても演算器110又は演算器120(もしくは両方)が正常に機能し得ない状態であると判定される。   For this reason, in step S210, it is a permanent abnormality that has occurred in either the computing unit 110 or the computing unit 120, and the computing unit 110 or the computing unit 120 (or both) functions normally even at the present time. It is determined that this is not possible.

ステップS210に続くステップS211では、異常に対応する処理が必要に応じて適宜実行される。例えば、本実施形態のように制御対象が車両である場合には、車両を安全に停止させるために必要となる一連の処理、すなわち、フェールセーフ処理が実行される。   In step S211 following step S210, processing corresponding to the abnormality is appropriately executed as necessary. For example, when the control target is a vehicle as in the present embodiment, a series of processes necessary for safely stopping the vehicle, that is, fail-safe processes are executed.

また、演算器110又は演算器120に生じた異常の具体的な原因を更に詳しく検査するような処理が行われてもよい。当該処理の結果、演算器110又は演算器120に生じた異常が軽微であると判明した場合には、一部の機能を制限しながら引き続き車両の走行を継続するような処理が行われてもよい。   In addition, a process for inspecting the specific cause of the abnormality occurring in the computing unit 110 or the computing unit 120 in more detail may be performed. As a result of the processing, if it is found that the abnormality that has occurred in the computing unit 110 or the computing unit 120 is minor, even if processing that continues running of the vehicle is performed while limiting some functions. Good.

以上のように、本実施形態に係る電子制御装置10では、2つの演算器(110,120)におけるそれぞれの演算結果が互いに同一ではないと判定された場合、第1保存部151に記憶されている入力情報PRを用いて、第2保存部152に保存されている関数アドレスに対応する関数が再度実行される(ステップS205)。すなわち、演算結果が互いに同一ではないと判定される直前に実行されたものと同一の演算が、全ての演算器(110,120)において、前回と同一の条件で再度実行される。   As described above, in the electronic control device 10 according to the present embodiment, when it is determined that the calculation results of the two calculators (110, 120) are not the same as each other, they are stored in the first storage unit 151. The function corresponding to the function address stored in the second storage unit 152 is executed again using the input information PR stored (step S205). In other words, the same calculation as that executed immediately before it is determined that the calculation results are not identical to each other is executed again in all the calculators (110, 120) under the same conditions as the previous time.

その後、2つの演算器(110,120)におけるそれぞれの演算結果が再度比較される(ステップS207)。第1演算結果と第2演算結果が互いに一致した場合には、演算器110及び演算器120はいずれも正常であると判定される(ステップS208)。第1演算結果と第2演算結果が再び不一致となった場合には、演算器110又は演算器120の少なくとも一方において恒久的な異常が生じていたと判定され(ステップS210)、必要な対応がとられる(ステップS211)。   Thereafter, the respective computation results in the two computing units (110, 120) are compared again (step S207). When the first calculation result and the second calculation result match each other, it is determined that both the calculator 110 and the calculator 120 are normal (step S208). If the first calculation result and the second calculation result again do not coincide with each other, it is determined that a permanent abnormality has occurred in at least one of the calculator 110 or the calculator 120 (step S210), and the necessary countermeasures are taken. (Step S211).

つまり、本実施形態では、予め用意された自己診断ソフトによってではなく、演算結果が互いに同一ではないと判定される直前に実行されたものと同一の演算によって、演算器(110,120)に生じた異常が一時的なものであったかどうかが判定される。恒久的な異常が生じていた場合には確実に演算結果の不一致が生じるため、上記の判定を正確に行うことができ、その後の対応を適切にとることが可能となっている。   In other words, in the present embodiment, the arithmetic unit (110, 120) is caused not by the self-diagnostic software prepared in advance but by the same calculation as that performed immediately before it is determined that the calculation results are not the same. It is determined whether the abnormality was temporary. If a permanent abnormality has occurred, the result of the calculation will certainly be inconsistent, so that the above determination can be made accurately, and the subsequent response can be taken appropriately.

また、本実施形態では、前回と同一の条件において同一の関数が再度実行される前に、演算器110及び演算器120の両方が同時にリセット(再起動)される。このため、一時的な異常等によって演算器110等が不安定な状態のまま、関数が再実行されてしまうことが防止される。リセット後の安定した状態において異常が判定されるため、演算器110等に生じた異常が恒久的なものであるかどうかの判定が、正確に行われる。   In the present embodiment, both the arithmetic unit 110 and the arithmetic unit 120 are simultaneously reset (restarted) before the same function is executed again under the same conditions as the previous time. For this reason, it is possible to prevent the function from being re-executed while the computing unit 110 or the like is in an unstable state due to a temporary abnormality or the like. Since an abnormality is determined in a stable state after reset, it is accurately determined whether the abnormality that has occurred in the arithmetic unit 110 or the like is permanent.

以上、具体例を参照しつつ本発明の実施の形態について説明した。しかし、本発明はこれらの具体例に限定されるものではない。すなわち、これら具体例に、当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。例えば、前述した各具体例が備える各要素およびその配置、材料、条件、形状、サイズなどは、例示したものに限定されるわけではなく適宜変更することができる。また、前述した各実施の形態が備える各要素は、技術的に可能な限りにおいて組み合わせることができ、これらを組み合わせたものも本発明の特徴を含む限り本発明の範囲に包含される。   The embodiments of the present invention have been described above with reference to specific examples. However, the present invention is not limited to these specific examples. In other words, those specific examples that have been appropriately modified by those skilled in the art are also included in the scope of the present invention as long as they have the characteristics of the present invention. For example, the elements included in each of the specific examples described above and their arrangement, materials, conditions, shapes, sizes, and the like are not limited to those illustrated, but can be changed as appropriate. Moreover, each element with which each embodiment mentioned above is provided can be combined as long as technically possible, and the combination of these is also included in the scope of the present invention as long as it includes the features of the present invention.

10:電子制御装置
110:演算器
120:演算器
130:統括制御部
140:不揮発性メモリ
150:揮発性メモリ
151:第1保存部
152:第2保存部
10: Electronic control device 110: Operation unit 120: Operation unit 130: Overall control unit 140: Non-volatile memory 150: Volatile memory 151 1: First storage unit 152: Second storage unit

Claims (5)

複数の演算部(110,120)において同一の演算が並行して実行される電子制御装置(10)であって、
それぞれの前記演算部における演算結果を常に比較し、当該演算結果が互いに同一かどうかを判定する比較判定部(130)と、
情報を一時的に保存するための第1保存部(151)及び第2保存部(152)と、を備えており、
それぞれの前記演算部は、
入力情報(PR)を用いて処理を行うように記述された関数を実行する際、
前記入力情報を前記第1保存部に保存する処理(S101)と、
前記関数の格納場所である関数アドレスを、前記第2保存部に保存する処理(S102)と、
を、前記関数を実行する直前において予め実行するように構成されており、
前記比較判定部により、それぞれの前記演算結果が互いに同一ではないと判定された場合には、
それぞれの前記演算部によって、
前記第1保存部に記憶されている前記入力情報を用いて、前記第2保存部に保存されている前記関数アドレスに対応する前記関数が再度実行されることを特徴とする電子制御装置。
An electronic control device (10) in which the same calculation is executed in parallel in a plurality of calculation units (110, 120),
A comparison determination unit (130) that always compares the calculation results in the respective calculation units and determines whether or not the calculation results are the same;
A first storage unit (151) and a second storage unit (152) for temporarily storing information,
Each said calculation part is
When executing a function described to perform processing using input information (PR),
Processing for storing the input information in the first storage unit (S101);
A process of storing the function address, which is the storage location of the function, in the second storage unit (S102);
Is configured to be executed in advance immediately before executing the function,
When the comparison determination unit determines that the calculation results are not the same,
By each said calculation part,
The electronic control apparatus, wherein the function corresponding to the function address stored in the second storage unit is executed again using the input information stored in the first storage unit.
前記第1保存部に記憶されている前記入力情報を用いて、前記第2保存部に保存されている前記関数アドレスに対応する前記関数が再度実行された後、
前記比較判定部の判定結果に基づいて、前記演算部に生じた異常が恒久的なものであるか否かの判定が行われることを特徴とする、請求項1に記載の電子制御装置。
After the function corresponding to the function address stored in the second storage unit is executed again using the input information stored in the first storage unit,
The electronic control device according to claim 1, wherein it is determined whether or not an abnormality that has occurred in the arithmetic unit is permanent based on a determination result of the comparison determination unit.
前記第1保存部に記憶されている前記入力情報を用いて、前記第2保存部に保存されている前記関数アドレスに対応する前記関数が再度実行された後、
前記比較判定部により、それぞれの前記演算結果が互いに同一であると判定された場合には、前記演算部に生じた異常が一時的なものであると判定することを特徴とする、請求項2に記載の電子制御装置。
After the function corresponding to the function address stored in the second storage unit is executed again using the input information stored in the first storage unit,
3. The apparatus according to claim 2, wherein when the comparison / determination unit determines that the calculation results are the same as each other, the abnormality generated in the calculation unit is determined to be temporary. The electronic control apparatus as described in.
前記演算部に生じた異常が恒久的なものであると判定された場合には、安全に動作を停止するためのフェールセーフ処理が実行され、前記演算部に生じた異常が一時的なものであると判定された場合には、前記フェールセーフ処理が実行されないことを特徴とする、請求項3に記載の電子制御装置。   When it is determined that the abnormality that has occurred in the arithmetic unit is permanent, fail-safe processing for safely stopping the operation is performed, and the abnormality that has occurred in the arithmetic unit is temporary. The electronic control device according to claim 3, wherein the fail-safe process is not executed when it is determined that the electronic control device is present. 前記第1保存部に記憶されている前記入力情報を用いて、前記第2保存部に保存されている前記関数アドレスに対応する前記関数が再度実行されるよりも前に、それぞれの前記演算部がリセットされることを特徴とする、請求項1乃至4のいずれか1項に記載の電子制御装置。   Before the function corresponding to the function address stored in the second storage unit is executed again using the input information stored in the first storage unit, each of the arithmetic units The electronic control device according to claim 1, wherein the electronic control device is reset.
JP2014249147A 2014-12-09 2014-12-09 Electronic control unit Active JP6405966B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014249147A JP6405966B2 (en) 2014-12-09 2014-12-09 Electronic control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014249147A JP6405966B2 (en) 2014-12-09 2014-12-09 Electronic control unit

Publications (2)

Publication Number Publication Date
JP2016110502A true JP2016110502A (en) 2016-06-20
JP6405966B2 JP6405966B2 (en) 2018-10-17

Family

ID=56122215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014249147A Active JP6405966B2 (en) 2014-12-09 2014-12-09 Electronic control unit

Country Status (1)

Country Link
JP (1) JP6405966B2 (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5332646A (en) * 1976-09-08 1978-03-28 Hitachi Ltd Reexecutionable electronic computer
JPS62130429A (en) * 1985-12-02 1987-06-12 Nec Home Electronics Ltd Recognizing device for read data
JPH02272645A (en) * 1989-04-14 1990-11-07 Hitachi Ltd Method for supporting program debugging
JPH05120047A (en) * 1991-05-13 1993-05-18 Railway Technical Res Inst Complete clock synchronous type duplex circuit
JPH05189258A (en) * 1992-01-16 1993-07-30 Mitsubishi Electric Corp Microcomputer
US6199171B1 (en) * 1998-06-26 2001-03-06 International Business Machines Corporation Time-lag duplexing techniques
JP2001109635A (en) * 1999-10-07 2001-04-20 Mitsubishi Electric Corp Method for dealing with fault and computer system readable recording medium
JP2004062309A (en) * 2002-07-25 2004-02-26 Fujitsu Ltd Method of processing illegal instruction and processor
JP2008059402A (en) * 2006-09-01 2008-03-13 Movell Software:Kk Real-time diagnostic system and real-time diagnostic method
JP2009295126A (en) * 2008-06-09 2009-12-17 Internatl Business Mach Corp <Ibm> Simulation method, system, and program
JP2011095837A (en) * 2009-10-27 2011-05-12 Toshiba Corp Fail-safe system
JP2011170606A (en) * 2010-02-18 2011-09-01 Hitachi Ltd Electronic apparatus

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5332646A (en) * 1976-09-08 1978-03-28 Hitachi Ltd Reexecutionable electronic computer
JPS62130429A (en) * 1985-12-02 1987-06-12 Nec Home Electronics Ltd Recognizing device for read data
JPH02272645A (en) * 1989-04-14 1990-11-07 Hitachi Ltd Method for supporting program debugging
JPH05120047A (en) * 1991-05-13 1993-05-18 Railway Technical Res Inst Complete clock synchronous type duplex circuit
JPH05189258A (en) * 1992-01-16 1993-07-30 Mitsubishi Electric Corp Microcomputer
US6199171B1 (en) * 1998-06-26 2001-03-06 International Business Machines Corporation Time-lag duplexing techniques
JP2001109635A (en) * 1999-10-07 2001-04-20 Mitsubishi Electric Corp Method for dealing with fault and computer system readable recording medium
JP2004062309A (en) * 2002-07-25 2004-02-26 Fujitsu Ltd Method of processing illegal instruction and processor
JP2008059402A (en) * 2006-09-01 2008-03-13 Movell Software:Kk Real-time diagnostic system and real-time diagnostic method
JP2009295126A (en) * 2008-06-09 2009-12-17 Internatl Business Mach Corp <Ibm> Simulation method, system, and program
JP2011095837A (en) * 2009-10-27 2011-05-12 Toshiba Corp Fail-safe system
JP2011170606A (en) * 2010-02-18 2011-09-01 Hitachi Ltd Electronic apparatus

Also Published As

Publication number Publication date
JP6405966B2 (en) 2018-10-17

Similar Documents

Publication Publication Date Title
KR101978984B1 (en) Apparatus and method for detecting fault of processor
CN107463516B (en) Control device
JP6290303B2 (en) Circuit and method for testing error correction capability
KR102131230B1 (en) Method for self diagnosis of ram error detection logic in powertrain ecu system and apparatus thereof
US9678870B2 (en) Diagnostic apparatus, control unit, integrated circuit, vehicle and method of recording diagnostic data
JP6846405B2 (en) Conditional load suppression
JP2018067047A (en) Controller
JP2010160649A (en) Controller and control method
JP6405966B2 (en) Electronic control unit
JP6502211B2 (en) Vehicle control device
KR102603835B1 (en) Method and apparatus for protecting the program counter structure of a processor system and monitoring processing of interrupt requests
JP2016126692A (en) Electronic control device
JP6332134B2 (en) Memory diagnostic circuit
JP6363044B2 (en) Control device
JP6524989B2 (en) Operation guarantee method of arithmetic unit
JP6698455B2 (en) Memory diagnostic device
JP6766587B2 (en) Electronic control device
JP5590667B2 (en) Subroutine execution monitoring apparatus and subroutine execution monitoring method
JP6891789B2 (en) Arithmetic logic unit
JP5563700B2 (en) Control device
JP2016089782A (en) Electronic control device
JP6275098B2 (en) Control device and register failure recovery method
JP2016062219A (en) Electronic control device
JP2012248022A (en) Information processing apparatus, failure detection device and failure detection method
JP6501703B2 (en) In-vehicle controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180821

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180903

R151 Written notification of patent or utility model registration

Ref document number: 6405966

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250