JP2012185671A - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- JP2012185671A JP2012185671A JP2011048223A JP2011048223A JP2012185671A JP 2012185671 A JP2012185671 A JP 2012185671A JP 2011048223 A JP2011048223 A JP 2011048223A JP 2011048223 A JP2011048223 A JP 2011048223A JP 2012185671 A JP2012185671 A JP 2012185671A
- Authority
- JP
- Japan
- Prior art keywords
- task
- wake
- processing load
- processing
- abnormality
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 claims abstract description 140
- 230000002159 abnormal effect Effects 0.000 claims abstract description 45
- 230000005856 abnormality Effects 0.000 claims description 88
- 238000001514 detection method Methods 0.000 claims description 34
- 238000000034 method Methods 0.000 description 39
- 230000008569 process Effects 0.000 description 30
- 238000007689 inspection Methods 0.000 description 12
- 238000003745 diagnosis Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000006399 behavior Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 230000000737 periodic effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 206010000117 Abnormal behaviour Diseases 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】ソフトウェアの処理負荷が所定負荷を超えた場合に、処理負荷の異常原因を解析できる電子制御装置を提供する。
【解決手段】タスクの起床元では、起床対象のタスクを起床すると(S420)、起床対象のタスクからリターンされる起床結果に基づいて起床が成功したか否かを判定し(S422)、起床に失敗すると(S422:No)、連続失敗回数カウンタを+1する(S424)。起床されたタスクは、起床元のタスクでカウントした連続失敗回数カウンタの値を今回値として記憶し(S430)、連続失敗回数カウンタをクリアし(S432)、今回の起床までにおける連続失敗回数の最大値を算出する(S434)。起床されたタスクは、連続失敗回数がソフトウェアの設計時に設定した許容範囲を超えている場合(S436:No)、ソフトウェアの処理負荷異常と判定し、判定結果と処理負荷異常時の車両走行情報とを記憶する(S438、S440)。
【選択図】図4
【解決手段】タスクの起床元では、起床対象のタスクを起床すると(S420)、起床対象のタスクからリターンされる起床結果に基づいて起床が成功したか否かを判定し(S422)、起床に失敗すると(S422:No)、連続失敗回数カウンタを+1する(S424)。起床されたタスクは、起床元のタスクでカウントした連続失敗回数カウンタの値を今回値として記憶し(S430)、連続失敗回数カウンタをクリアし(S432)、今回の起床までにおける連続失敗回数の最大値を算出する(S434)。起床されたタスクは、連続失敗回数がソフトウェアの設計時に設定した許容範囲を超えている場合(S436:No)、ソフトウェアの処理負荷異常と判定し、判定結果と処理負荷異常時の車両走行情報とを記憶する(S438、S440)。
【選択図】図4
Description
本発明は、車両に搭載される電子制御装置に関する。
従来、車両に搭載される電子制御装置において、制御部であるマイクロコンピュータ(マイコンとも言う。)が正常に作動しているか否かを監視するために、ウォッチドッグタイマ方式や宿題回答方式が採用されている。
ウォッチドッグタイマ方式は、ウォッチドッグタイマがマイコンにより定期的にクリアされずにオーバーフローすると、マイコンの異常であると判定する。
また、宿題回答方式は、予め定められた監視用の信号をマイコンに送り、監視用信号に基づいてマイコンが所定の演算を行った演算結果をマイコンから受け取り、受け取った演算結果が正常値と異なる場合、あるいは所定時間内でマイコンから演算結果が回答されない場合、マイコンの異常であると判定する。
また、宿題回答方式は、予め定められた監視用の信号をマイコンに送り、監視用信号に基づいてマイコンが所定の演算を行った演算結果をマイコンから受け取り、受け取った演算結果が正常値と異なる場合、あるいは所定時間内でマイコンから演算結果が回答されない場合、マイコンの異常であると判定する。
このようなウォッチドッグタイマ方式や宿題回答方式を採用してマイコンの異常を監視しているときに所定の高負荷プログラムが実行されると、ウォッチドッグタイマのクリア処理や、宿題の回答処理が実行されないことがある。そのため、マイコンは正常であるにも関わらず、マイコンの異常と判定され、マイコンがリセットされるおそれがある。
これに対し、特許文献1では、高負荷プログラムが実行されるときには、前述した宿題回答方式による異常監視処理を停止させることにより、マイコンを異常と判定せず、マイコンをリセットしないようにしている。
マイコンにおいてソフトウェアの処理負荷が高くなり、前述したようなウォッチドッグタイマのクリア処理や、宿題の回答処理等が実行されない場合にマイコンがリセットされると、マイコンがリセットされた原因が処理負荷の上昇であることを検出できない。
特許文献1においては、所定の高負荷プログラムが実行されると異常監視処理を停止するものの、異常監視処理を停止する対象である所定の高負荷プログラム以外のプログラムが実行され処理負荷が高くなった場合には、異常監視処理は停止されない。この場合には、マイコンから宿題が回答されないとしてマイコンがリセットされる。そのため、マイコンがリセットされた原因が処理負荷の上昇であることを検出できない。
また、処理負荷が上昇したために車両制御上必要な処理が実行されなかったり待ち合わされたりすると、車両挙動に異常が発生することがある。この場合、処理負荷が上昇したためにマイコンがリセットされると、処理負荷の上昇が原因で車両挙動の異常が発生したことを検出できない。
本発明は、上記課題を解決するためになされたものであり、ソフトウェアの処理負荷が所定負荷を超えた場合に、処理負荷の異常原因を解析できる電子制御装置を提供することを目的とする。
請求項1から4に記載の発明によると、車両に搭載される電子制御装置において、ソフトウェアの処理負荷を検出する負荷検出手段が検出した処理負荷が予め設定された所定負荷を超えることにより、異常判定手段が処理負荷異常と判定すると、異常記憶手段は処理負荷異常の判定結果と車両走行情報とを記憶部に記憶する。
この構成によれば、定期点検または車両の挙動異常時の点検等において処理負荷異常の判定結果を記憶部から読み出すことにより、処理負荷が所定負荷を超えたことを検出できる。さらに、処理負荷異常時の車両走行情報を記憶部から読み出すことにより、処理負荷が所定負荷を超えて処理負荷異常となった原因を車両走行情報に基づいて解析できる。
ソフトウェアの処理負荷異常であることを判定する場合、請求項2に記載の発明のように、同じタスクが起床されるときにタスクの起床が連続して失敗する連続失敗回数を検出し、連続失敗回数が所定回数を超えると処理負荷異常であると判定してもよい。
タスクの起床失敗は、例えば、タスクを起床させるときに、前回起床されたタスクの処理が完了しておらず、まだ実行中であるときに発生する。タスクを起床させるときに該当するタスクよりも優先順位の高いタスクが実行中か、該当するタスクの処理中に優先順位の高いタスクの処理が開始されると、該当するタスクの処理が待ち合わされて処理時間が延びる。その結果、タスクを起床させるときに前回起床されたタスクの処理が完了していない場合には、今回のタスクの起床が失敗し、タスクの処理が抜けることになる。
そして、タスクの起床を連続して失敗する連続失敗回数が所定回数を超えることは、処理負荷が上昇したために該当するタスクの処理を所望の頻度で実行できないことを表わしている。この場合、処理負荷異常時に記憶部に記憶した車両走行情報に基づいて処理負荷異常の原因を解析することにより、処理負荷の異常上昇を避けるようにソフトウェアの仕様を修正できる。ソフトウェアの仕様修正として、例えば、タスクの起床条件、起床間隔、優先順位等の変更が考えられる。
ソフトウェアの処理負荷異常であることを判定する場合、請求項3に記載の発明のように、同じタスクが起床される起床回数とタスクの起床が失敗する起床失敗回数とを検出し、起床回数に対する起床失敗回数の比率である起床失敗率が所定比率を超えると処理負荷異常であると判定してもよい。
また、ソフトウェアの処理負荷異常であることを判定する場合、請求項4に記載の発明のように、タスクが起床されてからタスクの処理が完了するまでに要する処理時間を検出し、処理時間が所定時間を超えると処理負荷異常であると判定してもよい。
起床失敗率が所定比率を超えるか、あるいはタスクの処理時間が所定時間を超えることは、処理負荷が上昇したために該当するタスクの処理を所望の頻度で実行できないことを表わしている。
これらの場合にも、処理負荷異常時に記憶部に記憶した車両走行情報に基づいて処理負荷異常の原因を解析することにより、処理負荷の異常上昇を避けるようにソフトウェアの仕様を修正できる。
以下、本発明の実施形態を図に基づいて説明する。
[第1実施形態]
図1に、車両に搭載される第1実施形態のエンジン用の電子制御装置(ECU:Electronic Control Unit)10を示す。エンジンECU(以下、単にECUとも言う。)10は、電源回路12、14、マイコン20、EEPROM40、入出力回路42等から構成されている。
[第1実施形態]
図1に、車両に搭載される第1実施形態のエンジン用の電子制御装置(ECU:Electronic Control Unit)10を示す。エンジンECU(以下、単にECUとも言う。)10は、電源回路12、14、マイコン20、EEPROM40、入出力回路42等から構成されている。
電源回路12は、スタートスイッチ4がオンになると、エンジンECU10の主な電子部品にバッテリ2の電力を供給する。電源回路14は、スタートスイッチ4のオン、オフに関わらず、常にエンジンECU10の該当する電子部品、例えばSRAM(スタンバイRAM)28にバッテリ2の電力を供給する。
マイコン20は、CPU22、RAM24、ROM26、SRAM28、I/O30から主に構成されている。マイコン20は、ROM26に記憶されている制御プログラムをCPU22が実行することにより、AFセンサ50、回転数センサ52、吸気温センサ54、エアフロセンサ56、水温センサ58、車速センサ60等から車両走行状態を表わす検出信号を入力し、車両走行状態に基づいてエンジン制御を実行する。
制御プログラムが作業用に使用し、スタートスイッチ4がオフになると記憶データが消失するRAM24に対し、SRAM28は、スタートスイッチ4のオン、オフに関わらず、電源回路14を介してバッテリ2から電力を供給されている。したがって、SRAM28に記憶されているデータは、バッテリ2の交換等によりバッテリ2からの電力供給が遮断されない限り保存される。
I/030は、入出力回路42を介して、各種センサから検出信号を入力したり、CAN等の車内LANにより他のECUと通信する。
EEPROM40は、マイコン20に外付けされている。EEPROM40は、書き込み可能な不揮発性の記憶部であり、バッテリ2が交換されても、記憶されているデータは保存される。
EEPROM40は、マイコン20に外付けされている。EEPROM40は、書き込み可能な不揮発性の記憶部であり、バッテリ2が交換されても、記憶されているデータは保存される。
(車両点検)
定期点検や車両100の挙動異常時にユーザがディーラまたは修理工場に車両100を持ち込むと、図2に示すように、診断ツール110により車両100からダイアグコードおよび車両走行情報を読込んで異常原因が診断される。ディーラまたは修理工場とは別に、車両100の挙動異常が発生したときに、車両100から無線通信により情報センタ120にダイアグコードと車両走行情報を送信してもよい。
定期点検や車両100の挙動異常時にユーザがディーラまたは修理工場に車両100を持ち込むと、図2に示すように、診断ツール110により車両100からダイアグコードおよび車両走行情報を読込んで異常原因が診断される。ディーラまたは修理工場とは別に、車両100の挙動異常が発生したときに、車両100から無線通信により情報センタ120にダイアグコードと車両走行情報を送信してもよい。
(点検作業)
図3に、定期点検や車両の挙動異常時における点検作業の手順を示す。
定期点検または車両の挙動異常時にユーザがディーラ等に車両を持ち込むと(S400)、ディーラでは、車両を点検するとともに、診断ツールにより車両からダイアグコードを読み出し、異常が発生している場合には、診断マニュアル等に基づいて適切な処置を施そうとする(S402)。
図3に、定期点検や車両の挙動異常時における点検作業の手順を示す。
定期点検または車両の挙動異常時にユーザがディーラ等に車両を持ち込むと(S400)、ディーラでは、車両を点検するとともに、診断ツールにより車両からダイアグコードを読み出し、異常が発生している場合には、診断マニュアル等に基づいて適切な処置を施そうとする(S402)。
異常が発生している場合に適切な処置が実施され、異常が解決すると(S404:Yes)、本実施形態の点検作業は終了する。
ダイアグコードからソフトウェアの処理負荷が異常原因であると判断されると(S406:Yes)、ディーラではソフトウェアの処理負荷の異常原因を解析できないので、車両はソフトウェアの設計部門等に持ち込まれる。
ダイアグコードからソフトウェアの処理負荷が異常原因であると判断されると(S406:Yes)、ディーラではソフトウェアの処理負荷の異常原因を解析できないので、車両はソフトウェアの設計部門等に持ち込まれる。
設計部門では、車両からソフトウェアの処理負荷異常時の車両走行情報を読み出し、処理負荷異常の原因を解析する(S408)。ソフトウェアの処理負荷異常時の車両走行情報は、異常発生時にECU10により記憶されている。
ソフトウェアの処理負荷異常の原因を解析した結果、処理負荷異常の原因がソフトウェアの制御仕様の場合(S410:Yes)、ソフトウェアの制御仕様の修正要と判断する(S412)。そして、処理負荷異常を解消するために、ソフトウェアの制御仕様が検討される。
(処理負荷の異常検出処理)
ECU10においては、エンジン制御のために複数のタスクが実行される。各タスクには、起床条件、起床間隔、優先順位等が設定されている。複数のタスクが実行されているときにソフトウェアの処理負荷が上昇し、例えば優先順位の高いタスクの実行頻度が増えると、優先順位の低いタスクは、優先順位の高いタスクの処理が完了するまで、処理が待ち合わされる。
ECU10においては、エンジン制御のために複数のタスクが実行される。各タスクには、起床条件、起床間隔、優先順位等が設定されている。複数のタスクが実行されているときにソフトウェアの処理負荷が上昇し、例えば優先順位の高いタスクの実行頻度が増えると、優先順位の低いタスクは、優先順位の高いタスクの処理が完了するまで、処理が待ち合わされる。
タスクの処理が待ち合わされると、タスクが処理する車両制御の頻度が低くなったり、処理完了までの処理時間が長くなったりする。その結果、車両制御に不具合が生じ、車両挙動に異常が発生することがある。
図4に、ECU10において実行されるソフトウェアの処理負荷異常の検出処理を示す。図4の(A)はタスクの起床元での処理を示し、図4の(B)は起床される側のタスクの処理を示している。
タスクの起床元では、図4の(A)に示すように、タスクを起床すると(S420)、起床対象のタスクからリターンされる起床結果に基づいて、起床が成功したか否かを判定する(S422)。起床に成功した場合には(S422:Yes)、本処理を終了する。
ここで、図5に、優先順位の低い低タスクと、それよりも優先順位の高い高タスクとが起床されるときに、同じ低タスクの起床が連続して失敗する連続失敗回数の変化を示す。図5では、起床成功、起床失敗を含め13回低タスクが起床されている。1回目〜3回目の起床は成功しているので、連続失敗回数カウンタの値は0のままである。3回目の起床時には高タスクが起床されるので低タスクの処理開始は待ち合わされているが、4回目の起床前に高タスクの処理が完了し低タスクの処理が開始されるので、3回目の起床は成功になっている。
一方、図5の4回目、5回目の起床時には、3回目の起床で処理を開始した低タスクの処理が完了していないので、起床時に起床失敗になっている。
このように起床に失敗すると(S422:No)、起床元のタスクは、RAM24(図6参照)に設定された連続失敗回数カウンタを+1する(S424)。第1実施形態では、ソフトウェアの設計時に設定した連続失敗回数の許容範囲を表わす所定回数を「2回」にしている。したがって、連続失敗回数が2回以下であれば正常であり、2回を超えると異常になる。
このように起床に失敗すると(S422:No)、起床元のタスクは、RAM24(図6参照)に設定された連続失敗回数カウンタを+1する(S424)。第1実施形態では、ソフトウェアの設計時に設定した連続失敗回数の許容範囲を表わす所定回数を「2回」にしている。したがって、連続失敗回数が2回以下であれば正常であり、2回を超えると異常になる。
尚、複数のタスクを異常検出処理の対象として連続失敗回数をカウントする場合、異常検出処理の対象タスク毎に連続失敗回数カウンタが設定される。
図5では、1回目〜3回目の起床において低タスクの起床が成功しているので、連続失敗回数カウンタの値は0のままである。4回目、5回目の起床は失敗になっており、後述するように起床されたタスクにより連続失敗回数カウンタがクリアされないので、連続失敗回数カウンタがそれぞれ+1され、1、2と増加している。
図5では、1回目〜3回目の起床において低タスクの起床が成功しているので、連続失敗回数カウンタの値は0のままである。4回目、5回目の起床は失敗になっており、後述するように起床されたタスクにより連続失敗回数カウンタがクリアされないので、連続失敗回数カウンタがそれぞれ+1され、1、2と増加している。
タスクの起床が成功すると、図4の(B)に示すように、起床されたタスクは、起床元のタスクでカウントした連続失敗回数カウンタの値を今回値としてRAM24に記憶し(S430)、連続失敗回数カウンタをクリアする(S432)。そして、連続失敗回数の今回値と、RAM24に記憶されている前回までの連続失敗回数の最大値とを比較し、大きい方の値を連続失敗回数の最大値として記憶する(S434)。
図5の6回目の起床では、高タスクの処理完了後に低タスクの処理が開始しているので、起床は成功している。したがって、起床された低タスクは、連続失敗回数カウンタの値である「2」を今回値としてRAM24に記憶し、連続失敗回数カウンタをクリアして0にする。連続失敗回数の最大値の初期値は0であるから、連続失敗回数の今回値の「2」が最大値として記憶される。
第1実施形態では、連続失敗回数の許容範囲を2回以下としているので、今回更新した連続失敗回数の最大値の「2」は許容範囲内である。最大値が許容範囲内であれば(S436:Yes)、本処理を終了する。
図5の9回目〜11回目の起床時には、8回目の起床で処理を開始した低タスクの処理が完了していないので、起床時に起床失敗になっている。したがって、11回目の起床時において連続失敗回数のカウント値は「3」に設定される。
9回目〜11回目の3回の起床に失敗した後、12回目の起床は成功するので、連続失敗回数の最大値は「3」に更新される。12回目の起床により処理を開始した低タスクでは、更新された連続失敗回数の最大値の「3」は許容範囲を超えており、ソフトウェアの処理負荷異常であると判定する(S436:No)。
この場合、起床されたタスクは、ソフトウェアの処理負荷異常と判定した判定結果と処理負荷異常時の車両走行情報とをSRAM28またはEEPROM40に記憶し(S438、S440)、処理負荷異常が発生したことを通知する。ダイアグタスクは、ソフトウェアの処理負荷異常が通知されると、該当するダイアグコードを設定する。
SRAM28またはEEPROM40に記憶する車両走行情報として、吸気量、吸気温、水温、エンジン回転数、車速、連続失敗回数が所定回数を超えたタスク名等が考えられる。車両走行情報としては、車両自体の走行情報だけでなく、ナビゲーション装置等から取得する道路の曲率、勾配等の道路形状、天気、渋滞等の車両周囲の環境を表わす走行情報を記憶してもよい。
尚、ソフトウェアの処理負荷異常と判定した判定結果と処理負荷異常時の車両走行情報とが記憶される記憶部は、車両のスタートスイッチがオフになってもデータが保持されるものであれば本実施形態で例示したSRAM(スタンバイRAM)またはEEPROMに限るものではなく、EEPROM以外の書き換え可能な不揮発性メモリであってもよい。
第1実施形態では、ECU10が本発明の電子制御装置に相当し、SRAM28またはEEPROM40が本発明の記憶部に相当する。そして、ECU10は、負荷検出手段、異常判定手段および異常記憶手段が実行する機能を実現する。
また、図4のS422、S424、S430〜S434の処理が本発明の負荷検出手段が実行する機能に相当し、S436の処理が本発明の異常判定手段が実行する機能に相当し、S438およびS440の処理が本発明の異常記憶手段が実行する機能に相当する。
[第2実施形態]
本発明の第2実施形態による処理負荷の異常検出処理を図7および図8に示す。第2実施形態の異常検出処理は、起床失敗率に基づいて処理負荷異常を検出する。第2実施形態では、ソフトウェアの設計時に設定した起床失敗率の許容範囲を表わす所定比率を「50%」にしている。したがって、起床失敗率が50%以下であれば正常であり、50%を超えると異常になる。
本発明の第2実施形態による処理負荷の異常検出処理を図7および図8に示す。第2実施形態の異常検出処理は、起床失敗率に基づいて処理負荷異常を検出する。第2実施形態では、ソフトウェアの設計時に設定した起床失敗率の許容範囲を表わす所定比率を「50%」にしている。したがって、起床失敗率が50%以下であれば正常であり、50%を超えると異常になる。
図7の(A)に示すように、起床元のタスクでは、低タスクを起床すると(S450)、起床の成功、失敗に関わらず所定回数まで起床回数をカウントアップする(S452)。
一方、図7の(B)に示すように、起床に成功して低タスクの処理が開始すると、低タスクでは、起床されて処理が開始される毎に処理回数カウントをカウントアップする(S470)。図8に示すように、1回目〜3回目の起床は成功しているが、4回目および5回目の起床は、3回目の起床により処理を開始した低タスクの処理が完了していないために失敗しているので、処理回数カウンタの値は3回のまま更新されていない。
尚、複数のタスクを異常検出処理の対象として起床回数および処理回数をカウントする場合、異常検出処理の対象タスク毎に起床回数カウンタ、処理回数カウンタが設定される。
起床元タスクでは、起床回数が所定回数以上になると(S454:Yes)、次式(1)に基づいて起床失敗率を算出し(S456)、RAM24に起床失敗率を記憶する。そして、処理回数カウンタおよび起床回数カウンタをクリアする(S460)。
起床失敗率[%]
={(起床回数カウンタ−処理回数カウンタ)/起床回数カウンタ}×100
・・・(1)
第2実施形態では、所定回数は100回であり、ソフトウェアの設計時に設定する起床失敗率の許容範囲は前述したように50%以下である。図8の起床結果に基づいて、起床回数カウンタ=100、処理回数カウンタ=46を式(1)に代入して起床失敗率を算出すると、起床失敗率=54%になる。
={(起床回数カウンタ−処理回数カウンタ)/起床回数カウンタ}×100
・・・(1)
第2実施形態では、所定回数は100回であり、ソフトウェアの設計時に設定する起床失敗率の許容範囲は前述したように50%以下である。図8の起床結果に基づいて、起床回数カウンタ=100、処理回数カウンタ=46を式(1)に代入して起床失敗率を算出すると、起床失敗率=54%になる。
S456で算出した所定回数(100回)の起床処理までの起床失敗率がソフトウェアの設計時に設定した許容範囲(第2実施形態では50%以下)を超えている場合(S462:No)、起床元タスクは、ソフトウェアの処理負荷異常と判断する。
そして、起床元タスクは、ソフトウェアの処理負荷異常と判定した判定結果と処理負荷異常時の車両走行情報とをSRAM28またはEEPROM40に記憶し(S464、S466)、処理負荷異常が発生したことを通知する。ダイアグタスクは、ソフトウェアの処理負荷異常が通知されると、該当するダイアグコードを設定する。
第2実施形態では、図7のS452〜S456およびS470の処理が本発明の負荷検出手段が実行する機能に相当し、S462の処理が本発明の異常判定手段が実行する機能に相当し、S464およびS466の処理が本発明の異常記憶手段が実行する機能に相当する。
[第3実施形態]
本発明の第3実施形態による処理負荷の異常検出処理を図9および図10に示す。第3実施形態の異常検出処理は、タスクが起床されてからタスクの処理が完了するまでの処理時間に基づいて処理負荷異常を検出する。第3実施形態では、ソフトウェアの設計時に設定した処理時間の許容範囲を表わす所定時間を「4」にしている。したがって、処理時間が4以下であれば正常であり、4を超えると異常になる。
本発明の第3実施形態による処理負荷の異常検出処理を図9および図10に示す。第3実施形態の異常検出処理は、タスクが起床されてからタスクの処理が完了するまでの処理時間に基づいて処理負荷異常を検出する。第3実施形態では、ソフトウェアの設計時に設定した処理時間の許容範囲を表わす所定時間を「4」にしている。したがって、処理時間が4以下であれば正常であり、4を超えると異常になる。
図9の(A)に示すように、起床元のタスクでは、低タスクを起床し(S480)、起床時刻をRAM24に記憶する(S482)。例えば、図10において、1回目〜4回目の起床時刻は、「1」、「8」、「15」、「22」である。
図9の(B)に示すように、起床されたタスクは、タスクとして割り当てられた処理を実行すると(S490)、処理完了時刻をRAM24に記憶する(S492)。起床元タスクで記憶した起床時刻とS492で記憶した処理完了時刻とから、起床されたタスクの処理時間を算出し(S494)、処理時間がソフトウェアの設計時に設定した許容範囲内であるか否かを判定する(S496)。
尚、複数のタスクを異常検出処理の対象とする場合、異常検出処理の対象タスク毎に処理時間が算出される。
図10において、1回目〜4回目の起床における低タスクの処理完了時刻は、「3」、「11」、「20」、「24」である。したがって、1回目〜4回目の起床における各低タスクの処理時間は、処理完了時刻と起床時刻との差から、「2」、「3」、「5」、「2」と算出される。図10においては、処理時間が「4」を超えると、処理時間が許容範囲を超えていると判断している。
図10において、1回目〜4回目の起床における低タスクの処理完了時刻は、「3」、「11」、「20」、「24」である。したがって、1回目〜4回目の起床における各低タスクの処理時間は、処理完了時刻と起床時刻との差から、「2」、「3」、「5」、「2」と算出される。図10においては、処理時間が「4」を超えると、処理時間が許容範囲を超えていると判断している。
処理時間が許容範囲(第3施形態では4以下)を超えると(S496:No)、起床されたタスクは、ソフトウェアの処理負荷異常と判断し、ソフトウェアの処理負荷異常と判定した判定結果と処理負荷異常時の車両走行情報とをSRAM28またはEEPROM40に記憶し(S498、S500)、処理負荷異常が発生したことを通知する。ダイアグタスクは、ソフトウェアの処理負荷異常が通知されると、該当するダイアグコードを設定する。
第3実施形態では、図9のS482、S492およびS494の処理が本発明の負荷検出手段が実行する機能に相当し、S496の処理が本発明の異常判定手段が実行する機能に相当し、S498およびS500の処理が本発明の異常記憶手段が実行する機能に相当する。
以上説明した上記複数の実施形態によると、同じタスクを起床するときに連続して起床に失敗する連続失敗回数、同じタスクが起床された起床回数に対する起床に失敗した起床失敗回数の比率、あるいはタスクが起床されてからタスクの処理が完了するまでに要する処理時間のいずれかがソフトウェアの設計時に設定した許容範囲をこえると、ソフトウェアの処理負荷の異常と判断する。
そして、処理負荷の異常発生の判定結果を表わすダイアグコードと異常発生時における車両走行情報とを、車両のスタートスイッチがオフになっても記憶データが消失しないSRAM28またはEEPROM40に記憶する。
これにより、定期点検または車両の挙動異常時に診断ツールでダイアグコードを読み出せば、ソフトウェアの処理負荷異常が発生していた場合に、処理負荷異常を検出できる。そして、処理負荷異常発生時の車両走行情報に基づいて処理負荷の異常原因を解析することにより、ソフトウェアの処理負荷の異常が発生しないように、ソフトウェアの仕様を修正する等の適切な処置を実施することができる。
また、上記実施形態で説明したソフトウェアの処理負荷異常の検出処理をソフトウェアの開発段階で実行すれば、ソフトウェアの処理負荷が所定負荷を超えないように、ソフトウェアの開発段階で仕様を設定できる。
[他の実施形態]
上記実施形態では、連続失敗回数、起床失敗率または処理時間がソフトウェアの設計時に予め設定した所定値を超えると、ソフトウェアの処理負荷異常と判定した。これ以外にも、所定期間中にアイドルタスクが実行される時間の比率であるアイドル率が所定値を下回ると、ソフトウェアの処理負荷異常と判定してもよい。
上記実施形態では、連続失敗回数、起床失敗率または処理時間がソフトウェアの設計時に予め設定した所定値を超えると、ソフトウェアの処理負荷異常と判定した。これ以外にも、所定期間中にアイドルタスクが実行される時間の比率であるアイドル率が所定値を下回ると、ソフトウェアの処理負荷異常と判定してもよい。
また、起床されたタスクの処理が完了してから同じタスクが起床されるまでの余裕時間が所定時間よりも短くなると、ソフトウェアの処理負荷異常と判定してもよい。
また、連続失敗回数、起床失敗率または処理時間を計測してソフトウェアの処理負荷異常の検出対象となるタスクは優先順位の低い低タスクに限るものではなく、優先順位に関わらず複数のタスクを検出対象とすることができる。
また、連続失敗回数、起床失敗率または処理時間を計測してソフトウェアの処理負荷異常の検出対象となるタスクは優先順位の低い低タスクに限るものではなく、優先順位に関わらず複数のタスクを検出対象とすることができる。
また、異常検出対象のタスク毎に、連続失敗回数、起床失敗率および処理時間のうち2個以上を計測し、ソフトウェアの処理負荷が所定負荷を超えていることを計測値のいずれかが示せば、処理負荷異常と判定してもよい。
上記実施形態では、異常判定結果および異常発生時の車両走行情報を、処理負荷異常の発生している同じECUの記憶部に記憶したが、別のECUの記憶部に記憶してもよい。
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
10:ECU(電子制御装置、負荷検出手段、異常判定手段、異常記憶手段)、SRAM28(記憶部)、EEPROM40(記憶部)
Claims (4)
- 車両に搭載される電子制御装置において、
ソフトウェアの処理負荷を検出する負荷検出手段と、
前記負荷検出手段が検出した前記処理負荷が予め設定された所定負荷を超えると、前記ソフトウェアの処理負荷異常と判定する異常判定手段と、
前記異常判定手段が前記処理負荷異常と判定すると、前記処理負荷異常の判定結果と車両走行情報とを記憶部に記憶する異常記憶手段と、
を備えることを特徴とする電子制御装置。 - 前記負荷検出手段は、前記処理負荷として、同じタスクが起床されるときに前記タスクの起床が連続して失敗する連続失敗回数を検出し、
前記異常判定手段は、前記連続失敗回数が所定回数を超えると前記処理負荷異常であると判定する、
ことを特徴とする請求項1に記載の電子制御装置。 - 前記負荷検出手段は、前記処理負荷として、同じタスクが起床される起床回数と前記タスクの起床が失敗する起床失敗回数とを検出し、
前記異常判定手段は、前記起床回数に対する前記起床失敗回数の比率である起床失敗率が所定比率を超えると前記処理負荷異常であると判定する、
ことを特徴とする請求項1または2に記載の電子制御装置。 - 前記負荷検出手段は、前記処理負荷として、タスクが起床されてから前記タスクの処理が完了するまでに要する処理時間を検出し、
前記異常判定手段は、前記処理時間が所定時間を超えると前記処理負荷異常であると判定する、
ことを特徴とする請求項1から3のいずれか一項に記載の電子制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011048223A JP2012185671A (ja) | 2011-03-04 | 2011-03-04 | 電子制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011048223A JP2012185671A (ja) | 2011-03-04 | 2011-03-04 | 電子制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012185671A true JP2012185671A (ja) | 2012-09-27 |
Family
ID=47015713
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011048223A Withdrawn JP2012185671A (ja) | 2011-03-04 | 2011-03-04 | 電子制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2012185671A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015219896A (ja) * | 2014-05-21 | 2015-12-07 | 株式会社東芝 | 複数の演算サーバを備えるクラウド制御システム、その制御プログラムのスケジューリング方法、及び演算サーバの冗長化方法 |
| WO2017037863A1 (ja) * | 2015-09-01 | 2017-03-09 | 三菱電機株式会社 | 計算機装置及び制御方法及び制御プログラム |
| KR101891599B1 (ko) * | 2016-09-30 | 2018-08-24 | 엘지전자 주식회사 | 자율 주행 차량의 제어방법과 서버 |
| KR20190040714A (ko) * | 2017-10-11 | 2019-04-19 | 현대자동차주식회사 | Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 |
| JP2022093876A (ja) * | 2020-12-14 | 2022-06-24 | 富士電機株式会社 | 制御装置およびその保守支援装置 |
| CN115766395A (zh) * | 2022-10-21 | 2023-03-07 | 东风汽车集团股份有限公司 | 一种车辆网络节点异常唤醒的判断及处理方法 |
| CN118998036A (zh) * | 2024-08-05 | 2024-11-22 | 烟台杰瑞石油服务集团股份有限公司 | 检测方法及检测装置 |
-
2011
- 2011-03-04 JP JP2011048223A patent/JP2012185671A/ja not_active Withdrawn
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015219896A (ja) * | 2014-05-21 | 2015-12-07 | 株式会社東芝 | 複数の演算サーバを備えるクラウド制御システム、その制御プログラムのスケジューリング方法、及び演算サーバの冗長化方法 |
| WO2017037863A1 (ja) * | 2015-09-01 | 2017-03-09 | 三菱電機株式会社 | 計算機装置及び制御方法及び制御プログラム |
| JPWO2017037863A1 (ja) * | 2015-09-01 | 2017-08-31 | 三菱電機株式会社 | 計算機装置及び制御方法及び制御プログラム |
| KR101891599B1 (ko) * | 2016-09-30 | 2018-08-24 | 엘지전자 주식회사 | 자율 주행 차량의 제어방법과 서버 |
| KR20190040714A (ko) * | 2017-10-11 | 2019-04-19 | 현대자동차주식회사 | Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 |
| KR102410940B1 (ko) * | 2017-10-11 | 2022-06-20 | 현대자동차주식회사 | Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 |
| JP2022093876A (ja) * | 2020-12-14 | 2022-06-24 | 富士電機株式会社 | 制御装置およびその保守支援装置 |
| CN115766395A (zh) * | 2022-10-21 | 2023-03-07 | 东风汽车集团股份有限公司 | 一种车辆网络节点异常唤醒的判断及处理方法 |
| CN118998036A (zh) * | 2024-08-05 | 2024-11-22 | 烟台杰瑞石油服务集团股份有限公司 | 检测方法及检测装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2012185671A (ja) | 電子制御装置 | |
| EP4206839A1 (en) | Method for managing ecu on vehicle, and ecu and readable storage medium | |
| CN104169885B (zh) | Ecu的异常监视电路 | |
| JP2004218614A (ja) | 車載電子制御装置 | |
| JP6655361B2 (ja) | 車両制御装置 | |
| CN115390539B (zh) | 车辆异常休眠诊断方法、装置、车辆及存储介质 | |
| CN102722171A (zh) | 一种检测汽车仪表异常的方法及系统 | |
| CN113467413A (zh) | 一种检测汽车故障的方法、检测设备及检测系统 | |
| CN105393178A (zh) | 可编程逻辑控制器 | |
| US20060277448A1 (en) | Malfunction monitoring method and system | |
| CN112061080A (zh) | 车辆异动检测方法、装置、设备和介质 | |
| JP2012218467A (ja) | 電子制御装置 | |
| JP2016170604A (ja) | 電子制御装置 | |
| CN111923747B (zh) | 控制处理器工作的方法及系统 | |
| JP5585536B2 (ja) | 車載電子制御装置および運転情報記憶システム | |
| CN109254898B (zh) | 一种软件模块执行顺序监视方法及监视系统 | |
| JP5664926B2 (ja) | 内燃機関の始動制御装置 | |
| WO2024257595A1 (ja) | 車両サービス管理装置、車両サービス管理方法および車両サービス管理プログラム | |
| US10514970B2 (en) | Method of ensuring operation of calculator | |
| CN114837776B (zh) | Scr系统控制方法、电子设备和存储介质 | |
| US20110209006A1 (en) | Microcomputer | |
| JP2008293420A (ja) | 電子制御装置 | |
| JP5157697B2 (ja) | 電子制御装置 | |
| JP2012174198A (ja) | 異常検出装置、および異常検出プログラム | |
| CN115356542A (zh) | 电池包中高压母线的螺接状况检测方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140513 |