JP2015022622A - Automotive electronic controller - Google Patents

Automotive electronic controller Download PDF

Info

Publication number
JP2015022622A
JP2015022622A JP2013151568A JP2013151568A JP2015022622A JP 2015022622 A JP2015022622 A JP 2015022622A JP 2013151568 A JP2013151568 A JP 2013151568A JP 2013151568 A JP2013151568 A JP 2013151568A JP 2015022622 A JP2015022622 A JP 2015022622A
Authority
JP
Japan
Prior art keywords
area
ram
high safety
rom
normal
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
JP2013151568A
Other languages
Japanese (ja)
Other versions
JP6145345B2 (en
Inventor
新井 敏央
Toshinaka Arai
敏央 新井
康司 湯浅
Koji Yuasa
康司 湯浅
雄介 阿部
Yusuke Abe
雄介 阿部
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2013151568A priority Critical patent/JP6145345B2/en
Publication of JP2015022622A publication Critical patent/JP2015022622A/en
Application granted granted Critical
Publication of JP6145345B2 publication Critical patent/JP6145345B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To improve the safety of automotive control by improving the reliability of important arithmetic processing such as diagnostic processing in an automotive electronic controller.SOLUTION: The memory areas of ROM and RAM are separated into a normal control area for a control program (i.e., a normal arithmetic area) and a high safety area for a diagnostic program (i.e., an important arithmetic area). Then, a high safety area diagnostic program for performing memory diagnosis of the high safety area and a normal diagnostic program for performing memory diagnosis of the entire area are installed in the high safety area, thus the high safety area being subjected to double memory diagnosis.

Description

本発明は、自動車用電子制御装置における機能安全を保障する技術に関する。   The present invention relates to a technique for ensuring functional safety in an electronic control device for an automobile.

特許文献1には、自動車コンピュータシステムの信頼性を改善する方法として、マイクロプロセッサによってフラッシュメモリを読み取るときに、同じメモリユニット又は別個のメモリユニットにおいてパリティビットを各々のデータ行について記憶し、メモリアクセス中に、同様にパリティビットを発生させ、エラーチェックのために記憶された検査データと比較することで、データメモリ内でデータを行毎に保護する、電子式自動車制御装置が開示されている。   In Patent Document 1, as a method for improving the reliability of an automobile computer system, when reading a flash memory by a microprocessor, a parity bit is stored for each data row in the same memory unit or a separate memory unit, and the memory access is performed. There is also disclosed an electronic vehicle control device that similarly protects data row by row in a data memory by generating parity bits and comparing it with test data stored for error checking.

特表2005−503624号公報JP 2005-503624 A

ところで、パリティビットなどの誤り検出符号を用いたメモリ診断を行う場合でも、係る診断を行うプログラム(ソフトウェア部品)が故障する可能性があるため、診断プログラムが正常に機能しているかを診断することが必要となり、更に、診断プログラムの診断を行うプログラムが実装されるメモリ上の領域は十分に保護された信頼性の高いものでなければならない。   By the way, even when performing a memory diagnosis using an error detection code such as a parity bit, there is a possibility that the program (software component) for performing the diagnosis may fail, so that the diagnosis program is functioning normally. Further, the area on the memory where the program for diagnosing the diagnostic program is mounted must be sufficiently protected and highly reliable.

本発明は上記実情に鑑みなされたものであり、自動車用電子制御装置において診断処理などの重要演算処理の信頼性を向上させることを目的とする。   The present invention has been made in view of the above circumstances, and an object thereof is to improve the reliability of important arithmetic processing such as diagnostic processing in an electronic control device for automobiles.

そのため、本願発明は、メモリの領域が通常演算領域と重要演算領域との2領域に分けられ、前記重要演算領域は当該重要演算領域に実装されたメモリ診断処理により診断されるようにした。   Therefore, in the present invention, the memory area is divided into two areas, a normal calculation area and an important calculation area, and the important calculation area is diagnosed by a memory diagnosis process implemented in the important calculation area.

上記発明によると、診断処理などの重要演算処理の信頼性が向上し、以って、電子制御装置における制御の安全性の保障を高めることができる。   According to the above-described invention, the reliability of important arithmetic processing such as diagnostic processing is improved, so that the security of control in the electronic control device can be increased.

本発明の実施形態における自動車用電子制御装置のハードウェアシステムを示すブロック図である。It is a block diagram which shows the hardware system of the electronic controller for motor vehicles in embodiment of this invention. 本発明の実施形態におけるソフトウェアコンポーネント(処理機能)を示すブロック図である。It is a block diagram which shows the software component (processing function) in embodiment of this invention. 本発明の実施形態におけるROM上のプログラム配置を示すブロック図である。It is a block diagram which shows the program arrangement | positioning on ROM in embodiment of this invention. 本発明の実施形態におけるROM上のプログラム配置を示すブロック図である。It is a block diagram which shows the program arrangement | positioning on ROM in embodiment of this invention. 本発明の実施形態におけるマルチコア(デュアルコア)でのメモリ構成を示す図である。It is a figure which shows the memory structure in the multi-core (dual core) in embodiment of this invention. 本発明の実施形態におけるマルチコア(デュアルコア)でのROM上のプログラム配置を示すブロック図である。It is a block diagram which shows the program arrangement | positioning on ROM in multi-core (dual core) in embodiment of this invention. 本発明の実施形態における処理の流れ、データの受け渡し、及び、データの多重化を示すブロック図である。It is a block diagram which shows the flow of a process, the delivery of data, and the multiplexing of data in embodiment of this invention. 本発明の実施形態におけるマルチコア(デュアルコア)での処理の流れ、データの受け渡し、及び、データの多重化を示すブロック図である。It is a block diagram which shows the flow of a process in multi-core (dual core) in embodiment of this invention, delivery of data, and multiplexing of data. 本発明の実施形態におけるマルチコア(デュアルコア)での処理の流れ、データの受け渡し、及び、データの多重化を示すブロック図である。It is a block diagram which shows the flow of a process in multi-core (dual core) in embodiment of this invention, delivery of data, and multiplexing of data.

以下に本発明の実施の形態を説明する。
図1は、本実施形態における自動車用電子制御装置のハードウェアシステムを示すブロック図である。
図1において、自動車100は、動力源としてのエンジン(内燃機関)200、エンジン200を制御する電子制御装置300を備える。
Embodiments of the present invention will be described below.
FIG. 1 is a block diagram showing a hardware system of an automobile electronic control device according to this embodiment.
In FIG. 1, an automobile 100 includes an engine (internal combustion engine) 200 as a power source and an electronic control device 300 that controls the engine 200.

エンジン200は、エンジン200の吸入空気量(トルク)を調整する電制スロットル210を備える。電制スロットル210は、スロットルバルブ211と、スロットルバルブ211の開度を変化させるスロットルモータ212とで構成され、スロットルモータ212は駆動回路213によって駆動される。   Engine 200 includes an electric throttle 210 that adjusts an intake air amount (torque) of engine 200. The electric throttle 210 includes a throttle valve 211 and a throttle motor 212 that changes the opening of the throttle valve 211, and the throttle motor 212 is driven by a drive circuit 213.

電子制御装置300は、駆動回路213を介してスロットルモータ212の開度を制御することで、エンジン200の出力トルクを制御する。
電子制御装置300は、メインMPU(Micro-Processing Unit)301、メインMPU301の動作監視を行う監視ICとしてのサブMPU302、RAM(Random Access Memory)303、ROM(Read Only Memory)304などを含むマイクロコンピュータ310を備える。
The electronic control device 300 controls the output torque of the engine 200 by controlling the opening degree of the throttle motor 212 via the drive circuit 213.
The electronic control device 300 includes a main MPU (Micro-Processing Unit) 301, a sub MPU 302 as a monitoring IC for monitoring the operation of the main MPU 301, a RAM (Random Access Memory) 303, a ROM (Read Only Memory) 304, and the like. 310 is provided.

ROM304(不揮発性メモリ)は、電制スロットル210の制御プログラム、各種の診断プログラム、更に、これらのプログラムを実施するのに用いる制御データを記憶するためのメモリとして使用され、RAM303(揮発性メモリ)は前述のプログラムを動作させるためのワークメモリとして使用される。
そして、電子制御装置300(マイクロコンピュータ310)は、運転者が操作するアクセルペダル(図示省略)の開度ACCを検出するアクセル開度センサ401、電制スロットル210のスロットル開度TVOを検出するスロットル開度センサ402などの各種センサの出力信号を入力し、これらのセンサ信号に基づいて設定した操作信号を駆動回路213に出力して電制スロットル210の開度を制御する。
A ROM 304 (nonvolatile memory) is used as a memory for storing a control program for the electric throttle 210, various diagnostic programs, and control data used to implement these programs, and a RAM 303 (volatile memory). Is used as a work memory for operating the aforementioned program.
The electronic control device 300 (microcomputer 310) then detects an accelerator opening sensor 401 that detects the opening ACC of an accelerator pedal (not shown) operated by the driver, and a throttle that detects the throttle opening TVO of the electric throttle 210. Output signals of various sensors such as the opening sensor 402 are input, and an operation signal set based on these sensor signals is output to the drive circuit 213 to control the opening of the electric throttle 210.

図2は、電子制御装置300の制御機能及び診断機能を示すソフトウェアブロック図である。
アクセル開度センサ401からのアクセル開度情報及びスロットル開度センサ402からのスロットル開度情報は、それぞれ冗長系演算部1001,1002で処理され、制御に用いるアクセル開度データ、スロットル開度データが設定される。
FIG. 2 is a software block diagram illustrating control functions and diagnostic functions of the electronic control device 300.
The accelerator opening information from the accelerator opening sensor 401 and the throttle opening information from the throttle opening sensor 402 are processed by the redundant operation units 1001 and 1002, respectively. Is set.

例えばセンサ401,402をそれぞれ2重に備え、冗長系演算部1001,1002では、2重に設けられたセンサの出力についての整合性を判定した上で制御に用いるアクセル開度データ、スロットル開度データを決定する。
冗長系演算部1001はアクセル開度データを目標トルク演算部1003に出力し、目標トルク演算部1003はアクセル開度データに基づきエンジン200の出力トルクの目標値(目標トルク)を演算する。
For example, the sensors 401 and 402 are provided in duplicate, and the redundant system calculation units 1001 and 1002 determine the consistency of the outputs of the sensors provided in duplicate and determine the accelerator opening data and throttle opening used for control. Determine the data.
The redundant system computing unit 1001 outputs accelerator opening data to the target torque computing unit 1003, and the target torque computing unit 1003 computes a target value (target torque) of the output torque of the engine 200 based on the accelerator opening data.

更に、目標トルク演算部1003は目標トルクをスロットル目標開度演算部1004に出力し、スロットル目標開度演算部1004は目標トルクに基づきスロットル目標開度を演算し、スロットル制御用モータ指令として電制スロットル210の駆動回路213に出力する。
一方、冗長系演算部1002はスロットル開度データを目標値・実際値診断部1005に出力し、目標値・実際値診断部1005は、スロットル目標開度演算部1004の出力であるスロットル目標開度と冗長系演算部1002の出力であるスロットル実開度とを比較する。
Further, the target torque calculation unit 1003 outputs the target torque to the throttle target opening calculation unit 1004, and the throttle target opening calculation unit 1004 calculates the throttle target opening based on the target torque, and electrically controls it as a throttle control motor command. Output to the drive circuit 213 of the throttle 210.
On the other hand, the redundant system calculation unit 1002 outputs the throttle opening data to the target value / actual value diagnosis unit 1005, and the target value / actual value diagnosis unit 1005 outputs the throttle target opening that is the output of the throttle target opening calculation unit 1004. And the actual throttle opening, which is the output of the redundant system calculation unit 1002, is compared.

そして、目標値・実際値診断部1005は、スロットル目標開度とスロットル実開度との偏差に基づいてスロットル実際開度がスロットル目標開度に追従しない異常の有無、換言すれば、スロットル制御機能の異常の有無を検出する。
例えば、目標値・実際値診断部1005は、スロットル目標開度とスロットル実開度との偏差が閾値よりも大きい状態の継続時間が設定時間に達したときに、スロットル制御機能の異常発生を検出する。
The target value / actual value diagnosis unit 1005 determines whether there is an abnormality in which the actual throttle opening does not follow the target throttle opening based on the deviation between the target throttle opening and the actual throttle opening, in other words, the throttle control function. Detect the presence or absence of abnormalities.
For example, the target value / actual value diagnosis unit 1005 detects the occurrence of an abnormality in the throttle control function when the duration of the state where the deviation between the throttle target opening and the actual throttle opening is larger than a threshold value reaches a set time. To do.

スロットル実際開度がスロットル目標開度に追従しない異常は、駆動回路213、スロットルモータ212の故障などによって発生する。
ここで、目標値・実際値診断部1005は、スロットル実開度の異常発生を検出すると、スロットル目標開度演算部1004からのスロットル目標開度(モータ指令)の駆動回路213への出力をカットするカット部1010にカット指令を出力する。
An abnormality in which the actual throttle opening does not follow the target throttle opening occurs due to a failure of the drive circuit 213 and the throttle motor 212 or the like.
Here, when the target value / actual value diagnosis unit 1005 detects an abnormality in the actual throttle opening, it cuts the output of the throttle target opening (motor command) from the throttle target opening calculation unit 1004 to the drive circuit 213. A cut command is output to the cut unit 1010 to be performed.

係るカット指令により、スロットルモータ212の駆動が停止し、電制スロットル210の開度がデフォルト開度(全閉位置又は所定低開度)に固定されるフェイルセーフ処理が実施される。
従って、駆動回路213やスロットルモータ212の故障などによって、スロットル実際開度がスロットル目標開度を上回る高開度に、換言すれば、実出力トルクが目標トルクを上回る高出力トルク状態に制御されることを抑制でき、以って、エンジン200の出力トルクを抑えて車両を安全側に導くことができる。
With this cut command, the drive of the throttle motor 212 is stopped, and a fail-safe process is performed in which the opening degree of the electric control throttle 210 is fixed at the default opening degree (fully closed position or predetermined low opening degree).
Therefore, due to a failure of the drive circuit 213 and the throttle motor 212, the throttle actual opening is controlled to a high opening exceeding the throttle target opening, in other words, the actual output torque is controlled to a high output torque state exceeding the target torque. Thus, the output torque of the engine 200 can be suppressed and the vehicle can be guided to the safe side.

一方、例題演算部1006は、目標値・実際値診断部1005の診断機能(異常検出機能)が正常であるか否かを診断するための演算処理を実施する。
例題演算部1006は、目標値・実際値診断部1005(実動作部又はコピー)に例題を出題する例題出力部1006aと、目標値・実際値診断部1005における例題の回答を受け取る回答受信部1006bと、目標値・実際値診断部1005からの回答と期待値とを比較する回答判定部1006cと、目標値・実際値診断部1005に出力する例題と当該例題の回答の期待値とを対として記憶する出題・回答テーブル1006dとを含む。
On the other hand, the example calculation unit 1006 performs a calculation process for diagnosing whether or not the diagnosis function (abnormality detection function) of the target value / actual value diagnosis unit 1005 is normal.
The example calculation unit 1006 has an example output unit 1006a that gives an example to the target value / actual value diagnosis unit 1005 (actual operation unit or copy), and an answer reception unit 1006b that receives the answer of the example in the target value / actual value diagnosis unit 1005. The answer determination unit 1006c for comparing the response from the target value / actual value diagnosis unit 1005 with the expected value, and the example output to the target value / actual value diagnosis unit 1005 and the expected value of the answer of the example as a pair And a question / answer table 1006d to be stored.

ここで、目標値・実際値診断部1005が期待値に一致する回答を出力しない場合には、目標値・実際値診断部1005が正常に機能していない可能性がある。
そこで、回答判定部1006cは、目標値・実際値診断部1005が期待値に一致する回答を出力しない場合にカット部1010にカット指令を出力することで、スロットル目標開度演算部1004からのスロットル目標開度(モータ指令)の駆動回路213への出力をカットし、電制スロットル210の開度をデフォルト開度にするフェイルセーフ処理を実施する。
If the target value / actual value diagnosis unit 1005 does not output an answer that matches the expected value, the target value / actual value diagnosis unit 1005 may not function normally.
Therefore, the answer determination unit 1006c outputs a cut command to the cut unit 1010 when the target value / actual value diagnosis unit 1005 does not output an answer that matches the expected value. Output of the target opening (motor command) to the drive circuit 213 is cut, and fail-safe processing is performed to set the opening of the electric throttle 210 to the default opening.

カット部1010は、目標値・実際値診断部1005と回答判定部1006cとの少なくとも一方が出力カットを指令することで、スロットル目標開度演算部1004からのスロットル目標開度(モータ指令)の駆動回路213への出力をカットする。
つまり、目標値・実際値診断部1005が正常に機能していない場合、スロットル実際開度の異常が発生しているのに目標値・実際値診断部1005によるフェイルセーフ処理が実施されていない可能性があるので、回答判定部1006cが駆動回路213への出力をカットするフェイルセーフ処理を実施する。
The cut unit 1010 drives the throttle target opening (motor command) from the throttle target opening calculation unit 1004 when at least one of the target value / actual value diagnosis unit 1005 and the answer determination unit 1006c commands output cut. The output to the circuit 213 is cut.
In other words, if the target value / actual value diagnosis unit 1005 is not functioning normally, the target value / actual value diagnosis unit 1005 may not perform the fail-safe process even though the actual throttle opening is abnormal. Therefore, the answer determination unit 1006c performs fail-safe processing that cuts the output to the drive circuit 213.

これにより、目標値・実際値診断部1005として機能するプログラムデータに異常が発生したときに、実出力トルクが目標よりも高い状態に制御されることを抑止でき、車両を安全側に導くことができる。
また、メインMPU301のALU(Arithmetic Logic Unit:算術論理装置)の演算機能を診断するALU診断部1007を設けてある。
As a result, when an abnormality occurs in the program data functioning as the target value / actual value diagnosis unit 1005, it is possible to prevent the actual output torque from being controlled to be higher than the target, leading the vehicle to the safe side. it can.
Further, an ALU diagnosis unit 1007 for diagnosing an arithmetic function of an ALU (Arithmetic Logic Unit) of the main MPU 301 is provided.

ALU診断部1007は、サブMPU302(監視IC)側からの出題を受け取る例題受信部1007aと、例題受信部1007aが受け取った例題をメインMPU301のALUで演算させるALU診断部1007bと、ALU診断部1007bでの演算結果(回答)を受け取る回答受信部1007cと、回答受信部1007cが受け取った回答データを、サブMPU302側に出力する回答送信部1007dとを含む。   The ALU diagnosis unit 1007 includes an example reception unit 1007a that receives questions from the sub MPU 302 (monitoring IC), an ALU diagnosis unit 1007b that causes the ALU of the main MPU 301 to calculate an example received by the example reception unit 1007a, and an ALU diagnosis unit 1007b. An answer receiving unit 1007c that receives the calculation result (answer) in, and an answer sending unit 1007d that outputs the answer data received by the answer receiving unit 1007c to the sub MPU 302 side.

回答受信部1007cには、ALU診断部1007bでの演算結果(回答)と共に、回答判定部1006cにおける正常、異常の判定結果が入力される。
そして、回答受信部1007cは、回答判定部1006cで異常判定されている場合にはALU診断部1007bでの演算結果(回答)とは無関係に誤答を回答送信部1007dに出力し、回答判定部1006cで正常判定されている場合にはALU診断部1007bでの演算結果(回答)をそのまま回答送信部1007dに出力する。
以上説明したソフトウェアブロックは、メインMPU301で処理されるプログラムである。
The answer reception unit 1007c receives the calculation result (answer) in the ALU diagnosis unit 1007b and the normal / abnormal determination result in the answer determination unit 1006c.
If the answer determination unit 1006c determines that there is an abnormality, the answer reception unit 1007c outputs an incorrect answer to the answer transmission unit 1007d regardless of the calculation result (answer) in the ALU diagnosis unit 1007b. If the normal determination is made in 1006c, the calculation result (answer) in the ALU diagnosis unit 1007b is output as it is to the answer transmission unit 1007d.
The software block described above is a program processed by the main MPU 301.

一方、サブMPU302は、ALU診断部1007に向けて出題し、ALU診断部1007からの回答を受け取る例題演算部1008としての演算機能を備えている。
例題演算部1008は、ALU診断部1007の例題受信部1007aに向けて例題を出題する例題出題部1008aと、ALU診断部1007の例題受信部1007aに出力する例題と当該例題の回答の期待値とを対として記憶する出題・回答テーブル1008bと、ALU診断部1007の回答送信部1007dからの回答を受け取る回答受信部1008cと、回答受信部1008cが受け取った回答と出題・回答テーブル1008bが出力する期待値とを比較する回答判定部1008dとを含む。
On the other hand, the sub MPU 302 has a calculation function as an example calculation unit 1008 that issues a question to the ALU diagnosis unit 1007 and receives an answer from the ALU diagnosis unit 1007.
The example calculation unit 1008 outputs an example to the example receiving unit 1007a of the ALU diagnosing unit 1007, an example to be output to the example receiving unit 1007a of the ALU diagnosing unit 1007, and an expected value of the answer of the example Questions / answers table 1008b that stores them as a pair, an answer receiving unit 1008c that receives an answer from the answer sending unit 1007d of the ALU diagnosis unit 1007, an answer received by the answer receiving unit 1008c, and an expectation that the question / answer table 1008b outputs And an answer determination unit 1008d for comparing the values.

そして、回答判定部1008dは、回答受信部1008cが受け取った回答が期待値と異なる場合、電制スロットル210のスロットルモータ212の駆動回路213への電力供給経路(電源と駆動回路213との接続回路)を遮断するモータリレー214をオフし、スロットルモータ212への電力供給を遮断する。
つまり、サブMPU302の回答判定部1008dは、メインMPU301のALUにおける演算機能に異常が発生した場合に回答と期待値とが異なると判定することになり、また、目標値・実際値診断部1005の診断機能(診断プログラム)に異常が発生した場合にも回答と期待値とが異なると判定することになり、いずれの場合もサブMPU302はモータリレー214をオフするフェイルセーフ処理を実施する。
When the answer received by the answer receiving unit 1008c is different from the expected value, the answer determining unit 1008d (the connection circuit between the power supply and the drive circuit 213) supplies power to the drive circuit 213 of the throttle motor 212 of the electronic throttle 210. ) Is turned off, and power supply to the throttle motor 212 is cut off.
That is, the answer determination unit 1008d of the sub MPU 302 determines that the answer is different from the expected value when an abnormality occurs in the arithmetic function in the ALU of the main MPU 301, and the target value / actual value diagnosis unit 1005 Even when an abnormality occurs in the diagnostic function (diagnostic program), it is determined that the answer and the expected value are different. In either case, the sub MPU 302 performs a fail-safe process for turning off the motor relay 214.

これにより、メインMPU301側の目標値・実際値診断部1005として機能するプログラムデータに異常が発生し、更に、メインMPU301側の回答判定部1006cとして機能するプログラムデータに異常が発生し、電制スロットル210の制御異常が発生したときにモータ出力をカットするフェイルセーフ処理を実施することができない状態になったとしても、サブMPU302側の回答判定部1008dが正常に機能すれば、エンジン200の実出力トルクが目標よりも高い状態に制御されることを抑止でき、車両を安全側に導くことができる。   As a result, an abnormality occurs in the program data that functions as the target value / actual value diagnosis unit 1005 on the main MPU 301 side, and an abnormality occurs in the program data that functions as the answer determination unit 1006c on the main MPU 301 side. Even if the fail-safe process for cutting the motor output cannot be performed when the control abnormality 210 occurs, if the answer determination unit 1008d on the sub MPU 302 functions normally, the actual output of the engine 200 The torque can be prevented from being controlled to be higher than the target, and the vehicle can be guided to the safe side.

後で詳細に説明するように、図2に示した各ソフトウェア機能を実行するプログラムが置かれるROM304は、電制スロットル210などの外部デバイスの制御処理を行うプログラム(制御用プログラム)を共に置く通常制御領域(通常演算領域、制御用領域)と、診断用プログラムなどの機能安全に関わる重要なプログラムを主に置くハイセーフティ領域(重要演算領域、診断用領域)との2領域に切り分けられている。   As will be described in detail later, the ROM 304 in which a program for executing each software function shown in FIG. 2 is placed is usually placed together with a program (control program) for performing control processing of an external device such as the electric throttle 210. It is divided into two areas: a control area (normal calculation area and control area) and a high safety area (important calculation area and diagnosis area) that mainly stores important programs related to functional safety such as diagnostic programs. .

そして、前述した、冗長系演算部1001,1002、目標トルク演算部1003、スロットル目標開度演算部1004、目標値・実際値診断部1005、カット部1010として機能するプログラムは、ROM304の通常制御領域に置かれ、例題演算部1006,1008、ALU診断部1007、及び、後述するマイコン系診断部1100として機能するプログラムは、ROM304のハイセーフティ領域に置かれる。   The programs that function as the redundant system calculation units 1001 and 1002, the target torque calculation unit 1003, the throttle target opening calculation unit 1004, the target value / actual value diagnosis unit 1005, and the cut unit 1010 are the normal control area of the ROM 304. The programs that function as the example operation units 1006 and 1008, the ALU diagnosis unit 1007, and the microcomputer system diagnosis unit 1100 described later are placed in the high safety area of the ROM 304.

つまり、診断用プログラムが正常に実行されないと制御システムの安全性を保障できないので、診断用プログラムは一般的に制御プログラムに比べて重要度が高く、ハイセーフティ領域には重要度が制御用プログラムよりも高い処理である診断用プログラムが置かれ(換言すれば、重要度が高い処理が実装され)、ハイセーフティ領域は、後述するようにメモリ欠陥診断処理の多重実施などによってデータ保障レベルを通常制御領域よりも高めるようにしてある。   In other words, since the safety of the control system cannot be guaranteed unless the diagnostic program is executed normally, the diagnostic program is generally more important than the control program, and the importance is higher in the high safety area than the control program. A high-level diagnostic program is placed (in other words, a process with high importance is implemented), and the data security level is normally controlled in the high safety area by multiple executions of memory defect diagnostic processing as described later. It is designed to be higher than the area.

また、RAM303も、通常制御領域(通常演算領域)とハイセーフティ領域(重要演算領域)とに切り分けられており、ROM304の通常制御領域に置かれるプログラムはRAM303の通常制御領域をワークメモリとして用い、ROM304のハイセーフティ領域に置かれるプログラムはRAM303のハイセーフティ領域をワークメモリとして用いる設定としてある。
上記のように、診断用プログラムは、メモリ(ROM304及びRAM303)のハイセーフティ領域に実装され、制御用プログラムは、メモリ(ROM304及びRAM303)の通常制御領域に実装される。
The RAM 303 is also divided into a normal control area (normal calculation area) and a high safety area (important calculation area), and a program placed in the normal control area of the ROM 304 uses the normal control area of the RAM 303 as a work memory. The program placed in the high safety area of the ROM 304 is set to use the high safety area of the RAM 303 as a work memory.
As described above, the diagnostic program is mounted in the high safety area of the memory (ROM 304 and RAM 303), and the control program is mounted in the normal control area of the memory (ROM 304 and RAM 303).

なお、図2の例では、目標値・実際値診断部1005として機能するプログラムはROM304の通常制御領域に置かれて、RAM303の通常制御領域をワークメモリとして用いるが、目標値・実際値診断部1005として機能するプログラムをROM304のハイセーフティ領域に置き、目標値・実際値診断部1005がRAM303のハイセーフティ領域をワークメモリとして用いる設定とすることができる。   In the example of FIG. 2, the program that functions as the target value / actual value diagnosis unit 1005 is placed in the normal control area of the ROM 304, and the normal control area of the RAM 303 is used as a work memory. A program that functions as 1005 can be placed in the high safety area of the ROM 304, and the target value / actual value diagnosis unit 1005 can be set to use the high safety area of the RAM 303 as a work memory.

つまり、診断部を診断する処理は診断対象部よりも重要度が上がり、保障レベルをより高くする必要があり、診断処理が重層化するほど保障レベルの要求はより高くなる。一方、ハイセーフティ領域は、後で詳述するように保障レベルを通常制御領域よりも高めた領域であり、重層化した診断処理のうちで保障レベルの要求(重要度)が高い側の診断処理をハイセーフティ領域に実装することになる。   In other words, the process of diagnosing the diagnosis unit is more important than the diagnosis target unit, and it is necessary to increase the security level. As the diagnosis process is overlaid, the requirement for the security level becomes higher. On the other hand, the high safety area is an area where the security level is higher than the normal control area, as will be described in detail later. Will be mounted in the high safety area.

但し、ハイセーフティ領域に実装する処理の保障レベル(重要度)の最低ラインは、設計思想、演算負荷、メモリ使用量などから適宜変更され得るものであり、診断処理のうち保障レベルの要求(重要度)が低い処理(例えば、目標値・実際値診断部1005)を通常制御領域に実装することができ、また、目標値・実際値診断部1005を含む全ての診断処理をハイセーフティ領域に実装することができる。   However, the minimum line of the security level (importance) of the processing implemented in the high safety area can be changed as appropriate according to the design concept, calculation load, memory usage, etc. Process (for example, target value / actual value diagnosis unit 1005) can be implemented in the normal control area, and all diagnosis processes including the target value / actual value diagnosis unit 1005 are implemented in the high safety area. can do.

ここで、マイコン系診断部1100は、ROM304の全領域について診断を行う通常ROM診断部1101、RAM303の全領域について診断を行う通常RAM診断部1102、ROM304のハイセーフティ領域(ROM304の一部領域)について診断を行うハイセーフティ領域ROM診断部1103、RAM303のハイセーフティ領域(RAM303の一部領域)について診断を行うハイセーフティ領域RAM診断部1104を含む。   Here, the microcomputer system diagnosis unit 1100 includes a normal ROM diagnosis unit 1101 that performs diagnosis for the entire area of the ROM 304, a normal RAM diagnosis unit 1102 that performs diagnosis for the entire area of the RAM 303, and a high safety area of the ROM 304 (part of the ROM 304). A high safety area ROM diagnosis unit 1103 that diagnoses the high safety area, and a high safety area RAM diagnosis unit 1104 that diagnoses the high safety area of the RAM 303 (part of the RAM 303).

そして、マイコン系診断部1100に含まれる各診断部として機能するプログラムは、ROM304のハイセーフティ領域に置かれ、RAM303のハイセーフティ領域上にワークエリアが割り付けられる。
つまり、ROM304、RAM303の全領域は通常ROM診断部1101、通常RAM診断部1102で診断が行われ、ROM304、RAM303のハイセーフティ領域については、当該ハイセーフティ領域に割り付けられたハイセーフティ領域ROM診断部1103、ハイセーフティ領域RAM診断部1104による診断が更に実施され、ROM304、RAM303のハイセーフティ領域についてはメモリ診断が2重に実施されるようになっている。
A program functioning as each diagnosis unit included in the microcomputer diagnosis unit 1100 is placed in the high safety area of the ROM 304, and a work area is allocated on the high safety area of the RAM 303.
That is, the entire areas of the ROM 304 and the RAM 303 are diagnosed by the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102, and the high safety area ROM diagnosis unit assigned to the high safety area is assigned to the high safety area of the ROM 304 and RAM 303. 1103, diagnosis by the high safety area RAM diagnosis unit 1104 is further performed, and memory diagnosis is performed twice for the high safety areas of the ROM 304 and the RAM 303.

また、通常ROM診断部1101、通常RAM診断部1102は、ハイセーフティ領域ROM診断部1103、ハイセーフティ領域RAM診断部1104で診断され、ハイセーフティ領域ROM診断部1103、ハイセーフティ領域RAM診断部1104は、通常ROM診断部1101、通常RAM診断部1102で診断される相互監視が実施されるようになっている。   The normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 are diagnosed by the high safety area ROM diagnosis unit 1103 and the high safety area RAM diagnosis unit 1104, and the high safety area ROM diagnosis unit 1103 and the high safety area RAM diagnosis unit 1104 Mutual monitoring diagnosed by the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 is performed.

図3(A)は、ROM304における通常制御領域とハイセーフティ領域との切り分け及び各領域へのプログラム配置を例示する。
ROM304のハイセーフティ領域には、ハイセーフティ領域RAM診断部1104、ハイセーフティ領域ROM診断部1103、通常RAM診断部1102、通常ROM診断部1101、ALU診断部1007、例題演算部1006として機能するプログラムが置かれる。
FIG. 3A illustrates the separation of the normal control area and the high safety area in the ROM 304 and the program arrangement in each area.
In the high safety area of the ROM 304, there are programs that function as a high safety area RAM diagnostic unit 1104, a high safety area ROM diagnostic unit 1103, a normal RAM diagnostic unit 1102, a normal ROM diagnostic unit 1101, an ALU diagnostic unit 1007, and an example calculation unit 1006. Placed.

また、ROM304の通常制御領域には、目標トルク演算部1003、スロットル目標開度演算部1004、冗長系演算部1001,1002などとして機能するプログラムが置かれる。
一方、図3(B)は、RAM303における通常制御領域とハイセーフティ領域との切り分け及び各領域をワークメモリとして用いるプログラムを例示する。
In the normal control area of the ROM 304, programs that function as the target torque calculation unit 1003, the throttle target opening calculation unit 1004, the redundant system calculation units 1001, 1002, and the like are placed.
On the other hand, FIG. 3B illustrates a program that separates the normal control area and the high safety area in the RAM 303 and uses each area as a work memory.

RAM303のハイセーフティ領域には、ハイセーフティ領域RAM診断部1104、ハイセーフティ領域ROM診断部1103、通常RAM診断部1102、通常ROM診断部1101、ALU診断部1007、例題演算部1006の各制御プログラムがワークメモリとして使用する領域が設定されている。
また、RAM303の通常制御領域には、目標トルク演算部1003、スロットル目標開度演算部1004、冗長系演算部1001,1002などの各制御プログラムがワークメモリとして使用する領域が設定されている。
In the high safety area of the RAM 303, control programs of a high safety area RAM diagnostic unit 1104, a high safety area ROM diagnostic unit 1103, a normal RAM diagnostic unit 1102, a normal ROM diagnostic unit 1101, an ALU diagnostic unit 1007, and an example calculation unit 1006 are stored. An area to be used as work memory is set.
In the normal control area of the RAM 303, areas used by each control program such as the target torque calculation unit 1003, the throttle target opening calculation unit 1004, the redundant system calculation units 1001 and 1002 as work memory are set.

そして、ハイセーフティ領域ROM診断部1103は、ROM304のハイセーフティ領域について診断を行うことで、ROM304のハイセーフティ領域に置かれるプログラムの診断を行い、ハイセーフティ領域RAM診断部1104は、RAM303のハイセーフティ領域について診断を行うことで、ROM304のハイセーフティ領域に置かれるプログラムが用いるデータを診断する。   Then, the high safety area ROM diagnosis unit 1103 diagnoses the high safety area of the ROM 304, thereby diagnosing a program placed in the high safety area of the ROM 304. The high safety area RAM diagnosis unit 1104 is a high safety area of the RAM 303. By diagnosing the area, the data used by the program placed in the high safety area of the ROM 304 is diagnosed.

また、通常ROM診断部1101は、ROM304のハイセーフティ領域及び通常制御領域を含む全領域について診断を行い、通常RAM診断部1102は、RAM303のハイセーフティ領域及び通常制御領域を含む全領域について診断を行う。
尚、図3では、RAM303及びROM304におけるハイセーフティ領域,通常制御領域はそれぞれ連続した領域となっているが、2領域に分離されるハイセーフティ領域に挟まれるようにして通常制御領域を設定したり、逆に、2領域に分離される通常制御領域に挟まれるようにしてハイセーフティ領域を設定したりすることができ、ハイセーフティ領域及び通常制御領域は連続した1つ領域に限定されるものではない。
Further, the normal ROM diagnosis unit 1101 performs diagnosis for all areas including the high safety area and the normal control area of the ROM 304, and the normal RAM diagnosis unit 1102 performs diagnosis for all areas including the high safety area and the normal control area of the RAM 303. Do.
In FIG. 3, the high safety area and the normal control area in the RAM 303 and the ROM 304 are continuous areas, but the normal control area is set so as to be sandwiched between the high safety areas separated into two areas. Conversely, the high safety area can be set so as to be sandwiched between the normal control areas separated into two areas, and the high safety area and the normal control area are not limited to one continuous area. Absent.

ROM304の通常制御領域に実装されRAM303の通常制御領域をワークメモリとして用いエンジン制御(電制スロットル210の駆動制御)を行う通常制御プログラムはメモリアクセスを頻繁に行うため、ROM304及びRAM303の通常制御領域の診断を頻繁に行うと演算負荷の増大によってエンジン制御に影響を与える可能性がある。   The normal control program implemented in the normal control area of the ROM 304 and performing the engine control (drive control of the electric throttle 210) using the normal control area of the RAM 303 as a work memory frequently accesses the memory. Therefore, the normal control area of the ROM 304 and the RAM 303 If the diagnosis is frequently performed, the engine control may be affected by an increase in calculation load.

そこで、通常ROM診断部1101及び通常RAM診断部1102は、ROM303及びRAM304の診断を、エンジン制御に影響を与えないように通常制御プログラムの空き時間を利用して行う。このため、通常ROM診断部1101及び通常RAM診断部1102は、ROM303及びRAM304の診断に長い時間を要し、診断の実行周期は長くなる。   Therefore, the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 perform the diagnosis of the ROM 303 and the RAM 304 by using the free time of the normal control program so as not to affect the engine control. For this reason, the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 require a long time for the diagnosis of the ROM 303 and the RAM 304, and the diagnosis execution cycle becomes long.

一方、ROM304及びRAM303のハイセーフティ領域は、通常制御プログラム(エンジン制御プログラム)によるアクセスがなく、しかもROM303及びRAM304の一部領域であって診断領域が全領域よりも狭い。
このため、ハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104は、エンジン制御に影響を与えることなく、通常ROM診断部1101及び通常RAM診断部1102に比べて診断に要する時間が短くかつより短い周期でハイセーフティ領域の診断を行える。
On the other hand, the high safety area of the ROM 304 and the RAM 303 is not accessed by a normal control program (engine control program), and is a partial area of the ROM 303 and the RAM 304, and the diagnosis area is narrower than the entire area.
Therefore, the high safety area ROM diagnosis unit 1103 and the high safety area RAM diagnosis unit 1104 have a shorter time required for diagnosis than the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 without affecting engine control. High safety area can be diagnosed in a shorter cycle.

つまり、ハイセーフティ領域については、通常ROM診断部1101及び通常RAM診断部1102による診断が行われ、更に、ハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104によってより短周期で診断が行われるようになっている。
係る構成によって、ハイセーフティ領域のデータ保障レベル(データ保護レベル)は通常制御領域よりも高くなる。従って、ハイセーフティ領域に重要なプログラムである診断処理を割り付けることで、診断処理の信頼性が増し、車両の安全性を向上させることができる。
In other words, the high safety area is diagnosed by the normal ROM diagnostic unit 1101 and the normal RAM diagnostic unit 1102, and further diagnosed in a shorter cycle by the high safety area ROM diagnostic unit 1103 and the high safety area RAM diagnostic unit 1104. It has come to be.
With this configuration, the data security level (data protection level) in the high safety area is higher than that in the normal control area. Therefore, by assigning diagnostic processing, which is an important program, to the high safety area, the reliability of the diagnostic processing is increased and the safety of the vehicle can be improved.

更に、ROM303及びRAM304のハイセーフティ領域には、ハイセーフティ領域ROM診断部1103、ハイセーフティ領域RAM診断部1104、通常ROM診断部1101及び通常RAM診断部1102が割り付けられる。
これにより、通常ROM診断部1101及び通常RAM診断部1102の信頼性をハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104による診断で保障する一方、ハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104の信頼性を通常ROM診断部1101及び通常RAM診断部1102による診断で保障する、診断部の相互監視を実現できる。
Further, a high safety area ROM diagnosis unit 1103, a high safety area RAM diagnosis unit 1104, a normal ROM diagnosis unit 1101, and a normal RAM diagnosis unit 1102 are allocated to the high safety areas of the ROM 303 and the RAM 304.
Thus, the reliability of the normal ROM diagnostic unit 1101 and the normal RAM diagnostic unit 1102 is ensured by the diagnosis by the high safety region ROM diagnostic unit 1103 and the high safety region RAM diagnostic unit 1104, while the high safety region ROM diagnostic unit 1103 and the high safety Mutual monitoring of the diagnosis units can be realized in which the reliability of the area RAM diagnosis unit 1104 is ensured by diagnosis by the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102.

そして、通常ROM診断部1101及び通常RAM診断部1102は、ハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104によって短い周期で診断されるので、通常ROM診断部1101及び通常RAM診断部1102による全領域診断の妥当性が保障され、ROM304及びRAM33の全領域のデータを高いレベルで保障できる。
なお、通常ROM診断部1101及びハイセーフティ領域ROM診断部1103は、例えば、ROM304の診断領域内のデータについてサムやパリティなどの誤り検出符号を演算し、演算した誤り検出符号と予めROM304内に埋め込まれた値との比較検査を実施することで、データの誤り(メモリ不良)の有無を検出する。
Since the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 are diagnosed in a short cycle by the high safety area ROM diagnosis unit 1103 and the high safety area RAM diagnosis unit 1104, the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 are diagnosed. Therefore, the validity of the whole area diagnosis according to the above is guaranteed, and the data of all areas of the ROM 304 and the RAM 33 can be ensured at a high level.
The normal ROM diagnosis unit 1101 and the high safety area ROM diagnosis unit 1103 calculate error detection codes such as a sum and parity for the data in the diagnosis area of the ROM 304, and embed the calculated error detection code and the ROM 304 in advance. The presence or absence of data error (memory failure) is detected by performing a comparison test with the measured value.

また、通常RAM診断部1102及びハイセーフティ領域RAM診断部1104は、例えば、RAM303の診断領域についてリードライトテストなどを実施して、RAM303の故障(メモリ欠陥)の有無を検出する。
ところで、ROM304及びRAM303における各処理の割り付けは、図3に示した例に限定されるものではなく、例えば、図4に示した例のような割り付けが行われる場合がある。
Further, the normal RAM diagnosis unit 1102 and the high safety area RAM diagnosis unit 1104, for example, perform a read / write test on the diagnosis area of the RAM 303 to detect the presence or absence of a failure (memory defect) in the RAM 303.
By the way, the allocation of each process in the ROM 304 and the RAM 303 is not limited to the example shown in FIG. 3, and for example, the allocation as in the example shown in FIG. 4 may be performed.

図4は、ROM304及びRAM303のハイセーフティ領域に割り当てられるリソース(演算に割り当てる時間やメモリ領域)を考慮して、通常ROM診断部1101及び通常RAM診断部1102をROM304及びRAM303の通常制御領域に割り付けた例を示す。
つまり、図3に示した例では、通常ROM診断部1101及び通常RAM診断部1102が置かれるROM304上の領域、及び、通常ROM診断部1101及び通常RAM診断部1102がワークメモリとして使用するRAM303上の領域を、共にハイセーフティ領域とした。
4 allocates the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 to the normal control areas of the ROM 304 and the RAM 303 in consideration of the resources (time and memory areas allocated for calculation) allocated to the high safety area of the ROM 304 and the RAM 303. An example is shown.
That is, in the example shown in FIG. 3, the area on the ROM 304 where the normal ROM diagnostic unit 1101 and the normal RAM diagnostic unit 1102 are placed, and the RAM 303 used as the work memory by the normal ROM diagnostic unit 1101 and the normal RAM diagnostic unit 1102 These areas were both designated as high safety areas.

一方、図4に示した例では、通常ROM診断部1101及び通常RAM診断部1102が置かれるROM304上の領域及びワークメモリとして使用するRAM303上の領域を、共に通常制御領域とした点が異なる。
上記のように、ハイセーフティ領域に割り当てる処理を減らすことでハイセーフティ領域に置かれるプログラムに割り当てられるリソースを低減できる一方、通常ROM診断部1101及び通常RAM診断部1102は通常制御プログラムの空き時間を利用して全領域の診断を行うため、通常制御領域に割り当てられるリソースでの処理が可能である。
On the other hand, the example shown in FIG. 4 is different in that both the area on the ROM 304 where the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 are placed and the area on the RAM 303 used as a work memory are set as normal control areas.
As described above, the resources allocated to the program placed in the high safety area can be reduced by reducing the process assigned to the high safety area, while the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 free up the normal control program. Since the entire region is diagnosed by using it, processing with resources allocated to the normal control region is possible.

ここで、通常ROM診断部1101及び通常RAM診断部1102によるROM304及びRAM303の診断は、図3及び図4のいずれの場合もROM304及びRAM303の全領域について行われる。
一方、ハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104によるROM304及びRAM303の診断は、図3の例ではハイセーフティ領域について行われるが、図4の例では、ハイセーフティ領域、及び、通常制御領域のうちの通常ROM診断部1101及び通常RAM診断部1102が置かれる領域及び通常ROM診断部1101及び通常RAM診断部1102がワークエリアとして使用する領域について行われる。
Here, the diagnosis of the ROM 304 and the RAM 303 by the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 is performed for the entire area of the ROM 304 and the RAM 303 in both cases of FIGS.
On the other hand, the diagnosis of the ROM 304 and the RAM 303 by the high safety area ROM diagnosis unit 1103 and the high safety area RAM diagnosis unit 1104 is performed for the high safety area in the example of FIG. 3, but in the example of FIG. Of the normal control area, the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 are placed, and the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 use the work area.

換言すれば、ハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104によって診断する対象領域は、図3及び図4に共通して、診断用の制御プログラムがROM304上で置かれる領域及び診断用の制御プログラムがRAM303上でワークエリアとして使用する領域である。
従って、図4に示すような割り付けを行った場合も、通常ROM診断部1101及び通常RAM診断部1102の信頼性をハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104による診断で保障する一方、ハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104の信頼性を通常ROM診断部1101及び通常RAM診断部1102による診断で保障する、診断部の相互監視を実現できる。
In other words, the target area to be diagnosed by the high safety area ROM diagnosis unit 1103 and the high safety area RAM diagnosis unit 1104 is the area in which the diagnosis control program is placed on the ROM 304 and the diagnosis in common with FIGS. This is an area used by the control program as a work area on the RAM 303.
Therefore, even when the allocation shown in FIG. 4 is performed, the reliability of the normal ROM diagnostic unit 1101 and the normal RAM diagnostic unit 1102 is guaranteed by the diagnosis by the high safety region ROM diagnostic unit 1103 and the high safety region RAM diagnostic unit 1104. On the other hand, it is possible to realize mutual monitoring of the diagnosis units that guarantees the reliability of the high safety area ROM diagnosis unit 1103 and the high safety area RAM diagnosis unit 1104 by the diagnosis by the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102.

そして、通常ROM診断部1101及び通常RAM診断部1102は、ハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104によって短い周期で診断されるので、通常ROM診断部1101及び通常RAM診断部1102による全領域診断の妥当性が保障され、ROM304及びRAM33の全領域のデータを高いレベルで保障できる。
また、図4に示した割り付けでは、演算負荷の大きな通常ROM診断部1101及び通常RAM診断部1102をROM304及びRAM303の通常制御領域に割り付けたので、ハイセーフティ領域に割り当てられるリソースが制限される場合でも、ハイセーフティ領域に割り付けたハイセーフティ領域ROM診断部1103、ハイセーフティ領域RAM診断部1104などの診断処理を短周期で実施できる。
Since the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 are diagnosed in a short cycle by the high safety area ROM diagnosis unit 1103 and the high safety area RAM diagnosis unit 1104, the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102 are diagnosed. Therefore, the validity of the whole area diagnosis according to the above is guaranteed, and the data of all areas of the ROM 304 and the RAM 33 can be ensured at a high level.
In the allocation shown in FIG. 4, the normal ROM diagnostic unit 1101 and the normal RAM diagnostic unit 1102, which have a large calculation load, are allocated to the normal control areas of the ROM 304 and RAM 303, so that resources allocated to the high safety area are limited. However, diagnostic processing such as the high safety area ROM diagnosis unit 1103 and the high safety area RAM diagnosis unit 1104 assigned to the high safety area can be performed in a short cycle.

図5は、メインMPU301がマルチコア(デュアルコア)である場合のメモリと各プロセッサコアとの構成例を示す。
メインMPU301は、1つのプロセッサ・パッケージ内に、第1プロセッサコア301aと第2プロセッサコア301bとの2つのプロセッサコアを封入して構成される。
FIG. 5 shows a configuration example of the memory and each processor core when the main MPU 301 is multi-core (dual core).
The main MPU 301 is configured by enclosing two processor cores, a first processor core 301a and a second processor core 301b, in one processor package.

2つのプロセッサコア301a、301bが共用する1つのROM304が設けられ、ROM304はハイセーフティ領域と通常制御領域とに切り分けられる。
そして、第1プロセッサコア301aはROM304の通常制御領域に置かれたプログラムを実行し、第2プロセッサコア301bはROM304のハイセーフティ領域に置かれたプログラムを実行する。
One ROM 304 shared by the two processor cores 301a and 301b is provided, and the ROM 304 is divided into a high safety area and a normal control area.
The first processor core 301 a executes a program placed in the normal control area of the ROM 304, and the second processor core 301 b executes a program placed in the high safety area of the ROM 304.

一方、RAM303として、全領域を通常制御領域として第1プロセッサコア301aがワークエリアとして使用する第1RAM303a(第1ローカルRAM)と、全領域をハイセーフティ領域として第2プロセッサコア301bがワークエリアとして使用する第2RAM303b(第2ローカルRAM)と、通常制御領域とハイセーフティ領域とに切り分けられ第1プロセッサコア301aと第2プロセッサコア301bとが共用する第3RAM303c(グローバルRAM)とを備えている。
なお、図5における斜線領域はハイセーフティ領域を示し、RAM303、ROM304の斜線領域以外の領域は通常制御領域を示す。
On the other hand, as the RAM 303, the first processor core 301a uses the entire area as the normal control area and the first processor core 301a uses it as a work area, and the entire area as the high safety area uses the second processor core 301b as the work area. Second RAM 303b (second local RAM), and a third RAM 303c (global RAM) that is divided into a normal control area and a high safety area and is shared by the first processor core 301a and the second processor core 301b.
The hatched area in FIG. 5 indicates the high safety area, and the areas other than the hatched areas in the RAM 303 and ROM 304 indicate the normal control area.

図6は、図5に示したメモリ構成において、ROM304、第1〜第3RAM303a〜303cにおける通常制御領域及びハイセーフティ領域の設定、プログラムが置かれる領域、プログラムがワークエリアとして使用する領域を示す。
図6において、共用のROM304の通常使用領域には、冗長系演算部1001,1002、目標トルク演算部1003、スロットル目標開度演算部1004などが置かれると共に、第1プロセッサコア301a用としての通常RAM診断部1102aが置かれる。
FIG. 6 shows the settings of the normal control area and high safety area in the ROM 304, the first to third RAMs 303a to 303c, the area where the program is placed, and the area used by the program as a work area in the memory configuration shown in FIG.
In FIG. 6, in the normal use area of the shared ROM 304, a redundant system calculation unit 1001, 1002, a target torque calculation unit 1003, a throttle target opening calculation unit 1004, etc. are placed, and a normal use for the first processor core 301a is performed. A RAM diagnostic unit 1102a is placed.

一方、共用のROM304のハイセーフティ領域には、例題演算部1006、ALU診断部1007の他、第2プロセッサコア301b用としての通常RAM診断部1102b、通常ROM診断部1101、ハイセーフティ領域ROM診断部1103、ハイセーフティ領域RAM診断部1104が置かれる。
また、共用の第3RAM303cの通常制御領域はROM304の通常制御領域に置かれるプログラムのワークエリアであり、冗長系演算部1001,1002、目標トルク演算部1003、スロットル目標開度演算部1004、通常RAM診断部1102aのワークエリアとして使用される。
On the other hand, in the high safety area of the shared ROM 304, in addition to the example operation unit 1006 and the ALU diagnosis unit 1007, the normal RAM diagnosis unit 1102b, the normal ROM diagnosis unit 1101, and the high safety area ROM diagnosis unit for the second processor core 301b are used. 1103, a high safety area RAM diagnostic unit 1104 is placed.
Further, the normal control area of the shared third RAM 303c is a work area of a program placed in the normal control area of the ROM 304. The redundant system calculation units 1001, 1002, the target torque calculation unit 1003, the throttle target opening calculation unit 1004, the normal RAM Used as a work area for the diagnosis unit 1102a.

一方、共用の第3RAM303cのハイセーフティ領域は、通常RAM診断部1102b、通常ROM診断部1101、ハイセーフティ領域ROM診断部1103、ハイセーフティ領域RAM診断部1104のワークエリアとして割り付けられる。
また、第2プロセッサコア301bがワークエリアとして使用する第2RAM303bは、例題演算部1006、ALU診断部1007のワークエリアとして割り付けられる。
On the other hand, the high safety area of the shared third RAM 303c is allocated as a work area for the normal RAM diagnostic unit 1102b, the normal ROM diagnostic unit 1101, the high safety area ROM diagnostic unit 1103, and the high safety area RAM diagnostic unit 1104.
The second RAM 303b used as the work area by the second processor core 301b is allocated as a work area for the example calculation unit 1006 and the ALU diagnosis unit 1007.

そして、第2プロセッサコア301bは、共用のROM304のハイセーフティ領域に置かれるハイセーフティ領域ROM診断部1103に従い、共用のROM304のハイセーフティ領域及び共用のROM304の通常制御領域のうちの通常RAM診断部1102aが置かれる領域についてデータ診断(データの誤りの有無)を行う。
また、第2プロセッサコア301bは、共用のROM304のハイセーフティ領域に置かれる通常ROM診断部1101に従い、共用のROM304のハイセーフティ領域及び通常制御領域の全領域についてデータ診断(データの誤りの有無、メモリ欠陥の診断)を行う。
Then, the second processor core 301b follows the high safety area ROM diagnosis unit 1103 placed in the high safety area of the shared ROM 304, and the normal RAM diagnosis part of the high safety area of the shared ROM 304 and the normal control area of the shared ROM 304 Data diagnosis (presence / absence of data error) is performed on the area where 1102a is placed.
Further, the second processor core 301b performs data diagnosis (whether there is an error in data, whether there is data error, in accordance with the normal ROM diagnosis unit 1101 placed in the high safety area of the shared ROM 304, and all areas of the high safety area and the normal control area of the shared ROM 304). Diagnose memory defects).

一方、第2プロセッサコア301bは、共用のROM304のハイセーフティ領域に置かれるハイセーフティ領域RAM診断部1104に従い、共用の第3RAM303cのハイセーフティ領域、共用の第3RAM303cの通常制御領域のうちの通常RAM診断部1102aがワークエリアとして使用する領域、及び、第2RAM303bの全領域について診断(データ誤りの診断、メモリ欠陥の診断)を行う。
また、第2プロセッサコア301bは、共用のROM304のハイセーフティ領域に置かれる通常RAM診断部1102bに従い、共用の第3RAM303cの全領域及び第2RAM303bの全領域について診断(データ誤りの診断、メモリ欠陥の診断)を行う。
On the other hand, the second processor core 301b follows the high safety area RAM diagnosis unit 1104 placed in the high safety area of the shared ROM 304, and the normal RAM of the high safety area of the shared third RAM 303c and the normal control area of the shared third RAM 303c. Diagnosis (diagnosis of data error, diagnosis of memory defect) is performed for the area used as a work area by the diagnosis unit 1102a and the entire area of the second RAM 303b.
The second processor core 301b performs diagnosis (data error diagnosis, memory defect diagnosis) on the entire area of the shared third RAM 303c and the entire area of the second RAM 303b in accordance with the normal RAM diagnosis unit 1102b placed in the high safety area of the shared ROM 304. Diagnosis).

第1プロセッサコア301aは、第2プロセッサコア301bによる通常RAM診断部1102bに従った診断と同時又は診断完了後に、共用のROM304の通常制御領域に置かれる通常RAM診断部1102aに従い、第1RAM303aの全領域についてデータ診断(データ誤りの診断、メモリ欠陥の診断)を行う。
上記構成においても、通常ROM診断部1101及び通常RAM診断部1102a、1102bの信頼性をハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104による診断で保障する一方、ハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104の信頼性を通常ROM診断部1101及び通常RAM診断部1102bによる診断で保障する、診断部の相互監視を実現できる。
The first processor core 301a performs all of the first RAM 303a according to the normal RAM diagnosis unit 1102a placed in the normal control area of the shared ROM 304 at the same time as or after completion of the diagnosis according to the normal RAM diagnosis unit 1102b by the second processor core 301b. Data diagnosis (data error diagnosis, memory defect diagnosis) is performed for the area.
Even in the above configuration, the reliability of the normal ROM diagnosis unit 1101 and the normal RAM diagnosis units 1102a and 1102b is guaranteed by the diagnosis by the high safety region ROM diagnosis unit 1103 and the high safety region RAM diagnosis unit 1104, while the high safety region ROM diagnosis unit 1103 and the high safety area RAM diagnosis unit 1104 can be mutually monitored by the diagnosis unit to ensure the reliability of the diagnosis by the normal ROM diagnosis unit 1101 and the normal RAM diagnosis unit 1102b.

そして、通常ROM診断部1101及び通常RAM診断部1102a、1102bは、ハイセーフティ領域ROM診断部1103及びハイセーフティ領域RAM診断部1104によって短い周期で診断されるので、通常ROM診断部1101及び通常RAM診断部1102a、1102bによる全領域診断の妥当性が保障され、ROM304及びRAM33a〜303cの全領域のデータを高いレベルで保障できる。   Since the normal ROM diagnosis unit 1101 and the normal RAM diagnosis units 1102a and 1102b are diagnosed in a short cycle by the high safety area ROM diagnosis unit 1103 and the high safety area RAM diagnosis unit 1104, the normal ROM diagnosis unit 1101 and the normal RAM diagnosis The validity of the entire area diagnosis by the units 1102a and 1102b is ensured, and the data in all areas of the ROM 304 and the RAMs 33a to 303c can be ensured at a high level.

図7は、メインMPU301をシングルコアとする場合における、各種プログラムの処理の流れ、及び、RAM303の構成を示す。
図7の左側のブロックには、ROM304の通常制御領域に置かれるプログラムの処理の流れを概略的に示してあり、ROM304の通常制御領域に置かれるプログラムは、RAM303の通常制御領域にアクセスして処理を行う。
FIG. 7 shows the processing flow of various programs and the configuration of the RAM 303 when the main MPU 301 is a single core.
The block on the left side of FIG. 7 schematically shows the flow of processing of the program placed in the normal control area of the ROM 304. The program placed in the normal control area of the ROM 304 accesses the normal control area of the RAM 303. Process.

フローチャート(A)はバックグラウンド処理の一例を示す。
マイクロコンピュータ310は、ステップS2101にてリセットされることで、ステップS2102でMPU301,302の初期化処理を実施した後、ステップS2103のバックグラウンド処理を実施する。
A flowchart (A) shows an example of background processing.
The microcomputer 310 is reset in step S2101 so that the MPUs 301 and 302 are initialized in step S2102, and then the background process in step S2103 is performed.

そして、マイクロコンピュータ310は、ステップS2104にて終了フラグの判断を行い、終了フラグがセットされるまではバックグラウンド処理を継続する。
一方、マイクロコンピュータ310は、終了フラグがセットされると、ステップS2105にて各種の終了処理を実施してリセット(再起動)に待機する。
The microcomputer 310 determines the end flag in step S2104, and continues the background processing until the end flag is set.
On the other hand, when the end flag is set, the microcomputer 310 performs various end processes in step S2105 and waits for reset (restart).

また、フローチャート(B)は、タイマモジュールXに基づく割り込み処理の一例を示す。
マイクロコンピュータ310は、ステップS2201でタイマモジュールXに基づき1ms毎の割り込みがかかることで、ステップS2202にて1msタスク処理を実施し、ステップS2203にて5msタスク処理を実施し、ステップS2204にて10msタスク処理を実施し、ステップS2205にて100msタスク処理を実施する。
Further, the flowchart (B) shows an example of an interrupt process based on the timer module X.
The microcomputer 310 performs 1 ms task processing in step S2202 by performing an interrupt every 1 ms based on the timer module X in step S2201, performs 5 ms task processing in step S2203, and performs 10 ms task processing in step S2204. Processing is executed, and in step S2205, 100 ms task processing is executed.

また、フローチャート(C)は、割り込み要因(例えば、入力パルス信号の立ち上がり立ち下りなど)に基づく処理の一例を示す。
マイクロコンピュータ310は、ステップS2301にて各種の割り込み要因に基づき割り込みがかかることで、ステップS2302にて各種の割り込み処理を実施する。
Further, the flowchart (C) shows an example of processing based on an interrupt factor (for example, rising and falling of an input pulse signal).
The microcomputer 310 performs various interrupt processes in step S2302 when an interrupt is generated based on various interrupt factors in step S2301.

図7の右側のブロックには、ROM304のハイセーフティ領域に置かれるプログラムの処理の流れを概略的に示してあり、ROM304のハイセーフティ領域に置かれるプログラムは、RAM303のハイセーフティ領域にアクセスして処理を行う。
マイクロコンピュータ310は、フローチャート(D)のステップS2401にて、通常制御領域プログラムで使用されないタイマモジュールY(タイマモジュールXとは個別のタイマモジュールY)に基づき割り込みがかかることで、ステップS2402にてハイセーフティ領域プログラムの定時タスク処理を実施する。
The block on the right side of FIG. 7 schematically shows the processing flow of the program placed in the high safety area of the ROM 304. The program placed in the high safety area of the ROM 304 accesses the high safety area of the RAM 303. Process.
In step S2401 of the flowchart (D), the microcomputer 310 is interrupted based on a timer module Y that is not used in the normal control area program (timer module Y separate from the timer module X). Perform scheduled task processing of safety area program.

また、図7の中央のブロックは、RAM303における領域の切り分け、RAMデータの多重化、RAM303の通常制御領域とハイセーフティ領域との間におけるデータの受け渡し機能を示す。
ROM304のハイセーフティ領域に置かれるプログラムがアクセスするRAM303のハイセーフティ領域には、RAM303の通常制御領域からコピーしたデータ、RAM303の通常制御領域にコピーするデータ、RAM303のハイセーフティ領域内で更新されるデータが保存される。
Further, the central block in FIG. 7 shows the function of dividing the area in the RAM 303, multiplexing the RAM data, and the function of transferring data between the normal control area and the high safety area of the RAM 303.
The high safety area of the RAM 303 accessed by the program placed in the high safety area of the ROM 304 is updated in the data copied from the normal control area of the RAM 303, the data copied to the normal control area of the RAM 303, and the high safety area of the RAM 303. Data is saved.

ここで、通常制御領域とハイセーフティ領域との間におけるデータのコピー(データの受け渡し)は、ROM304のハイセーフティ領域に置かれデータチェック機能を有するマクロのソフトインターフェースによって行われる。
上記のインターフェースは、RAM303の通常制御領域に保存されているデータをRAM303のハイセーフティ領域にコピーするためのインプットインターフェースと、RAM303のハイセーフティ領域に保存されているデータをRAM303の通常制御領域にコピーするためのアウトプットインターフェースとを含む。
Here, data copying (data transfer) between the normal control area and the high safety area is performed by a macro soft interface that is placed in the high safety area of the ROM 304 and has a data check function.
The above interface has an input interface for copying data stored in the normal control area of the RAM 303 to the high safety area of the RAM 303, and copies data stored in the high safety area of the RAM 303 to the normal control area of the RAM 303. Output interface for

尚、データによっては、通常制御領域からハイセーフティ領域にコピーしたデータ、ハイセーフティ領域から通常制御領域にコピーするデータ、ハイセーフティ領域内で更新されるデータの全てに該当するものもある。
また、ソフトウェアインターフェースは、ROM304のハイセーフティ領域に代えて通常制御領域に置くことができ、この場合、RAM303のハイセーフティ領域に保存されているデータをRAM303の通常制御領域にコピーするインターフェースがインプットインターフェースとなり、RAM303の通常制御領域に保存されているデータをRAM303のハイセーフティ領域にコピーするためのインターフェースがアウトプットインターフェースとなる。
Some data may correspond to all of data copied from the normal control area to the high safety area, data copied from the high safety area to the normal control area, and data updated in the high safety area.
The software interface can be placed in the normal control area instead of the high safety area of the ROM 304. In this case, an interface for copying data stored in the high safety area of the RAM 303 to the normal control area of the RAM 303 is an input interface. Thus, an interface for copying data stored in the normal control area of the RAM 303 to the high safety area of the RAM 303 is an output interface.

RAM303のハイセーフティ領域については、データを多重化して保存する設定としてある。データの多重化として、例えば、オリジナルのデータと、当該オリジナルのデータを反転したデータ(反転値)とを対とする保存が行われる。
オリジナルデータと反転データとを対としてハイセーフティ領域に保存する場合でのソフトウェアインターフェースの処理は以下のようになる。
The high safety area of the RAM 303 is set to store data multiplexed. As the data multiplexing, for example, a pair of original data and data obtained by inverting the original data (inverted value) is stored.
The software interface process when the original data and the inverted data are stored as a pair in the high safety area is as follows.

ROM304の通常制御領域に置かれるプログラムがRAM303の通常制御領域に保存したデータを、ROM304のハイセーフティ領域に置かれるプログラムが使用する場合、インプットインターフェースは、通常制御領域側のデータをそのままハイセーフティ領域にコピーすると共に、通常制御領域側のデータの反転値をハイセーフティ領域に保存する。
一方、ROM304のハイセーフティに置かれるプログラムがRAM303のハイセーフティ領域に保存したデータを、ROM304の通常制御領域に置かれるプログラムが使用する場合、アウトプットインターフェースは、ハイセーフティ領域に対をなして保存されているオリジナルデータと反転データとが正しいか否か(反転関係にあるか否か)を判定する。
When the program placed in the normal control area of the ROM 304 uses the data stored in the normal control area of the RAM 303 by the program placed in the high safety area of the ROM 304, the input interface uses the data on the normal control area side as it is in the high safety area. And the inverted value of the data on the normal control area side is stored in the high safety area.
On the other hand, when the program stored in the high safety area of the RAM 304 uses the data stored in the high safety area of the RAM 303 by the program stored in the high safety area of the ROM 304, the output interface is stored in pairs in the high safety area. It is determined whether or not the original data and the inverted data are correct (whether they are in an inverted relationship).

そして、アウトプットインターフェースは、データが正しい場合(反転関係にある場合)には通常制御領域にオリジナルデータをコピーし、正しくない場合(反転関係にない場合)には保存データが正しくなかった(データをコピーできなかった)ことを示す情報を通常制御領域に書き込む。
尚、RAM303のハイセーフティ領域におけるデータの多重化(多面化、多重保存)は、オリジナルデータと反転データとの2重化に限定されるものではなく、同一データを2つ保存する構成とすることができ、また、3重以上に保存させることができる。
The output interface then copies the original data to the normal control area when the data is correct (when it is in an inverted relationship), and the stored data is incorrect (when it is not in an inverted relationship). Is written to the normal control area.
Note that data multiplexing (multi-faceted, multi-stored) in the high safety area of the RAM 303 is not limited to duplexing of original data and inverted data, and the same data is stored twice. In addition, it can be stored in triplicate or more.

RAM303のハイセーフティ領域に同一データを複数保存する場合であって係るデータを通常制御領域にコピーする場合、アウトプットインターフェースは、ハイセーフティ領域に多重に保存されているデータが正しいか否かを、多重データが全て一致するか否かに基づいて判定する。
そして、多重データが全て一致する場合に、通常制御領域にデータをコピーし、多重データが全て一致しない場合にはデータが正しくなかったことを示す情報を通常制御領域に書き込む。
When the same data is stored in the high safety area of the RAM 303 and the data is copied to the normal control area, the output interface determines whether the data stored in the high safety area is correct. Judgment is made based on whether or not all the multiplexed data match.
When all the multiplexed data matches, the data is copied to the normal control area, and when all the multiplexed data does not match, information indicating that the data is not correct is written to the normal control area.

一方、ROM304のハイセーフティ領域に置かれるプログラムは、RAM303のハイセーフティ領域に多重に保存されている一群のデータを相互に比較することで、反転関係や同一などの所定の多重化規則に従ってデータ保存されているか否かをチェックする。
そして、ハイセーフティ領域に置かれるプログラムは、所定の多重化規則に従ってデータ保存されている場合にそのデータを用い、多重に保存されているデータが所定の多重化保存の規則を満たさずRAM303の欠陥が発生している場合には、所定のフェイルセーフ処理を実施する。
On the other hand, a program placed in the high safety area of the ROM 304 stores data in accordance with a predetermined multiplexing rule such as an inversion relationship or the same by comparing a group of data stored in the high safety area of the RAM 303 with each other. Check if it has been done.
The program placed in the high safety area uses the data when the data is stored in accordance with a predetermined multiplexing rule, and the data stored in a multiplexed manner does not satisfy the predetermined multiplexing storage rule and the RAM 303 is defective. If this occurs, a predetermined fail-safe process is performed.

また、RAM303のハイセーフティ領域に同一データを3重以上に重複して保存させる場合、複数のデータのうちで同一であるデータの数が多いものを正しいデータとして判定し、正しいと判定されたデータを通常制御領域にコピーしたりハイセーフティ領域のプログラムが採用するデータとしたりすることができる。
例えば、RAM303のハイセーフティ領域に同一データを3重に保存する場合、3つの全てが同一であれば3重に保存させたデータの全てが正しく保存されているものと判断してそのままそのデータを用い、3つのうちの2つが同一であれば、同一である2つのデータは正しく保存されているものの、残りの1つのデータは誤った値に保存されたものと見做し、同一である2つのデータを用いるようにする。
In addition, when the same data is stored in the high safety area of the RAM 303 more than three times, data having a large number of identical data among a plurality of data is determined as correct data, and the data determined to be correct Can be copied to the normal control area or used as data adopted by the program in the high safety area.
For example, if the same data is stored in triplicate in the high safety area of the RAM 303, if all three are the same, it is determined that all of the data stored in triplicate is correctly stored and the data is used as is. If two of the three are identical, the two identical data are stored correctly, but the remaining one data is considered to be stored in the wrong value and is identical 2 Use two data.

図8は、マイクロコンピュータ310のメインMPU301がシングルコアではなくマルチコアである場合における、各種プログラムの処理の流れ、及び、RAM303の構成を示す。
図8の左側のブロックには、ROM304の通常制御領域に置かれるプログラムについての第1プロセッサコア301aによる処理の流れを概略的に示してあるが、係るブロックに記載される処理の流れ(フローチャート(A)、(B)、(C))は、図7に記したものと同様であり、詳細な説明は省略する。
FIG. 8 shows the processing flow of various programs and the configuration of the RAM 303 when the main MPU 301 of the microcomputer 310 is not a single core but a multi-core.
The block on the left side of FIG. 8 schematically shows the flow of processing by the first processor core 301a for the program placed in the normal control area of the ROM 304. The flow of processing (flow chart ( A), (B), and (C)) are the same as those described in FIG. 7, and detailed description thereof is omitted.

尚、図8に示すマルチコアシステムの場合、第1プロセッサコア301aは、第1プロセッサコア301a専用の第1RAM303a(ローカルRAM)と、第2プロセッサコア301bと共用する第3RAM303c(共用RAM)とにアクセスして処理を行い、第2プロセッサコア301bと共用するデータは第3RAM303cに保存する。
図8の右側のブロックには、ROM304のハイセーフティ領域に置かれるプログラムについての第2プロセッサコア301bによる処理の流れを概略的に示してある。
In the case of the multi-core system shown in FIG. 8, the first processor core 301a accesses the first RAM 303a (local RAM) dedicated to the first processor core 301a and the third RAM 303c (shared RAM) shared with the second processor core 301b. Then, processing is performed, and data shared with the second processor core 301b is stored in the third RAM 303c.
The block on the right side of FIG. 8 schematically shows the flow of processing by the second processor core 301b for the program placed in the high safety area of the ROM 304.

ここで、第2プロセッサコア301bは、ハイセーフティ領域の信頼性を保障するための処理を図7に示したフローチャート(D)と同様にして実施する。また、マルチコアシステムの場合、第2プロセッサコア301b側においてもバックグラウンド処理が可能であり、第2プロセッサコア301b側にも、バックグラウンド処理を示すフローチャート(E)を記載してある。
フローチャート(E)において、第2プロセッサコア301bは、ステップS2501にて開始指令を受け取ると、ステップS2502で初期化処理を実施した後、ステップS2503のバックグラウンド処理を実施する。
Here, the second processor core 301b performs the process for ensuring the reliability of the high safety area in the same manner as the flowchart (D) shown in FIG. In the case of a multi-core system, background processing is possible on the second processor core 301b side, and a flowchart (E) showing background processing is also described on the second processor core 301b side.
In the flowchart (E), when the second processor core 301b receives a start command in step S2501, the second processor core 301b performs initialization processing in step S2502, and then performs background processing in step S2503.

そして、第2プロセッサコア301bは、ステップS2504にて終了フラグの判断を行い、終了フラグがセットされるまではバックグラウンド処理を継続する。
一方、第2プロセッサコア301bは、終了フラグがセットされると、ステップS2505にて第1プロセッサコア301aに向けて第2プロセッサコア301bでの処理終了を通知する。
Then, the second processor core 301b determines the end flag in step S2504, and continues the background processing until the end flag is set.
On the other hand, when the end flag is set, the second processor core 301b notifies the first processor core 301a of the end of processing in the second processor core 301b in step S2505.

また、第2プロセッサコア301aは、第2プロセッサコア301a専用の第2RAM303b(ローカルRAM)と、第1プロセッサコア301aと共用する第3RAM303c(共用RAM)とにアクセスして処理を行い、第1プロセッサコア301aと共用するデータは第3RAM303cに保存し、ハイセーフティ領域のプログラムでしか使用しない更新データは第2RAM303bに保存する。   The second processor core 301a accesses the second RAM 303b (local RAM) dedicated to the second processor core 301a and the third RAM 303c (shared RAM) shared with the first processor core 301a to perform processing. Data shared with the core 301a is stored in the third RAM 303c, and update data used only in the high safety area program is stored in the second RAM 303b.

図8の中央のブロックは、マルチコアシステムにおける、第3RAM303cの領域切り分け、RAMデータの多重化、通常制御領域とハイセーフティ領域との間におけるデータの受け渡し機能を示す。
ハイセーフティ領域のプログラムでしか使用しない更新データは第2RAM303bに保存され、ROM304のハイセーフティ領域に置かれるプログラムがアクセスする第3RAM303cのハイセーフティ領域には、第3RAM303cの通常制御領域からコピーしたデータ、第3RAM303cの通常制御領域にコピーするデータが保存される。
The central block of FIG. 8 shows the area partitioning of the third RAM 303c, the multiplexing of RAM data, and the data transfer function between the normal control area and the high safety area in the multi-core system.
Update data that is used only by the program in the high safety area is stored in the second RAM 303b. In the high safety area of the third RAM 303c accessed by the program placed in the high safety area of the ROM 304, data copied from the normal control area of the third RAM 303c, Data to be copied is stored in the normal control area of the third RAM 303c.

そして、第3RAM303cの通常制御領域のデータをハイセーフティ領域にコピーする場合、インプットインターフェースによって多重化されてコピーされる。
一方、第3RAM303cの通常制御領域にコピーするためのデータは多重化して第3RAM303cのハイセーフティ領域に保存され、アウトプットインターフェースは第3RAM303cのハイセーフティ領域に多重に保存されているデータの整合性を判断した上で第3RAM303cの通常制御領域にコピーする。
When data in the normal control area of the third RAM 303c is copied to the high safety area, the data is multiplexed and copied by the input interface.
On the other hand, the data to be copied to the normal control area of the third RAM 303c is multiplexed and stored in the high safety area of the third RAM 303c, and the output interface is used to check the consistency of the data stored in the high safety area of the third RAM 303c. After the determination, it is copied to the normal control area of the third RAM 303c.

図9は、メインMPU301をマルチコアとする場合における、各種プログラムの処理の流れ、及び、データ受け渡し機能の別の例を示す。
図9において、第1プロセッサコア301a側の処理及び第2プロセッサコア301a側の処理は、図8に示した構成例と同様であるが、ハイセーフティ領域と通常制御領域との間におけるデータの受け渡し機能が異なる。
FIG. 9 shows another example of the processing flow of various programs and the data delivery function when the main MPU 301 is multi-core.
In FIG. 9, the processing on the first processor core 301a side and the processing on the second processor core 301a side are the same as those in the configuration example shown in FIG. 8, but data is transferred between the high safety area and the normal control area. Function is different.

図9に示した例では、第2プロセッサコア301aは、第3RAM303cの通常制御領域からコピーしたデータ、第3RAM303cの通常制御領域にコピーするデータ、ハイセーフティ領域側でのみ使用する更新データを、第2プロセッサコア301a専用の第2RAM303bに保存する。
そして、第3RAM303cの通常制御領域から第2RAM303bへのデータコピーは、ハイセーフティ領域側に置かれるインプットインターフェースによって行われ、インプットインターフェースは、第3RAM303cの通常制御領域のデータを第2RAM303bに多重化して保存する。
In the example shown in FIG. 9, the second processor core 301a receives data copied from the normal control area of the third RAM 303c, data copied to the normal control area of the third RAM 303c, and update data used only on the high safety area side. The data is stored in the second RAM 303b dedicated to the two-processor core 301a.
The data copy from the normal control area of the third RAM 303c to the second RAM 303b is performed by an input interface placed on the high safety area side, and the input interface multiplexes and stores the data of the normal control area of the third RAM 303c in the second RAM 303b. To do.

また、第2RAM303bに多重化して保存されて第3RAM303cの通常制御領域にコピーするデータは、ハイセーフティ領域側に置かれるアウトプットインターフェースによってデータチェック(多重化データの整合性判断)が行われて、第3RAM303cの通常制御領域にコピーされる。
即ち、図9に示す構成例では、多重化データを共用の第3RAM303cに保存することなく、第2プロセッサコア301a専用の第2RAM303bと、共用の第3RAM303cとの間でのデータの受け渡しを実行できることになる。
In addition, data that is multiplexed and stored in the second RAM 303b and copied to the normal control area of the third RAM 303c is subjected to data check (judgment of consistency of multiplexed data) by an output interface placed on the high safety area side, Copied to the normal control area of the third RAM 303c.
That is, in the configuration example shown in FIG. 9, data can be transferred between the second RAM 303b dedicated to the second processor core 301a and the shared third RAM 303c without storing the multiplexed data in the shared third RAM 303c. become.

なお、図9に示す構成では、データの受け渡しにおいて2プロセッサコア301a専用の第2RAM303bにアクセスすることになるため、第2プロセッサコア301a側がソフトウェアインターフェースとしての処理を実施することが必要となる。このため、ソフトウェアインターフェースは、ROM304のハイセーフティ領域に置いて第2プロセッサコア301aによって実行させる。   In the configuration shown in FIG. 9, since the second RAM 303b dedicated to the two processor cores 301a is accessed in the data transfer, the second processor core 301a side needs to perform processing as a software interface. Therefore, the software interface is placed in the high safety area of the ROM 304 and executed by the second processor core 301a.

上記実施形態で説明した各技術的思想は、矛盾が生じない限りにおいて適宜組み合わせて使用することができる。
また、好ましい実施形態を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば種々の変形態様を採り得ることは自明である。
The technical ideas described in the above embodiments can be used in appropriate combination as long as no contradiction arises.
Although the contents of the present invention have been specifically described with reference to preferred embodiments, it is obvious that those skilled in the art can take various modifications based on the basic technical idea and teachings of the present invention. is there.

上記の電子制御装置300は電制スロットル210を制御対象とするが、制御対象は電制スロットル210に限定されるものでないことは明らかであり、例えば、燃料噴射装置、自動変速装置、ブレーキ装置などを制御対象することができる。
また、電子制御装置300は、メインMPU301と共に、メインMPU301の監視を行うサブMPU302を備えるが、サブMPU302を省略した構成とすることができる。
Although the electronic control device 300 controls the electric throttle 210, the control target is obviously not limited to the electric throttle 210. For example, a fuel injection device, an automatic transmission, a brake device, etc. Can be controlled.
The electronic control apparatus 300 includes a sub MPU 302 that monitors the main MPU 301 together with the main MPU 301, but the sub MPU 302 may be omitted.

また、電子制御装置300のメインMPU301、サブMPU302を、メインCPU、サブCPUと読み替えることができる。
また、サブMPU302によるメインMPU301の監視方式として、前述した例題回答方式の他、メインMPU301が出力する所定周期のパルス信号をサブMPU302で監視するウォッチドックタイマ(WDT)方式を採用することができる。
Further, the main MPU 301 and the sub MPU 302 of the electronic control device 300 can be read as the main CPU and the sub CPU.
As a monitoring method of the main MPU 301 by the sub MPU 302, a watchdog timer (WDT) method in which the sub MPU 302 monitors a pulse signal having a predetermined period output from the main MPU 301 can be adopted in addition to the above-described example answer method.

ここで、上記実施形態から把握し得る請求項以外の技術的思想について、以下に効果と共に記載する。
(イ)
前記通常演算領域及び重要演算領域を含む全領域は、前記メモリ診断によって診断される領域に実装される通常メモリ診断処理により診断される、請求項1から3のいずれか1つに記載の自動車用電子制御装置。
上記発明によると、重要演算領域のメモリ診断と、全領域の通常メモリ診断の相互監視が実現され、これにより、全領域の通常メモリ診断の妥当性が保障される。
Here, technical ideas other than the claims that can be grasped from the above embodiment will be described together with effects.
(I)
The whole area including the normal calculation area and the important calculation area is diagnosed by a normal memory diagnosis process implemented in the area diagnosed by the memory diagnosis. Electronic control device.
According to the above-described invention, the mutual diagnosis of the memory diagnosis of the important calculation area and the normal memory diagnosis of the entire area is realized, thereby ensuring the validity of the normal memory diagnosis of the entire area.

(ロ)
前記メモリ診断による診断は、前記通常メモリ診断処理による診断よりも短周期で実施される、請求項(イ)記載の自動車用電子制御装置。
上記発明によると、重要演算領域は、メモリ診断及び通常メモリ診断処理で2重に診断されると共に、メモリ診断が通常メモリ診断処理よりも短い周期で診断するので、通常演算領域よりも高いレベルのデータ保障を行える。
(B)
The automobile electronic control device according to claim 1, wherein the diagnosis by the memory diagnosis is performed in a shorter cycle than the diagnosis by the normal memory diagnosis process.
According to the above invention, the important calculation area is diagnosed twice by the memory diagnosis and the normal memory diagnosis process, and the memory diagnosis is diagnosed at a cycle shorter than that of the normal memory diagnosis process. Data security can be performed.

(ハ)
前記通常演算領域に外部デバイスを制御する制御用プログラムが実装され、前記重要演算領域に診断用プログラムが実装される、請求項1から3、(イ)、(ロ)のいずれか1つに記載の自動車用電子制御装置。
上記発明によると、制御の安全性を左右する診断用プログラムの保障がなされ、自動車の安全性を向上させることができる。
(C)
The control program for controlling an external device is mounted in the normal calculation area, and the diagnosis program is mounted in the important calculation area. 5. Electronic control unit for automobiles.
According to the above invention, the diagnostic program that affects the safety of the control is guaranteed, and the safety of the automobile can be improved.

(ニ)
前記重要演算領域のプログラムを実行するときの定時タスク処理を実現するためのタイマモジュールと、前記通常演算領域のプログラムを実行するときの定時タスク処理を実現するためのタイマモジュールとを個別に備える、請求項1から3、(イ)から(ハ)のいずれか1つに記載の自動車用電子制御装置。
上記発明によると、通常演算領域用と重要演算領域用とで個別のタイマモジュールを用いることで、通常演算領域での定時タスク処理と重要演算領域での定時タスク処理との独立性が保障される。
(D)
A timer module for realizing a scheduled task process when executing the program of the important calculation area and a timer module for realizing the scheduled task process when executing the program of the normal calculation area are individually provided. The electronic control device for automobiles according to any one of claims 1 to 3 and (a) to (c).
According to the above invention, the use of separate timer modules for the normal calculation area and the important calculation area ensures independence between the scheduled task process in the normal calculation area and the scheduled task process in the important calculation area. .

(ホ)
前記重要演算領域のプログラムを実行する第1のプロセッサコアと、前記通常演算領域のプログラムを実行する第2のプロセッサコアとからなるマルチコアで構成される、請求項1から3、(イ)から(ニ)のいずれか1つに記載の自動車用電子制御装置。
上記発明によると、CPU(MPU)がマルチコアである場合に、重要演算領域のプログラムの実行と通常演算領域のプログラムの実行とでコアを使い分ける構成として、ローカルRAM診断の並行実施などを可能とする。
(E)
From (1) to (3), comprising (a) a multi-core consisting of a first processor core that executes the program in the important calculation area and a second processor core that executes the program in the normal calculation area. The electronic control apparatus for motor vehicles as described in any one of d).
According to the above invention, when the CPU (MPU) is multi-core, the local RAM diagnosis can be executed in parallel as a configuration in which the core is used separately for the execution of the program in the important calculation area and the execution of the program in the normal calculation area. .

100…自動車、200…エンジン、210…電子制御スロットル、300…電子制御装置、301…メインMPU、302…サブMPU、303…RAM
DESCRIPTION OF SYMBOLS 100 ... Automobile, 200 ... Engine, 210 ... Electronic control throttle, 300 ... Electronic control unit, 301 ... Main MPU, 302 ... Sub MPU, 303 ... RAM

Claims (3)

メモリの領域が通常演算領域と重要演算領域との2領域に分けられ、前記重要演算領域は当該重要演算領域に実装されたメモリ診断処理により診断される、自動車用電子制御装置。   An automotive electronic control device in which a memory area is divided into two areas, a normal calculation area and an important calculation area, and the important calculation area is diagnosed by a memory diagnosis process installed in the important calculation area. 前記メモリとしてのRAM上の重要演算領域はデータを多重化して保存する、請求項1記載の自動車用電子制御装置。   The automobile electronic control device according to claim 1, wherein the important calculation area on the RAM as the memory stores data multiplexed. 前記メモリとしてのRAMの通常演算領域と重要演算領域との間におけるデータの受け渡しを、データチェック機能を有するインターフェースによって行う、請求項1又は請求項2記載の自動車用電子制御装置。   The electronic control device for an automobile according to claim 1 or 2, wherein data is transferred between a normal calculation area and an important calculation area of a RAM as the memory by an interface having a data check function.
JP2013151568A 2013-07-22 2013-07-22 Electronic control unit for automobile Active JP6145345B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013151568A JP6145345B2 (en) 2013-07-22 2013-07-22 Electronic control unit for automobile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013151568A JP6145345B2 (en) 2013-07-22 2013-07-22 Electronic control unit for automobile

Publications (2)

Publication Number Publication Date
JP2015022622A true JP2015022622A (en) 2015-02-02
JP6145345B2 JP6145345B2 (en) 2017-06-07

Family

ID=52486985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013151568A Active JP6145345B2 (en) 2013-07-22 2013-07-22 Electronic control unit for automobile

Country Status (1)

Country Link
JP (1) JP6145345B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016170567A (en) * 2015-03-12 2016-09-23 日立オートモティブシステムズ株式会社 Vehicle electronic control unit
WO2017090364A1 (en) 2015-11-25 2017-06-01 日立オートモティブシステムズ株式会社 Vehicle control device
JP2017131064A (en) * 2016-01-21 2017-07-27 ヤンマー株式会社 Diagnostic device and power conversion device
JP2017134507A (en) * 2016-01-26 2017-08-03 日立オートモティブシステムズ株式会社 Memory management system
JP2017150397A (en) * 2016-02-25 2017-08-31 スズキ株式会社 Driving state recording device
JP2019002323A (en) * 2017-06-14 2019-01-10 株式会社デンソー Electronic control device
CN114007906A (en) * 2019-07-12 2022-02-01 日立安斯泰莫株式会社 Safety processing device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091834A (en) * 2000-09-19 2002-03-29 Nissan Motor Co Ltd Rom diagnostic device
JP2006268266A (en) * 2005-03-23 2006-10-05 Mitsubishi Electric Corp Control unit
JP2006288266A (en) * 2005-04-11 2006-10-26 Asahi Kasei Corp Method for producing fusant of yeast
JP2011028657A (en) * 2009-07-28 2011-02-10 Fuji Electric Holdings Co Ltd Ram diagnosis device and program
JP2011178252A (en) * 2010-03-01 2011-09-15 Nsk Ltd Electric power steering device
JP2012104064A (en) * 2010-11-12 2012-05-31 Fuji Electric Co Ltd Failure diagnostic device for ram and program thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091834A (en) * 2000-09-19 2002-03-29 Nissan Motor Co Ltd Rom diagnostic device
JP2006268266A (en) * 2005-03-23 2006-10-05 Mitsubishi Electric Corp Control unit
JP2006288266A (en) * 2005-04-11 2006-10-26 Asahi Kasei Corp Method for producing fusant of yeast
JP2011028657A (en) * 2009-07-28 2011-02-10 Fuji Electric Holdings Co Ltd Ram diagnosis device and program
JP2011178252A (en) * 2010-03-01 2011-09-15 Nsk Ltd Electric power steering device
JP2012104064A (en) * 2010-11-12 2012-05-31 Fuji Electric Co Ltd Failure diagnostic device for ram and program thereof

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016170567A (en) * 2015-03-12 2016-09-23 日立オートモティブシステムズ株式会社 Vehicle electronic control unit
WO2017090364A1 (en) 2015-11-25 2017-06-01 日立オートモティブシステムズ株式会社 Vehicle control device
US10789184B2 (en) 2015-11-25 2020-09-29 Hitachi Automotive Systems, Ltd. Vehicle control device
JP2017131064A (en) * 2016-01-21 2017-07-27 ヤンマー株式会社 Diagnostic device and power conversion device
JP2017134507A (en) * 2016-01-26 2017-08-03 日立オートモティブシステムズ株式会社 Memory management system
JP2017150397A (en) * 2016-02-25 2017-08-31 スズキ株式会社 Driving state recording device
JP2019002323A (en) * 2017-06-14 2019-01-10 株式会社デンソー Electronic control device
CN114007906A (en) * 2019-07-12 2022-02-01 日立安斯泰莫株式会社 Safety processing device
CN114007906B (en) * 2019-07-12 2024-03-15 日立安斯泰莫株式会社 Safety processing device

Also Published As

Publication number Publication date
JP6145345B2 (en) 2017-06-07

Similar Documents

Publication Publication Date Title
JP6145345B2 (en) Electronic control unit for automobile
US20150175170A1 (en) Electronic control unit
JP2009030543A (en) In-vehicle engine control device
EP2045721B1 (en) Multicore abnormality monitoring device
CN103309344B (en) The system and method for the integrity of the vehicle control system of checking safety-critical
US20050085967A1 (en) On-vehicle electronic control device
JP5163807B2 (en) Microcomputer mutual monitoring system and microcomputer mutual monitoring method
EP3198725B1 (en) Programmable ic with safety sub-system
JP5967059B2 (en) Electronic control device for vehicle
KR20190035480A (en) Microcontroller and control method of the same
Alcaide et al. Software-only diverse redundancy on GPUs for autonomous driving platforms
Alhakeem et al. A framework for adaptive software-based reliability in COTS many-core processors
KR102131230B1 (en) Method for self diagnosis of ram error detection logic in powertrain ecu system and apparatus thereof
CN110140112B (en) Periodic non-invasive diagnostics for lockstep systems
US20150339179A1 (en) Control of microprocessors
Baumeister Using Decoupled Parallel Mode for Safety Applications
Venu et al. A fail-functional automotive CPU subsystem architecture for mitigating single point of failures
Großmann et al. Efficient application of multi-core processors as substitute of the E-Gas (Etc) monitoring concept
JP5872982B2 (en) Vehicle control device
JP2012068788A (en) Information processing device and failure detection method
Shubinsky Methods of software functional dependability assurance
El-Bayoumi An enhanced algorithm for memory systematic faults detection in multicore architectures suitable for mixed-critical automotive applications
US9772897B1 (en) Methods and systems for improving safety of processor system
JP6466269B2 (en) Electronic control device and stack area usage monitoring method
JP2002047998A (en) Controller for vehicle

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170515

R150 Certificate of patent or registration of utility model

Ref document number: 6145345

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250