(57)【要約】【課題】動作タイプに基づいて処理を行う制御装置の信頼性の向上を図る。【解決手段】  本発明は、被制御部を制御する制御装置であって、制御装置の実行部の動作タイプを示す情報である動作タイプ情報を記憶する記憶部と、記憶部が記憶する動作タイプ情報と外部信号により設定される動作タイプ情報とに基づいて記憶部の異常を検出する異常検出処理を実行する実行部とを備え、異常検出処理は、動作タイプ判定処理と、異常判定処理とを含むことを特徴とする制御装置である。【選択図】図５
2010049367.tif 000002
【特許請求の範囲】
【請求項１】
被制御部を制御する制御装置であって、
制御装置の実行部の動作タイプを示す情報である動作タイプ情報を記憶する記憶部と、
前記記憶部が記憶する動作タイプ情報と外部信号により設定される動作タイプ情報とに基づいて前記記憶部の異常を検出する異常検出処理を実行する前記実行部と
を備えることを特徴とする制御装置。
【請求項２】
前記異常検出処理は、前記記憶部が記憶する動作タイプ情報と前記外部信号により設定される動作タイプ情報とが一致するか否かを判定する動作タイプ判定処理と、前記動作タイプ判定処理で前記記憶部が記憶する動作タイプ情報と前記外部信号により設定される動作タイプ情報とが一致しない場合に、前記記憶部が異常であると判定する異常判定処理とを含むことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記実行部は、前記記憶部が記憶する動作タイプ情報が、前記動作タイプを示す情報のいずれかであるか否かを判定する動作タイプ不正判定処理と、前記動作タイプ不正判定処理で前記記憶部が記憶する動作タイプ情報が不正である場合に、前記記憶部が記憶する動作タイプ情報、及び、外部の記憶装置が記憶する動作タイプ情報を前記外部信号により設定される動作タイプ情報により復旧する復旧処理とを実行することを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記実行部は、前記記憶部が記憶する動作タイプ情報が、前記動作タイプを示す情報のいずれかであるか否かを判定する動作タイプ不正判定処理と、前記動作タイプ不正判定処理で前記記憶部が記憶する動作タイプ情報が不正である場合に、前記記憶部が記憶する動作タイプ情報を、外部の記憶装置が記憶する動作タイプ情報により復旧する復旧処理とを実行することを特徴とする請求項１又は２に記載の制御装置。
【請求項５】
前記実行部は、前記動作タイプ判定処理で前記記憶部が記憶する動作タイプ情報と外部信号により設定される動作タイプ情報とが一致する場合に、前記記憶部が記憶する動作タイプ情報に従って、ソフトウェアが含む複数の処理を選択的に実行し、車両の制御を行うことを特徴とする請求項１から４のうちいずれか一項に記載の制御装置。
【請求項６】
前記外部信号により前記動作タイプ情報が設定される入出力ポートを備えることを特徴とする請求項１から５のうちいずれか一項に記載の制御装置。
【請求項７】
被制御部を制御する制御装置であって、記憶部が記憶する制御装置の実行部の動作タイプを示す情報である動作タイプ情報と、外部信号により設定される動作タイプ情報とに基づいて前記記憶部の異常を検出する処理を実行する実行ステップを備えることを特徴とする制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、及び、その制御方法に関する。
【背景技術】
【０００２】
従来、動作タイプを示す情報に基づいて、制御ソフトウェア（以下、ファームウェアと略記する。）の動作を切り替える制御装置がある。例えば、この装置は、動作タイプを示す情報に基づいて、ファームウェアのメイン処理とサブ処理の動作を切り替える。この装置によれば、動作タイプの違いによらず、ファームウェアを共通にすることができる。また、メイン処理を行う制御装置、及び、サブ処理を行う制御装置を共に備える装置を容易に実現することができる。そのため、コストの低減に効果がある。
【０００３】
一方、ソフトウェアをＣＰＵ（Central Processing Unit）の種類に応じて適宜切り替える装置が知られている（例えば、特許文献１）。この装置は、複数のＣＰＵを備え、それぞれのＣＰＵに適合する複数のソフトウェアを切り替えて利用する場合に、手動によりＣＰＵを設定するのではなくて、ソフトウェアに付加されたＣＰＵ識別情報によりＣＰＵを自動的に切り替える。この装置によれば、手動によるＣＰＵの設定の煩わしさを無くすことができる。
【特許文献１】特開平５−８８８５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
動作タイプを示す情報に基づいて、ファームウェアの動作を切り替える制御装置は、記憶部の異常により動作タイプを示す情報が不正となった場合、記憶部の異常を検出できず、不正な動作タイプを示す情報に基づいて処理を行ってしまう場合があった。例えば、ファームウェアのメイン処理を行うべき制御装置が、記憶部の異常により、誤ってファームウェアのサブ処理を行ってしまう場合があった。
【０００５】
本発明は、上記課題に鑑みなされたものであり、動作タイプに基づいて処理を行う制御装置の信頼性の向上を図ることを目的とする。
【課題を解決するための手段】
【０００６】
本制御装置は、被制御部を制御する制御装置であって、制御装置の実行部の動作タイプを示す情報である動作タイプ情報を記憶する記憶部と、前記記憶部が記憶する動作タイプ情報と、外部信号により設定される動作タイプ情報とに基づいて前記記憶部の異常を検出する異常検出処理を実行する前記実行部とを備えることを特徴とする。
【０００７】
本制御装置の制御方法は、被制御部を制御する制御装置であって、記憶部が記憶する制御装置の実行部の動作タイプを示す情報である動作タイプ情報と、外部信号により設定される動作タイプ情報とに基づいて前記記憶部の異常を検出する処理を実行する実行ステップを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、動作タイプを示す情報に基づいて処理を行う制御装置は、記憶部の異常により動作タイプを示す情報が不正となった場合、記憶部の異常を検出することができる。よって、制御装置が不正な動作タイプを示す情報に基づいて処理を行うことを防止することができ、信頼性の向上に効果がある。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の最良の実施形態について、本発明の制御装置であるマイコンを備えるＥＣＵ（Electronic Control Unit：電子制御装置）を複数備える車両装置を例として、添付図面を参照しつつ説明する。
【実施例１】
【００１０】
図１を参照に、車両装置の構成を説明する。図１は、車両装置１０の構成の一例を示すブロック図である。エンジン制御ＥＣＵ１１は、吸気バルブ制御ＥＣＵ１２と、車両ネットワーク１４を介して接続される。エンジン制御ＥＣＵ１１は、その他のＥＣＵ１５及びエコランＥＣＵ１６と、車両ネットワーク１８を介して接続される。エコランＥＣＵ１６は、スタータ２０の制御を行う。エンジン制御ＥＣＵ１１は、エアコンＥＣＵ２２、メータＥＣＵ２４、ＡＢＳ（Antilocked Braking System）制御ＥＣＵ２６、電動パワーステアリング制御ＥＣＵ２８及びエアバッグ制御ＥＣＵ３０と、車両ネットワーク３２を介して接続される。
【００１１】
各ＥＣＵは、それぞれ各種センサ又は各種ボタン等から取得した信号に基づいて対象物を制御する。例えば、エンジン制御ＥＣＵ１１は、各種センサ等から取得した信号に基づいてエンジンを制御する。その他については説明を省略する。
【００１２】
図２を参照に、ＥＣＵのハードウェア構成を説明する。図２は、ＥＣＵの一例として、２つのマイコン及び電源ＩＣ（Integrated Circuit）を備えるＥＣＵのハードウェア構成を示すブロック図である。ＥＣＵ４０は、メイン処理を行うメインマイコン５０ａ、サブ処理を行うサブマイコン５０ｂ、及び、電源ＩＣ７０を有する。
【００１３】
メインマイコン５０ａは、実行部５２ａ、ＲＡＭ５８ａ、フラッシュＲＯＭ５４ａ、入出力ポート（以下、ＩＯポートと略記する。）５６ａ、正常通知信号送信ポート８７ａ、シリアルポート９５ａ、スタンバイＲＡＭ６０ａ、正常通知信号受信ポート８１ａ、リセット信号送信ポート７８ａ、低電圧通知信号受信ポート８６ａ、及び、リセット信号受信ポート７９ａを有し、これらは互いにバス６８ａを介して接続される。
【００１４】
サブマイコン５０ｂは、実行部５２ｂ、ＲＡＭ５８ｂ、フラッシュＲＯＭ５４ｂ、ＩＯポート５６ｂ、正常通知信号送信ポート８７ｂ、シリアルポート９５ｂ、スタンバイＲＡＭ６０ｂ、低電圧通知信号受信ポート８６ｂ、及び、リセット信号受信ポート７９ｂを有し、これらは互いにバス６８ｂを介して接続される。
【００１５】
電源ＩＣ７０は、電源供給部７２、低電圧監視部７４、低電圧通知信号送信ポート９４、正常通知信号受信ポート８５、マイコン暴走監視部７８、及び、リセット信号送信ポート８４を有する。
【００１６】
実行部５２ａ及び５２ｂは、ファームウェアを実行するＣＰＵである。
【００１７】
ＲＡＭ５８ａ及び５８ｂは、ＤＲＡＭ（Dynamic RAM）等の揮発性メモリである。
【００１８】
スタンバイＲＡＭ６０ａ及び６０ｂは、揮発性メモリであって、電源が常時供給されるメモリであり、後述するマイコンの動作タイプを示す情報を記憶する。
【００１９】
フラッシュＲＯＭ５４ａ及び５４ｂは、ＥＰＲＯＭ（Erasable Programmable ROM）等の電気的に消去、書き換えができるメモリであり、例えば、実行部５２ａ及び５２ｂが実行するファームウェアやシステム動作に必要な初期パラメータ等を記憶する。
【００２０】
ＩＯポート５６ａ及び５６ｂは、それぞれＩＯポート設定回路６４ａ及び６４ｂと接続される。ＩＯポート設定回路６４ａ及び６４ｂは、それぞれＩＯポート５６ａ及び５６ｂに対してマイコンの動作タイプを示す情報を設定する。
【００２１】
メインマイコン５０ａ及びサブマイコン５０ｂは、それぞれ不揮発性メモリであるＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）６６ａ及び６６ｂと接続される。ＥＥＰＲＯＭ６６ａ及び６６ｂには、マイコンの動作タイプを示す情報が、例えば、工場出荷時等に予め記憶される。
【００２２】
実行部５２ａは、正常通知信号送信ポート８７ｂ、及び、正常通知信号受信ポート８１ａを介して、所定の周期で通知される正常通知信号８０を監視する。実行部５２ａは、所定時間を経過しても正常通知信号８０が通知されない場合に、サブマイコン５０ｂに異常が発生したと判断する。実行部５２ａは、リセット信号送信ポート７８ａ、及び、リセット信号受信ポート７９ｂを介して、リセット信号８２を送信して、サブマイコン５０ｂをリセットする。
【００２３】
マイコン暴走監視部７８は、正常通知信号送信ポート８７ａ、及び、正常通知信号受信ポート８５を介して、所定の周期で通知される正常通知信号９０を監視する。実行部５２ａは、所定の時間を経過しても正常通知信号９０が通知されない場合に、メインマイコン５０ａに異常が発生したと判断する。マイコン暴走監視部７８は、リセット信号送信ポート８４、及び、リセット信号受信ポート７９ａを介して、リセット信号８８を送信して、メインマイコン５０ａをリセットする。
【００２４】
メインマイコン５０ａとサブマイコン５０ｂとは、シリアルポート９５ａ及び９５ｂを介して、マイコン間通信を行う。マイコン間通信では、例えば、ＥＣＵ４０の起動時におけるイニシャル処理において、メインマイコン５０ａとサブマイコン５０ｂとが、必要な制御やデータの通信を行う。
【００２５】
電源供給部７２は、メインマイコン５０ａ及びサブマイコン５０ｂに対して、電源を供給する。
【００２６】
低電圧監視部７４は、電源供給部７２の電圧を監視する。低電圧監視部７４は、電源供給部７２の電圧が低電圧となった場合に、低電圧通知信号送信ポート９４、並びに、低電圧通知信号受信ポート８６ａ及び８６ｂを介して、低電圧通知信号８３を送信する。メインマイコン５０ａ及びサブマイコン５０ｂは、低電圧通知信号８３を受信すると、例えば、処理途中のデータをメモリへ退避してデータを保護する等の処理を行う。
【００２７】
マイコンの動作タイプを示す情報について説明する。マイコンの動作タイプを示す情報とは、マイコンである実行部が、自身を認識するための情報である。マイコンである実行部は、自身のマイコンの動作タイプを示す情報に基づいて、ファームウェアが含む複数の処理を選択的に実行する。例えば、メインマイコン５０ａの場合、ＩＯポート設定回路６４ａが、ＩＯポート５６ａに対して、メインマイコン５０ａに対応する動作タイプを示す情報を設定する。メインマイコン５０ａの実行部５２ａは、ＩＯポート５６ａを確認することにより、自身がメインマイコン５０ａであると認識し、ファームウェア内のメインマイコン５０ａ用の処理（例えばエンジン制御の処理）を実行する。同様に、サブマイコン５０ｂの実行部５２ｂは、自身がサブマイコン５０ｂであると認識し、ファームウェア内のサブマイコン５０ｂ用の処理（例えば変速制御の処理）を実行する。ここで、ファームウェアは、メインマイコン５０ａ用の処理とサブマイコン５０ｂ用の処理の両方を記した同一のファームウェアである。ファームウェアは、フラッシュＲＯＭ５４ａ及び５４ｂに記憶される。
【００２８】
図３及び図４を参照に、マイコンの動作タイプを設定するＩＯポート設定回路６４ａの一例を説明する。ＩＯポート設定回路６４ｂについてはＩＯポート設定回路６４ａと同様のため、説明を省略する。
【００２９】
図３は、ＩＯポート５６ａが含む２つのＩＯポートＸ及びＹを用いて、４つのマイコンの動作タイプを示す情報を設定する場合に、ＩＯポートＸ及びＹに設定される信号の組み合わせとマイコンの動作タイプを示す情報の対応関係を示す表である。図３を参照に、例えば、ＩＯポートＸがＬレベル信号、ＩＯポートＹがＬレベル信号に設定される場合、マイコンの動作タイプを示す情報はマイコンタイプ１であることを示す。
【００３０】
図４は、図３に示した各動作タイプを示す情報に対応する信号をＩＯポートＸ及びＹに設定するＩＯポート設定回路６４ａの回路構成の一例である。図４の回路９３において、例えば、回路基板のパターンカット等により、抵抗Ｒ１、Ｒ２、Ｒ３及びＲ４のうちいずれか２つをアクティブと設定することにより、マイコンタイプ１から４に対応する信号をＩＯポートＸ９６及びＹ９７に設定することができる。Ｈレベル信号に対応する電圧を５Ｖ、Ｌレベル信号に対応する電圧を０Ｖとする。回路９３がマイコンタイプ１に対応する信号を設定する場合、抵抗Ｒ１及びＲ３をアクティブにすると、抵抗Ｒ１及びＲ３は接地されるため、ＩＯポートＸ９６がＬレベル信号、ＩＯポートＹ９７がＬレベル信号に設定される。回路９３がマイコンタイプ２に対応する信号を設定する場合、抵抗Ｒ１及びＲ４をアクティブにすると、抵抗Ｒ１は接地され、抵抗Ｒ４は電源５Ｖに接続されるため、ＩＯポートＸ９６がＬレベル信号、ＩＯポートＹ９７がＨレベル信号に設定される。回路９３がマイコンタイプ３に対応する信号を設定する場合、抵抗Ｒ２及びＲ３をアクティブにすると、抵抗Ｒ２は電源５Ｖに接続され、抵抗Ｒ３は接地されるため、ＩＯポートＸ９６がＨレベル信号、ＩＯポートＹ９７がＬレベル信号に設定される。回路９３がマイコンタイプ４に対応する信号を設定する場合、抵抗Ｒ２及びＲ４をアクティブにすると、抵抗Ｒ２及びＲ４は電源５Ｖに接続されるため、ＩＯポートＸ９６がＨレベル信号、ＩＯポートＹ９７がＨレベル信号に設定される。
【００３１】
図５を参照に、実施例１に係るＥＣＵ４０の機能を説明する。図５は、実施例１に係るＥＣＵ４０の機能ブロックを説明するブロック図である。
【００３２】
メインマイコン５０ａに関する機能を説明する。
【００３３】
スタンバイＲＡＭ６０ａは、動作タイプを示す情報である動作タイプ情報１０６ａを記憶する。
【００３４】
ＩＯポート５６ａは、図３及び図４に示したＩＯポートＸ９６及びＹ９７を含む。ＩＯポート設定回路６４ａからＩＯポート５６ａのＩＯポートＸ９６及びＹ９７に対して、動作タイプを示す情報である動作タイプ情報１０８ａが設定される。
【００３５】
異常検出部１２０ａ、動作タイプ不正判定部１２２ａ、復旧部１１８ａ、正常通知信号発生部１２４ａ、マイコン暴走監視部６２ａ、及び、マイコンリセット部６３ａは、実行部５２ａに対応する。
【００３６】
異常検出部１２０ａは、動作タイプ判定部１１４ａと異常判定部１１６ａとを有する。動作タイプ判定部１１４ａは、スタンバイＲＡＭ６０ａが記憶する動作タイプ情報１０６ａと、ＩＯポート設定回路６４ａが出力する外部信号により設定される動作タイプ情報１０８ａとが一致するか否かを判定する。異常判定部１１６ａは、動作タイプ判定部１１４ａで動作タイプ情報１０６ａと動作タイプ情報１０８ａとが一致しない場合に、スタンバイＲＡＭ６０ａが異常であると判定する。
【００３７】
動作タイプ不正判定部１２２ａは、動作タイプ情報１０６ａが動作タイプを示す情報のいずれかであるか否かを判定する。
【００３８】
復旧部１１８ａは、動作タイプ不正判定部１２２ａで動作タイプ情報１０６ａが不正である場合に、動作タイプ情報１０６ａを、ＥＥＰＲＯＭ６６ａから読み出した動作タイプ情報１１０ａにより復旧する。また、ＥＥＰＲＯＭ６６ａから動作タイプ情報１１０ａが正常に読み出せない場合、動作タイプ情報１０６ａ及び動作タイプ情報１１０ａを、動作タイプ情報１０８ａにより復旧する。
【００３９】
正常通知信号発生部１２４ａは、電源ＩＣ７０へ所定の周期で正常通知信号９０を送信する。図２を参照に、正常通知信号９０は、正常通知信号送信ポート８０ａ及び正常通知信号受信ポート８５を介して送信される。正常通知信号発生部１２４ａは、異常判定部１１６ａからスタンバイＲＡＭ６０ａが異常であることを通知された場合、電源ＩＣ７０へ正常通知信号９０を通知することを中断する。
【００４０】
マイコン暴走監視部６２ａは、サブマイコン５０ｂから所定の周期で通知される正常通知信号８０を監視する。サブマイコン５０ｂからの正常通知信号８０が途絶えた場合、マイコン暴走監視部６２ａは、マイコンリセット部６３ａへサブマイコン５０ｂのリセットを行うように指示する。
【００４１】
マイコンリセット部６３ａは、マイコン暴走監視部６２ａからの指示を受けて、サブマイコン５０ｂをリセット信号８２によりリセットする。図２を参照に、リセット信号８２は、リセット信号送信ポート７８ａ及びリセット信号受信ポート７９ｂを介して送信される。
【００４２】
サブマイコン５０ｂの機能を説明する。
【００４３】
正常通知信号発生部１２４ｂは、メインマイコン５０ａへ所定の周期で正常通知信号８０を通知する。図２を参照に、正常通知信号８０は、正常通知信号送信ポート８０ｂ及び正常通知信号受信ポート８１ａを介して送信される。正常通知信号発生部１２４ｂは、異常判定部１１６ｂからスタンバイＲＡＭ６０ｂが異常であることを通知された場合、メインマイコン５０ａへ正常通知信号８０を通知することを中断する。
【００４４】
サブマイコン５０ｂは、他のマイコンの暴走監視は行わないため、メインマイコン５０ａのマイコン暴走監視部６２ａ及びマイコンリセット部６３ａに対応する機能は含まない。
【００４５】
サブマイコン５０ｂのその他の機能については、メインマイコン５０ａと同様のため、説明を省略する。
【００４６】
電源ＩＣ７０の機能を説明する。
【００４７】
マイコン暴走監視部７８は、メインマイコン５０ａから所定の周期で通知される正常通知信号９０を監視する。メインマイコン５０ａからの正常通知信号９０が途絶えた場合、マイコン暴走監視部７８は、マイコンリセット部７６へメインマイコン５０ａのリセットを行うように指示する。
【００４８】
マイコンリセット部７６は、マイコン暴走監視部７８からの指示を受けて、メインマイコン５０ａをリセット信号８８によりリセットする。図２を参照に、リセット信号８８は、リセット信号送信ポート８４及びリセット信号受信ポート７９ａを介して送信される。
【００４９】
図６を参照に、メインマイコン５０ａの実行部５２ａ、及び、サブマイコン５０ｂの実行部５２ｂが実行する異常検出処理を説明する。図６は、異常検出処理の一例を示すフローチャートである。
【００５０】
以下の説明では、メインマイコン５０ａに対応するマイコンの動作タイプを示す情報は、マイコンタイプ１とする。また、サブマイコン５０ｂに対応するマイコンの動作タイプを示す情報は、マイコンタイプ２とする。
【００５１】
メインマイコン５０ａの実行部５２ａが異常検出処理を実行する場合を説明する。動作タイプ判定部１１４ａは、図３及び図４を参照に、ＩＯポート５６ａのＩＯポートＸ９６及びＹ９７に設定された信号を読み出す（ステップＳ１０）。ＩＯポートＸ９６及びＹ９７に設定される信号の組み合わせに基づいて（ステップＳ１１、Ｓ１２及びＳ１３）、動作タイプ情報を判定する（ステップＳ１４、Ｓ１６、Ｓ１８及びＳ２０）。ステップＳ１１、Ｓ１２、Ｓ１３、Ｓ１４、Ｓ１６、Ｓ１８及びＳ２０では、図３に示した、ＩＯポートＸ及びＹに設定される信号の組み合わせとマイコンの動作タイプを示す情報の対応関係を示す表に基づいて、動作タイプ情報を判定する例を示している。メインマイコン５０ａに対応するマイコンの動作タイプを示す情報は、マイコンタイプ１であるため、ステップＳ１１のＹＥＳ、及び、ステップＳ１４が実行される。
【００５２】
動作タイプ判定部１１４ａは、スタンバイＲＡＭ６０ａから動作タイプ情報１０６ａを読み出す（ステップＳ２２）。動作タイプ判定部１１４ａは、スタンバイＲＡＭ６０ａが記憶する動作タイプ情報１０６ａと、ＩＯポート設定回路６４ａが出力する外部信号により設定される動作タイプ情報１０８ａとが一致するか否かを判定する（ステップＳ２４）。ステップＳ２４がＹＥＳの場合、動作タイプ判定部１１４ａは、動作タイプ情報と正常ステータスとを、内部変数に保存し（ステップＳ２６）、終了する。
【００５３】
ステップＳ２４がＮＯの場合、異常判定部１１６ａは、動作タイプ情報１０６ａが異常であるため、スタンバイＲＡＭ６０ａが異常であると判定して（ステップＳ２８）、復旧部１１８ａに動作タイプ情報１０６ａの復旧を指示する。動作タイプ情報１０６ａが異常であるとは、例えば、ノイズや電圧異常によりデータが壊れた状態である等が挙げられる。復旧部１１８ａは、異常判定部１１６ａからの指示を受けて、異常である動作タイプ情報１０６ａを、正常である動作タイプ情報１０８ａに書き換えることにより、動作タイプ情報１０６ａを復旧する（ステップＳ３０）。そして、復旧部１１８ａは、異常ステータスを、内部変数に保存し（ステップＳ３２）、終了する。以上が、異常検出処理の説明である。
【００５４】
サブマイコン５０ｂが異常検出処理を実行する場合については、ステップＳ１４の代わりに、ステップＳ１６が実行されることを除いて、メインマイコン５０ａが異常検出処理を実行する場合と同様のため、説明を省略する。
【００５５】
図７及び図８を参照に、図６の異常検出処理に対して、動作タイプ不正判定処理、及び、復旧処理を追加した処理を説明する。図７及び図８は、図６の異常検出処理に対して、動作タイプ不正判定処理、及び、復旧処理を追加した処理の一例を示すフローチャートである。
【００５６】
メインマイコン５０ａが図７及び図８に示す処理を実行する場合を説明する。図７のステップＳ１０〜Ｓ２２については、図６と同様のため説明を省略し、以下、図８について説明する。
【００５７】
ステップＳ２２に続いて、動作タイプ不正判定部１２２ａは、動作タイプ情報１０６ａが動作タイプを示す情報のいずれかであるか否かを判定する（ステップＳ４０）。すなわち、動作タイプ不正判定部１２２ａは、動作タイプ情報１０６ａがマイコンタイプ１から４のいずれかであるか否かを判定する。ステップＳ４０がＹＥＳの場合、後に続くステップＳ２４以降の処理は、図６と同様のため、説明を省略する。
【００５８】
ステップＳ４０がＮＯの場合、動作タイプ不正判定部１２２ａは、動作タイプ情報１０６ａが異常であるため、スタンバイＲＡＭ６０ａが異常であると判定する（ステップＳ４２）。復旧部１１８ａは、ＥＥＰＲＯＭ６６ａから動作タイプ情報１１０ａを読み出す（ステップＳ４４）。復旧部１１８ａは、ＥＥＰＲＯＭ６６ａから動作タイプ情報１１０ａを正常に読み出すことができたか確認する（ステップＳ４６）。例えば、ＥＥＰＲＯＭ６６ａの３箇所に動作タイプ情報１１０ａを記憶し、３箇所の動作タイプ情報１１０ａが全て一致する場合に、ＥＥＰＲＯＭ６６ａから動作タイプ情報１１０ａを正常に読み出すことができたと判定する。
【００５９】
ステップＳ４６がＹＥＳの場合、復旧部１１８ａは、異常である動作タイプ情報１０６ａを、正常である動作タイプ情報１１０ａに書き換えることにより、動作タイプ情報１０６ａを復旧する（ステップＳ４８）。ステップＳ４８に続くステップＳ２４以降の処理は、図６と同様のため、説明を省略する。
【００６０】
ステップＳ４６がＮＯの場合、復旧部１１８ａは動作タイプ情報１１０ａが異常であるため、ＥＥＰＲＯＭ６６ａが異常であると判定する（ステップＳ５０）。復旧部１１８ａは、異常である動作タイプ情報１１０ａを、正常である動作タイプ情報１０８ａに書き換えることにより、動作タイプ情報１１０ａを復旧する（ステップＳ５２）。ステップＳ５２に続くステップＳ２８以降の処理は、図６と同様のため、説明を省略する。以上が、図８に示す処理の説明である。
【００６１】
サブマイコン５０ｂが図７及び図８に示す処理を実行する場合については、図６の場合と同様に、ステップＳ１４の代わりに、ステップＳ１６が実行されることを除いて、メインマイコン５０ａが図７及び図８に示す処理を実行する場合と同様のため、説明を省略する。
【００６２】
図９を参照に、異常検出処理を利用した処理の一例として、ＥＣＵ４０の起動時にメインマイコン５０ａの実行部５２ａ及びサブマイコン５０ｂの実行部５２ｂが実行するイニシャル処理を説明する。以下、メインマイコン５０ａの実行部５２ａがイニシャル処理を実行する場合について説明する。サブマイコン５０ｂの場合については、メインマイコン５０ａの場合と同様のため、省略する。
【００６３】
実行部５２ａは、レジスタの初期化を行う（ステップＳ６０）。実行部５２ａは、図６に示した異常検出処理を実行する（ステップＳ６２）。実行部５２ａは、異常検出処理の結果が保存された内部変数を確認して、異常検出処理の結果が正常ステータスであるか否かを判定する（ステップＳ６４）。ステップＳ６４がＹＥＳの場合、サブマイコン５０ｂとの間で、イニシャル処理に必要なマイコン通信処理を行い（ステップＳ６６）、終了する。
【００６４】
ステップＳ６４がＮＯの場合、異常検出処理の結果が異常ステータスであることから、スタンバイＲＡＭ６０ａが故障している可能性がある。そこで、実行部５２ａは、内部変数である動作タイプ異常カウンタをインクリメントする。実行部５２ａは、動作タイプ異常カウンタが所定値を超えたか否かを確認する（ステップＳ７０）。
【００６５】
ステップＳ７０がＮＯの場合、ステップＳ６２に戻り、異常検出処理を再実行する。
【００６６】
ステップＳ７０がＹＥＳの場合、異常検出処理における復旧処理を繰り返しても異常が発生することから、スタンバイＲＡＭ６０ａの初期故障、長期使用による磨耗故障等の故障が発生した可能性が高い。また、電圧異常等による偶発故障の場合、スタンバイＲＡＭ６０ａ以外の箇所にも異常が発生した可能性が高い。よって、メインマイコン５０ａをリセットすることが望ましい。そこで、実行部５２ａは、正常通知信号発生部１２４ａに指示して、正常通知信号９０を電源ＩＣ７０へ通知することを中断する（ステップＳ７１）。実行部５２ａは、電源ＩＣ７０によりリセットされたか否かを確認する（ステップＳ７２）。ステップＳ７２がＮＯの場合、電源ＩＣ７０によりリセットされるのを待つ。ステップＳ７２がＹＥＳの場合、ステップＳ６０に戻り、イニシャル処理を再度実行する。
【００６７】
ステップＳ７１において、メインマイコン５０ａから電源ＩＣ７０への正常通知信号９０の通知が途絶える。このとき、電源ＩＣ７０のマイコン暴走監視部７８は、メインマイコン５０ａが異常であると判定して、マイコンリセット部７６により、メインマイコン５０ａをリセットする。以上が、イニシャル処理の説明である。
【００６８】
図１０を参照に、メインマイコン５０ａの実行部５２ａ、及び、サブマイコン５０ｂの実行部５２ｂが実行する正常通知処理を説明する。
【００６９】
正常通知処理は、図５を参照に、メインマイコン５０ａの実行部５２ａにより所定の周期（例えば４ｍｓの周期）で実行され、正常通知信号９０が電源ＩＣ７０へ送信される。電源ＩＣ７０はメインマイコン５０ａから所定の周期で正常通知信号９０を受信することで、メインマイコン５０ａが正常に動作していると判定し、正常通知信号９０が途絶えた場合に、メインマイコン５０ａに異常が発生したと判定する。
【００７０】
また、正常通知処理は、図５を参照に、サブマイコン５０ｂの実行部５２ｂにより所定の周期で実行され、正常通知信号８０がメインマイコン５０ａへ送信される。メインマイコン５０ａはサブマイコン５０ｂから所定の周期で正常通知信号８０を受信することで、サブマイコン５０ｂが正常に動作していると判定し、正常通知信号８０が途絶えた場合に、サブマイコン５０ｂに異常が発生したと判定する。
【００７１】
メインマイコン５０ａの実行部５２ａが正常通知処理を実行する場合を説明する。正常通知信号発生部１２４ａは、動作タイプがマイコンタイプ１であるか否かを判定する（ステップＳ７６）。メインマイコン５０ａに対応する動作タイプはマイコンタイプ１であるから、ステップＳ７６のＹＥＳに進む。正常通知信号発生部１２４ａは、電源ＩＣ７０に対して、正常通知信号９０を通知する（ステップＳ７８）。正常通知信号発生部１２４ａは、動作タイプがマイコンタイプ２であるか否かを判定する（ステップＳ８０）。メインマイコン５０ａに対応する動作タイプはマイコンタイプ１であるから、ステップＳ８２のＮＯに進み、終了する。
【００７２】
サブマイコン５０ｂの実行部５２ｂが正常通知処理を実行する場合を説明する。正常通知信号発生部１２４ｂは、動作タイプがマイコンタイプ１であるか否かを判定する（ステップＳ７６）。メインマイコン５０ａに対応する動作タイプはマイコンタイプ２であるから、ステップＳ７６のＮＯに進む。正常通知信号発生部１２４ａは、動作タイプがマイコンタイプ２であるか否かを判定する（ステップＳ８０）。サブマイコン５０ｂに対応する動作タイプはマイコンタイプ２であるから、ステップＳ８０のＹＥＳに進む。正常通知信号発生部１２４ｂは、メインマイコン５０ａに対して、正常通知信号８０を通知して（ステップＳ８２）、終了する。
【００７３】
図１１を参照に、電源ＩＣ７０、及び、メインマイコン５０ａの実行部５２ａが実行するマイコン暴走監視処理を説明する。図１１は、マイコン暴走監視処理の一例を示すフローチャートである。図１１のマイコン暴走監視処理は、図１０の正常通知処理が実行される所定の周期と同じ周期で実行されるとする。以下、メインマイコン５０ａがマイコン暴走監視処理を実行する場合を説明する。電源ＩＣ７０の場合については同様のため省略する。
【００７４】
マイコン暴走監視部６２ａは、サブマイコン５０ｂから正常通知信号が通知されたか否かを判定する（ステップＳ８４）。ステップＳ８４がＹＥＳの場合、終了する。
【００７５】
ステップＳ８６がＮＯの場合、マイコン暴走監視部６２ａは、サブマイコン５０ｂに異常が発生したと判定して（ステップＳ８６）、マイコンリセット部６３ａに対して、サブマイコン５０ｂをリセットするように指示する。マイコンリセット部６３ａは、サブマイコン５０ｂをリセットして（ステップＳ８８）、終了する。以上が、マイコン暴走監視処理の説明である。
【００７６】
実施例１のメインマイコン５０ａによれば、図６及び図８のステップＳ２４及びＳ２８は、異常検出部１２０ａが実行する異常検出処理に対応する。異常検出処理は、スタンバイＲＡＭ６０ａが記憶する動作タイプ情報１０６ａと、ＩＯポート設定回路６４ａが出力する外部信号により設定される動作タイプ情報１０８ａとに基づいてスタンバイＲＡＭ６０ａの異常を検出する。異常検出部１２０ａは、動作タイプ判定部１１４ａと異常判定部１１６ａとを有する。図６及び図８のステップＳ２４は、動作タイプ判定部１１４ａが実行する動作タイプ判定処理に対応する。動作タイプ判定処理は、動作タイプ情報１０６ａと、動作タイプ情報１０８ａとが一致するか否かを判定する。図６及び図８のステップＳ２８は、異常判定部１１６ａが実行する異常判定処理に対応する。異常判定処理は、動作タイプ判定部１１４ａで動作タイプ情報１０６ａと動作タイプ情報１０８ａとが一致しない場合に、スタンバイＲＡＭ６０ａが異常であると判定する。サブマイコン５０ｂについても同様である。これにより、スタンバイＲＡＭ６０ａ及び６０ｂの異常を検出して、メインマイコン５０ａ及びサブマイコン５０ｂが不正な動作タイプを示す情報に基づいて処理を行うことを防止することができる。よって、信頼性の向上に効果がある。
【００７７】
実施例１のメインマイコン５０ａによれば、図８のステップＳ４０は、動作タイプ不正判定部１２２ａが実行する動作タイプ不正判定処理に対応する。動作タイプ不正判定処理は、スタンバイＲＡＭ６０ａが記憶する動作タイプ情報１０６ａが、動作タイプを示す情報のいずれかであるか否かを判定する。図６及び図８のステップＳ３０、図８のステップＳ４８及びＳ５２は、復旧部１１８ａが実行する復旧処理に対応する。ステップＳ３０及びＳ５２の復旧処理は、動作タイプ不正判定処理で動作タイプ情報１０６ａが不正である場合に、動作タイプ情報１０６ａ、及び、外部の記憶装置であるＥＥＰＲＯＭ６６ａが記憶する動作タイプ情報１１０ａを、動作タイプ情報１０８ａにより復旧する。ステップＳ４８の復旧処理は、動作タイプ不正判定処理で動作タイプ情報１０６ａが不正である場合に、動作タイプ情報１０６ａを、動作タイプ情報１１０ａにより復旧する。サブマイコン５０ｂについても同様である。これにより、異常な動作タイプ情報１０６ａ及び１０６ｂを正常に復旧して、メインマイコン５０ａ及びサブマイコン５０ｂが不正な動作タイプを示す情報に基づいて処理を行うことを防止することができる。よって、信頼性の向上に効果がある。
【００７８】
実施例１のメインマイコン５０ａによれば、例えば、図９のステップＳ６６のように、実行部５２ａは、動作タイプ判定処理で動作タイプ情報１０６ａと動作タイプ情報１０８ａとが一致する場合に、動作タイプ情報１０６ａに従って、ソフトウェアが含む複数の処理を選択的に使用し、車両の制御を実行する。サブマイコン５０ｂについても同様である。これにより、メインマイコン５０ａ及びサブマイコン５０ｂは、動作タイプを示す情報が正常であることを確認した後、ソフトウェアが含む複数の処理のうち動作タイプに対応する処理を選択的に使用することができる。従って、不正な動作タイプを示す情報に基づいて車両の制御を実行するといった誤動作を防止することができる。よって、信頼性の向上に効果がある。
【００７９】
実施例１のメインマイコン５０ａがＩＯポート５６ａを備え、ＩＯポート５６ａに対して、ＩＯポート設定回路６４ａが出力する外部信号により動作タイプ情報１０８ａが設定される例を説明した。例えば、外部信号を設定できるＩＯポート以外のポート等を使用してもよい。
【００８０】
実施例１では、メインマイコン５０ａが異常である場合に、電源ＩＣ７０がメインマイコン５０ａをリセットし、サブマイコン５０ｂが異常である場合に、メインマイコン５０ａがサブマイコン５０ｂをリセットする例を説明した。例えば、メインマイコン５０ａとサブマイコン５０ｂとが、シリアルポート９５ａ及び９５ｂ等によりマイコン間通信を行うことにより、メインマイコン５０ａが、サブマイコン５０ｂからの正常通知信号に対応する情報を、電源ＩＣ７０に通知してもよい。これにより、電源ＩＣ７０がサブマイコン５０ｂからの正常通知信号に対応する情報を監視して、サブマイコン５０ｂが異常である場合に、電源ＩＣ７０がサブマイコン５０ｂをリセットしてもよい。
【００８１】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【図面の簡単な説明】
【００８２】
【図１】図１は、実施例１に係る、車両装置の構成を示すブロック図である。
【図２】図２は、実施例１に係る、メインマイコン、サブマイコン及び電源ＩＣを備えるＥＣＵのハードウェア構成を示すブロック図である。
【図３】図３は、実施例１に係る、ＩＯポートに設定される信号の組み合わせとマイコンの動作タイプを示す情報の対応関係を示す表である。
【図４】図４は、ＩＯポート設定回路の一例を示す回路図である。
【図５】図５は、実施例１に係る、メインマイコン、サブマイコン及び電源ＩＣを備えるＥＣＵの機能ブロック図である。
【図６】図６は、実施例１に係る、異常検出処理の一例を示すフローチャートである。
【図７】図７は、実施例１に係る、異常検出処理、動作タイプ不正判定処理及び復旧処理の一例を示すフローチャートである。
【図８】図８は、実施例１に係る、異常検出処理、動作タイプ不正判定処理及び復旧処理の一例を示すフローチャートである。
【図９】図９は、実施例１に係る、イニシャル処理の一例を示すフローチャートである。
【図１０】図１０は、実施例１に係る、正常通知処理の一例を示すフローチャートである。
【図１１】図１１は、実施例１に係る、マイコン暴走監視処理の一例を示すフローチャートである。
【符号の説明】
【００８３】
５２ａ、  ５２ｂ    実行部
５６ａ、  ５６ｂ    ＩＯポート
６０ａ、  ６０ｂ    スタンバイＲＡＭ
６４ａ、  ６４ｂ    ＩＯポート設定回路
６６ａ、  ６６ｂ    ＥＥＰＲＯＭ
１０６ａ、１０６ｂ    スタンバイＲＡＭ６０ａ、６０ｂが記憶する動作タイプ情報
１０８ａ、１０８ｂ    ＩＯポート設定回路６４ａ、６４ｂが設定する動作タイプ情報
１１０ａ、１１０ｂ    ＥＥＰＲＯＭ６６ａ、６６ｂが記憶する動作タイプ情報
１２０ａ、１２０ｂ    異常検出部
１１４ａ、１１４ｂ    動作タイプ判定部
１１６ａ、１１６ｂ    異常判定部
１１８ａ、１１８ｂ    復旧部
１２２ａ、１２２ｂ    動作タイプ不正判定部
【図１】
2010049367.tif 000003
【図２】
2010049367.tif 000004
【図３】
2010049367.tif 000005
【図４】
2010049367.tif 000006
【図５】
2010049367.tif 000007
【図６】
2010049367.tif 000008
【図７】
2010049367.tif 000009
【図８】
2010049367.tif 000010
【図９】
2010049367.tif 000011
【図１０】
2010049367.tif 000012
【図１１】
2010049367.tif 000013