JP5978873B2 - Electronic control unit - Google Patents

Electronic control unit Download PDF

Info

Publication number
JP5978873B2
JP5978873B2 JP2012200506A JP2012200506A JP5978873B2 JP 5978873 B2 JP5978873 B2 JP 5978873B2 JP 2012200506 A JP2012200506 A JP 2012200506A JP 2012200506 A JP2012200506 A JP 2012200506A JP 5978873 B2 JP5978873 B2 JP 5978873B2
Authority
JP
Japan
Prior art keywords
step mode
memory
lock step
processor cores
electronic control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012200506A
Other languages
Japanese (ja)
Other versions
JP2014056396A (en
Inventor
瑛介 西野
瑛介 西野
好典 伴
好典 伴
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 JP2012200506A priority Critical patent/JP5978873B2/en
Publication of JP2014056396A publication Critical patent/JP2014056396A/en
Application granted granted Critical
Publication of JP5978873B2 publication Critical patent/JP5978873B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、複数のプロセッサコアの実行モードをロックステップモードと非ロックステップモードとに交互に切り替える電子制御装置に関する。   The present invention relates to an electronic control unit that switches execution modes of a plurality of processor cores alternately between a lock step mode and a non-lock step mode.

電子制御装置が複数のプロセッサコアを備えている場合、複数のプロセッサコアに同じプログラムを実行させて実行結果を比較することにより、複数のプロセッサコアが正常に同じプログラムを実行しているか否かを判定するロックステップモードを採用することが知られている(例えば、特許文献1参照。)。   If the electronic control unit has a plurality of processor cores, the plurality of processor cores can execute the same program and compare execution results to determine whether the plurality of processor cores are normally executing the same program. It is known to employ a lock step mode for determination (see, for example, Patent Document 1).

例えば自動車分野においては、車両制御の安全性を確保する要求が高いので、車両制御を実行する電子制御装置の作動を監視し、電子制御装置の故障を検出すると速やかにフェイルセーフ処理を実行することが要求される。そのため、複数のプロセッサコアを備えている電子制御装置に対して、ロックステップモードが採用される。   For example, in the automobile field, there is a high demand for ensuring the safety of vehicle control. Therefore, the operation of an electronic control device that performs vehicle control is monitored, and when a failure of the electronic control device is detected, fail-safe processing is executed immediately. Is required. For this reason, the lockstep mode is adopted for an electronic control device having a plurality of processor cores.

ロックステップモードよりも安全性の要求が低いプログラムを実行する場合には、各プロセッサコアが異なるプログラムを実行する非ロックステップモードに実行モードを切り替え、各プロセッサコアで異なるプログラムを実行することが考えられる。   When executing a program that requires less safety than the lock step mode, it is possible to switch the execution mode to the non-lock step mode in which each processor core executes a different program and execute a different program in each processor core. It is done.

特開2006−302289号公報JP 2006-302289 A

複数のプロセッサコアが正常に同じプログラムを実行しているか否かを判定する以外に、ROMおよびRAM等のメモリの異常を検出するメモリチェックを実行することも重要である。従来、メモリチェックは、例えば通常処理を妨げないように処理負荷の低いときに実行されていた。   In addition to determining whether or not a plurality of processor cores are normally executing the same program, it is also important to execute a memory check that detects an abnormality in a memory such as a ROM and a RAM. Conventionally, the memory check has been executed when the processing load is low so as not to disturb normal processing, for example.

しかしながら、メモリチェックを処理負荷の低いときに実行する方式では、処理負荷の高い状態が続くとメモリチェックの実行機会が低下し、所定時間内にメモリチェックを終了できないおそれがある。   However, in the method of executing the memory check when the processing load is low, if the processing load remains high, the execution opportunity of the memory check decreases, and the memory check may not be completed within a predetermined time.

本発明は上記課題を解決するためになされたものであり、複数のプロセッサコアが正常に同じプログラムを実行しているか否かを判定するとともに、メモリチェックの実行機会を確保する電子制御装置を提供することを目的とする。   The present invention has been made to solve the above-described problems, and provides an electronic control device that determines whether or not a plurality of processor cores are normally executing the same program, and ensures an opportunity to execute a memory check. The purpose is to do.

本発明の電子制御装置によると、ロックステップモード時ではなく非ロックステップモード時にメモリチェックを実行するので、ロックステップモードにおける処理負荷を低減できる。   According to the electronic control device of the present invention, since the memory check is executed not in the lock step mode but in the non-lock step mode, the processing load in the lock step mode can be reduced.

また、ロックステップモードと非ロックステップモードとが交互に切り替えて実行されるので、処理負荷の高低に関わらず非ロックステップモードにおいてメモリチェックが実行される。これにより、メモリチェックの実行機会を確保できる。   Further, since the lock step mode and the non-lock step mode are alternately switched and executed, the memory check is executed in the non-lock step mode regardless of the processing load. As a result, an opportunity to execute a memory check can be secured.

尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、またはそれらの組合せにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。   The functions of the plurality of means provided in the present invention are realized by hardware resources whose functions are specified by the configuration itself, hardware resources whose functions are specified by a program, or a combination thereof. The functions of the plurality of means are not limited to those realized by hardware resources that are physically independent of each other.

本発明の第1実施形態による電子制御装置を示すブロック図。The block diagram which shows the electronic control apparatus by 1st Embodiment of this invention. メモリのデータ構造図。The data structure figure of memory. デュアルコアによる実行モードの推移を示す図。The figure which shows transition of the execution mode by a dual core. ロックステップモード時の処理を示すフローチャート。The flowchart which shows the process at the time of lock step mode. 非ロックステップモード時の処理を示すフローチャート。The flowchart which shows the process at the time of non-locking step mode. 本発明の第2実施形態による電子制御装置を示すブロック図。The block diagram which shows the electronic control apparatus by 2nd Embodiment of this invention.

以下、本発明の実施形態を図に基づいて説明する。
[第1実施形態]
図1に示すマイクロコンピュータ(以下、「マイコン」とも言う。)2は、例えば車両に搭載されており、エンジン制御を実行する電子制御装置である。マイコン2は、2個のプロセッサコア(以下、単に「コア」とも言う。)10、12を備えるデュアルコアマイコンである。マイコン2は、コア10、12、RAM20、ROM22、切替装置30および比較回路40を備えている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
A microcomputer (hereinafter also referred to as “microcomputer”) 2 illustrated in FIG. 1 is an electronic control device that is mounted on, for example, a vehicle and executes engine control. The microcomputer 2 is a dual-core microcomputer including two processor cores (hereinafter also simply referred to as “cores”) 10 and 12. The microcomputer 2 includes cores 10 and 12, a RAM 20, a ROM 22, a switching device 30 and a comparison circuit 40.

コア10、12は、ROM22に記憶されている制御プログラムに基づいてエンジン制御を実行する。また、コア12は、ROM22に記憶されているチェックプログラムに基づいてRAM20およびROM22に対してメモリチェックを実行する。   The cores 10 and 12 execute engine control based on a control program stored in the ROM 22. In addition, the core 12 performs a memory check on the RAM 20 and the ROM 22 based on a check program stored in the ROM 22.

切替装置30は、ロックステップモード時においてはコア10、12からの切替通知により、非ロックステップモード時においてはコア10からの切替通知により、コア10、12に対して実行モードを切り替えるよう指令する。ロックステップモードおよび非ロックステップモードについては後述する。   The switching device 30 instructs the cores 10 and 12 to switch the execution mode by a switching notification from the cores 10 and 12 in the lock step mode and by a switching notification from the core 10 in the non-lock step mode. . The lock step mode and the non-lock step mode will be described later.

比較回路40は、RAM出力比較部42、RAM入力比較部44、ROM入力比較部46から構成されている。ロックステップモード時において、RAM出力比較部42は、コア10、12がRAM20に書き込むデータを比較し、RAM入力比較部44は、コア10、12がRAM20から読み出すデータを比較し、ROM入力比較部46は、コア10、12がROM22から読み出すデータを比較する。比較回路40は、各データの比較結果を出力する。   The comparison circuit 40 includes a RAM output comparison unit 42, a RAM input comparison unit 44, and a ROM input comparison unit 46. In the lock step mode, the RAM output comparison unit 42 compares the data that the cores 10 and 12 write to the RAM 20, the RAM input comparison unit 44 compares the data that the cores 10 and 12 read from the RAM 20, and the ROM input comparison unit. 46 compares data read from the ROM 22 by the cores 10 and 12. The comparison circuit 40 outputs a comparison result of each data.

比較回路40が出力する比較結果信号は、コア10からの制御信号により、ロックステップモード時に有効になり、非ロックステップモード時に無効になる。比較回路40の比較結果信号が有効になりオンになると、コア10、12に対する割り込み信号になる。   The comparison result signal output from the comparison circuit 40 is validated in the lock step mode and invalid in the non-lock step mode by the control signal from the core 10. When the comparison result signal of the comparison circuit 40 is validated and turned on, it becomes an interrupt signal for the cores 10 and 12.

(データ構造)
本実施形態では、RAM20およびROM22のデータ構造を図2に示すように設定している。RAM20およびROM22のデータは、安全性の要求の高いロックステップモードで使用される安全機能データと、安全機能データのミラーデータと、ロックステップモードよりも安全性の要求の低い非ロックステップモードで使用される非安全機能データとに記憶領域を分割して記憶される。図2に示す記憶領域の境界アドレスは一例として表わしたものであり、RAM20およびROM22において適宜設定される。
(data structure)
In this embodiment, the data structures of the RAM 20 and ROM 22 are set as shown in FIG. The data in the RAM 20 and ROM 22 is used in the safety function data used in the lock step mode with high safety requirement, the mirror data of the safety function data, and the non-lock step mode in which the safety requirement is lower than the lock step mode. The storage area is divided into non-safety function data to be stored. The boundary address of the storage area shown in FIG. 2 is shown as an example, and is appropriately set in the RAM 20 and the ROM 22.

ミラーデータは、安全機能データのビットを反転したデータである。RAM20に安全機能データを書き込むときには、書き込むデータのビットを反転してミラーデータの領域にデータを書き込む。   The mirror data is data obtained by inverting the bits of the safety function data. When the safety function data is written in the RAM 20, the bit of the data to be written is inverted and the data is written in the mirror data area.

尚、非安全機能データは安全機能データよりも安全性の要求が低いだけで、安全性を要求されていないわけではない。同様に、非ロックステップモード時に実行される非安全機能プログラムはロックステップモード時に実行される安全機能プログラムよりも安全性の要求が低いだけで、安全性を要求されていないわけではない。   Note that non-safety function data has a lower safety requirement than safety function data, and does not mean that safety is not required. Similarly, the non-safety function program executed in the non-lock step mode has a lower safety requirement than the safety function program executed in the lock step mode, and does not mean that safety is not required.

(実行モード)
コア10、12の実行モードは、前述したように、切替装置30によりロックステップモードまたは非ロックステップモードに切り替えられる。
(Execution mode)
The execution mode of the cores 10 and 12 is switched to the lock step mode or the non-lock step mode by the switching device 30 as described above.

ロックステップモードは、例えばインジェクタの噴射制御、スロットル開度制御、トランスミッション制御のように安全性の要求が高い安全機能プログラムを実行するときに選択され、非ロックステップモードは、ロックステップモードで実行される安全機能プログラムよりも安全性の要求が低い非安全機能プログラムを実行するときに選択される。つまり、コア10、12の実行モードは、エンジン制御の流れにより切り替わる。   The lock step mode is selected when executing a safety function program with high safety requirements such as injector injection control, throttle opening control, and transmission control, and the non-lock step mode is executed in the lock step mode. This is selected when executing a non-safety function program having a lower safety requirement than the safety function program. That is, the execution modes of the cores 10 and 12 are switched according to the flow of engine control.

図3では、処理(1)、(2)、(4)、(5)、(7)でロックステップモードが選択され、処理(3)、(6)で非ロックステップモードが選択されている。
ロックステップモードでは、コア10、12は同じ安全機能プログラムを同期して実行する。一方、非ロックステップモードでは、コア10は非安全機能プログラムを実行し、コア12はRAM20、ROM22に対してメモリチェックを実行する。
In FIG. 3, the lock step mode is selected in the processes (1), (2), (4), (5), and (7), and the non-lock step mode is selected in the processes (3) and (6). .
In the lockstep mode, the cores 10 and 12 execute the same safety function program synchronously. On the other hand, in the non-lock step mode, the core 10 executes a non-safety function program, and the core 12 performs a memory check on the RAM 20 and the ROM 22.

コア10は、非ロックステップモードにおいて非安全機能プログラムの実行を終了すると、切替装置30に非安全機能プログラムの終了を通知する。すると、切替装置30は、コア12にメモリチェックの実行を終了するように指令する。このとき、コア12がメモリチェックを実行中であれば、コア12は、次の非ロックステップモードでメモリチェックを再開するアドレスをRAM20に記憶する。これにより、次回のメモリチェックの実行開始時に再開アドレスを読み出せば、コア12は、メモリチェックを中断した状態から再開することができる。   When the core 10 finishes executing the non-safety function program in the non-lock step mode, the core 10 notifies the switching device 30 of the end of the non-safety function program. Then, the switching device 30 instructs the core 12 to finish executing the memory check. At this time, if the core 12 is executing the memory check, the core 12 stores the address at which the memory check is resumed in the RAM 20 in the next non-lock step mode. As a result, the core 12 can resume from the state where the memory check is interrupted if the resume address is read at the start of execution of the next memory check.

例えば、図2に示すデータ構造に対し、図3に示す非ロックステップモードの処理(3)において、0x4320までコア12によるメモリチェックが終了した時点で切替装置30からメモリチェックの終了を指令されると、コア12は、次にメモリチェックを再開するアドレスとして0x4321をRAM20に記憶する。   For example, for the data structure shown in FIG. 2, when the memory check by the core 12 is completed up to 0x4320 in the process (3) in the non-lock step mode shown in FIG. Then, the core 12 stores 0x4321 in the RAM 20 as an address for restarting the memory check next time.

切替装置30は、コア12からメモリチェックの再開アドレスをRAM20に記憶したことを通知されると、コア10、12にロックステップモードの実行を指令する。
そして、コア10、12の両方からロックステップモードの処理(5)において安全機能プログラムの実行を終了したことを通知されると、切替装置30は、ロックステップモードから非ロックステップモードへの切替をコア10、12に指令する。
When the switching device 30 is notified from the core 12 that the memory check restart address has been stored in the RAM 20, the switching device 30 instructs the cores 10 and 12 to execute the lockstep mode.
When both the cores 10 and 12 are notified that the execution of the safety function program has been completed in the lock step mode process (5), the switching device 30 switches from the lock step mode to the non-lock step mode. Commands the cores 10 and 12.

コア12は、非ロックステップモードの処理(6)の開始時にRAM20からメモリチェックの再開アドレスとして0x4321を読み出すことにより、非ロックステップモードの処理(3)でメモリチェックを中断した状態から再開することができる。   The core 12 reads 0x4321 as the memory check restart address from the RAM 20 at the start of the non-lock step mode process (6), thereby restarting from the state where the memory check is suspended in the non-lock step mode process (3). Can do.

次に、ロックステップモード時および非ロックステップモード時の処理について説明する。図4および図5において「S」はステップを表わしている。
(ロックステップモード処理)
図4のS400において、切替装置30がロックステップモードの実行を指令すると、コア10は比較回路40の比較結果信号を有効にする。そして、コア10、12は、ロックステップモード処理として、前述した噴射制御、スロットル開度制御、トランスミッション制御のように安全性の要求が高い制御について同じ安全機能プログラムを同期して実行する(S402)。
Next, processing in the lock step mode and the non-lock step mode will be described. 4 and 5, “S” represents a step.
(Lockstep mode processing)
In S400 of FIG. 4, when the switching device 30 instructs execution of the lock step mode, the core 10 validates the comparison result signal of the comparison circuit 40. Then, the cores 10 and 12 synchronously execute the same safety function program for the control with high safety demand such as the above-described injection control, throttle opening control, and transmission control as the lock step mode processing (S402). .

比較回路40は、RAM20からコア10、12への入力データ、コア10、12からRAM20への出力データ、ROM22からコア10、12への入力データをそれぞれ比較する(S500)。いずれかの比較結果が不一致であれば(S502:Yes)、比較回路40はコア10、12に対して比較結果の不一致を示す割り込み信号を出力する(S504)。   The comparison circuit 40 compares the input data from the RAM 20 to the cores 10 and 12, the output data from the cores 10 and 12 to the RAM 20, and the input data from the ROM 22 to the cores 10 and 12 (S500). If any comparison result does not match (S502: Yes), the comparison circuit 40 outputs an interrupt signal indicating the comparison result mismatch to the cores 10 and 12 (S504).

コア10、12は比較回路40が比較結果の不一致を示す割り込み信号を出力すると、マイコン2の停止等のフェイルセーフ処理を実行する(S404)。
(非ロックステップモード処理)
図5のS410において、切替装置30が非ロックステップモードの実行を指令すると、コア10は比較回路40の比較結果信号を無効にする。そして、コア10は、非ロックステップモード処理として、ロックステップモード時よりも安全性に対する要求の低い非安全機能プログラムを実行し、コア12はRAM20、ROM22に対してメモリチェックを実行する(S412)。
When the comparison circuit 40 outputs an interrupt signal indicating that the comparison results do not match, the cores 10 and 12 execute fail-safe processing such as stopping the microcomputer 2 (S404).
(Non-lock step mode processing)
In S410 of FIG. 5, when the switching device 30 instructs execution of the non-lock step mode, the core 10 invalidates the comparison result signal of the comparison circuit 40. Then, the core 10 executes a non-safety function program that requires less safety than that in the lock step mode as the non-lock step mode process, and the core 12 performs a memory check on the RAM 20 and the ROM 22 (S412). .

RAM20、ROM22に対するメモリチェックは、安全機能データと安全機能データをビット反転したミラーデータとの排他的論理和を演算し、演算結果データのビットがすべて1であれば正常、1ビットでも0であれば異常と判定する。   The memory check for the RAM 20 and the ROM 22 is performed by calculating an exclusive OR of the safety function data and the mirror data obtained by bit-inversion of the safety function data. If all the bits of the operation result data are 1, normal or even 1 bit is 0. Is determined to be abnormal.

コア12によるメモリチェック時に異常が発生すると(S414:Yes)、コア12はマイコン2の停止等のフェイルセーフ処理を実行する(S416)。
すべてのメモリチェックに異常がない場合(S414:No)、コア10による非ロックステップモード処理が実行中であれば、コア12はメモリチェックを最初から繰り返す。このように、メモリチェックを繰り返すことにより、RAM20およびROM22の最新の状態をチェックできる。
If an abnormality occurs during the memory check by the core 12 (S414: Yes), the core 12 executes fail-safe processing such as stopping the microcomputer 2 (S416).
If there is no abnormality in all the memory checks (S414: No), the core 12 repeats the memory check from the beginning if the non-lock step mode process by the core 10 is being executed. As described above, the latest state of the RAM 20 and the ROM 22 can be checked by repeating the memory check.

一方、コア12によるメモリチェック結果に異常がない状態でコア10の非安全機能プログラムの実行が終了し、次の非安全機能プログラムの実行要求がある場合、コア10は次の非安全機能プログラムを実行する。   On the other hand, when the execution of the non-safety function program of the core 10 is finished in a state where there is no abnormality in the memory check result by the core 12 and there is a request for execution of the next non-safety function program, the core 10 Run.

尚、コア12がメモリチェックを最初から開始する場合、メモリチェックの再開アドレスを記憶するRAM20の領域からメモリチェックを実行することが望ましい。これにより、メモリチェック中に非ロックステップモードからロックステップモードに実行モードが切り替わるときに、正常なRAM20の記憶領域にメモリチェックの再開アドレスを記憶できる。   When the core 12 starts the memory check from the beginning, it is desirable to execute the memory check from the area of the RAM 20 that stores the memory check restart address. Thus, when the execution mode is switched from the non-lock step mode to the lock step mode during the memory check, the memory check resume address can be stored in the normal storage area of the RAM 20.

[第2実施形態]
図6に示す第2実施形態のマイコン4は、コア12が実行するメモリチェック用のプログラムが記憶されているROM24を、他のプログラムが記憶されているROM22と別に設置している点が図1に示すマイコン2と異なっている。マイコン4のその他の構成はマイコン2と実質的に同一である。
[Second Embodiment]
The microcomputer 4 of the second embodiment shown in FIG. 6 has a ROM 24 storing a memory check program executed by the core 12 separately from the ROM 22 storing other programs. The microcomputer 2 shown in FIG. Other configurations of the microcomputer 4 are substantially the same as those of the microcomputer 2.

非ロックステップモードにおいてコア12は、ROM24をメモリチェックの対象とはせず、ROM24に記憶されているプログラムによりRAM20、ROM22のメモリチェックを実行する。これにより、ROM24が正常であれば、RAM20、ROM22に対するメモリチェックを正常に実行できる。   In the non-lock step mode, the core 12 does not set the ROM 24 as a memory check target, and executes the memory check of the RAM 20 and the ROM 22 by a program stored in the ROM 24. Thereby, if the ROM 24 is normal, the memory check for the RAM 20 and the ROM 22 can be executed normally.

以上説明した上記実施形態では、ロックステップモードにおいて、コア10、12が同じ安全機能プログラムを同期して実行し、比較回路40がコア10、12の入出力データを比較することにより、2個のコア10、12が正常に作動しているか否かを判定できる。   In the above-described embodiment, in the lock step mode, the cores 10 and 12 execute the same safety function program synchronously, and the comparison circuit 40 compares the input / output data of the cores 10 and 12, thereby providing two It can be determined whether or not the cores 10 and 12 are operating normally.

一方、非ロックステップモードにおいては、コア10は非安全機能プログラムを実行し、コア12はメモリチェックを実行する。ロックステップモードと非ロックステップモードとは交互に実行されるので、処理負荷の高低に関わらずメモリチェックの実行機会を確保できる。   On the other hand, in the non-lock step mode, the core 10 executes a non-safety function program, and the core 12 executes a memory check. Since the lock step mode and the non-lock step mode are executed alternately, an opportunity to execute a memory check can be ensured regardless of the processing load.

[他の実施形態]
上記実施形態ではデュアルコアマイコンを例にして説明したが、電子制御装置が備えるプロセッサコアの数は3個以上でもよい。この場合、ロックステップモードにおける処理異常の判定は、3個以上のプロセッサコアの出力結果の多数決をとり、少数派となったプロセッサコアを異常と判定することが考えられる。
[Other Embodiments]
In the above embodiment, the dual core microcomputer has been described as an example, but the number of processor cores provided in the electronic control device may be three or more. In this case, it is conceivable that the determination of processing abnormality in the lockstep mode takes the majority of the output results of three or more processor cores and determines that the processor core that has become a minority is abnormal.

また、3個以上のプロセッサコアを備える場合、非ロックステップモードにおいて、複数のプロセッサコアによりメモリチェックの対象領域を分けて並列にメモリチェックを実行してもよい。並列にメモリチェックを実行することにより、メモリチェックを完了するために要する時間を短縮できる。   When three or more processor cores are provided, the memory check may be executed in parallel by dividing the target area of the memory check by a plurality of processor cores in the non-lock step mode. By executing the memory check in parallel, the time required to complete the memory check can be shortened.

上記実施形態では、安全機能データをビット反転したミラーデータをチェック用データとして使用しメモリチェックを実行した。これ以外にも、安全機能データをコピーしたデータをチェック用データとするか、安全機能データに対してCRCデータ、チェックサムを使用してメモリチェックを実行してもよい。CRCデータ、チェックサムを使用すれば、安全機能データと同じ、またはビット反転したチェック用データを使用するよりもメモリ容量を低減できる。   In the above embodiment, the memory check is performed using mirror data obtained by bit-inversion of the safety function data as check data. In addition to this, data obtained by copying the safety function data may be used as check data, or memory check may be performed on the safety function data using CRC data and checksum. If CRC data and checksum are used, the memory capacity can be reduced as compared with the use of check data that is the same as the safety function data or bit-inverted.

本発明の電子制御装置は、車両に搭載される電子制御装置に限らず、複数のプロセッサコアを備え、プログラムに要求される安全性に応じてロックステップモードと非ロックステップモードとを切り替えるのであれば、どのような用途に使用される電子制御装置に適用してもよい。   The electronic control device of the present invention is not limited to an electronic control device mounted on a vehicle, and includes a plurality of processor cores, and switches between a lock step mode and a non-lock step mode according to the safety required for the program. For example, the present invention may be applied to an electronic control device used for any purpose.

このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。   As described above, the present invention is not limited to the above-described embodiment, and can be applied to various embodiments without departing from the gist thereof.

2、4:ECU(電子制御装置、切替手段、判定手段)、10、12:プロセッサコア、20:RAM(メモリ)、22、24:ROM(メモリ)、30:切替装置(切替手段)、40:比較回路(判定手段) 2, 4: ECU (electronic control device, switching means, determination means) 10, 12: processor core, 20: RAM (memory), 22, 24: ROM (memory), 30: switching device (switching means), 40 : Comparison circuit (determination means)

Claims (7)

複数のプロセッサコア(10、12)と、
前記複数のプロセッサコアが実行するプログラム、ならびに前記プログラムが使用するデータが記憶されるメモリ(20、22)と、
前記複数のプロセッサコアが同じプログラムを実行するロックステップモードと、前記複数のプロセッサコアの一部(10)が前記ロックステップモード時よりも安全性に対する要求の低いプログラムを実行するとともに、前記複数のプロセッサコアが共通に使用する前記メモリの少なくとも一部に対して残りのプロセッサコア(12)がメモリチェックを実行する非ロックステップモードとを交互に切り替える切替手段(30)と、
前記ロックステップモード時に前記複数のプロセッサコアが正常に同じプログラムを実行しているか否かを判定する判定手段(40)と、
を備えることを特徴とする電子制御装置。
A plurality of processor cores (10, 12);
A memory (20, 22) in which a program executed by the plurality of processor cores and data used by the program are stored;
A lock step mode in which the plurality of processor cores execute the same program; a part (10) of the plurality of processor cores executes a program having a lower requirement for safety than in the lock step mode ; Switching means (30) for alternately switching between a non-locking step mode in which the remaining processor cores (12) execute a memory check for at least a part of the memory commonly used by the processor cores ;
Determination means (40) for determining whether or not the plurality of processor cores are normally executing the same program in the lockstep mode;
An electronic control device comprising:
前記ロックステップモード時に使用するデータと同じ、またはビット反転したチェック用データが前記メモリに記憶されており、
前記非ロックステップモード時において、前記残りのプロセッサコアは前記チェック用データを使用して前記メモリチェックを実行する、
ことを特徴とする請求項1に記載の電子制御装置。
The check data that is the same as the data used in the lock step mode or bit-inverted is stored in the memory,
In the non-lock step mode, the remaining processor cores execute the memory check using the check data.
The electronic control device according to claim 1.
前記ロックステップモード時に使用するデータの誤り検出符号としてCRCデータが生成されて前記メモリに記憶されており、
前記非ロックステップモード時において、前記残りのプロセッサコアは前記CRCデータを使用して前記メモリチェックを実行する、
ことを特徴とする請求項1に記載の電子制御装置。
CRC data is generated and stored in the memory as an error detection code for data used in the lockstep mode,
In the non-lock step mode, the remaining processor cores perform the memory check using the CRC data.
The electronic control device according to claim 1.
前記メモリ(20、22、24)のうち、前記メモリチェックの対象となる不揮発性メモリ(22)とは異なる不揮発性メモリ(24)に前記メモリチェックを実行するプログラムが記憶されていることを特徴とする請求項1から3のいずれか一項に記載の電子制御装置。 Of the memories (20, 22, 24), a program for executing the memory check is stored in a nonvolatile memory (24) different from the nonvolatile memory (22) to be subjected to the memory check. The electronic control device according to any one of claims 1 to 3 . 前記非ロックステップモード時において、前記残りのプロセッサコアは繰り返し前記メモリチェックを実行することを特徴とする請求項1から4のいずれか一項に記載の電子制御装置。 5. The electronic control device according to claim 1 , wherein the remaining processor core repeatedly executes the memory check in the non-lock step mode. 6. 前記切替手段は、前記非ロックステップモード時において、前記一部のプロセッサコアが実行するプログラムが前記残りのプロセッサコアが実行する前記メモリチェックよりも先に終了すると、次回の前記非ロックステップモード時に前記メモリチェックを再開するための再開情報を前記残りのプロセッサコアがメモリ(20)に記憶した後、前記ロックステップモードに切り替えることを特徴とする請求項1から5のいずれか一項に記載の電子制御装置。 In the non-lock step mode, when the program executed by some of the processor cores ends before the memory check executed by the remaining processor cores in the non-lock step mode, 6. The switch according to claim 1 , wherein after the remaining processor core stores the resumption information for resuming the memory check in the memory, the lock step mode is switched. Electronic control device. 前記残りのプロセッサコアは、前記再開情報が記憶される前記メモリの記憶領域に対して前記メモリチェックを最初に実行することを特徴とする請求項6に記載の電子制御装置
The electronic control device according to claim 6 , wherein the remaining processor cores first execute the memory check on a storage area of the memory in which the resume information is stored.
JP2012200506A 2012-09-12 2012-09-12 Electronic control unit Active JP5978873B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012200506A JP5978873B2 (en) 2012-09-12 2012-09-12 Electronic control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012200506A JP5978873B2 (en) 2012-09-12 2012-09-12 Electronic control unit

Publications (2)

Publication Number Publication Date
JP2014056396A JP2014056396A (en) 2014-03-27
JP5978873B2 true JP5978873B2 (en) 2016-08-24

Family

ID=50613658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012200506A Active JP5978873B2 (en) 2012-09-12 2012-09-12 Electronic control unit

Country Status (1)

Country Link
JP (1) JP5978873B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733125B2 (en) 2017-03-28 2020-08-04 Denso Corporation Microcomputer

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7042709B2 (en) 2018-06-28 2022-03-28 ルネサスエレクトロニクス株式会社 Semiconductor devices, control systems and control methods for semiconductor devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3370387B2 (en) * 1993-06-29 2003-01-27 富士通テン株式会社 Abnormality countermeasure method in a multi-CPU vehicle control computer system
JPH11120154A (en) * 1997-10-20 1999-04-30 Fujitsu Ltd Device and method for access control in computer system
JP2002317687A (en) * 2001-04-24 2002-10-31 Denso Corp Microcomputer
DE102005055067A1 (en) * 2005-11-18 2007-05-24 Robert Bosch Gmbh Device and method for correcting errors in a system having at least two execution units with registers
JP5504604B2 (en) * 2008-10-16 2014-05-28 富士電機株式会社 RAM diagnostic device
JP5344936B2 (en) * 2009-01-07 2013-11-20 株式会社日立製作所 Control device
JP2010186242A (en) * 2009-02-10 2010-08-26 Mitsubishi Electric Corp Computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733125B2 (en) 2017-03-28 2020-08-04 Denso Corporation Microcomputer

Also Published As

Publication number Publication date
JP2014056396A (en) 2014-03-27

Similar Documents

Publication Publication Date Title
WO2017022476A1 (en) Vehicle control device
JP2010113388A (en) Multi-core microcontroller having comparator for collating processing result
JP6393628B2 (en) Vehicle control device
JP2009541636A (en) Method and apparatus for monitoring the function of an engine controller of an internal combustion engine
JP5978873B2 (en) Electronic control unit
JP2016081341A (en) Electronic control device
JP5423473B2 (en) Fault tolerant device, its control module, program
JP2006259935A (en) Computation device with computation abnormality determination function
JP5226653B2 (en) In-vehicle control device
CN107423029B (en) Calculation unit
JP6183251B2 (en) Electronic control unit
JP6094387B2 (en) Control device
US20180068501A1 (en) Multiprocessor system and vehicle control system
JP2008003940A (en) Protection control device, protection control method, and protection control program
JP2007018207A (en) Data processor, electronic control unit, and automobile
JP2018112977A (en) Microcomputer
JP2013061783A (en) Multi-core processor
JP2012174198A (en) Abnormality detection device and abnormality detection program
JP6624005B2 (en) Mutual monitoring system
JP6660902B2 (en) Automotive electronic control unit
JP4639920B2 (en) Electronic control unit
WO2017002939A1 (en) Electronic control device and stack usage method
JP2020035503A (en) Automobile electronic control device
JP6466269B2 (en) Electronic control device and stack area usage monitoring method
JP7200883B2 (en) electronic controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160108

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: 20160628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160711

R151 Written notification of patent or utility model registration

Ref document number: 5978873

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250