(57)【特許請求の範囲】
【請求項１】
第１プログラムが格納され、前記第１プログラムの書換えが可能な第１記憶装置が搭載された第１電子制御装置と、
第２プログラムが格納され、前記第２プログラムの書換えが可能な第２記憶装置が搭載された第２電子制御装置と、
前記第１プログラム及び前記第２プログラムの書換えを行う書換え装置と、
前記第１電子制御装置、前記第２電子制御装置及び前記書換え装置の間でデータ通信を行うための通信線と
を有する車両用プログラム書換えシステムであって、
前記書換え装置は、
前記第１プログラムの書換えが完了すると、前記第１電子制御装置に再起動を要求し、
前記第１電子制御装置が再起動した後に、前記第１プログラムの書換えの成否を判定し、
前記第１プログラムの書換えが成功したと判定すると、前記第２プログラムの書換えに移行し、
さらに、前記書換え装置は、
前記第１プログラムの書換えの開始前に、前記通信線に接続される全ての電子制御装置に対して異常検出の停止を要求し、
前記第１電子制御装置が再起動した後に、前記第１電子制御装置に異常検出の停止を要求する
ことを特徴とする車両用プログラム書換えシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子制御装置のプログラムの書換えが可能な車両用プログラム書換えシステムに関する。
【背景技術】
【０００２】
コンピュータ技術の発展に伴い、車両の電子化が進んでいる。電子化された車両では、複数の電子制御装置（ＥＣＵ）が用いられることが一般的である。ＥＣＵで用いられる制御プログラムは、バージョンアップ等に伴って書き換えられることがある（特許文献１及び特許文献２参照）。
【０００３】
特許文献１では、プログラムを書き換える際、作業者が書換え装置（８）のコネクタ（９）を車両内ネットワーク（４）のコネクタ（７）に接続する。次いで、作業者は、車両内ネットワークに接続されているＥＣＵの中からプログラムを書き換える対象となるＥＣＵを選択し、書換え対象のプログラムの選択を指示する。当該指示に伴ってプログラムの書換えが正常終了すると、作業者に対し、イグニションスイッチ（ＩＧＳＷ）のオフが指示される（同文献の段落［０００８］及び図４参照）。
【０００４】
また、特許文献２では、外部ツール（２０）と複数のＥＣＵ（１０、１２、１４）とが電気的に接続された状態において、外部ツールは、１つのＥＣＵ（１０）のプログラムを書き換える。書換えが完了すると、ＩＧＳＷ（２２）を一度オフにした後、再度オンにすることにより、各ＥＣＵは通常の動作状態に復帰する（同文献の図２及び段落［００２１］〜［００２７］参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１７２１９９号公報
【特許文献２】特開２００５−２９７６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、特許文献１及び特許文献２では、１つのＥＣＵについてプログラムを書き換えることが記載されている。このため、両文献では、複数のＥＣＵそれぞれについてプログラムを書き換えるのに好適な構成又は方法については検討されていない。
【０００７】
例えば、特許文献１では、上記の通り、作業者は、車両内ネットワークに接続されているＥＣＵからプログラムを書き換える対象となるＥＣＵを選択し、書換え対象のプログラムの選択を指示する。そして、当該指示に伴ってプログラムの書換えが正常終了すると、作業者に対し、ＩＧＳＷのオフが指示される。このため、特許文献１では、複数のＥＣＵについてプログラムを書き換える場合、ユーザは、１つのＥＣＵについてプログラムの書換えが完了する毎にＩＧＳＷをオフにし、再度ＩＧＳＷをオンにした後、別の書換え作業を行うこととなる。これにより、ユーザの作業負荷が増えることとなる。
【０００８】
また、特許文献２では、ＥＣＵ（１０）（ノードＡ）が書換え対象であることが前提とされており、書換え対象のＥＣＵが複数ある場合、どのように書換え作業を進めるかについては何ら記載がない。
【０００９】
この発明は、このような問題を考慮してなされたものであり、複数のＥＣＵのプログラムを好適に書き換えることが可能な車両用プログラム書換えシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係る車両用プログラム書換えシステムは、第１プログラムが格納され、前記第１プログラムの書換えが可能な第１記憶装置が搭載された第１電子制御装置と、第２プログラムが格納され、前記第２プログラムの書換えが可能な第２記憶装置が搭載された第２電子制御装置と、前記第１プログラム及び前記第２プログラムの書換えを行う書換え装置と、前記第１電子制御装置、前記第２電子制御装置及び前記書換え装置の間でデータ通信を行うための通信線とを有するものであって、前記書換え装置は、前記第１プログラムの書換えが完了すると、前記第１電子制御装置に再起動を要求し、前記第１電子制御装置が再起動した後に、前記第１プログラムの書換えの成否を判定し、前記第１プログラムの書換えが成功したと判定すると、前記第２プログラムの書換えに移行することを特徴とする。
【００１１】
この発明によれば、第１電子制御装置（第１ＥＣＵ）における第１プログラムの書換えが完了すると、第１ＥＣＵに再起動を要求した後、書換え装置が当該書換えの成否を判定し、当該書換えが成功したと判定すると、第２電子制御装置（第２ＥＣＵ）における第２プログラムの書換えに移行する。従って、第１プログラムの書換えから第２プログラムの書換えに移行するに際し、ユーザによるイグニションスイッチの操作が不要となり、第１プログラム及び第２プログラムの書換えを連続的に行うことが可能となる。その結果、ユーザの作業負荷を軽減することが可能となり、第１プログラム及び第２プログラムを好適に書き換えることが可能となる。
【００１２】
前記書換え装置は、前記第１プログラムの書換えの開始前に、前記通信線に接続される全ての電子制御装置に対して異常検出の停止を要求し、前記第１電子制御装置が再起動した後に、前記第１電子制御装置に異常検出の停止を要求してもよい。
【００１３】
これにより、通信線に接続される複数の電子制御装置（ＥＣＵ）それぞれにおいて互いの異常検出を行っている場合でも、第１プログラム及び第２プログラムの書換えを適切に行うことが可能となる。例えば、各ＥＣＵ間で互いに定期的に通信を行うことで、互いの異常発生を検知する構成では、第１ＥＣＵは正常に第１プログラムの書換えを行っているにもかかわらず、第１ＥＣＵ以外のＥＣＵが、第１プログラムの書換えに伴う第１ＥＣＵの動作停止により、第１ＥＣＵに異常が発生したと判定し、当該判定に伴って不都合が生じる可能性がある。しかし、この発明によれば、第１プログラムの書換え前に全てのＥＣＵにおいて異常検出を停止する。従って、上記のような不具合を防ぐことが可能となる。
【００１４】
また、書換え後の第１ＥＣＵが再起動されると、異常検出の停止が無効となり、第１ＥＣＵは、異常検出を再開する。その後、第２ＥＣＵにおける第２プログラムの書換えを行うために第２ＥＣＵの動作を停止すると、第１ＥＣＵは、正常に書換えを行っている第２ＥＣＵに異常が発生していると誤判断してしまう。しかし、この発明によれば、再起動後の第１ＥＣＵにおいて異常検出を停止する。従って、上記のような不具合を防ぐことが可能となる。
【発明の効果】
【００１５】
この発明によれば、第１電子制御装置（第１ＥＣＵ）における第１プログラムの書換えが完了すると、第１ＥＣＵに再起動を要求した後、書換え装置が当該書換えの成否を判定し、当該書換えが成功したと判定すると、第２電子制御装置（第２ＥＣＵ）における第２プログラムの書換えに移行する。従って、第１プログラムの書換えから第２プログラムの書換えに移行するに際し、ユーザによるイグニションスイッチの操作が不要となり、第１プログラム及び第２プログラムの書換えを連続的に行うことが可能となる。その結果、ユーザの作業負荷を軽減することが可能となり、第１プログラム及び第２プログラムを好適に書き換えることが可能となる。
【図面の簡単な説明】
【００１６】
【図１】この発明の一実施形態に係る車両用プログラム書換えシステムの概略的な構成図である。
【図２】車両における電力の供給及び信号の入出力の様子を説明する図である。
【図３】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）で電子制御装置（ＥＣＵ）のプログラムを書き換える際の処理の概要を示すフローチャートである。
【図４】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第１フローチャートである。
【図５】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第２フローチャートである。
【図６】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第３フローチャートである。
【図７】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第４フローチャートである。
【図８】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第５フローチャートである。
【図９】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第６フローチャートである。
【図１０】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第７フローチャートである。
【図１１】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第８フローチャートである。
【図１２】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第９フローチャートである。
【図１３】図８〜図９のフローチャートの一部に対応した表示部の画面の移り変わりの一例を示す画面遷移図である。
【図１４】衛星放送網を介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の概要を示すフローチャートである。
【図１５】衛星放送網を介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示すフローチャートである。
【図１６】移動通信網を介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の概要を示すフローチャートである。
【図１７】移動通信網を介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１７】
［Ａ．一実施形態］
１．全体及び各部の構成
（１）全体構成
図１は、この発明の一実施形態に係る車両用プログラム書換えシステム１０（以下「書換えシステム１０」又は「システム１０」という。）の概略的な構成図である。書換えシステム１０は、データ伝達システム１２と、管理サーバ１４（以下「サーバ１４」という。）と、複数の車両１６とを有する。
【００１８】
システム１０では、各車両１６の電子制御装置５６ａ〜５６ｄ（以下「ＥＣＵ５６ａ〜５６ｄ」という。）に記憶されたプログラムを書き換える（更新する）際に使用する複数の書換えデータ（プログラム）は、データ伝達システム１２を介して管理サーバ１４から各車両１６に伝達する。なお、以下では、ＥＣＵ５６ａ〜５６ｄをＥＣＵ５６と総称する。
【００１９】
（２）データ伝達システム１２
データ伝達システム１２は、読取り専用のコンパクト・ディスク２２（以下「ＣＤ−ＲＯＭ２２」という。）と、衛星放送網２４と、移動通信網２６とを有する。
【００２０】
ＣＤ−ＲＯＭ２２は、複数の書換えデータ（プログラム）を記憶している。ＣＤ−ＲＯＭ２２は、輸送業者（郵便、宅配便）による輸送手段（トラック、貨物列車など）を介して車両１６のメーカから各ユーザに送付される。
【００２１】
衛星放送網２４は、放送衛星２８を用いた衛星放送により複数の書換えデータ（プログラム）を配信することができる。ここでの衛星放送としては、例えば、移動体向けの衛星デジタル音声放送（北米におけるシリウスＸＭラジオ等）を用いることができる。
【００２２】
移動通信網２６は、携帯電話８６を用いた通信を可能とする通信網である。移動通信網２６は、携帯電話８６との間の通信により複数の書換えデータ（プログラム）を車両１６に送信することができる。
【００２３】
本実施形態では、ＣＤ−ＲＯＭ２２、衛星放送網２４又は移動通信網２６を用いて、複数の書換えデータ（プログラム）を各車両１６に伝達することができる。
【００２４】
（３）管理サーバ１４
管理サーバ１４は、通信装置３２と、入力装置３４と、モニタ３６と、演算装置３８と、記憶装置４０と、書換えプログラムデータベース４２（以下「書換えプログラムＤＢ４２」又は「プログラムＤＢ４２」という。）とを有する。管理サーバ１４の管理者又はこれに準ずる者（以下「管理者等」という。）は、複数の書換えデータ（プログラム）を作成すると、入力装置３４を介して当該書換えデータ（プログラム）をプログラムＤＢ４２に記憶する。
【００２５】
そして、衛星放送網２４を用いて複数の書換えデータ（プログラム）を配信する場合、管理者等は、放送衛星２８等を介して複数の書換えデータ（プログラム）を配信する。
【００２６】
移動通信網２６を用いて複数の書換えデータ（プログラム）を送信する場合、管理者等は、サーバ１４において、新たな書換えデータ（プログラム）をアップロードする。そして、車両１６に設置された携帯電話８６から書換えデータ（プログラム）の送信要求があった場合、サーバ１４は、通信装置３２及び移動通信網２６を介して書換えデータ（プログラム）を携帯電話８６に送信する。
【００２７】
ＣＤ−ＲＯＭ２２を用いて複数の書換えデータ（プログラム）を伝達する場合、管理者等は、ＣＤ−ＲＯＭ２２に複数の書換えデータ（プログラム）を記憶し、輸送業者を介してＣＤ−ＲＯＭ２２を各ユーザに送付する。このため、厳密には、ＣＤ−ＲＯＭ２２は、管理サーバ１４から送付されない場合があるが、以下では、ＣＤ−ＲＯＭ２２が管理サーバ１４から送付されない場合を、ＣＤ−ＲＯＭ２２が管理サーバ１４から送付される場合に含めて説明する。
【００２８】
（４）車両１６
（ａ）車両１６の構成
各車両１６は、受信装置５２と、プログラム書換え装置５４（以下「書換え装置５４」という。）と、複数のＥＣＵ５６と、バッテリ５８と、イグニションスイッチ６４（以下「ＩＧＳＷ６４」という。）とを備える。本実施形態における車両１６は、ガソリン車であるが、これに限らず、例えば、ディーゼル車又は電気自動車（燃料電池車及びハイブリッド車を含む。）であってもよい。
【００２９】
車両１６では、データ伝達システム１２を介して管理サーバ１４から伝達される複数の書換えデータ（プログラム）を受信装置５２で受信する。そして、受信装置５２が受信した複数の書換えデータ（プログラム）は、書換え装置５４により、対象となる複数のＥＣＵ５６に書き込まれる。
【００３０】
なお、図１では、右側の車両１６のみ内部構成を示し、その他の車両１６については内部構成の記載を省略している。
【００３１】
（ｂ）受信装置５２
受信装置５２は、データ受信部７２と、表示部７４と、入力部７６と、演算部７８と、記憶部８０とを有する。
【００３２】
データ受信部７２は、無線アンテナ８２と、モデム８４と、携帯電話８６と、携帯電話８６用のコネクタ８８と、ＣＤ−ＲＯＭドライブ９０（以下「ドライブ９０」という。）とを有する。
【００３３】
衛星放送網２４を介して複数の書換えデータ（プログラム）が配信される場合、受信装置５２は、無線アンテナ８２とモデム８４とを用いて書換えデータ（プログラム）を受信する。移動通信網２６を介して複数の書換えデータ（プログラム）が送信される場合、受信装置５２は、携帯電話８６を用いて書換えデータ（プログラム）を受信する。ＣＤ−ＲＯＭ２２を介して複数の書換えデータ（プログラム）が伝達される場合、ＣＤ−ＲＯＭ２２をドライブ９０に挿入し、ＣＤ−ＲＯＭ２２から書換えデータ（プログラム）を読み出すことにより、受信装置５２は、プログラムを受信する。なお、携帯電話８６は、ユーザが日頃持ち歩いているものを、車両１６の走行時にコネクタ８８に接続して用いる。或いは、携帯電話８６は、車両１６専用に用いるものとし、常時コネクタ８８に接続しておいてもよい。
【００３４】
表示部７４は、ユーザに対する種々の表示を行う。入力部７６は、ユーザの操作に応じた入力を受け付ける。本実施形態では、表示部７４及び入力部７６を、例えば、タッチパネルにより構成することができる。
【００３５】
演算部７８は、受信装置５２の各部を制御する。記憶部８０は、図示しない揮発性メモリ及び不揮発性メモリを有し、受信装置５２用の制御プログラムを記憶すると共に、ＥＣＵ５６のプログラムを書き換えるための書換えデータ（プログラム）を記憶する。
【００３６】
なお、受信装置５２には、ナビゲーション装置としての機能を持たせることができる。換言すると、従前のナビゲーション装置に、本実施形態における受信装置５２の機能を持たせてもよい。
【００３７】
（ｃ）書換え装置５４
書換え装置５４は、通信線６８を介して各ＥＣＵ５６においてプログラムの書換えを行うものであり、入出力部９２と、演算部９４と、記憶部９６とを有する。書換え装置５４の機能及び動作の詳細は後述する。
【００３８】
（ｄ）各ＥＣＵ５６
ＥＣＵ５６は、車両１６の各部を制御するものであり、ＥＣＵ５６には、例えば、図示しないエンジンの出力を制御するエンジン電子制御装置５６ａ（以下「ＥＮＧ  ＥＣＵ５６ａ」という。）と、図示しないブレーキシステムの制御を行うアンチロックブレーキシステム電子制御装置５６ｂ（以下「ＡＢＳ  ＥＣＵ５６ｂ」という。）と、図示しないエアバッグの制御を行う補助拘束システム電子制御装置５６ｃ（以下「ＳＲＳ  ＥＣＵ５６ｃ」という。）と、図示しないイモビライザ装置の制御を行うイモビライザ電子制御装置５６ｄ（以下「イモビライザＥＣＵ５６ｄ」という。）とが含まれる。上記のように、これらのＥＣＵ５６ａ〜５６ｄを含め、各ＥＣＵをＥＣＵ５６と総称する。
【００３９】
各ＥＣＵ５６は、入出力部１０２と、演算部１０４と、記憶部１０６とを有する。なお、図１では、ＥＮＧ  ＥＣＵ５６ａの入出力部１０２、演算部１０４及び記憶部１０６のみ図示し、その他のＥＣＵ５６ｂ〜５６ｄについては入出力部１０２、演算部１０４及び記憶部１０６の図示を省略している。
【００４０】
また、ＥＮＧ  ＥＣＵ５６ａは、エンジン回転数Ｎｅ［ｒｐｍ］を検出するエンジン回転数センサ１０８と、車両１６の車速Ｖ［ｋｍ／ｈ］を検出する車速センサ１１０とに接続されている。
【００４１】
各ＥＣＵ５６は、通信線６８を介して互いにデータ通信を行い、特定のＥＣＵ５６（例えば、ＥＮＧ  ＥＣＵ５６ａ）からの通信データ（例えば、エンジン回転数Ｎｅや車速Ｖのデータ）に基づいて、他のＥＣＵ５６（例えば、ＡＢＳ  ＥＣＵ５６ｂ、ＳＲＳ  ＥＣＵ５６ｃ及びイモビライザＥＣＵ５６ｄ）は車両１６の協調制御を行うと共に、当該特定のＥＣＵ５６（例えば、ＥＮＧ  ＥＣＵ５６ａ）の故障診断（通信データの異常検出）を行う。
【００４２】
（ｅ）バッテリ５８
バッテリ５８は、受信装置５２、書換え装置５４及び各ＥＣＵ５６に電力を供給する。このうち受信装置５２については、基本的には、ＩＧＳＷ６４を介して電力供給の有無を切り換えるが、書換え装置５４からの指令（起動信号Ｓｏｎ）に応じて電力供給の有無を切り換えることもできる。書換え装置５４は、バッテリ５８と常に接続されている。各ＥＣＵ５６については、ＩＧＳＷ６４を介して電力供給の有無を切り換えることができる。詳細は、図２を参照して後述する。
【００４３】
（ｆ）ＩＧＳＷ６４
本実施形態のＩＧＳＷ６４は、ロータリ式であり、図示しないインスツルメントパネルに向かって左側から「オフ」、「ＡＣＣ」（アクセサリ）及び「オン」の位置を選択可能である。また、ＩＧＳＷ６４は、「オン」の位置から更に右側（時計回り）に回すと、「ＳＴ」（エンジンスタート）の位置となり、エンジンが始動する。
【００４４】
本実施形態では、ＩＧＳＷ６４が「オフ」の位置にあるとき、バッテリ５８から受信装置５２及び各ＥＣＵ５６への電力供給は、基本的に停止される。
【００４５】
なお、後述するように、車両１６がいわゆるスマートスタート機能を有している場合、ＩＧＳＷ６４は、いわゆるスマートスタート機能で用いるプッシュスイッチであってもよい。
【００４６】
２．電力供給構成
図２には、車両１６における電力の供給及び信号の入出力の様子を説明する図が示されている。
【００４７】
図２に示すように、バッテリ５８からの電力（以下「バッテリ電力Ｐｂａｔ」という。）［Ｗ］は、受信装置５２及び書換え装置５４に直接供給される。このため、受信装置５２及び書換え装置５４は、ＩＧＳＷ６４の位置にかかわらず、動作可能である。
【００４８】
但し、受信装置５２については、通常、本実施形態では、受信装置５２は、ＩＧＳＷ６４の位置が「ＡＣＣ」又は「オン」であるとき、バッテリ電力Ｐｂａｔを利用して電源オンとなり、ＩＧＳＷ６４の位置が「オフ」であるとき、バッテリ電力Ｐｂａｔを利用せず、電源オフとなる。例外的に、受信装置５２が書換え装置５４から起動信号Ｓｏｎを受信したときは、ＩＧＳＷ６４の位置が「オフ」であっても、受信装置５２は、書換え装置５４から解除指令を受けるまで、バッテリ電力Ｐｂａｔを利用して電源オンとなる。
【００４９】
また、バッテリ電力Ｐｂａｔは、ＩＧＳＷ６４を介して各ＥＣＵ５６に供給される。より具体的には、ＩＧＳＷ６４の位置が「オン」であるとき、バッテリ電力Ｐｂａｔが各ＥＣＵ５６に供給される。一方、ＩＧＳＷ６４の位置が「オフ」又は「ＡＣＣ」であるとき、バッテリ電力Ｐｂａｔは各ＥＣＵ５６に供給されない。
【００５０】
３．プログラムの書換え
（１）ＣＤ−ＲＯＭ２２を介して伝達された書換えデータ（プログラム）の場合
（ａ）書換え処理の概要
図３は、ＣＤ−ＲＯＭ２２を介して伝達された複数の書換えデータ（プログラム）で複数のＥＣＵ５６のプログラムを書き換える際の処理の概要を示すフローチャートである。
【００５１】
ステップＳ１において、ユーザによりＣＤ−ＲＯＭ２２が受信装置５２のドライブ９０に挿入されると、受信装置５２は、複数の書換えデータ（プログラム）をＣＤ−ＲＯＭ２２から読み出す。
【００５２】
ステップＳ２において、車両１６では、プログラムの書換えの準備を行う。
【００５３】
ステップＳ３において、車両１６では、プログラムの書換えの準備完了をユーザに通知する。ステップＳ４において、車両１６は、ユーザからプログラムの書換え処理の許可を受け付ける。
【００５４】
ステップＳ５において、車両１６は、ＩＧＳＷ６４の位置を「オフ」にするようユーザに要求する。この際、ＩＧＳＷ６４の位置が「オフ」になっても受信装置５２を電源オンのままにするよう設定する。ステップＳ６において、車両１６は、ユーザがＩＧＳＷ６４の位置を「オフ」にしたことに伴う各ＥＣＵ５６の電源オフを確認する。なお、受信装置５２はオンのままである。
【００５５】
ステップＳ７において、車両１６は、ユーザにＩＧＳＷ６４の位置を「オン」にするよう要求する。ステップＳ８において、車両１６は、ユーザがＩＧＳＷ６４の位置を「オン」にしたことに伴う各ＥＣＵ５６の再起動（電源オン）を確認する。
【００５６】
ステップＳ９において、車両１６では、プログラムの書換え処理を実行する。本実施形態では、複数のＥＣＵ５６についてプログラムの書換え処理を行う。
【００５７】
なお、ステップＳ１〜Ｓ５の間は、車両１６は走行が可能である一方、ステップＳ６〜Ｓ９の間は、エンジンが停止し、車両１６は走行できない。また、ステップＳ１〜Ｓ３の間は、ドライブ９０に別のＣＤ−ＲＯＭ２２（例えば、音楽用）を挿入することはできない。
【００５８】
（ｂ）書換え処理の詳細
図４〜図１２は、ＣＤ−ＲＯＭ２２を介して伝達された書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理の詳細を示すフローチャートである。図１３は、図８〜図９のフローチャートの一部に対応した表示部７４の画面の移り変わりの一例を示す画面遷移図である。
【００５９】
なお、ステップＳ１１〜Ｓ１３は、図３のステップＳ１に対応し、ステップＳ１４〜Ｓ３０は、ステップＳ２に対応する。ステップＳ３１は、ステップＳ３に対応し、ステップＳ３２は、ステップＳ４に対応する。ステップＳ３３〜Ｓ３５は、ステップＳ５に対応し、ステップＳ３６〜Ｓ３７は、ステップＳ６に対応する。ステップＳ３８は、ステップＳ７に対応し、ステップＳ３９は、ステップＳ８に対応する。ステップＳ４０〜Ｓ７３は、ステップＳ９に対応する。
【００６０】
ステップＳ１１において、受信装置５２のドライブ９０にＣＤ−ＲＯＭ２２が挿入される。ステップＳ１２において、受信装置５２は、挿入されたＣＤ−ＲＯＭ２２が、ＥＣＵ５６の書換えデータ（プログラム）であるか否かを判定する。挿入されたＣＤ−ＲＯＭ２２が書換えデータ（プログラム）でない場合（Ｓ１２：ＮＯ）、今回の処理を終了する。挿入されたＣＤ−ＲＯＭ２２が書換えデータ（プログラム）である場合（Ｓ１２：ＹＥＳ）、ステップＳ１３において、受信装置５２は、書換えデータ（プログラム）をＣＤ−ＲＯＭ２２から読み込む。書換えデータ（プログラム）を読み込んでいる際、受信装置５２は、表示部７４にＣＤ−ＲＯＭ２２から書換えデータ（プログラム）を読込み中である旨を表示する。例えば、「書換え用データを読込み中です。走行は可能ですが、ＣＤ−ＲＯＭドライブは使用できません。」というメッセージを表示部７４に表示する。
【００６１】
書換えデータ（プログラム）の読込みが完了すると、ステップＳ１４において、受信装置５２から書換え装置５４に書換えデータ（プログラム）の読込みが完了したことを通知する。
【００６２】
ステップＳ１５において、書換え装置５４は、前回の書換え処理が完了しているか否かを判定する。例えば、書換え装置５４は、別の書換えデータ（プログラム）を記憶しているものの、当該書換えデータ（プログラム）を用いた書換え処理が行われていない場合、前回の書換え処理は完了していない。
【００６３】
ステップＳ１６において、書換え装置５４は、ステップＳ１５の結果を受信装置５２に通知する。
【００６４】
図５のステップＳ１７において、受信装置５２は、書換え装置５４からの通知に基づき、前回の書換え処理が完了しているか否かを確認する。前回の書換え処理が完了している場合（Ｓ１７：ＹＥＳ）、ステップＳ１８に進む。前回の書換え処理が完了していない場合（Ｓ１７：ＮＯ）、前回の書換え処理の完了を優先させる。このため、車両１６では、今回の書換え処理を終える。なお、この場合、受信装置５２は、前回の書換え処理を実行するよう促すメッセージを表示部７４に表示してもよい。また、受信装置５２の記憶部８０又は書換え装置５４の記憶部９６の容量に空きがある場合、今回受信した書換えデータ（プログラム）を記憶しておくことも可能である。
【００６５】
ステップＳ１８において、受信装置５２は、書換え装置５４に書換えデータ（プログラム）を転送する。
【００６６】
ステップＳ１９において、書換え装置５４は、書換えデータ（プログラム）が正常であるか否かを判定する。当該判定は、例えば、書換えデータ（プログラム）のデータ構造が正しいか否か及び書換えデータ（プログラム）のハッシュ値が正常であるか否かに基づいて行う。
【００６７】
書換えデータ（プログラム）が正常でない場合（Ｓ１９：ＮＯ）、ステップＳ２０において、書換え装置５４は、受信装置５２にエラーを通知する。ステップＳ２１において、受信装置５２は、表示部７４にエラー表示をすると共に、記憶部８０に記憶していた書換えデータ（プログラム）を消去し、今回の処理を終える。前記エラー表示としては、例えば、書換えデータ（プログラム）に異常があるため、ディーラに連絡すべき旨の表示を用いることができる。
【００６８】
書換えデータ（プログラム）が正常である場合（Ｓ１９：ＹＥＳ）、ステップＳ２２において、書換え装置５４は、書換えデータ（プログラム）を記憶部９６に記憶する。
【００６９】
図６のステップＳ２３において、書換え装置５４は、記憶部９６に記憶した書換えデータ（プログラム）で書換えを行うＥＣＵ５６（以下「対象ＥＣＵ５６ｔａｒ」という。）の１つに対し、現在の（すなわち、書換え前の）プログラムのバージョンなどの内容が識別できるプログラム識別情報（以下「プログラムＩＤ」という。）を要求する。なお、書換えは対象ＥＣＵ５６ｔａｒ毎に行うため、以下では、対象ＥＣＵ５６ｔａｒの中でも実際に書換えを行うために選択されたものを「今回の対象ＥＣＵ５６ｔａｒ」と呼び、区別する。
【００７０】
ステップＳ２４において、対象ＥＣＵ５６ｔａｒは、現在のプログラムのプログラムＩＤを書換え装置５４に送信する。
【００７１】
ステップＳ２５において、書換え装置５４は、対象ＥＣＵ５６ｔａｒから受信したプログラムＩＤが示すプログラムと、受信した書換えデータ（プログラム）との間に互換性があるか否かを判定する。当該判定は、例えば、プログラムＩＤ同士を比較することにより行う。より具体的には、書換えプログラムにより書換えが可能なプログラムのバージョンを示す互換性情報を書換えデータ（プログラム）に含ませておき、当該互換性情報と、対象ＥＣＵ５６ｔａｒから受信したプログラムＩＤが示すバージョンとを比較することにより互換性を判定する。互換性がない場合（Ｓ２６：ＮＯ）、ステップＳ２７において、書換え装置５４は、受信装置５２にエラーを通知する。ステップＳ２８において、受信装置５２は、表示部７４にエラー表示をすると共に、記憶部８０に記憶していた書換えデータ（プログラム）を消去し、今回の処理を終える。
【００７２】
互換性がある場合（Ｓ２６：ＹＥＳ）、ステップＳ２９において、書換え装置５４は、全ての書換えデータ（プログラム）について互換性の確認（Ｓ２５、Ｓ２６）が終了したか否かを判定する。一部の対象ＥＣＵ５６ｔａｒについて互換性の確認が終了していない場合（Ｓ２９：ＮＯ）、ステップＳ２３に戻る。
【００７３】
全ての対象ＥＣＵ５６ｔａｒについて互換性の確認が終了した場合（Ｓ２９：ＹＥＳ）、図７のステップＳ３０において、書換え装置５４は、全ての書換えデータ（プログラム）について互換性があった旨を受信装置５２に通知する。ステップＳ３１において、受信装置５２は、各対象ＥＣＵ５６ｔａｒの書換えを行うため、車両１６を安全な場所へ移動し、移動後に書換えを承諾するためのボタン画像（図示せず）及び当該ボタンを押すことを要求するメッセージを表示部７４に表示する。
【００７４】
前記ボタン画像へのタッチ操作がなく、ユーザからの承諾が得られない場合（Ｓ３２：ＮＯ）、ステップＳ３１に戻る。前記ボタン画像へのタッチ操作があり、ユーザからの承諾が得られた場合（Ｓ３２：ＹＥＳ）、ステップＳ３３において、受信装置５２は、書換え装置５４に対し、ユーザの承諾が得られた旨を通知する。
【００７５】
図８のステップＳ３４において、書換え装置５４は、受信装置５２に対し、起動信号Ｓｏｎを送信し、電源オフの禁止を要求する。これにより、ＩＧＳＷ６４の位置がオフにされても、受信装置５２は電源オンのまま継続する。
【００７６】
ステップＳ３５において、受信装置５２は、ユーザに対し、ＩＧＳＷ６４の位置をオフにするよう求めるメッセージを表示部７４に表示する。当該メッセージは、例えば、図１３の画面１３２のように、「イグニションスイッチをオフにして下さい」とすることができる。また、当該メッセージは、ＥＣＵ５６がオフにされた旨の通知を受信装置５２が書換え装置５４から受信するまで継続される。
【００７７】
ステップＳ３６において、書換え装置５４は、ＩＧＳＷ６４の位置を読み込み、ユーザがＩＧＳＷ６４をオフにしたか否か判断する。ユーザによるＩＧＳＷ６４の操作がなく、オフが検出されない場合（Ｓ３６：ＮＯ）、ステップＳ３６を繰り返す。ユーザがＩＧＳＷ６４を操作しオフが検出された場合（Ｓ３６：ＹＥＳ）、ステップＳ３７において、書換え装置５４は、受信装置５２に対し、ＩＧＳＷ６４がオフにされた旨（すなわち、ＥＣＵ５６がオフにされた旨）を通知する。なお、ＩＧＳＷ６４がオフにされたか否かの判定は、書換え装置５４から特定（１つ又は複数）のＥＣＵ５６に対して応答要求を送信し、応答の有無に応じて行ってもよい。この場合、特定のＥＣＵ５６から応答があった場合、ＩＧＳＷ６４がオフにされていないと判断し、応答がない場合、ＩＧＳＷ６４がオフにされたと判断する。
【００７８】
ステップＳ３８において、受信装置５２は、ユーザに対し、ＩＧＳＷ６４の再オン及びエンジンの始動の禁止を求めるメッセージを表示部７４に表示する。当該メッセージは、例えば、図１３の画面１３４のように、「イグニションスイッチをオンにして下さい（エンジンは始動しないで下さい）」とすることができる。また、当該メッセージは、ステップＳ３９において、ＩＧＳＷ６４がオンされたと書換え装置５４が判断するまで表示される。
【００７９】
ステップＳ３９において、書換え装置５４は、ＩＧＳＷ６４の位置を読み込み、ユーザがＩＧＳＷ６４をオンしたか否かを判断する。或いは、ステップＳ３６と同様に特定のＥＣＵ５６に対して応答要求を送信することで、ＩＧＳＷ６４のオンオフの判断を行ってもよい。ユーザによるＩＧＳＷ６４の操作がなく、オンが検出されない場合（Ｓ３９：ＮＯ）、ステップＳ３９を繰り返す。ユーザがＩＧＳＷ６４を操作しオンが検出された場合（Ｓ３９：ＹＥＳ）、ステップＳ４０に進む。
【００８０】
図９のステップＳ４０において、書換え装置５４は、いくつかのＥＣＵ５６に対し、車両１６の状態を要求する。ここにいう車両１６の状態とは、例えば、エンジン回転数Ｎｅと、車速Ｖと、シフトポジションと、各ＥＣＵ５６の温度と、イモビライザＥＣＵ５６ｄの作動状態と、エアコンディショナの作動状態と、リアガラスの熱線の作動状態と、ヘッドライトの作動状態と、座席の加熱装置の作動状態とを含めることができる。本実施形態では、上記車両１６の各状態は、種々のＥＣＵ５６から取得するが、各種のセンサから直接取得することもできる。
【００８１】
ステップＳ４１において、各ＥＣＵ５６は、車両１６の状態を書換え装置５４に送信する。
【００８２】
ステップＳ４２において、書換え装置５４は、車両１６が、プログラムを書換え可能な状態にあるか否かを判定する。当該判定は、例えば、次の条件（ｉ）〜（ｖ）が全て満たされているか否かにより行う。
（ｉ）  エンジン回転数Ｎｅが０［ｒｐｍ］であること
（ｉｉ）  車速Ｖが０［ｋｍ／ｈ］であること
（ｉｉｉ）  シフトポジションが「Ｐ」（パーキング）であること
（ｉｖ）  対象ＥＣＵ５６ｔａｒの温度が書換え可能な温度以下であること
（ｖ）  イモビライザＥＣＵ５６ｄが、正規キーが装着されていると判断していること
【００８３】
上記において、条件（ｉ）〜（ｉｉｉ）は、車両１６が停止していることを確認するためのものである。条件（ｉｖ）は、ＥＣＵ５６の動作異常を判定するためのものである。条件（ｖ）は、正規ユーザが車両１６を使用していることを確認するためのものである。
【００８４】
また、この際、次の条件（ｖｉ）〜（ｉｘ）のいずれかが満たされているか否かも判定する。
（ｖｉ）  エアコンディショナがオフになっていること
（ｖｉｉ）  リアガラスの熱線がオフになっていること
（ｖｉｉｉ）  ヘッドライトがオフになっていること
（ｉｘ）  座席の加熱装置がオフになっていること
【００８５】
上記条件（ｖｉ）〜（ｉｘ）は、バッテリ電力Ｐｂａｔの消費状態を判定し、ユーザに電力消費の抑制を求めるために用いる。条件（ｖｉ）〜（ｉｘ）が満たされていなくても、書換え不可とはならないが、後述するステップＳ４６において、ユーザに対してこれらについて警告が行われる。
【００８６】
ステップＳ４３において、書換え装置５４は、ステップＳ４２の結果を受信装置５２に通知する。条件（ｉ）〜（ｖ）のいずれかが満たされないことにより「書換え不可」である場合（Ｓ４４：ＮＯ）、ステップＳ４５において、受信装置５２は、条件（ｉ）〜（ｖ）のうち満たされていない条件を指摘する警告メッセージを表示部７４に表示し、ユーザに改善を促す。その後、ステップＳ４０に戻る。
【００８７】
但し、「書換え不可」の場合であっても、受信装置５２から書換え装置５４に対して特別の信号を送らなくてよい。換言すると、ステップＳ４２で、書換え装置５４が「書換え不可」と判定した場合、書換え装置５４は、ステップＳ４３で結果を受信装置５２に通知した後、ステップＳ４０に戻ればよい。
【００８８】
ステップＳ４４において、「書換え可」である場合（Ｓ４４：ＹＥＳ）、ステップＳ４６において、受信装置５２は、書換え処理の開始の承諾を確認する操作画面（書換え開始承諾確認表示）を表示部７４に表示する。当該操作画面としては、例えば、図１３の画面１３６のように、「プログラムの書換えを開始してよろしいですか？」とのメッセージと、書換えの開始を承諾するボタン（「ＹＥＳ」）と、書換えの開始を承諾しないボタン（「ＮＯ」）とを含むものを用いることができる。また、この際、上記条件（ｖｉ）〜（ｉｘ）のいずれかが成立していない場合、その旨を警告するメッセージを併せて表示することができる。
【００８９】
前記操作画面への操作がなく、ユーザからの承諾が得られない場合（Ｓ４７：ＮＯ）、ステップＳ４６に戻る。前記操作画面への操作があり、ユーザからの承諾が得られた場合（Ｓ４７：ＹＥＳ）、ステップＳ４８において、受信装置５２は、プログラムの書換え中であることを知らせるメッセージを表示部７４に表示する。例えば、「プログラムを書換え中です。イグニションスイッチをオフにしないで下さい。」と表示する。
【００９０】
ステップＳ４９において、受信装置５２は、書換え装置５４に対し、ユーザの承諾が得られた旨を通知する。
【００９１】
図１０のステップＳ５０において、書換え装置５４は、全ＥＣＵ５６との間で通信を行って全ＥＣＵ５６のセキュリティを解除する。
【００９２】
ステップＳ５１において、書換え装置５４は、全ＥＣＵ５６に対し、ＥＣＵ５６相互間で行う故障診断の停止を要求する。ステップＳ５２において、全ＥＣＵ５６は、前記故障診断を停止する。
【００９３】
ステップＳ５３において、書換え装置５４は、全ＥＣＵ５６に対し、ＥＣＵ５６間での通信の停止を要求する。ステップＳ５４において、全ＥＣＵ５６は、相互の通信を停止する。これにより、各ＥＣＵ５６は、協調制御を行うことができなくなる。
【００９４】
ステップＳ５５において、書換え装置５４は、今回の対象ＥＣＵ５６ｔａｒに対し、書換えモードへの移行を要求する。ステップＳ５６において、今回の対象ＥＣＵ５６ｔａｒは、書換えモードに移行する。
【００９５】
ステップＳ５７において、書換え装置５４は、今回の対象ＥＣＵ５６ｔａｒについて、プログラムの書換えを実行する。
【００９６】
ステップＳ５８において、書換え装置５４は、今回の対象ＥＣＵ５６ｔａｒに再起動を要求する。当該要求は、書換え装置５４から今回の対象ＥＣＵ５６ｔａｒに対して直接行う。ステップＳ５９において、今回の対象ＥＣＵ５６ｔａｒは、再起動を行う。
【００９７】
今回の対象ＥＣＵ５６ｔａｒの再起動が終了すると、ステップＳ６０において、書換え装置５４は、今回の対象ＥＣＵ５６ｔａｒに対し、故障診断の停止を要求する。ステップＳ６１において、再起動後の今回の対象ＥＣＵ５６ｔａｒは、故障診断を停止する。なお、この時点において、対象ＥＣＵ５６ｔａｒ以外のＥＣＵ５６（他の対象ＥＣＵ５６ｔａｒを含む。）は、故障診断を既に停止している。
【００９８】
ステップＳ６２において、書換え装置５４は、今回の対象ＥＣＵ５６ｔａｒに対し、ＥＣＵ５６間の通信停止を要求する。ステップＳ６３において、今回の対象ＥＣＵ５６ｔａｒは、他のＥＣＵ５６との間の通信を停止する。なお、この時点において、今回の対象ＥＣＵ５６ｔａｒ以外のＥＣＵ５６（他の対象ＥＣＵ５６ｔａｒを含む。）は、他のＥＣＵ５６との間の通信を既に停止している。
【００９９】
ステップＳ６４〜Ｓ６６を介して、書換え装置５４は、今回の対象ＥＣＵ５６ｔａｒの動作（書換えの成否）を判定する。すなわち、ステップＳ６４において、書換え装置５４は、今回の対象ＥＣＵ５６ｔａｒに対し、現在の（すなわち、書換え後の）プログラムのバージョンなどの内容が識別できるプログラムＩＤを要求する。
【０１００】
ステップＳ６５において、今回の対象ＥＣＵ５６ｔａｒは、現在のプログラムのプログラムＩＤを書換え装置５４に送信する。
【０１０１】
ステップＳ６６において、書換え装置５４は、今回の対象ＥＣＵ５６ｔａｒから受信したプログラムＩＤを確認することで書換えの成否を確認する。書換えが成功し、正常に動作している場合（Ｓ６７：ＹＥＳ）、ステップＳ６８において、書換え装置５４は、全ての対象ＥＣＵ５６ｔａｒについてプログラムの書換えが終了したか否かを判定する。当該判定は、例えば、書換えデータに対象ＥＣＵ５６ｔａｒの情報を含めておき、当該情報を用いて行う。一部の対象ＥＣＵ５６ｔａｒについてプログラムの書換えが終了していない場合（Ｓ６８：ＮＯ）、ステップＳ６９において、書換え装置５４は、作業対象の対象ＥＣＵ５６ｔａｒを切り替える。そして、図１０のステップＳ５５に戻る。
【０１０２】
全ての対象ＥＣＵ５６ｔａｒについてプログラムの書換えが終了した場合（Ｓ６８：ＹＥＳ）、ステップＳ７０において、書換え装置５４は、受信装置５２に正常終了を通知し、書換え処理を終了する。
【０１０３】
ステップＳ７１において、受信装置５２は、プログラムの書換えの正常終了を通知するメッセージを表示部７４に表示する。当該メッセージには、例えば、プログラムの書換えが終了した旨、ＩＧＳＷ６４をオフにすべき旨並びに書換えの終了を示すコード番号（具体的な数値等）、当該コード番号をメーカに連絡すべき旨及びその連絡先を含めることができる。従って、当該メッセージを読んだユーザは、メーカに当該コード番号を知らせることで、メーカは、プログラムの書換えの終了を確認することができる。なお、コード番号の通知は、電話、電子メール、ホームページにおける入力画面への入力等の方法により行うことができる。
【０１０４】
なお、書換えが失敗し、正常に終了しなかった場合（Ｓ６７：ＮＯ）、ステップＳ７２において、書換え装置５４は、受信装置５２にエラーを通知する。ステップＳ７３において、受信装置５２は、ＩＧＳＷ６４をオフにし、ディーラに連絡することを求めるメッセージを表示部７４に表示する。例えば、「プログラムの書込みが異常終了しました。イグニションスイッチをオフにし、ディーラに連絡して下さい。」というメッセージを表示部７４に表示する。
【０１０５】
（２）衛星放送網２４を介して伝達されたプログラムの場合
（ａ）書換え処理の概要
図１４は、衛星放送網２４を介して伝達された複数の書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理の概要を示すフローチャートである。
【０１０６】
ステップＳ３０１において、受信装置５２は、衛星放送網２４を介して複数の書換えデータ（プログラム）を受信する。
【０１０７】
ステップＳ３０２〜Ｓ３０９は、図３のステップＳ２〜Ｓ９と同様である。
【０１０８】
なお、ステップＳ３０１〜Ｓ３０５の間は、車両１６は走行が可能である一方、ステップＳ３０６〜Ｓ３０９の間は、エンジンが停止し、車両１６は走行できない。
【０１０９】
（ｂ）書換え処理の詳細
図１５は、衛星放送網２４を介して伝達された複数の書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理の詳細を示すフローチャートである。なお、ＣＤ−ＲＯＭ２２を介して伝達された複数の書換えデータ（プログラム）で書き換える際の処理（図４〜図１２）と共通する処理については、図４〜図１２を参照して説明する。
【０１１０】
ステップＳ３１１〜Ｓ３１４は、図１４のステップＳ３０１に対応する。
【０１１１】
ステップＳ３１１において、受信装置５２は、衛星放送網２４を介して車両情報を受信する。具体的には、図示しない放送局を介してサーバ１４が車両情報を送信すると、この車両情報は、放送衛星２８で中継された後、受信装置５２の無線アンテナ８２に受信される。無線アンテナ８２に受信された車両情報は、モデム８４で復調されて演算部７８に出力される。
【０１１２】
ステップＳ３１２において、受信装置５２は、受信した車両情報が、車両１６（自車両）に合致したものであるかどうかを判定する。車両情報が車両１６に合致する場合（Ｓ３１２：ＹＥＳ）、ステップＳ３１３に進む。車両情報が車両１６に合致しない場合（Ｓ３１２：ＮＯ）、今回の処理を終える。
【０１１３】
ステップＳ３１３において、受信装置５２は、衛星放送網２４を介して複数の書換えデータ（プログラム）を受信する。具体的な受信方法は、ステップＳ３１１と同様である。また、書換えデータ（プログラム）の内容は、ＣＤ−ＲＯＭ２２の場合（図４〜図１２）と同様である。
【０１１４】
ステップＳ３１４において、受信装置５２は、書換えデータ（プログラム）の受信が完了したか否かを判定する。受信が完了していない場合（Ｓ３１４：ＮＯ）、ステップＳ３１３に戻る。受信が完了した場合（Ｓ３１４：ＹＥＳ）、ステップＳ３１５に進む。
【０１１５】
ステップＳ３１５において、受信装置５２から書換え装置５４に書換えデータ（プログラム）の受信を通知する。
【０１１６】
図１５のステップＳ３１６〜Ｓ３１７は、図４のステップＳ１５〜Ｓ１６と同様である。その後、図５のステップＳ１７に続く。
【０１１７】
（３）移動通信網２６を介して伝達された書換えデータ（プログラム）の場合
（ａ）書換え処理の概要
図１６は、移動通信網２６を介して伝達された複数の書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理の概要を示すフローチャートである。
【０１１８】
ステップＳ４０１において、受信装置５２は、移動通信網２６を介して複数の書換えデータ（プログラム）を受信する。なお、移動通信網２６を介して複数の書換えデータ（プログラム）を受信する場合、携帯電話８６を事前にコネクタ８８に接続しておく。
【０１１９】
ステップＳ４０２〜Ｓ４０９は、図３のステップＳ２〜Ｓ９及び図１４のステップＳ３０２〜Ｓ３０９と同様である。
【０１２０】
なお、ステップＳ４０１〜Ｓ４０５の間は、車両１６は走行が可能である一方、ステップＳ４０６〜Ｓ４０９の間は、エンジンが停止し、車両１６は走行できない。
【０１２１】
（ｂ）書換え処理の詳細
図１７は、移動通信網２６を介して伝達された複数の書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理の詳細を示すフローチャートである。なお、衛星放送網２４を介して伝達された複数の書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理（図１５）と共通する処理については、図１５を参照して説明する。
【０１２２】
ステップＳ４１１において、ユーザは、携帯電話８６をコネクタ８８に接続する。
【０１２３】
ステップＳ４１２において、受信装置５２の携帯電話８６は、サーバ１４との間で通信を確立する。当該通信の確立は、サーバ１４からの書換えデータ（プログラム）の転送がされたときに行われる。或いは、事前に設定された所定のタイミング（例えば、携帯電話８６とコネクタ８８の接続時、当該接続時から所定間隔又は所定時刻）で携帯電話８６及び移動通信網２６を介してサーバ１４に対して新たな書換えデータ（プログラム）の有無を問い合わせることもできる。
【０１２４】
ステップＳ４１３〜Ｓ４１７は、図１５のステップＳ３１３〜Ｓ３１７と同様である。その後、図５のステップＳ１７に続く。
【０１２５】
４．本実施形態における効果
以上のような実施形態によれば、１つ目の対象ＥＣＵ５６ｔａｒ（例えば、ＥＮＧ  ＥＣＵ５６ａ）（以下「第１対象ＥＣＵ５６ｔａｒ１」という。）におけるプログラム（以下「第１プログラム」という。）の書換えが完了すると、第１対象ＥＣＵ５６ｔａｒ１に再起動を要求した後、書換え装置５４が当該書換えの成否を判定し、当該書換えが成功したと判定すると、２つ目の対象ＥＣＵ５６ｔａｒ（例えば、ＡＢＳ  ＥＣＵ５６ｂ）（以下「第２対象ＥＣＵ５６ｔａｒ２」という。）におけるプログラム（以下「第２プログラム」という。）の書換えに移行する。従って、第１プログラムの書換えから第２プログラムの書換えに移行するに際し、ユーザによるＩＧＳＷ６４の操作が不要となり、第１プログラム及び第２プログラムの書換えを連続的に行うことが可能となる。その結果、ユーザの作業負荷を軽減することが可能となり、複数のプログラムを好適に書き換えることが可能となる。
【０１２６】
本実施形態において、書換え装置５４は、第１プログラムの書換えの開始前に、通信線６８に接続される全てのＥＣＵ５６に対して故障診断（異常検出）の停止を要求し、第１対象ＥＣＵ５６ｔａｒ１が再起動した後に、第１対象ＥＣＵ５６ｔａｒ１に故障診断の停止を要求する。
【０１２７】
これにより、通信線６８に接続される複数のＥＣＵ５６それぞれにおいて互いの故障診断を行っている場合でも、第１プログラム及び第２プログラムの書換えを適切に行うことが可能となる。例えば、各ＥＣＵ５６間で互いに定期的に通信を行うことで、互いの故障を検知する構成では、第１対象ＥＣＵ５６ｔａｒ１は正常に第１プログラムの書換えを行っているにもかかわらず、第１対象ＥＣＵ５６ｔａｒ１以外のＥＣＵ５６が、第１プログラムの書換えに伴う第１対象ＥＣＵ５６ｔａｒ１の動作停止により、第１対象ＥＣＵ５６ｔａｒに異常が発生したと判定し、当該判定に伴って不都合が生じる可能性がある。しかし、本実施形態によれば、第１プログラムの書換え前に全てのＥＣＵ５６において故障診断を停止する。従って、上記のような不具合を防ぐことが可能となる。
【０１２８】
また、書換え後の第１対象ＥＣＵ５６ｔａｒ１が再起動されると、異常検出の停止が無効となり、第１対象ＥＣＵ５６ｔａｒ１は、異常検出を再開する。その後、第２対象ＥＣＵ５６ｔａｒ２における第２プログラムの書換えを行うために第２対象ＥＣＵ５６ｔａｒの動作を停止すると、第１対象ＥＣＵ５６ｔａｒ１は、正常に書換えを行っている第２対象ＥＣＵ５６ｔａｒ２に異常が発生していると誤判断してしまう。しかし、本実施形態によれば、再起動後の第１対象ＥＣＵ５６ｔａｒ１において故障診断を停止する。従って、上記のような不具合を防ぐことが可能となる。
【０１２９】
［Ｂ．この発明の応用］
なお、この発明は、上記実施形態に限らず、この明細書の記載内容に基づき、種々の構成を採り得ることはもちろんである。例えば、以下に示す構成を採ることができる。
【０１３０】
１．プログラム書換えシステム１０
上記実施形態では、システム１０を車両用に用いたが、これに限らず、例えば、他の移動体（飛行機、船舶、ヘリコプタ等）であってもよい。
【０１３１】
２．データ伝達システム１２
上記実施形態では、書換えデータ（プログラム）の伝達を、ＣＤ−ＲＯＭ２２、衛星放送網２４及び移動通信網２６を用いて行ったが、いずれか１つ又は２つを用いてもよい。或いは、これら以外の方法｛例えば、放送衛星又は携帯電話を用いない無線通信（例えば、道路脇に設置された光ビーコンとの間の無線通信）｝により書換えデータ（プログラム）を伝達させてもよい。また、ＣＤ−ＲＯＭ２２の代わりに別の記憶媒体（ＤＶＤ−ＲＯＭ、フラッシュメモリ等）を用いることもできる。
【０１３２】
３．車両１６
上記実施形態では、車両１６をガソリン車としたが、これに限らず、例えば、再始動時に電力を要する駆動源を有する車両｛電気自動車（ハイブリッド車及び燃料電池車を含む。）、ディーゼル車等｝であってもよい。
【０１３３】
４．ＥＣＵ５６
上記実施形態では、ＥＣＵ５６として、ＥＮＧ  ＥＣＵ５６ａ、ＡＢＳ  ＥＣＵ５６ｂ、ＳＲＳ  ＥＣＵ５６ｃ及びイモビライザＥＣＵ５６ｄを挙げたが、ＥＣＵ５６の数及び種類はこれに限らない。
【０１３４】
５．ＩＧＳＷ６４
上記実施形態では、ＩＧＳＷ６４としてロータリ式のスイッチを用いたが、これに限らない。例えば、車両１６が、いわゆるスマートスタート機能を備える場合、プッシュ動作により「オフ」、「アクセサリ」及び「オン」を順番に切り換えるプッシュスイッチをＩＧＳＷ６４として用いることもできる。
【０１３５】
６．書換え装置５４とＥＣＵ５６との間の通信
上記実施形態では、書換え装置５４とＥＣＵ５６との間の通信を通信線６８を介して行ったが、これに限らない。例えば、書換え装置５４とＥＣＵ５６との間の通信を無線で行ってもよい。
【０１３６】
７．プログラムの書換えの成否の判定
上記実施形態では、プログラムの書換えの成否の判定をプログラムＩＤを用いて行ったが、これに限らない。例えば、書換えの成否を示すコードをプログラムに含めておき、これを検出することで成否を判定してもよい。
【０１３７】
８．ＥＣＵ５６相互間の故障診断（異常検出）の停止
上記実施形態において、書換え装置５４は、各ＥＣＵ５６に対し、故障診断（異常検出）の停止を直接要求したが、これに限らない。例えば、特許文献２のように、書換え装置５４から特定のＥＣＵ５６に対して故障診断の停止を要求し、当該特定のＥＣＵ５６から他のＥＣＵ５６に対して故障診断の停止を要求することで（すなわち、書換え装置５４から間接的に故障診断の停止を要求することで）、各ＥＣＵ５６の故障診断を停止してもよい（同文献の段落［００２３］参照）。
【０１３８】
９．ＥＣＵ５６の電源オフの判定
上記実施形態において、書換え装置５４は、ＩＧＳＷ６４の位置を読み込み、又は、ＥＣＵ５６に対して応答要求を送信し、ＥＣＵ５６から応答が無い場合に、ＥＣＵ５６の電源オフを検出したが、ＥＣＵ５６の電源オフを検出する方法はこれに限らない。例えば、プログラムＩＤを要求し、その応答の有無によってＥＣＵ５６の電源オフを検出することもできる。或いは、ＩＧＳＷ６４の位置を読み込み、オフを検出してから所定時間後又は送信した応答要求にＥＣＵ５６からの応答が無いことによりＥＣＵ５６が電源オフにされたとみなすことも可能である。
【符号の説明】
【０１３９】
１０…プログラム書換えシステム        １６…車両
５４…書換え装置                      ５６ａ…ＥＮＧ  ＥＣＵ（電子制御装置）
５６ｂ…ＡＢＳ  ＥＣＵ（電子制御装置）５６ｃ…ＳＲＳ  ＥＣＵ（電子制御装置）
５６ｄ…イモビライザＥＣＵ（電子制御装置）
１０６…記憶部（記憶装置）
【図１】
0005551045.tif 000002
【図２】
0005551045.tif 000003
【図３】
0005551045.tif 000004
【図４】
0005551045.tif 000005
【図５】
0005551045.tif 000006
【図６】
0005551045.tif 000007
【図７】
0005551045.tif 000008
【図８】
0005551045.tif 000009
【図９】
0005551045.tif 000010
【図１０】
0005551045.tif 000011
【図１１】
0005551045.tif 000012
【図１２】
0005551045.tif 000013
【図１３】
0005551045.tif 000014
【図１４】
0005551045.tif 000015
【図１５】
0005551045.tif 000016
【図１６】
0005551045.tif 000017
【図１７】
0005551045.tif 000018