(57)【特許請求の範囲】
【請求項１】
所定の制御対象を電子制御するためのマイクロコンピュータ（１０）を有する電子制御装置であって、
前記マイクロコンピュータの動作異常を検出する検出手段（２１）と、
前記検出手段によって前記マイクロコンピュータの動作異常が検出されたときに、前記マイクロコンピュータをリセットするためのリセット信号を所定時間出力する第１のリセット手段（２２）と、
前記第１のリセット手段によって出力された前記リセット信号により前記マイクロコンピュータの動作が正常状態に復帰すると、前記マイクロコンピュータによる前記制御対象に対する制御として、リセット前に比較してより安全側に前記制御対象を制御するフェールセーフ制御を実行するフェールセーフ制御手段（１１）と、
前記フェールセーフ制御手段によってフェールセーフ制御が開始された後に、前記マイクロコンピュータの動作が異常となったことが前記検出手段により検出されると、その動作異常の検出結果に基づき、前記マイクロコンピュータの動作異常発生回数をカウントするカウント手段（２４）と、
前記カウント手段によるカウント回数が所定の回数に達すると、前記マイクロコンピュータをリセットするためのリセット信号を出力するとともに、そのリセット信号の出力を保持する第２のリセット手段（２５）と、
前記フェールセーフ制御手段が前記フェールセーフ制御を開始する以前は、前記第２のリセット手段は無効化されており、前記フェールセーフ制御の開始に伴って、前記第２のリセット手段を有効化し、当該第２のリセット手段から前記マイクロコンピュータへの前記リセット信号の出力を可能とする有効化手段（Ｓ１８０）と、を備えることを特徴とする電子制御装置。
【請求項２】
前記検出手段は、前記第１のリセット手段により前記リセット信号が出力されても前記マイクロコンピュータが正常状態に復帰しない場合、継続的に、前記マイクロコンピュータの動作異常を検出し、それにより、前記マイクロコンピュータが正常状態に復帰するまで、前記第１のリセット手段が、所定時間のリセット信号出力を繰り返すことを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記フェールセーフ制御手段は、前記マイクロコンピュータの異常状態の発生と正常状態への復帰とが所定回数繰り返された場合に、前記フェールセーフ制御を実行することを特徴とする請求項１又は２に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の制御対象を電子制御するためのマイクロコンピュータを有する電子制御装置に関する。
【背景技術】
【０００２】
例えば特許文献１には、マイコンの突発的な動作異常だけでなく、反復性の動作異常を監視することが可能なマイコンの異常監視装置が開示されている。この異常監視装置は、マイコンからのウオッチドッグ（ＷＤ）信号によりマイコンの異常を監視するとともに、マイコンの動作異常の発生回数をカウントする。その動作異常の発生回数が基準回数よりも少ない間は、異常監視装置は、パルス状のリセット信号を生成し、マイコンの正常復帰を試みる。一方、動作異常の発生回数が基準回数を超えた場合には、異常監視装置はリセット保持信号を生成し、マイコンによる制御を停止させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２６５３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えばマイコンの制御対象が車両のエンジンである場合、マイコンに基準回数を超える回数の動作異常が生じたときに、即座にマイコンによる制御を停止してしまうと、エンジンが停止して、車両は走行不能な状態となってしまう。また、マイコンの動作が異常となってマイコンにリセット信号を出力したが、１回のリセット信号の出力ではマイコンの動作が正常状態に復帰しない場合、異常監視装置は、継続的に、マイコンの動作異常を検出することになる。このため、マイコンは正常状態に復帰することなく、マイコンの制御が停止してしまう可能性もある。その結果、車両が置かれた状況によっては、却って好ましくない状況を招く虞がある。このように、従来の異常監視装置におけるリセット信号の保持は、制御対象の種類によっては、マイコンの動作異常に対する対策処理として、必ずしも十分なものとはいえなかった。
【０００５】
本発明は、上述した点に鑑みてなされたものであり、マイクロコンピュータの動作に異常が生じた場合に、安全性に配慮しつつ、極力、マイクロコンピュータによる電子制御を継続させることが可能な電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明による電子制御装置は、所定の制御対象を電子制御するためのマイクロコンピュータ（１０）を有し、
マイクロコンピュータの動作異常を検出する検出手段（２１）と、
検出手段によってマイクロコンピュータの動作異常が検出されたときに、マイクロコンピュータをリセットするためのリセット信号を所定時間出力する第１のリセット手段（２２）と、
第１のリセット手段によって出力されたリセット信号によりマイクロコンピュータの動作が正常状態に復帰すると、マイクロコンピュータによる制御対象に対する制御として、リセット前に比較してより安全側に制御対象を制御するフェールセーフ制御を実行するフェールセーフ制御手段（１１）と、
フェールセーフ制御手段によってフェールセーフ制御が開始された後に、マイクロコンピュータの動作が異常となったことが検出手段により検出されると、その動作異常の検出結果に基づき、マイクロコンピュータの動作異常発生回数をカウントするカウント手段（２４）と、
カウント手段によるカウント回数が所定の回数に達すると、マイクロコンピュータをリセットするためのリセット信号を出力するとともに、そのリセット信号の出力を保持する第２のリセット手段（２５）と、
フェールセーフ制御手段がフェールセーフ制御を開始する以前は、第２のリセット手段は無効化されており、フェールセーフ制御の開始に伴って、第２のリセット手段を有効化し、当該第２のリセット手段からマイクロコンピュータへのリセット信号の出力を可能とする有効化手段（Ｓ１８０）と、を備えることを特徴とする。
【０００７】
このように本発明の電子制御装置によれば、マイクロコンピュータに動作異常が発生した場合に、リセット信号によってマイクロコンピュータの動作が正常状態に復帰すると、マイクロコンピュータによる制御として、動作異常発生前に比較してより安全側に制御対象を制御するフェールセーフ制御が実行される。例えば、車両のエンジンを制御対象とする場合、フェールセーフ制御として、車両がいわゆる退避走行を行いうる程度の駆動力をエンジンに発生させる制御が行われる。このフェールセーフ制御は、通常の制御に比較して簡易な制御となるため、通常の制御では異常が発生する場合でも、フェールセーフ制御では異常が発生しない場合も起こりえる。従って、安全性に配慮しつつ、極力、マイクロコンピュータによる制御を継続させる可能性を高めることができる。
【０００８】
また、本発明による電子制御装置では、通常の制御に代えてフェールセーフ制御を開始しても、なお、マイクロコンピュータの動作が異常となる場合に、カウント手段が、マイクロコンピュータの動作が異常となった回数をカウントする。このカウント手段によるカウント回数が所定回数に達すると、リセット信号の出力を保持して、マイクロコンピュータによる制御を停止させる。換言すれば、マイクロコンピュータが通常の制御を行っているときに、動作異常が生じても、その動作異常の回数は、リセット信号の出力を保持するか否かを判断するときに考慮されない。そのため、例えば、１回のリセット信号の出力では、マイコンの動作が正常状態に復帰せず、動作異常の検出が繰り返された場合でも、そのことによってリセット信号の出力が保持され、マイクロコンピュータが制御を停止することはない。従って、このような観点からも、本発明によれば、安全性に配慮しつつ、マイクロコンピュータによる制御を継続させる可能性を高めることができる。
【０００９】
上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【００１０】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００１１】
【図１】実施形態による電子制御装置の全体構成の概要を示す構成図である。
【図２】電子制御装置において実行される処理を示すフローチャートである。
【図３】マイクロコンピュータに動作異常が発生したときの、電子制御装置の各部の動作を示したタイムチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態による電子制御装置に関して、図面を参照しつつ説明する。なお、以下に説明する実施形態においては、電子制御装置におけるマイクロコンピュータ（以下、マイコン）が車両のエンジンを制御対象とした例について説明するが、マイコンの制御対象は、車両のエンジンのみに限られる訳ではなく、その他の機器を制御対象としても良い。
【００１３】
図１に示す電子制御装置はマイコン１０を有し、当該マイコン１０は、車両に搭載されたエンジン（図示せず）を制御する。例えば、マイコン１０は、内燃機関に備えられた燃料噴射弁や、点火装置、スロットルバルブ等のアクチュエータを、各種センサの検出値に基づき制御する。このマイコン１０は、よく知られているようにＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。ＲＯＭにはエンジン制御プログラムが記憶され、ＣＰＵが、そのエンジン制御プログラムにしたがって演算処理を行うことにより、上記の各種アクチュエータに対する制御指令値を算出する。そして、算出した制御指令値に従って各種のアクチュエータが作動されることにより、エンジン出力および排気エミッションが所望の状態となるよう、エンジンの運転状態が制御される。なお、ＣＰＵは、上述したエンジン制御プログラムを所定周期で繰り返し実行する。
【００１４】
ＲＯＭに記憶されたエンジン制御プログラムには、原則として運転者によるアクセルペダルの踏み込み量に応じたエンジン出力を発生させるように制御する、通常制御のための制御プログラムと、異常時に車両がいわゆる退避走行を行うことが可能なエンジン出力を発生させるように制御する、フェールセーフ制御のための制御プログラムとが含まれている。このように、フェールセーフ制御のための制御プログラムは、通常の制御に比較して、エンジン出力を抑えることで、エンジンを安全側に制御する。さらに、制御内容自体も、フェールセーフ制御のための制御プログラムは、通常制御のための制御プログラムに比較して簡易なものとなっている。なお、図１には、マイコン１０が、フェールセーフ制御のための制御プログラムを実行した場合に、マイコン１０が果たす機能を、フェールセーフ制御実行部１１として示している。このフェールセーフ制御実行部１１が、フェールセーフ制御手段に相当する。
【００１５】
マイコン１０は、エンジン制御プログラムを正常に実行している限り、所定の時間間隔ごとに、ウオッチドッグパルス信号を出力する。このウオッチドッグパルス信号は、監視回路２０に与えられる。
【００１６】
監視回路２０は、検出手段としての異常検出部２１を有している。この異常検出部２１は、マイコン１０からウオッチドッグパルス信号が入力されてからの経過時間を計時するタイマを備えている。このタイマは、ウオッチドッグパルス信号が入力されるごとに、計時時間をリセットされる。そのため、タイマの計時時間が、次のウオッチドッグパルス信号が入力されるべき監視時間を超えると、異常検出部２１は、マイコン１０になんらかの異常が生じたものとみなし、異常検出信号を出力する。
【００１７】
さらに、異常検出部２１は、異常検出信号を出力したことに伴い、タイマの計時時間をリセットして、新たな計時を開始させる。そして、タイマの計時時間が監視時間を超えると、マイコン１０が正常に復帰していないとみなし、再度、異常検出信号を出力する。
【００１８】
異常検出部２１からの異常検出信号は、第１のリセット手段としての１ショットリセット出力部２２及び第１カウンタ２３に与えられる。１ショットリセット出力部２２は、異常検出信号に応じて、Ｌｏｗレベルのリセット信号を所定時間だけ出力する。このリセット信号は、ＡＮＤゲート３０を介して、マイコン１０のリセット端子に入力される。これにより、異常となったマイコン１０がリセットされ、マイコン１０の正常復帰が試みられる。ただし、１回のリセット信号では、マイコン１０が正常復帰しなかった場合、上述したように、監視時間が経過するごとに異常検出部２１から異常検出信号が出力されることになる。このため、マイコン１０には、正常復帰するまで、１ショットリセット出力部２２から繰り返しリセット信号が入力されることになる。
【００１９】
第１カウンタ２３は、異常検出部２１から出力された異常検出信号の数をカウントする。ただし、第１カウンタ２３は、異常検出部２１が出力する異常検出信号の数ではなく、１ショットリセット出力部２２が出力するリセット信号の数をカウントしても良い。第１カウンタ２３によってカウントされた異常検出信号の数は、第２カウンタ２４に出力される。
【００２０】
マイコン１０は、動作異常から復帰した起動時に実行する初期設定処理において、第２カウンタ２４に対してカウント処理を行うよう指示する。第２カウンタ２４は、前回、マイコン１０からカウント処理の指示を受けたときの第１カウンタ２３のカウント値を記憶する記憶部と、その記憶部に記憶されたカウント値と、今回の第１カウンタ２３のカウント値とを比較する比較部とを有している。そして、比較部において、今回のカウント値が記憶されているカウント値よりも大きいと判定されたとき、第２カウンタ２４は、カウント値を１だけインクリメントする。この結果、マイコン１０に動作異常が生じ、その動作異常からマイコン１０を正常復帰させるためにいくつのリセット信号が出力されたかに係わらず、第２カウンタ２４は、マイコン１０が動作異常から正常復帰したときに、その動作異常発生回数をカウントすることができる。第２カウンタ２４によってカウントされるマイコン１０の動作異常の発生回数は、マイコン１０及び第２のリセット手段としてのリセット信号保持回路２５の判定部２６に出力される。
【００２１】
マイコン１０は、第２カウンタ２４によってカウントされた動作異常発生回数に基づき、フェールセーフ制御の開始の要否を判定し、必要と判定された場合に、フェールセーフ制御を実行するとともに、フェールセーフ制御を初めて実行する際には、後述するリセット信号保持回路２５及びスイッチ回路２９に対して有効信号を出力する。つまり、マイコン１０の動作異常が発生する以前は、マイコン１０は通常制御を実行し、動作異常が発生した後は、マイコン１０はフェールセーフ制御を実行する。なお、マイコン１０は、１回でも動作異常が発生した場合に、フェールセーフ制御を実行するようにしても良いし、動作異常が規定した複数回（２回以上）発生した場合、すなわち、動作異常と正常復帰とを規定回数繰り返した場合に、フェールセーフ制御の実行を開始するようにしても良い。本実施形態では、１回でも動作異常が発生した場合に、フェールセーフ制御を実行する例について説明する。
【００２２】
また、マイコン１０は、フェールセーフ制御を実行する以前（つまり、通常制御実行中）は、リセット信号保持回路２５及びスイッチ回路２９に対して無効信号を出力する。この無効信号により、リセット信号保持回路２５は動作を停止したままとなり、スイッチ回路２９は、ＡＮＤゲート３０に対して電源２８からＨｉｇｈレベルの非リセット信号を出力する。これにより、リセット信号保持回路２５から、誤ってリセット信号が出力され、そのリセット信号が保持されることを確実に防止することができる。なお、マイコン１０はいずれか一方にのみ無効信号、有効信号を出力するようにしても良い。マイコン１０がリセット信号保持回路２５に対して無効信号を出力する場合、スイッチ回路２９は省略されても良い。逆に、スイッチ回路２９が設けられ、マイコン１０からスイッチ回路２９に無効信号が与えられる場合、マイコン１０は、リセット信号保持回路２５への無効信号の出力を行わなくても良い。
【００２３】
そして、マイコン１０は、フェールセーフ制御の実行開始に伴い、リセット信号保持回路２５及びスイッチ回路２９に対して有効信号を出力する。この有効信号により、リセット信号保持回路２５は動作を開始し、スイッチ回路２９は、後述するリセット保持部２７の出力がＡＮＤゲート３０に入力されるようにスイッチ位置を切り換える。
【００２４】
リセット信号保持回路２５の判定部２６は、第２カウンタ２４によってカウントされる動作異常発生回数が、閾値としての所定の回数に達したか否かを判定する。そして、所定の回数に達したと判定すると、判定部２６は、リセット保持部２７にリセット信号の出力を指示する。この出力指示に応じて、リセット保持部２７は、リセット信号を出力するとともに、その出力を保持する。これにより、マイコン１０は動作を停止し、その結果、エンジンに対するフェールセーフ制御も終了される。
【００２５】
以上のように構成された電子制御装置における処理の流れを、図２のフローチャート及び図３のタイムチャートに基づいて説明する。なお、図２のフローチャートに示す処理は、電子制御装置への電源供給が開始（電源オン）されたときに、スタートする。
【００２６】
まず、ステップＳ１００において、リセット信号保持無効設定を行う。具体的には、リセット信号保持回路２５及びスイッチ回路２９に対して無効信号を出力する。これにより、図３に示すように、リセット信号保持回路２５が無効化され、その動作が停止したままとなる。また、スイッチ回路２９は、ＡＮＤゲート３０に対してＨｉｇｈレベルの非リセット信号を出力する。
【００２７】
続くステップＳ１１０では、マイコン１０が、制御対象であるエンジンに対して通常制御を実行する。本実施形態では、このように、電源オンによってマイコン１０が起動したときには、通常制御を実行するように構成されている。ただし、電源オンによってマイコン１０が起動した場合も、マイコン１０が第２カウンタ２４の動作異常発生回数を確認し、動作異常が発生していなければ通常制御を開始し、動作異常が発生していればフェールセーフ制御を開始するようにしても良い。
【００２８】
通常制御を実行中、マイコン１０が正常であれば、所定の時間間隔ごとに、ウオッチドッグパルス信号が出力される。ステップＳ１２０では、異常検出部２１において、マイコン１０から出力されるウオッチドッグパルス信号に基づいて、マイコン１０が正常に動作しているか否かが判定される。
【００２９】
ステップＳ１２０において、異常検出部２１により、監視時間以内にウオッチドッグパルス信号が入力され、マイコン１０が正常に動作していると判定されると、監視回路２０からリセット信号が出力されないので、ステップＳ１１０の通常制御が継続して実行される。一方、監視時間が経過してもウオッチドッグパルス信号が入力されず、マイコン１０が正常に動作していないと判定されると（動作異常の発生の確定）、ステップＳ１３０の処理に進む。ステップＳ１３０では、監視回路２０の１ショットリセット出力部２２が、１ショットリセット信号を出力し、動作異常を生じているマイコン１０をリセットする。ステップＳ１４０では、第１カウンタ２３がカウントアップされる。
【００３０】
そして、ステップＳ１５０において、異常検出部２１が、ステップＳ１３０で出力されたリセット信号により、マイコン１０が正常復帰したか否かを判定する。具体的には、マイコン１０からウオッチドッグパルス信号が出力されれば、マイコン１０は正常復帰したと判定する。マイコン１０が正常復帰しない場合には、正常復帰するまで、ステップＳ１３０の処理、すなわち１ショットリセット信号の出力を繰り返す。一方、正常復帰した場合には、ステップＳ１６０の処理に進む。
【００３１】
ステップＳ１６０では、初期設定処理の一部として、マイコン１０が第２カウンタ２４に対してカウント処理を行うよう指示する。これにより、第２カウンタ２４において、マイコン１０の動作異常発生回数がカウントされる。そして、ステップＳ１７０において、第２カウンタ２４によってカウントされた動作異常発生回数に基づいて、フェールセーフ制御を開始する条件が成立したか否かを判定する。つまり、動作異常発生回数が、予め定められたフェールセーフ制御を開始すべき回数に一致したか否かを判定する。この判定処理において、フェールセーフ制御の開始条件成立と判定されると、ステップＳ１８０に進み、リセット信号保持有効設定を行う。具体的には、リセット信号保持回路２５及びスイッチ回路２９に対して有効信号を出力する。これにより、図３に示すように、リセット信号保持回路２５は有効となって動作を開始する。また、スイッチ回路２９は、リセット保持部２７の出力がＡＮＤゲート３０に入力されるようにスイッチ位置を切り換える。一方、動作異常発生回数が、フェールセーフ制御を開始すべき回数よりも大きい場合、ステップＳ１８０をスキップして、ステップＳ１９０に進む。
【００３２】
ステップＳ１９０では、初期設定処理後に、マイコン１０がフェールセーフ制御を実行する。具体的には、車両のエンジンを制御対象とする場合、フェールセーフ制御として、車両がいわゆる退避走行を行いうる程度の駆動力をエンジンに発生させる制御が行われる。このフェールセーフ制御は、通常の制御に比較して簡易な制御となるため、通常の制御ではマイコン１０に異常が発生する場合でも、フェールセーフ制御では異常が発生しない場合も起こりえる。従って、安全性に配慮しつつ、極力、マイコン１０による制御を継続させる可能性を高めることができる。
【００３３】
続くステップＳ２００では、異常検出部２１において、マイコン１０から出力されるウオッチドッグパルス信号に基づいて、マイコン１０が正常に動作しているか否かが判定される。ステップＳ２００において、マイコン１０が正常に動作していると判定されると、ステップＳ１８０のフェールセーフ制御が継続して実行される。一方、マイコン１０が正常に動作していないと判定されると、ステップＳ２１０の処理に進む。
【００３４】
ステップＳ２１０では、第２カウンタ２４によってカウントされた動作異常発生回数が所定回数以上であるか否かが判定される。この判定処理において、所定回数未満と判定されるとステップＳ２２０の処理に進み、所定回数以上と判定されるとステップＳ２５０の処理に進む。
【００３５】
ステップＳ２２０では、１ショットリセット出力部２２が、１ショットリセット信号を出力し、動作異常を生じているマイコン１０をリセットする。続くステップＳ２３０では、第１カウンタ２３がカウントアップされる。そして、ステップＳ２４０では、異常検出部２１が、ステップＳ２１０で出力されたリセット信号により、マイコン１０が正常復帰したか否かを判定する。このステップＳ２３０にてマイコン１０が正常復帰したと判定されると、処理はステップＳ１６０に戻る。このように、フェールセーフ制御を開始してから、マイコン１０が動作異常を発生しても、その動作異常回数が所定回数未満であれば、マイコン１０をリセットし、フェールセーフ制御の継続を試みる。
【００３６】
しかしながら、マイコン１０の動作異常の発生が繰り返され、動作異常発生回数が所定回数（例えば、３回）に達すると、マイコン１０は、フェールセーフ制御も正常に実行しえない異常状態にあると考えられる。従って、ステップＳ２５０において、監視回路２０の判定部２６が、リセット保持部２７にリセット信号の出力を指示することで、リセット保持部２７がリセット信号を出力するとともに、その出力を保持する。このリセット信号の保持は、電源がオフされるまで継続される。
【００３７】
図３には、フェールセーフ制御を実行したにも係わらず、マイコン１０が３回動作異常を発生した場合に、判定部２６が所定回数に達したと判定し、リセット信号を保持する例を示している。なお、第２カウンタ２４がカウントする動作異常発生回数には、通常制御実行中に発生した動作異常の回数も含まれているが、その分を上乗せして、閾値を定めることにより、フェールセーフ制御実行中に生じた動作異常発生回数に基づいて、リセット信号の出力を保持するか否かを判断することができる。
【００３８】
以上、本発明の好ましい実施形態について、説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【００３９】
例えば、上述した実施形態では、第２カウンタ２４が、通常制御実行中に発生した動作異常の回数も含めて、マイコン１０の動作以上発生回数をカウントした。しかしながら、この第２カウンタ２４に対して、フェールセーフ制御の開始条件成立によって有効信号を出力してカウント動作を開始させることにより、フェールセーフ制御中の動作異常発生回数のみをカウントさせるようにしても良い。この場合、フェールセーフ制御の開始条件が成立したか否かは、第１カウンタ２３のカウント値に基づいて判定すれば良い。
【符号の説明】
【００４０】
１０  マイコン
１１  フェールセーフ制御実行部
２０  監視回路
２１  異常検出部
２２  １ショットリセット出力部
２３  第１カウンタ
２４  第２カウンタ
２５  リセット保持回路
２９  スイッチ回路
【図１】
0005942975.tif 000002
【図２】
0005942975.tif 000003
【図３】
0005942975.tif 000004