(57)【要約】【課題】マイコンを監視する監視ＩＣを備えた電子制御装置（ＥＣＵ）にて、マイコンが、異常時に実施すべき異常時処理をより確実に実行できるようにする。【解決手段】監視ＩＣ１０によりマイコン２０の動作を監視すると共に、監視ＩＣ１０は、マイコン２０の異常を検出すると、そのマイコン２０にフェールセーフ信号（ＦＳＩＮＩＴ）を出力する。ＦＳＩＮＩＴは、マイコン２０において、マスク不可割込を発生させるためのＮＭＩ端子に入力され、これにより、マイコン２０においてマスク不可割込が発生する。監視ＩＣ１０がマイコン２０の異常を検出するため、マイコン２０の異常の種類に関係なく、より確実に異常が検出されると共に、マイコン２０においてマスク不可割込が確実に発生する。マイコン２０は、このマスク不可割込で異常時処理を実行するようになっており、このため、異常時処理が確実に実行される。【選択図】図１
2008293420.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御するための処理を行うマイコンと、該マイコンの動作を監視する監視ＩＣとを備え、前記監視ＩＣが前記マイコンの異常を検出すると、その異常が検出されたマイコンがリセットされるように構成された電子制御装置において、
前記監視ＩＣは、
前記マイコンの異常を検出すると、その異常を検出したマイコンに、異常を通知するための異常通知信号を出力するようになっており、
前記マイコンは、
契機信号が入力されるとマスク不可能な割り込み（以下、マスク不可割込と言う）を発生させる割込発生回路を備えると共に、そのマスク不可割込で、異常の解析に必要な情報を所定のメモリに記憶させる退避処理を行うようになっており、
さらに、前記監視ＩＣが前記異常通知信号を前記マイコンに出力すると、その後、そのマイコンがリセットされるようになっていると共に、その異常通知信号は、前記マスク不可割込を発生させる契機信号として前記割込発生回路に入力されるように構成されていることを特徴とする電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、
前記割込発生回路は、入力される信号を前記マスク不可割込を発生させるための契機信号として受け付けるＮＭＩ（Ｎｏｎ  Ｍａｓｋａｂｌｅ  Ｉｎｔｅｒｒｕｐｔ）端子を備えた回路であり、前記異常通知信号は、前記マスク不可割込を発生させるための契機信号として前記ＮＭＩ端子に入力されるようになっていることを特徴とする電子制御装置。
【請求項３】
請求項１又は請求項２に記載の電子制御装置において、
前記マイコンは、自身の動作が正常ならば、パルスが一定時間以内毎に発生する信号（以下、正常通知信号と言う）を出力するようになっており、
前記監視ＩＣは、前記正常通知信号を監視して、前記パルスが前記一定時間以内に出力されていないと判断すると、前記マイコンの異常と判断するようになっていることを特徴とする電子制御装置。
【請求項４】
請求項３に記載の電子制御装置において、
前記監視ＩＣは、前記正常通知信号の出力レベルが所定の期間反転しない場合、前記マイコンの異常と判断するようになっており、
当該電子制御装置は、前記監視ＩＣが前記判断に用いる前記所定期間の値を書き換え自在に記憶していることを特徴とする電子制御装置。
【請求項５】
請求項３又は請求項４に記載の電子制御装置において、
前記監視ＩＣは、前記パルスの周波数を算出して、該算出した周波数が所定の周波数と一致しない場合、前記マイコンの異常と判断するようになっており、
当該電子制御装置は、前記監視ＩＣが前記判断に用いる前記所定周波数の値を書き換え自在に記憶していることを特徴とする電子制御装置。
【請求項６】
請求項１ないし請求項５の何れか１項に記載の電子制御装置において、
前記マイコンは、リセット端子を備えており、
前記監視ＩＣは、前記異常通知信号を出力してから、予め定められた時間が経過した後に、リセット信号を前記リセット端子に出力するようになっていることを特徴とする電子制御装置。
【請求項７】
請求項１又は請求項２に記載の電子制御装置において、
前記マイコンは、
リセット端子を備えており、
前記異常通知信号を受信することで前記退避処理を実行してその退避処理が完了すると、完了した旨を表すパルス（以下、退避完了パルスと言う）を前記監視ＩＣに出力するようになっており、
前記監視ＩＣは、前記退避完了パルスを受信したか否かを判定する受信判定処理を実行し、該受信判定処理で前記退避完了パルスを受信したと判定すると、リセット信号を前記リセット端子に出力するようになっていることを特徴とする電子制御装置。
【請求項８】
請求項３ないし請求項５の何れか１項に記載の電子制御装置において、
前記マイコンは、
リセット端子を備えており、
前記異常通知信号を受信することで前記退避処理を実行してその退避処理が完了すると、完了した旨を表すパルス（以下、退避完了パルスと言う）を前記監視ＩＣに出力するようになっており、
前記監視ＩＣは、前記退避完了パルスを受信したか否かを判定する受信判定処理を実行し、該受信判定処理で前記退避完了パルスを受信したと判定すると、リセット信号を前記リセット端子に出力するようになっていることを特徴とする電子制御装置。
【請求項９】
請求項８に記載の電子制御装置において、
前記マイコンは、前記退避完了パルスを、前記正常通知信号を出力するポートと同じポートから出力するようになっており、
前記監視ＩＣは、前記退避完了パルスと、前記正常通知信号のパルスとの別を区別できるように構成されていることを特徴とする電子制御装置。
【請求項１０】
請求項９に記載の電子制御装置において、
前記監視ＩＣは、前記マイコンが異常である間、前記異常通知信号を出力し、前記マイコンが正常である間、前記異常通知信号を出力しないようになっており、
前記監視ＩＣは、前記異常通知信号を出力しているときに前記マイコンから受信したパルスを前記退避完了パルスと判断し、前記異常通知信号を出力していないときに前記マイコンから受信したパルスを前記正常通知信号のパルスと判断するようになっていることを特徴とする電子制御装置。
【請求項１１】
請求項１ないし請求項１０の何れか１項に記載の電子制御装置において、
前記マイコンは、リセット端子を備えており、
当該電子制御装置は、前記マイコンが備える出力ポートからの信号により、リセット信号を前記リセット端子に出力するリセット信号出力回路を備えており、
さらに、前記マイコンは、前記退避処理が完了すると、前記出力ポートから前記リセット信号出力回路に信号を出力し、そのリセット信号出力回路に前記リセット信号を出力させるようになっていることを特徴とする電子制御装置。
【請求項１２】
請求項１１に記載の電子制御装置において、
前記リセット信号はローレベルの信号であり、
前記リセット信号出力回路は、前記リセット端子とローレベルの電位との間に設けられたスイッチを備え、
前記マイコンは、前記退避処理が完了すると、前記出力ポートから前記スイッチに信号を出力してそのスイッチをオンし、
そのスイッチがオンすることで前記リセット端子に前記リセット信号が入力されるようになっていることを特徴とする電子制御装置。
【請求項１３】
請求項１１又は請求項１２に記載の電子制御装置において、
前記出力ポートから信号を出力するために前記マイコンが実行する処理は、複数の処理ステップからなることを特徴とする電子制御装置。
【請求項１４】
請求項１１ないしは請求項１３の何れか１項に記載の電子制御装置において、
前記マイコンは、前記リセット端子に前記リセット信号が入力されて自身がリセットされると、前記出力ポートの信号の出力状態をハイインピーダンスにするようになっていることを特徴とする電子制御装置。
【請求項１５】
請求項７ないし請求項１４の何れか１項に記載の電子制御装置において、
前記監視ＩＣは、前記マイコンに前記異常通知信号を出力してから予め定められた時間が経過した際、そのマイコンが異常であるか否かを再判定し、異常であると判定すると、リセット信号を前記リセット端子に出力するようになっていると共に、前記予め定められた時間は、前記マイコンが前記退避処理を完了するのに必要な時間よりも大きい時間であることを特徴とする電子制御装置。
【請求項１６】
請求項１ないし請求項１５の何れか１項に記載の電子制御装置において、
前記所定のメモリは、常時給電されるバックアップＲＡＭであることを特徴とする電子制御装置。
【請求項１７】
請求項１ないし請求項１５の何れか１項に記載の電子制御装置において、
前記所定のメモリは、不揮発性のメモリであることを特徴とする電子制御装置。
【請求項１８】
請求項１ないし請求項１７の何れか１項に記載の電子制御装置において、
前記所定のメモリは、前記マイコンの外部に設けられていることを特徴とする電子制御装置。
【請求項１９】
請求項１ないし請求項１８の何れか１項に記載の電子制御装置において、
前記異常の解析に必要な情報は、前記マイコンが備えるＲＯＭ及びＲＡＭの両方又は一方の情報であることを特徴とする電子制御装置。
【請求項２０】
請求項１ないし請求項１９の何れか１項に記載の電子制御装置において、
前記異常の解析に必要な情報は、前記マイコンが備えるレジスタに格納された情報であることを特徴とする電子制御装置。
【請求項２１】
請求項１ないし請求項２０の何れか１項に記載の電子制御装置において、
前記異常の解析に必要な情報は、前記マイコンのスタック領域及びスタックポインタレジスタの情報であることを特徴とする電子制御装置。
【請求項２２】
請求項１ないし請求項２１の何れか１項に記載の電子制御装置において、
当該電子制御装置は車両の各部を制御する電子制御装置であり、
前記異常の解析に必要な情報は、前記車両の状態を表す情報であることを特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイコンと該マイコンの動作を監視する監視ＩＣとを備えると共に、マイコンに異常が生じると、そのマイコンがリセットされるようになっている電子制御装置に関する。
【背景技術】
【０００２】
従来より、車両用の電子制御装置（以下、ＥＣＵと記載する）では、マイコンに異常が生じると、そのマイコンがリセットされるようになっている。そして特に、特許文献１のＥＣＵでは、マイコンに異常が生じると、例えば異常の解析に必要な情報をメモリに退避させる処理（以下、退避処理と記載する）をマイコンが実行した後、そのマイコンがリセットされるようになっている。
【０００３】
より具体的に、特許文献１のＥＣＵでは、マイコンが、そのマイコンの動作を監視するウォッチドッグタイマを備えている。そして、ウォッチドッグタイマにより異常が検出されると、そのウォッチドッグタイマから割り込みが生じる。マイコンは、この割り込み時の処理で、前述のような退避処理を実行する。
【特許文献１】特開平６−２２１２１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の特許文献１のＥＣＵでは、マイコンのウォッチドッグタイマにそもそも異常が生じていると、そのマイコンの異常を検出できなくなってしまう。つまり、マイコンの異常の種類によっては、異常が検出されず、この場合、マイコンが退避処理を実行するための割り込みも発生しなくなってしまう。
【０００５】
ところで、マイコンの異常を検出する方法として、例えばマイコンの動作を監視する監視ＩＣを設け、その監視ＩＣによりマイコンの異常を検出する方法がよく知られている。この方法によれば、監視ＩＣに異常が生じないかぎり、マイコンの異常の種類に関係なく、そのマイコンの異常をより確実に検出できるようになる。本願出願人はこの点に着目し、マイコンの異常をより確実に検出することで、マイコンが、異常時に実施すべき処理をより確実に実施できるようにすることを考えた。
【０００６】
本発明は、マイコンの動作を監視する監視ＩＣを備えた電子制御装置において、マイコンに異常が生じた際、そのマイコンが、異常時に実施すべき処理をより確実に実行できるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた請求項１に記載の電子制御装置は、制御対象を制御するための処理を行うマイコンと、該マイコンの動作を監視する監視ＩＣとを備え、監視ＩＣがマイコンの異常を検出すると、その異常が検出されたマイコンがリセットされるように構成されている。
【０００８】
そして、監視ＩＣは、マイコンの異常を検出すると、その異常を検出したマイコンに、異常を通知するための異常通知信号を出力するようになっている。
また、マイコンは、契機信号が入力されるとマスク不可能な割り込み（以下、マスク不可割込と言う）を発生させる割込発生回路を備えると共に、そのマスク不可割込で、異常の解析に必要な情報を所定のメモリに記憶させる退避処理を行うようになっている。
【０００９】
さらに、監視ＩＣが異常通知信号をマイコンに出力すると、その後、そのマイコンがリセットされるようになっていると共に、その異常通知信号は、マスク不可割込を発生させる契機信号として割込発生回路に入力されるように構成されている。
【００１０】
ところで、マイコンが自身の異常を検出する構成の場合、その異常を検出する機能にそもそも異常が生じていると、異常が検出されない。
この点、請求項１の電子制御装置では、監視ＩＣがマイコンの異常を検出するため、マイコンの異常の種類にかかわらず、より確実にマイコンの異常を検出できる。
【００１１】
そして、マイコンの異常が検出されると、異常を通知するための異常通知信号が、監視ＩＣからマイコンの割込発生回路に入力され、マイコンにマスク不可割り込みが発生するため、マイコンはより確実に退避処理を実行できるようになり、その後マイコンがリセットされるようになっているため、マイコンは確実に復帰できるようになる。このため、例えば外部の診断装置等を介してマイコンの異常を解析する際に、異常の原因を解明するための情報がより確実に得られるため有利である。
【００１２】
ここで、割込発生回路は、具体的に、請求項２のように構成すればよい。
請求項２の電子制御装置では、割込発生回路は、入力される信号をマスク不可割込を発生させるための契機信号として受け付けるＮＭＩ（Ｎｏｎ  Ｍａｓｋａｂｌｅ  Ｉｎｔｅｒｒｕｐｔ）端子を備えている。
【００１３】
そして、異常通知信号は、マスク不可割込を発生させるための契機信号としてＮＭＩ端子に入力されるようになっている。
ＮＭＩ端子は、マイコンが標準的に備える端子である。請求項２のように、そのＮＭＩ端子を利用するようにすれば、退避処理を実行するためのトリガとなる専用端子を追加しなくてもよくなり有利である。
【００１４】
ところで、マイコンの異常を検出するには、具体的に、請求項３〜５のように構成することができる。
請求項３の電子制御装置は、請求項１，２の電子制御装置において、マイコンは、自身の動作が正常ならば、パルスが一定時間以内毎に発生する信号（以下、正常通知信号と言う）を出力するようになっている。
【００１５】
そして、監視ＩＣは、正常通知信号を監視して、パルスが一定時間以内に出力されていないと判断すると、マイコンの異常と判断するようになっている。
このような請求項３の構成によれば、簡単な構成で確実に、監視ＩＣがマイコンの異常を検出できるようになる。尚、より具体的に、正常通知信号としては、所謂ウォッチドッグパルス信号が考えられる。そして、監視ＩＣに、ウォッチドッグパルス信号を監視するウォッチドッグタイマを備えるようにすれば、マイコンや監視ＩＣに新たな構成を追加しなくても良くなり有利である。
【００１６】
請求項４の電子制御装置では、請求項３の電子制御装置において、監視ＩＣは、正常通知信号の出力レベルが所定の期間反転しない場合、マイコンの異常と判断するようになっている。つまり、監視ＩＣは、正常通知信号の出力レベルが所定期間以上ハイ或いはローの場合、マイコンの異常と判断する。
【００１７】
そして、電子制御装置は、監視ＩＣが判断に用いる所定期間の値を書き換え自在に記憶している。これによれば、マイコンの仕様に応じて、所定期間の値を所望の値にすることができる。尚、所定期間の値は、例えばマイコンが記憶していても良いし、監視ＩＣが記憶していても良い。
【００１８】
次に、請求項５の電子制御装置は、請求項３，４の電子制御装置において、監視ＩＣは、パルスの周波数を算出して、該算出した周波数が所定の周波数と一致しない場合、マイコンの異常と判断するようになっている。例えば、パルスが一定時間間隔で出力されるように設定されている場合、パルスの周波数を算出することで、パルスが一定時間間隔で出力されているか否か、言い換えればマイコンが異常か否かが判断できる。そして、電子制御装置は、監視ＩＣが判断に用いる所定周波数の値を書き換え自在に記憶している。これによれば、マイコンの仕様やパルス出力の設定に応じて、所定周波数の値を所望の値にすることができる。尚、所定周波数の値は、例えばマイコンが記憶していても良いし、監視ＩＣが記憶していても良い。
【００１９】
ところで、マイコンがリセットされるようにするためには、請求項６のように構成すると良い。
請求項６の電子制御装置は、請求項１〜５の電子制御装置において、マイコンは、リセット端子を備えており、監視ＩＣは、異常通知信号を出力してから、予め定められた時間が経過した後に、リセット信号をリセット端子に出力するようになっている。
【００２０】
このような請求項６の電子制御装置によれば、マイコンの異常の種類に関係なく、確実に、マイコンがリセットされるようになり、マイコンが暴走し続けることを防止し、電子制御装置の信頼性が向上する。また、監視ＩＣが異常通知信号を出力してから即座にマイコンがリセットされるわけではないため、マイコンにおいて退避処理が実行されるようにすることができる。
【００２１】
一方、マイコンがリセットされるようにするためには、請求項７，８のように構成しても良い。
請求項７の電子制御装置は、請求項１，２の電子制御装置において、マイコンは、リセット端子を備えており、異常通知信号を受信することで退避処理を実行してその退避処理が完了すると、完了した旨を表すパルス（以下、退避完了パルスと言う）を監視ＩＣに出力するようになっている。
【００２２】
そして、監視ＩＣは、退避完了パルスを受信したか否かを判定する受信判定処理を実行し、該受信判定処理で退避完了パルスを受信したと判定すると、リセット信号をリセット端子に出力するようになっている。
【００２３】
これによれば、マイコンにおいて退避処理が完了した後に、そのマイコンがリセットされるようになる。言い換えれば、マイコンは、リセットされる前に確実に、退避処理を完了できるようになる。このため、例えば外部の診断装置等を介してマイコンの異常を解析する際に、より確実に異常の原因を解明することができるようになる。
【００２４】
請求項８の電子制御装置は、請求項３〜５の電子制御装置において、請求項７と同じ構成を有している。そして特に、請求項８の電子制御装置では、請求項９のように構成することができる。
【００２５】
請求項９の電子制御装置では、マイコンは、退避完了パルスを、正常通知信号を出力するポートと同じポートから出力するようになっており、監視ＩＣは、退避完了パルスと、正常通知信号のパルスとの別を区別できるように構成されている。
【００２６】
これによれば、退避完了パルスを出力するための構成をマイコンに新たに追加したり、退避完了パルスが入力されるようにするための構成を監視ＩＣに新たに追加したりしなくてもよくなり、コスト面や構成の簡素化の観点から有利である。
【００２７】
そして、請求項９の電子制御装置では、具体的に、請求項１０のように構成すれば良い。
請求項１０の電子制御装置では、監視ＩＣは、マイコンが異常である間、異常通知信号を出力し、マイコンが正常である間、異常通知信号を出力しないようになっている。
【００２８】
そして、監視ＩＣは、異常通知信号を出力しているときにマイコンから受信したパルスを退避完了パルスと判断し、異常通知信号を出力していないときにマイコンから受信したパルスを正常通知信号のパルスと判断するようになっている。
【００２９】
マイコンが異常であれば、異常通知信号が監視ＩＣからマイコンに出力され、マイコンにおいてマスク不可割込が発生して退避処理が実行される。また、異常通知信号が出力されている間は、マイコンは異常なのであるから、マイコンから正常通知信号は出力されない。このため、監視ＩＣは、異常通知信号を出力しているときにマイコンから受信したパルスを、退避完了パルスであると判別することができる。
【００３０】
一方、マイコンが正常であれば、監視ＩＣから異常通知信号は出力されないため、マイコンにおいてマスク不可割込は発生せず、退避処理も実行されない。このため、監視ＩＣは、異常通知信号を出力していないときにマイコンから受信したパルスを、正常通知信号のパルスであると判別することができる。
【００３１】
このような請求項１０の電子制御装置では、退避完了パルスと正常通知信号とで、ポートを兼用することができ、マイコン及び監視ＩＣの資源を節約することができる。
次に、マイコンがリセットされるようにするためには、請求項１１のように構成しても良い。
【００３２】
請求項１１の電子制御装置は、請求項１〜１０の電子制御装置において、マイコンは、リセット端子を備えており、電子制御装置は、マイコンが備える出力ポートからの信号により、リセット信号をリセット端子に出力するリセット信号出力回路を備えている。
【００３３】
さらに、マイコンは、退避処理が完了すると、出力ポートからリセット信号出力回路に信号を出力し、そのリセット信号出力回路にリセット信号を出力させるようになっている。
【００３４】
つまり、請求項１１の電子制御装置では、退避処理が完了すると、マイコン自ら、自身をリセットするようになっている。これによれば、退避処理が完了した後、速やかにマイコンがリセットされるようになる。言い換えれば、マイコンが速やかに正常状態に復帰するようになり、有利である。
【００３５】
次に、請求項１１の電子制御装置では、具体的に、請求項１２のように構成すれば良い。
請求項１２の電子制御装置では、リセット信号はローレベルの信号であり、リセット信号出力回路は、リセット端子とローレベルの電位との間に設けられたスイッチを備えている。マイコンは、退避処理が完了すると、出力ポートからスイッチに信号を出力してそのスイッチをオンする。そして、そのスイッチがオンすることでリセット端子にリセット信号が入力されるようになっている。
【００３６】
つまり、言い換えると、スイッチがオンすることでリセット端子はローレベルの電位に接続する。これにより、リセットが有効となり、マイコンはリセットされる。
ところで、請求項１１，１２の電子制御装置では、マイコンが誤ってリセットされないようにするために、請求項１３のように構成すると良い。
【００３７】
請求項１３の電子制御装置では、出力ポートから信号を出力するためにマイコンが実行する処理は、複数の処理ステップからなることを特徴としている。
例えば、１つの処理ステップを踏むことによってマイコンの出力ポートからリセット信号出力回路に信号が出力されるようにすると、マイコンが誤ってその１つの処理ステップを実行してしまった場合、すぐにマイコンがリセットされてしまい好ましくない。
【００３８】
これに対し、請求項１３の電子制御装置では、複数の処理ステップを踏まないとマイコンの出力ポートからリセット信号出力回路に信号が出力されないため、マイコンが誤ってリセットされてしまう確率を抑えることができる。
【００３９】
次に、請求項１１〜１３の電子制御装置では、請求項１４のように構成すると良い。
請求項１４の電子制御装置では、マイコンは、リセット端子にリセット信号が入力されて自身がリセットされると、出力ポートの信号の出力状態をハイインピーダンスにするようになっている。
【００４０】
この構成を利用することで、リセット信号出力回路のスイッチを自動的にオフにすることができるため、リセット信号出力回路を容易に構成することができる。
ところで、請求項７〜１０では、何らかの原因により、退避完了パルスが出力されない場合が考えられる。また、請求項１１〜１４では、何らかの原因により、マイコンが自身をリセットできないことも考えられる。
【００４１】
そこで、請求項１５の電子制御装置は、請求項７〜１４の電子制御装置において、監視ＩＣは、マイコンに異常通知信号を出力してから予め定められた時間が経過した際、そのマイコンが異常であるか否かを再判定し、異常であると判定すると、リセット信号をリセット端子に出力するようになっている。そして、その予め定められた時間は、マイコンが退避処理を完了するのに必要な時間よりも大きい時間である。
【００４２】
この請求項１５の電子制御装置によれば、退避完了パルスが出力されなかったり、マイコンが自身をリセットできなかったりしたような場合でも、監視ＩＣが異常通知信号を出力してから予め定められた時間が経過すれば、マイコンはリセットされる。つまり、確実にマイコンがリセットされるようになる。また、その予め定められた時間は、マイコンが退避処理を完了するのに必要な時間よりも大きいため、マイコンにおいて退避処理が完了した後、そのマイコンがリセットされるようにすることができる。
【００４３】
次に、請求項１６の電子制御装置は、請求項１〜１５の電子制御装置において、所定のメモリは、常時給電されるバックアップＲＡＭであることを特徴としている。
これによれば、給電を故意に停止しない限り、異常の解析に必要な情報が保持されるため安心である。
【００４４】
次に、請求項１７の電子制御装置は、請求項１〜１５の電子制御装置において、所定のメモリは、不揮発性のメモリであることを特徴としている。
これによれば、給電が停止しても、異常の解析に必要な情報が保持されるため、より安心である。
【００４５】
次に、請求項１８の電子制御装置は、請求項１〜１７の電子制御装置において、所定のメモリは、マイコンの外部に設けられていることを特徴としている。
異常の解析に必要な情報を記憶させるためのメモリをマイコンの外部に設けることで、情報保持の安定性を高めることができる。
【００４６】
次に、請求項１９の電子制御装置は、請求項１〜１８の電子制御装置において、異常の解析に必要な情報は、マイコンが備えるＲＯＭ及びＲＡＭの両方又は一方の情報であることを特徴としている。
【００４７】
これによれば、マイコンのＣＰＵが実行するプログラムの異常や、ＣＰＵの演算結果の異常等を解析することができる。
次に、請求項２０の電子制御装置は、請求項１〜１９の電子制御装置において、異常の解析に必要な情報は、マイコンが備えるレジスタに格納された情報であることを特徴としている。
【００４８】
より具体的に、例えば、エラーフラグの情報等が考えられる。これによれば、異常が生じた機能や箇所を特定し易くなる。
次に、請求項２１の電子制御装置は、請求項１〜２０の電子制御装置において、異常の解析に必要な情報は、マイコンのスタック領域及びスタックポインタレジスタの情報であることを特徴としている。
【００４９】
これによれば、プログラムの実行対象アドレスの変化の状況が分かるようになり、例えばどのルーチンで異常が生じたか、ということが特定し易くなる。
次に、請求項２２の電子制御装置は、請求項１〜２１の電子制御装置において、当該電子制御装置は車両の各部を制御する電子制御装置であり、異常の解析に必要な情報は、車両の状態を表す情報であることを特徴としている。
【００５０】
これによれば、異常が発生した際の車両の状況が分かるようになるため、異常の原因を推測或いは特定し易くなる。また、その記憶した車両の状況を元に、異常発生時の車両の状況を再現することができるようになり、デバッグがし易くなる。
【発明を実施するための最良の形態】
【００５１】
以下に、本発明の実施形態を図面に基づき説明する。
［第１実施形態］
図１は、本発明が適用された第１実施形態の車両用の電子制御装置（以下、ＥＣＵと記載する）１の構成図である。
【００５２】
図１に示すように、ＥＣＵ１は、制御対象を制御するための処理を行うマイコン２０と、そのマイコン２０の動作を監視する監視ＩＣ１０とを備えている。
監視ＩＣ１０は、監視制御回路１２と、ウォッチドッグタイマ１４と、通信回路１６と、出力ポート１８とを備えている。
【００５３】
監視制御回路１２は、当該監視ＩＣ１０の動作全般を制御する。
ウォッチドッグタイマ１４は、マイコン２０の動作を監視するためのものである。具体的に、ウォッチドッグタイマ１４をクリアするためのウォッチドッグタイマクリアパルス（以下、ＷＤＣパルスと記載する）が、マイコン２０からウォッチドッグタイマ１４に一定時間以内毎に入力されるようになっている。
【００５４】
そして、ウォッチドッグタイマ１４が一定時間以上クリアされない場合、つまり、マイコン２０からＷＤＣパルスが出力されない状態が一定時間以上続くと、マイコン２０の異常と判断され、ウォッチドッグタイマ１４は、フェールセーフ信号（以下、ＦＳＩＮＩＴと記載する）をマイコン２０に出力する。尚、ＦＳＩＮＩＴは、マイコン２０のＮＭＩ（マスク不可割り込み）端子３２に入力される。また、以下、ＦＳＩＮＩＴを出力するとは、アクティブレベルとしてのローレベルの信号を出力することを言うものとし、ＦＳＩＮＩＴの出力を停止するとは、アクティブレベルの信号を非アクティブレベル（ハイレベル）にすることを言うものとする。
【００５５】
通信回路１６は、マイコン２０と通信を行うための回路である。
出力ポート１８は、マイコン２０をリセットするための初期化信号（以下、ＩＮＩＴと記載する）を、そのマイコン２０に出力するためのポートである。尚、ＩＮＩＴは、マイコン２０のＲＥＳＥＴ端子４０に入力される。また、以下、ＩＮＩＴを出力するとは、アクティブレベルとしてのローレベルの信号を１パルス分だけ出力することを言うものとする。
【００５６】
マイコン２０は、車両のエンジンへの燃料噴射制御を行う噴射制御回路２２と、点火制御を行う点火制御回路２４と、電子スロットルを制御するスロットル制御回路２６と、それらの制御回路を監視する監視制御回路２８と、割込制御回路３０と、監視ＩＣ１０と通信を行うための通信回路３６と、システム制御回路３８と、当該マイコン２０の機能を司るＣＰＵ４２と、常時給電されるバックアップＲＡＭ４４と、ＣＰＵ４２が実行するプログラムを記憶するＲＯＭ４６と、ＣＰＵ４２の演算結果等を記憶するＲＡＭ４８と、信号の入出力を行うＩ／Ｏポート５０と、入力されるアナログ信号をデジタル信号に変換するＡＤＣ５２と、前述のＷＤＣパルスを出力するための出力ポート５４とを備えている。
【００５７】
割込制御回路３０は、ＮＭＩ端子３２と、ＩＮＴ端子３４とを備えている。この割込制御回路３０は、ＮＭＩ端子３２にアクティブレベルの信号が入力されると、マスク不可能な割り込み（以下、マスク不可割込と記載する）を発生させる。マスク不可割込は、言い換えれば、禁止することができない割り込みである。
【００５８】
本実施形態では、マスク不可割込が発生すると、ＣＰＵ４２が実行するプログラムの実行対象アドレスが、退避処理プログラムの先頭アドレスにとぶようになっている。退避処理とは、マイコン２０の状態を表す情報を、バックアップＲＡＭ４４に退避させる処理である。また、マイコン２０の状態を表す情報とは、ＲＯＭ４６やＲＡＭ４８の情報、或いは図示しないレジスタ、スタック領域、スタックポインタレジスタの情報である。
【００５９】
また、割込制御回路３０は、ＩＮＴ端子３４にアクティブレベルの信号が入力されると、マスク可能（禁止可能）な通常の割り込みを発生させる。
次に、システム制御回路３８は、ＲＥＳＥＴ端子４０を備えている。
【００６０】
このＲＥＳＥＴ端子４０にアクティブレベルの信号が入力されると、マイコン２０がリセットされる。具体的に、プログラムの実行対象アドレスが、ＣＰＵ４２がイニシャルスタート時に実行するイニシャルプログラムの先頭アドレスにとぶようになっている。
【００６１】
次に、監視ＩＣ１０、マイコン２０において実行される処理について説明する。
まず、図２は、マイコン２０が実行する処理を表すフローチャートである。この図２の処理は、定期的に実行される。
【００６２】
この処理では、まず、Ｓ１１０で、ＷＤＣパルスを出力する。
次に、Ｓ１２０に進み、ＮＭＩ端子３２にＦＳＩＮＩＴが入力されたか否かを判定し、入力されたと判定すると（Ｓ１２０：ＹＥＳ）、Ｓ１３０に移行し、退避処理を実行する。尚、この際、マスク不可割込が発生している。退避処理については、前述した通りである。
【００６３】
次に、Ｓ１４０に進み、退避処理が完了したか否かを判定し、完了したと判定すると（Ｓ１４０：ＹＥＳ）、Ｓ１５０に移行する。
Ｓ１５０では、ＲＥＳＥＴ端子４０にＩＮＩＴが入力されたか否かを判定し、入力されていないと判定すると（Ｓ１５０：ＮＯ）、再びＳ１５０の処理を繰り返す。一方、Ｓ１５０でＲＥＳＥＴ端子４０にＩＮＩＴが入力されたと判定すると（Ｓ１５０：ＹＥＳ）、Ｓ１８０に移行し、マイコン２０をリセットする。そしてその後、当該処理を終了する。
【００６４】
またここで、Ｓ１２０でＮＭＩ端子３２にＦＳＩＮＩＴが入力されていないと判定すると（Ｓ１２０：ＮＯ）、Ｓ１７０に移行し、ＲＥＳＥＴ端子４０にＩＮＩＴが入力されたか否かを判定する。
【００６５】
Ｓ１７０で、ＩＮＩＴが入力されていないと判定すると（Ｓ１７０：ＮＯ）、Ｓ１２０に戻り、一方、ＩＮＩＴが入力されたと判定すると（Ｓ１７０：ＹＥＳ）、Ｓ１８０に移行する。
【００６６】
また、Ｓ１４０で退避処理が完了していないと判定すると（Ｓ１４０：ＮＯ）、Ｓ１６０に移行し、ＲＥＳＥＴ端子４０にＩＮＩＴが入力されたか否かを判定する。
Ｓ１６０で、ＩＮＩＴが入力されていないと判定すると（Ｓ１６０：ＮＯ）、Ｓ１３０に戻り、一方、Ｓ１６０でＩＮＩＴが入力されたと判定すると（Ｓ１６０：ＹＥＳ）、Ｓ１８０に移行する。
【００６７】
次に、図３は、監視ＩＣ１０において実行される処理を表すフローチャートである。この図３の処理は、定期的に実行される。
監視ＩＣ１０は、まず、Ｓ２１０で、ＷＤＣパルスが停止したか否か（言い換えると、ＷＤＣパルスを検出できたか否か）を判定し、停止していないと判定すると（Ｓ２１０：ＮＯ）、再びＳ２１０に戻る。一方、Ｓ２１０で、ＷＤＣパルスが停止したと判定すると（Ｓ２１０：ＹＥＳ）、マイコン２０の異常と判断してＳ２２０に移行し、ＦＳＩＮＩＴを出力する。
【００６８】
続いて、Ｓ２３０に進み、ループ処理に入る。具体的に、Ｓ２４０で、図示しないタイマによりカウントを開始する共に、Ｓ２５０で、そのタイマのカウント値が予め定めた所定値より大きいか否かを判定する。そして、タイマのカウント値が所定値以下の場合、再びＳ２４０に戻る。一方、タイマのカウント値が所定値より大きい場合、ループ処理を抜けて、Ｓ２６０に進む。
【００６９】
Ｓ２６０では、ＩＮＩＴを出力する。
次に、Ｓ２７０に進み、ＦＳＩＮＩＴの出力を停止する。そしてその後、当該処理を終了する。
【００７０】
次に、図４は、本実施形態の作用を表すタイムチャートである。
図４において、１段目はＷＤＣパルスを表し、２段目はＦＳＩＮＩＴを表し、３段目はＮＭＩ処理（退避処理）の実行態様を模式的に表し、４段目はＩＮＩＴを表している。
【００７１】
マイコン２０が通常動作（正常動作）している場合、ＷＤＣパルスが定期的に出力される（図４の（１）、Ｓ１１０、Ｓ２１０：ＮＯ）。
そして、マイコン２０に何らかの異常が生じ、ＷＤＣパルスが出力されなくなると（図４の（２））、監視ＩＣ１０のウォッチドッグタイマ１４によりその旨が検出され（Ｓ２１０：ＹＥＳ）、監視ＩＣ１０はＦＳＩＮＩＴを出力する（Ｓ２２０）。マイコン２０では、ＦＳＩＮＩＴが入力されると（Ｓ１２０：ＹＥＳ）、マスク不可割込が発生し、退避処理が実行される（Ｓ１３０）。
【００７２】
さらに、監視ＩＣ１０は、ＦＳＩＮＩＴを出力してから所定時間経過すると、Ｓ２３０〜Ｓ２５０のループ処理を抜け、ＩＮＩＴを出力する（図４の（３）、Ｓ２６０）。尚、この所定時間は、マイコン２０が退避処理を完了するのに必要な時間よりも大きくなっている。
【００７３】
マイコン２０では、ＲＥＳＥＴ端子４０にＩＮＩＴが入力されると、そのマイコン２０がリセットされる（図４の（４）、Ｓ１５０：ＹＥＳ→Ｓ１８０）。これにより、マイコン２０が復帰し、再び、ＷＤＣパルスが定期的に出力されるようになる（図４の（５））。
【００７４】
尚、また、監視ＩＣ１０は、ＩＮＩＴの反転（非アクティブレベルになること）に伴い、ＦＳＩＮＩＴの出力を停止する（Ｓ２７０）。
以上のように、本実施形態においては、監視ＩＣ１０がマイコン２０からのＷＤＣパルスを監視してそのマイコン２０の異常を検出するため、監視ＩＣ１０に異常が生じない限り、マイコン２０の異常の種類にかかわらず、そのマイコン２０の異常がより確実に検出されるようになる。そして、マイコン２０の異常が検出されると、ＦＳＩＮＩＴがマイコン２０のＮＭＩ端子３２に入力されるため、マイコン２０において確実にマスク不可割込が発生する。一方、マイコン２０は、このマスク不可割込で、マイコン２０の状態を表す情報をバックアップＲＡＭ４４に記憶する退避処理を実行（開始）するようになっており、マスク不可割込がより確実に発生することからすれば、退避処理がより確実に実行（開始）されるようになると言える。
【００７５】
さらに、退避処理が完了するのに充分な時間が経過した後、監視ＩＣ１０がマイコン２０をリセットするため、マイコン２０は、そのマイコン２０の状態を表す情報を確実にバックアップＲＡＭ４４に記憶することができる（つまり、確実に退避処理を完了できる）。これによれば、例えば外部の診断装置等を介した異常の解析に際し、異常の解明がし易くなって有利である。
【００７６】
また、監視ＩＣ１０がマイコン２０をリセットすることから、マイコン２０が自身をリセットする場合と比較して、マイコン２０のリセットが確実になされるようになる。
尚、本実施形態において、割込制御回路３０及びＮＭＩ端子３２が割込発生回路に相当し、ＷＤＣ信号（ＷＤＣパルスを含む信号）が正常通知信号に相当している。
［第２実施形態］
次に、第２実施形態について説明する。尚、第１実施形態と異なる点を中心に説明する。
【００７７】
図５は、第２実施形態のＥＣＵ１の構成図である。
まず、第２実施形態のＥＣＵ１では、第１実施形態と比較して、マイコン２０が、出力ポート５６を備えている点が異なっている。また、当該ＥＣＵ１が、プルアップ抵抗Ｒと、トランジスタＴｒとを備えている点が異なっている。プルアップ抵抗Ｒは、一端がＲＥＳＥＴ端子４０に接続され、他端が電源電圧に接続されている。また、トランジスタＴｒは、バイポーラトランジスタであり、コレクタ端子がＲＥＳＥＴ端子４０に接続され、ベース端子がマイコン２０の出力ポート５６に接続され、エミッタ端子がローレベルの電位に接続されている。このような構成のため、トランジスタＴｒがオフの状態では、プルアップ抵抗Ｒが有効となり、ＲＥＳＥＴ端子４０に入力される初期化信号の出力レベルはハイレベル（非アクティブレベル）となる。一方、トランジスタＴｒがオンすると、初期化信号の出力レベルはローレベル（アクティブレベル）になる。
【００７８】
そして、本第２実施形態では、マイコン２０が、マスク不可割込が発生して退避処理を実行した後、後述するような専用手順で、出力ポート５６からハイ信号を出力する点が異なっている。以下、専用手順の例を挙げる。
〈１〉まず、出力ポート５６用のレジスタ（以下、ＰＯＵＴとする）に設定するためのデータを、そのＰＯＵＴとは別の汎用レジスタに用意する。この場合、例えばムーブ命令（ＭＯＶ）を使用する。
〈２〉次に、例えばＰＣＭＤレジスタに、ＰＯＵＴと同じ値を設定する。例えばストア命令（ＳＴ）を使用する。
〈３〉続いて、ＰＯＵＴを設定する。
〈４〉次に、ＮＯＰ命令を挿入する。例えば、５つ挿入する。
〈１〉〜〈４〉のプログラム例は以下の通りである。
ＭＯＶ    ０ｘ０１，ｒ１０
ＳＴ．Ｂ  ｒ１０，ＰＣＭＤ          ：ＰＣＭＤ書込み
ＳＴ．Ｂ  ｒ１０，ＰＯＵＴ          ：ＰＯＵＴ設定
ＮＯＰ                              ：ダミー命令
ＮＯＰ                              ：ダミー命令
ＮＯＰ                              ：ダミー命令
ＮＯＰ                              ：ダミー命令
ＮＯＰ                              ：ダミー命令
（ｎｅｘｔ  ｉｎｓｔｒｕｃｔｉｏｎ）：
このようなプログラムにより定められたシーケンスによってのみ、出力ポート５６用のレジスタ値が書き換えられ、出力ポート５６からハイ信号が出力されるようになる。
【００７９】
次に、本第２実施形態では、監視ＩＣ１０が、図３の処理に代えて図６の処理を実行する点が異なっている。図６の処理は定期的に実行される。尚、図６の処理において、図３の処理と同じステップについては、同じ符号を付している。
【００８０】
図６の処理で、監視ＩＣ１０は、ＦＳＩＮＩＴを出力して（Ｓ２２０）ループ処理に入ると（Ｓ２３０）、Ｓ３１０で、出力ポート５６からハイ信号が出力されたか否かを判定する。尚、監視ＩＣ１０は、通信回路１６を介してマイコン２０と通信を行なってそのマイコン２０の状態を取得することにより、出力ポート５６からハイ信号が出力されたか否かを判定できるようになっている。
【００８１】
Ｓ３１０で、ハイ信号が出力されたと判定すると（Ｓ３１０：ＹＥＳ）、Ｓ３２０に移行し、ＦＳＩＮＩＴの出力を停止する。続いて、Ｓ３３０→Ｓ３４０→Ｓ３５０と進む。
Ｓ３３０では、図示しないタイマによりカウントを開始する共に、続くＳ３４０で、そのタイマのカウント値が予め定めた所定値より大きいか否かを判定する。そして、タイマのカウント値が所定値以下の場合、再びＳ３１０に戻る。一方、タイマのカウント値が所定値より大きい場合、ループ処理を抜けて、Ｓ３５０に進む。
【００８２】
Ｓ３５０では、ＦＳＩＮＩＴを出力しているか否かを判定する。言い換えれば、マイコン２０が未だ異常であるか否かを再判定する。Ｓ３１０：ＹＥＳから進んだＳ３５０では、マイコン２０は既にリセットされており、監視ＩＣ１０はＦＳＩＮＩＴを出力していないため、否定判定し（Ｓ３５０：ＮＯ）、そのまま当該処理を終了する。
【００８３】
一方、Ｓ３１０でハイ信号が出力されていないと判定すると（Ｓ３１０：ＮＯ）、その後、Ｓ３３０→Ｓ３４０→Ｓ３５０と進む。
Ｓ３１０：ＮＯから進んだＳ３５０では、マイコン２０はまだリセットされておらず、監視ＩＣ１０はＦＳＩＮＩＴをまだ出力しているため、肯定判定し（Ｓ３５０：ＹＥＳ）、Ｓ２６０に移行する。
【００８４】
Ｓ２６０では、ＩＮＩＴを出力すると共に、続くＳ２７０で、ＦＳＩＮＩＴの出力を停止する。そしてその後、当該処理を終了する。
次に、図７〜９は、本第２実施形態の作用を表すタイムチャートである。図７は、マイコン２０の出力ポート５６からハイ信号が出力される例であり、一方、図９は、何らかの原因で、マイコン２０の出力ポート５６からハイ信号が出力されない例である。図８は、出力ポート５６の信号とＩＮＩＴとの関係を表す図である。
【００８５】
図７，９において、１〜３段目は図４の１〜３段目と同じであり、４段目は、出力ポート５６から出力される信号を表し、５段目は図４の４段目と同じＩＮＩＴを表す。
まず、図７について説明する。図７で、退避処理が実行されるまでは、図４と同じである。
【００８６】
一方、本第２実施形態では、マイコン２０は、退避処理が完了すると、４段目に示すように、出力ポート５６からハイ信号を出力する。この際、マイコン２０は、上述したような専用手順で、ハイ信号を出力する。
【００８７】
出力ポート５６からハイ信号が出力されると、トランジスタＴｒ（図５参照）がオンし、初期化信号のレベルがローレベルになる（ＩＮＩＴがローレベルになる）。このため、マイコン２０がリセットされる。すると、その後、出力ポート５６からの信号の出力状態がハイインピーダンスになり、これによりトランジスタＴｒがオフし、プルアップ抵抗Ｒが有効となって、初期化信号のレベルがハイレベルになる（ＩＮＩＴがハイレベルになる）。
【００８８】
また、監視ＩＣ１０は、マイコン２０の出力ポート５６からハイ信号が出力されると（Ｓ３１０：ＹＥＳ）、ＦＳＩＮＩＴの出力を停止する（Ｓ３２０）。
ここで、出力ポート５６の信号とＩＮＩＴとの関係について、図８を用いて詳述する。
【００８９】
図８に示すように、出力ポート５６からハイ信号が出力されると、トランジスタＴｒ（図５参照）がオンし、ＲＥＳＥＴ端子４０への初期化信号のレベルがローレベルになる。つまり、ＩＮＩＴがローレベルになる。この際、出力ポート５６からハイ信号が出力されてからＩＮＩＴがローレベルになるまでは、若干の遅延が生じる（遅延時間ｔ１）。
【００９０】
ＩＮＩＴがローレベルになると、リセットが有効になる（リセット有効期間Ｔ）。
そして、マイコン２０がリセットされると、出力ポート５６の出力状態がハイインピーダンスになり、トランジスタＴｒのベース電圧がローレベルになりトランジスタＴｒがオフする。これに伴って、プルアップ抵抗Ｒ（図５参照）が有効となり、ＲＥＳＥＴ端子４０への初期化信号のレベルがハイレベルになる。つまり、ＩＮＩＴがハイレベルになり、リセットが解除される。尚、出力ポート５６の出力状態がハイインピーダンスになってからリセットが解除されるまで、若干の遅延が生じる（遅延時間ｔ２）。
【００９１】
次に、図９について説明する。図９において、１段目〜５段目は、図７の１段目〜５段目と同じである。
また、図９において、マイコン２０において退避処理が実行されるまでは、図７と同じである。
【００９２】
そして、監視ＩＣ１０は、マイコン２０において退避処理が実行された後、そのマイコン２０の出力ポート５６からハイ信号が出力されないと（図９の（３）、Ｓ３１０：ＮＯ）、タイマのカウント値が所定値を超えた（Ｓ３４０）タイミングで、ＦＳＩＮＩＴを出力しているか否かを判定する（Ｓ３５０）。
【００９３】
この場合、監視ＩＣ１０は、ＦＳＩＮＩＴを出力したままであるため（Ｓ３５０：ＹＥＳ）、ＩＮＩＴを出力する（図９の（４）、Ｓ２６０）。これにより、マイコン２０がリセットされる。また、監視ＩＣ１０は、ＩＮＩＴを出力すると、ＦＳＩＮＩＴの出力を停止する（Ｓ２７０）。
【００９４】
以上のように、本第２実施形態のＥＣＵ１では、マイコン２０が、退避処理が完了したタイミングで自らをリセットするようにしているため、マイコン２０が速やかにリセットされるようになる。つまり、マイコン２０の異常が検出されてからそのマイコン２０が復帰するまでの時間をより短くすることができる。
【００９５】
また、監視ＩＣ１０からマイコン２０にＦＳＩＮＩＴが出力されてから所定時間経過後に、監視ＩＣ１０がマイコン２０をリセットするため、マイコン２０が何らかの原因で自身をリセットできない場合でも、そのマイコン２０は確実にリセットされるようになる。このため、マイコン２０が暴走し続けることを防止することができる。
【００９６】
また、本第２実施形態では、マイコン２０は、上述したような専用手順を踏むことで、出力ポート５６からハイ信号を出力するため、例えば外乱等の影響で出力ポート５６用のレジスタに誤った値を書き込み、これによりマイコン２０が誤ってリセットされてしまうことを防止することができる。
【００９７】
尚、本第２実施形態において、プルアップ抵抗Ｒ及びトランジスタＴｒからなる回路がリセット信号出力回路に相当し、トランジスタＴｒがスイッチに相当し、Ｓ３１０の処理が受信判定処理に相当している。
［第３実施形態］
次に、第３実施形態について説明する。本第３実施形態のＥＣＵ１は、第１実施形態のＥＣＵ１と同じ構成を備えている。
【００９８】
一方、第３実施形態のＥＣＵ１は、第１実施形態のＥＣＵ１と比較して、マイコン２０が、図２の処理に代えて、図１０の処理を実行する点が異なっている。また、監視ＩＣ１０が、図３の処理に代えて、図１１の処理を実行する点が異なっている。尚、図１０において、図２と同じステップについては同じ符号を付している。また、図１１において、図３，６と同じステップについては同じ符号を付している。
【００９９】
具体的に、図１０の処理は、図２の処理と比較して、Ｓ４１０の処理をさらに実行する点が異なっている。
つまり、図１０の処理では、Ｓ１４０で退避処理が完了したと判定すると（Ｓ１４０：ＹＥＳ）、Ｓ４１０に移行し、退避処理が完了したことを表す退避完了パルスを監視ＩＣ１０に出力する。
【０１００】
ここで、マイコン２０は、ＷＤＣパルスを出力する出力ポート５４から、退避完了パルスを出力する。そして、監視ＩＣ１０において、マイコン２０から受信したパルスが退避完了パルスであるか或いはＷＤＣパルスであるかを判断するようになっている。
【０１０１】
具体的に、監視ＩＣ１０は、ＦＳＩＮＩＴを出力している間にマイコン２０から受信したパルスを退避完了パルスと判断し、ＦＳＩＮＩＴを出力していない間にマイコン２０から受信したパルスをＷＤＣパルスと判断する。
【０１０２】
例えばＳ４１０では、マイコン２０はまだリセットされていない（ＩＮＩＴを受信していない）。そうすると、監視ＩＣ１０からＦＳＩＮＩＴは出力されている。このため、Ｓ４１０で監視ＩＣ１０に出力したパルスは、監視ＩＣ１０において退避完了パルスと認識される。
【０１０３】
次に、図１１の処理を、図６の処理と比較すると、図１１では、Ｓ３１０の処理を実行しない点と、Ｓ５１０及びＳ５２０の処理を実行する点とが異なっている。
つまり、図１１の処理では、ＦＳＩＮＩＴを出力して（Ｓ２２０）ループ処理に入ると（Ｓ２３０）、Ｓ５１０で、退避完了パルスを受信したか否かを判定する。
【０１０４】
Ｓ５１０で退避完了パルスを受信したと判定すると（Ｓ５１０：ＹＥＳ）、退避処理が完了したと判断してＳ５２０に移行し、ＩＮＩＴを出力する。そしてその後、Ｓ３２０に移行する。Ｓ３２０〜Ｓ３５０、Ｓ２６０及びＳ２７０の処理は、図６の処理と同様である。
【０１０５】
一方、Ｓ５１０で退避完了パルスを受信していないと判定すると（Ｓ５１０：ＮＯ）、Ｓ３３０に移行する。
次に、図１２，１３は、本第３実施形態の作用を表すタイムチャートである。図１２は、マイコン２０から退避完了パルスが出力された例であり、図１３は、何らかの原因でマイコン２０から退避完了信パルスが出力されない例である。
【０１０６】
図１２，図１３において、１段目〜４段目は、図１の１段目〜４段目と同じである。
図１２に示すように、マイコン２０は、退避処理が完了すると（Ｓ１４０：ＹＥＳ）、退避完了パルスを出力する（Ｓ４１０）。
【０１０７】
監視ＩＣ１０は、マイコン２０からの退避完了信パルスを受信すると（Ｓ５１０：ＹＥＳ）、マイコン２０にＩＮＩＴを出力する（Ｓ５２０）。その後は、図７と同じである。
次に、図１３について説明する。
【０１０８】
図１３において、退避処理が完了した後、何らかの原因で退避完了パルスが出力されないと（図１３の（３）、Ｓ５１０：ＮＯ）、タイマのカウント値が所定値を超えた（Ｓ３４０）タイミングで、ＦＳＩＮＩＴを出力しているか否かを判定する（Ｓ３５０）。
【０１０９】
この場合、監視ＩＣ１０は、ＦＳＩＮＩＴを出力したままであるため（Ｓ３５０：ＹＥＳ）、ＩＮＩＴを出力する（図１３の（４）、Ｓ２６０）。これにより、マイコン２０がリセットされる。また、監視ＩＣ１０は、ＩＮＩＴを出力すると、ＦＳＩＮＩＴの出力を停止する（Ｓ２７０）。
【０１１０】
つまり、マイコン２０から退避完了パルスが出力されない場合でも、ＦＳＩＮＩＴが出力されてから所定時間が経過すれば、マイコン２０がリセットされるようになる。
以上のように、本第３実施形態では、マイコン２０は、退避処理が完了したタイミングで退避完了パルスを監視ＩＣ１０に出力し、監視ＩＣ１０は、退避完了パルスを受信するとマイコン１０をリセットするため、マイコン１０が速やかかつ確実にリセットされるようになる。また、マイコン２０から、なんらかの原因で退避完了パルスが出力されない場合でも、監視ＩＣ１０は、ＦＳＩＮＩＴを出力してから所定時間経過後にマイコン２０をリセットするため、マイコン２０が暴走し続けてしまうことを防止することができる。
【０１１１】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術範囲内において種々の形態をとることができる。
例えば、上記実施形態において、ＷＤＣパルスの出力に際し、マイコン２０が備える汎用ポート及びその汎用ポート用のレジスタを用い、そのレジスタに値を設定することで汎用ポートからＷＤＣパルスが出力されるような構成でも良いし、通信回路を利用してＷＤＣパルスが出力されるように構成しても良い。
【０１１２】
また上記実施形態において、監視ＩＣ１０は、ＷＤＣパルスの周期を算出し、その周期が所定の周期と一致しない場合マイコン２０が異常であると判断しても良いし、ＷＤＣパルス（或いはそのＷＤＣパルスを含む信号）が所定期間反転しない場合、マイコン２０が異常であると判断しても良い。この場合、その判断に用いる所定周期の値や所定期間の値は、ＥＣＵ１が書き換え自在に記憶しておくように構成すると良い。
【０１１３】
また、上記実施形態において、監視ＩＣ１０に代えて、マイコン２０の動作を監視するサブマイコンを設けても良い。
また、上記実施形態において、バックアップＲＡＭ４４は、マイコン２０の外部に設けられていても良い。
【０１１４】
また、上記実施形態において、マイコン２０の状態を表す情報を、図示しない不揮発性のメモリに記憶させるようにしても良い。そして、この不揮発性のメモリは、マイコン内部に設けられていても良いし、マイコン外部に設けられていても良い。
【０１１５】
また、上記実施形態において、車両のエンジン回転数や車速など、その車両の状態を表す情報をバックアップＲＡＭ４４に退避させるようにしても良い。
また、上記第２実施形態において、第３実施形態を適用しても良い。つまり、マイコン２０は、退避処理が完了すると自らをリセットすると共に、退避完了パルスを監視ＩＣ１０に出力するようにしても良い。これによれば、マイコン２０は、自身によるリセット及び監視ＩＣ１０からのリセットの少なくとも何れかによりリセットされることを期待でき、マイコン２０が暴走し続けることをより確実に防止できる。
【図面の簡単な説明】
【０１１６】
【図１】第１実施形態のＥＣＵ１の構成図である。
【図２】第１実施形態のマイコン２０のＣＰＵ４２が実行する処理のフローチャートである。
【図３】第１実施形態の監視ＩＣ１０が実行する処理のフローチャートである。
【図４】第１実施形態の作用を表すタイムチャートである。
【図５】第２実施形態のＥＣＵ１の構成図である。
【図６】第２実施形態の監視ＩＣ１０が実行する処理のフローチャートである。
【図７】第２実施形態の作用を表すタイムチャートである（その１）。
【図８】ポート出力とＩＮＩＴの関係を表す詳細図である。
【図９】第２実施形態の作用を表すタイムチャートである（その２）。
【図１０】第３実施形態のマイコン２０のＣＰＵ４２が実行する処理のフローチャートである。
【図１１】第３実施形態の監視ＩＣ１０が実行する処理のフローチャートである。
【図１２】第３実施形態の作用を表すタイムチャートである（その１）。
【図１３】第３実施形態の作用を表すタイムチャートである（その２）。
【符号の説明】
【０１１７】
１…ＥＣＵ、１０…監視ＩＣ、１２…監視制御回路、１４…ウォッチドッグタイマ、１６…通信回路、１８…出力ポート、２０…マイコン、２２…噴射制御回路、２４…点火制御回路、２６…スロットル制御回路、２８…監視制御回路、３０…割込制御回路、３２…ＮＭＩ端子、３４…ＩＮＴ端子、３６…通信回路、３８…システム制御回路、４０…ＲＥＳＥＴ端子、４２…ＣＰＵ、４４…バックアップＲＡＭ、４６…ＲＯＭ、４８…ＲＡＭ、５０…Ｉ／Ｏポート、５４，５６…出力ポート。
【図１】
2008293420.tif 000003
【図２】
2008293420.tif 000004
【図３】
2008293420.tif 000005
【図４】
2008293420.tif 000006
【図５】
2008293420.tif 000007
【図６】
2008293420.tif 000008
【図７】
2008293420.tif 000009
【図８】
2008293420.tif 000010
【図９】
2008293420.tif 000011
【図１０】
2008293420.tif 000012
【図１１】
2008293420.tif 000013
【図１２】
2008293420.tif 000014
【図１３】
2008293420.tif 000015