(57)【要約】【課題】ウォッチドッグタイマに出力するプログラムラン信号の出力リセット発生回路からマイクロコンピュータのリセット入力回路までの診断を行う。【解決手段】ＣＰＵ１がパワーオンリセットした直後に実行されるプログラム内において、診断プログラムがウォッチドッグタイマ２に出力するプログラムラン信号Ｂの出力を停止させることにより、リセット発生回路３が正常であれば、リセット発生回路３からリセットパルス信号Ｄが出力される。診断プログラムは、リセットパルス信号Ｄをカウントし、リセット発生回数カウンタに記憶しておく。プログラムラン信号出力回路からＣＰＵ１のリセットパルス入力部が異常である場合、一定時間プログラムラン信号Ｂを停止する指示を出力しても、ＣＰＵ１のリセットが発生しないので、診断プログラムはリセット発生回数カウンタを０とする。リセット発生回数カウンタの値が予め設定した設定値Ｋ以上となれば正常と判断する。【選択図】図１
2008287643.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも所定周期のプログラムラン信号を出力するためと、リセット機能の異常を診断するためのプログラムを内蔵したマイクロコンピュータと、
上記マイクロコンピュータから出力される所定周期のプログラムラン信号の停止時に、上記マイクロコンピュータの異常信号を出力するマイクロコンピュータ動作監視手段と、
上記マイクロコンピュータ動作監視手段から出力される上記マイクロコンピュータの異常信号に基づいて上記マイクロコンピュータにリセットパルスを出力するリセット発生手段と、
上記プログラムがリセット機能の異常を診断したときにフェイルセーフ処理を実施するフェイルセーフ装置と、
を備えた電子コントロールユニットの監視装置において、
上記リセット機能の異常を診断するプログラム中で、上記異常の診断に使用する手段の異常判定を実施することを特徴とする電子コントロールユニットの監視装置。
【請求項２】
上記診断に使用する手段は、レジスタ、ＲＡＭ、ＲＯＭであることを特徴とする請求項１記載の電子コントロールユニットの監視装置。
【請求項３】
上記プログラムを、リセットが発生した時にのみ実行される初期化処理プログラムと、初期化処理プログラムが終了後、繰り返し実行される通常処理プログラムとに区分し、上記異常判定を上記初期化処理プログラム内で実施することを特徴とする請求項１又は請求項２に記載の電子コントロールユニットの監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば自動車等に搭載されるマイクロコンピュータを備えた電子コントロールユニットの監視装置に関するものである。
【背景技術】
【０００２】
一般に、電子コントロールユニットの監視装置として、ウォッチドッグタイマ（ＷＤＴ）およびリセット発生回路の診断に加え、ウォッチドッグタイマおよびリセット発生回路のフェイル判定回路まで診断可能とした装置が知られている（例えば、特許文献１参照）。
【０００３】
この従来装置は、図８にパワーオンリセット後の動作を示すように、パワーオンリセット時にフェイル判定回路がフェイルセーフ装置に出力する信号をフェイル状態（以下、ハイ状態と称する。）とする。マイクロコンピュータ（以下、ＣＰＵと称する。）はパワーオンリセット信号を受けると、パワーオンリセットとして動作を開始（プログラムスタート）し、イニシャライズが完了すると、プログラムはウォッチドッグタイマ診断ルーチンに入る。この時ＣＰＵはメモリ（ＲＡＭ）にウォッチドッグタイマ診断であることを示すフラグをセットし、フェイル判定回路がハイ状態であることを確認してプログラムラン信号の出力を停止する。
【０００４】
プログラムラン信号の停止により、リセット発生回路がリセット信号を出力する。このリセット信号を受けてフェイル判定回路はフェイルセーフ装置に出力する信号を正常状態（以下、ロウ状態と称する。）とし、同時にＣＰＵはリセットされ、再度イニシャライズが行われてロウ状態となる。ＣＰＵは再度ウォッチドッグタイマ診断が行われるときに、メモリ（ＲＡＭ）にウォッチドッグタイマ診断を示すフラグがセットされていることをチェックし、セットされていればフェイル判定回路の出力信号がロウ状態であることをチェックする。ＣＰＵはフェイル判定出力がハイ状態からロウ状態に変化したことが確認されると、リセット発生回路およびフェイル判定回路が正常に動作しているものと診断する。そして、ウォッチドッグタイマ診断を示すフラグをリセットする。
【０００５】
【特許文献１】特開平９−２８２０２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に提案されている従来の電子コントロールユニットの監視装置にあっては、リセットが正常に作動する場合は、フェイル判定回路の出力信号がハイ状態からロウ状態となり正常であることが診断でき、また、リセットが正常に作動しない場合は、フェイル判定回路の出力信号がパワーオンリセット時に出力したハイ状態を継続出力するため、異常であることが診断できる。
【０００７】
また、フェイル判定回路が正常に動作している場合は、リセット信号を受け出力信号がハイ状態からロウ状態となり正常であることが診断でき、正常に動作しない場合は、パワーオンリセット時に出力したハイ状態を継続出力するため、異常であることが診断できる。
【０００８】
しかし、図９のタイミング図に示しているように、ＣＰＵのメモリ（ＲＡＭ）に異常が発生し、ウォッチドッグタイマ診断を示すフラグが、常時クリア状態となった場合、パワーオンリセット時のウォッチドッグタイマ診断ルーチンにおいてウォッチドッグタイマ診断フラグのセット操作を実行するが、フラグはセットされずにクリアのままである。フェイル判定回路の出力信号はハイ状態となっているため、プログラムラン信号の出力を停止する。
【０００９】
プログラムラン信号の停止により、リセット発生回路がリセット信号を出力する。このリセット信号を受け、フェイル判定回路はフェイルセーフ装置に出力する信号をロウ状態とし、同時にＣＰＵはリセットされ、再度イニシャライズが行われてロウ状態となる。ＣＰＵは再度ウォッチドッグタイマ診断が行われるときに、メモリ（ＲＡＭ）にウォッチドッグタイマ診断を示すフラグがセットされていることをチェックするが、フラグはクリアであるため、パワーオンリセット時と同じくウォッチドッグタイマ診断フラグをセットし、フェイル判定回路の出力信号の判定を実施する。ここで、今回はロウ状態となっているので、プログラムラン信号を停止することはなく診断ルーチンを終了する。
【００１０】
以上のように、特許文献１に提案されている従来の電子コントロールユニットの監視装置にあっては、メモリ（ＲＡＭ）のウォッチドッグタイマ診断を示すフラグがロウ状態に固定される異常となった場合、フェイル判定回路の診断を実施できていないにも関わらず、ウォッチドッグタイマ診断を正常に終了した状態となってしまう課題を有している。
【００１１】
この発明は上記従来装置の課題を解決することを目的とするもので、リセット機能の異常を診断するプログラム中に、診断に使用する手段の異常判定を実施する異常判定手段を備えた改良された電子コントロールユニットの監視装置を提供するものである。
【課題を解決するための手段】
【００１２】
この発明に係る電子コントロールユニットの監視装置は、少なくとも所定周期のプログラムラン信号を出力するためと、リセット機能の異常を診断するためのプログラムを内蔵したマイクロコンピュータと、上記マイクロコンピュータから出力される所定周期のプログラムラン信号の停止時に、上記マイクロコンピュータの異常信号を出力するマイクロコンピュータ動作監視手段と、上記マイクロコンピュータ動作監視手段から出力される上記マイクロコンピュータの異常信号に基づいて上記マイクロコンピュータにリセットパルスを出力するリセット発生手段と、上記プログラムがリセット機能の異常を診断したときにフェイルセーフ処理を実施するフェイルセーフ装置と、を備えた電子コントロールユニットの監視装置において、上記リセット機能の異常を診断するプログラム中で、上記異常の診断に使用する手段の異常判定を実施するものである。
【発明の効果】
【００１３】
この発明に係る電子コントロールユニットの監視装置によれば、プログラムラン信号出力回路からリセット発生回路を経由しＣＰＵのリセット信号入力回路までの診断を安価に行うことが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照してこの発明に係る電子コントロールユニットの監視装置の好適な実施の形態を説明する。
【００１５】
実施の形態１．
図１は、この発明の実施の形態１に係る電子コントロールユニットの監視装置を示す機能ブロック図である。この図において、マイクロコンピュータ（以下、ＣＰＵと称する）１は、一定周期のプログラムラン信号を出力し、マイクロコンピュータ動作監視手段、即ち、ウォッチドッグタイマ（ＷＤＴ）２は、プログラムラン信号のデューティー比、周期、プログラムラン信号停止等が正常であるか否かを監視している。ウォッチドッグタイマ２はＣＰＵ１が暴走すると、プログラムラン信号の異常を検出し、マイコン異常としてプログラムラン異常信号をリセット発生手段であるリセット発生回路３へ出力する。
【００１６】
リセット発生回路３は、一定時間のリセットパルスを発生し、このリセットパルスは、ＣＰＵ１へ入力される。ＣＰＵ１は、リセットパルスによって初期化されて正常状態に復帰し、プログラムが再スタートするように構成されている。ＣＰＵ１内には異常判定手段であるフェイル判定手段４が存在し、そのプログラムは、所定の設定回数、例えば２回以上のリセットパルスがＣＰＵ１へ入力されたときにフェイル状態と判定して、ＣＰＵフェイル検出信号をフェイルセーフ装置５へ出力し、フェイルセーフ装置５はシステムをフェイルセーフ状態とする。これにより、ＣＰＵ１が異常な状態となっても、システムは安全に保持される。なお、電源投入時にのみパワーオンリセット信号を出力するパワーオンリセット発生回路６の出力が、オアゲート７を介してＣＰＵ１に入力されるようになっている。
【００１７】
図２は、フェイル判定手段４の処理手順を示すフローチャートである。ＣＰＵ１にパワーオンリセット、またはプログラムラン信号の異常によるリセットが発生した場合、フェイル判定手段４は周知の通り、ＲＯＭ上の予め決められた場所に書き込まれているアドレスよりプログラムが実行するよう設計されている。また、プログラムはリセットが発生した時にのみ実行される初期化処理プログラムと、初期化処理プログラムが終了後、繰り返し実行される通常処理プログラムとに大別される。フェイル判定手段４は、初期化処理プログラム内に存在し、プログラムラン信号出力用プログラムの実行から、ＣＰＵ１内のリセット信号検出部分までの間の異常を検出するものである。
【００１８】
図２のフローチャートにおいて、ステップＳ２１０〜ステップＳ２３０では、本プログラムで使用するレジスタとＲＡＭ、そしてパラメータ定義に使用するＲＯＭの異常判定を実施している。内容の詳細については、図５〜図７を用いて後述する。
【００１９】
ステップＳ２３５では、リセット発生回数をカウントしているカウンタＲＡＭの値を１加算している。そして、ステップＳ２４０でリセット発生回数カウンタの値と予め設定した設定値Ｋ（本例では１を設定）とを比較している。比較の結果、カウンタ値＜設定値Ｋの場合、リセットの発生を待つ処理ステップＳ２５０に分岐し、カウンタ値≧設定値Ｋの場合は、ステップＳ２８０へ進む。ステップＳ２８０へ進むルートが正常にリセットが発生している状態である。ステップＳ２５０では、プログラムラン信号を停止してから、リセット発生回路がリセットパルスを出力するまでの時間が適正か否かを判定するためのカウンタの値ＣＮＴを０でリセットする。ステップＳ２６０では、プログラムラン信号を停止してから、リセット発生回路がリセットパルスを出力するまでの時間に余裕を持たせたタイムアップ判定値ＫＴと、カウンタの値ＣＮＴを比較する。比較の結果、カウンタの値ＣＮＴ＜タイムアップ判定値ＫＴが成立している間、ループを形成し、リセットが発生するのを待つ。その間ステップＳ２６５で、カウンタの値ＣＮＴを１加算する。また、比較の結果カウンタの値ＣＮＴ≧タイムアップ判定値ＫＴが成立時は、ステップＳ２７０でリセット発生カウンタを０に設定し、ステップＳ２８０へと進む。
【００２０】
ステップＳ２８０では、リセット発生回数カウンタの値と設定値Ｋとを比較する。正常にリセットが発生した場合は、リセット発生回数カウンタ値が設定値Ｋとなっているが、正常に発生しなかった場合は、リセット発生回数カウンタ値＜設定値Ｋとなっている。ただし、カウンタ値≧設定値Ｋの場合であっても、レジスタ、ＲＡＭ、ＲＯＭの異常判定にてエラーフラグがセットされている場合は、リセット発生回数カウンタの処理および、リセット発生回数カウンタ値と設定値Ｋとの判断結果が正常であると証明されないため、ステップＳ２９０においてエラーフラグがセットされていると判断された場合は、ステップＳ３１０においてリセット機能異常フラグをセットしステップＳ３２０へ進む。エラーフラグがクリアされていると判断された場合は、ステップＳ３００においてリセット機能異常フラグをクリアしステップＳ３２０へ進む。ステップＳ３２０では、リセット発生回数カウンタを０クリアし、ステップＳ３３０の初期化処理へ進む。
【００２１】
図３は、初期診断時の動作のタイミングを示すタイミング図である。図中、（Ａ）はパワーオンリセット信号、（Ｂ）はプログラムラン信号、（Ｄ）はリセットパルス、（Ｅ）はフェイル判定出力を示している。時刻Ｔ１でシステム電源が投入されると、パワーオンリセット発生回路６は、ハイ（Ｈ）のパワーオンリセット信号（Ａ）を出力する。また、リセット発生回路３は、ハイ（Ｈ）のリセットパルス信号（Ｄ）を出力する。
【００２２】
ＣＰＵ１は、オアゲート７を介してパワーオンリセット信号（Ａ）を受けると、パワーオンリセットとして動作を開始（プログラムスタート）する。プログラムスタートすると、通常の場合、図２のステップＳ３３０にある初期化処理を実行し、それが完了すると通常処理へ移行する。初期化処理の中でプログラムラン信号（Ｂ）の反転を開始し、通常制御へ移行後は一定周期毎にプログラムラン信号（Ｂ）がハイ（Ｈ）とロウ（Ｌ）を繰り返すので、リセットパルス信号（Ｄ）がロウ（Ｌ）になることはない。
【００２３】
次いで、リセット発生回路３に異常がある場合の動作を図４に示す。ＣＰＵ１は、オアゲート７を介してパワーオンリセット信号（Ａ）を受けると、パワーオンリセットとして動作を開始（プログラムスタート）する。プログラムスタートすると、図２のフェイル判定手段となるステップＳ２６０により、タイムアップ判定値ＫＴ間のプログラムラン信号（Ｂ）をロウ（Ｌ）に固定する処理を行うため、リセット発生回路３が正常であれば、タイムアップ判定値ＫＴを経過するまでの間にリセットパルス信号（Ｄ）がロウ（Ｌ）となるはずであるが、異常である場合は、リセットパルス信号（Ｄ）がロウ（Ｌ）とならない。
【００２４】
その状態を継続すると、図２のステップＳ２６０の判定にてカウンタの値ＣＮＴ≧タイムアップ判定値ＫＴが成立するため、リセット発生回数カウンタの値を０とする。ステップＳ２８０では、リセット発生回数カウンタの値と設定値Ｋを比較し、リセット発生カ回数ウンタの値＜設定値Ｋが成立するため、リセット機能異常フラグをセットし、異常時処理にてフェイル判定出力をハイ（Ｈ）とする。
【００２５】
図２に示すフェイル判定手段となるステップＳ２６０での処理手順中、フェイル判定のプログラムにおいて使用しているレジスタの異常判定の処理手順を示すフローチャートを図５に示す。ここでは、レジスタＡとレジスタＢの異常判定処理について示しているが、同様の処理によりその他のレジスタに関しても異常判定が可能である。
【００２６】
図２において、ステップＳ５００では、レジスタＡを＃５５５５５５５５Ｈに読み出し、レジスタＢに＃ＡＡＡＡＡＡＡＡＨを読み出す。ここで使用する＃５５５５５５５５Ｈと＃ＡＡＡＡＡＡＡＡＨはＲＯＭデータに設定されており、このＲＯＭデータが異常値となっていないことは、後述する図７のＲＯＭ異常判定の処理で判定する。
【００２７】
そして、レジスタＡとレジスタＢを加算し、結果をレジスタＡに入れる。その後、＃０００００００１ＨをレジスタＢに読み出し、レジスタＡとレジスタＢを加算し、結果をレジスタＡに入れる。
【００２８】
ステップＳ５１０において、レジスタＡと０を比較し、結果が０である場合、ステップＳ５５０に進みエラーフラグをセットする。結果が０以外である場合、ステップＳ５２０に進む。
【００２９】
ステップＳ５２０では、＃ＡＡＡＡＡＡＡＡＨをレジスタＡに読み出し、＃５５５５５５５５ＨをレジスタＢに読み出す。そして、レジスタＡとレジスタＢを加算し、結果をレジスタＢに入れる。その後、＃０００００００１ＨをレジスタＡに読み出し、レジスタＡとレジスタＢを加算し、結果をレジスタＢに入れる。
【００３０】
ステップＳ５３０において、レジスタＢと０を比較し、結果が０である場合、ステップＳ５５０に進みエラーフラグをセットする。結果が０以外である場合、ステップＳ５４０に進み、エラーフラグをクリアする。
【００３１】
次に、図２に示すフェイル判定手段となるステップＳ２６０での処理手順中、フェイル判定のプログラムにおいて使用しているＲＡＭの異常判定の処理手順を示すフローチャートを図６に示す。ここでは、ＲＡＭＡの異常判定処理について示しているが、同様の処理によりその他のＲＡＭに関しても異常判定が可能である。
【００３２】
図６において、ステップＳ６００では、ＲＡＭＡに＃５５５５５５５５Ｈを読み出す。ステップＳ６２０において、ＲＡＭＡの値と＃５５５５５５５５Ｈを比較し、等しくない場合は、ステップＳ６３０でエラーフラグをセットし、ステップＳ６４０に進む。等しい場合は、何もせずステップＳ６４０に進む。
【００３３】
ステップＳ６４０では、ＲＡＭＡに＃ＡＡＡＡＡＡＡＡＨを読み出す。ステップＳ６５０において、ＲＡＭＡの値と＃ＡＡＡＡＡＡＡＡＨを比較し、等しくない場合は、ステップＳ６６０でエラーフラグをセットする。等しい場合は、何もせず終了する。
【００３４】
この処理により、ＲＡＭＡのいずれかのＢＩＴが１または０に固定される異常を判定することが可能となる。ここで使用する＃５５５５５５５５Ｈと＃ＡＡＡＡＡＡＡＡＨはＲＯＭデータに設定されており、このＲＯＭデータの異常判定は、後述する図７のＲＯＭ異常判定の処理で説明する。
【００３５】
図２に示すフェイル判定手段となるステップＳ２６０での処理手順中、フェイル判定のプログラムにおいて使用しているＲＯＭの異常判定の処理手順を示すフローチャートを図７に示す。
【００３６】
図７において、ステップＳ７００では、リセット機能チェックで使用するデータが設定されている領域の先頭アドレスを、レジスタＡに読み込む。また、データ設定数ＮをレジスタＢに読み込む。そして、先頭アドレスからＮ個のデータを加算することによりチェックサム値を計算し、レジスタＣに保存する。ここで、先頭アドレスからＮ番目には、チェックサム照合値を設定している。このチェックサム照合値をデータ設定領域からレジスタＡに読み込む。
【００３７】
ステップＳ７１０では、レジスタＡとレジスタＣを比較する。比較した結果が等しくない場合、ステップＳ７２０において、エラーフラグをセットする。この結果、図５および図６で使用するデータ設定値＃５５５５５５５５Ｈや＃ＡＡＡＡＡＡＡＡＨが異なる値に変化した場合に、この異常判定にて発見することが可能となる。
【００３８】
以上のように、この発明の実施の形態１に係る電子コントロールユニットの監視装置によれば、プログラムラン信号出力回路からリセット発生回路を経由しＣＰＵのリセット信号入力回路までの診断を安価に行うことが可能となる。
【産業上の利用可能性】
【００３９】
この発明は、自動車に搭載されるマイクロコンピュータを備えた電子コントロールユニットの監視装置に適用できる。
【図面の簡単な説明】
【００４０】
【図１】この発明の実施の形態１に係る電子コントロールユニットの監視装置を示す機能ブロック図である。
【図２】フェイル判定手段の処理手順を示すフローチャートである。
【図３】初期診断時の動作のタイミングを示すタイミング図である。
【図４】初期診断時の動作のタイミングを示すタイミング図である。
【図５】フェイル判定のプログラムにおいて使用しているレジスタの異常判定の処理手順を示すフローチャートである。
【図６】フェイル判定のプログラムにおいて使用しているＲＡＭの異常判定の処理手順を示すフローチャートである。
【図７】フェイル判定のプログラムにおいて使用しているＲＯＭの異常判定の処理手順を示すフローチャートである。
【図８】従来技術における初期診断時の動作のタイミングを示すタイミング図である。
【図９】従来技術における初期診断時の動作のタイミングを示すタイミング図である。
【符号の説明】
【００４１】
１  マイコン（ＣＰＵ）
２  ウォッチドッグタイマ（ＷＤＴ）
３  リセット発生回路
４  フェイル判定手段
５  フェイルセーフ装置
６  パワーオンリセット発生回路
７  オアゲート
【図１】
2008287643.tif 000003
【図２】
2008287643.tif 000004
【図３】
2008287643.tif 000005
【図４】
2008287643.tif 000006
【図５】
2008287643.tif 000007
【図６】
2008287643.tif 000008
【図７】
2008287643.tif 000009
【図８】
2008287643.tif 000010
【図９】
2008287643.tif 000011