(57)【要約】【課題】制御ソフトが連続して書き換えられる２つのマイコンＡ，Ｂのうち、少なくとも後で書き換えが実施される方のマイコンＡは常時電源供給される電子制御装置において、各マイコンＡ、Ｂの制御ソフトを確実に書き換え可能にする。【解決手段】マイコンＡには、誤って書換モードになった場合の対策として、書換モード時に書換ツールから必要な情報が一定時間以内に送られてこなければ通常モードに戻るタイムアウト機能が設けられている。そこで、両マイコンＡ，Ｂを通常モードから離脱させて制御ソフトを書き換える場合、マイコンＢは通常モードから書換モードになるが、マイコンＡは待機状態となる。そして、マイコンＡは、マイコンＢの制御ソフトの書き換えが終了して書換ツールからの書換対象切換コマンドを受けると書換モードに移行する。このため、マイコンＢの制御ソフトの書き換え中にマイコンＡがタイムアウト機能により通常モードに戻ることがない。【選択図】図９
2008242995.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信可能に接続される第１マイコン及び第２マイコンを備え、
前記第１マイコン及び第２マイコンの各々は、電気的にデータの書き換えが可能な不揮発性メモリを有すると共に、通常モード時には、その不揮発性メモリに格納された制御ソフトウェアを実行することで制御対象を制御し、前記外部装置からのモード切換指令を受けた場合には、前記制御ソフトウェアとは別の書換処理用ソフトウェアを実行する書換モードに移行して、その書換処理用ソフトウェアを実行することにより、前記不揮発性メモリ内の制御ソフトウェアを前記外部装置から送信されて来る制御ソフトウェアに書き替えるための書換処理を行うようになっており、
また、前記２つのマイコンの制御ソフトウェアが連続して書き換えられる場合には、前記外部装置から前記各マイコンへ前記モード切換指令が送信されると共に、前記第２マイコンの方が先に制御ソフトウェアの書き換えが実施されるようになっており、
更に、前記２つのマイコンのうち、少なくとも前記第１マイコンは、常時電源が供給されるようになっていると共に、
前記第１マイコンが実行する前記書換処理用ソフトウェアには、当該第１マイコンにおいて前記書換処理を実施するために必要な所定の情報が前記外部装置から当該第１マイコンへ一定時間以内に送られてきたか否かを監視し該情報が送られてこなければ前記制御ソフトウェアを実行する通常モードに復帰するタイムアウト機能を、当該第１マイコンに実現させるプログラムが含まれている電子制御装置において、
前記第１マイコンは、前記モード切換指令を受けた場合に、そのまま前記書換モードに移行するのではなく、前記制御ソフトウェアを実行せずに前記書換モードへ移行するのを待つ待機状態となり、その後、前記外部装置からのモード移行許可指令を受けると、前記書換モードに移行するようになっていること、
を特徴とする電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、
前記第１マイコンが実行する前記制御ソフトウェアには、前記第２マイコンにて該第２マイコンの前記不揮発性メモリに格納されている制御ソフトウェアが正常に実行されているか否かを監視すると共に、その制御ソフトウェアが正常に実行されていないと判断すると前記第２マイコンをリセットするための動作を行う監視機能を、前記第１マイコンに実現させるプログラムが含まれていること、
を特徴とする電子制御装置。
【請求項３】
請求項２に記載の電子制御装置において、
前記第１マイコンは、前記書換処理が終了すると通常モードに復帰するようになっており、
前記第２マイコンは、前記書換処理が終了すると、前記制御ソフトウェアを実行しない無制御状態となり、その後、前記第１マイコンの前記監視機能によりリセットされることで通常モードに復帰すること、
を特徴とする電子制御装置。
【請求項４】
請求項１ないし請求項３の何れか１項に記載の電子制御装置において、
前記モード移行許可指令は、前記外部装置が制御ソフトウェアの書換対象を前記第１マイコン以外のマイコンから前記第１マイコンに切り換える場合に送信する書換対象切換指令であること、
を特徴とする電子制御装置。
【請求項５】
請求項１ないし請求項４の何れか１項に記載の電子制御装置において、
前記第１マイコンは、前記待機状態となっている場合に、特定の復帰条件が成立したか
否かを判定し、その復帰条件が成立したと判定すると、通常モードに復帰するようになっていること、
を特徴とする電子制御装置。
【請求項６】
請求項５に記載の電子制御装置において、
前記第１マイコンは、前記待機状態となっている場合に、前記外部装置から、制御ソフトウェアの書き換えが終了したことを示す終了通知が送信されてきたか否かを判定し、その終了通知が送信されてきたならば、前記復帰条件が成立したとして通常モードに復帰すること、
を特徴とする電子制御装置。
【請求項７】
請求項５又は請求項６に記載の電子制御装置において、
前記第１マイコンは、前記待機状態となっている場合に、特定の操作部が操作されたか否かを判定し、その操作部が操作されたならば、前記復帰条件が成立したとして通常モードに復帰するようになっていること、
を特徴とする電子制御装置。
【請求項８】
請求項１ないし請求項７の何れか１項に記載の電子制御装置において、
前記第１マイコンは、前記待機状態となっている場合に、当該第１マイコンが該待機状態であるならばアクティブレベルとなるはずの信号をモニタし、その信号がアクティブレベルでなければ通常モードに復帰するようになっていること、
を特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のマイコン（マイクロコンピュータ）を備えた電子制御装置に関し、特に、その各マイコンの制御ソフトウェアをオンボード書き換え可能な電子制御装置に関するものである。
【背景技術】
【０００２】
従来より、自動車用の電子制御装置として、電気的にデータの書き換えが可能なＥＥＰＲＯＭやフラッシュメモリなどの不揮発性メモリ（以下、書換可能不揮発性メモリともいう）を有するマイコンを備え、その書換可能不揮発性メモリに格納された制御プログラムや制御データからなる制御ソフトウェアを、市場への供給後でも書き換えることができるようにしたものがある。
【０００３】
即ち、この種の電子制御装置において、マイコンは、通常時には、書換可能不揮発性メモリに格納された制御ソフトウェアを実行することでエンジン等の制御対象を制御するが、当該電子制御装置と通信可能に接続される書換装置からのモード切換指令を受けると、制御ソフトウェアとは別の書換処理用ソフトウェアを実行する書換モードに移行して、書換可能不揮発性メモリ内の制御ソフトウェアを書換装置から送信されて来る制御ソフトウェアに書き換えるための書換処理を行う。
【０００４】
よって、このような電子制御装置によれば、マイコンを当該装置に実装した状態で、書換可能不揮発性メモリ内の制御ソフトウェアを書き換える、所謂オンボード書き換えが可能となるため、市場への供給後に何等かの原因で動作内容（制御内容）を変更しなければならない事態が起こったとしても、容易に対応することができる。
【０００５】
そして、近年、この種の電子制御装置では、制御内容の複雑化に伴って、複数のマイコンを搭載したものが主流となっており、各マイコンについて、制御ソフトウェアのオンボード書き換えが可能となるように構成することが考えられる（例えば特許文献１，２参照）。
【０００６】
また、複数のマイコンを搭載した電子制御装置においては、特定のマイコンに他のマイコンを監視する監視機能を持たせる場合もある。つまり、特定のマイコンが、制御ソフトウェアを実行する通常モード時において、監視対象である他のマイコンにて制御ソフトウェアが正常に実行されているか否かを監視し、異常と判断したならば上記他のマイコンをリセットする、といった構成を採る場合がある（例えば特許文献１，２参照）
【特許文献１】特許第３０９７５８０号公報
【特許文献２】特許第３１３７０１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、複数の各マイコンの制御ソフトウェアをオンボード書き換え可能な電子制御装置においては、各マイコンの制御ソフトウェアを連続して書き換える場合に、各マイコンを１つずつ書換モードにするのではなく、まず書換装置からのモード切換指令により全てのマイコンを書換モードに移行させ、その状態で、各マイコンの制御ソフトウェアを順番に書き換えるように構成することが考えられる。なぜなら、複数のマイコンが情報を共有しながら各自の制御対象を制御する構成の場合に、あるマイコンの制御ソフトウェアを書き換えている最中に他のマイコンを通常モードで動作させても所望の制御を確実に行うことができず、全てのマイコンを通常モードから離脱させる方が好ましいと考えられるか
らである。
【０００８】
また特に、この手法は、あるマイコンＭａに他のマイコンＭｂを監視する監視機能を持たせている場合に必要である。つまり、監視する側のマイコンＭａを通常モードにしたままで、監視対象であるマイコンＭｂの制御ソフトウェアの書き換えを実施すると、マイコンＭａが前述の監視機能によってマイコンＭｂをリセットしてしまうからであり、このため、マイコンＭａ，Ｍｂの両方を通常モードから離脱させて、マイコンＭａに備えられた監視機能を無効化する必要があるからである。
【０００９】
しかし、各マイコンの制御ソフトウェアを連続して書き換える場合に全てのマイコンを書換モードに移行させる手法を、下記（１）及び（２）の２つの条件を満たす電子制御装置に適用すると、制御ソフトウェアの書き換えを正常に実施することができなくなってしまう可能性がある。
【００１０】
（１）少なくとも２つのマイコンＡ，Ｂを備えていると共に、その２つのマイコンＡ，Ｂの制御ソフトウェアが連続して書き換えられる場合には、マイコンＢの方が先に（換言すれば、マイコンＡの方が後に）制御ソフトウェアの書き換えが実施される。
【００１１】
（２）マイコンＡ，Ｂのうちの少なくともマイコンＡは、常時電源が供給されるようになっている。
ここで、上記（１），（２）の条件を満たす電子制御装置の場合になぜ問題が生じるかについて具体的に説明する。
【００１２】
まず、例えば特許文献１，２に記載の電子制御装置のように、搭載された各マイコンが、車両のイグニッションスイッチのオンに伴い電源が供給されて動作するマイコンであるならば、何らかの原因により、制御ソフトウェアを実行する通常モードから書換モードに誤って移行してしまっても、イグニッションスイッチを一旦オフして再びオンすれば、通常モードに復帰させることができる。
【００１３】
これに対して、常時電源が供給されるマイコンでは、イグニッションスイッチのオフ→オンによる通常モードへの復帰ができないため、一般に、誤って書換モードに移行した場合のフェイルセーフ機能として、タイムアウト機能が設けられる。このタイムアウト機能は、書換モード時の書換処理用ソフトウェアが実行されることで実現される機能であり、書換処理を実施するために必要な情報（例えば、予め定められたコマンドや、書き換えるべき新たな制御ソフトウェアを構成するデータ等）が書換装置から一定時間以内に送られてきたか否かを監視して該情報が送られてこなければ通常モードに復帰する、という機能である。
【００１４】
このため、上記（１），（２）の条件を満たす電子制御装置の場合、少なくともマイコンＡには上記タイムアウト機能が設けられることとなる。
よって、マイコンＡ，Ｂの制御ソフトウェアを連続して書き換える場合において、全てのマイコンを書換モードに移行させると、先にマイコンＢの制御ソフトウェアを書き換えている間に、書換装置からマイコンＡには制御ソフトウェアの書き換えに必要な情報が送信されないため、マイコンＡが上記タイムアウト機能によって通常モードに復帰してしまい、その結果、マイコンＡの制御ソフトウェアを書き換えることができなくなってしまう。
【００１５】
そして更に、マイコンＡが通常モード時にマイコンＢを監視するようになっているので
あれば、タイムアウト機能によって通常モードに復帰したマイコンＡは、先に制御ソフトウェアの書き換えを行っている最中のマイコンＢをリセットしてしまうこととなる。このため、マイコンＢの制御ソフトウェアも正常に書き換えることができなくなってしまう。
【００１６】
本発明は、こうした問題に鑑みなされたものであり、制御ソフトウェアが連続して書き換えられる２つのマイコンのうち、少なくとも後で制御ソフトウェアの書き換えが実施される方のマイコンは常時電源供給されるようになっている電子制御装置において、各マイコンの制御ソフトウェアを確実に書き換え可能にすることを目的としている。
【課題を解決するための手段】
【００１７】
請求項１の電子制御装置は、外部装置と通信可能に接続される第１マイコン及び第２マイコンを備えている。そして、第１マイコン及び第２マイコンの各々は、電気的にデータの書き換えが可能な不揮発性メモリ（書換可能不揮発性メモリ）を有すると共に、通常モード時には、その不揮発性メモリに格納された制御ソフトウェアを実行することで制御対象を制御し、外部装置からのモード切換指令を受けた場合には、制御ソフトウェアとは別の書換処理用ソフトウェアを実行する書換モードに移行して、その書換処理用ソフトウェアを実行することにより、書換可能不揮発性メモリ内の制御ソフトウェアを外部装置から送信されて来る制御ソフトウェアに書き替えるための書換処理を行うようになっている。
【００１８】
また、請求項１の電子制御装置において、第１マイコンと第２マイコンの制御ソフトウェアが連続して書き換えられる場合には、外部装置から各マイコンへ前記モード切換指令が送信されると共に、第２マイコンの方が先に（換言すれば、第１マイコンの方が後に）制御ソフトウェアの書き換えが実施されるようになっている。
【００１９】
そして更に、２つのマイコンのうち、少なくとも第１マイコンは、常時電源が供給されるようになっており、その第１マイコンが実行する書換処理用ソフトウェアには、当該第１マイコンにおいて前記書換処理を実施するために必要な所定の情報が外部装置から当該第１マイコンへ一定時間以内に送られてきたか否かを監視し該情報が送られてこなければ制御ソフトウェアを実行する通常モードに復帰するタイムアウト機能を、当該第１マイコンに実現させるプログラムが含まれている。つまり、常時電源が供給されると共に、第２マイコンの後で制御ソフトウェアの書き換えが行われる第１マイコンは、書換モードの場合にタイムアウト機能を有することとなる。
【００２０】
そこで特に、請求項１の電子制御装置において、第１マイコンは、外部装置からのモード切換指令を受けた場合に、そのまま書換モードに移行するのではなく、制御ソフトウェアを実行せずに書換モードへ移行するのを待つ待機状態となり、その後、外部装置からのモード移行許可指令を受けると、書換モードに移行するようになっている。
【００２１】
このような電子制御装置において、第１マイコンと第２マイコンの制御ソフトウェアを書き換える場合には、まず、外部装置から各マイコンへモード切換指令を送信する。
すると、第２マイコンは通常モードから書換モードに移行し、第１マイコンは通常モードから抜けて待機状態となる。
【００２２】
その後、外部装置から第２マイコン用の制御ソフトウェアを送信すると、第２マイコンが、書換処理により、自己の書換可能不揮発性メモリに格納されている制御ソフトウェアを、その外部装置からの制御ソフトウェアに書き換えることとなる。
【００２３】
そして、第２マイコンの制御ソフトウェアの書き換えが終了した後、外部装置から第１マイコンへモード移行許可指令を送信すれば、第１マイコンを書換モードに移行させるこ
とができる。よって、その後、外部装置から第１マイコン用の制御ソフトウェアを送信することにより、第１マイコンの制御ソフトウェアを書き換えることができる。
【００２４】
ここで特に、第１マイコンは、第２マイコンの制御ソフトウェアの書き換えが行われている最中に、制御ソフトウェアを実行しないが書換モードにも移行しない（即ち、書換処理用ソフトウェアも実行しない）待機状態となるため、タイムアウト機能によって通常モードに復帰してしまうことはない。このため、第２マイコンに続いて、第１マイコンの制御ソフトウェアも確実に書き換えることができるようになる。
【００２５】
このように、請求項１の電子制御装置によれば、第２マイコンの制御ソフトウェアと第１マイコンの制御ソフトウェアを、その順に連続して書き換える場合に、その両方のマイコンを通常モードから離脱させても、第２マイコンの制御ソフトウェアを書き換えている最中に第１マイコンがタイムアウト機能によって通常モードに復帰してしまうことが防止され、各マイコンの制御ソフトウェアを確実に書き換えることができるようになる。
【００２６】
次に、請求項２の電子制御装置では、請求項１の電子制御装置において、第１マイコンが実行する制御ソフトウェアには、第２マイコンにて該第２マイコンの書換可能不揮発性メモリに格納されている制御ソフトウェアが正常に実行されているか否かを監視すると共に、その制御ソフトウェアが正常に実行されていないと判断すると第２マイコンをリセットするための動作を行う監視機能を、第１マイコンに実現させるプログラムが含まれている。つまり、第１マイコンは通常モード時に第２マイコンを監視して異常と判断すると第２マイコンをリセットするようになっている。
【００２７】
このような請求項２の電子制御装置によれば、第２マイコンの制御ソフトウェアの書き換えが行われている最中に、第１マイコンを通常モードから離脱した待機状態にして、その第１マイコンの第２マイコンに対する監視機能を無効化することができ、そのため、第１マイコンが第２マイコンをリセットしてしまうことを防止することができる。そして、前述したように、第２マイコンの制御ソフトウェアの書き換えが行われている最中に、第１マイコンがタイムアウト機能によって通常モードに復帰してしまうこともない。
【００２８】
このため、第１マイコンが通常モード時に第２マイコンを監視することと、その各マイコンの制御ソフトウェアを確実に書き換え可能にすることとを両立させることができる。
次に、請求項３の電子制御装置では、請求項２の電子制御装置において、第１マイコンは、制御ソフトウェアを書き換えるための書換処理が終了すると通常モードに復帰するようになっている。そして、第２マイコンは、書換処理が終了すると、制御ソフトウェアを実行しない無制御状態となり、その後、第１マイコンの監視機能によりリセットされることで通常モードに復帰する。つまり、書換処理が終了した第２マイコンは、その後に通常モードへと復帰した第１マイコンの監視機能によりリセットされて通常モードに戻る。
【００２９】
この構成によれば、２つのマイコンを自動的に且つほぼ同時に通常モードへと復帰させることができ、２つのマイコンによる制御開始の同期化が容易となる。また、第１マイコンの第２マイコンに対する監視機能の他に、例えば、第２マイコンが通常モード時に第１マイコンが正常か否かの異常検出を行うようになっている場合に、両マイコンの通常モードへの復帰タイミングが大きく異なると、その第２マイコンの異常検出機能によって異常と判定されてしまう可能性があるが、そのような不都合を防止することができる。
【００３０】
次に、請求項４の電子制御装置では、請求項１〜３の電子制御装置において、前記モード移行許可指令は、外部装置が制御ソフトウェアの書換対象を第１マイコン以外のマイコンから第１マイコンに切り換える場合に送信する書換対象切換指令である。
【００３１】
つまり、第２マイコンの制御ソフトウェアと第１マイコンの制御ソフトウェアを、その順に連続して書き換える場合、外部装置は、第２マイコンの制御ソフトウェアの書き換えが終了すると、第１マイコンへ、制御ソフトウェアの書換対象を第１マイコンに切り換えることを示す書換対象切換指令を送信するように構成されると考えられるため、その書換対象切換指令を、モード移行許可指令として用いている。そして、この構成によれば、外部装置から送信される指令を新たに設ける必要がないという点で有利である。
【００３２】
次に、請求項５の電子制御装置では、請求項１〜４の電子制御装置において、第１マイコンは、前記待機状態となっている場合に、特定の復帰条件が成立したか否かを判定し、その復帰条件が成立したと判定すると、通常モードに復帰するようになっている。
【００３３】
この構成によれば、第１マイコンと第２マイコンとのうち、第２マイコンの制御ソフトウェアだけを書き換える場合にも対応することができる。つまり、外部装置から各マイコンへモード切換指令を送信し、その後、第２マイコンの制御ソフトウェアの書き換えが終了した時点で、上記特定の復帰条件を成立させれば、第１マイコンを待機状態からそのまま通常モードに復帰させることができる。そして、第２マイコンの制御ソフトウェアだけを書き換えたい場合に、その作業を速やかに完了することができる。
【００３４】
尚、請求項３に従属する請求項５の電子制御装置ならば、第２マイコンの制御ソフトウェアだけを書き換える場合においても、上記特定の復帰条件を成立させて第１マイコンを通常モードに復帰させると、その第１マイコンの監視機能によって第２マイコンがリセットされて通常モードに復帰することとなる。
【００３５】
次に、請求項６の電子制御装置では、請求項５の電子制御装置において、第１マイコンは、前記待機状態となっている場合に、外部装置から、制御ソフトウェアの書き換えが終了したことを示す終了通知が送信されてきたか否かを判定し、その終了通知が送信されてきたならば、前記復帰条件が成立したとして通常モードに復帰する。
【００３６】
つまり、一般に、電子制御装置における制御ソフトウェアを書き換えるための外部装置は、制御ソフトウェアを書き換えるための一連の処理を終了する際に、終了通知を送信するようになっているため、「外部装置から終了通知が送信されてきた」ということを、復帰条件としている。そして、この構成によれば、復帰条件としての特別なトリガを追加することなく、待機状態の第１マイコンを通常モードに復帰させることができる。
【００３７】
次に、請求項７の電子制御装置では、請求項５，６の電子制御装置において、第１マイコンは、前記待機状態となっている場合に、特定の操作部が操作されたか否かを判定し、その操作部が操作されたならば、前記復帰条件が成立したとして通常モードに復帰するようになっている。
【００３８】
この構成によれば、前述した効果の他に、例えば第１マイコンが何らかの原因で誤って待機状態になってしまっても、特定の操作部を操作することにより、第１マイコンを強制的に通常モードへと復帰させることができる、という利点がある。
【００３９】
次に、請求項８の電子制御装置では、請求項１〜７の電子制御装置において、第１マイコンは、前記待機状態となっている場合に、当該第１マイコンが該待機状態であるならばアクティブレベルとなるはずの信号をモニタし、その信号がアクティブレベルでなければ通常モードに復帰するようになっている。
【００４０】
この構成によれば、第１マイコンが何らかの原因で誤って待機状態になってしまっても
、そのような場合にはモニタ対象の信号が非アクティブレベルであるため、第１マイコンを自動的に通常モードへと復帰させることができる。
【発明を実施するための最良の形態】
【００４１】
以下に、本発明が適用された実施形態の電子制御装置について説明する。尚、本実施形態の電子制御装置は、自動車（車両）に搭載される車載電子制御装置である。
まず図１に示すように、本実施形態の電子制御装置（以下、ＥＣＵという）１は、マイコンＡとマイコンＢを備えている。
【００４２】
マイコンＡは、例えば他のＥＣＵに対する電源供給制御や常時動作すべき車載機器の制御を行うマイコンであり、常時供給される電源電圧Ｖａを受けて動作する。
マイコンＢは、例えばエンジンを制御するマイコンであり、自動車のイグニッションスイッチがオンされている場合に供給される電源電圧Ｖｂを受けて動作する。
【００４３】
また、ＥＣＵ１は、車両に配設された車両内通信線２に接続されている。そして、ＥＣＵ１には、車両内通信線２に接続された他の装置とマイコンＡ，Ｂの各々が通信するための通信ドライバ３，５も備えられている。
【００４４】
更に、マイコンＡ，Ｂで実行されるソフトウェア（以下単にソフトという）を書き換える際には、車両内通信線２に、外部装置としての書換ツール７がコネクタ９を介して接続される。そして、マイコンＡ，Ｂは、通信ドライバ３，５を介して書換ツール７と通信することとなる。尚、図示は省略しているが、書換ツール７もマイコンを主要部として構成されており、通信ドライバ等も備えている。
【００４５】
次に、マイコンＡ，Ｂの構成について説明する。
マイコンＡには、データの書き換えが不能なＲＯＭ１１と、データの書き換えが可能な書換可能不揮発性メモリとしてのフラッシュメモリ１３と、ＲＯＭ１１及びフラッシュメモリ１３に格納されているソフトを実行するコア１５とが備えられている。
【００４６】
同様に、マイコンＢにも、データの書き換えが不能なＲＯＭ２１と、フラッシュメモリ２３と、ＲＯＭ２１及びフラッシュメモリ２３に格納されているソフトを実行するコア２５とが備えられている。
【００４７】
また、マイコンＡの方には、コア１５がソフトを正常に実行しているか否かを監視するためのウォッチドッグタイマ（以下、ＷＤＴと記す）１７が内蔵されている。このＷＤＴ１７は、自己のタイマ値がコア１５によって規定時間Ｔａ以内にクリアされなければ異常と判断してコア１５をリセットする、という周知のものである。
【００４８】
ここで、マイコンＢのフラッシュメモリ２３には、エンジンを制御するための制御ソフトを含んだアプリケーションソフトが格納されている。そして、マイコンＢは、フラッシュメモリ２３内の制御ソフトをコア２５によって実行することにより、マイコンＡと内部通信線１０を介して規定時間Ｔｂ１毎に通信しながらエンジンを制御すると共に、マイコンＡへ規定時間Ｔｂ２以内毎にウォッチドッグパルスＷＤＰを出力する。
【００４９】
また、マイコンＡのフラッシュメモリ１３には、他のＥＣＵに対する電源供給制御や常時動作すべき車載機器の制御を行うための制御ソフトを含んだアプリケーションソフトが格納されている。そして、マイコンＡは、フラッシュメモリ１３内の制御ソフトをコア１
５によって実行することにより、マイコンＢと内部通信線１０を介して通信しながら他ＥＣＵへの電源供給制御や車載機器制御を行うと共に、ＷＤＴ１７を規定時間Ｔａ以内毎にクリアし、更に、マイコンＢの動作を監視するための図２の如き監視処理を一定時間毎に繰り返し行う。つまり、マイコンＡは内蔵のＷＤＴ１７によって監視されるが、マイコンＢはマイコンＡによって監視されるようになっており、そのため、マイコンＡが実行する制御ソフトには、図２の監視処理を行うためのプログラムが含まれている。
【００５０】
その監視処理の内容を説明すると、図２に示すように、まずＳ１１０にて、マイコンＢからのウォッチドッグパルスＷＤＰの出力周期が規定時間Ｔｂ２以内であるか否かを判定し、出力周期が規定時間Ｔｂ２以内であれば、次のＳ１２０にて、マイコンＢから内部通信線１０を介して規定時間Ｔｂ１以内に信号が送られてきたか否か（内部通信の周期がＯＫであるか否か）を判定する。そして、規定時間Ｔｂ１以内に信号が送られてきていれば、そのまま当該監視処理を終了する。
【００５１】
また、Ｓ１１０にて、マイコンＢからのウォッチドッグパルスＷＤＰの出力周期が規定時間Ｔｂ２以内ではないと判定した場合、或いは、Ｓ１２０にて、マイコンＢから内部通信線１０を介して規定時間Ｔｂ１以内に信号が送られてこなかったと判定した場合には、Ｓ１３０に移行して、異常カウンタをカウントアップさせる。そして、続くＳ１４０にて、異常カウンタの値が異常判定閾値以上になったか否かを判定し、異常判定閾値以上になっていなければ、当該監視処理を終了する。
【００５２】
これに対し、Ｓ１４０にて、異常カウンタの値が異常判定閾値以上になったと判定したならば、マイコンＢにて制御ソフトが正常に実行されていないと判断して、Ｓ１５０に進み、マイコンＢのコア２５をリセットするためのリセット信号を出力した後、当該監視処理を終了する。
【００５３】
一方、マイコンＢのＲＯＭ２１には、フラッシュメモリ２３内のソフトを書換ツール７から送信されて来る新たなソフトに書き替えるための書換処理用ソフトが格納されている。同様に、マイコンＡのＲＯＭ１１には、フラッシュメモリ１３内のソフトを書換ツール７から送信されて来る新たなソフトに書き替えるための書換処理用ソフトが格納されている。
【００５４】
また、図１に示すように、ＥＣＵ１には、マイコンＡから後述するタイミングで出力される書込許可判定信号と、マイコンＢから後述するタイミングで出力される書込許可判定信号との論理和をとり、その論理和信号を書込許可信号として出力するオア回路３１が設けられている。そして、そのオア回路３１からの書込許可信号はマイコンＡ，Ｂの各々に入力されるようになっている。
【００５５】
更に、マイコンＡには、イグニッションスイッチがオンされた場合にアクティブレベルとなるイグニッションスイッチ信号が、外部スイッチ信号の一つとして入力されるようになっている。
【００５６】
次に、書換ツール７が実行する処理と、ＥＣＵ１の各マイコンＡ，Ｂが実行する処理について、図３〜図８のフローチャートを用い説明する。
尚、以下の説明において、例えば信号Ａ、通信Ａ、ソフトＡ、コマンドＡなど、「Ａ」が末尾に付されたマイコンＡ以外のものは、それがマイコンＡに対応するものであることを意味している。同様に、例えば信号Ｂ、通信Ｂ、ソフトＢ、コマンドＢなど、「Ｂ」が末尾に付されたマイコンＢ以外のものは、そのれがマイコンＢに対応するものであることを意味している。
【００５７】
まず図３は、書換ツール７が実行する書換処理を表すフローチャートである。尚、図３の処理は、実際には書換ツール７に備えられたマイコンによって実行される。
書換ツール７は、作業者によって車両内通信線２に接続された後に、マイコンＡ，Ｂの制御ソフトを書き換えるための特定の操作が行われると、図３の書換処理を開始する。
【００５８】
そして、まずＳ２００にて、マイコンＡとセキュリティ通信Ａを行い、次のＳ２１０にて、マイコンＢとセキュリティ通信Ｂを行う。
尚、セキュリティ通信Ａ，Ｂの各々は、マイコンＡ，Ｂと特定の情報をやり取りすることで、マイコンＡ，Ｂ側のセキュリティを解除するための通信である。そして、マイコンＡ，Ｂの各々は、セキュリティが解除されることで、書換ツール７からのモード切換コマンドＡ，Ｂを受付可能な状態となる。また、モード切換コマンドＡ，Ｂとは、マイコンＡ，Ｂの動作モードを、制御ソフトを実行する通常モードから書換処理用ソフトを実行する書換モードへと移行させるためのコマンドである。
【００５９】
次に、書換ツール７は、Ｓ２２０にて、マイコンＡと書換モード移行通信Ａを行い、次のＳ２３０にて、マイコンＢと書換モード移行通信Ｂを行う。
尚、書換モード移行通信Ａ，Ｂの各々は、最初にモード切換コマンドＡ，Ｂを送信し、その後、マイコンＡ，Ｂと特定の情報をやり取りすることで、マイコンＡ，Ｂを書換モードに移行させるための通信である。
【００６０】
次に、書換ツール７は、Ｓ２４０にて、マイコンＢと初期通信Ｂを行い、次のＳ２５０にて、マイコンＢとデータ通信Ｂを行う。
尚、初期通信Ｂは、書換モードに移行したマイコンＢに対して、フラッシュメモリ２３内のソフトを書き換える準備を行わせるための通信であり、例えば、この初期通信Ｂにより、フラッシュメモリ２３におけるソフトの書換領域を指示する。そして、データ通信Ｂは、書き換えるべき新制御ソフトＢを所定データ量毎に順次送信して、マイコンＢにフラッシュメモリ２３内の既存の制御ソフトＢをその新制御ソフトＢに書き換えさせるための通信である。
【００６１】
そして、Ｓ２５０のデータ通信Ｂが終了すると（即ち、マイコンＢの制御ソフトの書き換えが終了すると）、次のＳ２６０にて、マイコンＡへ書換対象切換コマンドを送信する。すると、後述するように、マイコンＡは、この時点で、本当に書換モードへ移行することとなる。尚、マイコンＡへの書換対象切換コマンドは、ソフトの書換対象をマイコンＡ以外のマイコンからマイコンＡに切り換えることを示すコマンドである。
【００６２】
次に、書換ツール７は、Ｓ２７０にて、マイコンＡと初期通信Ａを行い、次のＳ２８０にて、マイコンＡとデータ通信Ａを行う。
尚、初期通信Ａとデータ通信Ａは、前述した初期通信Ｂ及びデータ通信Ｂと同じ役割の通信である。即ち、初期通信Ａは、書換モードに移行したマイコンＡに対して、フラッシュメモリ１３内のソフトを書き換える準備を行わせるための通信であり、例えば、この初期通信Ａにより、フラッシュメモリ１３におけるソフトの書換領域を指示する。そして、データ通信Ａは、書き換えるべき新制御ソフトＡを所定データ量毎に順次送信して、マイコンＡにフラッシュメモリ１３内の既存の制御ソフトＡをその新制御ソフトＡに書き換えさせるための通信である。
【００６３】
そして、Ｓ２８０のデータ通信Ａが終了すると（即ち、マイコンＡの制御ソフトの書き換えが終了すると）、次のＳ２９０にて、マイコンＡ，Ｂの両方へ終了通知コマンドを送信し、その後、当該書換処理を終了する。尚、終了通知コマンドは、ソフトの書き換えが終了したことを示すコマンドである。
【００６４】
次に図４は、マイコンＢが実行する処理を表すフローチャートである。そして、図４において、Ｓ３００の処理がフラッシュメモリ２３内の制御ソフトＢによって実現され、Ｓ３１０〜Ｓ３７０の処理がフラッシュメモリ２３内の制御ソフトＢ以外のアプリケーションソフトＢによって実現され、Ｓ３８０，Ｓ３９０の処理がＲＯＭ２１内の書換処理用ソフトＢによって実現される。
【００６５】
図４に示すように、マイコンＢは、初期状態から動作を開始すると、フラッシュメモリ２３に格納されている制御ソフトＢを実行することにより、通常の制御処理を行う（Ｓ３００）。尚、前述したように、マイコンＢは、この制御ソフトＢによる制御処理により、マイコンＡと内部通信線１０を介して規定時間Ｔｂ１毎に通信しながらエンジンを制御すると共に、マイコンＡへ規定時間Ｔｂ２以内毎にウォッチドッグパルスＷＤＰを出力する。
【００６６】
そして、マイコンＢは、その制御処理を行っている最中に、書換ツール７からのセキュリティ通信Ｂの信号を受信したか否かを判定し（Ｓ３１０）、セキュリティ通信Ｂの信号を受信しなければ、制御処理を続ける（Ｓ３１０：ＮＯ→Ｓ３００）。この状態が、通常モードの状態である。
【００６７】
一方、書換ツール７からのセキュリティ通信Ｂの信号を受信したならば（Ｓ３１０：ＹＥＳ）、Ｓ３２０に移行して、引き続き書換ツール７とのセキュリティ通信Ｂを行い、次のＳ３３０にて、セキュリティを解除して良いか否かを判定する。具体的には、書換ツール７とのセキュリティ通信Ｂが規定の手順で全て完了できたならば、セキュリティを解除して良いと判定する。
【００６８】
そして、セキュリティを解除して良いと判定しなかった場合には、Ｓ３００に戻って再び制御ソフトＢによる制御処理を行うが、セキュリティを解除して良いと判定した場合には、Ｓ３４０に進む。
【００６９】
Ｓ３４０では、Ｓ３３０にてセキュリティを解除して良いと判定してから一定時間以内に書換ツール７からのモード切換コマンドＢを受信したか否かを判定する。そして、一定時間内にモード切換コマンドＢを受信しなければ、Ｓ３００に戻って再び制御ソフトＢによる制御処理を行うが、一定時間以内にモード切換コマンドＢを受信したならば、Ｓ３５０に進んで、書換ツール７との書換モード移行通信Ｂを行う。
【００７０】
次にＳ３６０にて、書換モードに移行して良いか否かを判定する。具体的には、書換ツール７との書換モード移行通信Ｂが規定の手順で全て完了できたならば、書換モードに移行して良いと判定する。そして、書換モードに移行して良いと判定しなかった場合には、Ｓ３００に戻って再び制御ソフトによる制御処理を行うが、書換モードに移行して良いと判定した場合には、Ｓ３７０に進む。
【００７１】
Ｓ３７０では、フラッシュメモリ２３へのデータ書き込みを許可した状態であることを示す書込許可判定信号Ｂを、アクティブレベル（本実施形態ではハイ）にし、その後、プログラムの実行先を、ＲＯＭ２１内の書換処理用ソフトＢへジャンプさせる。
【００７２】
これにより、マイコンＢの動作モードは、書換処理用ソフトＢを実行する書換モードとなり、マイコンＢは、その書換処理用ソフトＢを実行することにより、書換モード処理（Ｓ３８０）を行う。
【００７３】
ここで、図５に示すように、書換処理用ソフトＢによる書換モード処理では、まずＳ４１０にて、書換ツール７からの初期通信Ｂの信号を待ち、初期通信Ｂの信号を受信したならば（Ｓ４１０：ＹＥＳ）、Ｓ４２０に進んで、引き続き書換ツール７との初期通信Ｂを行う。
【００７４】
そして、初期通信Ｂが終了すると、次のＳ４３０にて、書換ツール７からのデータ通信Ｂの信号（即ち、所定データ量毎の新制御ソフトＢ）を受信したか否かを判定し、そのデータ通信Ｂの信号を受信したならば、Ｓ４４０に進む。そして、Ｓ４４０では、データ通信Ｂの処理として、今回受信した所定データ量の新制御ソフトＢをフラッシュメモリ２３に更新して書き込む書換処理を行い、その後、Ｓ４３０に戻る。
【００７５】
また、Ｓ４３０にて、データ通信Ｂの信号を受信していないと判定した場合には、Ｓ４５０に移行して、書換ツール７からの終了通知コマンドを受信したか否かを判定し、終了通知コマンドを受信してなければ、再びＳ４３０に戻る。
【００７６】
一方、Ｓ４５０にて、終了通知コマンドを受信したと判定したならば、そのまま当該書換モード処理を終了し、図４のＳ３９０に進む。すると、マイコンＢは、実質的な処理を行わない無限ループ状態になる。
【００７７】
次に図６は、マイコンＡが実行する処理を表すフローチャートである。そして、図６において、Ｓ５００の処理がフラッシュメモリ１３内の制御ソフトＡによって実現され、Ｓ５１０〜Ｓ５７５の処理がフラッシュメモリ１３内の制御ソフトＡ以外のアプリケーションソフトＡによって実現され、Ｓ５８０，Ｓ５９０の処理がＲＯＭ１１内の書換処理用ソフトＡによって実現される。
【００７８】
図６に示すように、マイコンＡは、初期状態から動作を開始すると、フラッシュメモリ１３に格納されている制御ソフトＡを実行することにより、通常の制御処理を行う（Ｓ５００）。尚、前述したように、マイコンＡは、この制御ソフトＡによる制御処理により、マイコンＢと内部通信線１０を介して通信しながら他ＥＣＵへの電源供給制御や車載機器制御を行うと共に、ＷＤＴ１７を規定時間Ｔａ以内毎にクリアし、更に、マイコンＢの動作を監視するための図２の監視処理も行う。
【００７９】
そして、マイコンＡは、その制御処理を行っている最中に、書換ツール７からのセキュリティ通信Ａの信号を受信したか否かを判定し（Ｓ５１０）、セキュリティ通信Ａの信号を受信しなければ、制御処理を続ける（Ｓ５１０：ＮＯ→Ｓ５００）。この状態が、通常モードの状態である。
【００８０】
一方、書換ツール７からのセキュリティ通信Ａの信号を受信したならば（Ｓ５１０：ＹＥＳ）、Ｓ５２０に移行して、引き続き書換ツール７とのセキュリティ通信Ａを行い、次のＳ５３０にて、セキュリティを解除して良いか否かを判定する。具体的には、書換ツール７とのセキュリティ通信Ａが規定の手順で全て完了できたならば、セキュリティを解除して良いと判定する。
【００８１】
そして、セキュリティを解除して良いと判定しなかった場合には、Ｓ５００に戻って再び制御ソフトＡによる制御処理を行うが、セキュリティを解除して良いと判定した場合には、Ｓ５４０に進む。
【００８２】
Ｓ５４０では、Ｓ５３０にてセキュリティを解除して良いと判定してから一定時間以内に書換ツール７からのモード切換コマンドＡを受信したか否かを判定する。そして、一定時間内にモード切換コマンドＡを受信しなければ、Ｓ５００に戻って再び制御ソフトＡによる制御処理を行うが、一定時間以内にモード切換コマンドＡを受信したならば、Ｓ５５０に進んで、書換ツール７との書換モード移行通信Ａを行う。
【００８３】
次にＳ５６０にて、書換モードに移行して良いか否かを判定する。具体的には、書換ツール７との書換モード移行通信Ａが規定の手順で全て完了できたならば、書換モードに移行して良いと判定する。そして、書換モードに移行して良いと判定しなかった場合には、Ｓ５００に戻って再び制御ソフトによる制御処理を行うが、書換モードに移行して良いと判定した場合には、Ｓ５７０に進む。
【００８４】
Ｓ５７０では、フラッシュメモリ１３へのデータ書き込みを許可した状態であることを示す書込許可判定信号Ａを、アクティブレベル（本実施形態ではハイ）にし、その後、Ｓ５７５に進んで、図７の書換モード移行待ち処理を実行する。尚、マイコンＡでは、Ｓ５７０の後、そのまま書換モードにはならずに書換モード移行待ち処理を実行する点が、マイコンＢと異なっている。
【００８５】
図７に示すように、書換モード移行待ち処理では、まずＳ６１０にて、ＷＤＴ１７をクリアし、次のＳ６２０にて、ＷＤＴクリアカウンタをリセットスタートさせる。尚、このＷＤＴクリアカウンタは、ＷＤＴ１７をクリアする周期を計時するためのタイマカウンタであり、図示しない別のタイマ処理或いはハードウェアによって一定時間毎にカウントアップされる。
【００８６】
そして、次にＳ６３０にて、書換ツール７からの書換対象切換コマンドを受信したか否かを判定し、書換対象切換コマンドを受信していないと判定したならば、Ｓ６４０に進む。
【００８７】
Ｓ６４０では、オア回路３１からの書込許可信号がアクティブレベル（ハイ）であるか否かを判定し、書込許可信号がアクティブレベルならば、次のＳ６５０にて、書換ツール７からの終了通知コマンドを受信したか否かを判定する。そして、終了通知コマンドを受信していなければ、次のＳ６６０にて、イグニッションスイッチ信号に基づき、操作部としてのイグニッションスイッチ（ＩＧＳＷ）がオンからオフに操作されたか否かを判定し、オフに操作されていなければ、Ｓ６７０に進む。
【００８８】
Ｓ６７０では、ＷＤＴクリアカウンタの値が、ＷＤＴ１７のタイムオーバー時間である規定時間Ｔａよりも短い一定時間（本実施形態では４ｍｓ）に相当する値に達しているか否かを判定し、４ｍｓに相当する値に達していなければ、Ｓ６３０に戻る。
【００８９】
また、Ｓ６７０にて、ＷＤＴクリアカウンタの値が４ｍｓに相当する値に達していると判定した場合には、最初のＳ６１０に戻る。
また、Ｓ６４０にて書込許可信号がアクティブレベルでないと判定した場合、或いは、Ｓ６５０にて書換ツール７からの終了通知コマンドを受信したと判定した場合、或いは、Ｓ６６０にてイグニッションスイッチがオンからオフに操作されたと判定した場合には、Ｓ６８０に移行して、ＷＤＴクリアカウンタのカウントアップを停止させると共に、その状態でループする。
【００９０】
すると、Ｓ６１０によるＷＤＴ１７のクリアが実施されなくなるため、少なくとも規定
時間Ｔａが経過すると、マイコンＡは、ＷＤＴ１７によりリセットされて、制御ソフトＡを実行する通常モードの状態へ復帰することとなる。
【００９１】
一方、上記Ｓ６３０にて、書換ツール７からの書換対象切換コマンドを受信したと判定した場合には、当該書換モード移行待ち処理を終了し、プログラムの実行先を、ＲＯＭ１１内の書換処理用ソフトＡへジャンプさせる。これにより、マイコンＡの動作モードは、書換処理用ソフトＡを実行する書換モードとなり、マイコンＡは、その書換処理用ソフトＡを実行することにより、書換モード処理（Ｓ５８０）を行う。
【００９２】
つまり、マイコンＡにおいて、図７の書換モード移行待ち処理を実行している状態は、制御ソフトＡを実行せずに書換モードへ移行するのを待っている待機状態である。
そして、その待機状態において、書換ツール７からの書換対象切換コマンド及び終了通知コマンドを受信せず、オア回路３１からの書込許可信号がアクティブレベルで且つイグニッションスイッチがオフに操作されなければ、Ｓ６１０及びＳ６２０の処理が４ｍｓ毎に実行され、その４ｍｓ毎にＷＤＴ１７をクリアすることとなる。これは、ＷＤＴ１７によってリセットされないようにするためである。尚、マイコンＡが正規の手順でこの待機状態となった場合には、少なくとも図６におけるＳ５７０の処理により、オア回路３１からの書込許可信号は必ずアクティブレベルになっている。
【００９３】
また、待機状態になっても、オア回路３１からの書込許可信号が非アクティブレベルであった場合（Ｓ６４０：ＮＯ）、或いは、待機状態である間に、書換ツール７からの終了通知コマンドを受信するか（Ｓ６５０：ＹＥＳ）、イグニッションスイッチがオフに操作されたならば（Ｓ６６０：ＹＥＳ）、マイコンＡはＷＤＴ１７によりリセットされて通常モードに復帰することとなる。
【００９４】
一方、待機状態である場合に、書換ツール７からの書換対象切換コマンドを受信したならば（Ｓ６３０：ＹＥＳ）、待機状態から抜けて、書換処理用ソフトＡを実行する書換モードへ移行することとなる。
【００９５】
そして、図８に示すように、書換処理用ソフトＡによる書換モード処理（即ち、書換モードの場合に行う処理）では、まずＳ７０５にて、時間カウンタをリセットスタートさせる。尚、この時間カウンタはタイムアウト機能用のタイマカウンタであり、図示しない別のタイマ処理或いはハードウェアによって一定時間毎にカウントアップされる。
【００９６】
次にＳ７１０にて、書換ツール７からの初期通信Ａの信号を受信したか否かを判定し、その信号を受信していなければ、Ｓ７１５に進む。そして、Ｓ７１５では、時間カウンタの値がタイムアウト時間（本実施形態では５秒）に相当する値を超えた否かを判定し、５秒を超えていなければ、Ｓ７１０に戻る。
【００９７】
また、Ｓ７１０にて、初期通信Ａの信号を受信したと判定した場合には、Ｓ７２０に進んで、引き続き書換ツール７との初期通信Ａを行う。そして、初期通信Ａが終了すると、次のＳ７２５にて、再び時間カウンタをリセットスタートさせる。
【００９８】
次にＳ７３０にて、書換ツール７からのデータ通信Ａの信号（即ち、所定データ量毎の新制御ソフトＡ）を受信したか否かを判定する。そして、データ通信Ａの信号を受信したならば、Ｓ７４０に進み、データ通信Ａの処理として、今回受信した所定データ量の新制御ソフトＡをフラッシュメモリ１３に更新して書き込む書換処理を行い、次のＳ７４５にて、再び時間カウンタをリセットスタートさせた後、Ｓ７３０に戻る。
【００９９】
また、Ｓ７３０にて、データ通信Ａの信号を受信していないと判定した場合には、Ｓ７５０に移行して、書換ツール７からの終了通知コマンドを受信したか否かを判定し、終了通知コマンドを受信してなければ、Ｓ７５５に進む。そして、Ｓ７５５では、時間カウンタの値がタイムアウト時間の５秒に相当する値を超えた否かを判定し、５秒を超えていなければ、Ｓ７３０に戻る。
【０１００】
また、Ｓ７５０にて、書換ツール７からの終了通知コマンドを受信したと判定したならば、ＥＣＵ１における制御ソフトの書き換えが全て完了したということであるため、そのまま当該書換モード処理を終了して、図６のＳ５９０に進む。そして、そのＳ５９０にて、プログラムの実行先を制御ソフトＡの先頭へジャンプさせる。すると、マイコンＡは通常モードに戻ることとなる。
【０１０１】
一方、上記Ｓ７１５とＳ７５５との何れかにおいて、時間カウンタの値が５秒に相当する値を超えたと判定した場合には、Ｓ７６０に移行して、この場合にもプログラムの実行先を制御ソフトＡの先頭へジャンプさせる。よって、この場合、マイコンＡは、制御ソフトＡの書き換えが完了していなくても通常モードに戻ることとなる。
【０１０２】
つまり、電源電圧Ｖｂで動作するマイコンＢならば、誤って書換モードに移行したとしても、イグニッションスイッチをオフ→オンすれば、強制的に通常モードへと復帰させることができるが、常時供給される電源電圧Ｖａで動作するマイコンＡには、誤って書換モードに移行した場合のフェイルセーフ機能として、図８のＳ７０５，Ｓ７１５，Ｓ７２５，Ｓ７４５，Ｓ７５５，Ｓ７６０によるタイムアウト機能が備えられている。具体的には、書換モードになっても、制御ソフトＡの書換処理を実施するのに必要な初期通信Ａの信号及びデータ通信Ａの信号と終了通知コマンドとの何れかが、書換ツール７から５秒以内に送信されてこなければ（何も受信しない状態が５秒を超えたら）、通常モードに復帰するようになっている。
【０１０３】
尚、図示は省略しているが、マイコンＡは、書換モードの場合にも、ＷＤＴ１７によってリセットされないようにするために、ＷＤＴ１７を規定時間Ｔａ以内毎（例えば４ｍｓ毎）にクリアする処理を行っている。
【０１０４】
以上のようなＥＣＵ１において、マイコンＡ，Ｂの制御ソフトを書き換える場合には、図９に示すように、書換ツール７が各マイコンＡ，Ｂとセキュリティ通信Ａ，Ｂを行って、そのマイコンＡ，Ｂにおけるセキュリティを解除させる。
【０１０５】
そして、書換ツール７は、その後、各マイコンＡ，Ｂへモード切換コマンドＡ，Ｂを送信して、各マイコンＡ，Ｂと書換モード移行通信Ａ，Ｂを行う。
すると、制御ソフトを先に書き換える方のマイコンＢは、通常モードから書換モードに移行し、また、制御ソフトを後で書き換える方のマイコンＡは、通常モードから抜けて、図７の書換モード移行待ち処理を行う待機状態となる。
【０１０６】
その後、書換ツール７と書換モードのマイコンＢが初期通信Ｂ及びデータ通信Ｂを行うことにより、書換ツール７からマイコンＢへ、書き換えるべき新制御ソフトＢが送信され、マイコンＢは、フラッシュメモリ２３内の制御ソフトＢを、その書換ツール７からの新制御ソフトＢに書き換えることとなる。
【０１０７】
そして、マイコンＢの制御ソフトＢの書き換えが終了すると、書換ツール７は、マイコンＡへ、書換対象切換コマンド（モード移行許可指令に相当）を送信する。すると、マイコンＡは、この時点で書換モードに移行する。
【０１０８】
その後、書換ツール７と書換モードのマイコンＡが初期通信Ａ及びデータ通信Ａを行うことにより、書換ツール７からマイコンＡへ、書き換えるべき新制御ソフトＡが送信され、マイコンＡは、フラッシュメモリ１３内の制御ソフトＡを、その書換ツール７からの新制御ソフトＡに書き換えることとなる。
【０１０９】
そして、マイコンＡの制御ソフトＡの書き換えが終了すると、書換ツール７は、マイコンＡ，Ｂの両方へ終了通知コマンドを送信する。
すると、マイコンＡは、図８の書換モード処理を終了して通常モードに復帰し、新制御ソフトＡの実行を開始する。また、マイコンＢは、図５の書換モード処理を終了するが、制御ソフトＢは実行せずに無限ループ状態（無制御状態）となる。
【０１１０】
このため、マイコンＢは、通常モードに戻ったマイコンＡが図２の監視処理を実行することで実現される監視機能によってリセットされる。そして、マイコンＢは、そのマイコンＡによるリセットで通常モードに復帰して、新制御ソフトＢの実行を開始し、この時点から、両方のマイコンＡ，Ｂが本来の制御機能を果たすこととなる。
【０１１１】
尚、本実施形態において、書換ツール７は終了通知コマンドをマイコンＡ，Ｂの両方に送信するようになっているが、終了通知コマンドをマイコンＡだけに送信するようにしても全く同じである。つまり、マイコンＢが書換モード時に実行する図５の書換モード処理では、制御ソフトＢの書き換えが終了してから終了通知コマンドを受信しなければ、「Ｓ４３０：ＮＯ→Ｓ４５０：ＮＯ→Ｓ４３０」の無限ループ状態となり、やはり、マイコンＢは、通常モードに戻ったマイコンＡの監視機能によりリセットされて通常モードに復帰することとなるからである。
【０１１２】
ここで、本実施形態のＥＣＵ１においては、マイコンＡ，Ｂの両方を通常モードから離脱させているため、マイコンＢの制御ソフトＢの書き換えを行っている最中に、マイコンＡが通常モード時の監視機能（即ち、図２の監視処理による機能）によってマイコンＢをリセットしないようにすることができる。
【０１１３】
そして更に、マイコンＢの制御ソフトＢの書き換えを行っている最中に、マイコンＡは、通常モードから離脱するが書換モードにも移行せずに、図７の書換モード移行待ち処理を実行する待機状態となるため、書換モード時のタイムアウト機能（図８のＳ７０５，Ｓ７１５，Ｓ７２５，Ｓ７４５，Ｓ７５５，Ｓ７６０による機能）によって通常モードに復帰してしまうことはない。このため、マイコンＢに続いて、マイコンＡの制御ソフトＡも確実に書き換えることができる。
【０１１４】
よって、マイコンＡが通常モード時にマイコンＢを監視することと、マイコンＢの制御ソフトＢとマイコンＡの制御ソフトＡをその順に連続して書き換え可能にすることとを両立させることができる。
【０１１５】
また、本実施形態のＥＣＵ１において、マイコンＢは、制御ソフトＢの書き換えが終了すると無限ループ状態となり、マイコンＡは、制御ソフトＡの書き換えが終了すると通常モードに復帰して、その通常モード時の監視機能によりマイコンＢをリセットして通常モードに復帰させるようになっている。このため、２つのマイコンＡ，Ｂを自動的に且つほぼ同時に通常モードへと復帰させることができ、２つのマイコンＡ，Ｂによる制御開始の同期化が容易となる。
【０１１６】
また、本実施形態において、マイコンＡは、書換ツール７からの書換対象切換コマンド
を受けると、待機状態から書換モードへ移行するようになっているため、書換ツール７から送信されるコマンド（指令）として、マイコンＡを待機状態から書換モードに移行されるための特別なコマンドを新たに設ける必要がない。
【０１１７】
また、本実施形態において、マイコンＡは、待機状態となっている場合に、書換ツール７からの終了通知コマンドを受けると（Ｓ６５０：ＹＥＳ）、通常モードに復帰するようになっている。
【０１１８】
このため、マイコンＢの制御ソフトＢだけを書き換える場合にも対応することができる。つまり、制御ソフトＢだけを書き換える場合、書換ツール７は、図３（図９）におけるＳ２６０〜Ｓ２８０の処理を実行せずに、制御ソフトＢの書き換え（データ通信Ｂ）が終了したら、終了通知コマンドを送信する。すると、マイコンＡは、待機モードから通常モードに戻り、制御ソフトＢの書き換えが終わって無限ループ状態になっているマイコンＢをリセットし通常モードに復帰させることとなる。
【０１１９】
尚、制御ソフトＢだけを書き換える場合に、書換ツール７が図３（図９）におけるＳ２２０の処理も実行せずに、マイコンＡへモード切換コマンドＡを送信しない構成も考えられる。その場合には、例えば、マイコンＢが、書換ツール７からのモード切換コマンドＢを受信した時点で、内部通信線１０を介しマイコンＡと通信して、マイコンＡを書換モード移行待ち処理を実行する待機状態に移行させるように構成することができる。
【０１２０】
また、本実施形態において、マイコンＡは、待機状態となっている場合に、イグニッションスイッチがオンからオフに操作されても（Ｓ６６０：ＹＥＳ）、通常モードに復帰するようになっている。
【０１２１】
このため、マイコンＢの制御ソフトＢだけを書き換える場合に、仮に書換ツール７がマイコンＡへ終了通知コマンドを送信しなくても、マイコンＡ，Ｂを通常モードに復帰させることができる。また、マイコンＡが何らかの原因で誤って待機状態になってしまっても、イグニッションスイッチをオフに操作することにより、マイコンＡを強制的に通常モードへと復帰させることができる。
【０１２２】
また、本実施形態において、マイコンＡは、待機状態となっている場合に、オア回路３１からの書込許可信号がアクティブレベルでなければ（Ｓ６４０：ＮＯ）、通常モードに復帰するようになっている。
【０１２３】
このため、マイコンＡが何らかの原因で誤って待機状態になってしまっても、そのような場合には、マイコンＡを自動的に通常モードへと復帰させることができる。前述したように、マイコンＡが正規の手順で待機状態となった場合には、マイコンＡ側の図６におけるＳ５７０の処理、或いはマイコンＢ側の図４におけるＳ３７０の処理により、オア回路３１からの書込許可信号は必ずアクティブレベルになっているはずであり、マイコンＡが待機状態になった場合に、その書込許可信号が非アクティブレベルであれば、誤って待機状態になったと考えられるからである。
【０１２４】
尚、上記実施形態では、マイコンＡが第１マイコンに相当し、マイコンＢが第２マイコンに相当している。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【０１２５】
例えば、上記実施形態では、書き換える対象が制御ソフトＡ，Ｂだけであったが、フラッシュメモリ１３，２３内のアプリケーションソフトＡ，Ｂ全体を書き換えるようにしても良い。この場合、アプリケーションソフトＡ，Ｂのうち、制御ソフトＡ，Ｂ以外の部分は、同じ内容に書き換えれば良い。
【０１２６】
また、図７のＳ６６０では、イグニッションスイッチ以外の他のスイッチ（例えばエンジンを始動させるためのスタートスイッチ）が操作されたか否かを判定するように構成しても良い。
【０１２７】
また、マイコンＢもマイコンＡと同様に、常時供給の電源電圧Ｖａを受けて動作する構成であっても良い。また、マイコンは３つ以上あっても良い。
【図面の簡単な説明】
【０１２８】
【図１】実施形態のＥＣＵの構成を表す構成図である。
【図２】マイコンＡが通常モード時に実行する監視処理を表すフローチャートである。
【図３】書換ツールが実行する書換処理を表すフローチャートである。
【図４】マイコンＢが実行する処理を表すフローチャートである。
【図５】図４中の書換モード処理を表すフローチャートである。
【図６】マイコンＢが実行する処理を表すフローチャートである。
【図７】図６中の書換モード移行待ち処理を表すフローチャートである。
【図８】図６中の書換モード処理を表すフローチャートである。
【図９】書換ツール及びマイコンＡ，Ｂの処理の流れを表す説明図である。
【符号の説明】
【０１２９】
１…ＥＣＵ（電子制御装置）、Ａ，Ｂ…マイコン、２…車両内通信線、３，５…通信ドライバ、７…書換ツール（外部装置）、９…コネクタ、１０…内部通信線、１１，２１…ＲＯＭ、１３，２３…フラッシュメモリ（書換可能不揮発性メモリ）、１５，２５…コア、１７…ＷＤＴ（ウォッチドッグタイマ）、３１…オア回路
【図１】
2008242995.tif 000003
【図２】
2008242995.tif 000004
【図３】
2008242995.tif 000005
【図４】
2008242995.tif 000006
【図５】
2008242995.tif 000007
【図６】
2008242995.tif 000008
【図７】
2008242995.tif 000009
【図８】
2008242995.tif 000010
【図９】
2008242995.tif 000011