JP2001323836A - クランク同期タスクの異常検出方法 - Google Patents
クランク同期タスクの異常検出方法Info
- Publication number
- JP2001323836A JP2001323836A JP2000145049A JP2000145049A JP2001323836A JP 2001323836 A JP2001323836 A JP 2001323836A JP 2000145049 A JP2000145049 A JP 2000145049A JP 2000145049 A JP2000145049 A JP 2000145049A JP 2001323836 A JP2001323836 A JP 2001323836A
- Authority
- JP
- Japan
- Prior art keywords
- crank
- task
- crank synchronization
- synchronization task
- abnormality detection
- 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
Links
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
- Debugging And Monitoring (AREA)
Abstract
されるクランク同期タスクの実行状態の異常を検出する
のに好適な異常検出方法を提供する。 【解決手段】 エンジンのクランク軸が所定角度回転す
る毎に立ち上がるクランク同期信号が入力されて、その
信号に立ち上がりエッジが発生する毎にクランク同期タ
スクを実行するエンジン制御用のマイコンでは、クラン
ク同期タスクにて、その処理の終了直前にカウンタCta
skをリセットするようになっている。そして、このマイ
コンでは、一定時間毎に実行される異常検出処理にて、
上記カウンタCtaskを1ずつカウントアップすると共に
(S350)、カウンタCtaskの値と大小比較される判
定値t0を、エンジン回転数に応じて、該回転数が高い
場合ほど小さい値に設定し(S320)、カウンタCta
skの値が判定値t0を越えると(S330:YES)、
クランク同期タスクの実行状態が異常と判定する。
Description
ータにおけるプログラム暴走などの異常を検出する技術
に関し、特に、エンジンを制御する電子制御装置のマイ
クロコンピュータにおいて、エンジンのクランク軸の回
転に同期して実行されるクランク同期タスクの実行状態
の異常を検出するための技術に関するものである。
て、プログラム暴走を検出するための異常検出方法とし
ては、時間を計測するタイマ手段を設けると共に、その
タイマ手段で計時されている時間を、異常検出対象のタ
スクでリセットするようにし、上記タイマ手段で計時さ
れる時間が、予め設定された判定値を越えると、プログ
ラム暴走が発生した(即ち、上記異常検出対象のタスク
が正常に実行されなくなった)と判定するようにしてい
る。尚、タスクとは、マイクロコンピュータが実行する
プログラムを仕事毎に分けた単位プログラム(各仕事毎
のプログラム)のことである。
ロコンピュータの外部或いは内部に設けられたハードウ
エアのタイマ回路(所謂ウォッチドッグタイマ回路)
や、マイクロコンピュータで一定時間毎に実行されるタ
イマ処理が用いられる。
ジンを制御する電子制御装置に搭載されるマイクロコン
ピュータは、エンジンのクランク軸が所定角度回転する
毎に、エンジン回転数の算出や気筒判別などを行うため
のクランク同期タスクを実行するように構成される。
ランク角センサから出力される信号(クランク信号)或
いはその信号を分周した信号であって、エンジンのクラ
ンク軸が所定角度回転する毎にパルス状にレベル変化す
るクランク同期信号が、マイクロコンピュータのエッジ
割込端子に入力される。そして、マイクロコンピュータ
は、そのクランク同期信号に特定方向のエッジ(例えば
ロウレベルからハイレベルへの立ち上がりエッジ)が発
生する毎に、割込処理としてのクランク同期タスクを実
行して、エンジン回転数の算出や気筒判別などを行って
いる。
は、エンジン制御の要となるものであるが、前述した従
来の異常検出方法では、それの実行状態の異常を適切に
検出することができないという問題がある。つまり、従
来の異常検出方法は、異常検出対象のタスクが上記判定
値によって決まる一定時間内に実行されたか否かを判定
するものであるのに対して、クランク同期タスクの実行
周期は常に一定ではなく、エンジン回転数に応じて逐次
変化するからである。
ク同期タスクの異常を検出しようとする場合、上記判定
値を予め非常に大きい値(具体的には、エンジン回転数
がアイドル回転数以下であっても異常と判定されない
値)に設定しておくことも考えられるが、このようにし
たのでは、実際に異常が発生してから、異常と判定され
るまでの遅れ(異常検出遅れ)が大きくなってしまい、
延いては、異常判定時に行うべきフェイルセーフ処置
(例えばマイクロコンピュータのリセット等)の実施
が、適切なタイミングから大きく遅れてしまう。そし
て、この問題は、エンジンの回転数が高い場合ほど顕著
になる。
の回転に同期して実行されるクランク同期タスクの実行
状態の異常を検出するのに好適な、クランク同期タスク
の異常検出方法を提供することを目的としている。
を達成するためになされた請求項1に記載のクランク同
期タスクの異常検出方法は、エンジンのクランク軸の回
転に同期してパルス状にレベル変化するクランク同期信
号が入力されると共に、そのクランク同期信号に特定方
向のエッジが発生する毎にクランク同期タスクを実行す
るマイクロコンピュータにおいて、そのクランク同期タ
スクの実行状態の異常を検出するためのものである。
間を計測するタイマ手段を設けると共に、異常検出対象
のクランク同期タスクにて、その処理の終了直前に、前
記タイマ手段で計測されている時間をリセットするよう
にする。そして更に、クランク同期タスクの実行状態が
正常か否かを判定するために前記時間と大小比較される
判定値を、エンジンの回転数(エンジン回転数)に応じ
て、該回転数が高い場合ほど小さい値に設定する判定値
設定手段を設け、タイマ手段で計測される時間が前記判
定値設定手段により設定される判定値を越えたならば、
クランク同期タスクの実行状態が異常であると判定す
る。
同期タスクの実行中にプログラム暴走が発生して、その
クランク同期タスクから復帰しなくなる異常(以下、ク
ランク同期タスク内でのプログラム暴走という)と、
:クランク同期信号に特定方向のエッジが発生したに
も拘わらず、クランク同期タスクが実行されない異常
(以下、クランク同期タスクの抜け、或いは単に、タス
ク抜け、という)との、両方の異常を検出できる上に、
そのような各異常を、あらゆるエンジン回転数で早期に
検出することができるようになる。
た場合でも、タイマ手段で計測される時間が、クランク
同期タスクによってリセットされずに、判定値を越えて
異常と判定されるのであるが、特に請求項1の本発明で
は、その判定値を、エンジン回転数に応じて、エンジン
回転数が高い場合ほど小さい値に設定するため、エンジ
ン回転数が高い場合の異常検出遅れを防ぐことができ
る。また、エンジン回転数が低い場合には、判定値が大
きい値に設定されるため、誤って異常と判定してしまう
誤検出も防止することができる。
おいて、請求項2に記載の如く、クランク同期信号に前
記特定方向のエッジが発生しない状態が、所定時間以上
継続している場合には、クランク同期タスクの実行状態
が正常か否かの判定を行わないようにすれば、エンジン
が停止している場合や、信号配線などのハードウエア上
の故障によってクランク同期信号がマイクロコンピュー
タへ入力されない場合に、誤ってマイクロコンピュータ
が異常であると判定してしまうのを防ぐことができ、実
使用上、非常に有効である。
信号がマイクロコンピュータへ入力されないハードウエ
ア故障時には、マイクロコンピュータ自身が正常であっ
ても、クランク同期タスクは実行されないため、その様
な場合に異常判定を行うと、クランク同期タスクの実行
状態が異常であると誤判定してしまうからである。
れるマイクロコンピュータにおいても、オペレーティン
グ・システム(以下、OSという)を使用したプログラ
ミングが行われており、OSを使用した場合、一般に、
各種の割込タスク(割込処理)の起動は、OS側の割込
ハンドラと呼ばれる割込制御プログラムによって制御さ
れる。
コンピュータのプログラム構造としては、クランク同期
信号に特定方向のエッジが発生すると割込制御プログラ
ムが実行され、その割込制御プログラムによりクランク
同期タスクが起動される、といったものになる。
ンク同期タスクが起動されるプログラム構造の場合に
は、請求項3に記載のように、割込制御プログラムに
て、クランク同期タスクを起動させたことを示す起動履
歴情報を記録すると共に、クランク同期タスクにて、当
該クランク同期タスクが実行されたことを示す実行履歴
情報を記録するようにし、他の異常検出用の処理で、前
記起動履歴情報と前記実行履歴情報とを比較することに
より、クランク同期タスクの実行状態が正常か否かを判
定する、という異常検出方法を採ることも可能である。
れば、上記の異常(クランク同期タスクの抜け)を、
あらゆるエンジン回転数で的確に且つ早期に検出するこ
とができる。つまり、この異常検出方法では、クランク
同期信号に特定方向のエッジが発生して、割込制御プロ
グラムによりクランク同期タスクが起動されたはずなの
に、クランク同期タスクが実際には実行されていない、
といったタスク抜け時に生じる矛盾を、エンジン回転数
によらず見つけることができるからである。
号配線などのハードウエア上の故障によってクランク同
期信号がマイクロコンピュータへ入力されない場合に
は、元々、割込制御プログラムがクランク同期タスクを
起動しないため、そのような場合に、誤ってタスク抜け
が生じたと判定してしまうこともない。
態の車両用電子制御装置について、図面を用いて説明す
る。まず図1は、第1実施形態の車両用電子制御装置1
の構成を表す構成図である。
装置1は、車両に搭載されたエンジンを制御するエンジ
ン制御装置であり、エンジンを制御するための各種処理
を行うマイクロコンピュータ(以下、マイコンという)
3と、エンジンに取り付けられたクランク角センサから
出力されるクランク信号や、車両のエアコンを冷房運転
させる場合にオンされるエアコンスイッチ(A/CS
W)の信号、といった車両内の各種二値信号をマイコン
3に入力させる入力回路5と、アクセルセンサからの信
号や水温センサからの信号といった、車両内の各種アナ
ログ信号をデジタル信号に変換(A/D変換)してマイ
コン3に入力させるA/D変換回路7とを備えている。
は、マイコン3から出力される制御信号に応じて、燃料
噴射弁やイグナイタなどの各種アクチュエータへ駆動信
号を出力する出力回路9と、マイコン3から周知の手法
で定期的に出力されるウォッチドッグパルスW/Dを監
視して、そのウォッチドッグパルスW/Dが出力されな
い時間が規定時間以上になると、マイコン3へリセット
信号RESを与える監視回路11と、イグニッションス
イッチ13を介して車両のバッテリ15の電圧VB(以
下、バッテリ電圧VBという)が供給され、そのバッテ
リ電圧VBを一定の電源電圧(例えば5V)に変換し
て、マイコン3をはじめとする上記各部に供給する電源
回路17とを備えている。
センサから出力されるクランク信号は、エンジンのクラ
ンク軸が例えば10°回転する毎に立ち上がりが生じる
信号であり、入力回路5は、そのクランク信号から、ク
ランク軸が所定角度(本実施形態では30°)回転する
毎に立ち上がりが生じる信号(以下、この信号をクラン
ク同期信号という)を生成して、該クランク同期信号を
マイコン3に出力する。
は、OSを使用したプログラムとなっており、入力回路
5からのクランク同期信号に特定方向のエッジ(本実施
形態では、立ち上がりエッジ)が発生すると、割込制御
プログラムとしての割込ハンドラが実行され、その割込
ハンドラの処理によりクランク同期タスクが起動され
る、といった構造になっている。
入力回路5からのクランク同期信号が立ち上がる毎に起
動されるクランク同期タスクにより、エンジン回転数の
算出や気筒判別など、エンジン制御の要となる処理を行
っている。尚、他の処理については、従来から行われて
いるものと同様であるため、ここでは説明を省略する。
ンドラ及びクランク同期タスクの各処理と、クランク同
期タスクの実行状態の異常を検出するための異常検出処
理とについて、図2及び図3を用いて説明する。まず、
マイコン3では、入力回路5からのクランク同期信号に
立ち上がりエッジが発生すると、図2(A)に示す割込
ハンドラが実行される。
れると、ステップ(以下単に「S」と記す)110に
て、図2(B)に示すクランク同期タスクが起動(コー
ル)され、その後、当該割込ハンドラが終了される。す
ると、クランク同期タクスの実行が開始され、図2
(B)に示すように、そのS210にて、エンジン回転
数や点火タイミングなどを算出するための当該クランク
同期タスクに固有のタスク処理が行われる。そして、こ
のタスク処理が完了すると、最後のS220にて、当該
クランク同期タスクの実行間隔を計測するためのタスク
実行時間計測カウンタCtaskの値が0にリセットされ、
その後、当該クランク同期タスクが終了される。
1ms)毎に、図3(A)に示す異常検出処理が実行さ
れる。尚、この異常検出処理は、図2(B)のクランク
同期タスクよりも優先順位が高い割込処理となってい
る。マイコン3にて、図3(A)の異常検出処理の実行
が開始されると、まずS310にて、クランク同期信号
に立ち上がりエッジが発生しない状態(以下、クランク
同期信号の無入力状態という)が、予め定められた所定
時間Ts以上継続しているかを判定する。尚、この所定
時間Tsは、エンジンが停止していると見なすことので
きる時間に設定されている。
所定時間Ts以上継続していなければ(S310:N
O)、続くS320にて、上記クランク同期タスクによ
り算出されているエンジン回転数に基づき、上記タスク
実行時間計測カウンタCtaskと大小比較される判定値t
0を決定する。
場合ほど、判定値t0を小さい値に設定する。例えば、
マイコン3内のROMに、図3(B)の如くエンジン回
転数と判定値t0とを対応させたデータマップを格納し
ておき、そのデータマップから現在のエンジン回転数に
対応する判定値t0を読み出したり、周知のマップ補間
の手法によって、判定値t0を決定する。この例では、
エンジン回転数が200rpmであれば、判定値t0が
50msに相当する値に設定され、エンジン回転数が1
000rpmであれば、判定値t0が10msに相当す
る値に設定され、エンジン回転数が5000rpmであ
れば、判定値t0が2msに相当する値に設定されるこ
ととなる。
は、当該異常検出処理の後述するS350の処理によっ
て1ずつカウントアップされるため、例えば50msに
相当する値とは、50msを当該異常検出処理の実行周
期(1ms)で割った値(即ち、50)であり、10m
sに相当する値とは、10msを1msで割った値(即
ち、10)である。
続くS330にて、タスク実行時間計測カウンタCtask
の値が、上記S320で設定した判定値t0よりも大き
いか否かを判定し、タスク実行時間計測カウンタCtask
の値が判定値t0よりも大きくなければ(S330:N
O)、そのままS350へ移行して、タスク実行時間計
測カウンタCtaskを1カウントアップする。そして、そ
の後、当該異常検出処理を終了する。
間計測カウンタCtaskの値が判定値t0よりも大きいと
判定した場合には(S330:YES)、クランク同期
タスクの実行状態に異常が発生したと判断してS340
に進み、異常判定時の処理を行う。尚、このS340で
は、例えば、クランク同期タスクの実行に異常が生じた
ことを示す異常検出フラグを立てる(1をセットする)
といった処理を行う。また、この異常検出フラグは、図
示しない他の処理で参照されて、何等かのフェイルセー
フ処置(例えばマイコン3のリセット等)のトリガとし
て用いられる。
S350に進んで、タスク実行時間計測カウンタCtask
を1カウントアップし、その後、当該異常検出処理を終
了する。また、上記S310にて、クランク同期信号の
無入力状態が所定時間Ts以上継続していると判定した
場合には(S310:YES)、S360に移行し、タ
スク実行時間計測カウンタCtaskの値を0にリセットし
て、そのまま当該異常検出処理を終了する。
エンジン回転数の値そのものを求めるように述べたが、
クランク同期タスクでは、当該タスクの実行周期を、ク
ランク軸が30°回転するのに要する時間(以下、30
°CA時間という)として求め、S320では、その3
0°CA時間に応じて、判定値t0を設定するようにし
ても良い。そして、このようにしても、エンジン回転数
に応じて判定値t0を設定していることとなる。
に搭載されたマイコン3では、クランク同期タスクの実
行状態の異常を検出するために、1ms毎の異常検出処
理によってタスク実行時間計測カウンタCtaskを1ずつ
カウントアップすると共に(S350)、異常検出対象
のクランク同期タスクにて、その処理の終了直前に、タ
スク実行時間計測カウンタCtaskの値を0にリセットす
るようにしている(S220)。
間計測カウンタCtaskと大小比較される判定値t0を、
エンジン回転数に応じて、該回転数が高い場合ほど小さ
い値に設定すると共に(S320)、タスク実行時間計
測カウンタCtaskの値が、その判定値t0を越えたなら
ば、クランク同期タスクの実行状態が異常であると判定
するようにしている(S330:YES,S340)。
は、図4に示すように、入力回路5からのクランク同期
信号が立ち上がる毎に、割込ハンドラによってクランク
同期タスクが起動されることとなるが、クランク同期タ
スクの実行中にプログラム暴走が発生して、図2(B)
のS220のクリア処理が行われなくなると、タスク実
行時間計測カウンタCtaskの値が判定値t0を越えて、
異常と判定されることとなる。よって、クランク同期タ
スク内でのプログラム暴走を検出することができる。
同期信号に立ち上がりエッジが発生したにも拘わらずク
ランク同期タスクが実行されない、といったタスク抜け
が発生した場合にも、タスク実行時間計測カウンタCta
skがクランク同期タスクのS220によってリセットさ
れずに、判定値t0を越えて異常と判定されることとな
るため、このようなクランク同期タスクの抜けも検出す
ることができる。
では、タスク実行時間計測カウンタCtaskの値と大小比
較する判定値t0を、エンジン回転数に応じて設定する
ようにしているため、エンジン回転数が高い場合の異常
検出遅れを防ぐことができ、また、エンジン回転数が低
い場合に、誤って異常と判定してしまうこともない。
では、クランク同期信号の無入力状態が所定時間Ts以
上継続していると判定した場合には(S310:YE
S)、クランク同期タスクの実行状態が正常か否かの判
定処理(S330,S340)を行わないようにしてい
るため、エンジンが停止している場合(エンスト時を含
む)や、信号配線などのハードウエア上の故障によって
クランク同期信号がマイコン3へ入力されない場合に、
クランク同期タスクの実行状態が異常であると誤って判
定してしまうのを防ぐことができる。
(図3(A))におけるS350の処理が、タイマ手段
に相当すると共に、タスク実行時間計測カウンタCtask
の値が、タイマ手段によって計時される時間に相当して
いる。そして、異常検出処理(図3(A))におけるS
320の処理が、判定値設定手段に相当し、また、S3
30の処理が、クランク同期タスクの実行状態の異常の
有無を判定する手段に相当している。
について説明する。尚、本第2実施形態の車両用電子制
御装置は、ハードウエアについては、図1に示した第1
実施形態の電子制御装置1と同じである。そこで以下、
各部の符号としては、第1実施形態と同じものを用いて
説明する。
実施形態と比較すると、マイコン3にて入力回路5から
のクランク同期信号が立ち上がる毎に実行される割込ハ
ンドラが、図5(A)のようになっており、また、その
割込ハンドラによって起動されるクランク同期タスク
が、図5(B)のようになっている。尚、図5におい
て、図2と同じ内容の処理については、同じステップ番
号を付しているため、詳しい説明は省略する。
ハンドラでは、S110にてクランク同期タスクを起動
する処理を行った後、続くS120にて、起動履歴情報
としての入力履歴フラグFiに、クランク同期タスクを
起動させたことを示す“1”をセットする。そして、そ
の後、当該割込ハンドラが終了される。
ク同期タスクでは、S210にて、エンジン回転数や点
火タイミングなどを算出するためのタスク処理を行った
後、図2(A)のS220に代わるS230にて、実行
履歴情報としてのタスク実行履歴フラグFjに、当該ク
ランク同期タスクが実行されたことを示す“1”をセッ
トする。
1では、第1実施形態と比較すると、マイコン3にて、
図3(A)の異常検出処理に代えて、図6に示す異常検
出処理が一定時間(例えば4ms)毎に実行される。そ
して、マイコン3にて、図6の異常検出処理の実行が開
始されると、まずS410にて、入力履歴フラグFiが
“1”であるか否かを判定し、入力履歴フラグFiが
“1”でなければ(S410:NO)、そもそも割込ハ
ンドラによってクランク同期タスクが起動されておら
ず、そのクランク同期タスクの実行状態の良否を判断す
る必要がないことから、そのままS440に移行する。
そして、このS440にて、入力履歴フラグFiとタス
ク実行履歴フラグFjとを“0”にするクリア処理を行
った後、当該異常検出処理を終了する。
iが“1”であると判定した場合には(S410:YE
S)、S420に進んで、タスク実行履歴フラグFjが
“1”であるか否かを判定する。そして、タスク実行履
歴フラグFjが“1”であれば(S420:YES)、
割込ハンドラによる起動に伴ってクランク同期タスクが
正常に実行されたということであるため、この場合に
も、そのままS440に移行して、入力履歴フラグFi
とタスク実行履歴フラグFjとのクリア処理を行った
後、当該異常検出処理を終了する。
履歴フラグFjが“1”ではない(“0”である)と判
定した場合には(S420:NO)、クランク同期信号
が立ち上がって割込ハンドラによりクランク同期タスク
が起動されたにも拘わらず、クランク同期タスクが実行
されなかった(即ち、タスク抜けが生じた)ということ
であるため、クランク同期タスクの実行状態に異常が発
生したと判断してS430に進み、異常判定時の処理を
行う。尚、このS430の異常判定時処理も、図3
(A)のS340と同様に、例えば、クランク同期タス
クの実行に異常が生じたことを示す異常検出フラグを立
てるといったものであり、その異常検出フラグは、他の
処理で参照されてフェイルセーフ処置のトリガとして用
いられる。
S440に進んで、入力履歴フラグFiとタスク実行履
歴フラグFjとのクリア処理を行い、当該異常検出処理
を終了する。つまり、本第2実施形態の電子制御装置1
に搭載されたマイコン3では、割込ハンドラにて、クラ
ンク同期タスクを起動させたことを示す入力履歴フラグ
Fiに“1”をセットすると共に、クランク同期タスク
にて、当該クランク同期タスクが実行されたことを示す
タスク実行履歴フラグFjに“1”をセットするように
し、更に、異常検出処理にて、入力履歴フラグFiとタ
スク実行履歴フラグFjとを比較することにより、クラ
ンク同期タスクの実行状態が正常か否かを判定するよう
にしている。
は、図7(特に「×」印の部分)に示すように、入力回
路5からのクランク同期信号が立ち上がって、割込ハン
ドラによりクランク同期タスクが起動されたにも拘わら
ず、クランク同期タスクが実行されない、といったタス
ク抜けが生じた場合には、図6の異常検出処理により、
入力履歴フラグFiが“1”であるのにタスク実行履歴
フラグFjが“0”である、という矛盾が検知されて
(S410:YES,S420:NO)、タスク抜けの
発生が検出されることとなる。
らゆるエンジン回転数で的確に且つ早期に検出すること
ができる。つまり、クランク同期信号に立ち上がりエッ
ジが発生して、割込ハンドラによりクランク同期タスク
が起動されたはずなのに、クランク同期タスクが実際に
は実行されていない、といったタスク抜け時に生じる矛
盾を、エンジン回転数によらず見つけることができるか
らである。
ば、エンジンが停止している場合や、信号配線などのハ
ードウエア上の故障によってクランク同期信号がマイコ
ン3へ入力されない場合には、元々、割込ハンドラがク
ランク同期タスクを起動しないため、そのような場合
に、誤ってタスク抜けが生じたと判定してしまうことも
ない。
ンドラとクランク同期タスクとの各々にて、フラグF
i,Fjに“1”をセットするようにしたが、割込ハン
ドラのS120にて、起動履歴情報としての起動回数カ
ウンタをカウントアップさせると共に、クランク同期タ
スクのS230にて、実行履歴情報としての実行回数カ
ウンタをカウントアップさせるようにし、更に、異常検
出処理では、上記起動回数カウンタの値と上記実行回数
カウンタの値とを比較して、クランク同期タスクの実行
状態の良否を判定するようにしても良い。
の値が一致していない場合、或いは、両カウンタの値の
差が予め定められた所定値以上である場合に、クランク
同期タスクの抜けが発生したと判定すれば良い。また、
上記両カウンタの値は、異常検出処理で0にリセットす
れば良い。
常検出が可能となる。以上、本発明の一実施形態につい
て説明したが、本発明は、種々の形態を採り得ることは
言うまでもない。例えば、上記第1実施形態において、
図3(A)のS350のカウントアップ処理(タイマ手
段としての処理)は、マイコン3内のハードウエアタイ
マによって行うようにようにしても良い。
法は、クランク同期タスクを起動せず、割込ハンドラの
みで処理される旧来のプログラム構造のマイコンに対し
ても、全く同様に適用することができる。一方、第1実
施形態の異常検出方法と第2実施形態の異常検出方法と
の、両方を実施するようにしても良い。そして、この場
合、具体的には下記の(1)〜(3)のようにすれば良
い。
に示したものとする。 (2)クランク同期タスクの処理は、図5(B)に示し
たものに対し、S230の後で、図2(B)に示したS
220と同じ処理(タスク実行時間計測カウンタCtask
の値を0にリセットする処理)を行うようにする。
理と図6の処理とを組み合わせた図8の異常検出処理
が、一定時間毎に実行されるようにする。尚、図8にお
いて、図3及び図6と同じ内容の処理については、同じ
ステップ番号を付しているため、詳しい説明は省略す
る。
10にて、クランク同期信号の無入力状態が所定時間T
s以上継続していないと判定した場合には(S310:
NO)、前述したS320,S330の処理を行う。そ
して、S330にて、タスク実行時間計測カウンタCta
skの値が判定値t0よりも大きいと判定した場合には
(S330:YES)、クランク同期タスクの実行状態
に異常が発生したと判断し、S340で異常判定時の処
理を行う。
カウンタCtaskの値が判定値t0よりも大きくないと判
定した場合には(S330:NO)、前述したS410
の処理を行い、そのS410にて入力履歴フラグFiが
“1”であると判定した場合には(S410:YE
S)、S420に進んで、タスク実行履歴フラグFjが
“1”であるか否かを判定する。そして、タスク実行履
歴フラグFjが“1”ではないと判定した場合には(S
420:NO)、クランク同期タスクの実行状態に異常
が発生したと判断し、S340で異常判定時の処理を行
う。
は、S410で否定判定するか、S420で肯定判定し
た場合には、S440で入力履歴フラグFiとタスク実
行履歴フラグFjとを“0”にクリアし、更にS350
でタスク実行時間計測カウンタCtaskを1カウントアッ
プしてから、当該異常検出処理を終了する。
無入力状態が所定時間Ts以上継続していると判定した
場合には(S310:YES)、S450で入力履歴フ
ラグFiとタスク実行履歴フラグFjとを“0”にクリ
アし、更にS360でタスク実行時間計測カウンタCta
skの値を0にリセットして、そのまま当該異常検出処理
を終了する。
と第2実施形態の異常検出方法との両方を実施するよう
にすれば、異常検出精度をより向上させることができ
る。
成図である。
行される割込ハンドラの処理とクランク同期タスクの処
理とを表すフローチャートである。
図である。
るタイムチャートである。
行される割込ハンドラの処理とクランク同期タスクの処
理とを表すフローチャートである。
ャートである。
るタイムチャートである。
である。
(マイコン)、5…入力回路、7…A/D変換回路、9
…出力回路、11…監視回路、13…イグニッションス
イッチ、15…バッテリ、17…電源回路
Claims (3)
- 【請求項1】 エンジンのクランク軸の回転に同期して
パルス状にレベル変化するクランク同期信号が入力され
ると共に、そのクランク同期信号に特定方向のエッジが
発生する毎に、クランク同期タスクを実行するマイクロ
コンピュータにおいて、前記クランク同期タスクの実行
状態の異常を検出するために用いられるクランク同期タ
スクの異常方法であって、 時間を計測するタイマ手段を設けると共に、 前記クランク同期タスクにて、その処理の終了直前に、
前記タイマ手段で計測されている時間をリセットするよ
うにし、 更に、前記クランク同期タスクの実行状態が正常か否か
を判定するために前記時間と大小比較される判定値を、
前記エンジンの回転数に応じて、該回転数が高い場合ほ
ど小さい値に設定する判定値設定手段を設け、 前記タイマ手段で計測される時間が、前記判定値設定手
段により設定される判定値を越えたならば、前記クラン
ク同期タスクの実行状態が異常であると判定すること、 を特徴とするクランク同期タスクの異常検出方法。 - 【請求項2】 請求項1に記載のクランク同期タスクの
異常検出方法において、 前記クランク同期信号に前記特定方向のエッジが発生し
ない状態が、所定時間以上継続している場合には、前記
クランク同期タスクの実行状態が正常か否かの判定を行
わないこと、 を特徴とするクランク同期タスクの異常検出方法。 - 【請求項3】 エンジンのクランク軸の回転に同期して
パルス状にレベル変化するクランク同期信号が入力され
ると共に、そのクランク同期信号に特定方向のエッジが
発生すると実行される割込制御プログラムにより、前記
クランク同期信号に前記特定方向のエッジが発生する毎
に実行されるべきクランク同期タスクが起動されるマイ
クロコンピュータにおいて、前記クランク同期タスクの
実行状態の異常を検出するために用いられるクランク同
期タスクの異常検出方法であって、 前記割込制御プログラムにて、前記クランク同期タスク
を起動させたことを示す起動履歴情報を記録すると共
に、 前記クランク同期タスクにて、当該クランク同期タスク
が実行されたことを示す実行履歴情報を記録するように
し、 前記起動履歴情報と前記実行履歴情報とを比較すること
により、前記クランク同期タスクの実行状態が正常か否
かを判定すること、 を特徴とするクランク同期タスクの異常検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000145049A JP2001323836A (ja) | 2000-05-17 | 2000-05-17 | クランク同期タスクの異常検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000145049A JP2001323836A (ja) | 2000-05-17 | 2000-05-17 | クランク同期タスクの異常検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001323836A true JP2001323836A (ja) | 2001-11-22 |
Family
ID=18651613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000145049A Pending JP2001323836A (ja) | 2000-05-17 | 2000-05-17 | クランク同期タスクの異常検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001323836A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003139874A (ja) * | 2001-10-30 | 2003-05-14 | Denso Corp | 電子制御装置 |
JP2007334587A (ja) * | 2006-06-14 | 2007-12-27 | Denso Corp | 異常監視用プログラム、記録媒体及び電子装置 |
JP2010061198A (ja) * | 2008-09-01 | 2010-03-18 | Fujitsu Microelectronics Ltd | 検証支援プログラム、検証支援装置、および検証支援方法 |
JP2013097412A (ja) * | 2011-10-28 | 2013-05-20 | Toshiba Corp | 周期エラー検出方法および周期エラー検出回路 |
US9153081B2 (en) | 2012-11-01 | 2015-10-06 | Denso Corporation | Counter apparatus |
WO2018173910A1 (ja) * | 2017-03-24 | 2018-09-27 | 日立オートモティブシステムズ株式会社 | 車両制御装置 |
-
2000
- 2000-05-17 JP JP2000145049A patent/JP2001323836A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003139874A (ja) * | 2001-10-30 | 2003-05-14 | Denso Corp | 電子制御装置 |
US7210055B2 (en) | 2001-10-30 | 2007-04-24 | Denso Corporation | Electronic control apparatus |
JP2007334587A (ja) * | 2006-06-14 | 2007-12-27 | Denso Corp | 異常監視用プログラム、記録媒体及び電子装置 |
JP4609381B2 (ja) * | 2006-06-14 | 2011-01-12 | 株式会社デンソー | 異常監視用プログラム、記録媒体及び電子装置 |
US7996732B2 (en) | 2006-06-14 | 2011-08-09 | Denso Corporation | Program-execution monitoring method, system, and program |
JP2010061198A (ja) * | 2008-09-01 | 2010-03-18 | Fujitsu Microelectronics Ltd | 検証支援プログラム、検証支援装置、および検証支援方法 |
JP2013097412A (ja) * | 2011-10-28 | 2013-05-20 | Toshiba Corp | 周期エラー検出方法および周期エラー検出回路 |
US9153081B2 (en) | 2012-11-01 | 2015-10-06 | Denso Corporation | Counter apparatus |
WO2018173910A1 (ja) * | 2017-03-24 | 2018-09-27 | 日立オートモティブシステムズ株式会社 | 車両制御装置 |
US11372706B2 (en) | 2017-03-24 | 2022-06-28 | Hitachi Astemo, Ltd. | Vehicle control device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020078925A1 (en) | Fail-safe system for combustion engine control | |
JPH03288942A (ja) | マイクロコンピュータにおけるプログラム暴走検出方法 | |
JP3879368B2 (ja) | エンジンシステムの異常判定装置 | |
JPH1196044A (ja) | 異常監視回路の異常検出装置及び異常検出方法 | |
JPH02125948A (ja) | エンジン制御装置 | |
JP2003323353A (ja) | メモリ診断装置及び制御装置 | |
JP2001323836A (ja) | クランク同期タスクの異常検出方法 | |
JP5304724B2 (ja) | エンジン制御装置 | |
JP5556760B2 (ja) | エンジン制御装置 | |
KR0169869B1 (ko) | 크랭크 각도 센서의 이상 검출 방법 및 크랭크 각도 센서의 이상 검출 장치 | |
JP2005084896A (ja) | 車載電子制御装置 | |
JP2000303898A (ja) | 水温センサの異常検出装置 | |
JP2003222053A (ja) | 車両用電子制御装置 | |
US20080282248A1 (en) | Electronic computing device capable of specifying execution time of task, and program therefor | |
JP2002041493A (ja) | マイクロコンピュータ | |
JP4703439B2 (ja) | エコラン制御装置及びエコラン制御方法 | |
JP6172040B2 (ja) | 電子制御装置 | |
JP3835285B2 (ja) | エンジンの始動用制御装置 | |
JP2021163425A (ja) | 電子制御装置 | |
JP2001227402A (ja) | 車載電子制御装置 | |
JP2016162330A (ja) | 電子制御装置 | |
JP3211708B2 (ja) | 車両制御装置 | |
JP2003232255A (ja) | 内燃機関の逆転検出装置及び気筒判別装置 | |
JP3133150B2 (ja) | クランク軸回転変動による失火検出方法 | |
JP2019214977A (ja) | 車載制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090113 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090602 |