(57)【要約】【課題】電子制御装置（ＥＣＵ）に異常が発生したときに、不具合の原因解析などに資することができる信頼性の高いデータを取得する。【解決手段】データ収集対象である被監視ＥＣＵは、車載ネットワークを介して、使用中のデータを監視ＥＣＵに常時送信する。監視ＥＣＵは、受信したデータをＲＡＭに時系列で格納する（Ｓ１１，１２）。また、監視ＥＣＵは、被監視ＥＣＵのＰ−ＲＵＮなどの出力信号、定時ジョブのカウンタ、メモリに格納されたデータのＳＵＭ値などを監視することで、被監視ＥＣＵに異常が発生したか否かを判定する（Ｓ１３）。そして、監視ＥＣＵは、被監視ＥＣＵに異常が発生すると、ＲＡＭに格納されたデータをフラッシュＲＯＭに書き込むと共に（Ｓ１４）、初期化条件が成立していることを前提として、被監視ＥＣＵに初期化指令を送信する（Ｓ１５，１６）。【選択図】図３
2015171853.tif 000002
【特許請求の範囲】
【請求項１】
自動車に搭載された制御機器と、
前記制御機器に対して通信可能に接続された外部機器と、
を有する自動車用電子制御装置であって、
前記制御機器は、使用中のデータを前記外部機器に送信し、
前記外部機器は、前記制御機器に異常が発生したときに、前記制御機器から送信されたデータを保存する、
ことを特徴とする自動車用電子制御装置。
【請求項２】
前記外部機器は、前記制御機器に異常が発生したときに、前記制御機器を初期化する、
ことを特徴とする請求項１に記載の自動車用電子制御装置。
【請求項３】
前記制御機器は、前記外部機器から異常状態再現指令を受けたときに、前記外部機器に保存されたデータに基づいて動作パラメータを設定し、異常が発生した状態を再現する、
ことを特徴とする請求項１又は請求項２に記載の自動車用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車用電子制御装置に関する。
【背景技術】
【０００２】
自動車に搭載された電子制御装置には、各種センサ、各種アクチュエータなどに異常が発生しているか否かを診断する自己診断機能が備え付けられている。自動車用の電子制御装置には、特開２０１３−３２１６３号公報（特許文献１）に記載されるように、自己診断機能により異常発生が検知されたとき、異常が発生した電子制御装置のメモリに、例えば、異常発生時の制御パラメータなどのデータを保存するものがある。このデータは、不具合の原因解析などに用いられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−３２１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、電子制御装置に発生した異常が、例えば、メモリ故障などに起因するものである場合、故障が発生した電子制御装置のメモリに保存したデータの信頼性が低く、これを用いて異常発生の原因解析をすることが困難となる可能性がある。
【０００５】
そこで、本発明は、信頼性の高いデータを取得可能な、自動車用電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
このため、自動車用電子制御装置は、自動車に搭載された制御機器と、制御機器に対して通信可能に接続された外部機器と、を有する。そして、制御機器は、使用中のデータを外部機器に送信し、外部機器は、制御機器に異常が発生したときに、制御機器から送信されたデータを保存する。
【発明の効果】
【０００７】
本発明によれば、制御機器のデータが外部機器で収集されるため、信頼性の高いデータを取得することができる。
【図面の簡単な説明】
【０００８】
【図１】自動車に搭載された電子制御システムの一例を示す概要図である。
【図２】被監視側での監視処理の一例を示すフローチャートである。
【図３】監視側での監視処理の一例を示すフローチャートである。
【図４】異常状態再現処理の一例を示すフローチャートである。
【図５】被監視側の制御機器の一例を示す構成図である。
【図６】被監視側でのデータ復帰処理の一例を示すフローチャートである。
【図７】監視側でのデータ復帰処理の一例を示すフローチャートである。
【図８】メモリ初期化処理の一例を示すフローチャートである。
【図９】メモリのデータ構図の一例を示す構造図である。
【図１０】メモリ初期化処理の一例を示すフローチャートである。
【図１１】被監視側の制御機器の他の例を示す構成図である。
【図１２】コア切替処理の一例を示すフローチャートである。
【図１３】コア切替処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
図１は、自動車に搭載された電子制御システムの一例を示す。
【００１０】
自動車には、例えば、エンジンの燃料噴射装置、可変バルブタイミング機構、自動変速機などを電子制御するために、マイクロコンピュータ（マイコン）及び通信アダプタを有する、複数の電子制御装置（ＥＣＵ）１００Ａ〜１００Ｃが搭載されている。各電子制御装置１００Ａ〜１００Ｃは、例えば、ＣＡＮ（Controller Area Network）などの車載ネットワーク２００を介して、各種のデータ、指令などを送受信可能に接続されている。ここで、車載ネットワーク２００としては、ＣＡＮに限らず、例えば、ＦｌｅｘＲａｙ（登録商標）などの有線ネットワーク、ワイヤレスＬＡＮ（Local Area Network）などの無線ネットワークを利用することができる。なお、以下の説明においては、電子制御装置１００Ａ〜１００Ｃを区別する必要がない場合には、電子制御装置１００と称する。また、自動車に搭載された電子制御装置１００は、３台に限らず、他の台数であってもよい。
【００１１】
電子制御装置１００は、例えば、フラッシュＲＯＭ（Read Only Memory）に格納された制御プログラムに従って、各種センサからの出力信号に基づいて、制御対象機器に駆動信号を出力する。このため、各電子制御装置１００では、制御パラメータ及び学習値などの各種のデータが使用されている。
【００１２】
電子制御装置１００において、例えば、制御プログラムのロジックエラーによる異常が発生した場合、異常発生時の制御データなどが保存されていれば、これを用いて異常発生の原因を究明することができる。そこで、例えば、電子制御装置１００Ａのデータを、他の制御装置１００Ｂ又は１００Ｃで収集することで、電子制御装置１００Ａに異常が発生しても信頼性の高いデータを収集できるようにする。なお、以下の説明においては、説明の都合上、データが収集される電子制御装置１００Ａを「被監視ＥＣＵ１００Ａ」、データを収集する電子制御装置１００Ｂを「監視ＥＣＵ１００Ｂ」と称する。ここで、被監視ＥＣＵ１００Ａが制御機器の一例として挙げられ、監視ＥＣＵ１００Ｂが外部機器の一例として挙げられる。
【００１３】
図２は、被監視ＥＣＵ１００Ａが、イグニッションスイッチのＯＮに伴う電源投入によって起動されたことを契機として、第１の所定時間ごとに繰り返し実行する監視処理の一例を示す。
【００１４】
ステップ１（図では「Ｓ１」と略記する。以下同様。）では、被監視ＥＣＵ１００Ａが、車載ネットワーク２００を介して、例えば、制御対象機器を制御している制御データなどのデータを、監視ＥＣＵ１００Ｂへと送信する。ここで、監視ＥＣＵ１００Ｂへ送信するデータは、１つに限らず、複数であってもよい。
【００１５】
ステップ２では、被監視ＥＣＵ１００Ａが、監視ＥＣＵ１００Ｂから初期化指令（詳細は後述する）があったか否かを判定する。そして、被監視ＥＣＵ１００Ａは、初期化指令があったと判定すれば処理をステップ３へと進める一方（Ｙｅｓ）、初期化指令がないと判定すれば処理を終了させる（Ｎｏ）。
【００１６】
ステップ３では、被監視ＥＣＵ１００Ａが、例えば、レジスタの内容、メモリの内容を起動直後の初期状態へと戻す初期化を実行する。なお、初期化として、被監視ＥＣＵ１００Ａのマイコンをリセットすることもできる（以下同様）。
【００１７】
図３は、監視ＥＣＵ１００Ｂが、イグニッションスイッチのＯＮに伴う電源投入によって起動されたことを契機として、第２の所定時間ごとに繰り返し実行する監視処理の一例を示す。ここで、第２の所定時間は、被監視ＥＣＵ１００Ａとの同期をとり易くするため、第１の所定時間と同一としてもよい。
【００１８】
ステップ１１では、監視ＥＣＵ１００Ｂが、例えば、通信アダプタの受信バッファにデータがあるか否かを介して、被監視ＥＣＵ１００Ａからのデータを受信したか否かを判定する。そして、監視ＥＣＵ１００Ｂは、データを受信したと判定すれば処理をステップ１２へと進める一方（Ｙｅｓ）、データを受信していないと判定すれば処理をステップ１３へと進める（Ｎｏ）。
【００１９】
ステップ１２では、監視ＥＣＵ１００Ｂが、被監視ＥＣＵ１００Ａからのデータを、例えば、揮発性メモリの一例であるＲＡＭ（Random Access Memory）の所定領域に時系列で格納する。ここで、ＲＡＭの占有領域を削減するために、ＲＡＭに構築されたリングバッファにデータを格納する。なお、リングバッファを用いても、異常発生時のデータを確保できれば足りるので、何ら問題が生じない。
【００２０】
ステップ１３では、監視ＥＣＵ１００Ｂが、被監視ＥＣＵ１００Ａに異常が発生したか否かを判定する。被監視ＥＣＵ１００Ａの異常発生は、例えば、被監視ＥＣＵ１００のＰ−ＲＵＮなどの出力信号、定時ジョブのカウンタ、メモリに格納されたデータのＳＵＭ値などを監視することで検知できる。そして、監視ＥＣＵ１００Ｂは、被監視ＥＣＵ１００Ａに異常が発生したと判定すれば処理をステップ１４へと進める一方（Ｙｅｓ）、被監視ＥＣＵ１００Ａに異常が発生していないと判定すれば処理を終了させる（Ｎｏ）。
【００２１】
ステップ１４では、監視ＥＣＵ１００Ｂが、ステップ１２においてＲＡＭに格納したデータをフラッシュＲＯＭ（不揮発性メモリ）に書き込む。これによって、例えば、監視ＥＣＵ１００Ｂへの電源供給が遮断されても、被監視ＥＣＵ１００Ａに異常が発生したときのデータを保持することができる。
【００２２】
ステップ１５では、監視ＥＣＵ１００Ｂが、被監視ＥＣＵ１００Ａの初期化を実行する条件（初期化条件）、要するに、被監視ＥＣＵ１００Ａを初期化しても影響がない又は少ない条件が成立しているか否かを判定する。初期化条件としては、例えば、アイドリング中、エンジンストール中、イグニッションスイッチがＯＦＦであるスタンバイ中など、被監視ＥＣＵ１００Ａの処理負荷が小さいとき、被監視ＥＣＵ１００Ａがスタンバイ状態でバッテリ電圧が所定電圧以上のときなどを適用することができる。そして、監視ＥＣＵ１００Ｂは、初期化条件が成立していると判定すれば処理をステップ１６へと進める一方（Ｙｅｓ）、初期化条件が成立していないと判定すれば処理を終了させる（Ｎｏ）。
【００２３】
ステップ１６では、監視ＥＣＵ１００Ｂが、車載ネットワーク２００を介して、被監視ＥＣＵ１００Ａに初期化指令を送信する。なお、監視ＥＣＵ１００Ｂは、初期化条件が成立しているか否かを判定せずに、被監視ＥＣＵ１００Ａに異常が発生したとき、被監視ＥＣＵ１００Ａに初期化指令を送信することもできる。
【００２４】
かかる電子制御システムによれば、被監視ＥＣＵ１００Ａで使用されているデータは、車載ネットワーク２００を介して監視ＥＣＵ１００Ｂに送信され、監視ＥＣＵ１００ＢのＲＡＭに時系列で格納される。そして、被監視ＥＣＵ１００Ａに異常が発生すると、監視ＥＣＵ１００ＢのＲＡＭに格納されているデータがフラッシュＲＯＭに書き込まれ、例えば、電源供給が遮断されても保持できるようになる。このため、被監視ＥＣＵ１００Ａの異常発生時に使用されていたデータが、故障が発生していない監視ＥＣＵ１００Ｂで収集されるようになり、信頼性の高いデータを取得することができる。
【００２５】
また、被監視ＥＣＵ１００Ａに異常が発生すると、監視ＥＣＵ１００Ｂから被監視ＥＣＵ１００Ａに初期化指令が送信される。初期化指令を受信した被監視ＥＣＵ１００Ａが初期化を実行することで、レジスタ、メモリの内容が起動直後の状態に戻り、例えば、不適切な制御データによる処理がなされることを抑制できる。
【００２６】
ここで、被監視ＥＣＵ１００Ａの監視及びデータ収集は、例えば、車載ネットワークを介して接続された、ＥＣＵ１００Ｃ、監視専用の監視ツール、遠隔地に設置されたコンピュータ（サーバ）などで行われてもよい。この場合、ＥＣＵ１００Ｃ、監視ツール、コンピュータが外部機器の一例として挙げられる。
【００２７】
監視ＥＣＵ１００ＢのフラッシュＲＯＭに保存されたデータは、例えば、車載ネットワーク２００に接続されたチェッカーやＨＩＬＳ（Hardware In the Loop Simulation）などのツールからの異常状態再現指令に応答して、次のように、被監視ＥＣＵ１００Ａで異常状態を再現するために利用することができる。
【００２８】
図４は、被監視ＥＣＵ１００Ａが起動されたことを契機として、被監視ＥＣＵ１００Ａが繰り返し実行する異常状態再現処理の一例を示す。なお、異常状態再現処理の前提として、監視ＥＣＵ１００Ｂ及びツールが起動されているものとする。
【００２９】
ステップ２１では、被監視ＥＣＵ１００Ａが、ツールから異常状態再現指令があったか否かを判定する。そして、被監視ＥＣＵ１００Ａは、異常状態再現指令があったと判定すれば処理をステップ２２へと進める一方（Ｙｅｓ）、異常状態再現指令がなかったと判定すれば処理を終了させる（Ｎｏ）。
【００３０】
ステップ２２では、被監視ＥＣＵ１００Ａが、監視ＥＣＵ１００Ｂで保持されているデータを受信する。即ち、監視ＥＣＵ１００Ｂは、例えば、ツールからのデータ送信指令に応答して、フラッシュＲＯＭに書き込まれているデータを被監視ＥＣＵ１００Ａに送信する。そして、被監視ＥＣＵ１００Ａは、監視ＥＣＵ１００Ｂから送信されたデータを受信し、これをＲＡＭに展開する。なお、データの送信は、被監視ＥＣＵ１００Ａと監視ＥＣＵ１００Ｂとで同期をとりながら行われる。また、ツールは、監視ＥＣＵ１００Ｂで保持されているデータを前もって読み取り、これを被監視ＥＣＵ１００Ａに同期をとりながら送信してもよい。
【００３１】
ステップ２３では、被監視ＥＣＵ１００Ａが、ＲＡＭに展開されているデータに基づいて動作パラメータを順次設定し、異常が発生した状態を再現する。
【００３２】
かかる異常状態再現処理によれば、被監視ＥＣＵ１００Ａに故障が発生したときのデータを使用して、被監視ＥＣＵ１００Ａにおいて異常が発生した状態を再現することができる。このため、再現性の低い異常であっても、異常発生時の状態を容易に実現することが可能となり、その原因究明に資することができる。
【００３３】
ここで、被監視ＥＣＵ１００Ａに故障が発生したときのデータは、監視ＥＣＵ１００Ｂに限らず、例えば、車載ネットワーク２００に接続されたデータ収集装置、遠隔地に設置されたサーバ、他のＥＣＵ１００Ｃに保持されてもよい。また、複数のＥＣＵ１００において相互にデータを収集するようにしてもよい。
【００３４】
被監視ＥＣＵ１００Ａは、図５に示すように、主系のメインマイコンＡと、従系のサブマイコンＢと、を有していてもよい。そして、被監視ＥＣＵ１００Ａにおいては、メインマイコンＡで使用されているデータをサブマイコンＢに退避し、メインマイコンＡに異常が発生したときに、サブマイコンＢに退避したデータをメインマイコンＡに復帰（復元）して処理を続行できるようにする。以下、このデータ復帰処理について説明する。
【００３５】
図６は、被監視ＥＣＵ１００Ａが、イグニッションスイッチのＯＮに伴う電源投入によって起動されたことを契機として、第３の所定時間ごとに繰り返し実行するデータ復帰処理の一例を示す。なお、第３の所定時間は、第１の所定時間、第２の所定時間と同一であってもよい（以下同様）。また、データ復帰処理は、メインマイコンＡ及びサブマイコンＢの少なくとも一方で実行されればよい（以下同様）。
【００３６】
ステップ３１では、被監視ＥＣＵ１００Ａが、例えば、図示しない内部バスを介して、メインマイコンＡで使用中のデータをサブマイコンＢに送信し、そのＲＡＭに退避する。ここで、サブマイコンＢのＲＡＭの占有領域を削減するために、例えば、リングバッファにデータを退避することができる。
【００３７】
ステップ３２では、被監視ＥＣＵ１００Ａが、監視ＥＣＵ１００Ｂからデータ復帰指令があったか否かを判定する。そして、被監視ＥＣＵ１００Ａは、データ復帰指令があったと判定すれば処理をステップ３３へと進める一方（Ｙｅｓ）、データ復帰指令がないと判定すれば処理をステップ３４へと進める（Ｎｏ）。
【００３８】
ステップ３３では、被監視ＥＣＵ１００Ａが、例えば、内部バスを介して、サブマイコンＢに退避したデータをメインマイコンＡに復帰する。なお、データをメインマイコンＡに復帰する前に、メインマイコンＡのレジスタ、メモリなどを初期化するようにしてもよい。このようにすれば、レジスタ、メモリに不適切なデータが残ることがなく、信頼性を向上させることができる。
【００３９】
ステップ３４では、被監視ＥＣＵ１００Ａが、監視ＥＣＵ１００Ｂから初期化指令があったか否かを判定する。そして、被監視ＥＣＵ１００Ａは、初期化指令があったと判定すれば処理をステップ３５へと進める一方（Ｙｅｓ）、初期化指令がないと判定すれば処理を終了させる（Ｎｏ）。
【００４０】
ステップ３５では、被監視ＥＣＵ１００Ａが、例えば、レジスタの内容、メモリの内容を起動直後の初期状態へと戻す初期化を実行する。
【００４１】
図７は、監視ＥＣＵ１００Ｂが、イグニッションスイッチのＯＮに伴う電源投入によって起動されたことを契機として、第４の所定時間ごとに繰り返し実行するデータ復帰処理の一例を示す。
【００４２】
ステップ４１では、監視ＥＣＵ１００Ｂが、被監視ＥＣＵ１００ＡのメインマイコンＡに異常が発生したか否かを判定する。メインマイコンＡの異常発生は、例えば、メインマイコンＡのＰ−ＲＵＮなどの出力信号、定時ジョブのカウンタ、メモリに格納されたデータのＳＵＭ値などを監視することで検知できる。そして、監視ＥＣＵ１００Ｂは、メインマイコンＡに異常が発生したと判定すれば処理をステップ４２へと進める一方（Ｙｅｓ）、メインマイコンＡに異常が発生していないと判定すれば処理を終了させる（Ｎｏ）。
【００４３】
ステップ４２では、監視ＥＣＵ１００Ｂが、被監視ＥＣＵ１００ＡのサブマイコンＢに異常が発生したか否かを判定する。サブマイコンＢの異常発生は、メインマイコンＡの異常発生と同様に、例えば、サブマイコンＢのＰ−ＲＵＮなどの出力信号、定時ジョブのカウンタ、メモリに格納されたデータのＳＵＭ値などを監視することで検知できる。そして、監視ＥＣＵ１００Ｂは、サブマイコンＢに異常が発生していないと判定すれば処理をステップ４３へと進める一方（Ｙｅｓ）、サブマイコンＢに異常が発生していると判定すれば処理をステップ４４へと進める（Ｎｏ）。
【００４４】
ステップ４３では、監視ＥＣＵ１００Ｂが、車載ネットワーク２００を介して、被監視ＥＣＵ１００Ａにデータ復帰指令を送信する。
【００４５】
ステップ４４では、監視ＥＣＵ１００Ｂが、被監視ＥＣＵ１００Ａの初期化条件が成立しているか否かを判定する。ここで、初期化条件としては、図３のステップ１５で適用した条件と同一とすることができる。そして、監視ＥＣＵ１００Ｂは、初期化条件が成立していると判定すれば処理をステップ４５へと進める一方（Ｙｅｓ）、初期化条件が成立していないと判定すれば処理を終了させる（Ｎｏ）。
【００４６】
ステップ４５では、監視ＥＣＵ１００Ｂが、車載ネットワーク２００を介して、被監視ＥＣＵ１００Ａに初期化指令を送信する。なお、監視ＥＣＵ１００Ｂは、初期化条件が成立しているか否かを判定せずに、被監視ＥＣＵ１００Ａに初期化指令を送信することもできる。
【００４７】
かかるデータ復帰処理によれば、被監視ＥＣＵ１００Ａにおいて、メインマイコンＡからサブマイコンＢにデータが退避される。そして、メインマイコンＡにのみ異常が発生すると、サブマイコンＢに退避されたデータがメインマイコンＡに復帰される。また、メインマイコンＡ及びサブマイコンＢの両方に異常が発生すると、初期化条件の成立を前提として、メインマイコンＡ及びサブマイコンＢがリセットされる。このため、被監視ＥＣＵ１００Ａにおいて、例えば、メモリに格納されたデータの値が異常となっても、主系たるメインマイコンＡが暴走することがなく、信頼性を向上させることができる。
【００４８】
被監視ＥＣＵ１００Ａにおいて、メインマイコンＡのメモリの初期化を実行するとき、そのすべての領域を初期化するのではなく、データの値が異常となっている領域のみを初期化するようにしてもよい。以下、このメモリ初期化処理について説明する。
【００４９】
図８は、被監視ＥＣＵ１００ＡのメインマイコンＡが、監視ＥＣＵ１００Ｂから初期化指令があったことを契機として、実行するメモリ初期化処理の一例を示す。ここで、メインマイコンＡのメモリは、図９に示すように複数のメモリ領域（例えば、３つのメモリ領域）に分割され、各領域に、所定規則に従って分類されたデータが格納されているものとする。図示の例では、メモリ領域１にレジスタ及びＩ／Ｏの値が格納され、メモリ領域２に学習値が格納され、メモリ領域３に制御データが格納されている。そして、メインマイコンＡは、メモリ領域ごとに、メモリ初期化処理を実行する。
【００５０】
ステップ５１では、メインマイコンＡが、内部バスを介して、サブマイコンＢに処理対象となるメモリ領域のデータを送信する。
【００５１】
ステップ５２では、メインマイコンＡが、サブマイコンＢに送信したメモリ領域のＳＵＭ値を算出する。即ち、メインマイコンＡは、メモリ領域の先頭アドレスからデータを順次読み出し、その値を積算したＳＵＭ値を算出する。
【００５２】
ステップ５３では、メインマイコンＡが、内部バスを介して、ステップ５２で算出したメモリ領域のＳＵＭ値をサブマイコンＢに送信する。
【００５３】
ステップ５４では、メインマイコンＡが、サブマイコンＢから送信された比較結果が否定的であるか否かを判定する。ここで、比較結果は、サブマイコンＢにおいて、メインマイコンＡから送信されたメモリ領域のデータから算出したＳＵＭ値と、メインマイコンＡから送信されたＳＵＭ値と、を比較した結果を示すものであって、例えば、同一（肯定的）又は同一でない（否定的）ことを示すフラグを含む。そして、メインマイコンＡは、比較結果が否定的であると判定すれば処理をステップ５５へと進める一方（Ｙｅｓ）、比較結果が肯定的であると判定すれば処理を終了させる（Ｎｏ）。
【００５４】
ステップ５５では、メインマイコンＡが、処理対象となるメモリ領域の初期化を実行する。なお、処理対象となるメモリ領域にレジスタ、Ｉ／Ｏの値が格納されている場合には、学習値及び制御データなどの信頼性が低いため、すべてのメモリ領域について初期化を実行する。
【００５５】
図１０は、被監視ＥＣＵ１００ＡのサブマイコンＢが、メインマイコンＡから処理対象たるメモリ領域のデータが送信されたことを契機として、実行するメモリ初期化処理の一例を示す。
【００５６】
ステップ６１では、サブマイコンＢが、メインマイコンＡから送信されたメモリ領域のデータを受信する。サブマイコンＢは、受信したデータを、例えば、ＲＡＭに格納して展開しておく。
【００５７】
ステップ６２では、サブマイコンＢが、ＲＡＭに展開したメモリ領域のデータについて、その先頭アドレスから順次データを読み出し、その値を積算したＳＵＭ値を算出する。
【００５８】
ステップ６３では、サブマイコンＢが、メインマイコンＡから送信されたメモリ領域のＳＵＭ値を受信する。受信したメモリ領域のＳＵＭ値は、ステップ６２において算出したＳＵＭ値と同一のメモリ領域に関するものである。
【００５９】
ステップ６４では、サブマイコンＢが、ステップ６２で算出したＳＵＭ値と、ステップ６３で受信したＳＵＭ値と、が同一であるか否かを比較する。そして、サブマイコンＢは、２つのＳＵＭ値が同一でないと判定すれば否定的な比較結果を生成し、２つのＳＵＭ値が同一であると判定すれば肯定的な比較結果を生成する。
【００６０】
ステップ６５では、サブマイコンＢが、内部バスを介して、２つのＳＵＭ値の比較結果をメインマイコンＡに送信する。
【００６１】
かかるメモリ初期化処理によれば、被監視ＥＣＵ１００Ａにおいて、監視ＥＣＵ１００Ｂから初期化処理があると、メインマイコンＡのメモリを所定規則で分割した各メモリ領域について、そのデータ及びＳＵＭ値がメインマイコンＡからサブマイコンＢに送信される。また、サブマイコンＢでは、メインマイコンＡから送信されたデータのＳＵＭ値が算出され、これとメインマイコンＡから送信されたＳＵＭ値との比較結果がメインマイコンＡに返送される。そして、メインマイコンＡでは、サブマイコンＢから返送された比較結果が否定的であれば、処理対象となるメモリ領域の初期化が実行される。
【００６２】
このため、メインマイコンＡは、複数のメモリ領域のうち、そこに格納されているデータの信頼性が低いメモリ領域のみを初期化することとなり、メモリの初期化に要する時間などを短縮することができる。なお、レジスタ、Ｉ／Ｏが格納されているメモリ領域の信頼性が低い場合には、すべてのメモリ領域を初期化することで、信頼性を向上させる。
【００６３】
被監視ＥＣＵ１００ＡのメインマイコンＡは、図１１に示すように、複数のコア、例えば、コア１及びコア２を備えたマルチコアであってもよい。そして、メインマイコンＡに異常が発生した場合、例えば、処理主体をコア１からコア２に切り替えることで、処理を続行できるようにする。以下の説明では、マルチコアとして、２つのコアを備えたものを前提とするが、その個数が３つ以上であってもよい。
【００６４】
図１２は、メインマイコンＡが起動されたことを契機として、コア１が第５の所定時間ごとに繰り返し実行する、コア切替処理の一例を示す。ここで、コア１及びコア２は、異なるメモリを使用することを前提とする。
【００６５】
ステップ７１では、コア１が、例えば、メモリのＳＵＭ値を監視することで、メモリに異常が発生したか否かを判定する。そして、コア１は、メモリに異常が発生したと判定すれば処理をステップ７２へと進める一方（Ｙｅｓ）、メモリに異常が発生していないと判定すれば処理を終了させる（Ｎｏ）。
【００６６】
ステップ７２では、コア１が、内部バスを介して、コア２へ処理の切替指令を送信する。即ち、コア１のメモリに異常が発生したため、コア１の処理を続行することが困難となる可能性を鑑み、コア２によって処理を続行するようにする。
【００６７】
ステップ７３では、コア１が、コア２から初期化指令があったか否かを判定する。そして、コア１は、初期化指令があったと判定すれば処理をステップ７４へと進める一方（Ｙｅｓ）、初期化指令がないと判定すれば処理を終了させる（Ｎｏ）。
【００６８】
ステップ７４では、コア１が、メモリの初期化を実行する。
【００６９】
図１３は、メインマイコンＡが起動されたことを契機として、コア２が第６の所定時間ごとに繰り返し実行する、コア切替処理の一例を示す。
【００７０】
ステップ８１では、コア２が、コア１からの切替指令があったか否かを判定する。そして、コア２は、切替指令があったと判定すれば処理をステップ８２へと進める一方（Ｙｅｓ）、切替指令がないと判定すれば処理を終了させる（Ｎｏ）。
【００７１】
ステップ８２では、コア２が、コア１の代替処理を実行する。ここで、コア１の代替処理としては、最低限の機能を確保できる処理、すべての機能を確保できる処理のいずれであってもよい。
【００７２】
ステップ８３では、コア２が、コア１の代替処理を開始した後、コア１へ初期化指令を送信する。
【００７３】
かかるコア切替処理によれば、コア１でメモリ異常が発生すると、コア２で代替処理が実行されると共に、コア１のメモリが初期化される。このため、メインマイコンＡで実行されている処理が長時間途切れることがなく、例えば、自動車のエンジンなど、重要な機器を制御する信頼性を向上することができる。
【００７４】
なお、メインマイコンＡにおける処理は、コア１のメモリが初期化された後、又は、コア２にメモリ異常が発生したときに、コア２からコア１へと切り替えるようにしてもよい。このようにすれば、メインマイコンＡが処理を続行することができる。
【００７５】
以上の実施形態において、各図面を参照して説明した技術的思想を組み合わせ、又は、その一部を置き換えることもできる。このようにすれば、多様な形態において、その構成から得られる効果を享受することができる。
【００７６】
ここで、上記実施形態から把握し得る請求項以外の技術的思想について、以下に効果と共に記載する。
【００７７】
（イ）前記外部機器は、前記制御機器から送信されたデータを不揮発性メモリに保存する、ことを特徴とする請求項１〜請求項３のいずれか１つに記載の自動車用電子制御装置。
このようにすれば、外部機器への電源供給が遮断されても、制御機器に異常が発生したときのデータを保持することができる。
【００７８】
（ロ）前記制御機器は、メインマイコンとサブマイコンとを有し、前記メインマイコンで使用しているデータを前記サブマイコンに退避すると共に、前記メインマイコンに異常が発生したときに、前記サブマイコンに退避したデータを前記メインマイコンに復帰する、ことを特徴とする請求項１〜請求項３、（イ）のいずれか１つに記載の自動車用電子制御装置。
このようにすれば、メインマイコンに異常が発生しても、メモリの内容を異常発生直前の状態に戻すことができる。
【００７９】
（ハ）前記制御機器の初期化は、メモリを初期化する、ことを特徴とする請求項２に記載の自動車用電子制御装置。
このようにすれば、制御機器に異常が発生したときにメモリが初期化されるので、不適切なデータに基づいて制御対象が制御されることを抑制できる。
【００８０】
（ニ）前記メモリの初期化は、前記メモリを分割した複数のメモリ領域のうち、メモリ内容の不整合が発生したメモリ領域について実行される、ことを特徴とする（ハ）に記載の自動車用電子制御装置。
このようにすれば、メモリ内容に不整合が発生していないメモリ領域の初期化が実行されないため、処理時間の短縮を図ることができる。
【００８１】
（ホ）前記制御機器のマイコンはマルチコアであって、前記コアの１つに異常が発生したときに、他のコアに処理を代行させる、ことを特徴とする請求項１〜請求項３、（イ）〜（ニ）のいずれか１つに記載の自動車用電子制御装置。
このようにすれば、制御機器の信頼性を向上させることができる。
【符号の説明】
【００８２】
１００Ａ  ＥＣＵ（制御機器）
１００Ｂ  ＥＣＵ（外部機器）
２００  車載ネットワーク
Ａ  メインマイコン
Ｂ  サブマイコン
【図１】
2015171853.tif 000003
【図２】
2015171853.tif 000004
【図３】
2015171853.tif 000005
【図４】
2015171853.tif 000006
【図５】
2015171853.tif 000007
【図６】
2015171853.tif 000008
【図７】
2015171853.tif 000009
【図８】
2015171853.tif 000010
【図９】
2015171853.tif 000011
【図１０】
2015171853.tif 000012
【図１１】
2015171853.tif 000013
【図１２】
2015171853.tif 000014
【図１３】
2015171853.tif 000015