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
Application number
JP2000145049A
Other languages
English (en)
Inventor
Koichi Ohara
孝一 大原
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 JP2000145049A priority Critical patent/JP2001323836A/ja
Publication of JP2001323836A publication Critical patent/JP2001323836A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 エンジンのクランク軸の回転に同期して実行
されるクランク同期タスクの実行状態の異常を検出する
のに好適な異常検出方法を提供する。 【解決手段】 エンジンのクランク軸が所定角度回転す
る毎に立ち上がるクランク同期信号が入力されて、その
信号に立ち上がりエッジが発生する毎にクランク同期タ
スクを実行するエンジン制御用のマイコンでは、クラン
ク同期タスクにて、その処理の終了直前にカウンタCta
skをリセットするようになっている。そして、このマイ
コンでは、一定時間毎に実行される異常検出処理にて、
上記カウンタCtaskを1ずつカウントアップすると共に
(S350)、カウンタCtaskの値と大小比較される判
定値t0を、エンジン回転数に応じて、該回転数が高い
場合ほど小さい値に設定し(S320)、カウンタCta
skの値が判定値t0を越えると(S330:YES)、
クランク同期タスクの実行状態が異常と判定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータにおけるプログラム暴走などの異常を検出する技術
に関し、特に、エンジンを制御する電子制御装置のマイ
クロコンピュータにおいて、エンジンのクランク軸の回
転に同期して実行されるクランク同期タスクの実行状態
の異常を検出するための技術に関するものである。
【0002】
【従来の技術】従来より、マイクロコンピュータにおい
て、プログラム暴走を検出するための異常検出方法とし
ては、時間を計測するタイマ手段を設けると共に、その
タイマ手段で計時されている時間を、異常検出対象のタ
スクでリセットするようにし、上記タイマ手段で計時さ
れる時間が、予め設定された判定値を越えると、プログ
ラム暴走が発生した(即ち、上記異常検出対象のタスク
が正常に実行されなくなった)と判定するようにしてい
る。尚、タスクとは、マイクロコンピュータが実行する
プログラムを仕事毎に分けた単位プログラム(各仕事毎
のプログラム)のことである。
【0003】そして、上記タイマ手段としては、マイク
ロコンピュータの外部或いは内部に設けられたハードウ
エアのタイマ回路(所謂ウォッチドッグタイマ回路)
や、マイクロコンピュータで一定時間毎に実行されるタ
イマ処理が用いられる。
【0004】
【発明が解決しようとする課題】ところで、車両のエン
ジンを制御する電子制御装置に搭載されるマイクロコン
ピュータは、エンジンのクランク軸が所定角度回転する
毎に、エンジン回転数の算出や気筒判別などを行うため
のクランク同期タスクを実行するように構成される。
【0005】具体的には、エンジンに取り付けられたク
ランク角センサから出力される信号(クランク信号)或
いはその信号を分周した信号であって、エンジンのクラ
ンク軸が所定角度回転する毎にパルス状にレベル変化す
るクランク同期信号が、マイクロコンピュータのエッジ
割込端子に入力される。そして、マイクロコンピュータ
は、そのクランク同期信号に特定方向のエッジ(例えば
ロウレベルからハイレベルへの立ち上がりエッジ)が発
生する毎に、割込処理としてのクランク同期タスクを実
行して、エンジン回転数の算出や気筒判別などを行って
いる。
【0006】そして、このようなクランク同期タスク
は、エンジン制御の要となるものであるが、前述した従
来の異常検出方法では、それの実行状態の異常を適切に
検出することができないという問題がある。つまり、従
来の異常検出方法は、異常検出対象のタスクが上記判定
値によって決まる一定時間内に実行されたか否かを判定
するものであるのに対して、クランク同期タスクの実行
周期は常に一定ではなく、エンジン回転数に応じて逐次
変化するからである。
【0007】また、従来の異常検出方法を用いてクラン
ク同期タスクの異常を検出しようとする場合、上記判定
値を予め非常に大きい値(具体的には、エンジン回転数
がアイドル回転数以下であっても異常と判定されない
値)に設定しておくことも考えられるが、このようにし
たのでは、実際に異常が発生してから、異常と判定され
るまでの遅れ(異常検出遅れ)が大きくなってしまい、
延いては、異常判定時に行うべきフェイルセーフ処置
(例えばマイクロコンピュータのリセット等)の実施
が、適切なタイミングから大きく遅れてしまう。そし
て、この問題は、エンジンの回転数が高い場合ほど顕著
になる。
【0008】そこで、本発明は、エンジンのクランク軸
の回転に同期して実行されるクランク同期タスクの実行
状態の異常を検出するのに好適な、クランク同期タスク
の異常検出方法を提供することを目的としている。
【0009】
【課題を解決するための手段及び発明の効果】上記目的
を達成するためになされた請求項1に記載のクランク同
期タスクの異常検出方法は、エンジンのクランク軸の回
転に同期してパルス状にレベル変化するクランク同期信
号が入力されると共に、そのクランク同期信号に特定方
向のエッジが発生する毎にクランク同期タスクを実行す
るマイクロコンピュータにおいて、そのクランク同期タ
スクの実行状態の異常を検出するためのものである。
【0010】そして、この異常検出方法では、まず、時
間を計測するタイマ手段を設けると共に、異常検出対象
のクランク同期タスクにて、その処理の終了直前に、前
記タイマ手段で計測されている時間をリセットするよう
にする。そして更に、クランク同期タスクの実行状態が
正常か否かを判定するために前記時間と大小比較される
判定値を、エンジンの回転数(エンジン回転数)に応じ
て、該回転数が高い場合ほど小さい値に設定する判定値
設定手段を設け、タイマ手段で計測される時間が前記判
定値設定手段により設定される判定値を越えたならば、
クランク同期タスクの実行状態が異常であると判定す
る。
【0011】この異常検出方法によれば、:クランク
同期タスクの実行中にプログラム暴走が発生して、その
クランク同期タスクから復帰しなくなる異常(以下、ク
ランク同期タスク内でのプログラム暴走という)と、
:クランク同期信号に特定方向のエッジが発生したに
も拘わらず、クランク同期タスクが実行されない異常
(以下、クランク同期タスクの抜け、或いは単に、タス
ク抜け、という)との、両方の異常を検出できる上に、
そのような各異常を、あらゆるエンジン回転数で早期に
検出することができるようになる。
【0012】つまり、上記,の何れの異常が発生し
た場合でも、タイマ手段で計測される時間が、クランク
同期タスクによってリセットされずに、判定値を越えて
異常と判定されるのであるが、特に請求項1の本発明で
は、その判定値を、エンジン回転数に応じて、エンジン
回転数が高い場合ほど小さい値に設定するため、エンジ
ン回転数が高い場合の異常検出遅れを防ぐことができ
る。また、エンジン回転数が低い場合には、判定値が大
きい値に設定されるため、誤って異常と判定してしまう
誤検出も防止することができる。
【0013】ところで、上記請求項1の異常検出方法に
おいて、請求項2に記載の如く、クランク同期信号に前
記特定方向のエッジが発生しない状態が、所定時間以上
継続している場合には、クランク同期タスクの実行状態
が正常か否かの判定を行わないようにすれば、エンジン
が停止している場合や、信号配線などのハードウエア上
の故障によってクランク同期信号がマイクロコンピュー
タへ入力されない場合に、誤ってマイクロコンピュータ
が異常であると判定してしまうのを防ぐことができ、実
使用上、非常に有効である。
【0014】つまり、エンジン停止時や、クランク同期
信号がマイクロコンピュータへ入力されないハードウエ
ア故障時には、マイクロコンピュータ自身が正常であっ
ても、クランク同期タスクは実行されないため、その様
な場合に異常判定を行うと、クランク同期タスクの実行
状態が異常であると誤判定してしまうからである。
【0015】一方、近年、車両用電子制御装置に搭載さ
れるマイクロコンピュータにおいても、オペレーティン
グ・システム(以下、OSという)を使用したプログラ
ミングが行われており、OSを使用した場合、一般に、
各種の割込タスク(割込処理)の起動は、OS側の割込
ハンドラと呼ばれる割込制御プログラムによって制御さ
れる。
【0016】このため、OSを使用した場合、マイクロ
コンピュータのプログラム構造としては、クランク同期
信号に特定方向のエッジが発生すると割込制御プログラ
ムが実行され、その割込制御プログラムによりクランク
同期タスクが起動される、といったものになる。
【0017】そこで、割込制御プログラムによってクラ
ンク同期タスクが起動されるプログラム構造の場合に
は、請求項3に記載のように、割込制御プログラムに
て、クランク同期タスクを起動させたことを示す起動履
歴情報を記録すると共に、クランク同期タスクにて、当
該クランク同期タスクが実行されたことを示す実行履歴
情報を記録するようにし、他の異常検出用の処理で、前
記起動履歴情報と前記実行履歴情報とを比較することに
より、クランク同期タスクの実行状態が正常か否かを判
定する、という異常検出方法を採ることも可能である。
【0018】そして、この請求項3の異常検出方法によ
れば、上記の異常(クランク同期タスクの抜け)を、
あらゆるエンジン回転数で的確に且つ早期に検出するこ
とができる。つまり、この異常検出方法では、クランク
同期信号に特定方向のエッジが発生して、割込制御プロ
グラムによりクランク同期タスクが起動されたはずなの
に、クランク同期タスクが実際には実行されていない、
といったタスク抜け時に生じる矛盾を、エンジン回転数
によらず見つけることができるからである。
【0019】また、エンジンが停止している場合や、信
号配線などのハードウエア上の故障によってクランク同
期信号がマイクロコンピュータへ入力されない場合に
は、元々、割込制御プログラムがクランク同期タスクを
起動しないため、そのような場合に、誤ってタスク抜け
が生じたと判定してしまうこともない。
【0020】
【発明の実施の形態】以下、本発明が適用された実施形
態の車両用電子制御装置について、図面を用いて説明す
る。まず図1は、第1実施形態の車両用電子制御装置1
の構成を表す構成図である。
【0021】図1に示すように、本実施形態の電子制御
装置1は、車両に搭載されたエンジンを制御するエンジ
ン制御装置であり、エンジンを制御するための各種処理
を行うマイクロコンピュータ(以下、マイコンという)
3と、エンジンに取り付けられたクランク角センサから
出力されるクランク信号や、車両のエアコンを冷房運転
させる場合にオンされるエアコンスイッチ(A/CS
W)の信号、といった車両内の各種二値信号をマイコン
3に入力させる入力回路5と、アクセルセンサからの信
号や水温センサからの信号といった、車両内の各種アナ
ログ信号をデジタル信号に変換(A/D変換)してマイ
コン3に入力させるA/D変換回路7とを備えている。
【0022】そして更に、本実施形態の電子制御装置1
は、マイコン3から出力される制御信号に応じて、燃料
噴射弁やイグナイタなどの各種アクチュエータへ駆動信
号を出力する出力回路9と、マイコン3から周知の手法
で定期的に出力されるウォッチドッグパルスW/Dを監
視して、そのウォッチドッグパルスW/Dが出力されな
い時間が規定時間以上になると、マイコン3へリセット
信号RESを与える監視回路11と、イグニッションス
イッチ13を介して車両のバッテリ15の電圧VB(以
下、バッテリ電圧VBという)が供給され、そのバッテ
リ電圧VBを一定の電源電圧(例えば5V)に変換し
て、マイコン3をはじめとする上記各部に供給する電源
回路17とを備えている。
【0023】ここで、本実施形態において、クランク角
センサから出力されるクランク信号は、エンジンのクラ
ンク軸が例えば10°回転する毎に立ち上がりが生じる
信号であり、入力回路5は、そのクランク信号から、ク
ランク軸が所定角度(本実施形態では30°)回転する
毎に立ち上がりが生じる信号(以下、この信号をクラン
ク同期信号という)を生成して、該クランク同期信号を
マイコン3に出力する。
【0024】また、マイコン3が実行するプログラム
は、OSを使用したプログラムとなっており、入力回路
5からのクランク同期信号に特定方向のエッジ(本実施
形態では、立ち上がりエッジ)が発生すると、割込制御
プログラムとしての割込ハンドラが実行され、その割込
ハンドラの処理によりクランク同期タスクが起動され
る、といった構造になっている。
【0025】そして、マイコン3では、このようにして
入力回路5からのクランク同期信号が立ち上がる毎に起
動されるクランク同期タスクにより、エンジン回転数の
算出や気筒判別など、エンジン制御の要となる処理を行
っている。尚、他の処理については、従来から行われて
いるものと同様であるため、ここでは説明を省略する。
【0026】次に、マイコン3で実行される上記割込ハ
ンドラ及びクランク同期タスクの各処理と、クランク同
期タスクの実行状態の異常を検出するための異常検出処
理とについて、図2及び図3を用いて説明する。まず、
マイコン3では、入力回路5からのクランク同期信号に
立ち上がりエッジが発生すると、図2(A)に示す割込
ハンドラが実行される。
【0027】そして、この割込ハンドラの実行が開始さ
れると、ステップ(以下単に「S」と記す)110に
て、図2(B)に示すクランク同期タスクが起動(コー
ル)され、その後、当該割込ハンドラが終了される。す
ると、クランク同期タクスの実行が開始され、図2
(B)に示すように、そのS210にて、エンジン回転
数や点火タイミングなどを算出するための当該クランク
同期タスクに固有のタスク処理が行われる。そして、こ
のタスク処理が完了すると、最後のS220にて、当該
クランク同期タスクの実行間隔を計測するためのタスク
実行時間計測カウンタCtaskの値が0にリセットされ、
その後、当該クランク同期タスクが終了される。
【0028】一方、マイコン3では、一定時間(例えば
1ms)毎に、図3(A)に示す異常検出処理が実行さ
れる。尚、この異常検出処理は、図2(B)のクランク
同期タスクよりも優先順位が高い割込処理となってい
る。マイコン3にて、図3(A)の異常検出処理の実行
が開始されると、まずS310にて、クランク同期信号
に立ち上がりエッジが発生しない状態(以下、クランク
同期信号の無入力状態という)が、予め定められた所定
時間Ts以上継続しているかを判定する。尚、この所定
時間Tsは、エンジンが停止していると見なすことので
きる時間に設定されている。
【0029】そして、クランク同期信号の無入力状態が
所定時間Ts以上継続していなければ(S310:N
O)、続くS320にて、上記クランク同期タスクによ
り算出されているエンジン回転数に基づき、上記タスク
実行時間計測カウンタCtaskと大小比較される判定値t
0を決定する。
【0030】このS320では、エンジン回転数が高い
場合ほど、判定値t0を小さい値に設定する。例えば、
マイコン3内のROMに、図3(B)の如くエンジン回
転数と判定値t0とを対応させたデータマップを格納し
ておき、そのデータマップから現在のエンジン回転数に
対応する判定値t0を読み出したり、周知のマップ補間
の手法によって、判定値t0を決定する。この例では、
エンジン回転数が200rpmであれば、判定値t0が
50msに相当する値に設定され、エンジン回転数が1
000rpmであれば、判定値t0が10msに相当す
る値に設定され、エンジン回転数が5000rpmであ
れば、判定値t0が2msに相当する値に設定されるこ
ととなる。
【0031】尚、タスク実行時間計測カウンタCtask
は、当該異常検出処理の後述するS350の処理によっ
て1ずつカウントアップされるため、例えば50msに
相当する値とは、50msを当該異常検出処理の実行周
期(1ms)で割った値(即ち、50)であり、10m
sに相当する値とは、10msを1msで割った値(即
ち、10)である。
【0032】そして、図3(A)の異常検出処理では、
続くS330にて、タスク実行時間計測カウンタCtask
の値が、上記S320で設定した判定値t0よりも大き
いか否かを判定し、タスク実行時間計測カウンタCtask
の値が判定値t0よりも大きくなければ(S330:N
O)、そのままS350へ移行して、タスク実行時間計
測カウンタCtaskを1カウントアップする。そして、そ
の後、当該異常検出処理を終了する。
【0033】これに対し、上記S330でタスク実行時
間計測カウンタCtaskの値が判定値t0よりも大きいと
判定した場合には(S330:YES)、クランク同期
タスクの実行状態に異常が発生したと判断してS340
に進み、異常判定時の処理を行う。尚、このS340で
は、例えば、クランク同期タスクの実行に異常が生じた
ことを示す異常検出フラグを立てる(1をセットする)
といった処理を行う。また、この異常検出フラグは、図
示しない他の処理で参照されて、何等かのフェイルセー
フ処置(例えばマイコン3のリセット等)のトリガとし
て用いられる。
【0034】そして、上記S340の処理を行った後、
S350に進んで、タスク実行時間計測カウンタCtask
を1カウントアップし、その後、当該異常検出処理を終
了する。また、上記S310にて、クランク同期信号の
無入力状態が所定時間Ts以上継続していると判定した
場合には(S310:YES)、S360に移行し、タ
スク実行時間計測カウンタCtaskの値を0にリセットし
て、そのまま当該異常検出処理を終了する。
【0035】尚、上記説明では、クランク同期タスクで
エンジン回転数の値そのものを求めるように述べたが、
クランク同期タスクでは、当該タスクの実行周期を、ク
ランク軸が30°回転するのに要する時間(以下、30
°CA時間という)として求め、S320では、その3
0°CA時間に応じて、判定値t0を設定するようにし
ても良い。そして、このようにしても、エンジン回転数
に応じて判定値t0を設定していることとなる。
【0036】つまり、本第1実施形態の電子制御装置1
に搭載されたマイコン3では、クランク同期タスクの実
行状態の異常を検出するために、1ms毎の異常検出処
理によってタスク実行時間計測カウンタCtaskを1ずつ
カウントアップすると共に(S350)、異常検出対象
のクランク同期タスクにて、その処理の終了直前に、タ
スク実行時間計測カウンタCtaskの値を0にリセットす
るようにしている(S220)。
【0037】そして、異常検出処理では、タスク実行時
間計測カウンタCtaskと大小比較される判定値t0を、
エンジン回転数に応じて、該回転数が高い場合ほど小さ
い値に設定すると共に(S320)、タスク実行時間計
測カウンタCtaskの値が、その判定値t0を越えたなら
ば、クランク同期タスクの実行状態が異常であると判定
するようにしている(S330:YES,S340)。
【0038】このため、本第1実施形態のマイコン3で
は、図4に示すように、入力回路5からのクランク同期
信号が立ち上がる毎に、割込ハンドラによってクランク
同期タスクが起動されることとなるが、クランク同期タ
スクの実行中にプログラム暴走が発生して、図2(B)
のS220のクリア処理が行われなくなると、タスク実
行時間計測カウンタCtaskの値が判定値t0を越えて、
異常と判定されることとなる。よって、クランク同期タ
スク内でのプログラム暴走を検出することができる。
【0039】また、図4には示していないが、クランク
同期信号に立ち上がりエッジが発生したにも拘わらずク
ランク同期タスクが実行されない、といったタスク抜け
が発生した場合にも、タスク実行時間計測カウンタCta
skがクランク同期タスクのS220によってリセットさ
れずに、判定値t0を越えて異常と判定されることとな
るため、このようなクランク同期タスクの抜けも検出す
ることができる。
【0040】そして特に、本第1実施形態のマイコン3
では、タスク実行時間計測カウンタCtaskの値と大小比
較する判定値t0を、エンジン回転数に応じて設定する
ようにしているため、エンジン回転数が高い場合の異常
検出遅れを防ぐことができ、また、エンジン回転数が低
い場合に、誤って異常と判定してしまうこともない。
【0041】そして更に、本第1実施形態のマイコン3
では、クランク同期信号の無入力状態が所定時間Ts以
上継続していると判定した場合には(S310:YE
S)、クランク同期タスクの実行状態が正常か否かの判
定処理(S330,S340)を行わないようにしてい
るため、エンジンが停止している場合(エンスト時を含
む)や、信号配線などのハードウエア上の故障によって
クランク同期信号がマイコン3へ入力されない場合に、
クランク同期タスクの実行状態が異常であると誤って判
定してしまうのを防ぐことができる。
【0042】尚、本第1実施形態では、異常検出処理
(図3(A))におけるS350の処理が、タイマ手段
に相当すると共に、タスク実行時間計測カウンタCtask
の値が、タイマ手段によって計時される時間に相当して
いる。そして、異常検出処理(図3(A))におけるS
320の処理が、判定値設定手段に相当し、また、S3
30の処理が、クランク同期タスクの実行状態の異常の
有無を判定する手段に相当している。
【0043】次に、第2実施形態の車両用電子制御装置
について説明する。尚、本第2実施形態の車両用電子制
御装置は、ハードウエアについては、図1に示した第1
実施形態の電子制御装置1と同じである。そこで以下、
各部の符号としては、第1実施形態と同じものを用いて
説明する。
【0044】第2実施形態の電子制御装置1では、第1
実施形態と比較すると、マイコン3にて入力回路5から
のクランク同期信号が立ち上がる毎に実行される割込ハ
ンドラが、図5(A)のようになっており、また、その
割込ハンドラによって起動されるクランク同期タスク
が、図5(B)のようになっている。尚、図5におい
て、図2と同じ内容の処理については、同じステップ番
号を付しているため、詳しい説明は省略する。
【0045】即ち、まず図5(A)に示すように、割込
ハンドラでは、S110にてクランク同期タスクを起動
する処理を行った後、続くS120にて、起動履歴情報
としての入力履歴フラグFiに、クランク同期タスクを
起動させたことを示す“1”をセットする。そして、そ
の後、当該割込ハンドラが終了される。
【0046】そして、図5(B)に示すように、クラン
ク同期タスクでは、S210にて、エンジン回転数や点
火タイミングなどを算出するためのタスク処理を行った
後、図2(A)のS220に代わるS230にて、実行
履歴情報としてのタスク実行履歴フラグFjに、当該ク
ランク同期タスクが実行されたことを示す“1”をセッ
トする。
【0047】一方更に、本第2実施形態の電子制御装置
1では、第1実施形態と比較すると、マイコン3にて、
図3(A)の異常検出処理に代えて、図6に示す異常検
出処理が一定時間(例えば4ms)毎に実行される。そ
して、マイコン3にて、図6の異常検出処理の実行が開
始されると、まずS410にて、入力履歴フラグFiが
“1”であるか否かを判定し、入力履歴フラグFiが
“1”でなければ(S410:NO)、そもそも割込ハ
ンドラによってクランク同期タスクが起動されておら
ず、そのクランク同期タスクの実行状態の良否を判断す
る必要がないことから、そのままS440に移行する。
そして、このS440にて、入力履歴フラグFiとタス
ク実行履歴フラグFjとを“0”にするクリア処理を行
った後、当該異常検出処理を終了する。
【0048】また、上記S410にて入力履歴フラグF
iが“1”であると判定した場合には(S410:YE
S)、S420に進んで、タスク実行履歴フラグFjが
“1”であるか否かを判定する。そして、タスク実行履
歴フラグFjが“1”であれば(S420:YES)、
割込ハンドラによる起動に伴ってクランク同期タスクが
正常に実行されたということであるため、この場合に
も、そのままS440に移行して、入力履歴フラグFi
とタスク実行履歴フラグFjとのクリア処理を行った
後、当該異常検出処理を終了する。
【0049】これに対し、上記S420にてタスク実行
履歴フラグFjが“1”ではない(“0”である)と判
定した場合には(S420:NO)、クランク同期信号
が立ち上がって割込ハンドラによりクランク同期タスク
が起動されたにも拘わらず、クランク同期タスクが実行
されなかった(即ち、タスク抜けが生じた)ということ
であるため、クランク同期タスクの実行状態に異常が発
生したと判断してS430に進み、異常判定時の処理を
行う。尚、このS430の異常判定時処理も、図3
(A)のS340と同様に、例えば、クランク同期タス
クの実行に異常が生じたことを示す異常検出フラグを立
てるといったものであり、その異常検出フラグは、他の
処理で参照されてフェイルセーフ処置のトリガとして用
いられる。
【0050】そして、このS430の処理を行った後、
S440に進んで、入力履歴フラグFiとタスク実行履
歴フラグFjとのクリア処理を行い、当該異常検出処理
を終了する。つまり、本第2実施形態の電子制御装置1
に搭載されたマイコン3では、割込ハンドラにて、クラ
ンク同期タスクを起動させたことを示す入力履歴フラグ
Fiに“1”をセットすると共に、クランク同期タスク
にて、当該クランク同期タスクが実行されたことを示す
タスク実行履歴フラグFjに“1”をセットするように
し、更に、異常検出処理にて、入力履歴フラグFiとタ
スク実行履歴フラグFjとを比較することにより、クラ
ンク同期タスクの実行状態が正常か否かを判定するよう
にしている。
【0051】このため、本第2実施形態のマイコン3で
は、図7(特に「×」印の部分)に示すように、入力回
路5からのクランク同期信号が立ち上がって、割込ハン
ドラによりクランク同期タスクが起動されたにも拘わら
ず、クランク同期タスクが実行されない、といったタス
ク抜けが生じた場合には、図6の異常検出処理により、
入力履歴フラグFiが“1”であるのにタスク実行履歴
フラグFjが“0”である、という矛盾が検知されて
(S410:YES,S420:NO)、タスク抜けの
発生が検出されることとなる。
【0052】よって、クランク同期タスクの抜けを、あ
らゆるエンジン回転数で的確に且つ早期に検出すること
ができる。つまり、クランク同期信号に立ち上がりエッ
ジが発生して、割込ハンドラによりクランク同期タスク
が起動されたはずなのに、クランク同期タスクが実際に
は実行されていない、といったタスク抜け時に生じる矛
盾を、エンジン回転数によらず見つけることができるか
らである。
【0053】また、本第2実施形態のマイコン3によれ
ば、エンジンが停止している場合や、信号配線などのハ
ードウエア上の故障によってクランク同期信号がマイコ
ン3へ入力されない場合には、元々、割込ハンドラがク
ランク同期タスクを起動しないため、そのような場合
に、誤ってタスク抜けが生じたと判定してしまうことも
ない。
【0054】ところで、上記第2実施形態では、割込ハ
ンドラとクランク同期タスクとの各々にて、フラグF
i,Fjに“1”をセットするようにしたが、割込ハン
ドラのS120にて、起動履歴情報としての起動回数カ
ウンタをカウントアップさせると共に、クランク同期タ
スクのS230にて、実行履歴情報としての実行回数カ
ウンタをカウントアップさせるようにし、更に、異常検
出処理では、上記起動回数カウンタの値と上記実行回数
カウンタの値とを比較して、クランク同期タスクの実行
状態の良否を判定するようにしても良い。
【0055】この場合、異常検出処理では、両カウンタ
の値が一致していない場合、或いは、両カウンタの値の
差が予め定められた所定値以上である場合に、クランク
同期タスクの抜けが発生したと判定すれば良い。また、
上記両カウンタの値は、異常検出処理で0にリセットす
れば良い。
【0056】そして、このようにすれば、より精密な異
常検出が可能となる。以上、本発明の一実施形態につい
て説明したが、本発明は、種々の形態を採り得ることは
言うまでもない。例えば、上記第1実施形態において、
図3(A)のS350のカウントアップ処理(タイマ手
段としての処理)は、マイコン3内のハードウエアタイ
マによって行うようにようにしても良い。
【0057】また、前述した第1実施形態の異常検出方
法は、クランク同期タスクを起動せず、割込ハンドラの
みで処理される旧来のプログラム構造のマイコンに対し
ても、全く同様に適用することができる。一方、第1実
施形態の異常検出方法と第2実施形態の異常検出方法と
の、両方を実施するようにしても良い。そして、この場
合、具体的には下記の(1)〜(3)のようにすれば良
い。
【0058】(1)割込ハンドラの処理は、図5(A)
に示したものとする。 (2)クランク同期タスクの処理は、図5(B)に示し
たものに対し、S230の後で、図2(B)に示したS
220と同じ処理(タスク実行時間計測カウンタCtask
の値を0にリセットする処理)を行うようにする。
【0059】(3)そして、マイコン3にて、図3の処
理と図6の処理とを組み合わせた図8の異常検出処理
が、一定時間毎に実行されるようにする。尚、図8にお
いて、図3及び図6と同じ内容の処理については、同じ
ステップ番号を付しているため、詳しい説明は省略す
る。
【0060】即ち、この異常検出処理では、最初のS3
10にて、クランク同期信号の無入力状態が所定時間T
s以上継続していないと判定した場合には(S310:
NO)、前述したS320,S330の処理を行う。そ
して、S330にて、タスク実行時間計測カウンタCta
skの値が判定値t0よりも大きいと判定した場合には
(S330:YES)、クランク同期タスクの実行状態
に異常が発生したと判断し、S340で異常判定時の処
理を行う。
【0061】また、S330にて、タスク実行時間計測
カウンタCtaskの値が判定値t0よりも大きくないと判
定した場合には(S330:NO)、前述したS410
の処理を行い、そのS410にて入力履歴フラグFiが
“1”であると判定した場合には(S410:YE
S)、S420に進んで、タスク実行履歴フラグFjが
“1”であるか否かを判定する。そして、タスク実行履
歴フラグFjが“1”ではないと判定した場合には(S
420:NO)、クランク同期タスクの実行状態に異常
が発生したと判断し、S340で異常判定時の処理を行
う。
【0062】そして、S340の処理を行った後、或い
は、S410で否定判定するか、S420で肯定判定し
た場合には、S440で入力履歴フラグFiとタスク実
行履歴フラグFjとを“0”にクリアし、更にS350
でタスク実行時間計測カウンタCtaskを1カウントアッ
プしてから、当該異常検出処理を終了する。
【0063】一方、S310にて、クランク同期信号の
無入力状態が所定時間Ts以上継続していると判定した
場合には(S310:YES)、S450で入力履歴フ
ラグFiとタスク実行履歴フラグFjとを“0”にクリ
アし、更にS360でタスク実行時間計測カウンタCta
skの値を0にリセットして、そのまま当該異常検出処理
を終了する。
【0064】このように、第1実施形態の異常検出方法
と第2実施形態の異常検出方法との両方を実施するよう
にすれば、異常検出精度をより向上させることができ
る。
【図面の簡単な説明】
【図1】 第1実施形態の電子制御装置の構成を表す構
成図である。
【図2】 第1実施形態の電子制御装置のマイコンで実
行される割込ハンドラの処理とクランク同期タスクの処
理とを表すフローチャートである。
【図3】 第1実施形態の異常検出処理を説明する説明
図である。
【図4】 第1実施形態の異常検出処理の作用を説明す
るタイムチャートである。
【図5】 第2実施形態の電子制御装置のマイコンで実
行される割込ハンドラの処理とクランク同期タスクの処
理とを表すフローチャートである。
【図6】 第2実施形態の異常検出処理を表すフローチ
ャートである。
【図7】 第2実施形態の異常検出処理の作用を説明す
るタイムチャートである。
【図8】 変形例の異常検出処理を表すフローチャート
である。
【符号の説明】
1…車両用電子制御装置、3…マイクロコンピュータ
(マイコン)、5…入力回路、7…A/D変換回路、9
…出力回路、11…監視回路、13…イグニッションス
イッチ、15…バッテリ、17…電源回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 エンジンのクランク軸の回転に同期して
    パルス状にレベル変化するクランク同期信号が入力され
    ると共に、そのクランク同期信号に特定方向のエッジが
    発生する毎に、クランク同期タスクを実行するマイクロ
    コンピュータにおいて、前記クランク同期タスクの実行
    状態の異常を検出するために用いられるクランク同期タ
    スクの異常方法であって、 時間を計測するタイマ手段を設けると共に、 前記クランク同期タスクにて、その処理の終了直前に、
    前記タイマ手段で計測されている時間をリセットするよ
    うにし、 更に、前記クランク同期タスクの実行状態が正常か否か
    を判定するために前記時間と大小比較される判定値を、
    前記エンジンの回転数に応じて、該回転数が高い場合ほ
    ど小さい値に設定する判定値設定手段を設け、 前記タイマ手段で計測される時間が、前記判定値設定手
    段により設定される判定値を越えたならば、前記クラン
    ク同期タスクの実行状態が異常であると判定すること、 を特徴とするクランク同期タスクの異常検出方法。
  2. 【請求項2】 請求項1に記載のクランク同期タスクの
    異常検出方法において、 前記クランク同期信号に前記特定方向のエッジが発生し
    ない状態が、所定時間以上継続している場合には、前記
    クランク同期タスクの実行状態が正常か否かの判定を行
    わないこと、 を特徴とするクランク同期タスクの異常検出方法。
  3. 【請求項3】 エンジンのクランク軸の回転に同期して
    パルス状にレベル変化するクランク同期信号が入力され
    ると共に、そのクランク同期信号に特定方向のエッジが
    発生すると実行される割込制御プログラムにより、前記
    クランク同期信号に前記特定方向のエッジが発生する毎
    に実行されるべきクランク同期タスクが起動されるマイ
    クロコンピュータにおいて、前記クランク同期タスクの
    実行状態の異常を検出するために用いられるクランク同
    期タスクの異常検出方法であって、 前記割込制御プログラムにて、前記クランク同期タスク
    を起動させたことを示す起動履歴情報を記録すると共
    に、 前記クランク同期タスクにて、当該クランク同期タスク
    が実行されたことを示す実行履歴情報を記録するように
    し、 前記起動履歴情報と前記実行履歴情報とを比較すること
    により、前記クランク同期タスクの実行状態が正常か否
    かを判定すること、 を特徴とするクランク同期タスクの異常検出方法。
JP2000145049A 2000-05-17 2000-05-17 クランク同期タスクの異常検出方法 Pending JP2001323836A (ja)

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)

* Cited by examiner, † Cited by third party
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 日立オートモティブシステムズ株式会社 車両制御装置

Cited By (10)

* Cited by examiner, † Cited by third party
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