JP2021047513A - Electronic control device - Google Patents

Electronic control device Download PDF

Info

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
Application number
JP2019168429A
Other languages
Japanese (ja)
Other versions
JP7334552B2 (en
Inventor
浩生 国部
Hiroo Kunibe
浩生 国部
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 JP2019168429A priority Critical patent/JP7334552B2/en
Priority to DE102020211231.2A priority patent/DE102020211231A1/en
Publication of JP2021047513A publication Critical patent/JP2021047513A/en
Application granted granted Critical
Publication of JP7334552B2 publication Critical patent/JP7334552B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1637Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error 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

To provide an electronic control device capable of improving control performance when an abnormality occurs.SOLUTION: An ECU 1 comprises CPU cores 11-14, a ROM 15, a request control register, an interruption controller 19, and an error management device 18. The ROM 15 stores a vector table to specify a program executed by the CPU cores 11-14 for each of multiple interruption factors. The request control register stores core designated information to specify the CPU core which generates the interruption for each of the multiple interruption factors. The interruption controller 19 generates the interruption based on the core designated information when the interruption factor occurs. The error management device 18 determines an abnormality occurrence of the CPU core 11. The ROM 15 stores the multiple selection tables to specify a vicarious execution core for each interruption factor when the abnormality of the CPU core 11 occurs. The CPU core 12 changes the core designated information based on the multiple selection tables when the abnormality of the CPU core 11 occurs.SELECTED DRAWING: Figure 1

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 Patent Document 1, in an electronic control device including a master-side core and a slave-side core, when the master-side core detects an abnormality in the slave-side core, the processing to be executed by the slave-side core is performed on behalf of the master-side core. Is described.

特開2009−274569号公報Japanese Unexamined Patent Publication No. 2009-274569

しかし、特許文献1に記載の技術では、単にマスタ側コアがスレーブ側コアの処理を代行した場合には、マスタ側コアは、本来の処理に加えて他のコアの処理まで実行しなければならず、マスタ側コアの処理能力を超えてしまう恐れがある。 However, in the technique described in Patent Document 1, when the master side core simply substitutes the processing of the slave side core, the master side core must execute the processing of other cores in addition to the original processing. However, there is a risk that the processing capacity of the master core will be exceeded.

この点について、特許文献1には、マスタ側コアが、スレーブ側コアにより実行されるべき処理を、低負荷となる方法で実行すると記載されている。しかしながら、電子制御システムの負荷状況はシステムの運用状況に応じて高負荷にも低負荷にもなる。したがって、マスタ側コアでスレーブ側コアの全処理を実行できない状況において、マスタ側コアがスレーブ側コアの全処理を代行したり、逆に、マスタ側コアでスレーブ側コアの全処理を実行できる状況において、マスタ側コアがスレーブ側コアの処理を敢えて低負荷で代行したりすることになり、制御性能が悪化してしまう恐れがある。 Regarding this point, Patent Document 1 describes that the master-side core executes the processing to be executed by the slave-side core in a manner that reduces the load. However, the load status of the electronic control system can be either high or low depending on the operating status of the system. Therefore, in a situation where the master core cannot execute all the processing of the slave core, the master core can perform all the processing of the slave core, or conversely, the master core can execute all the processing of the slave core. In the above, the master side core dares to substitute the processing of the slave side core with a low load, and there is a possibility that the control performance deteriorates.

本開示は、異常発生時における制御性能を向上させることを目的とする。 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.

ECUの構成を示すブロック図である。It is a block diagram which shows the structure of the ECU. 第1CPUコアおよび割込コントローラの構成を示す図である。It is a figure which shows the structure of the 1st CPU core and the interrupt controller. 第1実施形態のベクターテーブルの構成を示す図である。It is a figure which shows the structure of the vector table of 1st Embodiment. 低負荷選択テーブルおよび高負荷選択テーブルの構成を示す図である。It is a figure which shows the structure of the low load selection table and the high load selection table. アイドルタスクを示すフローチャートである。It is a flowchart which shows an idle task. 10msタスクを示すフローチャートである。It is a flowchart which shows the 10ms task. 第1実施形態のエラー処理を示すフローチャートである。It is a flowchart which shows the error processing of 1st Embodiment. 第1実施形態のテーブル切替処理を示すフローチャートである。It is a flowchart which shows the table switching process of 1st Embodiment. 第2実施形態のベクターテーブルの構成を示す図である。It is a figure which shows the structure of the vector table of 2nd Embodiment. 低負荷選択テーブルおよび第1,2高負荷選択テーブルの構成を示す図である。It is a figure which shows the structure of the low load selection table and the 1st and 2nd high load selection tables. 第2実施形態のエラー処理を示すフローチャートである。It is a flowchart which shows the error processing of 2nd Embodiment. 第2実施形態のテーブル切替処理を示すフローチャートである。It is a flowchart which shows the table switching process of 2nd Embodiment.

[第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 crank angle sensor 51, the cam angle signal from the cam angle sensor 52, and the throttle opening signal from the throttle opening sensor 53 are input to the microcomputer 2 via the input circuit 3. ..

クランク角センサ51は、エンジンのクランク軸の回転に応じてクランク角信号を出力する。カム角センサ52は、エンジンのカム軸の回転に応じてカム角信号を出力する。スロットル開度センサ53は、エンジンに供給される空気量を調整するスロットルバルブの開度(以下、スロットル開度)を検出し、検出結果を示すスロットル開度信号を出力する。 The crank angle sensor 51 outputs a crank angle signal according to the rotation of the crankshaft of the engine. The cam angle sensor 52 outputs a cam angle signal according to the rotation of the cam shaft of the engine. The throttle opening sensor 53 detects the opening degree of the throttle valve (hereinafter referred to as the throttle opening degree) for adjusting the amount of air supplied to the engine, and outputs a throttle opening degree signal indicating the detection result.

マイコン2は、入力回路3を介して入力される上記各信号に基づいてエンジンの状態を検出する。そしてマイコン2は、エンジンの状態に基づいて、エンジンの各気筒内の点火プラグ61、各気筒内のインジェクタ62、および、スロットル開度を変えるスロットルモータ63などの各種アクチュエータを制御するための制御信号を出力回路4を介して出力する。 The microcomputer 2 detects the state of the engine based on each of the above signals input via the input circuit 3. Then, the microcomputer 2 controls various actuators such as a spark plug 61 in each cylinder of the engine, an injector 62 in each cylinder, and a throttle motor 63 for changing the throttle opening degree based on the state of the engine. Is output via the output circuit 4.

スロットルバルブは、回転軸を中心に回転可能に構成されており、スロットルモータ63からの回転トルクが減速ギヤを介して回転軸に伝達されることで、吸気管内で開閉動作し、スロットル開度を変化させる。 The throttle valve is configured to be rotatable around the rotation shaft, and the rotation torque from the throttle motor 63 is transmitted to the rotation shaft via the reduction gear to open and close in the intake pipe to increase the throttle opening. Change.

また回転軸には、リターンスプリングが取り付けられている。このリターンスプリングは、リンプホーム走行が可能なエンジン出力が得られるように予め設定されたスロットル開度(以下、オープナ開度という)となるように回転軸を付勢する。すなわち、スロットルモータ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 throttle motor 63 is stopped and the rotational torque is no longer transmitted to the rotary shaft, the throttle valve is held at the opener opening degree, whereby the intake amount required for limp home driving is maintained. Is secured.

マイコン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 microcomputer 2 includes a first CPU core 11, a second CPU core 12, a third CPU core 13, a fourth CPU core 14, a ROM 15, a RAM 16, an input / output unit 17, an error management device 18, and an interrupt controller 19. And a bus 20. Hereinafter, the first CPU core 11, the second CPU core 12, the third CPU core 13, and the fourth CPU core 14 are collectively referred to as CPU cores 11 to 14.

マイクロコンピュータの各種機能は、CPUコア11〜14が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM15が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPUコア11〜14が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。また、ECU1を構成するマイクロコンピュータの数は1つでも複数でもよい。 Various functions of the microcomputer are realized by executing a program in which CPU cores 11 to 14 are stored in a non-transitional substantive recording medium. In this example, ROM 15 corresponds to a non-transitional substantive recording medium in which a program is stored. In addition, by executing this program, the method corresponding to the program is executed. In addition, a part or all of the functions executed by the CPU cores 11 to 14 may be configured in hardware by one or a plurality of ICs or the like. Further, the number of microcomputers constituting the ECU 1 may be one or a plurality.

第1CPUコア11、第2CPUコア12、第3CPUコア13および第4CPUコア14は、車両に搭載されているエンジンを制御するための各種制御処理を分散して実行する。 The first CPU core 11, the second CPU core 12, the third CPU core 13, and the fourth CPU core 14 distribute and execute various control processes for controlling the engine mounted on the vehicle.

ROM15は、不揮発性メモリであり、エンジンを制御する各種制御処理を実行するためのプログラムを記憶する。
RAM16は、揮発性メモリであり、CPUコア11〜14の演算結果等を一時的に記憶する。
The ROM 15 is a non-volatile memory and stores a program for executing various control processes for controlling the engine.
The RAM 16 is a volatile memory, and temporarily stores the calculation results of the CPU cores 11 to 14.

入出力部17は、マイコン2の外部とCPUコア11〜14との間でデータの入出力を行わせるための回路である。
エラー管理装置18は、第1CPUコア11の異常を検出する装置である。
The input / output unit 17 is a circuit for inputting / outputting data between the outside of the microcomputer 2 and the CPU cores 11-14.
The error management device 18 is a device that detects an abnormality in the first CPU core 11.

割込コントローラ19は、様々な割込要因の発生を示す割込要求信号を入力し、入力した割込要求信号に対応する割込要因毎に予め設定された優先度に基づいて、優先度が最も高い割込要因に対応した割込信号をCPUコア11〜14へ出力する。 The interrupt controller 19 inputs interrupt request signals indicating the occurrence of various interrupt factors, and the priority is set based on the priority set in advance for each interrupt factor corresponding to the input interrupt request signal. The interrupt signal corresponding to the highest interrupt factor is output to the CPU cores 11-14.

バス20は、CPUコア11〜14、ROM15、RAM16、入出力部17、エラー管理装置18および割込コントローラ19を、互いにデータ入出力可能に接続する。
図2に示すように、第1CPUコア11は、マスターコア31と、チェッカーコア32と、ロックステップコンパレータ33とを備える。
The bus 20 connects the CPU cores 11 to 14, the ROM 15, the RAM 16, the input / output unit 17, the error management device 18, and the interrupt controller 19 to each other so that data can be input and output.
As shown in FIG. 2, the first CPU core 11 includes a master core 31, a checker core 32, and a lock step comparator 33.

マスターコア31およびチェッカーコア32は、プログラムを実行するための演算ユニットおよびレジスタなどを備える。そして、マスターコア31およびチェッカーコア32は、同一の演算を並行して実行し、演算結果をロックステップコンパレータ33へ出力する。 The master core 31 and the checker core 32 include arithmetic units and registers for executing a program. Then, the master core 31 and the checker core 32 execute the same calculation in parallel, and output the calculation result to the lock step comparator 33.

ロックステップコンパレータ33は、マスターコア31からの演算結果と、チェッカーコア32からの演算結果とを比較し、演算結果が一致しているか否かを示す比較結果情報をエラー管理装置18へ出力する。 The lock step comparator 33 compares the calculation result from the master core 31 with the calculation result from the checker core 32, and outputs comparison result information indicating whether or not the calculation results match to the error management device 18.

エラー管理装置18は、ロックステップコンパレータ33から比較結果情報を取得すると、比較結果情報に基づいて、演算結果が一致しているか否かを判断する。そしてエラー管理装置18は、演算結果が一致していない場合に、第1CPUコア11で異常が発生していると判断し、ロックステップエラー情報を割込コントローラ19へ出力する。 When the error management device 18 acquires the comparison result information from the lock step comparator 33, the error management device 18 determines whether or not the calculation results match based on the comparison result information. Then, when the calculation results do not match, the error management device 18 determines that an abnormality has occurred in the first CPU core 11 and outputs the lock step error information to the interrupt controller 19.

割込コントローラ19は、要求制御レジスタ40を備える。要求制御レジスタ40は、n個の割込要因フィールド40_1,40_2,40_3,40_4,40_5,・・・・,40_nを備える。nは、正の整数である。 The interrupt controller 19 includes a request control register 40. The request control register 40 includes n interrupt factor fields 40_1, 40_2, 40_3, 40_4, 40_5, ..., 40_n. n is a positive integer.

複数の割込要因フィールド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 first CPU core 11. The interrupt factor field 40_2 corresponds to the input of the crank angle signal. The interrupt factor field 40_3 corresponds to the input of the cam angle signal. The interrupt factor field 40_4 corresponds to timer interrupt. The interrupt factor field 40_5 corresponds to an external request interrupt.

割込要因フィールド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 first CPU core 11 is specified. Similarly, when the values stored in the interrupt factor field 40_i are 0x001, 0x010, 0x011, the second CPU core 12, the third CPU core 13, and the fourth CPU core 14 are designated, respectively.

図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 first CPU core 11 occurs, the second CPU core 12 executes a process corresponding to the lock step error.

また、割込要因フィールド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 first CPU core 11 executes the process corresponding to the input of the crank angle signal. Further, 0x000 is stored in the interrupt factor field 40_3. Therefore, when the cam angle signal is input in the normal state, the first CPU core 11 executes the process corresponding to the input of the cam angle signal. Specifically, the first CPU core 11 specifies a crank position by a crank interruption and a cam interruption, drives an injector 62 at a predetermined crank position to inject fuel, or an ignition plug 61 at a predetermined crank position. Is energized and ignited.

また、割込要因フィールド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 second CPU core 12 executes a process corresponding to the timer interrupt. Specifically, the second CPU core 12 controls energization of the throttle motor 63 so that the throttle valve has a desired opening degree by, for example, a timer interrupt generated every 2 ms.

また、割込要因フィールド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 first CPU core 11 executes a process corresponding to the external request interrupt.

ROM15には、図3に示すように、ベクターテーブルVT1が記憶されている。ベクターテーブルVT1は、複数の割込要因毎に、CPUコア11〜14が実行する制御プログラムを指定する。 As shown in FIG. 3, the vector table VT1 is stored in the ROM 15. The vector table VT1 specifies a control program executed by the CPU cores 11 to 14 for each of a plurality of interrupt factors.

本実施形態では、割込要因がクランク角信号の入力である場合には、第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 first CPU core 11 and the second CPU core 12. Further, when the interrupt factor is the input of the cam angle signal, the ignition / injection control program is specified for the first CPU core 11 and the second CPU core 12. Further, when the interrupt factor is the timer interrupt, the electronic throttle control program is specified for the second CPU core 12.

なお、ロックステップエラーが発生していない通常時には、破線の長方形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 first CPU core 11 executes the ignition / injection control program, and the second CPU core 12 executes the electronic throttle control program.

ROM15には、図4に示すように、低負荷選択テーブルST1および高負荷選択テーブルST2が記憶されている。
低負荷選択テーブルST1および高負荷選択テーブルST2は、複数の割込要因毎に、プログラムを実行するCPUコアを指定する。
As shown in FIG. 4, the ROM 15 stores the low load selection table ST1 and the high load selection table ST2.
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 second CPU core 12 is selected. Further, when the interrupt factor is the input of the cam angle signal, the second CPU core 12 is selected. If the interrupt factor is a timer interrupt, the second CPU core 12 is selected.

本実施形態の高負荷選択テーブル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 second CPU core 12 is selected. Further, when the interrupt factor is the input of the cam angle signal, the second CPU core 12 is selected. Further, when the interrupt factor is timer interrupt, the CPU core to be selected does not exist.

次に、CPUコア12〜14が実行するアイドルタスクの手順を説明する。アイドルタスクは、CPUコア12〜14が割込処理を実行していないときに実行される処理である。すなわち、CPUコア12〜14の処理負荷が100%であるときには、アイドルタスクは実行されない。なお、以下では、第2CPUコア12で代表して、アイドルタスクの手順を説明する。 Next, the procedure of the idle task executed by the CPU cores 12 to 14 will be described. The idle task is a process executed when the CPU cores 12 to 14 are not executing the interrupt process. That is, when the processing load of the CPU cores 12 to 14 is 100%, the idle task is not executed. In the following, the procedure of the idle task will be described on behalf of the second CPU core 12.

アイドルタスクが実行されると、第2CPUコア12は、図5に示すように、まずS10にて、RAM16に設けられたアイドルカウンタCounterに格納されている値に1を加算した加算値を、アイドルカウンタCounterに格納する。 When the idle task is executed, as shown in FIG. 5, the second CPU core 12 first idles the added value obtained by adding 1 to the value stored in the idle counter Counter provided in the RAM 16 in S10. Store in the counter Counter.

そして第2CPUコア12は、S20にて、アイドルカウンタCounterに格納されている値が、予め設定されたリセット判定値J1を超えているか否かを判断する。リセット判定値J1は、アイドル状態が1ms継続したときにアイドルカウンタCounterが到達する値に設定される。 Then, the second CPU core 12 determines in S20 whether or not the value stored in the idle counter Counter exceeds the preset reset determination value J1. The reset determination value J1 is set to a value reached by the idle counter Counter when the idle state continues for 1 ms.

ここで、アイドルカウンタ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 second CPU core 12 shifts to S10. On the other hand, when the value stored in the idle counter Counter exceeds the reset determination value J1, the second CPU core 12 stores 0 in the idle counter Counter in S30.

さらに第2CPUコア12は、S40にて、RAM16に設けられた1ミリ秒カウンタ1ms_Counterに格納されている値に1を加算した加算値を、1ミリ秒カウンタ1ms_Counterに格納し、アイドルタスクを終了する。 Further, in S40, the second CPU core 12 stores the added value obtained by adding 1 to the value stored in the 1-millisecond counter 1ms_Counter provided in the RAM 16 in the 1-millisecond counter 1ms_Counter, and ends the idle task. ..

次に、CPUコア12〜14が実行する10msタスクの手順を説明する。10msタスクは、10msが経過する毎に実行される処理である。なお、以下では、第2CPUコア12で代表して、10msタスクの手順を説明する。 Next, the procedure of the 10 ms task executed by the CPU cores 12 to 14 will be described. The 10ms task is a process that is executed every time 10ms elapses. In the following, the procedure of the 10 ms task will be described on behalf of the second CPU core 12.

10msタスクが実行されると、第2CPUコア12は、図6に示すように、まずS110にて、1ミリ秒カウンタ1ms_Counterに格納されている値を取得する。そして第2CPUコア12は、S120にて、下式(1)の右辺で算出される値を、RAM16に設けられた処理負荷CPU_Loadに格納する。 When the 10 ms task is executed, the second CPU core 12 first acquires the value stored in the 1 ms counter 1 ms_Counter in S110 as shown in FIG. Then, the second CPU core 12 stores the value calculated on the right side of the following equation (1) in the processing load CPU_Load provided in the RAM 16 in S120.

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 second CPU core 12 stores 0 in the 1 millisecond counter 1ms_Counter in S130, and ends the 10ms task.

次に、第2CPUコア12が実行するエラー処理の手順を説明する。エラー処理は、ロックステップエラーに対応した割込信号が割込コントローラ19から第2CPUコア12に入力された場合に開始される処理である。 Next, the error handling procedure executed by the second CPU core 12 will be described. The error processing is processing that is started when an interrupt signal corresponding to the lock step error is input from the interrupt controller 19 to the second CPU core 12.

エラー処理が実行されると、第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 second CPU core 12 first confirms the value stored in the processing load CPU_Load of the second CPU core 12 in S210.
Then, the second CPU core 12 determines in S220 whether or not the value stored in the processing load CPU_Load of the second CPU core 12 is less than the preset high load determination value J2.

ここで、第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 second CPU core 12 is less than the high load determination value J2, the second CPU core 12 refers to the low load selection table ST1 in S230 and refers to the low load selection table ST1. Move to S250. On the other hand, when the value stored in the processing load CPU_Load of the second CPU core 12 is the high load determination value J2 or more, the second CPU core 12 refers to the high load selection table ST2 in S240 and S250. Move to.

そして、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 second CPU core 12 changes the request control register 40 of the interrupt controller 19 in S250.
Specifically, when the low load selection table ST1 is referred to, the second CPU core 12 sets at least the value of the interrupt factor field 40_2, 40_3, 40_4 to 0x001. As a result, the ignition / injection control program and the electronic throttle control program are executed by the second CPU core 12. On the other hand, when the high load selection table ST2 is referred to, the second CPU core 12 sets at least the value of the interrupt factor field 40_2, 40_3 to 0x001 and the value of the interrupt factor field 40_4 to 0x100. As a result, the ignition / injection control program is executed by the second CPU core 12, and the electronic throttle control program is not executed by any of the CPU cores 11 to 14.

そして第2CPUコア12は、S260にて、RAM16に設けられたコア異常フラグF1をセットして、エラー処理を終了する。以下の説明において、フラグをセットするとは、そのフラグの値を1にすることを示し、フラグをクリアするとは、そのフラグの値を0にすることを示す。 Then, the second CPU core 12 sets the core abnormality flag F1 provided in the RAM 16 in S260, and ends the error processing. In the following description, setting a flag indicates that the value of the flag is set to 1, and clearing the flag indicates that the value of the flag is set to 0.

次に、第2CPUコア12が実行するテーブル切替処理の手順を説明する。テーブル切替処理は、第2CPUコア12の動作中において10msが経過する毎に実行される処理である。 Next, the procedure of the table switching process executed by the second CPU core 12 will be described. The table switching process is a process executed every time 10 ms elapses during the operation of the second CPU core 12.

テーブル切替処理が実行されると、第2CPUコア12は、図8に示すように、まずS310にて、コア異常フラグF1がセットされているか否かを判断する。ここで、コア異常フラグF1がクリアされている場合には、第2CPUコア12は、テーブル切替処理を終了する。 When the table switching process is executed, the second CPU core 12 first determines in S310 whether or not the core abnormality flag F1 is set, as shown in FIG. Here, when the core abnormality flag F1 is cleared, the second CPU core 12 ends the table switching process.

一方、コア異常フラグF1がセットされている場合には、第2CPUコア12は、S320にて、S210と同様にして、第2CPUコア12の処理負荷CPU_Loadに格納されている値を確認する。 On the other hand, when the core abnormality flag F1 is set, the second CPU core 12 confirms the value stored in the processing load CPU_Load of the second CPU core 12 in S320 in the same manner as in S210.

そして第2CPUコア12は、S330にて、S220と同様にして、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満であるか否かを判断する。 Then, in S330, the second CPU core 12 determines whether or not the value stored in the processing load CPU_Load of the second CPU core 12 is less than the high load determination value J2 in the same manner as in S220.

ここで、第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 second CPU core 12 is less than the high load determination value J2, the second CPU core 12 sets the low load selection table in S340 in the same manner as in S230. With reference to ST1, the process proceeds to S360. On the other hand, when the value stored in the processing load CPU_Load of the second CPU core 12 is the high load determination value J2 or more, the second CPU core 12 sets the high load selection table ST2 in S350 in the same manner as in S240. Refer to, and move to S360.

そして、S360に移行すると、第2CPUコア12は、S250と同様にして、割込コントローラ19の要求制御レジスタ40を変更して、テーブル切替処理を終了する。
このように構成されたECU1は、CPUコア11〜14と、ROM15と、要求制御レジスタ40と、割込コントローラ19と、エラー管理装置18およびロックステップコンパレータ33とを備える。
Then, upon shifting to S360, the second CPU core 12 changes the request control register 40 of the interrupt controller 19 in the same manner as in S250, and ends the table switching process.
The ECU 1 configured in this way includes CPU cores 11 to 14, ROM 15, a request control register 40, an interrupt controller 19, an error management device 18, and a lock step comparator 33.

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 ROM 15 stores a vector table VT1 that specifies a program to be executed by each of the CPU cores 11 to 14 for each of a plurality of interrupt factors.
The request control register 40 provides core designation information (that is, 0x000, 0x001, 0x010, 0x011, 0x100) that specifies CPU cores 11 to 14 that generate interrupts due to the interrupt factor for each of the plurality of interrupt factors. It is stored in the interrupt factor fields 40_1, 40_2, 40_3, 40_4, 40_5, ..., 40_n.

割込コントローラ19は、割込要因が発生すると、要求制御レジスタ40に記憶されているコア指定情報に基づいて、発生した割込要因に対応するCPUコア11〜14に対して割り込みを発生させる。 When an interrupt factor occurs, the interrupt controller 19 generates an interrupt to the CPU cores 11 to 14 corresponding to the generated interrupt factor based on the core designation information stored in the request control register 40.

エラー管理装置18およびロックステップコンパレータ33は、CPUコア11〜14のうち第1CPUコア11を異常判断対象コアとして、異常判断対象コアで異常が発生しているか否かを判断する。 The error management device 18 and the lock step comparator 33 determine whether or not an abnormality has occurred in the abnormality determination target core, using the first CPU core 11 of the CPU cores 11 to 14 as the abnormality determination target core.

ROM15は、異常判断対象コアで異常が発生した場合に異常判断対象コアの代わりにプログラムを実行するコア(以下、代行コア)を割込要因毎に指定する低負荷選択テーブルST1および高負荷選択テーブルST2を記憶する。 The ROM 15 is a low load selection table ST1 and a high load selection table that specify a core (hereinafter referred to as a substitute core) that executes a program instead of the abnormality judgment target core for each interrupt factor when an abnormality occurs in the abnormality judgment target core. Store ST2.

第2CPUコア12は、異常判断対象コアで異常が発生しているとエラー管理装置18が判断した場合に、ROM15に記憶されている低負荷選択テーブルST1および高負荷選択テーブルST2に基づいて、要求制御レジスタ40に記憶されているコア指定情報を変更する。 When the error management device 18 determines that an error has occurred in the core subject to abnormality determination, the second CPU core 12 requests based on the low load selection table ST1 and the high load selection table ST2 stored in the ROM 15. The core designation information stored in the control register 40 is changed.

このようにECU1では、割込コントローラ19は、割込要因が発生すると、コア指定情報に基づいて、発生した割込要因に対応するCPUコア11〜14に対して割り込みを発生させる。これにより、ECU1では、割込要因に対応するCPUコア11〜14が、ベクターテーブルVT1に基づいて、割込要因に対応するプログラムを実行する。 As described above, in the ECU 1, when an interrupt factor occurs, the interrupt controller 19 generates an interrupt to the CPU cores 11 to 14 corresponding to the generated interrupt factor based on the core designation information. As a result, in the ECU 1, the CPU cores 11 to 14 corresponding to the interrupt factor execute the program corresponding to the interrupt factor based on the vector table VT1.

そしてECU1では、第2CPUコア12は、異常判断対象コアで異常が発生した場合に、低負荷選択テーブルST1および高負荷選択テーブルST2に基づいて、コア指定情報を変更する。これにより、ECU1は、異常判断対象コアで異常が発生した場合には、割込要因が発生したときに異常判断対象コアが実行していたプログラムを代行コアに実行させることができる。従って、ECU1は、異常判断対象コアで異常が発生した場合に、代行コアで、プログラムの実行を代行させることができる。 Then, in the ECU 1, the second CPU core 12 changes the core designation information based on the low load selection table ST1 and the high load selection table ST2 when an abnormality occurs in the abnormality determination target core. As a result, when an abnormality occurs in the abnormality determination target core, the ECU 1 can cause the substitute core to execute the program executed by the abnormality determination target core when the interrupt factor occurs. Therefore, when an abnormality occurs in the abnormality determination target core, the ECU 1 can execute the program on behalf of the substitute core.

そしてECU1は、異常判断対象コアで異常が発生した場合に代行コアを割込要因毎に指定する低負荷選択テーブルST1および高負荷選択テーブルST2を記憶している。このため、ECU1は、ECU1の運用状況に応じた低負荷選択テーブルST1および高負荷選択テーブルST2を予め設定することにより、ECU1の運用状況に応じて、代行コアによる代行を適切に実行させることができる。これにより、ECU1は、異常発生時における制御性能を向上させることができる。 Then, the ECU 1 stores a low load selection table ST1 and a high load selection table ST2 that specify a substitute core for each interrupt factor when an abnormality occurs in the abnormality determination target core. Therefore, the ECU 1 can appropriately execute the substitution by the substitute core according to the operation status of the ECU 1 by setting the low load selection table ST1 and the high load selection table ST2 according to the operation status of the ECU 1 in advance. it can. As a result, the ECU 1 can improve the control performance when an abnormality occurs.

また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 CPU cores 12 to 14 measure the processing load of the CPU cores 12 to 14, respectively. Then, the ROM 15 stores the low load selection table ST1 corresponding to the case where the processing load of the second CPU core 12 is low and the high load selection table ST2 corresponding to the case where the processing load of the second CPU core 12 is high. The second CPU core 12 selects the low load selection table ST1 or the high load selection table ST2 corresponding to the measured processing load of the second CPU core 12, and is based on the selected low load selection table ST1 or high load selection table ST2. , Change the core specification information. As a result, the ECU 1 can change the substitute core according to the processing load of the second CPU core 12, and can improve the control performance when an abnormality occurs.

またECU1は、車両に搭載されている。そして、ベクターテーブルVT1およびコア指定情報は、異常判断対象コアで異常が発生していないとエラー管理装置18が判断している場合において異常判断対象コアが点火プラグ61およびインジェクタ62を制御するように設定されている。これにより、ECU1は、異常判断対象コアで異常が発生した場合であっても、代行コアで点火プラグ61およびインジェクタ62の制御を継続することができる。 Further, the ECU 1 is mounted on the vehicle. Then, the vector table VT1 and the core designation information are such that the abnormality determination target core controls the spark plug 61 and the injector 62 when the error management device 18 determines that an abnormality has not occurred in the abnormality determination target core. It is set. As a result, the ECU 1 can continue to control the spark plug 61 and the injector 62 by the substitute core even when an abnormality occurs in the abnormality determination target core.

また、車両のエンジンに供給される空気量を調整するスロットルバルブは、スロットルバルブを駆動するスロットルモータ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 throttle motor 63 that drives the throttle valve is stopped. It is configured to have a certain preset opener opening degree.

ベクターテーブル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 second CPU core 12 when the preset high load condition indicating that the processing load of the CPU core 12 is high is not satisfied. Executes the control of the throttle motor 63, and when the high load condition is satisfied, the second CPU core 12 is set not to execute the control of the throttle motor 63. The high load condition of the present embodiment is that the processing load of the second CPU core 12 is the high load determination value J2 or more.

このため、第1CPUコア11で異常が発生することにより、第2CPUコア12が点火プラグ61およびインジェクタ62の制御を代行するとともにスロットルモータ63の制御しているときに、第2CPUコア12の処理負荷が高負荷判定値J2以上になると、第2CPUコア12はスロットルモータ63の制御を実行しなくなる。 Therefore, when an abnormality occurs in the first CPU core 11, the processing load of the second CPU core 12 is performed when the second CPU core 12 takes over the control of the spark plug 61 and the injector 62 and controls the throttle motor 63. When is equal to or higher than the high load determination value J2, the second CPU core 12 does not execute the control of the throttle motor 63.

第2CPUコア12がスロットルモータ63の制御を停止することにより、スロットルモータ63への通電が停止する。これにより、スロットルバルブの開度が、車両のリンプホーム走行が可能である予め設定されたオープナ開度となる。このため、ECU1は、第1CPUコア11の異常発生時の車両走行において必要最低限のエンジン出力を確保することが可能となる。その後に、第2CPUコア12の処理負荷が高負荷判定値J2未満となると、ECU1は、第2CPUコア12によるスロットルモータ63の制御を再開させるため、車両を通常の運転状態に復帰させることができる。 When the second CPU core 12 stops controlling the throttle motor 63, the energization of the throttle motor 63 is stopped. As a result, the opening degree of the throttle valve becomes a preset opener opening degree that enables the vehicle to run on the limp home. Therefore, the ECU 1 can secure the minimum necessary engine output when the vehicle runs when an abnormality occurs in the first CPU core 11. After that, when the processing load of the second CPU core 12 becomes less than the high load determination value J2, the ECU 1 restarts the control of the throttle motor 63 by the second CPU core 12, so that the vehicle can be returned to the normal operating state. ..

以上説明した実施形態において、ECU1は電子制御装置に相当し、ROM15はプログラム指定記憶部に相当し、要求制御レジスタ40はコア指定記憶部に相当し、割込コントローラ19は割込制御部に相当する。 In the embodiment described above, the ECU 1 corresponds to the electronic control device, the ROM 15 corresponds to the program designated storage unit, the request control register 40 corresponds to the core designated storage unit, and the interrupt controller 19 corresponds to the interrupt control unit. To do.

また、エラー管理装置18およびロックステップコンパレータ33は異常判断部に相当し、ROM15は代行記憶部に相当し、S210〜S260,S310〜S360は変更部としての処理に相当する。 Further, the error management device 18 and the lock step comparator 33 correspond to the abnormality determination unit, the ROM 15 corresponds to the proxy storage unit, and S210 to S260 and S310 to S360 correspond to the processing as the change unit.

また、ベクターテーブル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 ECU 1 of the second embodiment, the fourth CPU core 14 is omitted, the vector table is changed, the low load selection table and the high load selection table are changed, and error processing and table switching processing are performed. Is different from the first embodiment in that is changed.

具体的には、第2実施形態のECU1は、ベクターテーブルVT1の代わりにベクターテーブルVT2を備える点が第1実施形態と異なる。
ベクターテーブルVT2は、図9に示すように、複数の割込要因毎に、CPUコア11〜13が実行する制御プログラムを指定する。
Specifically, the ECU 1 of the second embodiment is different from the first embodiment in that it includes a vector table VT2 instead of the vector table VT1.
As shown in FIG. 9, the vector table VT2 specifies a control program executed by the CPU cores 11 to 13 for each of a plurality of interrupt factors.

本実施形態では、割込要因がクランク角信号の入力である場合には、第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 first CPU core 11 and the second CPU core 12. Further, when the interrupt factor is the input of the cam angle signal, the ignition / injection control program is specified for the first CPU core 11 and the second CPU core 12. When the interrupt factor is timer interrupt, an electronic throttle control program is specified for the second CPU core 12 and the third CPU core 13. When the interrupt factor is an external request interrupt, a program for executing synchronous processing with an external device for the first CPU core 11, the second CPU core 12, and the third CPU core 13 (hereinafter, External synchronization program) is specified.

なお、ロックステップエラーが発生していない通常時には、破線の長方形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 first CPU core 11 executes the ignition / injection control program and the external synchronization program, and the second CPU core 12 executes the electronic throttle control program.

また、第2実施形態のECU1は、低負荷選択テーブルST1および高負荷選択テーブルST2の代わりに低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13を備える点が第1実施形態と異なる。 Further, the ECU 1 of the second embodiment is provided with a low load selection table ST11, a first high load selection table ST12, and a second high load selection table ST13 instead of the low load selection table ST1 and the high load selection table ST2. 1 Different from the embodiment.

図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 second CPU core 12 is selected. Further, when the interrupt factor is the input of the cam angle signal, the second CPU core 12 is selected. If the interrupt factor is a timer interrupt, the second CPU core 12 is selected. If the interrupt factor is an external request interrupt, the second CPU core 12 is selected.

本実施形態の第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 second CPU core 12 is selected. Further, when the interrupt factor is the input of the cam angle signal, the second CPU core 12 is selected. If the interrupt factor is a timer interrupt, the third CPU core 13 is selected. If the interrupt factor is an external request interrupt, the third CPU core 13 is selected.

本実施形態の第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 second CPU core 12 is selected. Further, when the interrupt factor is the input of the cam angle signal, the second CPU core 12 is selected. If the interrupt factor is a timer interrupt, the third CPU core 13 is selected. Further, when the interrupt factor is an external request interrupt, the CPU core to be selected does not exist.

次に、第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 second CPU core 12 first has the value stored in the processing load CPU_Load of the second CPU core 12 in S510 and the third CPU core. Check with the value stored in the processing load CPU_Load of 13.

そして第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 second CPU core 12 determines in S520 whether or not the value stored in the processing load CPU_Load of the second CPU core 12 is less than the high load determination value J2.
Here, when the value stored in the processing load CPU_Load of the second CPU core 12 is less than the high load determination value J2, the second CPU core 12 refers to the low load selection table ST11 in S530 and refers to the low load selection table ST11. Move to S570. On the other hand, when the value stored in the processing load CPU_Load of the second CPU core 12 is the high load determination value J2 or more, the second CPU core 12 is stored in the processing load CPU_Load of the third CPU core 13 in S540. It is determined whether or not the value is less than the high load determination value J2.

ここで、第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 third CPU core 13 is less than the high load determination value J2, the second CPU core 12 refers to the first high load selection table ST12 in S550. Then, it shifts to S570. On the other hand, when the value stored in the processing load CPU_Load of the third CPU core 13 is the high load determination value J2 or more, the second CPU core 12 refers to the second high load selection table ST13 in S560. , S570.

そして、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 second CPU core 12 changes the request control register 40 of the interrupt controller 19.
Specifically, when the low load selection table ST11 is referred to, the second CPU core 12 sets at least the value of the interrupt factor field 40_2,40_3,40_4,40_5 to 0x001. As a result, the ignition / injection control program, the electronic throttle control program, and the external synchronization program are executed by the second CPU core 12.

また、第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 second CPU core 12 sets at least the value of the interrupt factor field 40_2,40_3 to 0x001, and sets the value of the interrupt factor field 40_4, 40_5 to 0x010. Set to. As a result, the ignition / injection control program is executed by the second CPU core 12, and the electronic throttle control program and the external synchronization program are executed by the third CPU core 13.

また、第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 third CPU core 13 sets at least the value of the interrupt factor field 40_2, 40_3 to 0x001 and the value of the interrupt factor field 40_4 to 0x010. Then, the value of the interrupt factor field 40_5 is set to 0x100. As a result, the ignition / injection control program is executed by the second CPU core 12, the electronic throttle control program is executed by the third CPU core 13, and the external synchronization program is not executed by any of the CPU cores 11 to 13.

そして第2CPUコア12は、S580にて、コア異常フラグF1をセットして、エラー処理を終了する。
次に、第2実施形態のテーブル切替処理の手順を説明する。
Then, the second CPU core 12 sets the core abnormality flag F1 in S580 and ends the error processing.
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 second CPU core 12 first determines in S610 whether or not the core abnormality flag F1 is set, as shown in FIG. Here, when the core abnormality flag F1 is cleared, the second CPU core 12 ends the table switching process.

一方、コア異常フラグ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 second CPU core 12 is stored in the processing load CPU_Load of the second CPU core 12 and the third CPU core 13 in S620 in the same manner as in S510. To confirm.

そして第2CPUコア12は、S630にて、S520と同様にして、第2CPUコア12の処理負荷CPU_Loadに格納されている値が高負荷判定値J2未満であるか否かを判断する。 Then, in S630, the second CPU core 12 determines whether or not the value stored in the processing load CPU_Load of the second CPU core 12 is less than the high load determination value J2 in the same manner as in S520.

ここで、第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 second CPU core 12 is less than the high load determination value J2, the second CPU core 12 sets the low load selection table in S640 in the same manner as in S530. With reference to ST11, the process proceeds to S680. On the other hand, when the value stored in the processing load CPU_Load of the second CPU core 12 is the high load determination value J2 or more, the second CPU core 12 is set in S650 in the same manner as in S540, in the same manner as in S540. It is determined whether or not the value stored in the processing load CPU_Load is less than the high load determination value J2.

ここで、第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 third CPU core 13 is less than the high load determination value J2, the second CPU core 12 has the first high load in S660 in the same manner as in S550. With reference to the selection table ST12, the process proceeds to S680. On the other hand, when the value stored in the processing load CPU_Load of the third CPU core 13 is the high load determination value J2 or more, the second CPU core 12 selects the second high load in S670 in the same manner as in S560. With reference to the table ST13, the process proceeds to S680.

そして、S680に移行すると、第2CPUコア12は、S570と同様にして、割込コントローラ19の要求制御レジスタ40を変更して、テーブル切替処理を終了する。
このように構成されたECU1は、CPUコア11〜13と、ROM15と、要求制御レジスタ40と、割込コントローラ19と、エラー管理装置18およびロックステップコンパレータ33とを備える。
Then, upon shifting to S680, the second CPU core 12 changes the request control register 40 of the interrupt controller 19 in the same manner as in S570, and ends the table switching process.
The ECU 1 configured in this way includes CPU cores 11 to 13, ROM 15, a request control register 40, an interrupt controller 19, an error management device 18, and a lock step comparator 33.

ROM15は、複数の割込要因毎に、CPUコア11〜13のそれぞれが実行するプログラムを指定するベクターテーブルVT2を記憶する。
要求制御レジスタ40は、複数の割込要因毎に、割込要因に起因して割り込みを発生させるCPUコア11〜13を指定するコア指定情報を割込要因フィールド40_1,40_2,40_3,40_4,40_5,・・・・,40_nに記憶するように構成される。
The ROM 15 stores a vector table VT2 that specifies a program to be executed by each of the CPU cores 11 to 13 for each of a plurality of interrupt factors.
The request control register 40 inputs core specification information that specifies CPU cores 11 to 13 that generate an interrupt due to the interrupt factor for each of a plurality of interrupt factors. Interrupt factor fields 40_1, 40_2, 40_3, 40_4, 40_5. , ..., It is configured to be stored in 40_n.

割込コントローラ19は、割込要因が発生すると、要求制御レジスタ40に記憶されているコア指定情報に基づいて、発生した割込要因に対応するCPUコア11〜13に対して割り込みを発生させる。 When an interrupt factor occurs, the interrupt controller 19 generates an interrupt to the CPU cores 11 to 13 corresponding to the generated interrupt factor based on the core designation information stored in the request control register 40.

エラー管理装置18およびロックステップコンパレータ33は、CPUコア11〜13のうち第1CPUコア11を異常判断対象コアとして、異常判断対象コアで異常が発生しているか否かを判断する。 The error management device 18 and the lock step comparator 33 determine whether or not an abnormality has occurred in the abnormality determination target core, using the first CPU core 11 of the CPU cores 11 to 13 as the abnormality determination target core.

ROM15は、代行コアを割込要因毎に指定する低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13を記憶する。
第2CPUコア12は、異常判断対象コアで異常が発生しているとエラー管理装置18が判断した場合に、ROM15に記憶されている低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13に基づいて、要求制御レジスタ40に記憶されているコア指定情報を変更する。
The ROM 15 stores a low load selection table ST11, a first high load selection table ST12, and a second high load selection table ST13 that specify a substitute core for each interrupt factor.
When the error management device 18 determines that an error has occurred in the core subject to abnormality determination, the second CPU core 12 has a low load selection table ST11, a first high load selection table ST12, and a second high load selection table ST12 stored in the ROM 15. The core designation information stored in the request control register 40 is changed based on the high load selection table ST13.

このようにECU1では、割込コントローラ19は、割込要因が発生すると、コア指定情報に基づいて、発生した割込要因に対応するCPUコア11〜13に対して割り込みを発生させる。これにより、ECU1では、割込要因に対応するCPUコア11〜13が、ベクターテーブルVT2に基づいて、割込要因に対応するプログラムを実行する。 As described above, in the ECU 1, when an interrupt factor occurs, the interrupt controller 19 generates an interrupt to the CPU cores 11 to 13 corresponding to the generated interrupt factor based on the core designation information. As a result, in the ECU 1, the CPU cores 11 to 13 corresponding to the interrupt factor execute the program corresponding to the interrupt factor based on the vector table VT2.

そしてECU1では、第2CPUコア12は、異常判断対象コアで異常が発生した場合に、低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13に基づいて、コア指定情報を変更する。これにより、ECU1は、異常判断対象コアで異常が発生した場合には、割込要因が発生したときに異常判断対象コアが実行していたプログラムを代行コアに実行させることができる。従って、ECU1は、異常判断対象コアで異常が発生した場合に、代行コアで、プログラムの実行を代行させることができる。 Then, in the ECU 1, when an abnormality occurs in the abnormality determination target core, the second CPU core 12 core designation information based on the low load selection table ST11, the first high load selection table ST12, and the second high load selection table ST13. To change. As a result, when an abnormality occurs in the abnormality determination target core, the ECU 1 can cause the substitute core to execute the program executed by the abnormality determination target core when the interrupt factor occurs. Therefore, when an abnormality occurs in the abnormality determination target core, the ECU 1 can execute the program on behalf of the substitute core.

そしてECU1は、異常判断対象コアで異常が発生した場合に代行コアを割込要因毎に指定する低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13を記憶している。このため、ECU1は、ECU1の運用状況に応じた低負荷選択テーブルST11、第1高負荷選択テーブルST12および第2高負荷選択テーブルST13を予め設定することにより、ECU1の運用状況に応じて、代行コアによる代行を適切に実行させることができる。これにより、ECU1は、異常発生時における制御性能を向上させることができる。 Then, the ECU 1 stores the low load selection table ST11, the first high load selection table ST12, and the second high load selection table ST13 that specify the substitute core for each interrupt factor when an abnormality occurs in the abnormality determination target core. There is. Therefore, the ECU 1 substitutes the low load selection table ST11, the first high load selection table ST12, and the second high load selection table ST13 according to the operation status of the ECU 1 according to the operation status of the ECU 1 by setting in advance. It is possible to properly execute the agency by the core. As a result, the ECU 1 can improve the control performance when an abnormality occurs.

また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 CPU cores 12 and 13 measure the processing load of the CPU cores 12 and 13, respectively. The ROM 15 has a low load selection table ST11 corresponding to a case where the processing load of the second CPU core 12 is low, and a first high corresponding to a case where the processing load of the second CPU core 12 is high and the processing load of the third CPU core 13 is low. The load selection table ST12 and the second high load selection table ST13 corresponding to the case where the processing load of the second CPU core 12 is high and the processing load of the third CPU core 13 is high are stored. The second CPU core 12 selects and selects the low load selection table ST11, the first high load selection table ST12, or the second high load selection table ST13 corresponding to the measured processing loads of the second CPU core 12 and the third CPU core 13. The core designation information is changed based on the low load selection table ST11, the first high load selection table ST12, or the second high load selection table ST13. As a result, the ECU 1 can change the substitute core according to the processing load of the second CPU core 12 and the third CPU core 13, and can improve the control performance when an abnormality occurs.

以上説明した実施形態において、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 first CPU core 11 is shown, but the number of abnormality determination target cores may be a plurality.

本開示に記載のECU1およびその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載のECU1およびその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載のECU1およびその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。ECU1に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。 The ECU 1 and its method described in the present disclosure are realized by a dedicated computer provided by configuring a processor and memory programmed to perform one or more functions embodied by a computer program. You may. Alternatively, the ECU 1 and its method described in the present disclosure may be realized by a dedicated computer provided by configuring the processor with one or more dedicated hardware logic circuits. Alternatively, the ECU 1 and its method described in the present disclosure are configured by a combination of a processor and memory programmed to perform one or more functions and a processor composed of one or more hardware logic circuits. It may be realized by one or more dedicated computers. The computer program may also be stored on a computer-readable non-transitional tangible recording medium as an instruction executed by the computer. The method for realizing the functions of each part included in the ECU 1 does not necessarily include software, and all the functions may be realized by using one or a plurality of hardware.

上記実施形態における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 ECU 1, various systems such as a system having the ECU 1 as a component, a program for operating a computer as the ECU 1, a non-transitional substantive recording medium such as a semiconductor memory in which this program is recorded, and a device control method are used. The present disclosure can also be realized in the form.

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コア(11,12,13,14)と、
複数の割込要因毎に、複数の前記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).
請求項1に記載の電子制御装置であって、
前記代行コアの処理負荷を計測するように構成された負荷計測部(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.
請求項1または請求項2に記載の電子制御装置であって、
前記電子制御装置は、車両に搭載され、
前記プログラム指定情報および前記コア指定情報は、前記異常判断対象コアで異常が発生していないと前記異常判断部が判断している場合において前記異常判断対象コアが前記車両のエンジンを制御するように設定されている電子制御装置。
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.
請求項1〜請求項3の何れか1項に記載の電子制御装置であって、
前記電子制御装置は、車両に搭載され、
前記車両のエンジンに供給される空気量を調整するスロットルバルブは、前記スロットルバルブを駆動するスロットルモータ(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.
JP2019168429A 2019-09-17 2019-09-17 electronic controller Active JP7334552B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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