JP6268071B2 - Electronic control unit - Google Patents
Electronic control unit Download PDFInfo
- Publication number
- JP6268071B2 JP6268071B2 JP2014188601A JP2014188601A JP6268071B2 JP 6268071 B2 JP6268071 B2 JP 6268071B2 JP 2014188601 A JP2014188601 A JP 2014188601A JP 2014188601 A JP2014188601 A JP 2014188601A JP 6268071 B2 JP6268071 B2 JP 6268071B2
- Authority
- JP
- Japan
- Prior art keywords
- processor core
- timing
- time
- processing
- processing timing
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 50
- 238000001514 detection method Methods 0.000 claims description 30
- 238000006467 substitution reaction Methods 0.000 claims 1
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
Description
本発明は、種々の制御対象を制御する電子制御装置に係り、特に、2つ以上のプロセッサコアを有し、それぞれのプロセッサコアが独立した制御機能を実行可能なマルチコアプロセッサを備えた電子制御装置に関するものである。 The present invention relates to an electronic control device that controls various objects to be controlled, and in particular, an electronic control device including a multi-core processor having two or more processor cores, and each processor core can execute an independent control function. It is about.
1個のマイクロコンピュータ内に複数のプロセッサコアを搭載して各プロセッサコアが並行、独立して処理を行うことが可能なマルチコアプロセッサが知られている。マルチコアプロセッサは、並行処理が可能であるために、例えば、車載制御装置の分野において、異なる制御機能を有する複数の制御装置を統合して用いることが期待されている。また、マルチコアプロセッサは使い方によって、いずれかのプロセッサコアに故障が生じた場合に、他のプロセッサコアが代替処理を行うことができるという利点がある。 There is known a multi-core processor in which a plurality of processor cores are mounted in one microcomputer and each processor core can perform processing independently and in parallel. Since a multi-core processor can perform parallel processing, for example, in the field of in-vehicle control devices, it is expected to use a plurality of control devices having different control functions in an integrated manner. In addition, the multi-core processor has an advantage that other processor cores can perform alternative processing when a failure occurs in any of the processor cores depending on usage.
例えば、特開2012−226409号公報(特許文献1)には、複数のプロセッサコアを有する電子制御装置において、プロセッサコアを動作プロセッサコア群と予備プロセッサコア群に分けておき、動作プロセッサコアが故障した場合に予備プロセッサコアで代替演算処理を行うことが提案されている。そして、所定の切り替えタイミングが到来するたびに、予備プロセッサコアの指定を変更することを提案している。これによれば、所定の切り替えタイミングが到来すると、予備プロセッサコアの指定を変更するため、予備プロセッサコアとして待機しているプロセッサコアが正常に動作可能であるという信頼性が高くなる、また、異常が発生したプロセッサコアの代替演算処理を行う際に、該当する演算処理を過去に行っている可能性も高くなり、プロセッサコアのいずれかに異常が発生した際に行われる代替演算処理の信頼性を向上させることができる、と述べている。 For example, in Japanese Patent Application Laid-Open No. 2012-226409 (Patent Document 1), in an electronic control device having a plurality of processor cores, the processor cores are divided into an operating processor core group and a spare processor core group, and the operating processor core fails. In such a case, it has been proposed to perform alternative arithmetic processing with a spare processor core. It is proposed to change the designation of the spare processor core every time a predetermined switching timing arrives. According to this, when the predetermined switching timing arrives, the designation of the spare processor core is changed, so that the reliability that the processor core waiting as the spare processor core can operate normally becomes high. When performing an alternative operation process for a processor core in which an error occurred, the possibility that the corresponding operation process has been performed in the past is also high, and the reliability of the alternative operation process that is performed when an abnormality occurs in one of the processor cores It can be improved.
ところで、車載制御装置の分野ではプロセッサコアが実行すべき演算処理が増大しており、プロセッサコアの処理能力の限界に迫る傾向にある。そこで演算処理を分担して実行し、それぞれのプロセッサコアが余裕を持って演算処理を実行することが期待されている。ここで、演算処理は、出力値(以下、出力値と表記する)の計算処理、出力値のセット処理、その他の必要な処理を総合した処理を意味しており、要はプロセッサコアによって実行される種々の処理を纏めて演算処理と表記している。 By the way, in the field of in-vehicle control devices, the arithmetic processing to be executed by the processor core is increasing and tends to approach the limit of the processing capability of the processor core. Therefore, it is expected that the arithmetic processing is shared and executed and each processor core executes the arithmetic processing with a margin. Here, the arithmetic processing means processing for calculating an output value (hereinafter referred to as an output value), processing for setting an output value, and other necessary processing, and is executed by a processor core. Various processes are collectively referred to as arithmetic processing.
例えば、2つのプロセッサコアを用いる場合、1つのプロセッサコアは制御対象の出力値を計算するという演算処理を行い、もう一つのプロセッサコアは計算された出力値を出力ポートにセットするという演算処理を行う機能分担を行っている。そして、出力値を計算するプロセッサコアの演算処理は第1の所定時間周期のタイミング(以下、処理タイミングという)で実行され、出力値を出力ポートにセットするプロセッサコアの演算処理は、出力値を演算するプロセッサコアの第1の所定時間周期とずらされた第2の所定時間周期のタイミング(以下、処理タイミングという)で実行されている。 For example, when two processor cores are used, one processor core performs an arithmetic process of calculating an output value to be controlled, and the other processor core performs an arithmetic process of setting the calculated output value to an output port. The division of functions to be performed is performed. The calculation processing of the processor core that calculates the output value is executed at the timing of the first predetermined time period (hereinafter referred to as processing timing), and the calculation processing of the processor core that sets the output value in the output port It is executed at the timing of the second predetermined time period shifted from the first predetermined time period of the processor core to be calculated (hereinafter referred to as processing timing).
ところで上述したマルチコアプロセッサでは、出力値を出力ポートにセットするプロセッサコアが故障した場合、故障したプロセッサコアで処理していた出力値のセット処理を、他方のプロセッサコアに切り替えて代替処理するようになっている。この場合、故障したプロセッサコアで行っていた出力値のセット処理の処理タイミングが、他方のプロセッサコアの出力値の演算処理を行う処理タイミングに切り替わることが考えられる。セット処理の処理タイミングが変わった場合、例えば出力信号が途切れ、制御対象の動作が不正になる恐れがある。尚、上述した例では出力値を出力ポートにセットするプロセッサコアが故障した場合を説明したが、出力値を演算するプロセッサコアが故障した場合も、同様に切り替えられたプロセッサコアの処理タイミングに変わることが考えられる。このように、切り替えられたプロセッサコアによる代替演算処理の処理タイミングがずれると、正常な代替演算処理ができなく恐れがある。 By the way, in the above-described multi-core processor, when a processor core that sets an output value at an output port fails, the setting process of the output value that was processed by the failed processor core is switched to the other processor core and replaced. It has become. In this case, it is conceivable that the processing timing of the output value setting process performed by the failed processor core is switched to the processing timing of performing the arithmetic processing of the output value of the other processor core. When the processing timing of the set processing changes, for example, the output signal may be interrupted, and the control target operation may become illegal. In the above-described example, the case where the processor core that sets the output value to the output port has failed has been described. However, when the processor core that calculates the output value fails, the processing timing of the switched processor core similarly changes. It is possible. As described above, if the processing timing of the alternative calculation processing by the switched processor core is shifted, there is a fear that normal alternative calculation processing cannot be performed.
本発明の目的は、故障したプロセッサコアを正常なプロセッサコアに切り替えた際に、故障したプロセッサコアによる演算処理の処理タイミングと同じ処理タイミングで、正常なプロセッサコアによって故障したプロセッサコアの演算処理を実行することができる電子制御装置を提供することにある。 An object of the present invention is to perform arithmetic processing of a processor core that has failed by a normal processor core at the same processing timing as the processing timing of arithmetic processing by the failed processor core when the failed processor core is switched to a normal processor core. An object of the present invention is to provide an electronic control device that can be executed.
本発明の特徴は、故障したプロセッサコア(以下、故障プロセッサコア)の演算処理を正常なプロセッサコア(以下、正常プロセッサコア)で代替して実行する場合、正常プロセッサは、故障を検出した故障検出タイミングと、故障検出タイミングより前の故障プロセッサコアの演算処理の処理タイミングとの間の経過時間を求め、故障プロセッサコアの演算処理の実行周期の時間から経過時間を差し引いた差分時間を求め、故障検出タイミングを起点にして差分時間を加算した新たなタイミングを故障プロセッサコアの演算処理の代替処理タイミングとする、ところにある。 The feature of the present invention is that, when the arithmetic processing of a failed processor core (hereinafter referred to as “failed processor core”) is executed instead of a normal processor core (hereinafter referred to as “normal processor core”), the normal processor detects the failure detected by the failure. Determine the elapsed time between the timing and the processing timing of the failed processor core operation processing before the failure detection timing, determine the difference time obtained by subtracting the elapsed time from the execution cycle time of the failed processor core operation processing, The new timing obtained by adding the difference time from the detection timing is used as an alternative processing timing for the arithmetic processing of the failed processor core.
本発明によれば、故障する前のプロセッサコアによって実行される演算処理の処理タイミングと同じ処理タイミングで、正常プロセッサコアによって故障プロセッサコアの演算処理を実行することができ、正常な代替演算処理を行うことができる。 According to the present invention, the normal processor core can execute the arithmetic processing of the failed processor core at the same processing timing as that of the arithmetic processing executed by the processor core before the failure. It can be carried out.
以下、本発明の実施形態について図面を用いて詳細に説明するが、本発明は以下の実施形態に限定されることなく、本発明の技術的な概念の中で種々の変形例や応用例をもその範囲に含むものである。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. However, the present invention is not limited to the following embodiments, and various modifications and application examples are included in the technical concept of the present invention. Is also included in the range.
図1は本発明の代表的な実施形態における電子制御装置(以下、マイクロコンピュータと表記する)の内部構成を示したものである。本実施例において、1つのプロセッサコアは制御対象の出力値を計算するという演算を行い、もう一つのプロセッサコアは計算された出力値を出力ポートにセットするという演算を行う機能を有している。 FIG. 1 shows an internal configuration of an electronic control device (hereinafter referred to as a microcomputer) in a representative embodiment of the present invention. In this embodiment, one processor core has a function of performing an operation of calculating an output value to be controlled, and the other processor core has a function of performing an operation of setting the calculated output value to an output port. .
マイクロコンピュータ1は演算や周辺モジュールにアクセスして出力処理を行なう第1プロセッサコア2(図面ではCPU-Aと表記)及び第2プロセッサコア3(図面ではCPU-Bと表記)、演算に使用する情報や演算結果を一時的に記憶するRAM4、時間計測するための周辺モジュールとしてのフリーランタイマ8、出力値のセット処理を行うための周辺モジュールとしての出力ポート9を有する。そして、第1プロセッサコア2の機能は制御対象の出力値を計算する演算処理機能を有し、第2プロセッサコア3の機能は演算された出力値を出力ポート9にセットするセット処理機能を有している。これらのプロセッサコア2、3は並列処理されて出力ポート9から最終的に出力信号10を出力する。この出力信号は制御対象のアクチュエータを制御することになる。
The microcomputer 1 uses a first processor core 2 (denoted as CPU-A in the drawing) and a second processor core 3 (denoted as CPU-B in the drawing) that perform operations and output processing by accessing peripheral modules and peripherals. It has a RAM 4 for temporarily storing information and calculation results, a free-
RAM4にはいくつかの記憶領域が割り当てされている。RAM−A5は第1プロセッサコア2で演算された出力値を一時的に記憶する領域であり、RAM−B6は第2プロセッサコア2の処理タイミングを記憶する領域であり、RAM−C7は第2プロセッサコア2の演算周期を記憶する領域である。これらのRAM領域の情報は第1プロセッサコア2及び第2プロセッサコア3からアクセスされ、それぞれのプロセッサコア2,3で必要な演算に使用されるものである。
Several storage areas are allocated to the RAM 4. RAM-A5 is an area for temporarily storing the output value calculated by the
そして、第1プロセッサコア2は出力値の計算を行い、その計算結果である出力値を所定の処理タイミングでRAM−A5に記憶する。また、第2プロセッサコア3はRAM-A5に記憶された出力値を所定の処理タイミングで読み出して周辺モジュールの出力ポート9にセットする。これによって、第1プロセッサコア2で算出した出力値を出力信号10として出力し、図示しないアクチュエータを駆動することができる。ここで、出力信号10を出力する出力ポート9、時間を計測する機能を有するフリーランタイマ8は第1プロセッサコア2、及び第2プロセッサコア3の両方からアクセスすることが可能な構成となっている。
Then, the
そして、本実施例ではどちらかのプロセッサコア2、3が故障を検出した場合、正常なプロセッサコアコアで代替演算処理を実施することができる構成とされている。本実施例では第1プロセッサコア2が第2プロセッサコア3の異常診断処理を実行しており、出力値を出力ポート9にセットするセット処理を行う第2プロセッサコア3が故障した時、第1プロセッサコア2でこのセット処理を代替して行うものである。図2に示すタイムチャートは、第2プロセッサコア3が故障を生じた時に、第1プロセッサコア2にセット処理を切り替える時の考え方を説明するためのタイムチャートを示している。
In this embodiment, when any one of the
第1プロセッサコア2と第2プロセッサコア3は並列に所定の処理タイミングで演算処理を行うものである。本実施例では第1プロセッサコア2は自身の第1処理タイミング101(本実施例では10mS)で時刻A毎に出力値の演算処理を行ない、その演算された出力値をRAM-A5に格納する。また第2プロセッサコア3は自身の第2処理タイミング102(本実施例では10mS)でRAM‐A5に格納された出力値を時刻B毎に読み出して出力ポート9にセットする。よって、両プロセッサコア2、3が正常な場合は、RAM−A5を介して出力値が出力ポート9にセットされた後アクチュエータに出力信号が与えられるものである。
The
そして、第2プロセッサコア3が正常の場合、出力ポート9から出力される出力信号103は、第2処理タイミング102の時刻Bの到来毎に第2プロセッサコア3からのセット処理によって発生されている。ここで、出力ポート9から出力されている出力信号10はステップモータの駆動信号であり、パルス状の出力信号10を出力している。また、第1プロセッサコア2の第1処理タイミング101の時刻Aの到来毎に、第1プロセッサコア2は第2プロセッサコア3の診断を行い、故障検知した場合は、故障プロセッサコアである第2プロセッサコア3で実行していた出力値のセット処理を、第1プロセッサコア2に切り替えてセット処理を実行するものである。図2にあるように、第2プロセッサコア3が正常な場合、第2処理タイミング102で発生する時刻Bに同期して、出力ポート9から正常時の出力信号103がオン−オフ出力されている。このオン−オフ出力信号はパルスモータを回転させるための信号として使用される。
When the second processor core 3 is normal, the
そして、ある時刻に第2プロセッサコア3に故障が生じた場合、第1プロセッサコア2がこの故障を自身の第1処理タイミング101の時刻Aeで検出すると、第1プロセッサコア2は第2プロセッサコア3のセット処理を第1プロセッサコア2に移行させる処理を行う。ところが、何らかの原因で第1プロセッサコア2の出力値の演算処理を行う第1処理タイミング101の時刻Aeでセット処理が実行される恐れがある。したがって、この時刻Aeを起点にして、第1プロセッサコア2によるセット処理が実行され、セット処理の処理タイミングが第2プロセッサコア3の正規の第2処理タイミング102とずれてくるものである。尚、本実施例では第1処理タイミングと第2処理タイミングが共に10mSであるため、時刻Ae以降は同じタイミングとなる。尚、第1処理タイミングと第2処理タイミングの周期が異なれば、時刻Aeを起点として第2処理タイミングの周期毎にセット処理が実行されることになる。
If a failure occurs in the second processor core 3 at a certain time, when the
このように、第2プロセッサコア3に故障が生じると、本実施例では第1プロセッサコア2の第1処理タイミング101でセット処理が実行され、正常時の出力ポート10の信号変化に対して、故障後の信号変化が異なるタイミングとなる可能性がある。図2の例では、出力信号が「時刻Tf−時刻Te」の間の時間となってパルス幅が短くなる。したがって、ステップモータの駆動信号の様なパルス幅を制御している信号においては、パルス幅が短くなると脱調が発生して、ステップモータの実位置と制御の認識位置が異なるという課題を生じる。更に、この後のセット処理のタイミングも正規のセット処理のタイミングとずれてくるので、制御精度に悪影響を与える課題を生じる。
Thus, when a failure occurs in the second processor core 3, in this embodiment, the set processing is executed at the
そこで、本実施例ではフリーランタイマ8を用いて、第1プロセッサコア2の第1処理タイミング101の時刻A(故障を検出した時刻)と第2プロセッサコア3の第2処理タイミング102の時刻Bの間の経過時間を求め、第2プロセッサコア3の演算処理の実行周期の時間から経過時間を差し引いた差分時間を求め、第1プロセッサ2において第1プロセッサコア2の処理タイミング101の時刻Ae(故障を検出した時刻)を起点にして差分時間を加算した新たなタイミングを、故障したプロセッサコアの演算処理を実行する処理タイミングとするものである。ここで、本実施例では第1プロセッサコア2の第1処理タイミング101によって起動されるプログラムによって異常判定しているため、この時刻Aが故障検出タイミングとなる。
Therefore, in this embodiment, using the free-
具体的には、第2プロセッサコア3は自身の第2処理タイミング102の時刻B毎に、フリーランタイマ8の時間情報105の時間値を取得してRAM−B6に記憶すると共に、前回の処理タイミングで取得したフリーランタイマ8の時間情報105の時間値をRAM−B6から取得してその時間差を算出してRAM−C7に記憶する。この時間差が第2プロセッサコア3の第2処理タイミング102の周期となる。したがって、第2処理タイミング102の隣接する時刻B毎に、「時間値Tb−時間値Ta」、「時間値Tc−時間値Tb」、「時間値Td−時間値Tc」、「時間値Te−時間値Td」の演算を行ない周期が求められるものである。
Specifically, the second processor core 3 acquires the time value of the
次に、第1プロセッサコア2が第2プロセッサコア3の故障を検出した場合について説明する。上述したように第1プロセッサコア2の第1処理タイミング101によって起動されるプログラムによって異常判定しているため、時刻Aeが故障検出タイミングとなる。そして、この故障検出タイミングの前では、RAM−B6にはフリーランタイマ8の時間情報105の「時間値Te」が記憶されている。また、RAM−C7にはフリーランタイマ8の時間情報105から「時間値Te−時間値Td」の周期が記憶されている。
Next, a case where the
第2プロセッサコア3の故障を検出した場合、第1プロセッサコア2はその時点のフリーランタイマ8の時間情報105から「時間値Tf」を取得する。したがって、RAM−B6に記憶された「時間値Te」と、RAM−C7に記憶された周期「時間値Te−時間値Td」の値より、次に第2プロセッサコア3が実行するセット処理の第2処理タイミング102を新たに算出することができ、これに基づいて第1プロセッサコア2はセット処理を代替処理することになる。
When the failure of the second processor core 3 is detected, the
具体的には、「(時間値Te−時間値Td)−(時間値Tf−時間値Te)」によって求まる「差分時間Tn」を用いることで、第2プロセッサコア3が実行するセット処理の新たな処理タイミングを求めることができる。ここで、「時間値Tf−時間値Te」は、第2プロセッサコア3の第2処理タイミング102の時刻B(故障検出前の時刻B)から、故障検出タイミングである第1プロセッサコア2の第1処理タイミング101の時刻Aeまでの経過時間を表している。したがって、上述の演算は、故障検出タイミング後のセット処理のタイミングまでの残存時間を求めていることになる。よって、図2に示す対策後の出力ポートの信号104にあるように、故障検出タイミングである時刻Aeに「差分時間Tn」を加算した新たな時刻Bn0が、第1プロセッサコア2で代替するセット処理の処理タイミングとされるものである。このように、第2プロセッサコア3で実行されていたセット処理を、第1プロセッサコア2で代替処理を行うため、第1プロセッサコア3の故障検出時刻Aeから「差分時間Tn」の経過後に割り込みが発生するようにフリーランタイマ8に対して割り込み設定処理を行う。
Specifically, by using the “difference time Tn” obtained by “(time value Te−time value Td) − (time value Tf−time value Te)”, a new set process executed by the second processor core 3 is performed. Processing timing can be obtained. Here, “time value Tf−time value Te” is the time of the
「差分時間Tn」経過時の新たな時刻Bn0で第1プロセッサコア2に対して実行される割り込み処理では、故障検出前に第2プロセッサコア3が実行していたセット処理を代替して実行する。この「差分時間Tn」経過時の時刻Bn0以降は、図2に示す対策後の出力ポートの信号104にあるように、RAM−C7に記憶したフリーランタイマ8の周期「時間値Te−時間値Td」毎に、時刻Bn1、時刻Bn2、時刻Bn3というように、第1プロセッサコア2に割り込み処理を継続的に行わせることで、第1プロセッサコア2によって出力値のセット処理を代替して行わせることができる。本実施例では、第1処理タイミング101の時刻A毎のフリーランタイマ8の時間値に「差分時間Tn」を加算することで第2処理タイミング102の時刻Bを生成している。
In the interrupt process executed for the
このような方法によって、第2プロセッサコア3が故障しても、アクチュエータへの出力信号を正規のタイミングで途切れさせることなく継続して出力することができるようになる。このように、時刻Aeの前までは第2プロセッサコア3で出力信号10のオン-オフを制御しているが、時刻Aeの後からは第1プロセッサコア2で出力信号10のオン-オフを制御することになる。
By such a method, even if the second processor core 3 fails, the output signal to the actuator can be continuously output without being interrupted at a regular timing. As described above, the second processor core 3 controls the on / off of the
次に、本実施例の具体的な制御フローを図3、図4、及び図5の制御フローチャートに基づき詳細に説明する。これらの制御フローチャートは上述の動作を制御機能として実現した内容を示したものである。 Next, a specific control flow of the present embodiment will be described in detail based on the control flowcharts of FIGS. 3, 4, and 5. These control flowcharts show the contents of realizing the above-described operations as control functions.
図3は第1プロセッサコア2が実行する演算処理であり、出力値の演算処理と、第2プロセッサコア3の故障判定と、故障判定結果に基づく正常時、及び異常時の演算処理を示している。また、図4は第2プロセッサコア3が実行する演算処理であり、第2プロセッサコア3が正常な場合に行う演算処理を示している。更に、図5は第1プロセッサコア2が、第2プロセッサコア3の異常時に行う演算処理であり、図3に示す第1プロセッサコア2によって第2プロセッサコア3の異常が検出されたときに実行される割り込み処理を示している。以下、それぞれの制御フローチャートについて詳細に説明する。
FIG. 3 shows the arithmetic processing executed by the
本実施例においては、図3のフローチャートは第1プロセッサコア2によって10ms周期で実行される。まず、ステップS201で出力値の算出処理を行って出力値を決定し、その出力値をステップS202でRAM‐A5に記憶する。次に、ステップS203で第2プロセッサコア3の診断処理を行い、第2プロセッサコア3が故障しているか判定し、その結果に応じてステップS204で、第2プロセッサコア3が正常な場合の正常時処理と、第2プロセッサコア3が異常な場合の故障時処理に分岐する。
In the present embodiment, the flowchart of FIG. 3 is executed by the
第2プロセッサコア3が正常な場合には、ステップS209で第1プロセッサコア2によるコンペアマッチ割込みを禁止して不要な割込み処理を発生しない様に設定した後にエンドに抜ける。つまり、第1プロセッサコア2が第2プロセッサコア3のセット処理を実行しない状態に設定する。また、ステップS204で第2プロセッサコア3が故障と判定した場合は、ステップS205で故障判定が初回か或いは2回以上かを判定し、初回以外の場合は何もせずエンドに抜ける、初回の場合は第2プロセッサコアによるセット処理の処理タイミングで割込みを発生させる様に、コンペアマッチ割込みの設定を行なう。この初回の場合は図2に示す処理タイミングBn0を求める処理を実行するため、ステップS206に移行する。
If the second processor core 3 is normal, in step S209, the compare match interrupt by the
ステップS206で、第1プロセッサコア2の第1処理タイミング101と第2プロセッサコア3の第2処理タイミング102の間の「差分時間Tn」を求める。このため、フリーランタイマ8の時間情報105を使用して、「差分時間Tn=(時間値Te−時間値Td)−(時間値Tf−時間値Te)」の演算を実行する。
In step S206, a “difference time Tn” between the
次に、ステップS207で「差分時間Tn」の経過後にコンペアマッチ割込みを発生させるために、割り込みのための時間情報をフリーランタイマ8のジェネラルレジスタにセットする。故障検出を行った処理タイミングの時刻Aeのフリーランタイマ8の「時間値Tf」に「差分時間Tn」を加算した時間値をジェネラルレジスタに設定し、その後、フリーランタイマ8の時間情報がジェネラルレジスタにセットされた時間情報と一致すると、ステップS208でコンペアマッチ割込みを許可する。これにより第2プロセッサコア3が元々出力していた第2タイミングで割込み処理を発生させて、出力値のセット処理を実行することが可能になる。
Next, time information for interrupt is set in the general register of the free-
次に、第2プロセッサコア3が正常な場合に行う演算処理を図4のフローチャートに基づいて説明する。第2プロセッサコア3は10ms周期の第2処理タイミングで実行されている。本制御フローチャートでは、ステップS210がRAM‐A5に記憶してある出力値を出力ポート9に出力する処理である。またステップS211以降が、第2プロセッサコア3が故障して動作できなくなった場合の代替処理を実行するための情報を準備する処理ステップである。 Next, calculation processing performed when the second processor core 3 is normal will be described based on the flowchart of FIG. The second processor core 3 is executed at the second processing timing with a cycle of 10 ms. In this control flowchart, step S210 is a process of outputting the output value stored in the RAM-A5 to the output port 9. Step S211 and the subsequent steps are processing steps for preparing information for executing an alternative process when the second processor core 3 fails and cannot operate.
ステップS211は、第2プロセッサコア3の第2処理タイミング102を記憶しておくためフリーランタイマ8の「時間値Ta、Tb、Tc、Td、Te、……」を読み出してRAM-B6に記憶する。また、ステップS212は前回のRAM-B6に記憶した時間値とステップS211で記憶した今回の時間値の差から第2プロセッサコア3の第2処理タイミング102の周期を算出し、RAM‐C7に記憶する。これらの時間情報は図3に示した第2プロセッサコア3が故障した場合の処理で参照され、演算に利用される。
In step S211, in order to store the
次に、第2プロセッサコア3の異常が検出されたときに実行される第1プロセッサコア2の割り込み処理を図5の制御フローチャートに基づいて説明する。この割り込み処理は、第2プロセッサコア3が故障した場合に、第1プロセッサコア2で出力値のセット処理を代替するための割り込み処理である。
Next, interrupt processing of the
この制御フローチャートは、図3に示すステップS207にて設定した処理タイミングで割り込みを発生させて起動される。そして、ステップS220では、第2プロセッサコア3が図4に示すステップS210で実行していた出力値の出力ポート9へのセット処理を、第1プロセッサコア2によって代替処理することになる。次に、ステップS221では、これ以降の割り込み処理を継続的に行うため、ジェネラルレジスタに新たな処理タイミングを設定する。この場合は時刻A毎のフリーランタイマ8の時間値に「差分時間Tn」を加算した時間値をジェネラルレジスタにセットすれば良い。したがって、図3のステップS205で2回目以降の故障判定と判断されるとこの制御フローが実行されることになる。
This control flowchart is started by generating an interrupt at the processing timing set in step S207 shown in FIG. In step S220, the
尚、本実施例では、第1プロセッサコア2と第2プロセッサコア3の処理タイミングの周期を10msとして説明しているが、第1プロセッサコア2と第2プロセッサコア3の処理タイミングの周期を変更しても、演算処理を実行したタイミングを計測して故障検出後の処理タイミングを決定しているため、どのような処理タイミングの周期の演算処理においても適用可能である。
In this embodiment, the processing timing cycle of the
以上述べた通り、本発明では故障したプロセッサコア(故障プロセッサコア)の演算処理を正常なプロセッサコア(正常プロセッサコア)で代替して実行する場合、正常プロセッサは、故障を検出した故障検出タイミングと、故障検出タイミングより前の故障プロセッサコアの演算処理の処理タイミングとの間の経過時間を求め、故障プロセッサコアの演算処理の実行周期の時間から経過時間を差し引いた差分時間を求め、故障検出タイミングを起点にして差分時間を加算した新たなタイミングを故障プロセッサコアの演算処理の代替処理タイミングとしている。 As described above, in the present invention, when the arithmetic processing of a failed processor core (failed processor core) is executed by replacing with a normal processor core (normal processor core), the normal processor has a failure detection timing at which a failure is detected. , The elapsed time between the failure processor core operation processing timing before the failure detection timing is obtained, the difference time obtained by subtracting the elapsed time from the time of the execution cycle of the failure processor core operation processing is obtained, and the failure detection timing As a starting point, a new timing obtained by adding the difference time is used as an alternative processing timing of the arithmetic processing of the failed processor core.
これによれば、故障する前のプロセッサコアによる演算処理の処理タイミングと同じ処理タイミングで、正常なプロセッサコアによって故障したプロセッサコアの演算処理を実行することができ、正常な代替演算処理を行うことができる。 According to this, it is possible to execute the arithmetic processing of the processor core that has failed by the normal processor core at the same processing timing as the processing timing of the arithmetic processing by the processor core before the failure, and to perform normal substitute arithmetic processing Can do.
1…マイクロコンピュータ、2…第1プロセッサコア、3…第2プロセッサコア、4…RAM、5…RAM−A、6…RAM−B、7…RAM−C、8…周辺モジュールであるフリーランタイマ、9…周辺モジュールである出力ポート、10…出力信号。 DESCRIPTION OF SYMBOLS 1 ... Microcomputer, 2 ... 1st processor core, 3 ... 2nd processor core, 4 ... RAM, 5 ... RAM-A, 6 ... RAM-B, 7 ... RAM-C, 8 ... Free-run timer which is peripheral module , 9... Output ports that are peripheral modules, 10... Output signal.
Claims (5)
故障したプロセッサコア(以下、第2プロセッサコア)の演算処理を正常なプロセッサコア(以下、第1プロセッサコア)で代替して実行する場合、
前記第1プロセッサコアは、前記第1処理タイミングで前記第2プロセッサコアの故障を検出すると共に、故障を検出した故障検出タイミングと前記故障検出タイミングより前の前記第2プロセッサコアの前記第2処理タイミングとの間の経過時間を求め、前記第2プロセッサコアの前記第2処理タイミングの周期の時間から前記経過時間を差し引いた差分時間を求め、前記故障検出タイミングを起点にして前記差分時間を加算した新たなタイミングを前記第2プロセッサコアの初回代替処理タイミングとすると共に、前記初回代替処理タイミングを起点として前記第2処理タイミングの周期の時間を加算した新たなタイミングを前記初回代替処理タイミングに続く継続代替処理タイミングとすることを特徴とする電子制御装置。 A multi-core processor having a first processor core that executes arithmetic processing at a first processing timing and a second processor core that executes arithmetic processing at a second processing timing, and each processor core can execute an independent control function In the electronic control device provided,
When replacing the failed processor core (hereinafter referred to as the second processor core ) with a normal processor core (hereinafter referred to as the first processor core ),
The first processor core detects a failure of the second processor core at the first processing timing, a failure detection timing at which the failure is detected, and the second processing of the second processor core before the failure detection timing The difference time obtained by subtracting the elapsed time from the period of the second processing timing of the second processor core is obtained, and the difference time is added starting from the failure detection timing. The new alternative timing is set as the first alternative processing timing of the second processor core, and the new timing obtained by adding the period of the second processing timing starting from the initial alternative processing timing is continued to the initial alternative processing timing. An electronic control device characterized in that it is a continuous substitution processing timing .
前記第1プロセッサコアは、前記第2プロセッサコアの前記故障検出タイミングを求める故障検出機能と、前記故障検出タイミングと前記故障検出タイミングより前の前記第2プロセッサコアの前記第2処理タイミングとの間の前記経過時間を求める経過時間演算機能と、前記第2プロセッサコアの前記第2処理タイミングの周期の時間から前記経過時間を差し引いた前記差分時間を求める差分時間演算機能と、前記故障検出タイミングを起点にして前記差分時間を加算した新たなタイミングを前記第2プロセッサコアの前記初回代替処理タイミングとすると共に、前記初回代替処理タイミングを起点として前記第2処理タイミングの周期の時間を加算した新たなタイミングを前記初回代替処理タイミングに続く継続代替処理タイミングとする代替処理タイミング演算機能とを備えていることを特徴とする電子制御装置。 The electronic control device according to claim 1.
The first processor core includes a failure detection function for obtaining the failure detection timing of the second processor core, and between the failure detection timing and the second processing timing of the second processor core before the failure detection timing. An elapsed time calculating function for determining the elapsed time, a difference time calculating function for determining the difference time obtained by subtracting the elapsed time from a period of the second processing timing of the second processor core, and the failure detection timing. A new timing obtained by adding the difference time from the starting point is used as the first alternative processing timing of the second processor core, and a new timing obtained by adding the period of the second processing timing starting from the first alternative processing timing. The timing is set as the continuous alternative processing timing following the initial alternative processing timing. Electronic control apparatus characterized by and a substitute processing timing calculation function.
前記第1プロセッサコアは、前記第2プロセッサコアの故障検出タイミングを求める故障検出機能と、前記故障検出タイミングと前記故障検出タイミングより前の前記第2プロセッサコアの前記第2処理タイミングとの間の経過時間を求める経過時間演算機能と、前記第2プロセッサコアの前記第2処理タイミングの周期の時間から前記経過時間を差し引いた差分時間を求める差分時間演算機能と、前記故障検出タイミングを起点にして前記差分時間を加算した新たなタイミングを前記第2プロセッサコアの初回代替処理タイミングとすると共に、前記初回代替処理タイミングを起点として前記第2処理タイミングの周期の時間を加算した新たなタイミングを前記初回代替処理タイミングに続く継続代替処理タイミングとする代替処理タイミング演算機能とを備えていることを特徴とする電子制御装置。 An electronic control device comprising a first processor core having an output value calculation function for calculating an output value at a first processing timing, and a second processor core having a set processing function for setting an output value to an output port at a second processing timing In
The first processor core includes a failure detection function for determining a failure detection timing of the second processor core, and the failure detection timing and the second processing timing of the second processor core before the failure detection timing. Starting from the elapsed time calculation function for determining the elapsed time, the difference time calculation function for determining the difference time obtained by subtracting the elapsed time from the period of the second processing timing of the second processor core, and the failure detection timing The new timing obtained by adding the difference time is set as the first alternative processing timing of the second processor core, and the new timing obtained by adding the period of the second processing timing from the initial alternative processing timing is used as the initial timing. alternate processing timing to continue alternative processing timing subsequent to the alternative processing timing Electronic control apparatus characterized by and a grayed calculation function.
前記第2プロセッサコアは、前記第2処理タイミングを実行する時刻毎に前記第1プロセッサコア及び前記第2プロセッサコアとは別に設けたタイマの時間情報を記憶すると共に、この時間情報から前記第2処理タイミングの実行周期の時間を演算して記憶し、
前記第1プロセッサコアの前記経過時間演算機能は、前記第1処理タイミングで前記第2プロセッサコアの故障を検出するとこの時の前記タイマの時間情報を求め、故障検出時の時間情報と前記第2プロセッサコアに記憶された故障検出前の前記第2処理タイミングの時間情報とから前記経過時間を求め、
前記第1プロセッサコアの前記差分時間演算機能は、前記第2プロセッサコアに記憶された前記第2処理タイミングの周期の時間から前記経過時間を差し引き、
前記第1プロセッサコアの前記代替処理タイミング演算機能は、故障が検出された前記第1処理タイミングの時刻の前記タイマの時間情報に前記差分時間を加算した新たなタイミングを前記第2プロセッサコアの前記初回代替処理タイミングとすると共に、前記初回代替処理タイミングを起点として前記第2処理タイミングの周期の時間を加算した新たなタイミングを前記初回代替処理タイミングに続く継続代替処理タイミングとする
ことを特徴とする電子制御装置。 The electronic control device according to claim 3.
The second processor core stores the time information of the second processing provided separately from the timer from the first processor core and the second processor core each time the running timing, the second from the time information Calculate and store the execution cycle time of the processing timing,
The elapsed time calculation function of the first processor core obtains time information of the timer at this time when a failure of the second processor core is detected at the first processing timing, and the time information at the time of failure detection and the second Obtaining the elapsed time from the time information of the second processing timing before the failure detection stored in the processor core;
Wherein the differential time calculation function of the first processor core subtracts the elapsed time from the time period of the second the second processing timing stored in the processor core,
Wherein the substitute processing timing operation functions of the first processor core, the new timing obtained by adding the difference time on the time information of the timer of the time of the failure has been detected the first processing timing of the second processor core A first alternative process timing is set, and a new timing obtained by adding a period of the second process timing starting from the first alternative process timing is set as a continuous alternative process timing subsequent to the first alternative process timing. An electronic control device.
前記タイマはフリーランタイマであり、故障を検出した時の前記フリーランタイマの時間情報に前記差分時間を加算した時間情報を前記フリーランタイマにセットし、前記フリーランタイマにセットされた時間情報に前記フリーランタイマの値が達すると前記第1プロセッサコアに割り込みをかけ、前記第1プロセッサコアはこの割り込みに応じて前記出力値を前記出力ポートにセットすることを特徴とする電子制御装置。 The electronic control device according to claim 4.
The timer is a free run timer, sets time information obtained by adding the difference time to the time information of the free run timer when a failure is detected, and sets the time information set in the free run timer. When the value of the free-run timer reaches the first processor core, the first processor core is interrupted, and the first processor core sets the output value to the output port in response to the interrupt.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014188601A JP6268071B2 (en) | 2014-09-17 | 2014-09-17 | Electronic control unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014188601A JP6268071B2 (en) | 2014-09-17 | 2014-09-17 | Electronic control unit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016062219A JP2016062219A (en) | 2016-04-25 |
JP6268071B2 true JP6268071B2 (en) | 2018-01-24 |
Family
ID=55797899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014188601A Active JP6268071B2 (en) | 2014-09-17 | 2014-09-17 | Electronic control unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6268071B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7132837B2 (en) * | 2018-12-03 | 2022-09-07 | 株式会社Subaru | Independent interlocking redundant system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2531919B2 (en) * | 1993-03-01 | 1996-09-04 | 株式会社東芝 | Method for maintaining synchronization status between duplicated processors |
JP2003296133A (en) * | 2002-04-05 | 2003-10-17 | Fuji Electric Co Ltd | Controller |
JP4709268B2 (en) * | 2008-11-28 | 2011-06-22 | 日立オートモティブシステムズ株式会社 | Multi-core system for vehicle control or control device for internal combustion engine |
JP2010274783A (en) * | 2009-05-28 | 2010-12-09 | Autonetworks Technologies Ltd | Control device and computer program |
JP2012168605A (en) * | 2011-02-10 | 2012-09-06 | Toyota Motor Corp | Control apparatus |
-
2014
- 2014-09-17 JP JP2014188601A patent/JP6268071B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016062219A (en) | 2016-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012095420A (en) | Electric power steering device | |
US9639653B2 (en) | Method for checking a hardware-configurable logic circuit for faults | |
JP7004060B2 (en) | Diagnostic equipment, systems, diagnostic methods and programs | |
JP2013171348A (en) | Control device, and self-diagnostic method therefor | |
JP6268071B2 (en) | Electronic control unit | |
JP6358107B2 (en) | Power monitoring circuit | |
JP6044468B2 (en) | Fuel injection control device | |
JP5659995B2 (en) | Electronic control unit | |
JP5226653B2 (en) | In-vehicle control device | |
CA2874995A1 (en) | Method for verifying the processing of software | |
US11097857B2 (en) | Multiple core motor controller processor with embedded prognostic/diagnostic capabilities | |
JP6227196B2 (en) | Clock diagnostic device and clock diagnostic method | |
JP2012174198A (en) | Abnormality detection device and abnormality detection program | |
EP3703325B1 (en) | Data acquisition method and data acquisition device | |
JP7017851B2 (en) | Fault diagnosis system and processing unit | |
JP2014238661A (en) | Controller | |
JP6225091B2 (en) | Multiplexing control apparatus and method, and apparatus control system and method | |
JP2016037862A (en) | Vehicular control device | |
JP2019087118A (en) | On-vehicle control device | |
JP6405966B2 (en) | Electronic control unit | |
JP2018067251A (en) | Electronic control device | |
JP6660818B2 (en) | Control device | |
JP2021060871A (en) | Microcomputer | |
JP2015121953A (en) | Microcomputer and electronic control device | |
KR20150103157A (en) | Noise determination device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160526 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170321 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20170518 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170622 |
|
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: 20171128 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6268071 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |