(57)【要約】      （修正有）【課題】複数の制御装置のうちのいずれかの制御装置を書き換える際に、他の制御装置の不必要な稼働状態によるバッテリーの電力の消費を抑制する。【解決手段】車両のイグニションがオンの状態において、記憶媒体または通信を介して書き換え情報を取り込み、書き換え対象となる制御装置を特定し、該特定された制御装置に対して書き換え対象である旨の通知を行う書き換え実行制御装置と、車両のイグニションがオフされたことを検出する手段とを備える。イグニションのオフの検出に応じて、書き換え対象制御装置および書き換え実行制御装置以外の制御装置は、メイン電源が遮断されて動作が停止する停止状態に移行すると共に、書き換え実行制御装置は、書き換え対象制御装置が書き換え可能な状態になったことに応じて、取り込んだ書き換え情報によって書き換え対象制御装置への書き換えを実行する。こうして、書き換える際のバッテリの消費電力を低減する。【選択図】図３
2010167997.tif 000002
【特許請求の範囲】
【請求項１】
車両に設けられ、複数の制御装置のうちの書き換え対象となる制御装置に記憶されている情報を書き換えるための書き換えシステムであって、
前記複数の制御装置のうちの一つであって、前記車両のイグニションがオンの状態において、記憶媒体または通信を介して書き換え情報を取り込み、前記複数の制御装置のうちの前記書き換え対象となる制御装置を特定し、該特定された制御装置に対して書き換え対象である旨の通知を行うよう構成された書き換え実行制御装置と、
前記車両のイグニションがオフされたことを検出する手段と、を備え、
前記イグニションのオフの検出に応じて、前記書き換え対象となる制御装置および前記書き換え実行制御装置以外の制御装置は、自己のメイン電源を遮断して動作が停止する停止状態に移行すると共に、前記書き換え実行制御装置は、前記書き換え対象となる制御装置が書き換え可能な状態になったことに応じて、前記取り込んだ書き換え情報によって前記書き換え対象となる制御装置への書き換えを実行する、
書き換えシステム。
【請求項２】
前記イグニションのオフの検出に応じて、前記書き換え実行制御装置は、低消費電力で動作する待機状態に移行し、該待機状態にある間、前記書き換え実行制御装置は、前記書き換え対象となる制御装置が前記書き換え可能な状態になったかどうかを監視し、該書き換え可能な状態になったとの判断に応じて、前記待機状態から、通常の消費電力で動作する稼動状態に移行して、前記書き換えを開始する、
請求項１に記載の制御装置。
【請求項３】
前記イグニションのオフの検出に応じて、前記書き換え実行制御装置は、低消費電力で動作する待機状態に移行し、
前記書き換え対象となる制御装置は、前記書き換え可能な状態になったならば、前記書き換え実行制御装置に所定の通知を行い、前記書き換え実行制御装置は、該通知に応じて、前記待機状態から、通常の消費電力で動作する稼動状態に移行して、前記書き換えを開始する、
請求項１に記載の制御装置。
【請求項４】
前記書き換え実行制御装置は、前記書き換えを終了した後、自己のメイン電源を遮断にする、
請求項１から３のいずれかに記載の書き換えシステム。
【請求項５】
前記書き換え対象となる制御装置は、前記書き換えを終了した後、自己のメイン電源を遮断にする、
請求項１から４のいずれかに記載の書き換えシステム。
【請求項６】
前記書き換え実行制御装置は、前記書き換えを許可するか否かについての通知を乗員に発行し、乗員によって書き換えが許可されたことに応じて、前記書き換えを実行する、
請求項１から５のいずれかに記載の書き換えシステム。
【請求項７】
前記書き換え実行制御装置は、前記書き換えに要する時間を乗員に通知する、
請求項１から６のいずれかに記載の書き換えシステム。
【請求項８】
前記書き換えが実行されている最中に、前記イグニションのオンが検出された場合、前記書き換え対象となる制御装置以外の制御装置に対し、故障検知を停止するよう通知する、
請求項１から７のいずれかに記載の装置。
【請求項９】
前記書き換えが実行されている最中に、前記イグニションのオンが検出されたならば、該書き換えが実行中である旨の通知を乗員に対して行う、
請求項１から８のいずれかに記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、車両に搭載された制御装置に記憶されている情報を書き換えるためのシステムに関する。
【背景技術】
【０００２】
従来より、車両に搭載された制御装置に記憶されている情報を書き換えるための手法が提案されている。下記の特許文献１には、車載機器のソフトウェアを無線配信し、該配信されたソフトウェアを受信してダウンロードし、該ダウンロードされたソフトウェアを用いて車載機器のソフトウェアを書き換えることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３２６６８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最近の車両には、複数の制御装置が搭載され、これらの制御装置は、自己のメモリに記憶されたプログラムおよびデータを用いて車両の様々な制御を実現している。上記の従来の手法によれば、このような制御装置に記憶された情報を書き換えるためのソフトウェアを無線配信を介してダウンロードするので、車両を販売店やサービスセンターに持ち込む必要がなく、車両のユーザの利便性を向上させることができる。
【０００５】
しかしながら、この手法によれば、車両を販売店やサービスセンターに持ち込む必要がない。制御装置に記憶された情報を書き換える際には、書き換え対象となる制御装置が通電中の状態であることが必要とされる。したがって、従来、車両を停止し、かつイグニションがオンの状態（バッテリが充電中の状態）において、書き換えを実行していた。
【０００６】
イグニションがオンの状態では、書き換え対象となる制御装置以外の制御装置すなわち書き換えを必要としない制御装置も稼動可能な状態となっている。しかしながら、書き換え実行中、該書き換えを必要としない制御装置の稼動は実際には不要であり、このような制御装置の稼動は、バッテリの電力を不必要に消費することとなる。
【０００７】
したがって、複数の制御装置のうちのいずれかの制御装置を書き換える際に、他の制御装置の不必要な稼動状態によるバッテリの電力の消費を抑制する手法が望まれている。
【課題を解決するための手段】
【０００８】
この発明の一つの側面によると、車両に設けられ、複数の制御装置のうちの書き換え対象となる制御装置に記憶されている情報を書き換えるための書き換えシステムは、前記複数の制御装置のうちの一つであって、前記車両のイグニションがオンの状態において、記憶媒体または通信を介して書き換え情報を取り込み、前記複数の制御装置のうちの前記書き換え対象となる制御装置を特定し、該特定された制御装置に対して書き換え対象である旨の通知を行うよう構成された書き換え実行制御装置と、前記車両のイグニションがオフされたことを検出する手段と、を備える。前記イグニションのオフの検出に応じて、前記書き換え対象となる制御装置および前記書き換え実行制御装置以外の制御装置は、メイン電源が遮断されて動作が停止する停止状態に移行すると共に、前記書き換え実行制御装置は、前記書き換え対象となる制御装置が書き換え可能な状態になったことに応じて、前記取り込んだ書き換え情報によって前記書き換え対象となる制御装置への書き換えを実行する。
【０００９】
この発明によれば、イグニションがオンの状態で、書き換え実行制御装置が、書き換え対象となる制御装置に対し、書き換えを実行することを予め通知するので、書き換え対象制御装置は、自身が、イグニションがオフされた後も動作する必要のあることを認識することができる。したがって、イグニションがオフされたことに応じて、書き換え実行制御装置と書き換え対象制御装置以外の制御装置は通常通り停止状態になるが、書き換え対象制御装置と書き換え実行制御装置は、書き換え処理の実行を認識しているので、停止状態に移行しないことができる。イグニションがオフされた後、書き換え実行制御装置と書き換え対象制御装置のみに電力が供給された状態で書き換えを実行するので、バッテリの消費電力を抑制することができる。
【００１０】
また、イグニションがオフされた状態は、乗員が車両を必要としない状態である。したがって、このような状態で書き換えを実行することにより、乗員に対する書き換えの影響を最小限にすることができる。
【００１１】
この発明の一実施形態によると、前記イグニションのオフの検出に応じて、前記書き換え実行制御装置は、低消費電力で動作する待機状態に移行し、該待機状態にある間、前記書き換え実行制御装置は、前記書き換え対象となる制御装置が前記書き換え可能な状態になったかどうかを監視し、該書き換え可能な状態になったとの判断に応じて、前記待機状態から、通常の消費電力で動作する稼動状態に移行して、前記書き換えを開始する。
【００１２】
この発明によれば、書き換え対象の制御装置が書き換え可能な状態になるまで、書き換え実行制御装置は、低消費電力の待機状態にあるので、バッテリの消費電力をさらに抑制することができる。また、書き換え実行制御装置が書き換え対象制御装置を監視することにより、待機状態から脱して書き換えを開始するタイミングを見極めることができる。
【００１３】
この発明の一実施形態によると、前記イグニションのオフの検出に応じて、前記書き換え実行制御装置は、低消費電力で動作する待機状態に移行し、前記書き換え対象となる制御装置は、前記書き換え可能な状態になったならば、前記書き換え実行制御装置に所定の通知を行い、前記書き換え実行制御装置は、該通知に応じて、前記待機状態から、通常の消費電力で動作する稼動状態に移行して、前記書き換えを開始する。
【００１４】
この発明によれば、書き換え対象の制御装置が書き換え可能な状態になるまで、書き換え実行制御装置は、低消費電力の待機状態にあるので、バッテリの消費電力をさらに抑制することができる。また、書き換え対象制御装置が、書き換え可能状態になったことを書き換え実行制御装置に通知するので、書き換え実行制御装置は、待機状態から脱して書き換えを開始するタイミングを見極めることができる。
【００１５】
本発明のその他の特徴及び利点については、以下の詳細な説明から明らかである。
【図面の簡単な説明】
【００１６】
【図１】この発明の一実施例に従う、車両の書き換えシステムの概略的な構成を示す図。
【図２】この発明の一実施例に従う、各制御装置の構成を示す図。
【図３】この発明の一実施例に従う、イグニションがオンの状態における書き換えシステムの通電状態および書き換え処理の概略的なフローを示す図。
【図４】この発明の一実施例に従う、イグニションがオフの状態における書き換えシステムの通電状態および書き換え処理の概略的なフローを示す図。
【図５】この発明の一実施例に従う、書き換え処理のタイムチャート。
【図６】この発明の一実施例に従う、イグニションがオフされた後の書き換え処理の起動の手法を説明するための図。
【図７】この発明の一実施例に従う、予期せぬ異常が生じた場合の書き換え処理のタイムチャート。
【図８】この発明の一実施例に従う、イグニションがオンの状態における実行制御装置の処理（ＩＧＯＮ処理）を示すフローチャート。
【図９】この発明の一実施例に従う、イグニションがオンの状態における実行制御装置の処理（ＩＧＯＮ処理）を示すフローチャート。
【図１０】この発明の一実施例に従う、イグニションがオフの状態における実行制御装置の処理（ＩＧＯＦＦ処理）を示すフローチャート。
【図１１】この発明の一実施例に従う、待機状態における実行制御装置の処理（待機処理）を示すフローチャート。
【発明を実施するための形態】
【００１７】
次に図面を参照してこの発明の実施の形態を説明する。図１は、この発明の一実施形態に従う、車両に搭載された複数の制御装置を備える書き換えシステムの概略的な構成を示す。
【００１８】
複数の電子制御装置（ＥＣＵ）は、図では１０ａ〜１０ｇで表されている。これらの制御装置１０ａ〜１０ｇは、車両の様々な制御を実現するために設けられており、たとえば、エンジンを制御するための制御装置、ランプやドアなどの制御を行うための制御装置、トランスミッションを制御するための制御装置、エアバッグを制御するための制御装置等を含むことができる。
【００１９】
これらの制御装置１０ａ〜１０ｇのそれぞれは、中央処理装置（ＣＰＵ）およびメモリを備えるコンピュータである。制御装置は、ＣＰＵが演算を行うのに用いる一時的な記憶領域である揮発性のＲＡＭ、および、たとえばＥＥＰＲＯＭおよびフラッシュメモリなど、電源の供給がなくても記憶内容を保持する不揮発性メモリを備える。また、この実施形態では、制御装置は、メイン電源が遮断されても小さい待機電流で記憶内容を保持することができるバックアップ用のＲＡＭ（ＳＲＡＭ）を備えている。
【００２０】
複数の制御装置１０ａ〜１０ｇは、メイン電源ライン１２を介してバッテリ１４に接続されており、バッテリ１４からの電力供給によって動作する。また、車両には、車載ＬＡＮ１６（たとえば、ＣＡＮ通信システム）が搭載されており、制御装置１０ａ〜１０ｇは、車載ＬＡＮ１６に接続されている。こうして、制御装置１０ａ〜１０ｇは、車載ＬＡＮ１６を介して互いに通信することができる。
【００２１】
制御装置１０ａ〜１０ｇの不揮発性メモリには、前述したように、該制御装置が車両の制御を実現するために実行すべきプログラムおよび該プログラムの実行において用いられるデータが記憶されている。これら記憶されているプログラムおよびデータ（以下、総称して「情報」と呼ぶ）を、新しい情報で書き換えることが必要とされることがある。たとえば、プログラムのバージョンアップが必要とされることがあり、この場合、メモリに記憶されている古いバージョンのプログラムを消去し、新しいバージョンのプログラムを書き込むことによって、書き換え処理を実現する。なお、以下の説明において、「書き換え」には、このような消去を伴うものだけでなく、不揮発性メモリの空き領域に新たな情報を書き込む場合をも含むとする。書き換え対象となる情報は、プログラムでもよいし、データでもよい。
【００２２】
複数の制御装置のうちの少なくとも１つが、書き換え対象となる制御装置に対し、書き換えを実行する制御装置（以下、実行制御装置と呼ぶ）として予め決められている。実行制御装置は、書き換え情報を取り込んで、自己のメモリに記憶するよう構成されている。この実施形態では、メイン電源が遮断された場合でも内容が保持されるように、書き換え情報は、不揮発性メモリまたはバックアップ用ＲＡＭに記憶される。代替的に、取り込んだ書き換え情報を、該実行制御装置がアクセス可能な外部記憶装置に記憶してもよい。ここで、「書き換え情報」は、書き換え対象となる制御装置の不揮発性メモリに、新たに書き込まれるべき情報を示す。
【００２３】
書き換え情報の取り込みは、この実施例では、無線通信または記憶媒体を介して行われる。車両には、所定のコンピュータ（たとえば、サーバ）と無線で通信する通信機器（図示せず）が搭載されており、該通信機器を介して書き換え情報を受信し、それをメモリに記憶する。
【００２４】
また、車両には、たとえばＣＤ−ＲＯＭなどの記憶媒体のドライブが設けられている。実行制御装置は、該ドライブを介して、記憶媒体に記憶された書き換え情報を読み出すことができ、該読み出した書き換え情報を自己のメモリに記憶する。
【００２５】
代替的に、車両に、所定の外部機器を有線で接続し、該外部機器に記憶されている書き換え情報を通信によって受信するようにしてもよい。書き換え実行制御装置は、該受信した書き換え情報を自己のメモリに記憶する。
【００２６】
ここで図２を参照すると、各制御装置１０（図１の複数の制御装置を区別しない場合には、符号「１０」を用いる）には、イグニションスイッチ（ＩＧＳＷ）のオンおよびオフを示す信号ＩＧＳＷが入力されるイグニションスイッチライン２１が接続されている。また、各制御装置１０には、メイン電源系統を構成する、バッテリ１４からのメイン電源ライン１２と、バックアップ電源系統を構成する、バッテリ１４からのバックアップ電源ライン２３とが接続されている。
【００２７】
メイン電源ライン１２の途中にはメインリレー２２が設けられており、制御装置１０がメインリレー２２のスイッチを閉じると、制御装置１０は、バッテリ１４からの電力供給を受け、制御装置１０は、通常の消費電力で動作を行う稼動状態となる。他方、制御装置１０がメインリレー２２のスイッチを開くと、バッテリ１４からのメイン電源ライン１２を介した電力供給は遮断される。制御装置１０のメイン電源はオフとなり、制御装置１０のＣＰＵは完全に停止する停止状態となる。
【００２８】
バックアップ電源系統は、制御装置１０に設けられたバックアップ用のＲＡＭに待機電流を流すために設けられている。バックアップ電源ライン２３により、メインリレー２２のオンおよびオフにかかわらず、バックアップ用のＲＡＭを常時通電状態にして、その記憶内容を保持することができる。
【００２９】
この実施例では、実行制御装置については、上記稼動状態と停止状態の他に、待機状態というモードを有する。待機状態は、稼動状態に比べて消費電力の低い状態である。メイン電源系統は遮断されている（すなわち、メインリレーのスイッチ２２は開かれる）が、バックアップ電源系統を利用して、ＣＰＵの限られた動作のみを許容するよう構成されたモードである。これについての詳細は、後述される。
【００３０】
次に、図３および図４を参照して、書き換え動作の概略を説明する。この実施例では、図１の制御装置１０ｇが実行制御装置であるとする。
【００３１】
図３において、（ａ）は、イグニションがオンにされている状態（ＩＧ−ＯＮ状態）における、図１の複数の制御装置の通電状態を示し、（ｂ）は、イグニションがオンにされている状態における書き換えシステムの動作の概略的なフローを示す。なお、（ｂ）に示す動作は、車両が通常の走行状態中に行われてもよいし、イグニションがオンにされていれば、車両の走行が停止している状態で行われてもよい。
【００３２】
（ａ）に示すように、イグニションがオンにされた状態では、エンジンの動作によって発電機（図示せず）からバッテリ１４の充電動作が行われると共に、制御装置１０ａ〜１０ｇは、メイン電源ライン１２を介してバッテリ１４と通電中であり（ライン１２への接続が実線で表されている）、通常の消費電力で動作を行う稼動状態にある。また、制御装置１０ａ〜１０ｇは、車載ＬＡＮ１６を介して互いに通信可能な状態になっている（ライン１６への接続が実線で表されている）。
【００３３】
（ｂ）に示すように、ステップＳ１において、実行制御装置１０ｇは、前述したような手法で書き換え情報を取り込み、書き換え対象となる制御装置（以下、対象制御装置と呼ぶ）１０ａを識別する。対象制御装置の識別は、任意の手法で実現されることができる。たとえば、書き換え情報に、書き換え対象となる制御装置１０ａを識別するためのコードを予め含ませることにより、実行制御装置１０ｇは、該取り込んだ書き換え情報に基づいて、対象制御装置１０ａを識別することができる。代替的に、書き換え情報とは別個のファイル情報に、書き換え対象となる制御装置１０ａを識別するコードを予め含ませ、該ファイル情報を、該書き換え情報と共に取り込むことにより、対象制御装置１０ａを識別するようにしてもよい。
【００３４】
ステップＳ２において、実行制御装置１０ｇは、対象制御装置１０ａに対し、次のイグニションオフ状態において書き換えを実施することを、車載ＬＡＮ１６を介して通知する。これにより、対象制御装置１０ａは、自身が書き換え対象として特定されたことを認識することができる。こうして、対象制御装置１０ａは、次にイグニションがオフされても、停止状態に移行することなく、書き換えを実行する必要があることを認識することができる。
【００３５】
ステップＳ３において、実行制御装置１０ｇは、乗員に対し、車両が次にイグニションオフされたときに、対象制御装置１０ａの書き換えが必要なことを通知する。通知は、任意の手法で行われることができる。たとえば、車両に搭載された表示装置（たとえば、ナビゲーションシステムの表示装置）や、インスツルメントパネル上の所定の表示パネルに、書き換えが必要なことを示すメッセージを表示することによって通知することができる。また、音声によって通知するようにしてもよい。
【００３６】
好ましくは、上記書き換えの通知と共に、乗員に対し、書き換えに要する時間を通知する。書き換えに要する時間は、書き換え情報のデータ量と、対象制御装置１０ａがメモリを書き換える速度とに基づいて、実行制御装置１０ｇが計算により算出することができる。たとえば、取り込んだ書き換え情報のデータ量を調べ、これを、対象制御装置１０ａの所定の書き換え速度で除算することにより、書き換えに要する時間（書き換え時間）を算出することができる。代替的に、予め計算された書き換え時間を示すデータを、通信を介してまたは記憶媒体から読み込み、これを通知するようにしてもよい。通知は、前述したように、表示および（または）音声によって行うことができる。こうして、乗員は、書き換えにどの程度時間がかかるかを認識することができる。
【００３７】
ステップＳ４において、乗員は、ステップＳ３における通知に対し、書き換えを許可するか否かを示す応答を行う。応答は、任意の手段によって行うことができる。たとえば、表示装置上に表示された所定の許可を示すボタン（ＯＫボタン）および不許可を示すボタン（ＮＧボタン）のいずれかを選択することにより、このような応答を行うことができる。応答を受け取った実行制御装置１０ｇは、該応答の結果をメモリに記憶する。このように、乗員は、自己の都合に合わせて、書き換えの許可または不許可を選択することができる。また、乗員からの許可に応じて書き換えを実行するので、乗員に対する書き換えの影響を抑止することができる。
【００３８】
なお、ステップＳ４において乗員からの応答が書き換えの不許可を示すならば、次回イグニションがオンされた時に、再度、書き換えの許可および不許可について乗員に対し通知するのがよい。
【００３９】
上記実施例では、ステップＳ２で対象制御装置１０ａに対して通知を行った後、乗員に対する通知および乗員からの応答の受け取りをステップＳ３およびＳ４で行っている。代替的に、乗員に対する通知および乗員からの応答の受け取りを行った後に、対象制御装置１０ａに対する通知を行ってもよい。たとえば、乗員から、書き換えの許可がなされた場合にのみ、対象制御装置１０ａに対する書き換えの通知を行うようにしてもよい。
【００４０】
図４の（ａ）は、イグニションがオフされている状態（ＩＧ−ＯＦＦ状態）における、図１の複数の制御装置の通電状態を示し、（ｂ）は、イグニションがオフされている状態における書き換えシステムの動作の概略的なフローを示す。
【００４１】
（ａ）に示すように、イグニションがオフされた状態では、エンジンが停止しているのでバッテリ１４の放電動作が行われると共に、実行制御装置１０ｇと対象制御装置１０ａ以外の制御装置１０ｂ〜ｆのメイン電源ライン１２を介した電力供給は遮断され、制御装置１０ｂ〜ｆは停止状態に至る（ライン１２への接続が点線で表されている）。したがって、実行制御装置１０ｇと対象制御装置１０ａ以外の制御装置１０ｂ〜ｆによる車載ＬＡＮ１６を介した通信も行われない（ライン１６への接続が点線で表されている）。他方、実行制御装置１０ｇと対象制御装置１０ａは、書き換えの際には、メイン電源ライン１２を介してバッテリ１４からの電力供給を受け、稼動状態となると共に、車載ＬＡＮ１６を介した通信も行われる。
【００４２】
（ｂ）に示すように、イグニションがオフされたことが検出されたならば、ステップＳ５において、実行制御装置１０ｇと対象制御装置１０ａ以外の制御装置１０ｂ〜１０ｆは、所定の後処理を終えた後、自己のメインリレー２２のスイッチを開くことによってメイン電源ライン１２を介した電力供給を遮断し、停止状態に入る。しかし、対象制御装置１０ａは、所定の後処理を終えても、メインリレー２２のスイッチを開くことはせず、よって、メイン電源ライン１２から電力供給を受けた稼動状態を維持する。また、実行制御装置１０ｇは、好ましくは、対象制御装置１０ａが後処理を終えることによって書き換え可能な状態になるまで、自己のメインリレー２２を開くことによってメイン電源ライン１２を介した電力供給を遮断し、バックアップ電源系統からの電力で動作する待機状態にある。前述したように、待機状態は、低消費電力モードであるので、稼動状態に比べて消費電力を低減することができる。
【００４３】
ステップＳ６において、実行制御装置１０ｇは、対象制御装置１０ａが書き換え可能な状態になったことに応じて、自己のメインリレー２２を閉じることによってメイン電源ライン１２を介した電力供給を開始し、これにより、待機状態から稼動状態に復帰し、書き換え処理を開始する。書き換え処理では、自己のメモリに取り込んだ書き換え情報を読み出し、これを、対象制御装置１０ａに車載ＬＡＮ１６を介して送信して、書き換えを実行するよう指示する。この指示に応じて、対象制御装置１０ａは、受け取った書き換え情報で、自己の不揮発性メモリを書き換える。
【００４４】
ステップＳ７において、書き換えが終了したならば、実行制御装置１０ｇおよび対象制御装置１０ａは、それぞれ、自己のメインリレー２２のスイッチを開くことによってメイン電源ライン１２を介した電力供給を遮断し、停止状態に移行する。
【００４５】
従来では、イグニションスイッチとメイン電源系統とは連動しており、イグニションがオフされるとメイン電源系統の通電が遮断され、よって、それぞれの制御装置は、動作を停止する停止状態に入るのが通常であった。いずれかの制御装置の書き換えを行うには、イグニションを再びオンにし、これによってすべての制御装置のメイン電源系統を通電状態にして、すべての制御装置を稼動状態にする必要があった。
【００４６】
それに対し、本願発明では、書き換えは、イグニションがオフされた後に行われる。イグニションがオンにされた状態で、書き換えを実行する制御装置および書き換えの対象となる制御装置だけは、書き換え実行を行う必要性を認識している。したがって、これらの制御装置だけは、イグニションがオフにされても、それに連動して自己のメイン電源系統を遮断することは行わず、メイン電源系統を通電状態にして稼動状態を維持することができる。書き換えに必要な制御装置のみを稼動状態にして書き換えを実行するので、バッテリの消費電力を低減することができる。
【００４７】
また、好ましくは、実行制御装置１０ｇは、対象制御装置１０ａが書き換え可能な状態になるまで、低消費電力で動作する待機状態にある。これにより、バッテリの消費電力をより低減することができる。
【００４８】
図５は、図１に示す各制御装置１０ａ〜１０ｇの状態遷移を示すタイムチャートである。イグニション（ＩＧＳＷ）がオンである間（〜時間ｔ１）は、すべての制御装置１０ａ〜１０ｇは、メイン電源がオンされた稼動状態にある。実行制御装置１０ｇは、図３を参照して説明したような書き換えのための事前処理（ＩＧＯＮ処理と呼ぶ）を実行しており、他の制御装置１０ａ〜１０ｆは、予め決められた車両のための通常の制御（たとえば、エンジン制御、トランスミッション制御等）を行っている。時間ｔ１においてイグニションのオフが検出されたならば、制御装置１０ａ〜１０ｆは、所定の後処理を行う。後処理は、通常の制御に応じて予め決められており、たとえば、必要なデータをバックアップ用のＲＡＭに記憶したり、実行中の制御プロセスを正常終了させたりする処理を含むことができる。他方、イグニションのオフが検出されたならば、実行制御装置１０ｇは、待機状態に入り、低消費電力で動作する。
【００４９】
対象制御装置１０ａの後処理が終わると（時間ｔ２）、対象制御装置１０ａは書き換え可能な状態になる。実行制御装置１０ｇは、メイン電源をオンにすることによって待機状態から稼動状態に移行し、書き換え処理（ＩＧＯＦＦ処理と呼ぶ）を開始し、対象制御装置１０ａに書き換え情報を送信して、書き換えを実行するよう指示する。これに応じて、対象制御装置１０ａは、受信した書き換え情報で、自己の不揮発性メモリに対する書き換え処理を実行する。時間ｔ３において書き換え処理が終了したならば、実行制御装置１０ｇおよび対象制御装置１０ａは、それぞれ、自己のメイン電源をオフにし、停止状態に入る。
【００５０】
他の制御装置１０ｂ〜１０ｆは、それぞれ、自己の後処理を終えたことに応じて自己のメイン電源をオフにし、停止状態に移行する（時間ｔ２’）。
【００５１】
ここで、実行制御装置１０ｇが、待機状態から稼動状態に移行するのに、以下のような２つの方法がある。図６を参照すると、（ａ）は一方の方法を示し、（ｂ）は他方の方法を示す。
【００５２】
（ａ）では、実行制御装置１０ｇが待機状態にあるとき、対象制御装置１０ａに対し、間欠的に（たとえば、一定の時間間隔で）、後処理が終了したかどうかを確認するための監視信号を出す。対象制御装置１０ａは、車載ＬＡＮ１６を介して監視信号を受け取り、これに応じて、後処理が終了したか否かを示す信号を返す。実行制御装置１０ｇは、後処理が終了したことを示す信号を受け取るまで、この間欠動作を行う。後処理が終了したことを示す信号を受け取ったならば、メインリレー２２のスイッチを閉じることによってメイン電源をオンにして稼動状態に移行し、書き換え処理（ＩＧＯＦＦ処理）を開始する。このように、（ａ）では、実行制御装置１０ｇが主導で書き換え処理の開始タイミングを特定する。待機状態においては、実行制御装置１０ｇは、間欠的に対象制御装置１０ａを監視して、対象制御装置１０ａが書き換え可能な状態になったかどうかを判断するという限られた動作のみ行う。このように、書き換え処理を開始するまでは、低消費電力モードで動作する待機状態であるので、消費電力を低減することができる。
【００５３】
（ｂ）では、対象制御装置１０ａが、後処理を終了したことに応じて、車載ＬＡＮ１６を介して起動信号を実行制御装置１０ｇに送信する。この起動信号の受信に応じて、実行制御装置１０ｇは待機状態から稼動状態に移行し、書き換え処理（ＩＧＯＦＦ処理）を開始する。このように、（ｂ）では、対象制御装置１０ａが主導で書き換え処理の開始タイミングを特定する。待機状態においては、実行制御装置１０ｇは、対象制御装置１０ａが書き換え可能な状態になったことを示す起動信号に応じるという限られた動作のみを行う。（ａ）と同様に、書き換え処理を開始するまでは、低消費電力モードで動作する待機状態であるので、消費電力を低減することができる。
【００５４】
（ａ）および（ｂ）のいずれでも、待機中の消費電力を低減することができるが、特に（ａ）の方法は、予期せぬ不良によって書き換え処理を開始できなくなった場合に、実行制御装置１０ｇが自己のメイン電源をオフすることができるので、望ましい。
【００５５】
すなわち、車載ＬＡＮ１６の通信異常等によって、対象制御装置１０ａと実行制御装置１０ｇの間で通信することができない場合が生じうる。（ａ）の場合には、間欠的に監視信号を対象制御装置１０ａに送り、その応答を調べるので、所定時間内に応答があるかどうかで、このような異常が生じたかどうかを判断することができる。異常と判定したならば、実行制御装置１０ｇは停止状態に移行する。その後にイグニションがオンされたときに、乗員に当該異常を知らせることができる。
【００５６】
（ｂ）の場合には、実行制御装置１０ｇが、（ａ）のような監視を行わないので、上記のような異常が生じたかどうかを判断することが（ａ）に比べて困難である。異常が生じた場合に、これを判定できずに待機状態を継続すると、消費電力を不必要に消費するおそれがある。したがって、（ｂ）の場合には、実行制御装置１０ｇは、イグニションがオフされてから所定時間内に起動信号を受信しなければ異常と判定するのが好ましい。異常と判定したならば、実行制御装置１０ｇは停止状態に移行する。その後にイグニションがオンされたときに、乗員に当該異常を知らせることができる。
【００５７】
図７には、図５と同様の図が示されており、これは、異常が生じた場合の制御装置１０ａ〜１０ｇの状態遷移のタイムチャートである。実行制御装置１０ｇの待機状態から稼動状態への移行は、図６の（ａ）の方法に従っている。
【００５８】
図５の場合と同様に、イグニションのオフに応じて（時間ｔ１）、実行制御装置１０ｇは待機状態に入り、対象制御装置１０ａに対して間欠的に監視信号を送る。時間ｔ２において対象制御装置１０ａは後処理を終了するので、実行制御装置１０ｇは書き換え処理（ＩＧＯＦＦ処理）を開始すべきである。しかしながら、車載ＬＡＮ１６による通信の異常により、実行制御装置１０ｇは、監視信号に対する応答を受け取ることができず、待機状態が継続される。
【００５９】
他方、対象制御装置１０ａにおいても、実行制御装置１０ｇから書き換えの指示が無いので、対象制御装置１０ａは、実行制御装置１０ｇからの指示を待つ。
【００６０】
実行制御装置１０ｇは、対象制御装置１０ａに監視信号を発してから所定時間経過しても応答が無ければ、予期せぬ異常が生じたと判断し、時間ｔ４において、自己のメイン電源をオンにして稼動状態に移行し、当該異常の判定を記憶すると共に、時間ｔ５において、メイン電源をオフにして停止状態に移行する。異常判定の記憶および停止状態への移行は、この実施例では、前述したＩＧＯＦＦ処理の実行を介して行われる。
【００６１】
代替的に、予期せぬ異常が生じたと判断したならば、ＩＧＯＦＦ処理を実行することなく、時間ｔ４において待機状態から停止状態に直接移行してもよい（メイン電源はオフのままである）。この場合、待機状態において、異常判定を記憶すればよい。
【００６２】
こうして記憶された異常判定は、その後イグニションがオンされたときに、乗員への異常の通知に用いられる。
【００６３】
対象制御装置１０ａは、後処理を終了してから所定時間が経過するまでに、実行制御装置１０ｇから指示が無ければ、自己のメイン電源を強制的にオフにし、停止状態に入る。この実施例では、時間ｔ３においてメイン電源をオフにしており、これは、実行制御装置１０ｇの異常判断時期ｔ４よりも早いが、この形態に限定されるものではない。対象制御装置１０ａは、実行制御装置１０ｇの異常判断時期ｔ４よりも遅い時点で停止状態に移行するようにしてもよい。
【００６４】
次に、図８および図９を参照して、図３および図５を参照して説明したイグニションがオンされている状態において実行制御装置１０ｇのＣＰＵによって実行されるプロセス（ＩＧＯＮ処理）の詳細を説明する。ＩＧＯＮ処理は、イグニションのオンの検出に応じて起動され、イグニションがオンの間、繰り返し実行されることができる。
【００６５】
ステップＳ１１は、書き換え情報を自己のメモリにダウンロードする前に、書き換えるべき新しい情報が存在するかどうかを判断するための処理であり、任意の適切な手法で判断することができる。たとえば、実行制御装置１０ｇは、各制御装置について、どのバージョンのプログラムおよびデータが記憶されているかについてのテーブルを有することができる。したがって、記憶媒体から新しい書き換え情報を読み込む場合には、該記憶媒体に予め記憶された該書き換え情報に関するファイル情報（たとえば、対象制御装置を識別するコードと、新しい書き換え情報のバージョンを識別するコードを含むことができる）を調べ、書き換え対象となる対象制御装置１０ａを識別し、該新しい書き換え情報が、該対象制御装置１０ａにすでに書き込まれている情報よりも新しいバージョンかどうかを、該テーブルを参照して調べ、新しいバージョンであれば、新しい書き換え情報が存在すると判断する。無線通信により書き換え情報を受信する場合には、書き換え情報に関する上記のようなファイル情報を受信することにより、同様の判断を行う。こうして、同じ書き換え情報を何度もダウンロードすることを防止することができる。
【００６６】
ステップＳ１１において新しい書き換え情報が存在すれば（Ｙｅｓとなる）、書き換え情報存在フラグに値１をセットして、ステップＳ１２に進む。ステップＳ１１において新しい書き換え情報が存在しなければ（Ｎｏとなる）、当該プロセス（ＩＧＯＮ処理）を抜ける。
【００６７】
ステップＳ１２において、対象制御装置１０ａが異常状態にあるかどうかを判断する。対象制御装置１０ａの異常状態が判定された時に値１にセットされる異常状態フラグ（後述のステップＳ５７、Ｓ７５を参照）を調べることにより、この判断を行うことができる。ステップＳ１２の判断がＹｅｓである（異常状態である）ならば、ステップＳ１３において、乗員に対し、対象制御装置１０ａが異常状態にあることを通知して、当該プロセスを抜ける。この通知に伴い、車両のサービスセンター等に車両の修理を促すような通知を行ってもよい。こうして、書き換え中に対象制御装置１０ａが異常になったことを乗員は認識することができる。前述したように、乗員に対する通知は、表示装置を介して行うことができ、また、音声による通知でもよい。この点は、以下も同様である。
【００６８】
ステップＳ１２の判断がＮｏ（異常状態ではない）ならば、ステップＳ１４において、車載ＬＡＮ１６の通信が異常かどうかを判断する。これは、車載ＬＡＮ１６の通信が異常と判定された時に値１にセットされる通信異常フラグ（後述されるステップＳ８５を参照）を調べることにより、判断することができる。
【００６９】
ステップＳ１４の判断がＹｅｓである（通信が異常である）ならば、ステップＳ１５において、乗員に対し、車載ＬＡＮ１６の通信に異常があることを通知して、当該プロセスを終える。ステップＳ１３と同様に、この通知に伴い、車両のサービスセンター等に車両の修理を促すような通知を行ってもよい。こうして、書き換え中に車載ＬＡＮ１６が異常になったことを乗員は認識することができる。
【００７０】
ステップＳ１４の判断がＮｏ（通信異常ではない）ならば、ステップＳ１６において、実行制御装置１０ｇが書き換え実行待ち状態になった時に値１がセットされる実行待ち状態フラグを調べ、書き換え実行待ち状態にあるかどうかを判断する。書き換え情報をまだダウンロード（取り込み）していない場合には、書き換え実行待ち状態になっていないので、ステップＳ１７に進む。
【００７１】
ステップＳ１７において、新しい書き換え情報のダウンロードを、たとえば記憶媒体または通信を介して実行する。書き換え情報と共に、必要に応じて、書き換えのための実行プログラムをダウンロードすることができる。ダウンロードされた書き換え情報は、前述したように、実行制御装置１０ｇのメモリに記憶される。
【００７２】
ステップＳ１８において、ダウンロードが正常に終了したかどうかを判断する。正常に終了しなかったならば、当該プロセスを抜ける。正常に終了したならば、ステップＳ１９に進み、実行制御装置１０ｇは、書き換え実行待ち状態に移行する（実行待ち状態フラグの値を１にセット）。こうして、実行待ち状態フラグが値１である間は、ステップＳ１６の判断はＹｅｓとなり、同じ書き換え情報のダウンロードの繰り返しを回避することができる。たとえば、実行待ち状態フラグの値が１である間にイグニションがオフされて、その後再びイグニションがオンされた場合、ステップＳ１６の判断はＹｅｓとなり、ダウンロードは行われない。
【００７３】
ステップＳ２０において、対象制御装置１０ａにおける書き換えが正常に終了した時点で値１にセットされる正常終了状態フラグ（後述されるステップＳ５６、Ｓ７３を参照）を調べ、対象制御装置１０ａが正常終了状態かどうかを判断する。書き換えが未だ開始されていない間は、このフラグはゼロであるので、ステップＳ２１に進む。ステップＳ２１において、対象制御装置１０ａにおける書き換えが実行中の時に値１にセットされる書き換え実行状態フラグ（後述されるステップＳ７０を参照）を調べ、対象制御装置１０ａにおける書き換えが実行中かどうかを判断する。書き換えが未だ開始されていない間は、このフラグはゼロであるので、ステップＳ２２に進む。ステップＳ２２において、実行制御装置１０ｇによる書き換えが乗員によって許可された時に値１がセットされる書き換え許可状態フラグ（後述されるステップＳ３６を参照）を調べ、実行制御装置１０ｇが書き換え許可状態かどうかを判断する。書き換えがまだ許可されていない場合、ステップＳ３１（図９）に進む。
【００７４】
ステップＳ３１において、実行制御装置１０ｇは対象制御装置１０ａに対し、車載ＬＡＮ１６を介して、所定の信号を用い、次のイグニションオフの状態で書き換えを実施することを通知する。対象制御装置１０ａは、この通知に応答して、書き換えを受け付けるかどうかを示す応答を返す。ステップＳ３２において、対象制御装置１０ａからの該応答を受け取り、これが、書き換えが受け付けられたことを示す肯定応答ならば、対象制御装置１０ａは書き換え待ち状態に移行したと判定し、ステップＳ３４に進む。他方、書き換えが受け付けられないことを示す否定応答ならば、ステップＳ３７において、実行制御装置１０ｇは、書き換え不許可状態に移行し（書き換え許可状態フラグをゼロに維持）、当該プロセスを抜ける。
【００７５】
ステップＳ３４において、乗員に対し、次のイグニションオフによって、対象制御装置１０ａの書き換えを実行することを通知し、乗員に対し、この書き換え実行に対して許可するかどうかの指示を促す。乗員は、たとえば表示装置の画面上に表示される所定の許可（ＯＫ）または不許可（ＮＧ）のボタンを選択することにより、実行制御装置１０ｇに対し、許可または不許可を指示することができる。こうして、乗員は、書き換え実行について、自己の都合に合わせて許可または不許可を選択することができる。この通知とともに、前述したように、書き換えに要する時間を知らせるのが好ましい。これにより、乗員は、該書き換え時間を考慮して、許可または不許可を選択することができる。さらに、この通知と共に、乗員に対する注意事項等を知らせるようにしてもよい。たとえば、書き換えが終了するまではイグニションをオンにしないよう注意を促すことができる。
【００７６】
ステップＳ３５において、乗員からの指示が許可を示すならば、実行制御装置１０ｇは書き換え許可状態に移行し（書き換え許可状態フラグに値１をセット）、当該プロセスを抜ける。他方、ステップＳ３５において、乗員からの指示が不許可を示すならば、実行制御装置１０ｇは、書き換え不許可状態に移行し（書き換え許可状態フラグをゼロに維持）、当該プロセスを抜ける。
【００７７】
なお、後述するように、不許可状態のままイグニションがオフされても書き換え処理は開始されない（図１０参照）。書き換え処理が開始されることなく再びイグニションがオンにされると、ステップＳ３４において再び乗員に書き換えの通知が行われ、乗員からの許可または不許可の指示を受け取る。許可の指示を受け取ったならば、ステップＳ３６に進んで許可状態に移行し、その後のイグニションオフ状態で実行されるＩＧＯＦＦ処理（図１０）において、書き換え処理が開始される。このように、乗員から許可の指示を受け取るまで、イグニションがオンされるたびに乗員に対して許可を求めるようにするのが好ましい。
【００７８】
なお、許可状態のままイグニションのオフおよびオンが瞬間的になされると、書き換え処理が開始されることなく当該プロセス（ＩＧＯＮ処理）が再び開始されることがありうる。このとき、一旦許可状態に移行していれば、ステップＳ２２の判断はＹｅｓとなり、当該プロセスを抜ける。こうして、乗員から許可を一旦受けたならば、再び乗員に問い合わせることはないので、乗員の煩雑さを低減することができる。
【００７９】
こうして、許可状態に移行した後でイグニションがオフにされたならば、書き換えが実行される（図１０を参照して後述）。その後、再びイグニションがオンにされたとき、ＩＧＯＮ処理が開始する。ステップＳ２０において、対象制御装置１０ａの書き換えが正常終了であるときに値１にセットされる正常終了状態フラグ（後述されるステップＳ５６、Ｓ７３を参照）を調べ、対象制御装置１０ａが正常終了状態にあるかどうかを判断する。正常終了状態にあれば、ステップＳ４１（図９）に進む。
【００８０】
ステップＳ４１は、通信機器による無線通信を介して所定のコンピュータ（たとえば、サーバ）から書き換え情報を受信した場合に実行され、対象制御装置１０ａの書き換えが終了してバージョンアップが完了したことを該コンピュータに送信する。こうすることにより、該コンピュータは、対象制御装置１０ａに書き込まれた当該書き換え情報を再び送信する必要がないことを認識すると共に、対象制御装置１０ａに次に送信すべきバージョンを識別することが可能となる。記憶媒体を介して書き換え情報を取り込んだ場合には、ステップＳ４１はスキップされる。
【００８１】
ステップＳ４２において、書き換え処理が正常に終了したので、ステップＳ１１を参照して述べた書き換え情報存在フラグをゼロにリセット（初期化）し、新しい書き換え情報は存在しない（「なし」）とする。ステップ４３において、実行制御装置１０ｇの状態は、新しい書き換え情報を待つ書き換え情報待ち状態に初期化される。これに伴い、すべてのフラグがゼロに初期化される。ステップＳ４４において、乗員に対し、書き換えが正常に終了したことを通知する。こうして、書き換えが正常終了した後にイグニションがオンにされたとき、乗員には該書き換えの正常終了が知らされる。
【００８２】
なお、イグニションがオフされて書き換え処理の実行中に、乗員によってイグニションがオンにされることがありうる。イグニションがオンにされると、図８および図９の当該プロセス（ＩＧＯＮ処理）が開始される。この場合、書き換え実行状態フラグの値が１であるので、ステップＳ２１の判断はＹｅｓとなる。ステップＳ５１（図９）に進み、書き換え処理を続行するための処理を実行する。
【００８３】
この実施例では、イグニションがオンにされることに応じて、複数の制御装置は、相互に通信して動作を監視し、故障かどうかを判定する故障検知処理を行うよう構成されている。図１の例では、たとえば、対象制御装置１０ａに対し、他の制御装置１０ｂ〜ｆが信号を送信して該対象制御装置１０ａから応答があるかどうかを判断し、応答が無ければ対象制御装置１０ａは異常と判断する故障検知処理が実行される。しかしながら、対象制御装置１０ａは書き換え中であるため、応答することができない。したがって、このような故障検知処理を行うと、対象制御装置１０ａについて、故障していると誤って判断されるおそれがある。これを回避するため、ステップＳ５１において、実行制御装置１０ｇは、他の制御装置１０ｂ〜ｆに対し、対象制御装置１０ａに対する該故障検知処理を停止するよう指示する。
【００８４】
ステップＳ５２において、乗員に対し、対象制御装置１０ａは書き換えの最中であって正常に動作しないことを通知し、乗員に対し、車両に対する操作（たとえば、ハンドルやアクセル、ブレーキペダル等の操作）を待つよう要求する。代替的に、イグニションオフを促すようにしてもよい。イグニションをオフにすることにより、消費電力を低減することができる。イグニションがオフされると、後述する図１０のＩＧＯＦＦ処理が実行され、この中で書き換え処理は継続される。
【００８５】
ステップＳ５３において、対象制御装置１０ａについて、書き換え実行中であることを示す書き換え実行状態を維持する（書き換え実行状態フラグの値は１）。ステップＳ５４において、実行制御装置１０ｇは、対象制御装置１０ａに対し、書き換え情報を送信して、書き換え処理を継続するよう指示する。この実施例では、書き換え情報は、所定のデーブロック（たとえば、１２８バイトのブロック）に分割され、該所定のデータブロック単位で、車載ＬＡＮ１６を介して対象制御装置１０ａに送信される。対象制御装置１０ａは、受信したデータブロックで、自己の不揮発性メモリを書き換える。したがって、実行制御装置１０ｇは、後述するイグニションオフ時の書き換え処理（図１１のＩＧＯＦＦ処理）に続くように、対象制御装置１０ａに未だ送信していないデータブロックを対象制御装置１０ａに送信し、対象制御装置１０ａは、受け取ったデータブロックで、自己のメモリを書き換える。
【００８６】
ステップＳ５５において、対象制御装置１０ａにおける書き換えが正常に終了したかどうかを判定する。たとえば、実行制御装置１０ｇは、書き換え情報の最後のデータブロックを送信した後、対象制御装置１０ａから、該データブロックの書き換えを終了したとの応答を受け取ったならば、正常終了したと判定することができる。正常に終了したと判定したならば（Ｙｅｓの場合）、ステップＳ５６において、対象制御装置１０ａが正常終了状態に移行したと判定する（正常終了状態フラグに値１をセット）。こうして、次に当該プロセスが実行されるときには、ステップＳ２０の判断がＹｅｓとなり、ステップＳ４１〜Ｓ４４が実行されることとなる。
【００８７】
ステップＳ５５において、書き換えが正常に終了しなかったと判定したならば（Ｎｏの場合）、ステップＳ５７において、対象制御装置１０ａが異常状態に移行したと判定する（異常状態フラグに値１をセット）。このような異常状態は、実行制御装置１０ｇの書き換え手順は正常だが、対象制御装置１０ａが書き換えを正常に終了できない場合や、書き換え中に何らかの通信異常が発生して書き換えを続行することができない場合等に起因して生じる。こうして、異常状態と判定されたならば、次に当該プロセスを実行するとき、ステップＳ１２の判断はＹｅｓとなり、乗員に対して異常が通知される。
【００８８】
図８、９において、点線のボックスＡ〜Ｄで囲まれる処理は、他の装置との通信または乗員との対話を含んでおり、好ましくは、イグニションのオフとオンの間の遷移にかかわらず継続される処理を示す。このような継続性により、実行制御装置１０ｇの該他の装置や乗員とのやりとりを円滑にすることができる。以下、各ボックスＡ〜Ｄについて簡単に述べる。
【００８９】
ボックスＡおよびＤについては、通信機器による通信や記憶媒体のドライブによる読み込み動作の冗長性を回避するためである。ボックスＡの場合、ステップＳ１７のダウンロードを終えてからボックスＡの処理を完了するまでの間にイグニションがオフされると、通信機器による通信は正常に終了していても、実行制御装置１０ｇが書き換え実行待ち状態に移行していない状態が生じうる。このような状態でイグニションが再びオンされると、ステップＳ１６の判断がＮｏとなるので、ダウンロードが再度行われるおそれがある。このような冗長性を回避するため、ステップＳ１７でダウンロードを終えたならば、たとえその後のボックスＡの処理を終えるまでの間にイグニションがオフされても、ステップＳ１８およびＳ１９は実行される。これにより、イグニションがその後オンされたときにはステップＳ１６の判断がＹｅｓとなるので、再度のダウンロードを回避することができる。
【００９０】
ボックスＤについても同様であり、ステップＳ４１では、通信機器を介してバージョンアップ完了の送信が行われるが、その後にボックスＤの処理が完了するまでの間にイグニションがオフされると、実行制御装置１０ｇは書き換え情報待ちの状態に移行していない状態が生じうる。このような状態でイグニションが再びオンされると、該バージョンアップ完了の送信が再び行われるおそれがある。このような冗長性を回避するため、ステップＳ４１でバージョンアップ完了の送信を終えたならば、たとえその後のボックスＤの処理を終えるまでの間にイグニションがオフされても、ステップＳ４２およびＳ４３は実行される。これにより、イグニションがその後オンされたときにはステップＳ１１の判断はＮｏとなるので、再度のバージョンアップ送信は行われない。
【００９１】
ボックスＢは、実行制御装置１０ｇと対象制御装置１０ａとの通信を円滑にするために設けられている。ステップＳ５５の正常終了判定は、前述したように、ステップＳ５４の書き換えが終了する際に対象制御装置１０ａが出す応答を受け取って行うものであるが、対象制御装置１０ａが該応答を出してから、ボックスＢの処理を完了するまでの間にイグニションがオフされると、対象制御装置１０ａは、応答を返したにもかかわらず、実行制御装置１０ｇによって正常終了状態に遷移したと判断されないおそれがある。これは、応答を無駄にするものとなり、また、実行制御装置１０ｇは、対象制御装置１０ａの状態を明瞭に認識することができないので、その後の処理を正常に続行することができないおそれがある。したがって、この実施例では、ステップＳ５４を終えてから、ボックスＢの処理を終えるまでの間にイグニションがオフされても、ボックスＢ中のステップを実行する。
【００９２】
なお、対象制御装置１０ａが書き換えを終了して上記のような応答を出す直前に、イグニションがオフされる場合もありうる。この場合には、実行制御装置１０ｇは、応答時間（たとえば、対象制御装置１０ａに最後のデータブロックを送信してから、その書き換え処理の終了を示す応答を受け取るまでの時間）を計測し、これが所定時間以上経過したことに応じてタイムアウトと判定し、ステップＳ５５の判断を行うことなくＩＧＯＮ処理を終了することができる。
【００９３】
ボックスＣについては、乗員との対話を円滑にするために設けられている。ステップＳ３５では、ステップＳ３４に応じて乗員が出した指示の内容を判断するが、乗員が指示を出してから、ボックスＣの処理が完了するまでの間にイグニションがオフされると、実行制御装置１０ｇは書き換え許可状態に移行していない状態が生じうる。このような状態でイグニションが再びオンされると、乗員への指示を再び促すおそれがある。このような冗長性を回避するため、ステップＳ３４で乗員への通知を行ったならば、たとえその後のボックスＣの処理を終えるまでの間にイグニションがオフされても、ステップＳ３５およびＳ３６は実行される。これにより、イグニションがその後オンされたときにはステップＳ１２またはステップＳ２２の判断がＹｅｓとなるので、ステップＳ３４の乗員への通知処理は行われない。
【００９４】
なお、ステップＳ３４に応じて乗員が指示を出す前にイグニションがオフされる場合もありうる。この場合には、実行制御装置１０ｇは、Ｓ３４の通知を出してからの応答時間を計測し、これが所定時間以上経過したことに応じてタイムアウトと判定し、ステップＳ３５の判断を行うことなくＩＧＯＮ処理を終了することができる。
【００９５】
図１０を参照して、図４および図５を参照して説明したイグニションがオフされている状態において実行制御装置１０ｇのＣＰＵによって実行されるプロセス（ＩＧＯＦＦ処理）の詳細を説明する。ＩＧＯＦＦ処理は、実行制御装置１０ｇが待機状態から稼動状態に移行した後に、実行制御装置１０ｇによって起動される。その後、後述するステップＳ６２、Ｓ６５、Ｓ７６においてＩＧＯＦＦ処理が停止されるまで、繰り返し実行される。
【００９６】
ステップＳ６０において、異常状態フラグを調べることにより、対象物制御装置１０ａが異常状態かどうかを判断する。このフラグは、図９のステップＳ５７または後述のステップＳ７５において異常と判定されたならば値１にセットされる。異常状態にあれば（Ｙｅｓの場合）、実行制御装置１０ｇは、ステップＳ６１において、停止状態に移行した後も記憶内容が保持されるように、異常状態フラグの値１をバックアップ用ＲＡＭに記憶する。ステップＳ６２において当該プロセス（ＩＧＯＦＦ処理）を停止するとともに、自己のメイン電源をオフ（遮断）する。前述したように、自己のメインリレーのスイッチを開くことにより、メイン電源を遮断することができる。
【００９７】
こうして、対象制御装置１０ａが異常であるときには書き換えを実行することができないので、実行制御装置１０ｇは書き換えを停止して停止状態に入る。対象制御装置１０ａについても、停止状態に入るようにするのがよい。これは、対象制御装置１０ａが自己のメイン電源をオフすることによって行うようにしてもよいし、対象制御装置１０ａが、何らかの異常で自己のメイン電源をオフにすることができない場合も考えられるので、たとえば実行制御装置１０ｇが対象制御装置１０ａのメイン電源を強制的にオフするようにしてもよい。代替的に、各制御装置のメイン電源を強制的にオフする機構を設け、この機構を用いて対象制御装置１０ａのメイン電源をオフするようにしてもよい。
【００９８】
ステップＳ６０において対象制御装置１０ａが異常状態ではないと判断されれば（Ｎｏの場合）、ステップＳ６３において、通信異常フラグ（後述するステップＳ８５を参照）を調べることにより、車載ＬＡＮ１６の通信が異常かどうかを判断する。異常であるならば（Ｙｅｓの場合）、ステップＳ６４において、停止状態に移行した後も記憶内容が保持されるように、通信異常フラグの値１をバックアップ用ＲＡＭに記憶する。ステップＳ６５において、当該プロセスを停止して、自己のメイン電源をオフにする。
【００９９】
このように、記憶された対象制御装置１０ａの異常状態および車載ＬＡＮによる通信の異常は、次にイグニションがオンされて実行されるＩＧＯＮ処理で用いられ、ここでステップＳ１２およびＳ１４の判断がＹｅｓとなり、ステップＳ１３およびＳ１５において乗員に対し、これらの異常を通知することができる。なお、乗員に通知した後、値１にセットされた通信異常フラグまたは異常状態フラグをゼロに初期化して、書き換え処理の実行を再度試みることができるようにしてもよい。
【０１００】
ステップＳ６３において通信が異常でないならば（Ｎｏの場合）、ステップＳ６６において、実行状態フラグを調べることにより、対象制御装置１０ａが書き換え実行中かどうかを判断する。書き換えがまだ開始されていない時は、この判断はＮｏであるので、ステップＳ６７に進む。
【０１０１】
ステップＳ６７およびＳ６８において、それぞれ、実行制御装置１０ｇは、実行待ち状態フラグおよび書き換え許可状態フラグを調べることにより、書き換え実行待ち状態にあるかどうか、および書き換え許可状態にあるかどうかを調べる。これらのフラグは、それぞれ、ステップＳ１９（図８）およびＳ３６（図９）において値１にセットされる。これらの判断のいずれかがＮｏであれば、当該プロセスを抜ける。これらの判断の両方がＹｅｓであれば、ステップＳ６９に進む。こうして、イグニションがオンされている間に実行制御装置１０ｇが書き換え情報を取り込み、かつ書き換え許可状態になっている場合に、書き換えを開始するようにする。
【０１０２】
ステップＳ６９において、対象制御装置１０ａ以外の他の制御装置１０ｂ〜ｆに対し、所定の信号を送信して、応答があるかどうかを調べる。これは、これらの制御装置１０ｂ〜ｆの後処理が確実に終了しているかどうかを調べるための処理である。すなわち、いずれかの制御装置で後処理が実行されている間に書き換えを開始すると、該後処理および（または）書き換えに何らかの影響が出るおそれがある。たとえば、制御装置１０ｂ〜ｆが自己の後処理において車載ＬＡＮを介して通信している場合があり、このような通信中に書き換え処理を開始すると、これらの後処理が妨げられるだけでなく、書き換え処理が遅延するおそれがある。このような現象を回避するため、ステップＳ６９の判断を介して、制御装置１０ｂ〜ｆが後処理を終えて停止状態になるのを待つ。
【０１０３】
ステップＳ６９において、いずれかの制御装置からの応答があれば（Ｙｅｓの場合）、後処理が終わっていないことを示すので、当該プロセスを抜ける。いずれの制御装置からも応答がなければ（Ｎｏの場合）、すべての制御装置が停止状態に入ったことを示す。ステップＳ７０に進み、対象制御装置１０ａが書き換え実行状態に移行したと判定する（実行状態フラグの値を１にセット）。ステップＳ７１において、実行制御装置１０ｇは、対象制御装置１０ａに対して書き換え情報を車載ＬＡＮ１６を介して送信し、書き換え処理を実行するよう指示する。
【０１０４】
前述したように、この実施例では、書き換え情報は、所定のデーブロックに分割され、該所定のデータブロック単位で対象制御装置１０ａに送信される。対象制御装置１０ａは、受信したデータブロックで、自己の不揮発性メモリを書き換える。
【０１０５】
なお、ステップＳ７１において書き換えが実行されている最中に、イグニションのオンおよびオフが瞬間的に行われると、当該プロセス（ＩＧＯＦＦ処理）が再び実行される。この場合、ステップＳ６６の判断がＹｅｓとなり、ステップＳ７１において、書き換え処理が継続される。
【０１０６】
ステップＳ７２は、ステップＳ５５（図９）と同様の処理であり、対象制御装置１０ａの書き換えが正常に終了したかどうかを判定し、正常終了と判定したならば（Ｙｅｓの場合）、ステップＳ７３において、対象制御装置１０ａは、正常終了状態に移行したと判定する（正常終了状態フラグの値を１にセット）。この判定結果は、停止状態に移行した後も記憶内容が保持されるバックアップ用ＲＡＭに記憶される。
【０１０７】
書き換えが終了したので、ステップＳ７４において、実行制御装置１０ｇは、当該プロセスを停止すると共に、自己のメイン電源をオフにし停止状態に移行する。図示していないが、対象制御装置１０ａも同様に、自己のメイン電源をオフにして停止状態に移行する。これは、実行制御装置１０ｇからの何らかの信号に応答してメイン電源をオフしてもよいし、書き換え処理の終了から所定時間経過後に自己のメイン電源をオフしてもよい。
【０１０８】
ステップＳ７２において正常終了と判定しなければ（Ｎｏの場合）、ステップＳ７５に進む。ステップＳ７５は、ステップＳ５７（図９）と同様の処理であり、対象制御装置１０ａが異常状態に移行したと判定する（異常状態フラグの値を１にセット）。この判定結果は、停止状態に移行した後も記憶内容が保持されるバックアップ用ＲＡＭに記憶される。ステップＳ７６において、実行制御装置１０ｇは、当該プロセスを停止すると共に、自己のメイン電源をオフにして停止状態に移行する。対象制御装置１０ａも同様に、自己のメイン電源をオフして停止状態に移行する。対象制御装置１０ａについては、何らかの異常で自己のメイン電源をオフにすることができない場合も考えられるので、ステップＳ６２の所で述べたように、たとえば実行制御装置１０ｇにより、または他の機構を用いて、対象制御装置１０ａのメイン電源を強制的にオフするようにしてもよい。
【０１０９】
前述したように、当該プロセスの実行中に、乗員によってイグニションがオンされることがありうる。この場合、図８および図９を参照して説明したように、対象制御装置１０ａが書き換え実行状態にあれば、ステップＳ５１〜Ｓ５７が実行され、これにより、イグニションがオフからオンに遷移しても、書き換え処理は継続される。その後、再びイグニションがオフされることもありうる。この場合、図１０のステップＳ６６の判断がＹｅｓとなり、ステップＳ７１〜Ｓ７６が実行され、これにより、イグニションがオンからオフに遷移しても、書き換え処理は継続される。こうして、書き換えの最中にイグニションのオンとオフの間の遷移が生じても、書き換え処理は継続されるので、書き換えをより効率的に行うことができる。
【０１１０】
図１０の点線のボックスＢは、図９の点線のボックスＢと同様であるので、説明を省略する。
【０１１１】
図１１は、イグニションがオフされた後に実行制御装置１０ｇが低消費電力モードで動作する待機状態にあるときに、該実行制御装置１０ｇのＣＰＵによって実行されるプロセス（待機処理）の詳細である。このプロセスは、図６（ａ）に従うプロセスであり、前述したように、実行制御装置１０ｇが対象制御装置１０ａを監視することにより、書き換え処理（ＩＧＯＦＦ処理）を開始するタイミングを見極める。このプロセスは、間欠的に実行され、たとえば、所定の時間間隔で実行されることができる。
【０１１２】
ステップＳ８１において、対象制御装置１０ａに対して後処理が終了したかどうかを確認するために送信した監視信号に対し、対象制御装置１０ａから応答があるかどうかを調べる。応答があったならば（Ｙｅｓの場合）、ステップＳ８２において、該応答の内容を調べ、後処理が終了したかどうかを判断する。まだ処理中であれば（Ｎｏの場合）、当該プロセス（待機処理）を抜ける。後処理が終了したならば（Ｙｅｓの場合）、ステップＳ８３において当該プロセスを停止すると共に、メイン電源をオンにして稼動状態に移行する。こうして、後処理が終了することによって対象制御装置１０ａは書き換えが可能な状態となるので、待機状態から稼動状態に移行し、これにより、図１０のＩＧＯＦＦ処理の実行に移る。
【０１１３】
ステップＳ８１において応答がなければ（Ｎｏの場合）、ステップＳ８４において、該監視信号の送信から所定時間が経過したかどうかを調べる。所定時間が経過していなければ（Ｎｏの場合）、実行制御装置１０ｇは、応答を待つため当該プロセスを抜ける。所定時間が経過していれば（Ｙｅｓの場合）、ステップＳ８５において、車載ＬＡＮ１６の通信に何らかの異常が生じたと判定する（通信異常フラグに値１をセット）。ステップＳ８３において、当該プロセスを停止すると共に、自己のメイン電源をオンにして稼動状態に移行する。ここでメイン電源をオンにするのは、図７を参照して説明したように、図１０のＩＧＯＦＦ処理を実行するためである。ＩＧＯＦＦ処理を実行すると、ステップＳ６３の判断がＹｅｓとなり、ステップＳ６４において通信異常の状態が記憶され、ステップＳ６５においてメイン電源が遮断されて停止状態に移行する。その後、イグニションがオンされたときには、図８のＩＧＯＮ処理が実行され、通信異常フラグの値１が保持されているのでステップＳ１４の判断がＹｅｓとなり、ステップＳ１５において乗員に対し通信異常を知らせることができる。こうして、通信異常等の予期せぬ異常が生じた場合には、該異常を記憶した状態で停止状態に入る。なお、対象制御装置１０ａについても、図７を参照して説明したように、たとえば後処理を終了してから所定時間が経過するまでに、実行制御装置１０ｇから書き換えの指示（図１０のステップＳ７１）がなければ、自己のメイン電源を強制的にオフして停止状態に入る。
【０１１４】
図７を参照して前述したように、代替的に、実行制御装置１０ｇは、ステップＳ８５において通信異常と判定した後、ステップＳ８３を実行することなく、待機処理を停止すると共に、メイン電源をオフにしたまま停止状態に移行してもよい。この場合、ステップＳ８５において、通信異常フラグの値１は、停止状態においても保持されるように、バックアップ用ＲＡＭに記憶される。こうして、その後にイグニションがオンされた時には、保持された通信異常フラグの値が１であるので、ステップＳ１４の判断がＹｅｓとなり、ステップＳ１５において、乗員に対して通信異常が通知される。
【０１１５】
以上のように、この発明の特定の実施形態について説明したが、本願発明は、これら実施形態に限定されるものではない。
【符号の説明】
【０１１６】
１０ａ〜１０ｇ  制御ユニット
１０ａ  書き換え対象制御ユニット
１０ｇ  書き換え実行制御ユニット
１２  メイン電源ライン
１４  バッテリ
１６  車載ＬＡＮ
【図１】
2010167997.tif 000003
【図２】
2010167997.tif 000004
【図３】
2010167997.tif 000005
【図４】
2010167997.tif 000006
【図５】
2010167997.tif 000007
【図６】
2010167997.tif 000008
【図７】
2010167997.tif 000009
【図８】
2010167997.tif 000010
【図９】
2010167997.tif 000011
【図１０】
2010167997.tif 000012
【図１１】
2010167997.tif 000013