(57)【要約】【課題】ＣＰＵのリセットが生じた原因がＣＰＵの暴走に起因するものか、電源系の変動に起因するものかを判別する。【解決手段】ウォッチドック監視回路５は、ＣＰＵ４の動作信号に基づいてＣＰＵ４の暴走を検出すると、リセット信号ＤをＣＰＵ４および２進カウンタ７に出力する。２進カウンタ７は、リセット信号Ｄに基づいてカウンタ値をカウントアップするとともに、電源が供給されるとカウンタ値をクリアする。ＣＰＵ４は、起動時に２進カウンタ７によりカウントされているカウンタ値に基づいて、ＣＰＵ４にリセットが発生した原因がＣＰＵ４の暴走に起因するものであるかを判別する。【選択図】図１
2004362059.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵから入力される動作信号に基づいて、前記ＣＰＵに異常が発生しているか否かを判定し、異常が発生していると判定すると前記ＣＰＵにリセット信号を出力するＣＰＵ監視手段と、
前記リセット信号に基づいてカウンタ値をカウントアップし、電源が供給されるとカウンタ値をクリアするカウンタ手段と、
前記ＣＰＵの起動時に前記カウンタ手段によりカウントされているカウンタ値に基づいて、前記ＣＰＵにリセットが発生した原因が前記ＣＰＵに異常が発生したものであるかを判定するリセット原因判定手段とを備えることを特徴とする電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、
前記リセット原因判定手段は、前記カウンタ手段によりカウントされているカウンタ値が所定値以上であれば、前記ＣＰＵにリセットが発生した原因が前記ＣＰＵに異常が発生したものであると判定することを特徴とする電子制御装置。
【請求項３】
請求項１または２に記載の電子制御装置において、
前記リセット原因判定手段により、前記ＣＰＵにリセットが発生した原因が前記ＣＰＵに異常が発生したものであると判定された時に、前記ＣＰＵの異常発生履歴情報を記憶する記憶手段をさらに備えることを特徴とする電子制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵの異常を検出する電子制御装置に関する。
【０００２】
【従来の技術】
コンピュータが予め定められた終了処理を行うことなく異常終了したか否かを判定するコンピュータの異常終了判定装置が知られている（特許文献１参照）。この判定装置では、コンピュータの起動時には異常終了判定用のフラグを０とし、正常終了したときにはフラグを１とすることにより、異常終了した場合にはフラグが０となるので、コンピュータの再起動時にフラグの内容を確認することにより、異常終了したか否かを判定している。
【０００３】
【特許文献１】
特開２０００―２０７０１７号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の異常終了判定装置では、異常終了判定用のフラグが０（リセット）となった原因が、ＣＰＵの異常に起因するものなのか、電源の瞬断に起因するものなのかを判別することができないという問題があった。
【０００５】
本発明は、ＣＰＵにリセットが発生した原因がＣＰＵに異常が発生したものであるかを判定する電子制御装置を提供するものである。
【０００６】
【課題を解決するための手段】
本発明による電子制御装置は、ＣＰＵに異常が発生していると判定するとＣＰＵにリセット信号を出力するＣＰＵ監視手段と、リセット信号に基づいてカウンタ値をカウントアップし、電源が供給されるとカウンタ値をクリアするカウンタ手段と、ＣＰＵの起動時にカウンタ手段によりカウントされているカウンタ値に基づいて、ＣＰＵにリセットが発生した原因がＣＰＵに異常が発生したものであるかを判定するリセット原因判定手段とを備えることを特徴とする。
【０００７】
【発明の効果】
本発明による電子制御装置によれば、ＣＰＵにリセットが発生した原因がＣＰＵの暴走に起因するものか、電源系の変動に起因するものかを判別することができる。
【０００８】
【発明の実施の形態】
図１は、本発明による電子制御装置を車両に適用した一実施の形態の構成を示す図である。一実施の形態における車両用電子制御装置（以下、ＥＣＵと呼ぶ）１は、ＣＰＵ４と、ウォッチドック監視回路（ウォッチドックタイマ）５と、遅延回路６と、２進カウンタ７と、異常記憶部８とを備える。ＥＣＵ１には、車載バッテリ２からイグニッションスイッチ３を介して、電源（電力）Ａが供給される。ＥＣＵ１は、電圧変換機能を備えており、車載バッテリ２から供給される電源信号ＡをＥＣＵ１の動作電圧に変換する。ＥＣＵ１の動作電圧に変換された給電信号Ｂは、ウォッチドックタイマ５を介して、ＣＰＵ４や２進カウンタ７などの内部回路に供給される。
【０００９】
ＣＰＵ４は、各種演算処理を実行するとともに、ＣＰＵ４の動作状態を示すＰＲＵＮ信号Ｃをウォッチドック監視回路５に出力する。ＰＲＵＮ信号Ｃは、ＣＰＵ４が正常に動作している時は、一定周期ごとに信号レベルが反転するパルス信号であり、ＣＰＵ４が暴走してプログラムが正常に動作しなくなった場合には、信号レベルが固定された信号となる。
【００１０】
ウォッチドック監視回路５は、ＣＰＵ４から入力されるＰＲＵＮ信号Ｃに基づいて、ＣＰＵ４が正常に動作しているか否かを監視する。ＣＰＵ４から信号レベルが固定されたＰＲＵＮ信号Ｃが入力されると、ＣＰＵ４が暴走している、すなわち、異常が発生していると判定して、リセット信号ＤをＣＰＵ４のＲＥＳＢ端子および２進カウンタ７のＣＬＫ端子に出力する。また、ウォッチドック監視回路５は、イグニッションスイッチ２がオンとなった時や、後述する電源の瞬断が生じた後に、車載バッテリ２からの電源の供給が開始された場合にもリセット信号Ｄを出力する。
【００１１】
遅延回路６は、ウォッチドック監視回路５と２進カウンタ７のＲＥＳＥＴ端子との間に挿入されており、給電信号ＢがＬｏレベルからＨｉレベルに変わる（電源が供給される）と、２進カウンタ７のカウンタ値をリセット（クリア）するためのリセット信号Ｅを２進カウンタ７に出力する。２進カウンタ７は、リセット信号ＤがＬｏレベルからＨｉレベルに変わる時に、カウンタ値のカウントアップを行うとともに、リセット信号ＥがＬｏレベルからＨｉレベルに変わる時に、カウンタ値のリセットを行う。
【００１２】
ＣＰＵ４がリセットする原因としては、上述したように、ＣＰＵ４の暴走が発生してウォッチドック監視回路５からリセット信号Ｄが入力される場合と、電源の瞬断や電源の瞬低（瞬時低下）が発生した場合のように、電源系が変動した場合がある。従って、一実施の形態における電子制御装置に用いられるＣＰＵ４は、２進カウンタ７でカウントされるカウンタ値に基づいて、ＣＰＵ４がリセットした原因がＣＰＵ４の暴走に起因するものなのか、電源の瞬断などの電源系の変動に起因するものなのかを識別する。ＣＰＵ４の暴走が発生したと判断された場合には、ＣＰＵ暴走の故障履歴を異常記憶部８に記憶する。
【００１３】
図２は、電源系の変動が生じた時の給電信号Ｂ、リセット信号Ｅ、リセット信号Ｄ、ＰＲＵＮ信号Ｃ、２進カウンタ７のカウンタ値の状態を示すタイミングチャートである。車載バッテリ２からイグニッションスイッチ３を介して、ＥＣＵ１に電源信号Ａが供給されている間は、給電信号ＢはＨｉレベルとなっており、リセット信号Ｄおよびリセット信号Ｅは共にＨｉレベルとなっている。ＣＰＵ４は正常に動作しているので、ＰＲＵＮ信号Ｃは、ＨｉレベルとＬｏレベルとが一定周期で反転する信号となっている。また、カウンタ値は、最初に電源が供給された時、すなわち、給電信号がＬｏレベルからＨｉレベルに変わった時に、後述するように、カウントアップされるので、「１」の状態が継続している。
【００１４】
ここで、時刻Ｔ１において、車載バッテリ２からＥＣＵ１に電源信号Ａが入力されるコネクタ部の接触不良や、イグニッションスイッチ３の瞬時的なオフ・オンなどに起因して、電源信号Ａが瞬断されたとする。この場合、時刻Ｔ１にて、給電信号Ｂの信号レベルもＬｏレベルとなり、ＣＰＵ４の動作は停止する。従って、ＰＲＵＮ信号ＣはＬｏレベルで固定され、ウォッチドック監視回路５から出力されるリセット信号ＤもＨｉレベルからＬｏレベルに変わる。また、リセット信号Ｅは、遅延回路６により、時間ｔ１だけ遅延した後にＨｉレベルからＬｏレベルに変わる。
【００１５】
時刻Ｔ２において、電源信号Ａが再びＥＣＵ１に入力されて給電信号ＢがＨｉレベルになると、リセット信号Ｅは、遅延回路６により時間ｔ１だけ遅延した時刻Ｔ３において、ＬｏレベルからＨｉレベルに変わる。２進カウンタ７のカウンタ値は、リセット信号Ｅの立ち上がり時、すなわち、ＬｏレベルからＨｉレベルに変わる時刻Ｔ３にてクリアされて、１から０になる。
【００１６】
ＣＰＵ４は、図示しないクロック発振回路から入力されるクロックに基づいて、作動する。一般的なクロック発振回路では、電源が加えられてから、発振を開始して発振振幅電圧が安定するまでには若干の時間がかかる。従って、ウォッチドック監視回路５は、発振安定時間が経過した時刻Ｔ４（＞Ｔ３）において、Ｌｏレベルとなっていたリセット信号Ｄの信号レベルをＨｉレベルとする。これにより、ＣＰＵ４にてリセット例外処理が開始されるとともに、リセット信号Ｄの立ち上がり時の時刻Ｔ４において、２進カウンタ７のカウンタ値はカウントアップされて、０から１になる。このように、ＥＣＵ１に電源が供給されてＣＰＵ４が正常に動作している時のカウンタ値は、１となっている。なお、リセット例外処理とは、ＣＰＵ４のリセットに起因して、本来のプログラム順序の実行を強制的に変える処理のことである。
【００１７】
その後、ＣＰＵ４のリセット例外処理が完了した時刻Ｔ５において、ＣＰＵ４は、動作が正常に戻ったことを示す信号、すなわち、一定周期にて信号レベルが反転するＰＲＵＮ信号Ｃを出力する。また、ＣＰＵ４は、２進カウンタ７のカウンタ値を読み込んで、後述する理論に基づいて、ＣＰＵ４のリセットが発生した原因がＣＰＵ４の暴走に起因するものか、電源系の変動に起因するものかを判別する。
【００１８】
図３は、ＣＰＵ４の暴走が発生した場合の給電信号Ｂ、リセット信号Ｅ、リセット信号Ｄ、ＰＲＵＮ信号Ｃ、２進カウンタ７のカウンタ値の状態を示すタイミングチャートである。ＣＰＵ４の暴走が発生する時刻Ｔ６までの各信号の状態は、図２に示す時刻Ｔ１までの各信号の状態と同じである。
【００１９】
時刻Ｔ６において、ＣＰＵ４の暴走が発生すると、ＣＰＵ４から出力されるＰＲＵＮ信号Ｃの信号レベルはＬｏレベルで固定される。ウォッチドック監視回路５は、ＰＲＵＮ信号Ｃの信号レベルが所定時間以上Ｌｏレベルで固定されていると、ＣＰＵ４が暴走したと判定して、リセット信号Ｄの信号レベルを所定時間Ｌｏレベルとする。所定時間経過後、時刻Ｔ７において、リセット信号ＤがＬｏレベルからＨｉレベルになると、ＣＰＵ４にてリセット例外処理が開始されるとともに、２進カウンタ７のカウンタ値はカウントアップされて、１から０になる。
【００２０】
その後、ＣＰＵ４のリセット例外処理が完了した時刻Ｔ８において、ＣＰＵ４は、一定周期にて信号レベルが反転するＰＲＵＮ信号Ｃを出力する。また、ＣＰＵ４は、２進カウンタ７のカウンタ値を読み込んで、後述する理論に基づいて、ＣＰＵ４のリセットが発生した原因がＣＰＵ４の暴走に起因するものか、電源系の変動に起因するものかを判別する。
【００２１】
ＣＰＵ４が２進カウンタ７のカウンタ値を読み込んで、ＣＰＵ４のリセットが発生した原因がＣＰＵ４の暴走に起因するものか、電源系の変動に起因するものかを判別する方法について説明する。図２に示すように、電源の瞬電などの電源系の変動が生じた場合には、リセット信号Ｅによるカウンタ値のリセットと、リセット信号Ｄに基づくカウントアップとによって、２進カウンタ７のカウンタ値は１となる。一方、ＣＰＵ４の暴走が発生した時には、リセット信号Ｅによるカウンタ値のリセットは起こらず、リセット信号Ｄに基づくカウントアップが行われるので、２進カウンタ７のカウンタ値は０となる。ただし、図３に示す状態において、ＣＰＵ４が正常に作動し始めた後に、再度ＣＰＵ４の暴走が発生すると、カウントアップが行われて、カウンタ値は０から１になる。
【００２２】
すなわち、ＣＰＵ４がプログラムの起動時に２進カウンタ７からカウンタ値を読み込んだ時に、カウンタ値が０であれば、少なくともＣＰＵ４の暴走が発生したと判断することができる。この場合には、ＣＰＵ４の暴走が発生したことを示す故障履歴を異常記憶部８に記憶させる。一方、読み込んだカウンタ値が１の時には、電源系の変動が生じただけなのか、ＣＰＵ４の暴走が繰り返し発生したのかを識別することができないので、故障履歴を異常記憶部８に記憶させることは行わない。
【００２３】
図４は、一実施の形態における電子制御装置に用いられるＣＰＵ４にて行われるＣＰＵ暴走判定方法の処理手順を示すフローチャートである。ステップＳ１０から始まる処理は、ＣＰＵ４のリセット処理が行われた時に行われる。なお、ＣＰＵ４の暴走に起因するリセット処理が行われた場合、および、電源系の変動に起因するリセット処理が行われた場合のいずれの場合においても、ステップＳ１０以降の処理が行われる。
【００２４】
ステップＳ１０では、２進カウンタ７からカウンタ値を読み込んで、ステップＳ２０に進む。ステップＳ２０では、ステップＳ１０で読み込んだカウンタ値が０であるか否かを判定する。カウンタ値が０であると判定すると、ステップＳ３０に進む。ステップＳ３０では、ＣＰＵ４の暴走が発生したと判断して、ＣＰＵ４の暴走が発生したことを示す故障履歴を異常記憶部８に記憶する。一方、ステップＳ２０の判定にてカウンタ値が１であると判定すると、故障履歴を異常記憶部８に記憶せずに、そのままＣＰＵ暴走判定処理を終了する。
【００２５】
一実施の形態における電子制御装置によれば、以下の構成により、ＣＰＵ４にリセットが発生した原因がＣＰＵ４に異常が発生したものであるかを判定する。すなわち、ＣＰＵ４から入力される動作信号（ＰＲＵＮ信号Ｃ）に基づいて、ＣＰＵ４に異常が発生しているか否かを判定し、異常が発生していると判定するとＣＰＵ４にリセット信号Ｄを出力するウォッチドック監視回路５と、ウォッチドック監視回路５からリセット信号Ｄが出力されるとカウンタ値をカウントアップするとともに、電源が供給されるとカウンタ値をクリアするカウンタ７とを備えている。ＣＰＵ４は、その起動時にカウンタ７によりカウントされているカウンタ値に基づいて、ＣＰＵ４にリセットが発生した原因がＣＰＵ４に異常が発生したものであるかを判定する。これにより、ＣＰＵ４にリセットによる異常終了が発生した場合に、ソフトウェアの異常などによるＣＰＵ暴走（異常）と、電源回路系の異常とを判別することができる。従って、ＥＣＵ１の動作不良が生じた場合に、動作不良の解析に際し、いずれか一方の異常解析を行えばよいので、異常解析工数を半減することができる。
【００２６】
また、一実施の形態における電子制御装置によれば、ＣＰＵ４に暴走が発生したと判定されると、ＣＰＵ４の暴走が発生したことを示す故障履歴を異常記憶部８に記憶するので、潜在的に存在するプログラムの不具合を検出して、早期に不具合の対策を取ることができる。従って、プログラムの品質を向上させることができる。
【００２７】
本発明は、上述した一実施の形態に限定されることはない。例えば、カウンタとして、２進カウンタ７を用いたが、１０進カウンタなどの他のカウンタを用いることもできる。１０進カウンタを用いた場合、電源系の変動が生じた場合には、リセット信号Ｅによるカウンタ値のリセットと、リセット信号Ｄに基づくカウントアップとによって、カウンタ値は１となる。一方、ＣＰＵ４の暴走が発生した時には、リセット信号Ｅによるカウンタ値のリセットは起こらず、リセット信号Ｄに基づくカウントアップが行われるので、カウンタ値は２となる。従って、ＣＰＵ４は、起動時に１０進カウンタから読み込んだカウンタ値が２以上の値であれば、ＣＰＵ４に暴走が発生したと判定し、カウンタ値が１であれば、電源系の変動によるリセットが生じたと判定することができる。すなわち、カウンタとして、３進以上のカウンタを用いれば、ＣＰＵ４の起動時にカウンタから読み込んだカウンタ値が２以上であれば、ＣＰＵ４に暴走が発生したと判定することができる。
【００２８】
特許請求の範囲の構成要素と一実施の形態の構成要素との対応関係は次の通りである。すなわち、ウォッチドック監視回路５がＣＰＵ監視手段を、２進カウンタ７がカウンタ手段を、ＣＰＵ４がリセット原因判定手段をそれぞれ構成する。なお、本発明の特徴的な機能を損なわない限り、各構成要素は上記構成に限定されるものではない。
【図面の簡単な説明】
【図１】本発明による電子制御装置を車両に適用した一実施の形態の構成を示す図
【図２】電源系の変動が生じた時の給電信号Ｂ、リセット信号Ｅ、リセット信号Ｄ、ＰＲＵＮ信号Ｃ、２進カウンタのカウンタ値の状態を示すタイミングチャート
【図３】ＣＰＵの暴走が発生した場合の給電信号Ｂ、リセット信号Ｅ、リセット信号Ｄ、ＰＲＵＮ信号Ｃ、２進カウンタのカウンタ値の状態を示すタイミングチャート
【図４】一実施の形態における電子制御装置に用いられるＣＰＵ４にて行われるＣＰＵ暴走判定方法の処理手順を示すフローチャート
【符号の説明】
１…電子制御装置、２…車載バッテリ、３…イグニッションスイッチ、４…ＣＰＵ、５…ウォッチドック監視回路、６…遅延回路、７…２進カウンタ、８…異常記憶部
【図１】
2004362059.tif 000003
【図２】
2004362059.tif 000004
【図３】
2004362059.tif 000005
【図４】
2004362059.tif 000006