(57)【特許請求の範囲】
【請求項１】
複数のマイクロコンピュータを備え、ＣＡＮ通信を行う電子制御装置（１）であって、
前記複数のマイクロコンピュータは、
少なくとも第１マイクロコンピュータ（２０）、第２マイクロコンピュータ（３０）及び第３マイクロコンピュータ（４０）からなり、
現行プログラムを記憶するとともに該現行プログラムを新規プログラムと書き換え可能なメモリ（２２，３２，４２）をそれぞれ有し、
前記メモリに記憶されている前記現行プログラムに従って制御を行う通常制御モードと、書換ツール（７）から前記新規プログラムを受信して前記メモリに記憶された前記現行プログラムの書き換えを可能とする書換モードと、で動作可能であり、
前記第１マイクロコンピュータは、前記書換モードで第１ＣＡＮチャネルを用いて前記書換ツールと通信して前記現行プログラムの書き換えを実行し、
前記第２マイクロコンピュータは、前記第１マイクロコンピュータが前記現行プログラムの書き換え実行中に、前記書換モードで第２ＣＡＮチャネルを用いて前記書換ツールと通信して前記現行プログラムの書き換えを実行し、
前記第３マイクロコンピュータは、前記第１マイクロコンピュータ及び前記第２マイクロコンピュータが前記現行プログラムの書き換え実行中に、前記書換モードで待機することを特徴とする電子制御装置。
【請求項２】
前記第１マイクロコンピュータが前記現行プログラムの書き換えを終了したときに、前記第２マイクロコンピュータが前記現行プログラムの書き換え実行中である場合は、前記第１マイクロコンピュータは、その後は前記書換モードのまま待機することを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記複数のマイクロコンピュータの前記現行プログラムの書き換えが終了した場合は、
前記複数のマイクロコンピュータは、いずれも、前記メモリに記憶されている現行プログラムに従った制御を開始させるためのリセット処理を同時に実行した後、前記通常制御モードでの動作を同時に開始することを特徴とする請求項１又は２に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のマイクロコンピュータを備え、ＣＡＮ通信を行う電子制御装置に関する。
【背景技術】
【０００２】
例えば下記特許文献１に記載されているように、電子制御装置において、マイクロコンピュータのメモリに記憶されたプログラムを書き換え可能としたものが知られている。このプログラムの書き換えは、マイクロコンピュータが、スキャンツール等と称される外部の書換ツールとＣＡＮ（Controller Area Network）によって通信を行い、当該書換ツールから新規プログラムを受信することで行うことが一般的となっている。これにより、電子制御装置が市場に供給された後に、メモリに記憶されているプログラムに不具合が発見された場合でも、マイクロコンピュータそのものを交換することなく、プログラムを改良したものに書き換えて対応することが可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２４２９９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
自動車等に用いられる電子制御装置では、複数のマイクロコンピュータが備えられることが一般的となっている。また、近年の自動車の多機能化に伴い、電子制御装置に備えられるマイクロコンピュータの数は増加傾向にある。このため、電子制御装置の各マイクロコンピュータのメモリに記憶されたプログラムの書き換えが終了するまでに、多くの時間を要していた。
【０００５】
当該書き換えに要する時間を短縮するための方法として、予めプログラムを圧縮してデータ量を小さくし、書換ツールからマイクロコンピュータへのプログラムの送信に要する時間を短縮するものが知られている。しかしながら、送信するプログラムの種類によっては圧縮率が小さくなり、十分な効果を得られない場合も少なくなかった。このような背景から、複数のマイクロコンピュータを備えながらも、プログラムの書き換えを迅速に終了させることができる電子制御装置が待望されていた。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的は、複数のマイクロコンピュータを備え、ＣＡＮ通信を行う電子制御装置であって、マイクロコンピュータのプログラムの書き換えを迅速に終了させることが可能な電子制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る電子制御装置は、複数のマイクロコンピュータを備え、ＣＡＮ通信を行う電子制御装置（１）であって、前記複数のマイクロコンピュータは、少なくとも第１マイクロコンピュータ（２０）、第２マイクロコンピュータ（３０）及び第３マイクロコンピュータ（４０）からなり、現行プログラムを記憶するとともに該現行プログラムを新規プログラムと書き換え可能なメモリ（２２，３２，４２）をそれぞれ有し、前記メモリに記憶されている前記現行プログラムに従って制御を行う通常制御モードと、書換ツール（７）から前記新規プログラムを受信して前記メモリに記憶された前記現行プログラムの書き換えを可能とする書換モードと、で動作可能であり、前記第１マイクロコンピュータは、前記書換モードで第１ＣＡＮチャネルを用いて前記書換ツールと通信して前記現行プログラムの書き換えを実行し、前記第２マイクロコンピュータは、前記第１マイクロコンピュータが前記現行プログラムの書き換え実行中に、前記書換モードで第２ＣＡＮチャネルを用いて前記書換ツールと通信して前記現行プログラムの書き換えを実行し、前記第３マイクロコンピュータは、前記第１マイクロコンピュータ及び前記第２マイクロコンピュータが前記現行プログラムの書き換え実行中に、前記書換モードで待機する。
【０００８】
本発明によれば、第１マイクロコンピュータは、第１ＣＡＮチャネルを用いて書換ツールと通信して現行プログラムの書き換えを実行する。一方、第２マイクロコンピュータは、第１マイクロコンピュータが現行プログラムの書き換え実行中に、第２ＣＡＮチャネルを用いて書換ツールと通信して現行プログラムの書き換えを実行する。これにより、第１マイクロコンピュータ及び第２マイクロコンピュータは同時にそれぞれの現行プログラムの書き換えを行うことが可能となるため、その書き換えを迅速に終了させることができる。
【０００９】
ここで、第１マイクロコンピュータ及び第２マイクロコンピュータが書換モードで動作しているときに、第３マイクロコンピュータが通常制御モードで動作していると、各マイクロコンピュータは、相互に異常が生じていると誤って判定してしまうおそれがある。
【００１０】
そこで、本発明によれば、第３マイクロコンピュータは、第１マイクロコンピュータ及び第２マイクロコンピュータが書換モードで現行プログラムの書き換え実行中に、書換モードで待機する。これにより、各マイクロコンピュータが誤った異常判定を行うことなく、現行プログラムの書き換えを迅速に終了させることができる。
【発明の効果】
【００１１】
本発明によれば、複数のマイクロコンピュータを備え、ＣＡＮ通信を行う電子制御装置であって、マイクロコンピュータのプログラムの書き換えを迅速に終了させることが可能な電子制御装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る電子制御装置の構成を示すブロック図である。
【図２】マイクロコンピュータＡ及びマイクロコンピュータＢが実行する処理を示すフローチャートである。
【図３】マイクロコンピュータＣが実行する処理を示すフローチャートである。
【図４】書き換えツール、マイクロコンピュータＡ、マイクロコンピュータＢ及びマイクロコンピュータＣが実行する処理の流れを示す説明図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照しながら本発明の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素については可能な限り同一の符号を付して、重複する説明は省略する。
【００１４】
まず、図１を参照しながら、本発明の実施形態に係る電子制御装置１の構成について説明する。電子制御装置１は、車両（不図示）に搭載され、当該車両のエンジン（不図示）等を制御する電子機器である。電子制御装置１は、マイクロコンピュータＡ２０、マイクロコンピュータＢ３０及びマイクロコンピュータＣ４０を有している（以下、それぞれ「マイコンＡ２０」、「マイコンＢ３０」、「マイコンＣ４０」とも称する）。
【００１５】
マイコンＡは、例えばエンジンの制御を行い、車両のイグニションスイッチ（不図示）がオン状態である間に供給される電力によって動作する。また、マイコンＢは、例えば車両に搭載された他の機器の制御を行う。さらに、マイコンＣは、例えば他の電子制御装置に対する電力供給の制御を行う。
【００１６】
マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０は、その基本的なハードウェア構成が同一である。したがって、以下では、マイコンＡ２０のハードウェア構成について主に説明し、マイコンＢ３０及びマイコンＣ４０のハードウェア構成については説明を適宜省略する。図１では、マイコンＡ２０の要素については、例えば「ＣＰＵ２１」のように２０番台の符号を付しているのに対し、マイコンＢ３０及びマイコンＣ４０の要素については、「ＣＰＵ３１」や「ＣＰＵ４１」のように、それぞれ３０番台と４０番台の符号を付している。また、マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０で互いに対応する要素の符号については、一の位を共通させている。
【００１７】
マイコンＡ２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、を有している。
【００１８】
ＣＰＵ２１は、所定のプログラムに従って演算を行う演算装置である。ＣＰＵ２１は、エンジンを制御するための演算を行うほか、後述するようにＲＯＭ２２に記憶されているプログラムを書き換える際の演算も行う。
【００１９】
ＲＯＭ２２は、マイコンＡ２０内に設けられた記憶素子である。具体的には、ＲＯＭ２２は、エンジンを制御するための制御プログラムと、この制御プログラムを書き換えるための書換処理プログラムと、を少なくとも記憶している。ＣＰＵ２１は、このＲＯＭ２２に記憶されているプログラムに従って各種演算を行う。
【００２０】
ＲＯＭ２２は、記憶している各種データの書き換えを電気的に行うことができるＲＯＭ（Electrical Erasable Programmable ROM）である。ＲＯＭ２２は、記憶している制御プログラム（以下、これを「現行プログラム」とも称する）を、書換ツール７から受信する新たな制御プログラム（以下、これを「新規プログラム」とも称する）によって書き換えることが可能に構成されている。書換ツール７はスキャンツール等と称され、自動車修理工場等で作業者によってＣＡＮバスＣ０に接続されることで、電子制御装置１との通信が可能となる外部機器である。書き換えによってＲＯＭ２２に記憶された新規プログラムは新たな現行プログラムとなり、ＣＰＵ２１は、書き換え後はこの新たな現行プログラムに従って演算を行う。
【００２１】
ＲＡＭ２３は、マイコンＡ２０内に設けられた記憶素子である。ＲＡＭ２３は、ＣＰＵ２１による演算結果や、車両に搭載される各種センサ等（不図示）から入力されるデータを一時的に記憶する。
【００２２】
マイコンＡ２０は、そのＲＯＭ２２が記憶している現行プログラムを新規プログラムによって書き換える際、ＲＯＭ２２が記憶している書換処理プログラムをＲＡＭ２３に転送する。ＣＰＵ２１は、このＲＡＭ２３に転送された書換処理プログラムに従って演算を行い、書換ツール７から受信する新規プログラムをＲＯＭ２２に記憶させる。これにより、ＲＯＭ２２の交換や、ＲＯＭライタ等の装置を要することなく、ＲＯＭ２２に記憶されている現行プログラムを更新することが可能となる。
【００２３】
マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０は、それぞれ通信ドライバ３Ａ，３Ｂ，３Ｃを介してＣＡＮバスＣ０の第１ＣＡＮバスＣ１及び第２ＣＡＮバスＣ２に接続されている。これにより、マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０は、同じく第１ＣＡＮバスＣ１及び第２ＣＡＮバスＣ２と接続されたエンジンや書換ツール７と、第１ＣＡＮチャネル及び第２ＣＡＮチャネルを用いたＣＡＮ通信が可能な状態となる。
【００２４】
また、マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０は、いずれも「通常制御モード」と「書換モード」とで動作可能である。「通常制御モード」は、マイコンＡ２０等がそのＲＯＭ２２等に記憶されている現行プログラムに従って制御を行うモードである。また、「書換モード」は、マイコンＡ２０等が書換ツール７から新規プログラムを受信可能な状態で待機するとともに、新規プログラムを受信した場合は、そのＲＯＭ２２等に記憶されている現行プログラムを当該新規プログラムによって書き換えるモードである。マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０は、いずれも書換ツール７と書換モード移行通信を行うことで、通常制御モードから書換モードに移行可能となるように構成されている。
【００２５】
次に、以上のように構成された電子制御装置１において、マイコンＡ２０及びマイコンＢ３０の現行プログラムを書き換える一方で、マイコンＣ４０の現行プログラムの書き換えを行わない場合の動作について説明する。
【００２６】
まず、図２及び図４を参照しながら、現行プログラムの書き換えが行われるマイコンＡ２０及びマイコンＢ３０が実行する処理について説明する。尚、図２の各処理において括弧外に付された符号は、マイコンＡ２０が実行する処理を示しており、括弧内に付された符号は、マイコンＢ３０が実行する処理を示している。以下の説明においても、括弧内はマイコンＢ３０が実行する処理について示すものとする。
【００２７】
図２に示される処理のうち、ステップＳ１０１（Ｓ２０１）からステップＳ１０７（Ｓ２０７）の処理は、ＲＯＭ２２（３２）が記憶している制御プログラム、すなわち現行プログラムによって実現されるものである。また、図２の処理のうち、ステップＳ１０８（Ｓ２０８）からステップＳ１１２（Ｓ２１２）の処理は、ＲＯＭ２２（３２）からＲＡＭ２３（３３）に一時的に転送される書換処理プログラムによって実現されるものである。
【００２８】
図２及び図４に示されるように、マイコンＡ２０（マイコンＢ３０）は、初期状態から動作を開始すると、それぞれステップＳ１０１（Ｓ２０１）で、通常制御モードで動作する。すなわち、マイコンＡ２０（マイコンＢ３０）は、ＲＯＭ２２（３２）に記憶されている現行プログラムＡ（Ｂ）に従って制御を行う。
【００２９】
次に、図２に示されるように、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１０２（Ｓ２０２）で、通常制御モードでの動作中に、書換ツール７からセキュリティ通信Ａ（Ｂ）の信号を受信したか否かを判定する。書換ツール７からセキュリティ通信Ａ（Ｂ）の信号を受信していないと判定した場合（Ｓ１０２：ＮＯ（Ｓ２０２：ＮＯ））、マイコンＡ２０（マイコンＢ３０）は、通常制御モードでの動作を継続する。一方、書換ツール７からセキュリティ通信Ａ（Ｂ）の信号を受信したと判定した場合（Ｓ１０２：ＹＥＳ（Ｓ２０２：ＹＥＳ））、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１０３（Ｓ２０３）の処理に進む。
【００３０】
次に、図２にステップＳ１０３（Ｓ２０３）で示され、図４にステップＳ１０３（Ｓ２０３），Ｓ４０１（Ｓ４０２）で示されるように、マイコンＡ２０（マイコンＢ３０）は、引き続き書換ツール７とのセキュリティ通信Ａ（Ｂ）を行う。
【００３１】
次に、図２に示されるように、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１０４（Ｓ２０４）で、セキュリティを解除可能か否かを判定する。当該判定は、マイコンＡ２０（マイコンＢ３０）と書換ツール７との間での判定値の送受信に基づいて行う。
【００３２】
詳細には、まず、マイコンＡ２０（マイコンＢ３０）が、ある判定値に対応する信号を書換ツール７に送信する。第１ＣＡＮバスＣ１又は第２ＣＡＮバスＣ２を介して当該信号を受信した書換ツール７は、予め定められたセキュリティアルゴリズムに基づいて当該判定値の変換を行うとともに、変換後の判定値に対応する信号をマイコンＡ２０（マイコンＢ３０）に送信する。当該信号を受信したマイコンＡ２０（マイコンＢ３０）は、変換後の判定値がセキュリティアルゴリズムに基づいた適切なものであるか否かを判定し、適切なものであると判定した場合は、セキュリティを解除可能とする。セキュリティを解除可能ではないと判定した場合（Ｓ１０４：ＮＯ（Ｓ２０４：ＮＯ））、マイコンＡ２０（マイコンＢ３０）は、通常制御モードでの動作を継続する。一方、セキュリティを解除可能であると判定した場合（Ｓ１０４：ＹＥＳ（Ｓ２０４：ＹＥＳ））、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１０５（Ｓ２０５）の処理に進む。
【００３３】
次に、図２に示されるように、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１０５（Ｓ２０５）で、セキュリティを解除可能と判定してから所定時間内に、書換ツール７からモード切替コマンドＡ（Ｂ）を受信したか否かを判定する。そして、所定時間内にモード切替コマンドＡ（Ｂ）を受信しなかったと判定した場合（Ｓ１０５：ＮＯ（Ｓ２０５：ＮＯ））、マイコンＡ２０（マイコンＢ３０）は、通常制御モードでの動作を継続する。一方、所定時間内にモード切替コマンドＡ（Ｂ）を受信したと判定した場合（Ｓ１０５：ＹＥＳ（Ｓ２０５：ＹＥＳ））、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１０６（Ｓ２０６）の処理に進む。
【００３４】
次に、図２にステップＳ１０６（Ｓ２０６）で示され、図４でステップＳ１０６（Ｓ２０６），Ｓ４０４（Ｓ４０５）で示されるように、マイコンＡ２０（マイコンＢ３０）は、書換ツール７と書換モード移行通信Ａ（Ｂ）を行う。
【００３５】
次に、図２に示されるように、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１０７（Ｓ２０７）で、書換モードに移行可能か否かを判定する。具体的には、マイコンＡ２０（マイコンＢ３０）は、車両のエンジンが停止しているか否かを判定する。エンジンの駆動中にマイコンＡ２０（マイコンＢ３０）が通常制御モードから書換モードに移行すると、エンジンの制御が不安定となり危険を招くおそれがある。したがって、マイコンＡ２０（マイコンＢ３０）は、エンジンが停止している場合のみ、書換モードに移行可能と判定する。書換モードに移行可能ではないと判定した場合（Ｓ１０７：ＮＯ（Ｓ２０７：ＮＯ））、マイコンＡ２０（マイコンＢ３０）は、通常制御モードでの動作を継続する。一方、書換モードに移行可能であると判定した場合（Ｓ１０７：ＹＥＳ（Ｓ２０７：ＹＥＳ））、マイコンＡ２０（マイコンＢ３０）は、書換モードに移行するとともに、ステップＳ１０８（Ｓ２０８）の処理に進む。
【００３６】
次に、図２に示されるように、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１０８（Ｓ２０８）で、書換データを受信したか否かを判定する。すなわち、マイコンＡ２０（マイコンＢ３０）は、書換ツール７から新規プログラムＡ（Ｂ）のデータを受信したか否かを判定する。書換データを受信したと判定した場合（Ｓ１０８：ＹＥＳ（Ｓ２０８ＹＥＳ））、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１０９（Ｓ２０９）の処理に進む。
【００３７】
次に、図２にステップＳ１０９（Ｓ２０９）で示され、図４にステップＳ１０９（Ｓ２０９），Ｓ４０７（Ｓ４０８）で示されるように、マイコンＡ２０（マイコンＢ３０）は、書換ツール７とデータ通信Ａ（Ｂ）を行って引き続き新規プログラムＡ（Ｂ）のデータを受信し、当該新規プログラムＡ（Ｂ）による書換処理を実行する。このとき、マイコンＡ２０は、第１ＣＡＮバスＣ１を介して第１ＣＡＮチャネルで書換ツール７とのデータ通信Ａを行うのに対し、マイコンＢ３０は、第２ＣＡＮバスＣ２を介して第２ＣＡＮチャネルで書換ツール７とのデータ通信Ｂを行う。
【００３８】
次に、図２に示されるように、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１１０（Ｓ２１０）で、新規プログラムＡ（Ｂ）による書き換えが終了したか否かを判定する。新規プログラムＡ（Ｂ）による書き換えが終了したと判定した場合（Ｓ１１０：ＹＥＳ（Ｓ２１０：ＹＥＳ））、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１１１（Ｓ２１１）の処理に進む。
【００３９】
次に、図２に示されるように、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１１１（Ｓ２１１）で、書換ツール７から通信終了信号を受信したか否かを判定する。当該通信終了信号は、マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０の全てがデータ通信を行っていない状態となった場合に、図４にステップＳ４０９で示されるように、書換ツール７からマイコンＡ２０、マイコンＢ３０及びマイコンＣ４０の全てに送信する信号である。書換ツール７から通信終了信号を受信していないと判定した場合（Ｓ１１１：ＮＯ（Ｓ２１１：ＮＯ））、マイコンＡ２０（マイコンＢ３０）は、通信終了信号の受信に待機する。
【００４０】
ここで、図４にステップＳ１０９，Ｓ２０９で示されるように、第１ＣＡＮバスＣ１と第２ＣＡＮバスＣ２とのデータ転送速度の差異や、新規プログラムＡと新規プログラムＢとのデータサイズの差異等により、マイコンＡ２０がマイコンＢ３０よりも先に新規プログラムＡによる書換処理を終了する場合が生じ得る。この場合、マイコンＡ２０は、ステップＳ１１１で、通信終了信号の受信（すなわち、マイコンＢ３０の書換処理の終了）に待機する状態となる。書換ツール７から通信終了信号を受信したと判定した場合（Ｓ１１１：ＹＥＳ（Ｓ２１１：ＹＥＳ））、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１１２（Ｓ２１２）の処理に進む。
【００４１】
次に、図２及び図４に示されるように、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１１２（Ｓ２１２）で、リセット処理を実行する。すなわち、マイコンＡ２０（マイコンＢ３０）は、書き換えによってＲＯＭ２２（３２）に記憶された新規プログラムＡ（Ｂ）を新たな現行プログラムＡ（Ｂ）とする処理を実行する。
【００４２】
次に、図２及び図４に示されるように、マイコンＡ２０（マイコンＢ３０）は、ステップＳ１１３（Ｓ２１３）で、ＲＯＭ２２に記憶されている現行プログラムＡ（Ｂ）に従って通常制御モードでの動作を開始する。
【００４３】
続いて、図３及び図４を参照しながら、現行プログラムの書き換えが行われないマイコンＣ４０が実行する処理について説明する。
【００４４】
図３に示される処理のうち、ステップＳ３０１からステップＳ３０７の処理は、ＲＯＭ４２が記憶している制御プログラム、すなわち現行プログラムによって実現されるものである。また、図３の処理のうち、ステップＳ３１１からステップＳ３１３の処理は、ＲＯＭ４２からＲＡＭ４３に一時的に転送される書換処理プログラムによって実現されるものである。
【００４５】
図３及び図４に示されるように、マイコンＣ４０は、初期状態から動作を開始すると、ステップＳ３０１で、通常制御モードで動作する。すなわち、マイコンＣ４０は、ＲＯＭ４２に記憶されている現行プログラムＣに従って制御を行う。
【００４６】
次に、図３に示されるように、マイコンＣ４０は、ステップＳ３０２で、通常制御モードでの動作中に、書換ツール７からセキュリティ通信Ｃの信号を受信したか否かを判定する。書換ツール７からセキュリティ通信Ｃの信号を受信していないと判定した場合（Ｓ３０２：ＮＯ）、マイコンＣ４０は、通常制御モードでの動作を継続する。一方、書換ツール７からセキュリティ通信Ｃの信号を受信したと判定した場合（Ｓ３０２：ＹＥＳ）、マイコンＣ４０は、ステップＳ３０３の処理に進む。
【００４７】
次に、図３にステップＳ３０３で示され、図４にステップＳ３０３，Ｓ４０３で示されるように、マイコンＣ４０は、引き続き書換ツール７とのセキュリティ通信Ｃを行う。
【００４８】
次に、図３に示されるように、マイコンＣ４０は、ステップＳ３０４で、セキュリティを解除可能か否かを判定する。当該判定は、前述したマイコンＡ２０及びマイコンＢ３０の場合と同様に、書換ツール７との判定値の送受信に基づいて行う。
【００４９】
次に、図３に示されるように、マイコンＣ４０は、ステップＳ３０５で、セキュリティを解除可能と判定してから所定時間内に、書換ツール７からモード切替コマンドＣを受信したか否かを判定する。そして、所定時間内にモード切替コマンドＣを受信しなかったと判定した場合（Ｓ３０５：ＮＯ）、マイコンＣ４０は、通常制御モードでの動作を継続する。一方、所定時間内にモード切替コマンドＣを受信したと判定した場合（Ｓ３０５：ＹＥＳ）、マイコンＣ４０は、ステップＳ３０６の処理に進む。
【００５０】
次に、図３にステップＳ３０６で示され、図４でステップＳ３０６，Ｓ４０６で示されるように、マイコンＣ４０は、書換ツール７と書換モード移行通信Ｃを行う。
【００５１】
次に、図３に示されるように、マイコンＣ４０は、ステップＳ３０７で、書換モードに移行可能か否かを判定する。具体的には、マイコンＣ４０は、車両のエンジンが停止しているか否かを判定する。前述したマイコンＡ２０及びマイコンＢ３０の場合と同様に、マイコンＣ４０は、エンジンが停止している場合のみ、書換モードに移行可能と判定する。書換モードに移行可能ではないと判定した場合（Ｓ３０７：ＮＯ）、マイコンＣ４０は、通常制御モードでの動作を継続する。一方、書換モードに移行可能であると判定した場合（Ｓ３０７：ＹＥＳ）、マイコンＣ４０は、書換モードに移行するとともに、ステップＳ３１１の処理に進む。
【００５２】
次に、図２に示されるように、マイコンＣ４０は、ステップＳ３１１で、書換ツール７から通信終了信号を受信したか否かを判定する。書換ツール７から通信終了信号を受信していないと判定した場合（Ｓ３１１：ＮＯ）、マイコンＣ４０は、通信終了信号の受信に待機する。
【００５３】
前述したように、マイコンＣ４０は現行プログラムＣの書き換えを行わない。したがって、マイコンＣ４０は、書換ツール７から新規プログラムのデータが送信されてくることはなく、書換モードのまま待機する。書換ツール７から通信終了信号を受信したと判定した場合（Ｓ３１１：ＹＥＳ）、マイコンＣ４０は、ステップＳ３１２の処理に進む。
【００５４】
次に、図２及び図４に示されるように、マイコンＣ４０は、ステップＳ３１２で、リセット処理を実行する。マイコンＣ４０は、そのＲＯＭ４２に記憶されている現行プログラムＣの書き換えが行われなかったが、再度その現行プログラムＣに従った制御を開始する。
【００５５】
次に、図２及び図４に示されるように、マイコンＣ４０は、ステップＳ３１３で、ＲＯＭ４２に記憶されている現行プログラムＣに従って通常制御モードでの動作を開始する。
【００５６】
以上のように、本実施形態に係る電子制御装置１によれば、マイコンＡ２０は、第１ＣＡＮチャネルを用いて書換ツール７と通信して現行プログラムＡの書き換えを実行する。一方、マイコンＢ３０は、マイコンＡ２０が現行プログラムＡの書き換え実行中に、第２ＣＡＮチャネルを用いて書換ツール７と通信して現行プログラムＢの書き換えを実行する。これにより、マイコンＡ２０及びマイコンＢ３０は同時に現行プログラムＡ，Ｂの書き換えを実行することが可能となるため、その書き換えを迅速に終了させることができる。
【００５７】
ここで、マイコンＡ２０及びマイコンＢ３０が書換モードで動作しているときに、第３マイクロコンピュータが通常制御モードで動作していると、マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０は、相互に異常が生じていると誤って判定してしまうおそれがある。
【００５８】
そこで、本実施形態に係る電子制御装置１によれば、マイコンＣ４０は、マイコンＡ２０及びマイコンＢ３０が書換モードで現行プログラムＡ，Ｂの書き換え実行中に、書換モードで待機する。これにより、マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０の誤った異常判定を防止するとともに、現行プログラムＡ，Ｂの書き換えを迅速に終了させることができる。
【００５９】
また、本実施形態に係る電子制御装置１によれば、マイコンＡ２０が現行プログラムＡの書き換えを終了したときに、マイコンＢ３０が現行プログラムＢの書き換え実行中である場合は、マイコンＡ２０は、その後は書換モードのまま待機する。これにより、マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０の誤った異常判定をさらに確実に防止しながら、現行プログラムＡ，Ｂの書き換えを迅速に終了させることができる。
【００６０】
また、本実施形態に係る電子制御装置１によれば、マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０の現行プログラムＡ，Ｂ，Ｃの書き換えが終了した場合は、マイコンＡ２０、マイコンＢ３０及びマイコンＣ４０は、ＲＯＭ２２，３２、４２に記憶されている現行プログラムＡ，Ｂ，Ｃに従った制御を開始させるためのリセット処理を同時に実行した後、通常制御モードでの動作を同時に開始する。これにより、現行プログラムＡ，Ｂ，Ｃの書き換え終了後にマイコンＡ２０、マイコンＢ３０及びマイコンＣ４０を全て通常制御モードで動作させ、それらの誤った異常判定をさらに確実に防止しながら、現行プログラムＡ，Ｂ，Ｃの書き換えを迅速に終了させることができる。
【００６１】
以上、具体例を参照しつつ本発明の実施の形態について説明した。しかし、本発明はこれらの具体例に限定されるものではない。すなわち、これら具体例に、当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。例えば、前述した各具体例が備える各要素およびその配置、材料、条件、形状、サイズなどは、例示したものに限定されるわけではなく適宜変更することができる。また、前述した各実施の形態が備える各要素は、技術的に可能な限りにおいて組み合わせることができ、これらを組み合わせたものも本発明の特徴を含む限り本発明の範囲に包含される。
【符号の説明】
【００６２】
１：電子制御装置
７：書換ツール
２０：マイクロコンピュータＡ（第１マイクロコンピュータ）
３０：マイクロコンピュータＢ（第２マイクロコンピュータ）
４０：マイクロコンピュータＣ（第３マイクロコンピュータ）
２２，３２，４２：ＲＯＭ（メモリ）
【図１】
0006330699.tif 000002
【図２】
0006330699.tif 000003
【図３】
0006330699.tif 000004
【図４】
0006330699.tif 000005