(57)【要約】【課題】生じた異常状態に応じて適切なフェイルセーフ処理を実行する機能安全性の高い電子制御装置を提供する。【解決手段】マイコン１０は、エンジン１００を制御するために演算を行って制御処理を実行するマスターコア２０と、マスターコア２０と同一の演算を行うチェッカーコア３０と、を備える。マスターコア２０は、マスターコア２０の演算結果に異常があると判定された場合に、マイコン１０のリセット処理を行うことなくマイコン１０のハードウェアの異常の有無を判定する状態判定を行い、状態判定の結果に基づいてフェイルセーフ処理を実行する。【選択図】図２
2016089782.tif 000002
【特許請求の範囲】
【請求項１】
車両のエンジン（１００）を制御する電子制御装置（１０）であって、
前記エンジンを制御するために演算を行って制御処理を実行する主プロセッサ（２０）と、
前記主プロセッサと同一の演算を行う副プロセッサ（３０）と、
前記主プロセッサによる演算結果と、前記副プロセッサによる演算結果とを比較する比較器（６０）と、
前記比較器による比較結果に基づいて前記主プロセッサの演算結果の異常の有無を判定する異常判定部（７０）と、を備え、
前記主プロセッサは、前記主プロセッサの演算結果に異常があると判定された場合に、前記電子制御装置のリセット処理を行うことなく前記電子制御装置のハードウェアの異常の有無を判定する状態判定を行い、該状態判定の結果に基づいてフェイルセーフ処理を実行することを特徴とする電子制御装置。
【請求項２】
前記主プロセッサは、前記主プロセッサの演算結果に異常があると判定された場合に第１フェイルセーフ処理を実行するとともに前記状態判定を行い、その後に前記ハードウェアに異常があると判定された場合は第２フェイルセーフ処理を実行する一方、前記ハードウェアに異常が無いと判定された場合は第３フェイルセーフ処理を実行することを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記第１フェイルセーフ処理は、前記主プロセッサの演算結果に異常が無いと判定された場合よりも前記エンジンの出力を抑制するものであることを特徴とする請求項２に記載の電子制御装置。
【請求項４】
前記第２フェイルセーフ処理は、前記第１フェイルセーフ処理よりも前記エンジンの出力を更に抑制するものであることを特徴とする請求項３に記載の電子制御装置。
【請求項５】
前記第３フェイルセーフ処理は、前記第１フェイルセーフ処理よりも前記エンジンの出力の抑制を緩和したものであることを特徴とする請求項３又は４に記載の電子制御装置。
【請求項６】
前記第３フェイルセーフ処理は、前記第１フェイルセーフ処理よりも前記エンジンの回転数の上限値を高く設定するであることを特徴とする請求項５に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両のエンジンを制御する電子制御装置に関する。
【背景技術】
【０００２】
車両のエンジンを制御する電子制御装置において、制御処理を実行しながら、演算結果の妥当性を確認するものが知られている。
【０００３】
例えば、下記特許文献１には、２つのプロセッサを備えることで、このような処理を実行可能とする電子制御装置が記載されている。当該電子制御装置は、２つのプロセッサが同一の演算を行うとともに、その演算結果に基づいて電子制御装置の異常の有無を判定する。詳細には、２つのプロセッサの演算結果を比較し、両者に不一致が生じた場合に異常が発生したと判定するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載の電子制御装置では、エンジンの制御処理と、プロセッサの異常有無の判定とを同時に実行することで、異常を迅速に検出することができるという利点がある。しかしながら、当該電子制御装置は、その異常状態から正常状態への復帰方法に関し、改善の余地を残していた。
【０００６】
すなわち、当該電子制御装置では、正常状態への復帰のために、電子制御装置をリセットするためのリセット処理を行っている。その後、検出した異常が、一時的なものであるか、又は、継続的なものであるかを診断している。
【０００７】
このようなリセット処理を行うと、電子制御装置によるエンジンの制御処理が停止するとともに、それまでの制御処理で用いられていた制御値がクリアされることになる。このため、電子制御装置が制御処理を再開した際に、再開前の制御値が引き継がれず、その後の制御処理が予測不能な状態に陥るおそれがある。
【０００８】
本発明はこのような課題に鑑みてなされたものであり、その目的は、生じた異常状態に応じて適切なフェイルセーフ処理を実行する機能安全性の高い電子制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る電子制御装置は、車両のエンジン（１００）を制御する電子制御装置（１０）であって、エンジンを制御するために演算を行って制御処理を実行する主プロセッサ（２０）と、主プロセッサと同一の演算を行う副プロセッサ（３０）と、主プロセッサによる演算結果と、副プロセッサによる演算結果とを比較する比較器（６０）と、比較器による比較結果に基づいて主プロセッサの演算結果の異常の有無を判定する異常判定部（７０）と、を備える。主プロセッサは、主プロセッサの演算結果に異常があると判定された場合に、電子制御装置のリセット処理を行うことなく電子制御装置のハードウェアの異常の有無を判定する状態判定を行い、該状態判定の結果に基づいてフェイルセーフ処理を実行する。
【００１０】
本発明では、まず、主プロセッサの演算結果と、副プロセッサの演算結果とを比較することにより、主プロセッサの演算結果の異常の有無を判定する。主プロセッサの演算結果に異常があると判定された場合には、その状態を継続すると適切な制御処理を行えなくなるおそれがあるため、フェイルセーフ処理を実行する。
【００１１】
本発明では、さらに、このフェイルセーフ処理を、電子制御装置のハードウェアの異常の有無を判定する状態判定の結果に基づくものとしている。この状態判定は、主プロセッサの演算結果に異常があると判定された後に、電子制御装置のリセット処理を行うことなく、行われるものである。したがって、電子制御装置のハードウェアの異常状態に応じて、適切なフェイルセーフ処理を実行することが可能となる。
【発明の効果】
【００１２】
本発明によれば、生じた異常状態に応じて適切なフェイルセーフ処理を実行する機能安全性の高い電子制御装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る電子制御装置を示すブロック図である。
【図２】本発明の実施形態に係る電子制御装置による制御を示すフローチャートである。
【図３】図２に示されているマスターコア状態判定における処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照しながら本発明の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
【００１５】
まず、図１を参照しながら、マイコン１０の構成について説明する。マイコン１０は、いわゆるデュアルコアの電子制御装置であり、車両（不図示）に搭載される。マイコン１０は、車両の各種センサ（不図示）と電気的に接続されており、それらから伝達される情報等を用いながら車両のエンジン１００を制御している。エンジン１００は、複数の気筒を有するガソリンエンジンである。
【００１６】
図１に示されるように、マイコン１０は、マスターコア２０と、チェッカーコア３０と、ＲＡＭ４０と、ＲＯＭ５０と、比較器６０と、エラー判定部７０と、を備える。
【００１７】
マスターコア２０は、マイコン１０における主プロセッサに相当する。マスターコア２０は、ＣＰＵ２１と、ＦＰＵ２２とを有している。ＣＰＵ２１は、各種センサからマイコン１０に伝達される情報を適宜用いて、所定のプログラムに従って演算を行う処理装置である。ＦＰＵ２２は、浮動小数点演算を行う処理装置である。
【００１８】
チェッカーコア３０は、マイコン１０における副プロセッサに相当する。チェッカーコア３０は、ＣＰＵ３１と、ＦＰＵ３２とを有している。ＣＰＵ３１は、各種センサからマイコン１０に伝達される情報を適宜用いて、所定のプログラムに従って演算を行う処理装置である。ＦＰＵ２２は、浮動小数点演算を行う処理装置である。ＣＰＵ３１のアーキテクチャはマスターコア２０のＣＰＵ２１と同一であり、ＦＰＵ３２のアーキテクチャはＦＰＵ２２と同一である。
【００１９】
ＲＡＭ４０は、マスターコア２０とアドレスバス、読込用データバス及び書込用データバスを介して通信可能であり、チェッカーコア３０と読込用データバスを介して通信可能とされた記憶装置である。ＲＡＭ４０は、ＣＰＵ２１，３１による演算結果や各種センサ等の外部装置から入力される情報等を記憶する。
【００２０】
ＲＯＭ５０は、マスターコア２０とアドレスバス及び読込用データバスを介して通信可能であり、チェッカーコアと読込用データバスを介して通信可能とされた記憶装置である。ＲＯＭ５０は、エンジン１００の制御処理を行うためのプログラムや固定のデータ等を記憶している。
【００２１】
比較器６０は、マスターコア２０及びチェッカーコア３０と書込用データバスを介して通信可能とされたコンパレータである。比較器６０は、通知された複数の演算結果の比較を行う。比較器６０は、当該比較を行った後に、その比較結果を通知する。
【００２２】
エラー判定部７０は、比較器６０と通信可能とされている。エラー判定部７０は、比較器６０からの通知に基づいてマスターコア２０の演算結果の異常の有無を判定し、その判定結果を通知する。
【００２３】
以上のように構成されたマイコン１０は、マスターコア２０がＲＯＭ５０に記憶されたプログラムを読み込み、そのＣＰＵ２１及びＦＰＵ２２において当該プログラムに従って演算を行う。マスターコア２０は、その演算結果を適宜ＲＡＭ４０に通知して記憶させるとともに、比較器６０に通知する。
【００２４】
一方、チェッカーコア３０も、マスターコア２０と並列に、ＲＯＭ５０に記憶されたプログラムを読み込み、そのＣＰＵ３１及びＦＰＵ３２において当該プログラムに従って演算を行う。ＣＰＵ３１及びＦＰＵ３２は、いずれもマスターコア２０のＣＰＵ２１及びＦＰＵ２２と同一クロックで同期して演算を行っている。チェッカーコア３０は、その演算結果を適宜ＲＡＭ４０に通知して記憶させるとともに、比較器６０に通知する。
【００２５】
比較器６０は、マスターコア２０から通知される演算結果と、チェッカーコア３０から通知される演算結果との比較を行う。両演算結果は、マスターコア２０及びチェッカーコア３０が正常に動作している場合は一致するように設定されている。比較器６０は、その比較結果をエラー判定部７０に通知する。
【００２６】
エラー判定部７０は、比較器６０からの通知に基づいて、マスターコア２０の演算結果の異常の有無を判定する。そして、エラー判定部７０がマスターコア２０の演算結果に異常が無いと判定した場合のみ、マスターコア２０によるエンジン１００の通常の制御処理を実行することが許可される。
【００２７】
一方、エラー判定部７０が、比較器６０からの通知に基づいてマスターコア２０の演算結果に異常があると判定した場合は、マスターコア２０に対しエラー信号を送信する。当該エラー信号を受信したマスターコア２０は、それまで実行していた制御処理を停止し、フェイルセーフ処理を実行する。
【００２８】
次に、図２及び図３を参照しながら、マスターコア２０によるフェイルセーフレベル決定処理及びマイコン状態判定処理について説明する。
【００２９】
マスターコア２０は、前述のようにエラー判定部７０からエラー信号を受信すると、図２に示されるフェイルセーフレベル決定処理を実行する。このフェイルセーフレベル決定処理は、マイコン１０の状態に応じて、適切な程度（レベル）のフェイルセーフ処理を実行するために、その程度を決定するための処理である。
【００３０】
まず、マスターコア２０は、ステップＳ２１で、３段階あるフェイルセーフ処理のうち、「レベル２」のフェイルセーフ処理を実行する。具体的には、マスターコア２０は、マスターコア２０の演算結果に異常が無い場合に比べてエンジン１００の出力を抑制しながらも、車両を走行可能な状態とする制御処理を行う。さらに具体的には、マスターコア２０は、エンジン１００が有する複数の気筒のうち、一部の気筒における燃焼を休止させてエンジン１００の運転を継続させる。
【００３１】
次に、マスターコア２０は、ステップＳ２２で、マイコン状態判定処理を行う。このマイコン状態判定処理は、マイコン１０のハードウェアの異常の有無を判定するための処理である。換言すると、マスターコア２０の演算結果に異常があると判定した場合において、その異常が一時的なものにすぎないのか、又は、マイコン１０のハードウェアの異常によるもので、継続的なものであるのか、を判定するための処理である。
【００３２】
図３に示されるように、マスターコア２０は、マイコン状態判定処理において、まずステップＳ３１でＣＰＵ２１の診断を実施する。具体的には、ＣＰＵ２１に診断用の演算を行わせるとともに、その演算が予め定められた順序通りに行われているか否かに基づいて、ＣＰＵ２１の異常の有無を診断する。
【００３３】
ステップＳ３１の診断でＣＰＵ２１の異常が検出されなかった場合（Ｓ３２：Ｎｏ）、マスターコア２０は、次にステップＳ３３でＦＰＵ２２の診断を実施する。具体的には、ＦＰＵ２２に診断用の演算を行わせるとともに、予め定められた期待値通りに演算が行われているか否かに基づいて、ＦＰＵ２２の異常の有無を診断する。
【００３４】
ステップＳ３３の診断でＦＰＵ２２の異常が検出されなかった場合（Ｓ３４：Ｎｏ）、マスターコア２０は、次にステップＳ３５でＲＯＭ５０の診断を実施する。具体的には、予め正常時のチェックサムをＲＯＭ５０に記憶させておくとともに、マスターコア２０の演算結果に異常があると判定された場合にチェックサムを再計算し、それを正常時のものと比較することで、ＦＰＵ２２の異常の有無を診断する。
【００３５】
ステップＳ３５の診断でＲＯＭ５０の異常が検出されなかった場合（Ｓ３６：Ｎｏ）、マスターコア２０は、次にステップＳ３７でＲＡＭ４０の診断を実施する。具体的には、ＣＰＵ２１が診断用のデータをＲＡＭ４０に一度記憶させ、その後、当該データの読み込みを行い、記憶させたものと比較することで、ＲＡＭ４０の異常の有無を診断する。
【００３６】
ステップＳ３７の診断でＲＡＭ４０の異常が検出されなかった場合（Ｓ３８：Ｎｏ）、すなわち、ＣＰＵ２１、ＦＰＵ２２、ＲＯＭ５０、ＲＡＭ４０のいずれにも異常が検出されなかった場合、マスターコア２０の演算結果に生じた異常は一時的なものであると推定することができる。この場合、マスターコア２０は、ステップＳ３９でマイコン１０の状態は正常であるとのフラグを立て、マイコン状態判定処理を終了する。
【００３７】
一方、ＣＰＵ２１、ＦＰＵ２２、ＲＯＭ５０、ＲＡＭ４０のいずれかに異常が検出された場合（Ｓ３２，Ｓ３４，Ｓ３６，Ｓ３８：Ｙｅｓ）、マスターコア２０の演算結果に生じた異常は、マイコン１０のハードウェアの故障に起因するもので、継続的なものであると推定することができる。この場合、マスターコア２０は、ステップＳ４０でマイコン１０の状態は異常であるとのフラグを立て、マイコン状態判定処理を終了する。
【００３８】
図２に示されるように、マイコン状態判定処理を終えたマスターコア２０は、次に、ステップＳ２３において、マイコン１０の状態に関するフラグに基づいて、実行するフェイルセーフレベルの程度を変更する。
【００３９】
マイコン状態判定処理において、マイコン１０の状態は正常であるとのフラグが立てられている場合（Ｓ２３：Ｎｏ）、マスターコア２０は、ステップＳ２４で、３段階あるフェイルセーフ処理のうち、「レベル１」のフェイルセーフ処理を実行する。この「レベル１」のフェイルセーフ処理では、前述した「レベル２」のフェイルセーフ処理よりもエンジン１００の出力の抑制を緩和し、車両を走行可能な状態とする制御処理を実行する。具体的には、「レベル１」のフェイルセーフ処理は、エンジン１００の回転数の上限値を「レベル２」のフェイルセーフ処理よりも高く設定するものである。
【００４０】
一方、マイコン状態判定処理において、マイコン１０の状態は異常であるとのフラグを立てられている場合（Ｓ２３：Ｙｅｓ）、マスターコア２０は、ステップＳ２５で、３段階あるフェイルセーフ処理のうち、「レベル３」のフェイルセーフ処理を実行する。この「レベル３」のフェイルセーフ処理では、前述した「レベル２」のフェイルセーフ処理よりもエンジン１００の出力を更に抑制し、車両を最低限で走行可能な状態とする制御処理を行う。このときのエンジン１００の出力は、走行中の車両を路肩に寄せるための退避走行が可能な程度のものに制限され、例えば、車両が時速１０ｋｍ程度で走行可能なものとする。
【００４１】
以上のように、マイコン１０では、まず、マスターコア２０の演算結果と、チェッカーコア３０の演算結果とを比較することにより、マスターコア２０の演算結果の異常の有無を判定する。マスターコア２０の演算結果に異常があると判定された場合には、その状態を継続すると適切な制御処理を行えなくなるおそれがあるため、フェイルセーフ処理を実行する。
【００４２】
マイコン１０では、さらに、このフェイルセーフ処理を、マイコン１０のハードウェアの異常の有無を判定するマイコン状態判定処理の結果に基づくものとしている。このマイコン状態判定処理は、マスターコア２０の演算結果に異常があると判定された後に、マイコン１０のリセット処理を行うことなく、行われるものである。したがって、マイコン１０のハードウェアの異常状態に応じて、適切なフェイルセーフ処理を実行することが可能となる。
【００４３】
また、マイコン１０では、マスターコア２０は、マスターコア２０の演算結果に異常があると判定された場合に、「レベル２」のフェイルセーフ処理を実行するとともにマイコン状態判定処理を行う。その後にマイコン１０のハードウェアに異常があると判定された場合は、「レベル３」のフェイルセーフ処理を実行する一方、マイコン１０のハードウェアに異常が無いと判定された場合は「レベル１」のフェイルセーフ処理を実行する。
【００４４】
このマイコン１０によれば、マスターコア２０の演算結果に異常があると判定された場合に、暫定的に「レベル２」のフェイルセーフ処理を実行して車両を安全な状態におくとともに、その間にマイコン状態判定処理を行う。そして、マイコン１０のハードウェアの状態に適した程度（レベル）を決定し、より適切なフェイルセーフ処理を実行することが可能となる。
【００４５】
以上、具体例を参照しつつ本発明の実施の形態について説明した。しかし、本発明はこれらの具体例に限定されるものではない。すなわち、これら具体例に、当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。例えば、前述した各具体例が備える各要素およびその配置、材料、条件、形状、サイズなどは、例示したものに限定されるわけではなく適宜変更することができる。また、前述した各実施の形態が備える各要素は、技術的に可能な限りにおいて組み合わせることができ、これらを組み合わせたものも本発明の特徴を含む限り本発明の範囲に包含される。
【符号の説明】
【００４６】
１０  ：マイコン（電子制御装置）
２０  ：マスターコア（主プロセッサ）
３０  ：チェッカーコア（副プロセッサ）
６０  ：比較器
１００：エンジン
【図１】
2016089782.tif 000003
【図２】
2016089782.tif 000004
【図３】
2016089782.tif 000005