(57)【特許請求の範囲】
【請求項１】
プログラムの実行に応じて一定周期でウォッチドッグカウンターパルスを出力するマイクロコンピュータ（５）と、
前記マイクロコンピュータからのウォッチドッグカウンターパルスがウォッチドッグインターバル時間として設定された第１基準時間内に入力しなかった場合は、前記マイクロコンピュータにリセット信号を出力するウォッチドッグ手段（６）と、
前記マイクロコンピュータが要求した場合は、前記ウォッチドッグインターバル時間を前記第１基準時間とは異なる第２基準時間に変更し、前記マイクロコンピュータがリセット状態から起動した場合は前記ウォッチドッグインターバル時間を前記第１基準時間に復帰する変更手段（５）と、を備え、
前記マイクロコンピュータは、前記変更手段が前記ウォッチドッグインターバル時間を前記第２基準時間に変更した場合は、ウォッチドッグカウンターパルスの出力を停止することを特徴とするマイクロコンピュータの監視装置。
【請求項２】
前記第２基準時間は、前記ウォッチドッグインターバル時間として設定可能な最小時間であることを特徴とする請求項１記載のマイクロコンピュータの監視装置。
【請求項３】
前記マイクロコンピュータは、前記変更手段の動作を実行することを特徴とする請求項１または２記載のマイクロコンピュータの監視装置。
【請求項４】
前記マイクロコンピュータは、前記ウォッチドッグ手段に設定された前記ウォッチドッグインターバル時間をシリアル通信により変更することを特徴とする請求項１から３の何れか一項に記載のマイクロコンピュータの監視装置。
【請求項５】
前記マイクロコンピュータは、前記ウォッチドッグ手段に設定された前記ウォッチドッグインターバル時間をＰＷＭ（Pulse Width Modulation）通信により変更することを特徴とする請求項１から３の何れか一項に記載のマイクロコンピュータの監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウォッチドッグ機能を備えたマイクロコンピュータの監視装置に関する。
【背景技術】
【０００２】
従来技術では、マイクロコンピュータの動作を監視するウォッチドッグ監視回路にウォッチドッグカウンター（以下、ＷＤＣ）を搭載し、マイクロコンピュータが正常に動作している状態では、マイクロコンピュータからＷＤＣをクリアするＷＤＣパルスを周期的に出力している。マイクロコンピュータの動作が異常になると、ＷＤＣパルスが出力されなくなるため、ＷＤＣがクリアされなくなる。これにより、ＷＤＣが所定のインターバル時間までカウントアップした時点で、マイクロコンピュータの動作が異常であると判断して、ウォッチドッグ監視回路からマイクロコンピュータにリセットする信号を出力してマイクロコンピュータをリセット（再起動）するようにしている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０６−１６８１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＷＤＣのインターバル時間は固定であるため、ＷＤＣパルスが最後に入力してからインターバル時間が経過したのちにウォッチドッグ監視回路からマイクロコンピュータへリセット信号が出力される。このため、ＷＤＣパルスが停止してからマイクロコンピュータへリセット信号が出力されるまでのリセット時間が長く、それまでマイクロコンピュータの異常状態が継続してしまう。
【０００５】
しかしながら、例えばマイクロコンピュータがエンジン制御プログラムの実行中にＩＧ  ＯＦＦによるシャットダウン処理中にＩＧ  ＯＮされたことを検出した場合、或いはセルフチェックで異常を検出した場合、或いはタスクモニタが異常を検出した場合など、マイクロコンピュータが緊急性の高い異常を検出した場合、上述した固定のリセット時間より早くリセットしたい場合があるが、従来技術ではこれに応えることができないという課題がある。
【０００６】
本発明は上記事情に鑑みてなされたもので、その目的は、マイクロコンピュータの動作をウォッチドッグ機能により監視する構成において、マイクロコンピュータの要求に応じてマイクロコンピュータを直ちにリセットすることができるマイクロコンピュータの監視装置を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１の発明によれば、マイクロコンピュータが要求すると、変更手段によりウォッチドッグ手段に設定された所定のインターバル時間が第１基準時間とは異なる第２基準時間に変更される。これにより、ウォッチドッグ手段からマイクロコンピュータにリセット信号が出力されるまでの時間を短縮することができるので、マイクロコンピュータを直ちにリセットすることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態におけるマイクロコンピュータ及びウォッチドッグ監視回路を示すブロック図
【図２】ＥＣＵを示すブロック図
【図３】マイクロコンピュータによるベース処理を示すフローチャート
【図４】マイクロコンピュータによるシャットダウン処理を示すフローチャート
【図５】マイクロコンピュータによるリセット要求処理を示すフローチャート
【図６】マイクロコンピュータによる初期化処理を示すフローチャート
【図７】通常のリセット要求時を示すタイミング図
【図８】即リセット要求時を示すタイミング図
【発明を実施するための形態】
【０００９】
以下、本発明をエンジン制御装置に適用した一実施形態について図面を参照して説明する。
図２に示すように、エンジン制御装置（以下、ＥＣＵ）１は、電源回路２、メインリレー駆動回路３、入力回路４、マイクロコンピュータ（以下、マイコン）５（変更手段に相当）、ウォッチドッグ監視回路６（ウォッチドッグ手段に相当）などを備えて構成されている。
【００１０】
電源回路２は、給電用のメインリレー７を介して車両のバッテリ８に接続されている。
入力回路４は、ＥＣＵ１の外部から入力される各種信号を、マイコン５が入力可能な信号に変換してマイコン５に出力する。外部から入力される信号の一つとして、ＩＧスイッチ９のオン状態で入力するハイレベルのＩＧ信号がある。つまり、入力回路４は、ＩＧスイッチ９を介してバッテリ８と接続されており、ハイレベルのＩＧ信号の入力状態でハイレベルのＩＧオン信号Ｓｉをマイコン５に出力する。尚、ＩＧスイッチ９のオン状態では、エンジンを作動させるためのエンジン作動機器（例えばインジェクタや点火装置等）へ給電される。
【００１１】
マイコン５は、ＣＰＵ１０、ＣＰＵ１０が実行するエンジン制御プログラムを記憶したフラッシュメモリ１１、ＣＰＵ１０による演算結果等を記憶するＲＡＭ１２及び入出力インターフェース（Ｉ／Ｏ）１３、データの書換えが可能な不揮発性メモリとして例えばＥＥＰＲＯＭ１４を主要な構成要素として備えている。マイコン５は、フラッシュメモリ１１に記憶されたエンジン制御用プログラムを実行することでエンジン作動機器を駆動する。尚、エンジン制御プログラムは一つのプログラムではなく後述するように複数のプログラムからなる。
【００１２】
メインリレー駆動回路３は、ＯＲ回路３ａとオープンコレクタタイプのトランジスタ３ｂとを組合せてなり、入力回路４からのハイレベルのＩＧオン信号Ｓｉと、マイコン５からのハイレベルの電源保持信号ＳｈとがＯＲ回路３ａに入力される。ＩＧオン信号Ｓｉと電源保持信号Ｓｈとのうちの少なくとも一方が入力すれば、トランジスタ３ｂがオンしてメインリレー７のコイル７ａに通電され、それに応じてメインリレー７がオンしてバッテリ８から電源回路２へ給電される。
ウォッチドッグ監視回路６は、マイコン５から定期的に出力されるＷＤＣパルスが所定のインターバル期間内にマイコン５から入力するかを監視し、入力しなかったときはマイコン５にリセット信号を出力するウォッチドッグ機能を有している。
【００１３】
このようなウォッチドッグ監視回路６によるウォッチドッグ機能を実現するために、マイコン５には、図１に示すように、パルス発生器１５、ｔＷＤＣＨ要求値出力部１６、リセット回路１７が備えられている。パルス発生器１５は、マイコン５が実行するエンジン制御プログラムの実行に応じてＷＤＣパルスを一定周期（例えば３０ｍｓ）でウォッチドッグ監視回路６に出力する。ｔＷＤＣＨ要求値出力部１６は、ｔＷＤＣＨ要求値をシリアル通信によりウォッチドッグ監視回路６に出力する。このｔＷＤＣＨ要求値は、ウォッチドッグ監視回路６のウォッチドッグインターバル時間として設定されるものである。リセット回路１７は、ウォッチドッグ監視回路６からのリセット信号によりＣＰＵ１０をリセット（再起動）する。
【００１４】
一方、ウォッチドッグ監視回路６は、カウンタークリア回路１８、ＷＤＣ１９、ｔＷＤＣＨバッファ２０、ｔＷＤＣＨメモリ２１、比較器２２、リセット信号発生器２３を備えて構成されている。
カウンタークリア回路１８は、マイコン５からＷＤＣパルスが入力する毎にＷＤＣ１９をクリアする。ＷＤＣ１９は、図示しないクロック回路からのクロックに基づいて経過時間をカウントするカウント動作を常に実行しており、カウンタークリア回路１８によりクリアされるとそのカウント動作を０から再実行する。ｔＷＤＣＨバッファ２０は、マイコン５から入力するｔＷＤＣＨ要求値を受取る入力部で、ｔＷＤＣＨ要求値が確定したところで当該ｔＷＤＣＨ要求値をｔＷＤＣＨメモリ２１へ転送する。比較器２２は、ＷＤＣ１９による経過時間とｔＷＤＣＨメモリ２１に記憶されているｔＷＤＣＨとを比較し、経過時間がｔＷＤＣＨを上回ると、リセット信号発生器２３を駆動してリセット信号をマイコン５へ出力する。
【００１５】
次に上記構成の作用について説明する。尚、ｔＷＤＣＨメモリ２１にはｔＷＤＣＨとして４０ｍｓ（第１基準時間に相当）が記憶されているものとする。
ユーザがエンジンを始動するためにＩＧスイッチ９をオンすると、エンジン作動機器へ給電されると同時にＩＧオン信号Ｓｉがメインリレー駆動回路３に出力される。すると、メインリレー駆動回路３によりメインリレー７がオンし、バッテリ８からメインリレー７を介して電源回路２に給電されるので、マイコン５が電源回路２からの給電により起動する。マイコン５は、起動すると、メインリレー駆動回路３へ電源保持信号Ｓｈを出力する電源保持処理を行うので、ユーザによりＩＧスイッチ９がオフされてもバッテリ８から電源回路２への給電状態、ひいてはマイコン５への給電状態を維持することができる。このような電源保持処理により、ＩＧスイッチ９がオン状態からオフされるにしても、マイコン５は後述するシャットダウン処理を実行することができる。
【００１６】
マイコン５は、起動後は、後述する初期化処理を実行してから、ＩＧオン信号Ｓｉの入力状態に基づいて、ＩＧスイッチ９がオンしているか否かを判定し、ＩＧスイッチ９がオンであると判定している間は、エンジンの作動を制御するためのベース処理を行う。
ベース処理は、図３に示すように、タイマをスタートしてから（Ｓ１０１）、エンジン回転数等のエンジン状態信号、アクセル開度信号、スロットルバルブのバルブ開度信号等に基づいて燃料噴射量演算、点火時期の調節を行うための点火時期演算などの各種演算を実行してから（Ｓ１０２）、タイマが１５ｍｓ経過したところで（Ｓ１０３：ＹＥＳ）、ＷＤＣパルスを反転する（Ｓ１０４）。尚、ユーザによりＩＧスイッチ９がスタート操作されてスタータによりエンジンがクランキングされると、図示しないエンジン制御処理により上述した各種演算に基づいてエンジン作動機器に対する制御が行われる。
以上の動作により、エンジンが始動すると共にマイコン５から周期が３０ｍｓのＷＤＣパルスが出力される。
【００１７】
ユーザがエンジンを停止するためにＩＧスイッチ９をオフすると、エンジン作動機器への給電が停止するため、エンジンが停止する。このとき、マイコン５は、ＩＧオン信号Ｓｉが停止することでＩＧスイッチ９がオフされたことを検知するので、シャットダウン処理を実行する。
【００１８】
シャットダウン処理は、図４に示すように、ＩＧオン信号Ｓｉが入力しているか否かに基づいて、ＩＧスイッチ９がオフされているか否かを判定し（Ｓ２０１）、ＩＧスイッチ９がオフされていると判定した場合には（Ｓ２０１：ＹＥＳ）、エンジン停止後処理が完了しているか否かを判定する（Ｓ２０２）。エンジン停止後処理が完了していないと判定した場合には（Ｓ２０２：ＮＯ）、エンジン停止後処理を実行する（Ｓ２０３）。このエンジン停止後処理では、学習値や故障診断情報（検出した故障に関する情報）を求める。次に、ＥＥＰＲＯＭ１４にバックアップ対象のデータを書込む書込処理を実行する（Ｓ２０４）、ＥＥＰＲＯＭ１４に書込むバックアップ対象データとしては、エンジン停止後処理で求めた学習値や故障診断情報である。
【００１９】
上述したようにして書込処理を終了すると、ＥＣＵ１へのバッテリ８からの給電を停止するための電源遮断処理を行う（Ｓ２０５）。電源遮断処理としては、メインリレー駆動回路３への電源保持信号Ｓｈを停止する処理を行う。マイコン５からの電源保持信号Ｓｈが停止すると、ＩＧオン信号Ｓｉは既に停止しているため、メインリレー駆動回路３によるメインリレー７の通電が停止する。すると、バッテリ８から電源回路２、ひいてはマイコン５への給電状態が停止するので、マイコン５の動作が停止する。この場合、マイコン５への給電が停止したタイミングでは、マイコン５はシャットダウン処理を終了しているので、マイコン５はシャットダウン処理を確実に行うことができる。
【００２０】
次に、ウォッチドッグ監視回路６によるウォッチドッグ動作について説明する。比較器２２は、ＷＤＣ１９による経過時間とｔＷＤＣＨメモリ２１に記憶されているｔＷＤＣＨ（４０ｍｓ）とを比較している。通常においては、ＷＤＣ１９による経過時間が４０ｍｓとなる前に周期が３０ｍｓのＷＤＣパルスがカウンタークリア回路１８に必ず入力するので、ＷＤＣ１９は４０ｍｓをカウントする前にクリアされる。これにより、比較器２２がリセット信号発生器２３を駆動することはない。
【００２１】
さて、マイコン５がエンジン制御プログラムの実行中に例えば暴走して正常に動作しなくなると、パルス発生器１５が機能しなくなるので、ウォッチドッグ監視回路６にＷＤＣパルスが与えられなくなる。すると、ＷＤＣ１９による経過時間がｔＷＤＣＨ（４０ｍｓ）を上回るようになるので、比較器２２によりリセット信号発生器２３が駆動され、ウォッチドッグ監視回路６からマイコン５に対してリセット信号が出力される。これにより、マイコン５がリセットするようになる。
以上のような動作により、マイコン５が暴走した場合であっても、マイコン５がウォッチドッグ監視回路６によりリセット（再起動）するので、マイコン５の暴走状態が継続してしまうことを防止できる。
【００２２】
ところで、上述したようにユーザがＩＧスイッチ９をオフした場合は、マイコン５はシャットダウン処理を実行してからメインリレー７をオフするので、シャットダウン終了後にマイコン５への給電が停止する。従って、その後に、ユーザがＩＧスイッチ９をオンした場合は、上述したようにしてエンジンが再始動することになる。
【００２３】
しかしながら、ユーザがエンジンを再始動するためにＩＧスイッチ９をオフしてから直ちにスタート操作することがある。このような場合、マイコン５がシャットダウン処理の実行中にＩＧスイッチ９がオンすることに応じてマイコン５及びメインリレー駆動回路３にＩＧオン信号Ｓｉが出力される。すると、マイコン５は、シャットダウン処理の実行を終了すると、ＩＧスイッチ９がオンしていることに応じて上述したエンジンを制御するためのベース処理を実行するようなる。このため、ＩＧスイッチ９がオフしてから直ちにスタート操作された場合は、マイコン５によるシャットダウン処理が終了するまでベース処理を実行しないので、ＩＧスイッチ９がスタート操作されてからエンジンが始動するまでが長くなるという事情がある。
【００２４】
そこで、本実施形態では、マイコン５は、上述した各処理に並列にリセット要求処理を実行する。即ち、マイコン５は、図５に示すように、リセット要求があったか否かを判定している（Ｓ３０１）。このリセット要求とは、マイコン５によるエンジン制御プログラムの実行時に、エンジン制御プログラムがマイコン５をリセットすることが必要となるような異常が発生したことを検知した場合のことである。リセット要求が有った場合は（Ｓ３０１：ＹＥＳ）、即リセットか否かを判断する（Ｓ３０２）。この即リセットとは、エンジン制御プログラムが、通常の異常に比較して、マイコン５を直ちにリセットすることが必要となるような緊急性の高い異常が発生したことを検知した場合のことである。通常のリセットの場合、つまりエンジン制御プログラムが緊急性の低い異常を検出した場合は、即リセットでないと判定し（Ｓ３０２：ＮＯ）、ＷＤＣパルス停止処理を実行する（Ｓ３０４）。これにより、図７に示すように、ＷＤＣパルスの出力が停止されるので、ウォッチドッグ監視回路６によりマイコン５をリセットすることができる。この場合、マイコン５は、上述したシャットダウン処理の実行を終了してからリセット（再起動）されるので、シャットダウン処理を確実に実行することができる。
【００２５】
マイコン５は、再起動すると、初期化処理を実行する。つまり、マイコン５は、図６に示すように、パルス発生器１５に対してＷＤＣパルスをハイレベルとするように指令し（Ｓ４０１）、ｔＷＤＣＨ要求値出力部１６に対してｔＷＤＣＨ要求値として４０ｍｓを出力するように指令してから（Ｓ４０２）、各機能初期化処理を実行する（Ｓ４０３）。このとき、マイコン５からのｔＷＤＣＨ要求値はシリアル通信にてウォッチドッグ監視回路６へ通知される。これにより、図７に示すように、リセット信号が停止したところでＷＤＣパルスが立上るようになり、以後においてはベース処理によりＷＤＣパルスが１５ｍｓ毎に立上りと立下りを交互に繰り返す。つまり、マイコン５から周期が３０ｍｓのＷＤＣパルスが出力されるようになる。
【００２６】
このようにＷＤＣパルスはマイコン５がベース処理を実行することにより３０ｍｓの周期で出力されるものの、初期化処理は他の処理に優先して実行する必要から、マイコン５の起動時にマイコン５から最初に出力されるＷＤＣパルスのパルス幅は通常の１５ｍｓよりも長くなっている（図７参照）。このように最初に出力されるＷＤＣパルスのパルス幅が１５ｍｓよりも長くなることから、その分を見込んでｔＷＤＣＨは４０ｍｓに設定されている。
【００２７】
さて、本実施形態の即リセットとは、マイコン５が図４のシャットダウン処理中にＩＧオン信号Ｓｉがオンしたことを検知した場合である。つまり、シャットダウン処理よりもリセットを優先するような緊急性の高い異常が発生した場合である。この場合、通常のリセットのようにＷＤＣパルスの出力を停止しただけでは、マイコン５へのリセット信号の出力が遅れてしまうことから、本実施形態では、ウォッチドッグ監視回路６を利用して次のようにマイコン５へのリセット信号の出力を早めるようにした。
【００２８】
即ち、マイコン５は、図５に示すリセット要求処理において、即リセットであると判定した場合は（Ｓ３０２：ＹＥＳ）、ｔＷＤＣＨ要求値出力部１６からｔＷＤＣＨ要求値として設定可能な最小値である１０ｍｓ（第２基準時間に相当）を出力してから（Ｓ３０３）、ＷＤＣパルス停止処理を実行する（Ｓ３０４）。これにより、ウォッチドッグ監視回路６のｔＷＤＣＨメモリ２１にはｔＷＤＣＨとして１０ｍｓが設定された状態でＷＤＣパルスが停止するようになるので、ＷＤＣ１９による経過時間が１０ｍｓを上回るようになる。すると、ウォッチドッグ監視回路６からマイコン５に対してリセット信号が出力されるようになるので、マイコン５がシャットダウン処理中であっても強制的にリセットするようになる。従って、マイコン５は、上述した電源保持処理及び初期化処理を実行してからベース処理によりエンジンを制御するようになる。
【００２９】
以上のような動作により、ユーザがＩＧスイッチ９をオフしてから直ちにオンした場合は、マイコン５は、エンジン制御プログラムの実行時に即リセットが必要であると判断し、ウォッチドッグ監視回路６を利用することにより自分自身を直ちに強制的にリセット（再起動）することによりエンジンを直ちに始動することができる。
【００３０】
このような実施形態によれば、マイコン５は、ＩＧスイッチ９がオフされることに応じてシャットダウン処理の実行中にＩＧスイッチ９がオンした場合は、即リセットであると判定して、ウォッチドッグ監視回路６に対するｔＷＤＣＨ要求値として設定可能な最小値を与えるようにした。これにより、マイコン５がリセットするまでの時間を短縮することができるので、ＩＧスイッチ９がオフしてから直ちにスタート操作された場合であっても、エンジンを直ちに始動することができる。
【００３１】
（その他の実施形態）
本発明は、上記実施形態に限定されることなく、次のように変形または拡張したり、各変形例を上記実施形態と組合せたり、各変形例を組合せるようにしてもよい。
上記実施形態では、マイコン５がウォッチドッグ監視回路６にｔＷＤＣＨ要求値を与えるように構成したが、マイコン５以外の電子回路がｔＷＤＣＨ要求値をウォッチドッグ監視回路６に与えるようにしてもよい。
即リセットの場合はｔＷＤＣＨ要求値として設定可能な最小値である１０ｍｓとしたが、最小値に限定されることはなく、４０ｍｓ未満であれば任意の値としてもよいし、設定可能であれば１０ｍｓよりも小さい値としてもよい。また、マイコン５のベース処理の各種演算時間が長い場合はＷＤＣパルスの反転時間も大きくなるため、これに合わせてｔＷＤＣＨ要求値を４０ｍｓより大きな値としてもよい。
【００３２】
マイコン５からｔＷＤＣＨ要求値をウォッチドッグ監視回路６に対してシリアル通信により与えるようにしたが、ＰＷＭ（Pulse Width Modulation）通信により与えるようにしてもよい。
本発明を電気自動車やハイブリッド車に適用するようにしてもよい。
マイコン５が即リセットを要求する場合としては、マイコン５が実行するプログラムのセルフチェックが異常を検出した場合、或いはプログラムのタスクモニタが異常を検出した場合などプログラム毎に任意に設定すればよい。
【符号の説明】
【００３３】
図面中、１はエンジン制御装置、５はマイクロコンピュータ（変更手段）、６はウォッチドッグ監視回路（ウォッチドッグ手段）である。
【図１】
0005942963.tif 000002
【図２】
0005942963.tif 000003
【図３】
0005942963.tif 000004
【図４】
0005942963.tif 000005
【図５】
0005942963.tif 000006
【図６】
0005942963.tif 000007
【図７】
0005942963.tif 000008
【図８】
0005942963.tif 000009