JP2016071771A - 制御装置及び監視装置 - Google Patents

制御装置及び監視装置 Download PDF

Info

Publication number
JP2016071771A
JP2016071771A JP2014202822A JP2014202822A JP2016071771A JP 2016071771 A JP2016071771 A JP 2016071771A JP 2014202822 A JP2014202822 A JP 2014202822A JP 2014202822 A JP2014202822 A JP 2014202822A JP 2016071771 A JP2016071771 A JP 2016071771A
Authority
JP
Japan
Prior art keywords
cpu
monitoring
cpus
monitored
control process
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.)
Pending
Application number
JP2014202822A
Other languages
English (en)
Inventor
鈴木 拓也
Takuya Suzuki
拓也 鈴木
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 JP2014202822A priority Critical patent/JP2016071771A/ja
Publication of JP2016071771A publication Critical patent/JP2016071771A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】制御処理の継続性を確保しつつ、異常の検出が可能な制御装置を提供する。【解決手段】エンジンECU20は、4つのCPU1〜4によりエンジン制御処理を実行する。CPU1〜4は、それらの全てが監視側CPU及び被監視側CPUに該当し、且つそれぞれの監視対象のCPUが全て異なるように他のCPUを監視する。また、CPU1〜4のいずれかに異常が生じた際、残りの正常なCPUは、退避用のエンジン制御処理の実行が可能な場合、当該退避用のエンジン制御処理を実行する。残りの正常なCPUは、退避用のエンジン制御処理の実行が不可能な場合、監視IC22へのウォッチドッグ信号の送信を停止する。【選択図】図2

Description

本発明は、複数の演算部を有する制御装置、及び制御装置を監視する監視装置に関する。
この種の制御装置としては、特許文献1に記載の制御装置がある。特許文献1に記載の制御装置は、2つのマイクロコンピュータ(以下、「マイコン」と略記する)と、2つのマイコンを監視する監視部とを備えている。2つのマイコンは同一周期のウォッチドッグ信号を異なるタイミングで監視部に送信する。監視部は、一方のマイコンからのウォッチドッグ信号の送信時期と、他方のマイコンからのウォッチドッグ信号の送信時期とが所定時間以上ずれることに基づき異常を検出する。監視部は、異常を検出した場合、各マイコンにリセット信号を送信することで、各マイコンを初期化する。
特開平3−217364号公報
ところで、特許文献1に記載の制御装置では、2つのマイコンのいずれか一方に異常が生じると、異常なマイコンと共に正常なマイコンも初期化されてしまう。その際、2つのマイコンにより実行されていた制御処理が一時的に停止するため、制御システム全体が一時的に停止してしまう。そのため、制御処理の継続性の観点からすると改良の余地を残すものとなっている。
本発明は、こうした実情に鑑みてなされたものであり、その目的は、制御処理の継続性を確保しつつ、異常の検出が可能な制御装置及び監視装置を提供することにある。
上記課題を解決する制御装置は、3つ以上の複数の演算部(1,2,3,4)により制御処理を実行する。監視する側の演算部を監視側演算部とし、監視される側の演算部を被監視側演算部とするとき、複数の演算部は、それらの全てが監視側演算部及び被監視側演算部に該当し、且つそれぞれの監視対象の演算部が全て異なるように他の演算部をそれぞれ監視する。複数の演算部のいずれかに異常が生じた際、残りの正常な演算部は、制御処理の実行が可能な場合、制御処理を実行するとともに、制御処理の実行が不可能な場合、特定の動作を行う。
本発明によれば、複数の演算部のいずれかに異常が生じた際、残りの正常な演算部により制御処理の実行が可能な場合には、残りの正常な演算部が制御処理を実行するため、制御の継続性を確保することができる。また、制御処理の実行が不可能な場合には、残りの正常な演算部が特定の動作を行うため、当該特定の動作の検出に基づき制御装置の異常を検出することもできる。
本発明によれば、制御処理の継続性を確保しつつ、制御装置の異常を検出することができる。
エンジン制御装置の概略構成を示すブロック図。 エンジンECUの一実施形態についてその概略構成を示すブロック図。 実施形態のCPU及び監視ICによる相互監視の概要を模式的に示す図。 (a)〜(e)は、実施形態のCPU及びマイコンからのウォッチドッグ信号の出力態様をそれぞれ示すタイミングチャート。 実施形態のCPU及び監視ICによる相互監視の概要を模式的に示す図。 実施形態のROMに記憶されている情報を示す図表。 実施形態のROMに記憶されている制御処理の再配分テーブルの具体的な内容を示す図表。 実施形態のRAMに記憶されている情報を示す図表。 実施形態の各CPUにより実行されるWD信号監視処理の手順を示すフローチャート。 実施形態の各CPUにより実行されるWD信号送信処理の手順を示すフローチャート。 実施形態の各CPUにより実行される異常検出処理の手順を示すフローチャート。 実施形態の各CPUにより実行される制御再配分処理の手順を示すフローチャート。 実施形態のマイコンの動作を示すフローチャート。 実施形態の監視ICにより実行される監視処理の手順を示すフローチャート。 (a)〜(c)は、実施形態のマイコン、監視ICからマイコンに送信されるリセット信号Sr、及び監視ICのカウンタCの値の推移をそれぞれ示すタイミングチャート。
以下、エンジン制御装置の一実施形態について説明する。はじめに、本実施形態のエンジン制御装置の概要について説明する。
図1に示されるように、本実施形態のエンジン制御装置10は、エンジンECU(電子制御装置)20と、センサ装置30とを備えている。
センサ装置30は、例えばアクセルペダルポジションセンサ31やエアフロメータ32、クランク角センサ33等からなる。アクセルペダルポジションセンサ31は、アクセルペダルの踏み込み量を検出する。エアフロメータ32は、エンジンの吸入空気量を検出する。クランク角センサ33は、エンジンの出力軸であるクランクシャフトの回転角(クランク角)を検出する。センサ装置30から出力される検出信号は、エンジンECU20に取り込まれている。
エンジンECU20は、センサ装置の検出信号に基づきスロットルモータ40やイグニッションコイル41、インジェクタ42等を駆動させることにより、電子スロットル制御や点火時期制御、燃料噴射制御等を実行する。
次に、エンジンECU20の構成について詳述する。
図2に示されるように、エンジンECU20は、マイコン21と、監視部としての監視IC22とを備えている。
マイコン21は、4つの中央演算処理装置(CPU)1〜4と、ROM(Read Only Memory)5と、RAM( Random Access Memory)6と、入出力ポート7と、電源回路8とを有している。
CPU1〜4は、通信用のバス9を介してROM5やRAM6、入出力ポート7と各種データを授受することが可能となっている。CPU1〜4は、エンジンECU20により実行される電子スロットル制御や点火時期制御等のエンジン制御に係る各種制御処理を分担して実行する。以下では、便宜上、CPU1〜4によりそれぞれ実行される制御処理を、第1制御処理、第2制御処理、第3制御処理、及び第4制御処理と略記する。また、CPU1〜4は、符号の値が小さいものから順に、CPU番号1〜4が割り振られている。すなわち、CPU1にはCPU番号「1」が、CPU2にはCPU番号「2」が、CPU3にはCPU番号「3」が、CPU4にはCPU番号「4」がそれぞれ割り振られている。CPU1〜4は、それぞれの状態を相互に監視している。
ROM5は、各種制御プログラムや、それらの制御で用いられる制御データ等が記憶された読み出し専用のメモリである。RAM6は、CPU1〜4の演算結果等を一時的に記憶するメモリである。ROM5及びRAM6は、CPU1〜4により記憶部として共用されている。
入出力ポート7は監視IC22と通信可能に接続されている。入出力ポート7は、CPU1〜4と監視IC22との間で信号やデータの授受を行う。
電源回路8は、図示しない車載バッテリから供給される駆動電圧Vmに基づき各CPU1〜4の動作電圧Vmmを生成する。すなわち、CPU1〜4は、電源回路8から供給される動作電圧Vmmにより駆動する。
監視IC22は、カウンタC等を有する集積回路からなる。監視IC22はマイコン21の状態を監視している。監視IC22は、マイコン21の異常を検出した場合、マイコン21の電源回路8にリセット信号Srを送信する。このリセット信号Srに基づき電源回路8がCPU1〜4への電圧の付与を停止することにより、CPU1〜4の動作がリセットされる。
本実施形態の監視装置50は、監視対象のマイコン21と、マイコン21を監視する監視IC22とにより構成されている。
次に、本実施形態のCPU1〜4及び監視IC22による監視構成の概要について説明する。
図3に矢印で示されるように、CPU1〜4はリング状に監視し合う関係を構築している。なお、矢印の根元のCPUは被監視側のCPUを示し、矢印の先のCPUは監視側のCPUを示している。よって、CPU1はCPU4を監視している。CPU2はCPU1を監視している。CPU3はCPU2を監視している。CPU4はCPU3を監視している。このように、CPU1〜4は、監視する側のCPUを監視側CPUとし、監視される側のCPUを被監視側CPUとすると、それらの全てが監視側CPU及び被監視側CPUに該当し、且つそれぞれの監視対象のCPUが全て異なるように他のCPUをそれぞれ監視している。
具体的には、CPU1〜4は、「CPU1→CPU2→CPU3→CPU4→CPU1→・・・」の順でリング状にウォッチドッグ(WD)信号を出力する。図4(a)〜(d)に示されるように、WD信号は、ローレベル(L)からハイレベル(H)に変化するパルス信号からなる。前回のCPUによるWD信号の送信時刻から次のCPUのWD信号の送信時刻までの時間間隔は、一定時間Tに設定されている。したがって、CPU1〜4のそれぞれからWD信号が出力される周期は、基本的には「4×T」に設定されている。周期Tは、例えば4[ms」に設定される。
CPU1〜4は、被監視側CPUがWD信号を前回出力した時刻から時間閾値Tthが経過しても次のWD信号を出力しなかった場合、被監視側CPUに異常が生じたと判断する。時間閾値Tthは、例えば各CPU1〜4のWD信号の出力周期である「4×T」よりも僅かに大きい値に設定される。
なお、本実施形態では、被監視側CPUは、監視側CPUにWD信号を直接送信せずに、WD信号の出力情報をRAM6に保存する。したがって、監視側CPUは、RAM6に記憶された被監視側CPUのWD信号の出力情報に基づき被監視側CPUからWD信号が出力されたか否かを判定する。
また、図3に矢印で示されるように、各CPU1〜4は、WD信号の出力情報をRAM6に保存する際に、監視IC22にもWD信号を併せて送信する。したがって、図4(e)に示されるように、マイコン21は監視IC22に一定の周期TでWD信号を送信する。監視IC22は、このマイコン21から出力されるWD信号に基づきマイコン21の異常の有無を検出する。
一方、CPU1〜4は、それらのいずれかに異常が生じた場合、残りの正常なCPUにより退避用のエンジン制御処理を実行可能か否かを判断する。退避用のエンジン制御処理は、例えば車両が路肩等の安全な場所に停車するまでの車両走行を可能とすべく、車両走行に何らかの制限が設けられたエンジン制御処理を示す。車両走行の制限としては、例えば走行可能距離を短い距離に制限し、且つ走行可能速度を低速に制限するといった方法が考えられる。CPU1〜4は、例えば残りの正常なCPUの数が予め定められた最小CPU数以上であって、且つ異常なCPUが主要CPUでない場合には、退避用のエンジン制御処理を実行可能であると判断する。最小CPU数は、退避用のエンジン制御処理を実行するために必要な最低限のCPUの数である。主要CPUは、退避用のエンジン制御処理の実行に不可欠であって、且つそのCPUにより実行されている制御処理を他のCPUに代行させることが不可能なCPUを示す。異常なCPUを除く残りの正常なCPUは、退避用のエンジン制御処理を実行可能な場合には、当該退避用のエンジン制御処理を実行する。その際、残りの正常なCPUは、異常なCPUにより実行されていた制御処理を代行可能であれば、これを代行する。また、残りの正常なCPUは、異常なCPUが監視側CPU及び被監視側CPUのいずれにも該当しないようにリング状の監視体制を再構築する。例えば図5に示されるようにCPU4に異常が生じた場合、CPU1は、CPU3を監視する状態に移行する。これにより、残りの正常なCPU1〜3によりリング状の監視体制が再構築される。
また、残りの正常なCPUは、正常なCPUの数が最小CPU数未満である場合、あるいは異常なCPUが主要CPUである場合には、退避用のエンジン制御処理の実行が不可能であると判定する。この場合、残りの正常なCPUは、監視IC22へのWD信号の送信を停止する。これにより、監視IC22は、マイコン21からのWD信号の送信がないことに基づきマイコン21の異常を検出する。このとき、監視IC22は、マイコン21にリセット信号Srを送信することにより、各CPU1〜4の動作を初期化し、マイコン21を復旧させる。
次に、上記のような相互監視を実現するためにマイコン21及び監視IC22が有する具体的な構成について説明する。
図6に示されるように、ROM5には、以下の(a1)〜(a6)に示す情報が記憶されている。
(a1)各CPU1〜4により実行されるプログラム。
(a2)全CPUの数。本実施形態では、この値は「4」となっている。
(a3)退避用のエンジン制御処理の実行に必要な最小CPU数。この値は、全CPU数よりも小さい値(例えば「2」)に設定される。
(a4)主要CPUの番号。例えばCPU2が主要CPUである場合、ここにはCPU2のCPU番号である「2」が記憶されている。
(a5)WD信号の送信周期T。
(a6)制御処理の再配分テーブル。再配分テーブルは、図7に示されるように、異常発生CPUと、異常発生CPUの担当制御処理と、処理引取先CPUと、処理先頭アドレス等の情報からなる。処理引取先CPUは、対応するCPUに異常が生じた際に、そのCPUにより実行されている処理を代行するCPUを示す。
なお、図7において、各CPU1〜4により実行される第1〜第4制御処理のうち、第1制御処理及び第4制御処理には、処理引取先CPUが記載されている。これらの制御処理は、退避用のエンジン制御処理の実行中に他のCPUが実行して処理を行う必要のある制御処理、例えば燃料噴射制御や点火時期制御等が該当する。なお、処理引取先CPUは、各CPU1〜4が担当する制御処理の負担を考慮した上で、実行すべき処理負担の少ないCPUに、処理負担の大きな制御処理が割り振られるように設定されている。
また、CPU2が実行する第2制御処理には処理引取先CPUが記載されていない。これは、CPU2は主要CPUであるため、その制御処理を代行可能なCPUが存在しないためである。
さらに、CPU3が実行する第3制御処理にも処理引取先CPUが記載されていない。この第3制御処理は、車両走行に直接関わらない制御処理、例えば電子スロットル制御等が該当する。第3制御処理は、退避用のエンジン制御処理中に処理を行わずとも、例えば固定値設定で対応可能であるため、制御処理の引き渡しが行われないようになっている。
図8に示されるように、RAM6にはWD信号の前回送信時刻Twdが記憶されている。例えば現時点でWD信号の送信を最後に行ったCPUがCPU3であれば、CPU3がWD信号の送信を行った時刻が前回送信時刻Twdとして記憶される。
また、RAM6には、CPU1〜4毎に以下の(b1)〜(b7)に示される情報が記憶されている。
(b1)自身のCPU番号。ここには、例えばCPU1の情報であれば、自身のCPU番号「1」が記憶されている。
(b2)自身が監視するCPU(以下、「監視対象CPU」と略記する)の番号。ここには、例えばCPU1の情報であれば、監視対象のCPU4の番号である「4」が記憶されている。
(b3)自身を監視するCPU(以下、「監視元CPU」と略記する)の番号。ここには、例えばCPU1の情報であれば、監視元のCPU2の番号である「2」が記憶されている。
(b4)監視対象CPUからのWD信号の出力情報。ここには、例えばCPU1の情報であれば、監視対象のCPU4からのWD信号の出力情報が記憶される。
(b5)自身の動作状態。ここには、例えばCPU1の情報であれば、CPU1が正常及び異常のいずれの状態であるかが記憶される。初期状態では、ここには「正常状態」の旨が記憶されている。
(b6)異常検出情報。ここには、例えばCPU1の情報であれば、CPU1が監視対象CPU4の異常を検出した際に、その旨が記憶される。初期状態では、ここには「異常検出無し」の旨が記憶されている。
(b7)WD信号未受信時間。ここには、例えばCPU1の情報であれば、CPU1がCPU4からのWD信号の出力を前回確認した時点からの経過時間が記憶されている。なお、経過時間の計測は、例えばマイコン21に設けられたカウンタの計数により行われる。
各CPU1〜4は、図6に示されるROM5に記憶されている情報、及び図8に示されるRAM6に記憶されているCPU1〜4毎の情報に基づき図9に示される処理を所定の演算周期で繰り返し実行する。演算周期は、例えば0.5[ms]に設定される。なお、各CPU1〜4が実行する処理は同一であるため、以下では、便宜上、CPU1が実行する処理について代表して説明する。
図9に示されるように、CPU1は、まず、RAM6の自身の情報におけるWD信号の未受信時間が時間閾値Tth以上であるか否かを判断する(ステップS10)。CPU1は、WD信号の未受信時間が時間閾値Tth未満である場合(ステップS11:NO)、換言すればCPU4からのWD信号の出力を前回確認した時点からの経過時間が時間閾値Tth未満である場合には、ステップS14の処理を実行する。すなわち、CPU1は、RAM6の自身の情報における監視対象CPU4からのWD信号出力情報が「出力有り」となっているか否かを判断する(ステップS14)。CPU1は、監視対象CPU4からのWD信号の出力情報が「出力無し」となっている場合(ステップS14:NO)、処理を一旦終了する。
CPU1は、監視対象CPU4からのWD信号の出力情報が「出力有り」となっている場合には(ステップS14:YES)、監視対象CPU4からWD信号が正常に出力されたと判定する。この場合、CPU1は、RAM6の自身の情報におけるWD信号未受信時間をクリアするとともに(ステップS15)、監視対象CPU4からのWD信号の出力情報を「出力無し」に設定し(ステップS16)、WD信号送信イベントを発行する(ステップS17)。
CPU1は、WD信号送信イベントを発行した場合、RAM6に記憶されているWD信号の前回送信時刻Twdからの経過時間をマイコン21の内蔵タイマを用いて計測する。CPU1は、内蔵タイマのカウント値からWD信号の前回送信時刻Twdを減算した値、換言すればWD信号の前回送信時刻Twdからの経過時間が、ROM5に記憶されているWD信号の送信周期Tを超えた際に、図10に示されるWD信号送信処理を割り込み処理として実行する。
具体的には、図10に示されるように、CPU1は、監視IC22にWD信号を送信する(ステップS170)。また、CPU1は、RAM6のCPU2の情報におけるWD信号出力情報を「出力有り」に変更する(ステップS171)。これにより、CPU1の監視元であるCPU2は、CPU1からWD信号が正常に出力されたと判定することが可能となる。さらに、CPU1は、現在の時刻を前回送信時刻TwdとしてRAM6に記憶させる(ステップS172)。
以上の処理は、「CPU1→CPU2→CPU3→CPU4→CPU1→・・・」の順で実行される。すなわち、この順でWD信号の出力が行われる。
一方、図9に示されるように、CPU1は、監視対象CPU4からWD信号が出力されないまま(ステップS14:NO)、WD信号の未受信時間が時間閾値Tth以上になった場合には(ステップS10:YES)、監視対象CPU4に異常が生じたと判定する。この場合、CPU1は、RAM6の自身の情報における異常検出情報を「異常検出有り」に変更するとともに(ステップS11)、異常の生じた監視対象CPU4を停止させる(ステップS12)。なお、CPU1は、マイコン21に搭載された各CPU1〜4の停止機能を用いることにより、例えば動作クロックを停止させる等してCPU4を停止させる。また、CPU1は、RAM6の監視対象CPU4の情報における動作状態を「異常状態」に変更する(ステップS13)。
このようにしてCPU1がCPU4の異常を検出した場合、停止したCPU4の除く残りの正常なCPU1〜3の全てが、図11に示される異常発生時処理を割り込み処理として実行する。すなわち、各CPU1〜3は、RAM6の自身の情報におけるWD信号未受信時間をクリアした後(ステップS20)、退避用のエンジン制御処理を実行可能か否かを判定する(ステップS21)。各CPU1〜3は、残りの正常なCPUの数がROM5に記憶された最小CPU数以上であって、且つ異常なCPU4の番号が主要CPU番号でない場合には、退避用のエンジン制御処理を実行可能であると判定する(ステップS21:YES)。この場合、各CPU1〜3は、監視元CPUが正常であるか否かを判断する(ステップS22)。
ここで、上記のようにCPU4のみに異常が生じた場合、CPU4を監視元とするCPU3のみが否定処理を行い(ステップS22:NO)、それ以外のCPU1,2は肯定処理を行う(ステップS22:YES)。このとき、CPU3は、監視元CPU4のCPU番号が最大値であるか否かを判断する(ステップS23)。この場合、監視元CPU4のCPU番号が最大値であるため(ステップS23:YES)、CPU3は、正常且つCPU番号が最小値のCPU1のCPU番号を、RAM6の自身の情報における監視元のCPU番号として記憶させる(ステップS24)。
次に、各CPU1〜3は、監視対象CPUが正常であるか否かを判断する(ステップS26)。ここで、上記のようにCPU4のみに異常が生じた場合、CPU4を監視対象とするCPU1のみが否定処理を行い(ステップS26:NO)、それ以外のCPU2,3は肯定処理を行う(ステップS26:YES)。このとき、CPU1は、監視対象CPU1のCPU番号が最小値であるか否かを判断する(ステップS27)。この場合、監視対象CPU1のCPU番号が最小値であるため(ステップS27:YES)、CPU1は、正常且つCPU番号が最大値のCPU3のCPU番号をRAM6の自身の情報における監視対象CPUの番号として記憶させる(ステップS28)。
以上の処理により、各CPU1〜4の監視状態は、図3に示される状態から、図5に示される状態へと移行する。すなわち、CPU1〜3によりリング状の監視体制が再構築される。
次に、正常なCPU1〜3は、RAM6の自身の情報における異常検出情報に基づき、自身が異常検出CPUか否かを判断する(ステップS30)。ここで、上記のようにCPU4のみに異常が生じた場合、CPU1の異常検出情報が「異常検出有り」となっている。そのため、CPU1は、自身が異常検出CPUであると判断し(ステップS30:YES)、WD信号送信イベントを発行する(ステップS31)。これにより、CPU1が、図10に示されるWD信号送信処理を実行する。一方、CPU2,3は、自身が異常検出CPUでないため(ステップS30:NO)、処理を終了する。これにより、CPU1〜3によりリング状の監視体制が再構築された後には、CPU1からWD信号の出力が開始されることとなる。
なお、上記では、CPU4のみに異常が生じた場合を例に挙げて説明したが、例えばCPU3のみに異常が生じた場合、CPU3を監視元とするCPU2は、監視元CPU3が異常であると判断する(ステップS22:NO)。このとき、監視元CPU3のCPU番号が最大値でないため(ステップS23:NO)、CPU2は、監視元CPU3のCPU番号に「1」を加算した値、すなわちCPU4のCPU番号をRAM6の自身の情報における監視元CPUの番号として記憶させる(ステップS25)。
またこの場合、CPU3を監視対象とするCPU4は、監視対象CPU3が異常であると判断する(ステップS26:NO)。このとき、監視対象CPU3のCPU番号は最小値でないため(ステップS27:NO)、CPU4は、監視対象CPU3のCPU番号から「1」を減算した値、すなわちCPU2のCPU番号をRAM6の自身の情報における監視対象のCPU番号として記憶させる(ステップS29)。
これらの処理により、CPU3のみに異常が生じた場合にも、同様にCPU1,2,4によりリング状の監視体制を構築することができる。
一方、CPU4のみに異常が生じた場合、残りの正常なCPU1〜3は、図11に示される処理を実行してリング状の監視体制を再構築した後、図12に示される処理を実行する。すなわち、正常なCPU1〜3は、ROM5に記憶された再配分テーブルにおける処理引取先CPUの欄を参照し(ステップS40)、自身が異常時の処理引取先CPUに該当するか否かを判断する(ステップS41)。本実施形態では、CPU4の処理引取先CPUがCPU1に設定されている。そのため、CPU1は、自身が処理引取先CPUに該当すると判断すると(ステップS41:YES)、処理先頭アドレス欄を参照し(ステップS42)、参照したアドレスを自身が実行すべき処理として追加する(ステップS43)。
また、CPU2,3は、自身が処理引取先CPUに該当していないと判断すると(ステップS41:NO)、処理を終了する。
このようにしてCPU4の担当制御処理をCPU1が代行することにより、残りの正常なCPU1〜3により退避用のエンジン制御処理が実行される。そのため、運転者は、走行距離が短く、且つ低速走行でありながらも、車両の路肩等の安全な場所まで車両を走行させることができる。
一方、上記では、CPU4のみに異常が生じた場合を例に挙げて説明したが、例えば主要なCPUであるCPU2のみに異常が生じた場合には、図11に示されるように、残りの正常なCPU1,3,4はステップS21にて退避用のエンジン制御処理の実行が不可能と判断する(ステップS21:NO)。あるいは、CPU4に異常が生じた後に、更にCPU1及びCPU3に異常が生じた場合には、残りの正常なCPUの数が最小CPU数よりも小さい値となるため、正常なCPU2はステップS21にて退避用のエンジン制御処理の実行が不可能と判断する(ステップS21:NO)。この場合、正常なCPUは、リング状の監視体制を再構築せずに、監視IC22へのWD信号の出力を停止する(ステップS32)。
次に、CPU1〜4が図9〜図12に示される処理を実行した際のマイコン21の動作について図13を参照して説明する。なお、マイコン21は、図13に示される処理を所定の周期で繰り返し実行する。
図13に示されるように、マイコン21は、まず、各CPU1〜4により相互監視を行い(ステップS50)、異常なCPUが存在するか否かを判断する(ステップS51)。マイコン21は、異常なCPUが存在しない場合には(ステップS51:NO)、処理を終了する。
マイコン21は、異常なCPUが存在する場合には(ステップS51:YES)、退避用のエンジン制御処理を実行することが可能か否かを判断する(ステップS52)。マイコン21は、退避用のエンジン制御処理を実行することが可能な場合には(ステップS52:YES)、異常なCPUを除く残りの正常なCPUでリング状の監視体制を再構築する(ステップS53)。また、マイコン21は、異常なCPUにより行われていた処理を他のCPUに引き渡すべく、各CPUの制御処理を再配分する(ステップS54)。
マイコン21は、退避用のエンジン制御処理を実行することが不可能な場合には(ステップS52:NO)、監視IC22へのWD信号の送信を停止する(ステップS55)。
次に、監視IC22により実行されるマイコン21の監視処理について説明する。なお、監視IC22のカウンタCの値は、初期状態では、「0」に設定されている。
監視IC22は、図14に示される処理を所定の演算周期で繰り返し実行する。すなわち、監視IC22は、カウンタCの値をインクリメントした後(ステップS60)、カウンタCの値が閾値Cth以上であるか否かを判断する(ステップS61)。閾値Cthは、例えばCPU1〜4の異常により監視IC22へのWD信号の送信が停止された時点から、正常なCPUによりリング状の監視体制が構築されてWD信号の送信が再開されるまでに要する時間よりも長い時間(例えば、40[ms])に対応した値に設定される。監視IC22は、カウンタCの値が閾値Cth以上でない場合には(ステップS61:NO)、マイコン21から送信されるWD信号を受信したか否かを判断する(ステップS63)。監視IC22は、WD信号を受信していない場合には(ステップS63:NO)、処理を終了する。
監視IC22は、カウンタCの値が閾値Cthに達する前に(ステップS61:NO)、マイコン21から送信されるWD信号を受信した場合には(ステップS63:YES)、カウンタCの値をクリアする(ステップS64)。
監視IC22は、マイコン21からWD信号が送信されないまま(ステップS63:NO)、カウンタCの値が閾値Cth以上になった場合には(ステップS61:YES)、マイコン21にリセット信号Srを送信する(ステップS62)。リセット信号Srは、例えばローレベルからハイレベルに変化するパルス信号からなる。
次に、本実施形態のマイコン21及び監視IC22の動作について説明する。
図15(a)に示されるように、マイコン21は、各CPU1〜4が正常な場合、WD信号を周期Tで送信する。また、マイコン21は、CPU1〜4のいずれかに異常が生じた場合でも、退避用のエンジン制御処理を行っている間は、同様にWD信号を周期Tで送信する。マイコン21から周期TでWD信号が送信されている間、図15(c)に示されるように、監視IC22は、カウンタCの値を閾値Cthに達する前にクリアする。したがって、監視IC22はリセット信号Srを送信しない。
マイコン21は、時刻t1でCPU1〜4に異常が生じた際、退避用のエンジン制御処理の実行が不可能な場合には、それ以降はWD信号の送信を停止する。この場合、監視IC22は、カウンタCの値をインクリメントし続ける。そして、監視IC22は、カウンタCの値が閾値Cthに達する時刻t2でマイコン21にリセット信号Srを送信する。よって、時刻t2で各CPU1〜4がリセットされることとなる。
以上説明したエンジン制御装置10及び監視装置50によれば、以下の(1)〜(4)に示される作用及び効果を得ることができる。
(1)CPU1〜4のいずれかに異常が生じた際、残りの正常な3つのCPUは、退避用のエンジン制御処理を実行することが可能な場合、当該退避用のエンジン制御処理を実行する。具体的には、正常な3つのCPUは、残りの正常なCPUの数が最小CPU数以上であって、且つ異常なCPUが主要CPUでないことを条件に、退避用のエンジン制御処理を実行する。そのため、エンジン制御処理の継続性を確保することができる。また、正常な3つのCPUは、退避用のエンジン制御処理を実行することが不可能な場合、監視IC22へのWD信号の送信を停止する。そのため、監視IC22は、マイコン21からのWD信号の送信が停止することをもって、マイコン21の異常を検出することもできる。
(2)CPU1〜4のいずれかに異常が生じた場合、残りの正常な3つのCPUはリング状の監視体制を再構築する。具体的には、正常な3つのCPUは、異常なCPUが監視側CPU及び被監視側CPUのいずれにも該当せず、且つ残りの正常なCPUの全てが監視側CPU及び被監視側CPUに該当し、且つそれぞれの監視対象のCPUが全て異なるように他のCPUを監視する。また、残りの正常な3つのCPUのいずれかに更に異常が生じた際、更に残りの正常な2つのCPUは、退避用のエンジン制御処理の実行が可能な場合には、退避用のエンジン制御処理を行う。そのため、エンジン制御処理の継続性を更に向上させることができる。また、正常な2つのCPUは、退避用のエンジン制御処理の実行が不可能な場合には、監視IC22へのWD信号の送信を停止する。そのため、正常なCPUが2個だけになった場合でも、監視IC22はマイコン21の異常を検出することができる。
(3)各CPU1〜4は、WD信号に基づき被監視側CPUを監視することとした。これにより、各CPU1〜4は、被監視側CPUの状態を容易に監視することができる。
(4)各CPU1〜4は、いずれかのCPUに異常が生じた場合、異常なCPUにより行われていた制御処理を代行することとした。これにより、残りの正常なCPUによりエンジン制御処理をより的確に継続することができる。
なお、上記実施形態は、以下の形態にて実施することもできる。
・CPU1〜4は、バス9を介して監視側CPUにWD信号を直接送信してもよい。この場合、監視側CPUは、被監視側CPUからバス9を介して送信されるWD信号に基づき被監視側CPUを監視する。このような構成であれば、各CPU1〜4の出力状態をRAM6に記憶させる処理が不要となるため、各CPU1〜4の処理速度を向上させることが可能である。
・マイコン21は、退避用のエンジン制御処理の実行の際、カーナビゲーション装置等を通じて運転者にエンジンECU20の異常を通知してもよい。その際、マイコン21は、カーナビゲーション装置により安全な場所への経路案内を行ってもよい。また、マイコン21は、カーナビゲーション装置等により運転者にイグニッションスイッチのオフ操作を促すとともに、イグニッションスイッチがオフ操作された際にCPU1〜4をリセットしてもよい。これにより、その後のイグニッションスイッチのオン操作に伴いマイコン21が起動した際に、異常の生じたCPUを含む全てのCPU1〜4が再起動するため、CPU1〜4を正常な状態に復帰させることが可能となる。このような構成によれば、イグニッションスイッチのオン操作時に全てのCPU1〜4を正常復帰させることができるため、マイコン21の動作の信頼性を向上させることができる。
・CPU1〜4から監視IC22に異常を通知するための特定の動作は、WD信号を停止する動作に限らず、適宜の動作を採用することが可能である。例えばCPU1〜4は、予め定められた異常検出信号を監視IC22に送信することにより、監視IC22に異常を通知してもよい。CPU1〜4間で異常を通知する手段も同様に適宜変更可能である。
・CPU1〜4が退避用のエンジン制御処理を実行可能か否かを判定する条件は、適宜変更可能である。例えばCPU1〜4の中に主要CPUに該当するCPUが存在しない場合には、残りの正常なCPUの数だけで退避用のエンジン制御処理を実行可能か否かを判断してもよい。
・CPU1〜4のいずれかに異常が生じた際、残りの正常なCPUは、退避用のエンジン制御処理ではなく、通常のエンジン制御処理を継続して実行してもよい。要は、CPU1〜4のいずれかに異常が生じた際に、残りの正常なCPUがエンジン制御処理を実行するものであればよい。
・エンジンECU20の有するCPUの数は、3つ以上であれば、任意に変更可能である。
・上記実施形態のエンジンECU20の構成は、3つ以上の複数のCPUによって制御処理を実行する制御装置であれば、任意の制御装置に適用可能である。また、演算部としてCPUを有する構成に限らず、例えば演算部としてのマイコンを3つ以上有する制御装置にも適用可能である。
・本発明は上記の具体例に限定されるものではない。すなわち、上記の具体例に、当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。例えば、前述した各具体例が備える各要素及びその配置、材料、条件、形状、サイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、前述した実施形態が備える各要素は、技術的に可能な限りにおいて組み合わせることができ、これらを組み合わせたものも本発明の特徴を含む限り本発明の範囲に包含される。
1,2,3,4:CPU(演算部)
6:RAM(記憶部)
21:マイコン(制御装置)
22:監視部(監視IC)

Claims (10)

  1. 3つ以上の複数の演算部(1,2,3,4)により制御処理を実行する制御装置であって、
    監視する側の演算部を監視側演算部とし、監視される側の演算部を被監視側演算部とするとき、
    前記複数の演算部は、それらの全てが前記監視側演算部及び前記被監視側演算部に該当し、且つそれぞれの監視対象の演算部が全て異なるように他の演算部をそれぞれ監視し、
    前記複数の演算部のいずれかに異常が生じた際、残りの正常な演算部は、制御処理の実行が可能な場合、前記制御処理を実行するとともに、前記制御処理の実行が不可能な場合、特定の動作を行うことを特徴とする制御装置。
  2. 前記残りの正常な演算部は、
    前記制御処理の実行が可能な場合には、異常な演算部が前記監視側演算部及び前記被監視側演算部のいずれにも該当せず、且つ前記残りの正常な演算部の全てが前記監視側演算部及び前記被監視側演算部に該当し、且つそれぞれの監視対象の演算部が全て異なるように他の演算部をそれぞれ監視する状態に移行するとともに、
    前記残りの正常な演算部のいずれかに更に異常が生じた際、更に残りの正常な演算部は、前記制御処理の実行が可能な場合、前記更に残りの演算部により前記制御処理を実行するとともに、前記制御処理の実行が不可能な場合、前記特定の動作を行うことを特徴とする請求項1に記載の制御装置。
  3. 前記監視側演算部は、前記被監視側演算部から出力されるウォッチドッグ信号に基づき前記被監視側演算部の状態を監視することを特徴とする請求項1又は2に記載の制御装置。
  4. 前記複数の演算部により共用される記憶部(6)を更に備え、
    前記被監視側演算部は、前記ウォッチドッグ信号の出力情報を前記記憶部に記憶し、
    前記監視側演算部は、前記記憶部に記憶されている前記ウォッチドッグ信号の出力情報に基づき前記被監視側演算部を監視することを特徴とする請求項3に記載の制御装置。
  5. 前記被監視側演算部は、通信用のバスを介して前記ウォッチドッグ信号を前記監視側演算部に送信し、
    前記監視側演算部は、前記被監視側演算部から送信される前記ウォッチドッグ信号に基づき前記被監視側演算部を監視することを特徴とする請求項4に記載の制御装置。
  6. 前記複数の演算部は、前記残りの正常な演算部の数に基づき前記制御処理を実行可能か否かを判断することを特徴とする請求項1〜5のいずれか一項に記載の制御装置。
  7. 前記複数の演算部は、異常の生じた演算部が前記制御処理の実行に不可欠な演算部であるか否かに基づき前記制御処理を実行可能か否かを判断することを特徴とする請求項1〜6のいずれか一項に記載の制御装置。
  8. 前記残りの正常な演算部は、前記異常な演算部により行われていた処理を代行することを特徴とする請求項1〜7のいずれか一項に記載の制御装置。
  9. 前記複数の演算部は、エンジン制御処理を実行するものであり、
    前記複数の演算部のいずれかに異常が生じた場合、車両走行が制限された退避用のエンジン制御処理を実行することを特徴とする請求項1〜8のいずれか一項に記載の制御装置。
  10. 制御装置(21)を監視する監視装置であって、
    前記制御装置として、請求項1〜9のいずれか一項に記載の制御装置が用いられるとともに、
    前記制御装置を監視する監視部(22)を備え、
    前記複数の演算部は、前記監視部にウォッチドッグ信号を送信するとともに、前記制御処理の実行が不可能な場合には、前記特定の動作として、前記監視部への前記ウォッチドッグ信号の送信を停止し、
    前記監視部は、前記ウォッチドッグ信号の送信が停止されることに基づき前記制御装置の異常を検出することを特徴とする監視装置。
JP2014202822A 2014-10-01 2014-10-01 制御装置及び監視装置 Pending JP2016071771A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014202822A JP2016071771A (ja) 2014-10-01 2014-10-01 制御装置及び監視装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014202822A JP2016071771A (ja) 2014-10-01 2014-10-01 制御装置及び監視装置

Publications (1)

Publication Number Publication Date
JP2016071771A true JP2016071771A (ja) 2016-05-09

Family

ID=55867036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014202822A Pending JP2016071771A (ja) 2014-10-01 2014-10-01 制御装置及び監視装置

Country Status (1)

Country Link
JP (1) JP2016071771A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019121043A (ja) * 2017-12-28 2019-07-22 株式会社デンソー 車両制御システムおよび車両制御装置
DE112017006451T5 (de) 2017-01-24 2019-09-12 Mitsubishi Electric Corporation Gemeinsam genutzte Backup-Einheit und Steuersystem
JP2020140380A (ja) * 2019-02-27 2020-09-03 ローム株式会社 半導体装置及びデバッグシステム
EP4307119A1 (en) * 2022-07-11 2024-01-17 Yokogawa Electric Corporation Control device, control system, control method, and control program

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02115946A (ja) * 1988-10-25 1990-04-27 Nec Corp 論理装置
JPH03217364A (ja) * 1990-01-23 1991-09-25 Mitsubishi Electric Corp 車載用制御装置のマイクロコンピュータ暴走監視装置
JPH04324537A (ja) * 1991-04-24 1992-11-13 Fujitsu Ten Ltd マイクロコンピュータの暴走防止回路および暴走防止方法
JPH07262042A (ja) * 1994-03-17 1995-10-13 Fujitsu Ltd プロセッサ障害検出方法
JPH0887341A (ja) * 1994-09-16 1996-04-02 Fujitsu Ltd 自動縮退立ち上げ機能を有したコンピュータシステム
JPH11288406A (ja) * 1998-04-02 1999-10-19 Toshiba Corp 動作監視機能付きマルチプロセッサシステム
JP2000224125A (ja) * 1999-01-27 2000-08-11 Maspro Denkoh Corp 有線放送システムの電子装置
JP2000356662A (ja) * 1999-06-15 2000-12-26 Harness Syst Tech Res Ltd 検査機能付き車載用電子ユニットの駆動方法
WO2009081737A1 (ja) * 2007-12-26 2009-07-02 Nec Corporation 縮退構成設計システムおよび方法
JP2009261092A (ja) * 2008-04-15 2009-11-05 Makita Corp 充電装置、電池パック、及び充電システム
JP2011065528A (ja) * 2009-09-18 2011-03-31 Toyota Motor Corp マルチプロセッサシステム

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02115946A (ja) * 1988-10-25 1990-04-27 Nec Corp 論理装置
JPH03217364A (ja) * 1990-01-23 1991-09-25 Mitsubishi Electric Corp 車載用制御装置のマイクロコンピュータ暴走監視装置
JPH04324537A (ja) * 1991-04-24 1992-11-13 Fujitsu Ten Ltd マイクロコンピュータの暴走防止回路および暴走防止方法
JPH07262042A (ja) * 1994-03-17 1995-10-13 Fujitsu Ltd プロセッサ障害検出方法
JPH0887341A (ja) * 1994-09-16 1996-04-02 Fujitsu Ltd 自動縮退立ち上げ機能を有したコンピュータシステム
JPH11288406A (ja) * 1998-04-02 1999-10-19 Toshiba Corp 動作監視機能付きマルチプロセッサシステム
JP2000224125A (ja) * 1999-01-27 2000-08-11 Maspro Denkoh Corp 有線放送システムの電子装置
JP2000356662A (ja) * 1999-06-15 2000-12-26 Harness Syst Tech Res Ltd 検査機能付き車載用電子ユニットの駆動方法
WO2009081737A1 (ja) * 2007-12-26 2009-07-02 Nec Corporation 縮退構成設計システムおよび方法
JP2009261092A (ja) * 2008-04-15 2009-11-05 Makita Corp 充電装置、電池パック、及び充電システム
JP2011065528A (ja) * 2009-09-18 2011-03-31 Toyota Motor Corp マルチプロセッサシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112017006451T5 (de) 2017-01-24 2019-09-12 Mitsubishi Electric Corporation Gemeinsam genutzte Backup-Einheit und Steuersystem
DE112017006451B4 (de) 2017-01-24 2020-07-16 Mitsubishi Electric Corporation Gemeinsam genutzte Backup-Einheit und Steuersystem
JP2019121043A (ja) * 2017-12-28 2019-07-22 株式会社デンソー 車両制御システムおよび車両制御装置
JP7163576B2 (ja) 2017-12-28 2022-11-01 株式会社デンソー 車両制御システムおよび車両制御装置
JP2020140380A (ja) * 2019-02-27 2020-09-03 ローム株式会社 半導体装置及びデバッグシステム
EP4307119A1 (en) * 2022-07-11 2024-01-17 Yokogawa Electric Corporation Control device, control system, control method, and control program

Similar Documents

Publication Publication Date Title
JP5743932B2 (ja) Ecuの異常監視回路
JP2016071771A (ja) 制御装置及び監視装置
US10217299B2 (en) Vehicular information communication system and vehicular information communication method
JP2017215973A (ja) 車載用電子機器の制御装置及び制御方法
JPS58201154A (ja) アンチスキッド制御装置用マイクロコンピュータのモード監視制御装置
JP2009292412A (ja) サイドスタンド状態検出装置
KR20160035337A (ko) 기능 안전성을 고려한 모터 제어 시스템
CN105868060B (zh) 用于运行驾驶员辅助***的数据处理单元的方法和数据处理单元
JP5094777B2 (ja) 車載用電子制御装置
US9547546B2 (en) Interrupt supervision system, processing system and method for interrupt supervision
US10710521B2 (en) Abnormality monitoring device and electric power steering device using same
JP5555472B2 (ja) 車両用電子制御システム
JP5582748B2 (ja) 車両用電子制御装置
JP5960632B2 (ja) 車両用電子制御装置
JP6443202B2 (ja) 車両の電子制御装置
US11010225B2 (en) Electronic control unit including a break-output section configured to output a break signal to interrupt an input of a monitoring signal to an external monitoring circuit
US11853147B2 (en) System-on-chip and method of operating the same
JP5533777B2 (ja) プログラム群
US11434846B2 (en) Engine control device
JPS5981745A (ja) マイクロコンピユ−タの誤動作防止装置
US10514970B2 (en) Method of ensuring operation of calculator
JP2015209900A (ja) 車速センサ故障検出装置
KR20140071687A (ko) 와치독 감지 작동 확인 방법 및 장치
JP7367620B2 (ja) エンジン制御装置
JP2019191942A (ja) 制御装置および機能検査方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181204