JP2021047513A - Electronic control device - Google Patents
Electronic control device Download PDFInfo
- Publication number
- JP2021047513A JP2021047513A JP2019168429A JP2019168429A JP2021047513A JP 2021047513 A JP2021047513 A JP 2021047513A JP 2019168429 A JP2019168429 A JP 2019168429A JP 2019168429 A JP2019168429 A JP 2019168429A JP 2021047513 A JP2021047513 A JP 2021047513A
- Authority
- JP
- Japan
- Prior art keywords
- core
- cpu
- cpu core
- interrupt
- abnormality
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/165—Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1637—Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
Description
本開示は、複数のCPUコアを備える電子制御装置に関する。 The present disclosure relates to an electronic control device including a plurality of CPU cores.
近年、例えばエンジン制御装置等の電子制御装置では、増加する処理負荷への対応策としてマルチコアマイコンの採用が進んでいる。
特許文献1には、マスタ側コアとスレーブ側コアとを備える電子制御装置において、マスタ側コアが、スレーブ側コアの異常を検出した場合に、スレーブ側コアにより実行されるべき処理を代行することが記載されている。
In recent years, for example, in electronic control devices such as engine control devices, the adoption of multi-core microcomputers is advancing as a countermeasure against an increasing processing load.
According to
しかし、特許文献1に記載の技術では、単にマスタ側コアがスレーブ側コアの処理を代行した場合には、マスタ側コアは、本来の処理に加えて他のコアの処理まで実行しなければならず、マスタ側コアの処理能力を超えてしまう恐れがある。
However, in the technique described in
この点について、特許文献1には、マスタ側コアが、スレーブ側コアにより実行されるべき処理を、低負荷となる方法で実行すると記載されている。しかしながら、電子制御システムの負荷状況はシステムの運用状況に応じて高負荷にも低負荷にもなる。したがって、マスタ側コアでスレーブ側コアの全処理を実行できない状況において、マスタ側コアがスレーブ側コアの全処理を代行したり、逆に、マスタ側コアでスレーブ側コアの全処理を実行できる状況において、マスタ側コアがスレーブ側コアの処理を敢えて低負荷で代行したりすることになり、制御性能が悪化してしまう恐れがある。
Regarding this point,
本開示は、異常発生時における制御性能を向上させることを目的とする。 An object of the present disclosure is to improve the control performance when an abnormality occurs.
本開示の一態様は、複数のCPUコア(11,12,13,14)と、プログラム指定記憶部(15)と、コア指定記憶部(40)と、割込制御部(19)と、異常判断部(18,33)と、代行記憶部(15)と、変更部(S210〜S260,S310〜S360,S510〜S580,S610〜S680)とを備える電子制御装置(1)である。 One aspect of the present disclosure includes a plurality of CPU cores (11, 12, 13, 14), a program designated storage unit (15), a core designated storage unit (40), an interrupt control unit (19), and an abnormality. It is an electronic control device (1) including a determination unit (18, 33), a proxy storage unit (15), and a change unit (S210-S260, S310-S360, S510-S580, S610-S680).
プログラム指定記憶部は、複数の割込要因毎に、複数のCPUコアのそれぞれが実行するプログラムを指定するプログラム指定情報(VT1,VT2)を記憶するように構成される。 The program designation storage unit is configured to store program designation information (VT1, VT2) for designating a program to be executed by each of the plurality of CPU cores for each of the plurality of interrupt factors.
コア指定記憶部は、複数の割込要因毎に、割込要因に起因して割り込みを発生させるCPUコアを指定するコア指定情報を記憶するように構成される。
割込制御部は、割込要因が発生すると、コア指定記憶部に記憶されているコア指定情報に基づいて、発生した割込要因に対応するCPUコアに対して割り込みを発生させるように構成される。
The core designation storage unit is configured to store core designation information for designating a CPU core that generates an interrupt due to the interrupt factor for each of a plurality of interrupt factors.
When an interrupt factor occurs, the interrupt control unit is configured to generate an interrupt to the CPU core corresponding to the generated interrupt factor based on the core designation information stored in the core designation storage unit. To.
異常判断部は、複数のCPUコアのうち予め設定された少なくとも一つのCPUコアを異常判断対象コア(11)として、異常判断対象コアで異常が発生しているか否かを判断するように構成される。 The abnormality determination unit is configured to determine whether or not an abnormality has occurred in the abnormality determination target core, using at least one preset CPU core among the plurality of CPU cores as the abnormality determination target core (11). To.
代行記憶部は、異常判断対象コアで異常が発生した場合に異常判断対象コアの代わりにプログラムを実行するCPUコアである代行コアを割込要因毎に指定する複数の代行情報(ST1,ST2,ST11,ST12,ST13)を記憶するように構成される。 The proxy storage unit specifies a plurality of proxy information (ST1, ST2, ST2) that specifies a proxy core, which is a CPU core that executes a program instead of the error judgment target core when an error occurs in the error judgment target core, for each interrupt factor. It is configured to store ST11, ST12, ST13).
変更部は、異常判断対象コアで異常が発生していると異常判断部が判断した場合に、代行記憶部に記憶されている代行情報に基づいて、コア指定情報を変更するように構成される。 The change unit is configured to change the core designation information based on the substitute information stored in the substitute storage unit when the abnormality judgment unit determines that an abnormality has occurred in the abnormality judgment target core. ..
このように構成された本開示の電子制御装置では、割込制御部は、割込要因が発生すると、コア指定情報に基づいて、発生した割込要因に対応するCPUコアに対して割り込みを発生させる。これにより、本開示の電子制御装置では、割込要因に対応するCPUコアが、プログラム指定情報に基づいて、割込要因に対応するプログラムを実行する。 In the electronic control device of the present disclosure configured in this way, when an interrupt factor occurs, the interrupt control unit generates an interrupt to the CPU core corresponding to the generated interrupt factor based on the core designation information. Let me. As a result, in the electronic control device of the present disclosure, the CPU core corresponding to the interrupt factor executes the program corresponding to the interrupt factor based on the program designation information.
そして、本開示の電子制御装置では、変更部は、異常判断対象コアで異常が発生した場合に、代行情報に基づいて、コア指定情報を変更する。これにより、本開示の電子制御装置は、異常判断対象コアで異常が発生した場合には、割込要因が発生したときに異常判断対象コアが実行していたプログラムを代行コアに実行させることができる。従って、本開示の電子制御装置は、異常判断対象コアで異常が発生した場合に、代行コアで、プログラムの実行を代行させることができる。 Then, in the electronic control device of the present disclosure, the changing unit changes the core designation information based on the proxy information when an abnormality occurs in the abnormality determination target core. As a result, when an abnormality occurs in the abnormality judgment target core, the electronic control device of the present disclosure causes the substitute core to execute the program executed by the abnormality judgment target core when the interrupt factor occurs. it can. Therefore, the electronic control device of the present disclosure can execute the program on behalf of the substitute core when an abnormality occurs in the abnormality determination target core.
そして、本開示の電子制御装置は、異常判断対象コアで異常が発生した場合に代行コアを割込要因毎に指定する複数の代行情報を記憶している。このため、本開示の電子制御装置は、電子制御装置の運用状況に応じた複数の代行情報を予め設定することにより、電子制御装置の運用状況に応じて、代行コアによる代行を適切に実行させることができる。これにより、本開示の電子制御装置は、異常発生時における制御性能を向上させることができる。 Then, the electronic control device of the present disclosure stores a plurality of substitute information for designating the substitute core for each interrupt factor when an abnormality occurs in the abnormality determination target core. Therefore, in the electronic control device of the present disclosure, by setting a plurality of proxy information according to the operation status of the electronic control device in advance, the proxy core can appropriately execute the proxy according to the operation status of the electronic control device. be able to. As a result, the electronic control device of the present disclosure can improve the control performance when an abnormality occurs.
[第1実施形態]
以下に本開示の第1実施形態を図面とともに説明する。
本実施形態の電子制御装置1(以下、ECU1)は、車両に搭載され、図1に示すように、マイクロコンピュータ2(以下、マイコン2)と、入力回路3と、出力回路4とを備える。ECUは、Electronic Control Unitの略である。
[First Embodiment]
The first embodiment of the present disclosure will be described below together with the drawings.
The electronic control device 1 (hereinafter, ECU 1) of the present embodiment is mounted on a vehicle and includes a microcomputer 2 (hereinafter, microcomputer 2), an input circuit 3, and an output circuit 4, as shown in FIG. ECU is an abbreviation for Electronic Control Unit.
マイコン2には、クランク角センサ51からのクランク角信号と、カム角センサ52からのカム角信号と、スロットル開度センサ53からのスロットル開度信号とが、入力回路3を介して入力される。
The crank angle signal from the
クランク角センサ51は、エンジンのクランク軸の回転に応じてクランク角信号を出力する。カム角センサ52は、エンジンのカム軸の回転に応じてカム角信号を出力する。スロットル開度センサ53は、エンジンに供給される空気量を調整するスロットルバルブの開度(以下、スロットル開度)を検出し、検出結果を示すスロットル開度信号を出力する。
The
マイコン2は、入力回路3を介して入力される上記各信号に基づいてエンジンの状態を検出する。そしてマイコン2は、エンジンの状態に基づいて、エンジンの各気筒内の点火プラグ61、各気筒内のインジェクタ62、および、スロットル開度を変えるスロットルモータ63などの各種アクチュエータを制御するための制御信号を出力回路4を介して出力する。
The
スロットルバルブは、回転軸を中心に回転可能に構成されており、スロットルモータ63からの回転トルクが減速ギヤを介して回転軸に伝達されることで、吸気管内で開閉動作し、スロットル開度を変化させる。
The throttle valve is configured to be rotatable around the rotation shaft, and the rotation torque from the
また回転軸には、リターンスプリングが取り付けられている。このリターンスプリングは、リンプホーム走行が可能なエンジン出力が得られるように予め設定されたスロットル開度(以下、オープナ開度という)となるように回転軸を付勢する。すなわち、スロットルモータ63への通電が停止して、回転トルクが回転軸に伝達されなくなった場合であっても、スロットルバルブはオープナ開度に保持され、これにより、リンプホーム走行に必要な吸気量が確保される。
A return spring is attached to the rotating shaft. This return spring urges the rotating shaft so that the throttle opening (hereinafter referred to as the opener opening) is set in advance so that an engine output capable of limp home running can be obtained. That is, even when the power supply to the
マイコン2は、第1CPUコア11と、第2CPUコア12と、第3CPUコア13と、第4CPUコア14と、ROM15と、RAM16と、入出力部17と、エラー管理装置18と、割込コントローラ19と、バス20とを備える。以下、第1CPUコア11、第2CPUコア12、第3CPUコア13および第4CPUコア14をまとめてCPUコア11〜14ともいう。
The
マイクロコンピュータの各種機能は、CPUコア11〜14が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM15が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPUコア11〜14が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。また、ECU1を構成するマイクロコンピュータの数は1つでも複数でもよい。
Various functions of the microcomputer are realized by executing a program in which
第1CPUコア11、第2CPUコア12、第3CPUコア13および第4CPUコア14は、車両に搭載されているエンジンを制御するための各種制御処理を分散して実行する。
The
ROM15は、不揮発性メモリであり、エンジンを制御する各種制御処理を実行するためのプログラムを記憶する。
RAM16は、揮発性メモリであり、CPUコア11〜14の演算結果等を一時的に記憶する。
The
The
入出力部17は、マイコン2の外部とCPUコア11〜14との間でデータの入出力を行わせるための回路である。
エラー管理装置18は、第1CPUコア11の異常を検出する装置である。
The input /
The
割込コントローラ19は、様々な割込要因の発生を示す割込要求信号を入力し、入力した割込要求信号に対応する割込要因毎に予め設定された優先度に基づいて、優先度が最も高い割込要因に対応した割込信号をCPUコア11〜14へ出力する。
The interrupt
バス20は、CPUコア11〜14、ROM15、RAM16、入出力部17、エラー管理装置18および割込コントローラ19を、互いにデータ入出力可能に接続する。
図2に示すように、第1CPUコア11は、マスターコア31と、チェッカーコア32と、ロックステップコンパレータ33とを備える。
The
As shown in FIG. 2, the
マスターコア31およびチェッカーコア32は、プログラムを実行するための演算ユニットおよびレジスタなどを備える。そして、マスターコア31およびチェッカーコア32は、同一の演算を並行して実行し、演算結果をロックステップコンパレータ33へ出力する。
The
ロックステップコンパレータ33は、マスターコア31からの演算結果と、チェッカーコア32からの演算結果とを比較し、演算結果が一致しているか否かを示す比較結果情報をエラー管理装置18へ出力する。
The
エラー管理装置18は、ロックステップコンパレータ33から比較結果情報を取得すると、比較結果情報に基づいて、演算結果が一致しているか否かを判断する。そしてエラー管理装置18は、演算結果が一致していない場合に、第1CPUコア11で異常が発生していると判断し、ロックステップエラー情報を割込コントローラ19へ出力する。
When the
割込コントローラ19は、要求制御レジスタ40を備える。要求制御レジスタ40は、n個の割込要因フィールド40_1,40_2,40_3,40_4,40_5,・・・・,40_nを備える。nは、正の整数である。
The interrupt
複数の割込要因フィールド40_iのそれぞれには、互いに異なる割込要因が設定されている。本実施形態では、割込要因フィールド40_1は、第1CPUコア11のロックステップエラーに対応している。割込要因フィールド40_2は、クランク角信号の入力に対応している。割込要因フィールド40_3は、カム角信号の入力に対応している。割込要因フィールド40_4は、タイマ割込に対応している。割込要因フィールド40_5は、外部要求割込に対応している。
Different interrupt factors are set in each of the plurality of interrupt factor fields 40_i. In the present embodiment, the interrupt factor field 40_1 corresponds to the lock step error of the
割込要因フィールド40_iは、3ビットで構成されており、各ビットに1または0が格納される。iは1からnまでの整数である。割込要因フィールド40_iに格納される値によって、割込要因の発生に応じた処理を実行するCPUコアが指定される。本実施形態では、割込要因フィールド40_iに格納される値が0x000である場合には、第1CPUコア11が指定される。同様に、割込要因フィールド40_iに格納される値が0x001,0x010,0x011である場合には、それぞれ第2CPUコア12、第3CPUコア13、第4CPUコア14が指定される。
The interrupt factor field 40_i is composed of 3 bits, and 1 or 0 is stored in each bit. i is an integer from 1 to n. The value stored in the interrupt factor field 40_i specifies the CPU core that executes processing according to the occurrence of the interrupt factor. In the present embodiment, when the value stored in the interrupt factor field 40_i is 0x000, the
図2は、ロックステップエラーが発生していない通常時において割込要因フィールド40_iに格納される値を示す。
図2では、割込要因フィールド40_1に0x001が格納されている。このため、第1CPUコア11のロックステップエラーが発生した場合には、ロックステップエラーに対応する処理を第2CPUコア12が実行する。
FIG. 2 shows the value stored in the interrupt factor field 40_i in the normal time when the lock step error does not occur.
In FIG. 2, 0x001 is stored in the interrupt factor field 40_1. Therefore, when a lock step error of the
また、割込要因フィールド40_2に0x000が格納されている。このため、通常時においてクランク角信号が入力した場合には、クランク角信号の入力に対応する処理を第1CPUコア11が実行する。また、割込要因フィールド40_3に0x000が格納されている。このため、通常時においてカム角信号が入力した場合には、カム角信号の入力に対応する処理を第1CPUコア11が実行する。具体的には、第1CPUコア11は、クランク割込およびカム割込によってクランク位置を特定し、所定のクランク位置でインジェクタ62を駆動して燃料を噴射したり、所定のクランク位置で点火プラグ61に通電して点火したりする。
Further, 0x000 is stored in the interrupt factor field 40_2. Therefore, when the crank angle signal is input in the normal state, the
また、割込要因フィールド40_4に0x001が格納されている。このため、通常時においてタイマ割込が発生した場合には、タイマ割込に対応する処理を第2CPUコア12が実行する。具体的には、第2CPUコア12は、例えば2ms毎に発生するタイマ割込によって、スロットルバルブが所望の開度となるように、スロットルモータ63への通電を制御する。
Further, 0x001 is stored in the interrupt factor field 40_4. Therefore, when a timer interrupt occurs in a normal time, the
また、割込要因フィールド40_5に0x000が格納されている。このため、通常時において外部要求割込が発生した場合には、外部要求割込に対応する処理を第1CPUコア11が実行する。
Further, 0x000 is stored in the interrupt factor field 40_5. Therefore, when an external request interrupt occurs in a normal time, the
ROM15には、図3に示すように、ベクターテーブルVT1が記憶されている。ベクターテーブルVT1は、複数の割込要因毎に、CPUコア11〜14が実行する制御プログラムを指定する。
As shown in FIG. 3, the vector table VT1 is stored in the
本実施形態では、割込要因がクランク角信号の入力である場合には、第1CPUコア11および第2CPUコア12に対して、点火・噴射制御プログラムが指定されている。また、割込要因がカム角信号の入力である場合には、第1CPUコア11および第2CPUコア12に対して、点火・噴射制御プログラムが指定されている。また、割込要因がタイマ割込である場合には、第2CPUコア12に対して、電子スロットル制御プログラムが指定されている。
In the present embodiment, when the interrupt factor is the input of the crank angle signal, the ignition / injection control program is specified for the
なお、ロックステップエラーが発生していない通常時には、破線の長方形RC1,RC2,RC3で囲まれているプログラムが実行される。すなわち、通常時には、第1CPUコア11が点火・噴射制御プログラムを実行し、第2CPUコア12が電子スロットル制御プログラムを実行する。
In the normal state where the lock step error does not occur, the program surrounded by the broken line rectangles RC1, RC2, and RC3 is executed. That is, normally, the
ROM15には、図4に示すように、低負荷選択テーブルST1および高負荷選択テーブルST2が記憶されている。
低負荷選択テーブルST1および高負荷選択テーブルST2は、複数の割込要因毎に、プログラムを実行するCPUコアを指定する。
As shown in FIG. 4, the
The low load selection table ST1 and the high load selection table ST2 specify a CPU core for executing a program for each of a plurality of interrupt factors.
本実施形態の低負荷選択テーブルST1では、割込要因がクランク角信号の入力である場合には、第2CPUコア12が選択される。また、割込要因がカム角信号の入力である場合には、第2CPUコア12が選択される。また、割込要因がタイマ割込である場合には、第2CPUコア12が選択される。
In the low load selection table ST1 of the present embodiment, when the interrupt factor is the input of the crank angle signal, the
本実施形態の高負荷選択テーブルST2では、割込要因がクランク角信号の入力である場合には、第2CPUコア12が選択される。また、割込要因がカム角信号の入力である場合には、第2CPUコア12が選択される。また、割込要因がタイマ割込である場合には、選択されるCPUコアが存在しない。
In the high load selection table ST2 of the present embodiment, when the interrupt factor is the input of the crank angle signal, the
次に、CPUコア12〜14が実行するアイドルタスクの手順を説明する。アイドルタスクは、CPUコア12〜14が割込処理を実行していないときに実行される処理である。すなわち、CPUコア12〜14の処理負荷が100%であるときには、アイドルタスクは実行されない。なお、以下では、第2CPUコア12で代表して、アイドルタスクの手順を説明する。
Next, the procedure of the idle task executed by the
アイドルタスクが実行されると、第2CPUコア12は、図5に示すように、まずS10にて、RAM16に設けられたアイドルカウンタCounterに格納されている値に1を加算した加算値を、アイドルカウンタCounterに格納する。
When the idle task is executed, as shown in FIG. 5, the
そして第2CPUコア12は、S20にて、アイドルカウンタCounterに格納されている値が、予め設定されたリセット判定値J1を超えているか否かを判断する。リセット判定値J1は、アイドル状態が1ms継続したときにアイドルカウンタCounterが到達する値に設定される。
Then, the
ここで、アイドルカウンタCounterに格納されている値がリセット判定値J1以下である場合には、第2CPUコア12は、S10に移行する。一方、アイドルカウンタCounterに格納されている値がリセット判定値J1を超えている場合には、第2CPUコア12は、S30にて、アイドルカウンタCounterに0を格納する。
Here, when the value stored in the idle counter Counter is equal to or less than the reset determination value J1, the
さらに第2CPUコア12は、S40にて、RAM16に設けられた1ミリ秒カウンタ1ms_Counterに格納されている値に1を加算した加算値を、1ミリ秒カウンタ1ms_Counterに格納し、アイドルタスクを終了する。
Further, in S40, the
次に、CPUコア12〜14が実行する10msタスクの手順を説明する。10msタスクは、10msが経過する毎に実行される処理である。なお、以下では、第2CPUコア12で代表して、10msタスクの手順を説明する。
Next, the procedure of the 10 ms task executed by the
10msタスクが実行されると、第2CPUコア12は、図6に示すように、まずS110にて、1ミリ秒カウンタ1ms_Counterに格納されている値を取得する。そして第2CPUコア12は、S120にて、下式(1)の右辺で算出される値を、RAM16に設けられた処理負荷CPU_Loadに格納する。
When the 10 ms task is executed, the
CPU_Load=(1−1ms_Counter/10)×100 ・・・(1)
さらに第2CPUコア12は、S130にて、1ミリ秒カウンタ1ms_Counterに0を格納して、10msタスクを終了する。
CPU_Load = (1-1ms_Counter / 10) x 100 ... (1)
Further, the
次に、第2CPUコア12が実行するエラー処理の手順を説明する。エラー処理は、ロックステップエラーに対応した割込信号が割込コントローラ19から第2CPUコア12に入力された場合に開始される処理である。
Next, the error handling procedure executed by the
エラー処理が実行されると、第2CPUコア12は、図7に示すように、まずS210にて、第2CPUコア12の処理負荷CPU_Loadに格納されている値を確認する。
そして第2CPUコア12は、S220にて、第2CPUコア12の処理負荷CPU_Loadに格納されている値が、予め設定された高負荷判定値J2未満であるか否かを判断する。
When the error processing is executed, as shown in FIG. 7, the
Then, the
ここで、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満である場合には、第2CPUコア12は、S230にて、低負荷選択テーブルST1を参照して、S250に移行する。一方、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2以上である場合には、第2CPUコア12は、S240にて、高負荷選択テーブルST2を参照して、S250に移行する。
Here, when the value stored in the processing load CPU_Load of the
そして、S250に移行すると、第2CPUコア12は、S250にて、割込コントローラ19の要求制御レジスタ40を変更する。
具体的には、低負荷選択テーブルST1を参照した場合には、第2CPUコア12は、少なくとも、割込要因フィールド40_2,40_3,40_4の値を0x001に設定する。これにより、点火・噴射制御プログラムと電子スロットル制御プログラムとが第2CPUコア12により実行されるようになる。一方、高負荷選択テーブルST2を参照した場合には、第2CPUコア12は、少なくとも、割込要因フィールド40_2,40_3の値を0x001に設定し、割込要因フィールド40_4の値を0x100に設定する。これにより、点火・噴射制御プログラムが第2CPUコア12により実行され、電子スロットル制御プログラムがCPUコア11〜14の何れによっても実行されないようになる。
Then, upon shifting to S250, the
Specifically, when the low load selection table ST1 is referred to, the
そして第2CPUコア12は、S260にて、RAM16に設けられたコア異常フラグF1をセットして、エラー処理を終了する。以下の説明において、フラグをセットするとは、そのフラグの値を1にすることを示し、フラグをクリアするとは、そのフラグの値を0にすることを示す。
Then, the
次に、第2CPUコア12が実行するテーブル切替処理の手順を説明する。テーブル切替処理は、第2CPUコア12の動作中において10msが経過する毎に実行される処理である。
Next, the procedure of the table switching process executed by the
テーブル切替処理が実行されると、第2CPUコア12は、図8に示すように、まずS310にて、コア異常フラグF1がセットされているか否かを判断する。ここで、コア異常フラグF1がクリアされている場合には、第2CPUコア12は、テーブル切替処理を終了する。
When the table switching process is executed, the
一方、コア異常フラグF1がセットされている場合には、第2CPUコア12は、S320にて、S210と同様にして、第2CPUコア12の処理負荷CPU_Loadに格納されている値を確認する。
On the other hand, when the core abnormality flag F1 is set, the
そして第2CPUコア12は、S330にて、S220と同様にして、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満であるか否かを判断する。
Then, in S330, the
ここで、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満である場合には、第2CPUコア12は、S340にて、S230と同様にして、低負荷選択テーブルST1を参照して、S360に移行する。一方、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2以上である場合には、第2CPUコア12は、S350にて、S240と同様にして、高負荷選択テーブルST2を参照して、S360に移行する。
Here, when the value stored in the processing load CPU_Load of the
そして、S360に移行すると、第2CPUコア12は、S250と同様にして、割込コントローラ19の要求制御レジスタ40を変更して、テーブル切替処理を終了する。
このように構成されたECU1は、CPUコア11〜14と、ROM15と、要求制御レジスタ40と、割込コントローラ19と、エラー管理装置18およびロックステップコンパレータ33とを備える。
Then, upon shifting to S360, the
The
ROM15は、複数の割込要因毎に、CPUコア11〜14のそれぞれが実行するプログラムを指定するベクターテーブルVT1を記憶する。
要求制御レジスタ40は、複数の割込要因毎に、割込要因に起因して割り込みを発生させるCPUコア11〜14を指定するコア指定情報(すなわち、0x000,0x001,0x010,0x011,0x100)を割込要因フィールド40_1,40_2,40_3,40_4,40_5,・・・・,40_nに記憶する。
The
The
割込コントローラ19は、割込要因が発生すると、要求制御レジスタ40に記憶されているコア指定情報に基づいて、発生した割込要因に対応するCPUコア11〜14に対して割り込みを発生させる。
When an interrupt factor occurs, the interrupt
エラー管理装置18およびロックステップコンパレータ33は、CPUコア11〜14のうち第1CPUコア11を異常判断対象コアとして、異常判断対象コアで異常が発生しているか否かを判断する。
The
ROM15は、異常判断対象コアで異常が発生した場合に異常判断対象コアの代わりにプログラムを実行するコア(以下、代行コア)を割込要因毎に指定する低負荷選択テーブルST1および高負荷選択テーブルST2を記憶する。
The
第2CPUコア12は、異常判断対象コアで異常が発生しているとエラー管理装置18が判断した場合に、ROM15に記憶されている低負荷選択テーブルST1および高負荷選択テーブルST2に基づいて、要求制御レジスタ40に記憶されているコア指定情報を変更する。
When the
このようにECU1では、割込コントローラ19は、割込要因が発生すると、コア指定情報に基づいて、発生した割込要因に対応するCPUコア11〜14に対して割り込みを発生させる。これにより、ECU1では、割込要因に対応するCPUコア11〜14が、ベクターテーブルVT1に基づいて、割込要因に対応するプログラムを実行する。
As described above, in the
そしてECU1では、第2CPUコア12は、異常判断対象コアで異常が発生した場合に、低負荷選択テーブルST1および高負荷選択テーブルST2に基づいて、コア指定情報を変更する。これにより、ECU1は、異常判断対象コアで異常が発生した場合には、割込要因が発生したときに異常判断対象コアが実行していたプログラムを代行コアに実行させることができる。従って、ECU1は、異常判断対象コアで異常が発生した場合に、代行コアで、プログラムの実行を代行させることができる。
Then, in the
そしてECU1は、異常判断対象コアで異常が発生した場合に代行コアを割込要因毎に指定する低負荷選択テーブルST1および高負荷選択テーブルST2を記憶している。このため、ECU1は、ECU1の運用状況に応じた低負荷選択テーブルST1および高負荷選択テーブルST2を予め設定することにより、ECU1の運用状況に応じて、代行コアによる代行を適切に実行させることができる。これにより、ECU1は、異常発生時における制御性能を向上させることができる。
Then, the
またCPUコア12〜14はそれぞれ、CPUコア12〜14の処理負荷を計測する。そしてROM15は、第2CPUコア12の処理負荷が低い場合に対応する低負荷選択テーブルST1と、第2CPUコア12の処理負荷が高い場合に対応する高負荷選択テーブルST2とを記憶する。第2CPUコア12は、計測された第2CPUコア12の処理負荷に対応した低負荷選択テーブルST1または高負荷選択テーブルST2を選択し、選択した低負荷選択テーブルST1または高負荷選択テーブルST2に基づいて、コア指定情報を変更する。これにより、ECU1は、第2CPUコア12の処理負荷に応じて代行コアを変更することができ、異常発生時における制御性能を向上させることができる。
Further, the
またECU1は、車両に搭載されている。そして、ベクターテーブルVT1およびコア指定情報は、異常判断対象コアで異常が発生していないとエラー管理装置18が判断している場合において異常判断対象コアが点火プラグ61およびインジェクタ62を制御するように設定されている。これにより、ECU1は、異常判断対象コアで異常が発生した場合であっても、代行コアで点火プラグ61およびインジェクタ62の制御を継続することができる。
Further, the
また、車両のエンジンに供給される空気量を調整するスロットルバルブは、スロットルバルブを駆動するスロットルモータ63への通電が停止した場合において、スロットルバルブの開度が、車両のリンプホーム走行が可能である予め設定されたオープナ開度となるように構成されている。
Further, the throttle valve that adjusts the amount of air supplied to the engine of the vehicle allows the vehicle to run on the limp home with the opening degree of the throttle valve when the energization of the
ベクターテーブルVT1と、低負荷選択テーブルST1または高負荷選択テーブルST2とは、CPUコア12の処理負荷が高いことを示す予め設定された高負荷条件が成立していない場合には、第2CPUコア12がスロットルモータ63の制御を実行し、高負荷条件が成立している場合には、第2CPUコア12がスロットルモータ63の制御を実行しないように設定されている。本実施形態の高負荷条件は、第2CPUコア12の処理負荷が高負荷判定値J2以上であることである。
The vector table VT1 and the low load selection table ST1 or the high load selection table ST2 are the
このため、第1CPUコア11で異常が発生することにより、第2CPUコア12が点火プラグ61およびインジェクタ62の制御を代行するとともにスロットルモータ63の制御しているときに、第2CPUコア12の処理負荷が高負荷判定値J2以上になると、第2CPUコア12はスロットルモータ63の制御を実行しなくなる。
Therefore, when an abnormality occurs in the
第2CPUコア12がスロットルモータ63の制御を停止することにより、スロットルモータ63への通電が停止する。これにより、スロットルバルブの開度が、車両のリンプホーム走行が可能である予め設定されたオープナ開度となる。このため、ECU1は、第1CPUコア11の異常発生時の車両走行において必要最低限のエンジン出力を確保することが可能となる。その後に、第2CPUコア12の処理負荷が高負荷判定値J2未満となると、ECU1は、第2CPUコア12によるスロットルモータ63の制御を再開させるため、車両を通常の運転状態に復帰させることができる。
When the
以上説明した実施形態において、ECU1は電子制御装置に相当し、ROM15はプログラム指定記憶部に相当し、要求制御レジスタ40はコア指定記憶部に相当し、割込コントローラ19は割込制御部に相当する。
In the embodiment described above, the
また、エラー管理装置18およびロックステップコンパレータ33は異常判断部に相当し、ROM15は代行記憶部に相当し、S210〜S260,S310〜S360は変更部としての処理に相当する。
Further, the
また、ベクターテーブルVT1はプログラム指定情報に相当し、低負荷選択テーブルST1および高負荷選択テーブルST2は複数の代行情報に相当し、S10〜S40,S110〜S130は負荷計測部としての処理に相当する。 Further, the vector table VT1 corresponds to the program designation information, the low load selection table ST1 and the high load selection table ST2 correspond to a plurality of proxy information, and S10 to S40 and S110 to S130 correspond to the processing as the load measurement unit. ..
[第2実施形態]
以下に本開示の第2実施形態を図面とともに説明する。なお第2実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
[Second Embodiment]
The second embodiment of the present disclosure will be described below together with the drawings. In the second embodiment, a part different from the first embodiment will be described. The same reference numerals are given to common configurations.
第2実施形態のECU1は、第4CPUコア14が省略された点と、ベクターテーブルが変更された点と、低負荷選択テーブルおよび高負荷選択テーブルが変更された点と、エラー処理およびテーブル切替処理が変更された点とが第1実施形態と異なる。
In the
具体的には、第2実施形態のECU1は、ベクターテーブルVT1の代わりにベクターテーブルVT2を備える点が第1実施形態と異なる。
ベクターテーブルVT2は、図9に示すように、複数の割込要因毎に、CPUコア11〜13が実行する制御プログラムを指定する。
Specifically, the
As shown in FIG. 9, the vector table VT2 specifies a control program executed by the
本実施形態では、割込要因がクランク角信号の入力である場合には、第1CPUコア11および第2CPUコア12に対して、点火・噴射制御プログラムが指定されている。また、割込要因がカム角信号の入力である場合には、第1CPUコア11および第2CPUコア12に対して、点火・噴射制御プログラムが指定されている。また、割込要因がタイマ割込である場合には、第2CPUコア12および第3CPUコア13に対して、電子スロットル制御プログラムが指定されている。また、割込要因が外部要求割込である場合には、第1CPUコア11、第2CPUコア12およびに第3CPUコア13に対して、外部装置との同期処理を実行するためのプログラム(以下、外部同期プログラム)が指定されている。
In the present embodiment, when the interrupt factor is the input of the crank angle signal, the ignition / injection control program is specified for the
なお、ロックステップエラーが発生していない通常時には、破線の長方形RC11,RC12,RC13,RC14で囲まれているプログラムが実行される。すなわち、通常時には、第1CPUコア11が点火・噴射制御プログラムおよび外部同期プログラムを実行し、第2CPUコア12が電子スロットル制御プログラムを実行する。
In the normal time when the lock step error does not occur, the program surrounded by the broken line rectangles RC11, RC12, RC13, and RC14 is executed. That is, normally, the
また、第2実施形態のECU1は、低負荷選択テーブルST1および高負荷選択テーブルST2の代わりに低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13を備える点が第1実施形態と異なる。
Further, the
図10に示すように、低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13は、複数の割込要因毎に、プログラムを実行するCPUコアを指定する。 As shown in FIG. 10, the low load selection table ST11, the first high load selection table ST12, and the second high load selection table ST13 specify a CPU core for executing a program for each of a plurality of interrupt factors.
本実施形態の低負荷選択テーブルST11では、割込要因がクランク角信号の入力である場合には、第2CPUコア12が選択される。また、割込要因がカム角信号の入力である場合には、第2CPUコア12が選択される。また、割込要因がタイマ割込である場合には、第2CPUコア12が選択される。また、割込要因が外部要求割込である場合には、第2CPUコア12が選択される。
In the low load selection table ST11 of the present embodiment, when the interrupt factor is the input of the crank angle signal, the
本実施形態の第1高負荷選択テーブルST12では、割込要因がクランク角信号の入力である場合には、第2CPUコア12が選択される。また、割込要因がカム角信号の入力である場合には、第2CPUコア12が選択される。また、割込要因がタイマ割込である場合には、第3CPUコア13が選択される。また、割込要因が外部要求割込である場合には、第3CPUコア13が選択される。
In the first high load selection table ST12 of the present embodiment, when the interrupt factor is the input of the crank angle signal, the
本実施形態の第2高負荷選択テーブルST13では、割込要因がクランク角信号の入力である場合には、第2CPUコア12が選択される。また、割込要因がカム角信号の入力である場合には、第2CPUコア12が選択される。また、割込要因がタイマ割込である場合には、第3CPUコア13が選択される。また、割込要因が外部要求割込である場合には、選択されるCPUコアが存在しない。
In the second high load selection table ST13 of the present embodiment, when the interrupt factor is the input of the crank angle signal, the
次に、第2実施形態のエラー処理の手順を説明する。
第2実施形態のエラー処理が実行されると、第2CPUコア12は、図11に示すように、まずS510にて、第2CPUコア12の処理負荷CPU_Loadに格納されている値と、第3CPUコア13の処理負荷CPU_Loadに格納されている値とを確認する。
Next, the error handling procedure of the second embodiment will be described.
When the error processing of the second embodiment is executed, as shown in FIG. 11, the
そして第2CPUコア12は、S520にて、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満であるか否かを判断する。
ここで、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満である場合には、第2CPUコア12は、S530にて、低負荷選択テーブルST11を参照して、S570に移行する。一方、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2以上である場合には、第2CPUコア12は、S540にて、第3CPUコア13の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満であるか否かを判断する。
Then, the
Here, when the value stored in the processing load CPU_Load of the
ここで、第3CPUコア13の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満である場合には、第2CPUコア12は、S550にて、第1高負荷選択テーブルST12を参照して、S570に移行する。一方、第3CPUコア13の処理負荷CPU_Loadに格納されている値が高負荷判定値J2以上である場合には、第2CPUコア12は、S560にて、第2高負荷選択テーブルST13を参照して、S570に移行する。
Here, when the value stored in the processing load CPU_Load of the
そして、S570に移行すると、第2CPUコア12は、割込コントローラ19の要求制御レジスタ40を変更する。
具体的には、低負荷選択テーブルST11を参照した場合には、第2CPUコア12は、少なくとも、割込要因フィールド40_2,40_3,40_4,40_5の値を0x001に設定する。これにより、点火・噴射制御プログラム、電子スロットル制御プログラムおよび外部同期プログラムが第2CPUコア12により実行されるようになる。
Then, upon shifting to S570, the
Specifically, when the low load selection table ST11 is referred to, the
また、第1高負荷選択テーブルST12を参照した場合には、第2CPUコア12は、少なくとも、割込要因フィールド40_2,40_3の値を0x001に設定し、割込要因フィールド40_4,40_5の値を0x010に設定する。これにより、点火・噴射制御プログラムが第2CPUコア12により実行され、電子スロットル制御プログラムおよび外部同期プログラムが第3CPUコア13により実行されるようになる。
Further, when referring to the first high load selection table ST12, the
また、第2高負荷選択テーブルST13を参照した場合には、第3CPUコア13は、少なくとも、割込要因フィールド40_2,40_3の値を0x001に設定し、割込要因フィールド40_4の値を0x010に設定し、割込要因フィールド40_5の値を0x100に設定する。これにより、点火・噴射制御プログラムが第2CPUコア12により実行され、電子スロットル制御プログラムが第3CPUコア13により実行され、外部同期プログラムがCPUコア11〜13の何れによっても実行されないようになる。
Further, when referring to the second high load selection table ST13, the
そして第2CPUコア12は、S580にて、コア異常フラグF1をセットして、エラー処理を終了する。
次に、第2実施形態のテーブル切替処理の手順を説明する。
Then, the
Next, the procedure of the table switching process of the second embodiment will be described.
第2実施形態のテーブル切替処理が実行されると、第2CPUコア12は、図12に示すように、まずS610にて、コア異常フラグF1がセットされているか否かを判断する。ここで、コア異常フラグF1がクリアされている場合には、第2CPUコア12は、テーブル切替処理を終了する。
When the table switching process of the second embodiment is executed, the
一方、コア異常フラグF1がセットされている場合には、第2CPUコア12は、S620にて、S510と同様にして、第2CPUコア12および第3CPUコア13の処理負荷CPU_Loadに格納されている値を確認する。
On the other hand, when the core abnormality flag F1 is set, the value of the
そして第2CPUコア12は、S630にて、S520と同様にして、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満であるか否かを判断する。
Then, in S630, the
ここで、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満である場合には、第2CPUコア12は、S640にて、S530と同様にして、低負荷選択テーブルST11を参照して、S680に移行する。一方、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2以上である場合には、第2CPUコア12は、S650にて、S540と同様にして、第3CPUコア13の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満であるか否かを判断する。
Here, when the value stored in the processing load CPU_Load of the
ここで、第3CPUコア13の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満である場合には、第2CPUコア12は、S660にて、S550と同様にして、第1高負荷選択テーブルST12を参照して、S680に移行する。一方、第3CPUコア13の処理負荷CPU_Loadに格納されている値が高負荷判定値J2以上である場合には、第2CPUコア12は、S670にて、S560と同様にして、第2高負荷選択テーブルST13を参照して、S680に移行する。
Here, when the value stored in the processing load CPU_Load of the
そして、S680に移行すると、第2CPUコア12は、S570と同様にして、割込コントローラ19の要求制御レジスタ40を変更して、テーブル切替処理を終了する。
このように構成されたECU1は、CPUコア11〜13と、ROM15と、要求制御レジスタ40と、割込コントローラ19と、エラー管理装置18およびロックステップコンパレータ33とを備える。
Then, upon shifting to S680, the
The
ROM15は、複数の割込要因毎に、CPUコア11〜13のそれぞれが実行するプログラムを指定するベクターテーブルVT2を記憶する。
要求制御レジスタ40は、複数の割込要因毎に、割込要因に起因して割り込みを発生させるCPUコア11〜13を指定するコア指定情報を割込要因フィールド40_1,40_2,40_3,40_4,40_5,・・・・,40_nに記憶するように構成される。
The
The request control register 40 inputs core specification information that specifies
割込コントローラ19は、割込要因が発生すると、要求制御レジスタ40に記憶されているコア指定情報に基づいて、発生した割込要因に対応するCPUコア11〜13に対して割り込みを発生させる。
When an interrupt factor occurs, the interrupt
エラー管理装置18およびロックステップコンパレータ33は、CPUコア11〜13のうち第1CPUコア11を異常判断対象コアとして、異常判断対象コアで異常が発生しているか否かを判断する。
The
ROM15は、代行コアを割込要因毎に指定する低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13を記憶する。
第2CPUコア12は、異常判断対象コアで異常が発生しているとエラー管理装置18が判断した場合に、ROM15に記憶されている低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13に基づいて、要求制御レジスタ40に記憶されているコア指定情報を変更する。
The
When the
このようにECU1では、割込コントローラ19は、割込要因が発生すると、コア指定情報に基づいて、発生した割込要因に対応するCPUコア11〜13に対して割り込みを発生させる。これにより、ECU1では、割込要因に対応するCPUコア11〜13が、ベクターテーブルVT2に基づいて、割込要因に対応するプログラムを実行する。
As described above, in the
そしてECU1では、第2CPUコア12は、異常判断対象コアで異常が発生した場合に、低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13に基づいて、コア指定情報を変更する。これにより、ECU1は、異常判断対象コアで異常が発生した場合には、割込要因が発生したときに異常判断対象コアが実行していたプログラムを代行コアに実行させることができる。従って、ECU1は、異常判断対象コアで異常が発生した場合に、代行コアで、プログラムの実行を代行させることができる。
Then, in the
そしてECU1は、異常判断対象コアで異常が発生した場合に代行コアを割込要因毎に指定する低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13を記憶している。このため、ECU1は、ECU1の運用状況に応じた低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13を予め設定することにより、ECU1の運用状況に応じて、代行コアによる代行を適切に実行させることができる。これにより、ECU1は、異常発生時における制御性能を向上させることができる。
Then, the
またCPUコア12,13はそれぞれ、CPUコア12,13の処理負荷を計測する。そしてROM15は、第2CPUコア12の処理負荷が低い場合に対応する低負荷選択テーブルST11と、第2CPUコア12の処理負荷が高く且つ第3CPUコア13の処理負荷が低い場合に対応する第1高負荷選択テーブルST12と、第2CPUコア12の処理負荷が高く且つ第3CPUコア13の処理負荷が高い場合に対応する第2高負荷選択テーブルST13とを記憶する。第2CPUコア12は、計測された第2CPUコア12および第3CPUコア13の処理負荷に対応した低負荷選択テーブルST11、第1高負荷選択テーブルST12または第2高負荷選択テーブルST13を選択し、選択した低負荷選択テーブルST11、第1高負荷選択テーブルST12または第2高負荷選択テーブルST13に基づいて、コア指定情報を変更する。これにより、ECU1は、第2CPUコア12および第3CPUコア13の処理負荷に応じて代行コアを変更することができ、異常発生時における制御性能を向上させることができる。
Further, the
以上説明した実施形態において、S510〜S580,S610〜S680は変更部としての処理に相当し、ベクターテーブルVT2はプログラム指定情報に相当し、低負荷選択テーブルST11、第1高負荷選択テーブルST12または第2高負荷選択テーブルST13は複数の代行情報に相当する。 In the embodiment described above, S510 to S580 and S610 to S680 correspond to the processing as a change unit, the vector table VT2 corresponds to the program designation information, and the low load selection table ST11, the first high load selection table ST12, or the first high load selection table ST12 or the first. 2 The high load selection table ST13 corresponds to a plurality of proxy information.
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
[変形例1]
例えば上記実施形態では、異常判断対象コアが第1CPUコア11である形態を示したが、異常判断対象コアの数は複数であってもよい。
Although one embodiment of the present disclosure has been described above, the present disclosure is not limited to the above embodiment, and can be implemented in various modifications.
[Modification 1]
For example, in the above embodiment, the mode in which the abnormality determination target core is the
本開示に記載のECU1およびその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載のECU1およびその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載のECU1およびその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。ECU1に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
The
上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。 A plurality of functions possessed by one component in the above embodiment may be realized by a plurality of components, or one function possessed by one component may be realized by a plurality of components. Further, a plurality of functions possessed by the plurality of components may be realized by one component, or one function realized by the plurality of components may be realized by one component. Further, a part of the configuration of the above embodiment may be omitted. In addition, at least a part of the configuration of the above embodiment may be added or replaced with the configuration of the other above embodiment.
上述したECU1の他、当該ECU1を構成要素とするシステム、当該ECU1としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実体的記録媒体、装置制御方法など、種々の形態で本開示を実現することもできる。
In addition to the above-mentioned
1…ECU、11…第1CPUコア、12…第2CPUコア、13…第3CPUコア、14…第4CPUコア、15…ROM、18…エラー管理装置、19…割込コントローラ、33…ロックステップコンパレータ、40…要求制御レジスタ 1 ... ECU, 11 ... 1st CPU core, 12 ... 2nd CPU core, 13 ... 3rd CPU core, 14 ... 4th CPU core, 15 ... ROM, 18 ... error management device, 19 ... interrupt controller, 33 ... lock step comparator, 40 ... Request control register
Claims (4)
複数の割込要因毎に、複数の前記CPUコアのそれぞれが実行するプログラムを指定するプログラム指定情報(VT1,VT2)を記憶するように構成されたプログラム指定記憶部(15)と、
複数の前記割込要因毎に、前記割込要因に起因して割り込みを発生させる前記CPUコアを指定するコア指定情報を記憶するように構成されたコア指定記憶部(40)と、
前記割込要因が発生すると、前記コア指定記憶部に記憶されている前記コア指定情報に基づいて、発生した前記割込要因に対応する前記CPUコアに対して前記割り込みを発生させるように構成された割込制御部(19)と、
複数の前記CPUコアのうち予め設定された少なくとも一つの前記CPUコアを異常判断対象コア(11)として、前記異常判断対象コアで異常が発生しているか否かを判断するように構成された異常判断部(18,33)と、
前記異常判断対象コアで異常が発生した場合に前記異常判断対象コアの代わりに前記プログラムを実行する前記CPUコアである代行コアを前記割込要因毎に指定する複数の代行情報(ST1,ST2,ST11,ST12,ST13)を記憶するように構成された代行記憶部(15)と、
前記異常判断対象コアで異常が発生していると前記異常判断部が判断した場合に、前記代行記憶部に記憶されている前記代行情報に基づいて、前記コア指定情報を変更するように構成された変更部(S210〜S260,S310〜S360,S510〜S580,S610〜S680)と
を備える電子制御装置(1)。 With multiple CPU cores (11, 12, 13, 14),
A program designation storage unit (15) configured to store program designation information (VT1, VT2) that specifies a program to be executed by each of the plurality of CPU cores for each of the plurality of interrupt factors.
A core designation storage unit (40) configured to store core designation information for designating the CPU core that generates an interrupt due to the interrupt factor for each of the plurality of interrupt factors.
When the interrupt factor occurs, the interrupt is generated for the CPU core corresponding to the generated interrupt factor based on the core designation information stored in the core designation storage unit. Interrupt control unit (19) and
An abnormality configured to determine whether or not an abnormality has occurred in the abnormality determination target core, with at least one preset CPU core among the plurality of CPU cores as the abnormality determination target core (11). Judgment unit (18, 33) and
A plurality of proxy information (ST1, ST2, ST2) that specifies a proxy core that is the CPU core that executes the program in place of the error judgment target core when an error occurs in the abnormality judgment target core for each interrupt factor. A surrogate storage unit (15) configured to store ST11, ST12, ST13) and
When the abnormality determination unit determines that an abnormality has occurred in the abnormality determination target core, the core designation information is changed based on the agency information stored in the agency storage unit. An electronic control device (1) including a change unit (S210 to S260, S310 to S360, S510 to S580, S610 to S680).
前記代行コアの処理負荷を計測するように構成された負荷計測部(S10〜S40,S110〜S130)を備え、
前記代行記憶部は、前記代行コアの前記処理負荷に応じて互いに異なる複数の前記代行情報を記憶し、
前記変更部は、前記負荷計測部により計測された前記処理負荷に対応した前記代行情報を選択し、選択した前記代行情報に基づいて、前記コア指定情報を変更する電子制御装置。 The electronic control device according to claim 1.
A load measuring unit (S10 to S40, S110 to S130) configured to measure the processing load of the substitute core is provided.
The proxy storage unit stores a plurality of proxy information that are different from each other according to the processing load of the proxy core.
The changing unit is an electronic control device that selects the surrogate information corresponding to the processing load measured by the load measuring unit and changes the core designation information based on the selected surrogate information.
前記電子制御装置は、車両に搭載され、
前記プログラム指定情報および前記コア指定情報は、前記異常判断対象コアで異常が発生していないと前記異常判断部が判断している場合において前記異常判断対象コアが前記車両のエンジンを制御するように設定されている電子制御装置。 The electronic control device according to claim 1 or 2.
The electronic control device is mounted on the vehicle and
The program designation information and the core designation information are used so that the abnormality determination target core controls the engine of the vehicle when the abnormality determination unit determines that an abnormality has not occurred in the abnormality determination target core. Electronic control device that is set.
前記電子制御装置は、車両に搭載され、
前記車両のエンジンに供給される空気量を調整するスロットルバルブは、前記スロットルバルブを駆動するスロットルモータ(63)への通電が停止した場合において、前記スロットルバルブの開度が、前記車両のリンプホーム走行が可能である予め設定されたオープナ開度となるように構成されており、
前記代行コアの処理負荷を計測するように構成された負荷計測部を備え、
前記代行記憶部は、前記代行コアの前記処理負荷に応じて互いに異なる複数の前記代行情報を記憶し、
前記変更部(S210〜S260,S310〜S360)は、前記負荷計測部により計測された前記処理負荷に対応した前記代行情報を選択し、選択した前記代行情報に基づいて、前記コア指定情報を変更し、
前記プログラム指定情報(VT1)および前記代行情報(ST1,ST2)は、前記代行コアの前記処理負荷が高いことを示す予め設定された高負荷条件が成立していない場合には、前記代行コアが前記スロットルモータの制御を実行し、前記高負荷条件が成立している場合には、前記代行コアが前記スロットルモータの制御を実行しないように設定されている電子制御装置。 The electronic control device according to any one of claims 1 to 3.
The electronic control device is mounted on the vehicle and
The throttle valve that adjusts the amount of air supplied to the engine of the vehicle has an opening degree of the throttle valve that is the limp home of the vehicle when the power supply to the throttle motor (63) that drives the throttle valve is stopped. It is configured to have a preset opener opening that allows driving.
A load measuring unit configured to measure the processing load of the surrogate core is provided.
The proxy storage unit stores a plurality of proxy information that are different from each other according to the processing load of the proxy core.
The change unit (S210 to S260, S310 to S360) selects the substitute information corresponding to the processing load measured by the load measurement unit, and changes the core designation information based on the selected substitute information. And
The program designation information (VT1) and the proxy information (ST1, ST2) are used by the proxy core when the preset high load condition indicating that the processing load of the proxy core is high is not satisfied. An electronic control device that executes control of the throttle motor and is set so that the proxy core does not execute control of the throttle motor when the high load condition is satisfied.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019168429A JP7334552B2 (en) | 2019-09-17 | 2019-09-17 | electronic controller |
DE102020211231.2A DE102020211231A1 (en) | 2019-09-17 | 2020-09-08 | ELECTRONIC CONTROL UNIT |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019168429A JP7334552B2 (en) | 2019-09-17 | 2019-09-17 | electronic controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021047513A true JP2021047513A (en) | 2021-03-25 |
JP7334552B2 JP7334552B2 (en) | 2023-08-29 |
Family
ID=74686355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019168429A Active JP7334552B2 (en) | 2019-09-17 | 2019-09-17 | electronic controller |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7334552B2 (en) |
DE (1) | DE102020211231A1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008152790A1 (en) * | 2007-06-12 | 2008-12-18 | Panasonic Corporation | Multiprocessor control device, multiprocessor control method, and multiprocessor control circuit |
JP2009187223A (en) * | 2008-02-05 | 2009-08-20 | Nec Corp | Processor, electronic equipment, interrupt control method, and interrupt control program |
JP2009245009A (en) * | 2008-03-28 | 2009-10-22 | Fujitsu Ten Ltd | Vehicle control device and multi-core processor |
JP2011141782A (en) * | 2010-01-08 | 2011-07-21 | Toyota Motor Corp | Information processing apparatus, electronic control unit and task allocation method |
JP2014049013A (en) * | 2012-09-03 | 2014-03-17 | Hitachi Automotive Systems Ltd | Electronic control system for automobile |
JP2018112977A (en) * | 2017-01-13 | 2018-07-19 | 株式会社デンソー | Microcomputer |
-
2019
- 2019-09-17 JP JP2019168429A patent/JP7334552B2/en active Active
-
2020
- 2020-09-08 DE DE102020211231.2A patent/DE102020211231A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008152790A1 (en) * | 2007-06-12 | 2008-12-18 | Panasonic Corporation | Multiprocessor control device, multiprocessor control method, and multiprocessor control circuit |
JP2009187223A (en) * | 2008-02-05 | 2009-08-20 | Nec Corp | Processor, electronic equipment, interrupt control method, and interrupt control program |
JP2009245009A (en) * | 2008-03-28 | 2009-10-22 | Fujitsu Ten Ltd | Vehicle control device and multi-core processor |
JP2011141782A (en) * | 2010-01-08 | 2011-07-21 | Toyota Motor Corp | Information processing apparatus, electronic control unit and task allocation method |
JP2014049013A (en) * | 2012-09-03 | 2014-03-17 | Hitachi Automotive Systems Ltd | Electronic control system for automobile |
JP2018112977A (en) * | 2017-01-13 | 2018-07-19 | 株式会社デンソー | Microcomputer |
Also Published As
Publication number | Publication date |
---|---|
DE102020211231A1 (en) | 2021-03-18 |
JP7334552B2 (en) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5867495B2 (en) | Electronic control unit | |
JP3255693B2 (en) | Automotive multi-computer system | |
JP7327188B2 (en) | electronic controller | |
JP2019061392A (en) | Microcontroller and control method of microcontroller | |
JP5662181B2 (en) | Electronic control device for moving body | |
JP2004285856A (en) | Intake amount control device for engine, and intake amount control method for engine | |
JP2021047513A (en) | Electronic control device | |
JP6075262B2 (en) | Control device | |
JP6519515B2 (en) | Microcomputer | |
JP6729407B2 (en) | Microcomputer | |
JP5842783B2 (en) | Vehicle control device | |
JP2011145900A (en) | Multiprocessor device | |
JP4422076B2 (en) | Data processing device, electronic control unit, and automobile | |
JP2010113419A (en) | Multicore controller | |
JP6434840B2 (en) | Electronic control unit | |
JP2011039667A (en) | Numerical value controller | |
JP6229637B2 (en) | In-vehicle control device | |
WO2017002939A1 (en) | Electronic control device and stack usage method | |
JP7067078B2 (en) | Internal combustion engine control system | |
JP6466269B2 (en) | Electronic control device and stack area usage monitoring method | |
JP5561241B2 (en) | Microcomputer | |
JP2009215944A (en) | Electronic control system and method for operating same | |
JP2007283788A (en) | Vehicular electronic control device | |
JP6877475B2 (en) | Electronic control device and stack usage | |
JP2021076021A (en) | Electronic control unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221213 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230621 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20230629 |
|
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: 20230718 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230731 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7334552 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |