(57)【要約】【課題】  更新元の機器が複数のネットワークを介して更新機器のソフトウェアを更新する場合に、安定して更新が可能な通信経路を確保する車載システムを提供することができる。【解決手段】電子制御装置１４が接続されたネットワーク１〜４が中継装置１２を介して複数個接続された車載システム５００において、前記中継装置に対応づけられた前記電子制御装置リストに基づきネットワーク構造を再現する構造再現手段４２と、通信経路決定情報及び前記ネットワーク構造に基づきに基づき、当該第１の電子制御装置から前記第２の電子制御装置までソフトウェアを送信可能な通信経路を決定する通信経路決定手段４３と、を有し、前記通信経路を介して更新機器のソフトウェアを送信する、ことを特徴とする。【選択図】図１
2014113952.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の電子制御装置が接続されたネットワークが中継装置を介して階層的に接続された車載システムにおいて、
ソフトウェアを外部から取得する第１の電子制御装置と、
前記第１の電子制御装置と異なるネットワークに接続され、ソフトウェアを記憶する第２の電子制御装置と、を有し、
前記中継装置は、予め定められた側のネットワークに接続された他の中継装置の通信経路決定情報を記憶した通信経路決定情報記憶手段と、
前記側のネットワークに流れるデータを監視して該ネットワークに接続された前記他の中継装置を含む電子制御装置の電子制御装置リストを作成する識別情報作成手段と、
前記第１の電子制御装置側のネットワークに、当該中継装置が記憶する前記通信経路決定情報と当該中継装置が作成し当該中継装置に対応づけられた前記電子制御装置リストを送信し、及び、前記側のネットワークに接続された前記他の中継装置から受信した前記通信経路決定情報と前記電子制御装置リストを転送する情報送信手段と、を有し、
前記第１の電子制御装置は、前記中継装置から、前記通信経路決定情報と前記中継装置に対応づけられた前記電子制御装置リストを受信する情報受信手段と、
前記中継装置に対応づけられた前記電子制御装置リストに基づきネットワーク構造を再現する構造再現手段と、
前記通信経路決定情報及び前記ネットワーク構造に基づき、当該第１の電子制御装置から前記第２の電子制御装置までソフトウェアを送信可能な通信経路を決定する通信経路決定手段と、を有することを特徴とする車載システム。
【請求項２】
前記通信経路決定情報は前記中継装置が通信可能な車両の電源状態情報であり、
前記通信経路決定手段は、現在の車両の電源状態で通信可能な前記ネットワーク構造上の前記中継装置を前記電源状態情報に基づき特定し、特定した1つ以上の前記中継装置を経由する経路をソフトウェアを送信する前記通信経路に決定する、
ことを特徴とする請求項１記載の車載システム。
【請求項３】
前記通信経路決定情報は前記中継装置の消費電力情報であり、
前記通信経路決定手段は、前記消費電力情報に基づき、前記通信経路の候補となる経路の合計消費電力を算出し、前記合計消費電力が最も小さくなる経路をソフトウェアを送信する前記通信経路に決定する、
ことを特徴とする請求項１記載の車載システム。
【請求項４】
前記中継装置は、他の中継装置を含め、前記側のネットワークに接続された電子制御装置から通信可能な車両の前記電源状態情報を受信し、前記通信経路決定情報として前記通信経路決定情報記憶手段に登録する、
ことを特徴とする請求項２記載の車載システム。
【請求項５】
前記中継装置は、他の中継装置を含め、前記側のネットワークに接続された電子制御装置から前記消費電力情報を受信し、前記通信経路決定情報として前記通信経路決定情報記憶手段に登録する、
ことを特徴とする請求項３記載の車載システム。
【請求項６】
当該第１の電子制御装置から前記第２の電子制御装置までソフトウェアを送信可能な経路が複数ある場合、前記通信経路決定手段は中継される前記中継装置の数が最も少ない経路を前記通信経路に決定する、
ことを特徴とする請求項１又は２記載の車載システム。
【請求項７】
前記通信経路決定手段は、通信経路にある全ての前記中継装置の前記合計消費電力に、ソフトウェアが更新中であることを知らせる所定の電子制御装置及び前記所定の電子制御装置と同じネットワークに所属する全ての電子制御装置の消費電力を加えて前記合計消費電力を算出し、前記合計消費電力が最も小さくなる経路をソフトウェアを送信する前記通信経路に決定する、
ことを特徴とする請求項３記載の車載システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つ以上の電子制御装置が接続されたネットワークが中継装置を介して複数個接続された車載システムに関する。
【背景技術】
【０００２】
車両には多くのＥＣＵ（Electronic Control Unit）が搭載されている。ＥＣＵの不揮発メモリにはソフトウェアが記憶されているが、他の多くの組み込みソフトウェアと同様に、機能を向上させるなどの理由でソフトウェアが書き換えられる場合がある。ソフトウェアの書き換えが途中で中断すると機器の起動が困難になるため、従来から書き換えの中断に対応するための技術が考えられている（例えば、特許文献１参照。）。特許文献１には、差分データによりソフトウェアを書き換える携帯端末であって、電源異常からの復旧時に、書き換え処理中情報が記録されていた場合に書き換え中のブロック番号と対象ソフトウェア情報を読み出してソフトウェア配信サーバに送信し、書き換え中以降のブロック番号のソフトウェアから書き換え処理を再開する携帯端末が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−０７８５０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、以下のような理由で、車両のＥＣＵには特許文献１のような技術は適用しにくい。車両に搭載されるＥＣＵは数が多いため、車両では、階層的に構築された複数のＬＡＮに各ＥＣＵが所属する構成になっている。ソフトウェアの書き換え対象となるＥＣＵが下位の階層のＬＡＮに所属している場合、書き換えを行う上位層のＥＣＵは、階層を辿って書き換え対象のＥＣＵと通信する。しかし、書き換え対象のＥＣＵに電源異常が生じていなくても、経路上のＥＣＵに電源異常が生じる場合があり、書き換えを行うＥＣＵや書き換え対象のＥＣＵはその電源異常を把握できない。この場合、電源異常が生じたため、書き換え対象のＥＣＵは書き換え途中のプログラムの場所等を記憶することなく、突然、書き換えが停止してしまう。
【０００５】
したがって、書き換え対象のＥＣＵの電源異常を考慮するだけでは車両のＥＣＵのソフトウェアを安定して書き換えることは困難である。
【０００６】
本発明は、上記課題に鑑み、更新元の機器が複数のネットワークを介して更新機器のソフトウェアを書き換える場合に、安定して書き換えが可能な通信経路を確保する車載システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、１つ以上の電子制御装置が接続されたネットワークが中継装置を介して階層的に接続された車載システムにおいて、ソフトウェアを外部から取得する第１の電子制御装置と、前記第１の電子制御装置と異なるネットワークに接続され、ソフトウェアを記憶する第２の電子制御装置と、を有し、前記中継装置は、予め定められた側のネットワークに接続された他の中継装置の通信経路決定情報（例えば、電源状態情報、消費電力情報）を記憶した通信経路決定情報記憶手段と、前記側のネットワークに流れるデータを監視して該ネットワークに接続された前記他の中継装置を含む電子制御装置の電子制御装置リストを作成する識別情報作成手段と、前記第１の電子制御装置側のネットワークに、当該中継装置が記憶する前記通信経路決定情報と当該中継装置が作成し当該中継装置に対応づけられた前記電子制御装置リストを送信し、及び、前記側のネットワークに接続された前記他の中継装置から受信した前記通信経路決定情報と前記電子制御装置リストを転送する情報送信手段と、を有し、前記第１の電子制御装置は、前記中継装置から、前記通信経路決定情報と前記中継装置に対応づけられた前記電子制御装置リストを受信する情報受信手段と、前記中継装置に対応づけられた前記電子制御装置リストに基づきネットワーク構造を再現する構造再現手段と、前記通信経路決定情報及び前記ネットワーク構造に基づきに基づき、当該第１の電子制御装置から前記第２の電子制御装置までソフトウェアを送信可能な通信経路を決定する通信経路決定手段と、を有することを特徴とする。
【発明の効果】
【０００８】
更新元の機器が複数のネットワークを介して更新機器のソフトウェアを更新する場合に、安定して更新が可能な通信経路を確保する車載システムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施例のＥＣＵのソフトウェアの書き換え方法を説明する図の一例である。
【図２】外部から車両１００のＥＣＵのソフトウェアを書き換えるための構成例を説明する図の一例である。
【図３】車載ネットワークの概略構成図の一例を示す。
【図４】ゲートウェイＥＣＵ１〜４、書き換え対象ＥＣＵ及びＥＣＵの機能ブロック図の一例である。
【図５】電源状態情報、配下ＥＣＵ情報の一例を示す図である。
【図６】経路の決定について説明する図の一例である。
【図７】ゲートウェイＥＣＵ１がソフトウェアを更新する手順を示すフローチャート図の一例である。
【図８】ゲートウェイＥＣＵ１〜４、書き換え対象ＥＣＵ及びＥＣＵの機能ブロック図の一例である（実施例２）。
【図９】消費電力情報の一例を示す図である。
【図１０】消費電力に基づきゲートウェイＥＣＵ１からオートクルーズＥＣＵまでの通信経路の決定方法について説明する図の一例である。
【図１１】車載ネットワークがソフトウェアを更新する手順を示すフローチャート図の一例を示す。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を参照しながら説明する。しかしながら、本発明の技術的範囲が本実施の形態に限定されるものではない。
【実施例１】
【００１１】
図１は、本実施例のＥＣＵのソフトウェアの書き換え方法を説明する図の一例である。書き換えＥＣＵ（Electronic Control Unit）は、他のＥＣＵのソフトウェアの書き換えを判断、制御するＥＣＵである。
(i)  各ＥＣＵ１〜４とゲートウェイＥＣＵ１〜３（書き換えＥＣＵ以外のＥＣＵ）は矢印で示すように、自機が通信可能な電源状態を、所属するＬＡＮ１〜３に送信する。各ＬＡＮ１〜３にはゲートウェイＥＣＵ１〜３が接続されているので、ゲートウェイＥＣＵ１〜３は通信可能な電源状態と共に、配下のＥＣＵを特定する。
(ii)  各ゲートウェイＥＣＵ１〜３は自己よりも上位の階層のＬＡＮに、収集した通信可能な電源状態と配下ＥＣＵ情報を送信する。最終的に書き換えＥＣＵは全てのＥＣＵの通信可能な電源状態と各ゲートウェイＥＣＵ１〜３の配下ＥＣＵ情報を取得する。
(iii)  そして、書き換えＥＣＵは書き換え対象ＥＣＵ（例えばＥＣＵ３）のソフトウェアの書き換えを行う際、車両の現在の電源状態で通信可能なゲートウェイＥＣＵ１〜３を判断して、ＥＣＵ３までの通信経路を決定する。そしてこの通信経路でソフトウェアを書き換える。
【００１２】
例えば、現在、ＡＣＣ（アクセサリー）という電源状態の場合、書き換えＥＣＵはＡＣＣで通信可能なゲートウェイＥＣＵ（図ではゲートウェイＥＣＵ３とゲートウェイＥＣＵ２）を経路としてＬＡＮ３のＥＣＵ３のソフトウェアを書き換える。
【００１３】
したがって、本実施例の書き換え方法によれば、車載ネットワークのように複数のＬＡＮが階層的に構成され複数のＬＡＮを経由してソフトウェアの書き換えが行われる場合でも、常に電源状態の安定した経路を選択できるため、正常に書き換えを行うことが可能になる。
【００１４】
なお、本実施例の階層とは、複数のＬＡＮがゲートウェイＥＣＵで接続されており、ゲートウェイＥＣＵに書き換えＥＣＵの側のネットワークが設定されていることをいう。ソフトウェアが送信される側を上流側とすると、ゲートウェイＥＣＵから見て書き換えＥＣＵが所属するＬＡＮの側が上流側、書き換え対象のＥＣＵが所属するＬＡＮの側（複数あってもよい）が下流側である。また、本実施例では、ゲートウェイＥＣＵから見て下流のＬＡＮに所属するＥＣＵを"配下のＥＣＵ"と称する場合がある。
【００１５】
〔構成例〕
図２は、外部から車両１００のＥＣＵのソフトウェアを書き換えるための構成例を説明する図の一例である。ＥＣＵはエンジンなどの各種の車載装置を制御する制御装置で、電子制御装置と呼ばれることもある。図２（ａ）は車載ネットワークに有線で接続された書き換えツール２００から書き換えＥＣＵがソフトウェアを取得し書き換え対象のＥＣＵのソフトウェアを書き換える構成例を示す。図２（ｂ）はネットワーク３００を介して送信されたソフトウェアを車両１００が受信し書き換えＥＣＵが書き換え対象のＥＣＵのソフトウェアを書き換える構成例を示す。
【００１６】
車両１００の例えば運転席には書き換えツール２００を接続するためのコネクタが配置されている。コネクタの形状や電気信号は規格で定められており、ソフトウェアの書き換え以外にも故障診断に使用される。このような規格には、ＯＢＤ（On-Board Diagnostics）、ＷＷＨ−ＯＢＤ（World Wide Harmonized-OBD）、ＫＷＰ（Keyword Protocol）、ＵＤＳ（Unified Diagnostic Services）等がある。また、コネクタはＯＢＤコネクタ（OBD-IIコネクタ）、ＤＬＣコネクタ、故障診断コネクタなどと呼ばれている。書き換えツール２００はＬＡＮに直接、接続され他のＥＣＵと同様にＬＡＮを流れるＣＡＮ（Controller Area Network）フレームを受信したり、ＬＡＮにＣＡＮフレームを送信することができる。
【００１７】
なお、車両１００と書き換えツール２００は有線で接続しなければならないわけではなく、無線ＬＡＮやBluetooth（登録商標）などの無線で接続されてもよい。また、ＣＡＮによる車載ネットワークは一例であり、Ｌｉｎ（Local Interconnect Network）、ＦｌｅｘＲａｙ、イーサネット（登録商標）などでもよい。
【００１８】
充電ステーションから車両１００のＥＣＵのソフトウェアを書き換える場合、車外からアクセス可能な充電用コネクタ（例えば、CHAdeMO、Combined Charging System）に充電ステーションが接続される。しかしながら、ソフトウェアの書き換えに関する構成は図２（ａ）（ｂ）のいずれか又はその組み合わせで実現可能である。
【００１９】
また、図２（ｂ）では、サーバ４００と車両１００がネットワーク３００を介して通信可能に接続される。ネットワーク３００は、主に無線通信部分と有線通信部分とを有している。無線通信部分は例えば携帯電話網、無線ＬＡＮ網、ＷｉＭＡＸ網などであり、有線通信部分は例えばプロバイダが運営する光ファイバやＡＤＳＬなどで構築されたインターネット又は施設内のＬＡＮである。
【００２０】
サーバ４００はメーカの開発者などがアップロードしたソフトウェアを記憶している。サーバ４００は車両と通信した際に車種を判断してアップデートが必要であると判断すると、更新用のソフトウェアを車両１００に送信する。
【００２１】
書き換えツール２００や充電ステーション又はネットワーク経由のいずれでソフトウェアが車両１００に供給されても、車両側の書き換えＥＣＵがソフトウェアを書き換える手順は同様である。
【００２２】
図３（ａ）は車載ネットワークの概略構成図の一例を、図３（ｂ）はゲートウェイＥＣＵ３のハードウェア構成図の一例を示す。この車載ネットワーク５００は、４つのＬＡＮ１〜３を有し階層構造を形成している。ＬＡＮ１の下位層にＬＡＮ２が配置され、また、ＬＡＮ１の下位層にＬＡＮ３が、ＬＡＮ３の下位層にＬＡＮ２が配置されている。すなわち、ＬＡＮ２はＬＡＮ１とＬＡＮ３の下位層のＬＡＮである。車載ネットワーク５００はゲートウェイＥＣＵ１１（以下、ゲートウェイＥＣＵ１という）と３つのゲートウェイＥＣＵ１２（以下、ゲートウェイＥＣＵ２〜４という）を有している。ゲートウェイＥＣＵ１〜４は一方のＬＡＮから他方のＬＡＮにＣＡＮフレーム等を中継するので中継装置と呼ばれることもある。
【００２３】
ＬＡＮ１にはゲートウェイＥＣＵ１〜３、及び、ＤＬＣコネクタ１５を介して書き換えツール２００が接続されている。更新用のソフトウェアはサーバ（ソフト配信センタ）４００又は書き換えツール２００からゲートウェイＥＣＵ１に送信される。ＬＡＮ２にはゲートウェイＥＣＵ２、４、書き換え対象ＥＣＵ１３及びＥＣＵ１４（エンジンＥＣＵ、メータＥＣＵ、カメラＥＣＵ、及び、オートクルーズＥＣＵ）が接続されている。ゲートウェイＥＣＵ１〜４以外のＥＣＵ１４は一例でありどのようなＥＣＵでもよい。ＬＡＮ３にはゲートウェイＥＣＵ３、４及びＥＣＵ１４（ブレーキＥＣＵ及びパワステＥＣＵ）が接続されている。
【００２４】
ゲートウェイＥＣＵ１（書き換えＥＣＵに相当する）は書き換え対象ＥＣＵ１３のソフトウェアの書き換えを行う。本実施例では、ゲートウェイＥＣＵ１に近い側を上位層とする。ゲートウェイＥＣＵ１は、書き換えツール２００と同じＬＡＮに接続されている必要はない。
【００２５】
各ＬＡＮの間はゲートウェイＥＣＵ１〜４により接続されている。このようにＬＡＮを分割するのは主にバス負荷を分散するためである。ゲートウェイＥＣＵ１〜４は一方のＬＡＮに接続されたＥＣＵが送信するＣＡＮフレームを監視し、それが他方のＬＡＮに転送する必要があるＣＡＮフレームの場合、他方のＬＡＮに転送する。これにより、各ＥＣＵは所属していないＬＡＮを流れるＣＡＮフレームを受信することができる。
【００２６】
ゲートウェイＥＣＵ３は図３（ｂ）に示すハードウェア構成を有するが、ゲートウェイＥＣＵ１，２，４及び各ＥＣＵも同様のハードウェア構成（一般的なマイコンと同等の構成）を有している。すなわち、ＣＰＵ、ＲＡＭ、ＲＯＭ等と、ＣＡＮ通信のためのＣＡＮコントローラ及びトランシーバを有している。ゲートウェイＥＣＵ１〜４は接続先のＬＡＮの数だけＣＡＮコントローラ及びトランシーバを有している。
【００２７】
ゲートウェイＥＣＵ１〜４のＣＰＵは、ＲＯＭに記憶されたプログラムをＲＡＭに展開し、データの転送処理を行う。また、ＥＣＵ１４のＣＰＵは、ＲＯＭに記憶されたプログラムをＲＡＭに展開し、センサによる信号の検出、演算、アクチュエータなどの制御を行う。データの送信時、ＥＣＵ１４のＣＰＵはＣＡＮコントローラに送信を指示する。ＣＡＮコントローラは指示された又は予め定められているデータＩＤをＲＡＭに記憶された送信データに付与してトランシーバに送出する。また、データの受信時、ＣＡＮコントローラはＣＡＮバスを流れるフレームのデータＩＤを監視して受信するか否かを判定し、受信した場合はＣＰＵに通知する。
【００２８】
トランシーバは、データの送信時には論理データの"１"又は"０"がドミナントレベル又はレセッシブレベルになるように２本のＣＡＮバスの差動電圧を制御する。データの受信時は２本のＣＡＮバスの間に所定レベル以上の電位差がある場合はローレベルの信号をＣＡＮコントローラに出力し、そうでなければハイレベルの信号を出力する。
【００２９】
なお、機能統合によりゲートウェイＥＣＵ１〜４が通常のＥＣＵ１４の機能を有する場合がある。この場合、ゲートウェイＥＣＵ１〜４はゲートウェイとしての機能だけでなく、アクチュエータを制御するなどのＥＣＵ１４と同等の機能を有する。したがって、本実施例ではＥＣＵ１４とゲートウェイＥＣＵ１〜４を区別しているが、ゲートウェイＥＣＵ１〜４はＥＣＵ１４の一態様に過ぎない。
【００３０】
〔ソフトウェア更新の不都合〕
このような構成の車載ネットワーク５００におけるソフトウェア更新の不都合について説明する。車両装備は車両毎に異なるのが一般的であり、例えばカメラＥＣＵがない車両ではオートクルーズＥＣＵはＬＡＮ３に所属することがある。このオートクルーズＥＣＵのソフトウェアを書き換えたい場合、ＬＡＮ３に所属する場合とＬＡＮ２に所属する場合があるため、車種によってゲートウェイＥＣＵ１からオートクルーズＥＣＵまでの経路が異なることになる。また、ゲートウェイＥＣＵ１は異なる車種の車両に搭載されうるものである。
【００３１】
また、ゲートウェイＥＣＵ２〜４は電源状態によって通信を行うか否かが異なる。電源状態とは、内燃機関を動力とする車両ではＯＦＦ、ＡＣＣ、ＩＧ_ＯＮであり、ハイブリッド車ではＯＦＦ、ＡＣＣ、ＩＧ_ＯＮ、Ｒｅａｄｙ_ＯＮである。また、電気自動車ではＩＧ−ＯＮという状態がない。例えば、走行時に使用されるエンジンＥＣＵ、ブレーキＥＣＵやオートクルーズＥＣＵはＡＣＣでは通信する必要性が少なく、パワステＥＣＵはＡＣＣで通信するかどうかは車両によって異なる。ゲートウェイＥＣＵは上流又は下流のＬＡＮに所属するＥＣＵが通信しなければＣＡＮフレームを転送する必要がなく、通信経路として機能しなくなる（例えばスリープモードになる）。すなわち、ゲートウェイＥＣＵ２〜４は電源状態によって通信を行うか否かが変動しうる。また、電源状態に変化がなくても、最後のＥＣＵ１４が通信を終了すれば、ゲートウェイＥＣＵ２〜４も転送処理を終了する場合がある。
【００３２】
このため、ゲートウェイＥＣＵ１は例えばオートクルーズＥＣＵの書き換え中、現状の電源状態で通信状態が安定しているのか否かを判定できず、ソフトウェアの書き換えを開始してよいか否かを判定できなった。換言すると、ゲートウェイＥＣＵ１は書き換え中に通信状態が常に安定している通信経路を判断できなかった。
【００３３】
〔機能構成例〕
図４は、ゲートウェイＥＣＵ１〜４、書き換え対象ＥＣＵ１３及びＥＣＵ１４の機能ブロック図の一例を示す。ゲートウェイＥＣＵ２〜４の機能は同じでよいので１つだけ示している。また、各ＥＣＵの機能は同じでよいので代表して書き換え対象ＥＣＵ１３の機能を示している。
【００３４】
＜書き換え対象ＥＣＵ、ＥＣＵ＞
書き換え対象ＥＣＵ１３はＡＣＣ又はＩＧ_ＯＮで起動すると予め定められたＣＡＮフレームを送信する。本実施例では、電源状態送信部２１がＣＡＮフレームに常に電源状態情報を含めるか、又は、電源状態送信部２１が明示的に（例えば周期的に）電源状態情報を所属するＬＡＮに送信する。ＣＡＮフレームには電源状態情報を識別するためのデータＩＤが含まれる。
【００３５】
図５（ａ）は電源状態情報の一例を示す図である。電源状態とデータＩＤが含まれている。電源状態は書き換え対象ＥＣＵ１３がＣＡＮフレームを通信する車両の電源状態である。図のように「ＩＧ_ＯＮ，ＡＣＣ」の場合、書き換え対象ＥＣＵ１３はＩＧ_ＯＮ又はＡＣＣでＣＡＮフレームを送信可能である。データＩＤは書き換え対象ＥＣＵ１３が送信するＣＡＮフレームを一意に識別するための識別情報である。他のＥＣＵ１４が送信する電源状態情報は重複しない別々のデータＩＤが付与されている。書き換え対象ＥＣＵ１３又はＥＣＵ１４が異なる種類のＣＡＮフレームを送信する場合があるので、データＩＤがそのままＥＣＵの識別情報とはならない。このため、ゲートウェイＥＣＵ２〜４は記憶部３５に、データＩＤとＥＣＵ識別情報を対応づけるデータＩＤ／ＥＣＵ識別情報テーブルを有している。ゲートウェイＥＣＵ２〜４はデータＩＤからＥＣＵ１４を特定できる。また、書き換え対象ＥＣＵ１３又はＥＣＵ１４は電源状態情報にＥＣＵの識別情報を含めてもよい。
【００３６】
ソフトウェア受信部２２はゲートウェイＥＣＵ２〜４のいずれかから更新用のソフトウェアを受信する。ソフトウェア書き換え部２３はソフトウェア記憶部２４に記憶されているソフトウェアを更新用のソフトウェアで書き換える。
【００３７】
＜ゲートウェイＥＣＵ＞
まず、ゲートウェイＥＣＵ２〜４も同じく電源状態送信部３４を有している。電源状態送信部３４の機能は書き換え対象ＥＣＵ１３、ＥＣＵ１４と同様である。ゲートウェイＥＣＵ２〜４の電源状態受信部３１は、下位層のＬＡＮに送信される電源状態情報を受信し、記憶部３５に記憶する。配下ＥＣＵ情報作成部３２は電源状態情報を使用して配下ＥＣＵ情報を作成する。配下ＥＣＵ情報はゲートウェイＥＣＵ１〜４の配下にある（下位層のＬＡＮに所属する）ＥＣＵのリストである。配下ＥＣＵ情報は、データＩＤから特定したＥＣＵ識別情報を重複しないように集めることで作成できる。
【００３８】
図５（ｂ）〜（ｄ）は配下ＥＣＵ情報の一例を示す図である。配下ＥＣＵ情報を作成したゲートウェイＥＣＵ２〜４の識別情報（図ではゲートウェイＥＣＵ２〜４そのもの）に対応づけて１つ以上のＥＣＵ識別情報が含まれる。また、ゲートウェイＥＣＵ３の配下にはさらにゲートウェイＥＣＵ４が所属しているので、ゲートウェイＥＣＵ３の配下ＥＣＵ情報にはゲートウェイＥＣＵ４の配下ＥＣＵ情報が紐づけられる。
【００３９】
図３の構成例では、図５（ｂ）に示すように、ゲートウェイＥＣＵ２の配下ＥＣＵ情報作成部３２は書き換え対象ＥＣＵ１３、エンジンＥＣＵ、メータＥＣＵ、カメラＥＣＵ、及び、オートクルーズＥＣＵの５つのＥＣＵ識別情報を配下ＥＣＵ情報とする。図５（ｃ）に示すように、ゲートウェイＥＣＵ４の配下ＥＣＵ情報作成部３２についても同様である。また、ゲートウェイＥＣＵ３の配下にはゲートウェイＥＣＵ４が所属しているので、ゲートウェイＥＣＵ３の配下ＥＣＵ情報は、ブレーキＥＣＵ、パワステＥＣＵ及びゲートウェイＥＣＵ４、及び、ゲートウェイＥＣＵ４に紐づけられたゲートウェイＥＣＵ４が送信した配下ＥＣＵ情報である。
【００４０】
ゲートウェイＥＣＵ２〜４のＥＣＵ情報送信部３３は、上位層のＬＡＮに下位層のＬＡＮから受信した電源状態情報と配下ＥＣＵ情報を送信する。これにより上位層のゲートウェイＥＣＵは、下位層の全てのゲートウェイＥＣＵの配下ＥＣＵ情報及び配下のゲートウェイＥＣＵとＥＣＵの電源状態情報を取得できる。
【００４１】
ゲートウェイＥＣＵ２〜４のソフトウェア中継部３６は、ゲートウェイＥＣＵ１が決定した通信経路に従って、ゲートウェイＥＣＵ１から書き換え対象ＥＣＵ１３に更新用のソフトウェアを中継する。
【００４２】
＜ゲートウェイＥＣＵ１（書き換えＥＣＵ）＞
ゲートウェイＥＣＵ１はソフトウェアの書き換えを制御するＥＣＵである。ゲートウェイＥＣＵ１のＥＣＵ情報収集部４１はゲートウェイＥＣＵ２〜４から電源状態情報と配下ＥＣＵ情報を受信する。ＬＡＮ構成再現部４２は配下ＥＣＵ情報から車載ネットワーク５００のＬＡＮ構成を再現する。すなわち、ゲートウェイＥＣＵ２とゲートウェイＥＣＵ３が電源状態情報を送信することでＬＡＮ１にはゲートウェイＥＣＵ２、３が接続されていることを検出する。また、ゲートウェイＥＣＵ２が送信する配下ＥＣＵ情報からゲートウェイＥＣＵ２にはＬＡＮ２が接続されており、ＬＡＮ２に書き換え対象ＥＣＵ１３、エンジンＥＣＵ、メータＥＣＵ、カメラＥＣＵ、及び、オートクルーズＥＣＵが接続されていることを検出する。
【００４３】
また、ゲートウェイＥＣＵ３が送信する配下ＥＣＵ情報からゲートウェイＥＣＵ３にはＬＡＮ３が接続されており、ＬＡＮ３にブレーキＥＣＵ、パワステＥＣＵ、ゲートウェイＥＣＵ４が接続されていることを検出する。また、ゲートウェイＥＣＵ４に紐づけられたゲートウェイＥＣＵ４の配下ＥＣＵ情報からゲートウェイＥＣＵ４にはＬＡＮ２が接続されており、ＬＡＮ２に書き換え対象ＥＣＵ１３、エンジンＥＣＵ、メータＥＣＵ、カメラＥＣＵ、及び、オートクルーズＥＣＵが接続されていることを検出する。
【００４４】
さらに、ＬＡＮ２に所属するＥＣＵが完全に一致するので、ゲートウェイＥＣＵ２の配下のＬＡＮとゲートウェイＥＣＵ４の配下のＬＡＮとが同一のＬＡＮであることを検出する。このようにしてＬＡＮ構成を再現できる。
【００４５】
外部通信部４４は、書き換えツール２００がＬＡＮ１に送信した更新用のソフトウェアを受信する。または、例えばＤＣＭ（Data Communication  Module）と呼ばれる車両専用の通信装置やユーザが携帯している携帯端末の通信機能を利用してサーバ４００から更新用のソフトウェアを受信する。外部通信部４４は少なくともいずれか一方の機能を有する。
【００４６】
経路決定部４３は電源状態情報とＬＡＮ構成から更新用のソフトウェアを送信する通信経路を決定する。
【００４７】
図６（ａ）は経路の決定について説明する図の一例である。現在の電源状態がＡＣＣであるとする。また、ゲートウェイＥＣＵ２が通信可能な電源状態はＡＣＣ、ゲートウェイＥＣＵ３が通信可能な電源状態はＩＧ_ＯＮである。また、書き換え対象ＥＣＵ１３はＡＣＣで通信可能である。この場合、経路決定部４３はゲートウェイＥＣＵ３を経由する通信は困難であると判定し、ゲートウェイＥＣＵ２を経由する経路をソフトウェアを送信する通信経路に決定する。
【００４８】
図６（ｂ）は経路の決定について説明する図の一例である。同様に現在の電源状態がＡＣＣであるが、ゲートウェイＥＣＵ２が通信可能な電源状態はＩＧ_ＯＮであり、ゲートウェイＥＣＵ３が通信可能な電源状態はＡＣＣである。この場合、経路決定部４３はゲートウェイＥＣＵ２を経由する通信は困難であると判定し、ゲートウェイＥＣＵ３、４を経由する経路をソフトウェアを送信する通信経路に決定する。
【００４９】
図６（ｃ）は経路の決定について説明する図の一例である。同様に現在の電源状態がＡＣＣであるが、ゲートウェイＥＣＵ２〜４はいずれも通信可能な電源状態がＡＣＣである。この場合、ゲートウェイＥＣＵ２を経由しても、ゲートウェイＥＣＵ３，４を経由しても書き換え対象ＥＣＵ１３にソフトウェアを送信することができる。このような場合、経路決定部４３はホップ数（経由するゲートウェイＥＣＵの数）が少ない経路を、ソフトウェアを送信する通信経路に決定する。経由するゲートウェイＥＣＵの数が少ないことで、電源状態がより安定することが期待できる。また、実施例２で説明するように消費電力が最も少ない経路を、ソフトウェアを送信する経路に決定してもよい。
【００５０】
図４に戻り、ソフトウェア送信部４５は経路決定部４３が決定した通信経路で書き換え対象ＥＣＵ１３までソフトウェアを送信する。通信プロトコルが送信先のＥＣＵを指定できるものであれば、ソフトウェアと共に経路情報を送信すれば、下位層のゲートウェイＥＣＵが次々と指定されたゲートウェイＥＣＵを指定して、書き換え対象ＥＣＵ１３にソフトウェアを送信できる。
【００５１】
ＣＡＮプロトコルのように送信先のＥＣＵを指定できない場合、ＣＡＮフレームのデータフィールドに通信経路情報を含めておく。例えば、経路決定部４３がゲートウェイＥＣＵ３、ゲートウェイＥＣＵ４、書き換え対象ＥＣＵ１３を通信経路に決定した場合、次のように通信経路を制御する。
(i)ゲートウェイＥＣＵ１は各ゲートウェイＥＣＵ２〜４が受信することが定められているデータＩＤを付与して、更新用のソフトウェアと共にＣＡＮフレームのＤＡＴＡフィールドに「１→３→４→書き換えＥＣＵ」という通信経路情報を含めてＣＡＮフレームを送信する。
(ii)各ゲートウェイＥＣＵ２〜４は全てがＣＡＮフレームを受信して、自身が経路に指定されているか否かを判定する。
(iii)経路に指定されたゲートウェイＥＣＵ３は通信経路情報に従って、同様に、下位層のＬＡＮに更新用のソフトウェアと通信経路情報を送信する。
(iv)経路に指定されていないゲートウェイＥＣＵ２はＣＡＮフレームを受信しても、通信経路情報に自機がないことを確認すると何もしない。
【００５２】
なお、ソフトウェア送信部４５は、通信経路のゲートウェイＥＣＵ２〜４に書き換えが終わるまで通信を維持するように指示する。これにより、通信経路情報に登録されているゲートウェイＥＣＵ２〜４は仮に電源状態が変わっても、ソフトウェア送信部４５から送信完了の通知を受信するまで通信を維持することができる。
【００５３】
〔動作手順〕
図７は、ゲートウェイＥＣＵ１がソフトウェアを更新する手順を示すフローチャート図の一例を示す。なお、各ＥＣＵの電源状態送信部２１は自機の電源状態を所属するＬＡＮに送信している。
【００５４】
ゲートウェイＥＣＵ１〜４は、自機の接続しているＬＡＮに接続しているＥＣＵ１４及び配下のゲートウェイＥＣＵから電源状態情報を受信し記憶部３５に記憶する（Ｓ１０）。
【００５５】
ゲートウェイＥＣＵ２の配下ＥＣＵ情報作成部３２は電源状態情報からＬＡＮ２の配下ＥＣＵ情報を作成し、ＥＣＵ情報送信部３３はゲートウェイＥＣＵ１にＬＡＮ２の配下ＥＣＵ情報を送信する（Ｓ２０−１）。また、ＬＡＮ２に所属するＥＣＵの電源状態情報と自機の電源状態情報をゲートウェイＥＣＵ１に送信する。
【００５６】
ゲートウェイＥＣＵ４の配下ＥＣＵ情報作成部３２は電源状態情報からＬＡＮ２の配下ＥＣＵ情報を作成し、ＥＣＵ情報送信部３３はゲートウェイＥＣＵ３にＬＡＮ２の配下ＥＣＵ情報を送信する（Ｓ２０−２）。また、ＬＡＮ２に所属するＥＣＵの電源状態情報と自機の電源状態情報をゲートウェイＥＣＵ３に送信する。
【００５７】
ゲートウェイＥＣＵ３の配下ＥＣＵ情報作成部３２は電源状態情報からＬＡＮ３の配下ＥＣＵ情報を作成し、ＥＣＵ情報送信部３３はゲートウェイＥＣＵ１にＬＡＮ３の配下ＥＣＵ情報を送信する（Ｓ２０−３）。ＬＡＮ３の配下ＥＣＵ情報にはＬＡＮ２の配下ＥＣＵ情報が含まれる。また、ＬＡＮ３に所属するＥＣＵの電源状態情報と自機の電源状態情報をゲートウェイＥＣＵ３に送信する。
【００５８】
ゲートウェイＥＣＵ１のＬＡＮ構成再現部４２は、各配下ＥＣＵ情報から車載ネットワーク５００のＬＡＮ構成を再現し、各階層のＥＣＵ１４及びゲートウェイＥＣＵ２〜４の通信可能な電源状態を特定する（Ｓ３０）。
【００５９】
ここで、書き換えツール２００又はサーバ４００が更新用のソフトウェアを配信し、外部通信部４４がそれを受信する（Ｓ４０）。ゲートウェイＥＣＵ１が受信する情報には書き換え対象のＥＣＵを指示する情報が含まれる。
【００６０】
経路決定部４３は書き換え対象ＥＣＵ１３、現在の車両の電源状態、及び、ＬＡＮ構成から、通信可能な通信経路を決定する（Ｓ５０）。
【００６１】
ソフトウェア送信部４５は通信経路のゲートウェイＥＣＵに書き換え開始を指示し、また、書き換えが完了するまで通信を維持するよう指示する（Ｓ６０）。
【００６２】
以上説明したように、本実施例の書き換え方法によれば、車載ネットワークのように複数のＬＡＮが階層的に構成され複数のＬＡＮを経由してソフトウェアを書き換える場合、常に電源状態の安定した経路を選択できるため、正常に書き換えを行うことが可能になる。
【００６３】
〔各ＥＣＵが電源状態情報を送信することの代替処理〕
本実施例では各ＥＣＵが電源状態情報をＬＡＮに送信すると説明したが、各ＥＣＵが電源状態情報を送信しなくても、ゲートウェイＥＣＵ２〜４は各ＥＣＵ１４が通信可能な電源状態を検出することができる。
【００６４】
ＣＡＮフレームにはデータ内容を識別するためのデータＩＤが含まれている。ゲートウェイＥＣＵ２〜４は、記憶部３５にデータＩＤ／ＥＣＵ識別情報テーブルを記憶している。また、本代替処理では、ゲートウェイＥＣＵ２〜４は、記憶部３５に、初期状態としてデータＩＤと通信可能な車両の電源状態の対応関係情報を保持しているものとする。
【００６５】
したがって、ＣＡＮフレームのデータＩＤとＣＡＮフレームを受信した時の車両の電源状態で、上記の対応関係情報を更新することができる。また、データＩＤ／ＥＣＵ識別情報テーブルに基づき、対応関係情報のデータＩＤからＥＣＵ識別情報を特定することで、各ＥＣＵ１４が通信可能な電源状態を特定することができる。
【００６６】
このような構成によれば、ゲートウェイＥＣＵ２〜４が電源状態情報をＥＣＵ１４から取得しなくても、ゲートウェイＥＣＵ２〜４は各ＥＣＵ１４の通信可能な電源状態を把握可能である。
【００６７】
例えば、初期状態として、データＩＤ＝１００番のＣＡＮフレームはＩＧ_ＯＮとＯＦＦの両方で送信されるという対応関係情報が保持されている。また、エンジンＥＣＵがデータＩＤ＝１００番のＣＡＮフレームを送信している。データＩＤ＝１００番のＣＡＮフレームを送信するのが、エンジンＥＣＵであることはデータＩＤ／ＥＣＵ識別情報テーブルにより特定される。ゲートウェイＥＣＵ２はＩＧ_ＯＮ及びＯＦＦの両方でデータＩＤ＝１００番のＣＡＮフレームを受信した場合、ゲートウェイＥＣＵ２はこの車両のエンジンＥＣＵはＩＧ_ＯＮ及びＯＦＦの両方で通信可能であることを記憶する。また、別のエンジンで、ゲートウェイＥＣＵ２はＩＧ_ＯＮでのみデータＩＤ＝１００番のＣＡＮフレームを受信した場合、この車両のエンジンＥＣＵはＩＧ_ＯＮでのみ通信可能であることを記憶する。
【００６８】
このように、各ＥＣＵが通信可能な電源状態を送信しなくてもゲートウェイＥＣＵ２〜４は各ＥＣＵの通信可能な電源状態を検出できる。ＥＣＵ１４は通常と同じＣＡＮフレームを送信すればよいので、実質的にゲートウェイＥＣＵ１〜４は各ＥＣＵ１４の通信可能な電源状態を記憶しているのと同様である。
【実施例２】
【００６９】
プラグインハイブリッド車や電気自動車は、充電中にソフトの書き換えが行われる場合がある。充電中はできるだけ消費電力を削減して早期に充電を完了させるため、充電に必要な最小限のＥＣＵのみが最小限の処理を行っている。すなわち、充電に不要なＥＣＵは制御を停止しているか電源状態はＯＦＦである。
【００７０】
しかしながら、充電中にソフト書き換え要求が発生した場合、階層構造の車載ネットワーク５００では書き換え対象ＥＣＵ１３までの通信経路に多くのゲートウェイＥＣＵが存在し、そのゲートウェイＥＣＵが起動する必要がある。この結果、ソフトウェアの書き換え中はバッテリーの充電効率が低下し（消費電力が多くなる）、充電時間が長くなってしまう。
【００７１】
そこで、本実施例では、ゲートウェイＥＣＵ１が最も消費電力が少なくなる通信経路を決定し、該通信経路のゲートウェイＥＣＵ２〜４を起動させ、ソフトウェアの書き換えを行うソフトウェアの書き換え方法について説明する。
【００７２】
図８は、ゲートウェイＥＣＵ１〜４、書き換え対象ＥＣＵ１３及びＥＣＵ１４の機能ブロック図の一例を示す。機能ブロック図は実施例１の図４とほぼ同様であるが、以下の点で異なっている。
・各ＥＣＵの消費電力送信部２５及びゲートウェイＥＣＵ２〜４の消費電力送信部３７は、電源状態情報ではなく消費電力情報を送信する。図９は本実施例の消費電力情報の一例を示す図である。データＩＤと消費電力が含まれている。なお、ゲートウェイＥＣＵ２〜４以外の各ＥＣＵ１４が消費電力を送信することは必ずしも必須ではないが、送信することで後述するように通信経路の詳細な制御が可能になる。
・ゲートウェイＥＣＵ１の経路決定部４３は、書き換え対象ＥＣＵ１３までの通信経路に存在するゲートウェイＥＣＵ２〜４を起動した際の消費電力が最小になるように通信経路を決定する。
・ソフトウェア送信部４５は通信経路のゲートウェイＥＣＵ２〜４が起動していない場合、ソフトウェアの書き換えを指示することで起動させ、ソフトウェアを通信経路のゲートウェイＥＣＵ２〜４に送信する。
【００７３】
なお、本実施例のように充電中のソフトウェアの書き換えでは、ゲートウェイＥＣＵ２〜４とＥＣＵ１４はＯＦＦという前提なのでゲートウェイＥＣＵ２〜４とＥＣＵ１４は通信可能な電源状態をゲートウェイＥＣＵ２〜４送信しなくてよい。
【００７４】
また、電源状態情報と同様に、ゲートウェイＥＣＵ２〜４は予め各ＥＣＵ１４の消費電力情報を記憶していてもよい。
【００７５】
〔消費電力の算出方法〕
図１０（ａ）は、消費電力に基づきゲートウェイＥＣＵ１からオートクルーズＥＣＵまでの通信経路の決定方法について説明する図の一例である。ゲートウェイＥＣＵ１はゲートウェイＥＣＵ２〜４から以下の消費電力を受信している。
ゲートウェイＥＣＵ２：  １００〔ｍＡ〕
ゲートウェイＥＣＵ３：    ５０〔ｍＡ〕
ゲートウェイＥＣＵ４：  ２００〔ｍＡ〕
ゲートウェイＥＣＵ１からオートクルーズＥＣＵまで候補となる通信経路は２つある。
(i) 経路１
ゲートウェイＥＣＵ１→ゲートウェイＥＣＵ３→ゲートウェイＥＣＵ４→オートクルーズＥＣＵ
合計消費電力＝５０＋２００＝２５０〔ｍＡ〕
(ii)経路２
ゲートウェイＥＣＵ１→ゲートウェイＥＣＵ２→オートクルーズＥＣＵ
合計消費電力＝１００〔ｍＡ〕
以上から、経路決定部４３はゲートウェイＥＣＵ２を経由する(ii)経路２を通信経路に決定する。
【００７６】
＜算出例２＞
図１０（ｂ）は、消費電力に基づきゲートウェイＥＣＵ１からオートクルーズＥＣＵまでの通信経路の決定方法について説明する図の一例である。この図は、経由するゲートウェイＥＣＵの数の大小と消費電力の大小が一致しない例を示している。ゲートウェイＥＣＵ２がメータ機能を有する場合、メーターパネルの消費電力が大きいため、例えば以下のような合計消費電力になる。
ゲートウェイＥＣＵ２：  ２００〔ｍＡ〕
ゲートウェイＥＣＵ３：    ５０〔ｍＡ〕
ゲートウェイＥＣＵ４：  １００〔ｍＡ〕
(i)経路１  合計消費電力＝５０＋１００＝１５０〔ｍＡ〕
(ii)経路２  合計消費電力＝２００〔ｍＡ〕
経路決定部４３はゲートウェイＥＣＵ３，４を経由する(i)を通信経路に決定する。このように、通信経路で経由されるゲートウェイＥＣＵの数が多い方が、合計消費電力が少なくなることは決して少なくなく、本実施例の経路の決定方法が有効であることが分かる。
【００７７】
＜算出例３＞
図１０（ｃ）は、消費電力に基づきゲートウェイＥＣＵ１からオートクルーズＥＣＵまでの通信経路の決定方法について説明する図の一例である。ソフトウェアの書き換え時には、ゲートウェイＥＣＵだけでなくＥＣＵ１４を起動させる場合がある。例えば、充電状態をユーザに知らせるため、ナビＥＣＵや室内照明点灯のためのランプＥＣＵを起動する場合がある。この場合、ＣＡＮプロトコルのスリープ／ウェイクアップ機能により、ナビＥＣＵ又はランプＥＣＵと同じＬＡＮに所属するＥＣＵ１４が起動される。
【００７８】
したがって、この場合、ソフトウェアの書き換えに消費される消費電力はゲートウェイＥＣＵと起動されるＥＣＵ１４との合計となる。図９（ｃ）では、ソフトウェアの書き換えのためにゲートウェイＥＣＵ４を起動する際、ＬＡＮ２に所属するブレーキＥＣＵとナビＥＣＵが起動されるものとする。この場合の合計消費電力は以下のようになる。
ゲートウェイＥＣＵ２：  ２００〔ｍＡ〕
ゲートウェイＥＣＵ３：    ５０〔ｍＡ〕
ゲートウェイＥＣＵ４：  １００〔ｍＡ〕
ブレーキＥＣＵ      ：  １００〔ｍＡ〕
ナビＥＣＵ          ：  １００〔ｍＡ〕
(i)経路１  合計消費電力＝５０＋１００＋１００＋１００＝３５０〔ｍＡ〕
(ii)経路２  合計消費電力＝２００＋１００＋１００＋１００＝５００〔ｍＡ〕
経路決定部４３はゲートウェイＥＣＵ３，４を経由する(i)経路１を通信経路に決定する。このように、本実施例の経路の決定方法ではソフトウェアの書き換え時の実際の消費電力を考慮して消費電力が最も少なくなるように通信経路を決定できる。
【００７９】
〔動作手順〕
図１１は、車載ネットワーク５００がソフトウェアを更新する手順を示すフローチャート図の一例を示す。なお、各ＥＣＵの消費電力送信部２５は自機の消費電力情報を所属するＬＡＮに送信している。
ゲートウェイＥＣＵ１〜４は、自機の接続しているＬＡＮに接続しているＥＣＵ１４及び配下のゲートウェイＥＣＵから消費電力情報を受信し記憶部３５に記憶する（Ｓ１１０）。
【００８０】
ゲートウェイＥＣＵ２の配下ＥＣＵ情報作成部３２は消費電力情報からＬＡＮ２の配下ＥＣＵ情報を作成し、ＥＣＵ情報送信部３３はゲートウェイＥＣＵ１にＬＡＮ２の配下ＥＣＵ情報を送信する（Ｓ２０−１）。また、ＬＡＮ２に所属するＥＣＵの消費電力情報と自機の消費電力情報をゲートウェイＥＣＵ１に送信する。
【００８１】
ゲートウェイＥＣＵ４の配下ＥＣＵ情報作成部３２は消費電力情報からＬＡＮ２の配下ＥＣＵ情報を作成し、ＥＣＵ情報送信部３３はゲートウェイＥＣＵ３にＬＡＮ２の配下ＥＣＵ情報を送信する（Ｓ２０−２）。また、ＬＡＮ２に所属するＥＣＵの消費電力情報と自機の消費電力情報をゲートウェイＥＣＵ３に送信する。
【００８２】
ゲートウェイＥＣＵ３の配下ＥＣＵ情報作成部３２は消費電力情報からＬＡＮ３の配下ＥＣＵ情報を作成し、ＥＣＵ情報送信部３３はゲートウェイＥＣＵ１にＬＡＮ３の配下ＥＣＵ情報を送信する（Ｓ２０−３）。ＬＡＮ３の配下ＥＣＵ情報にはＬＡＮ２の配下ＥＣＵ情報が含まれる。また、ＬＡＮ３に所属するＥＣＵの消費電力情報と自機の消費電力情報をゲートウェイＥＣＵ３に送信する。
【００８３】
ゲートウェイＥＣＵ１のＬＡＮ構成再現部４２は、車載ネットワーク５００のＬＡＮ構成を再現し、各階層のＥＣＵの消費電力情報を記憶する（Ｓ１３０）。
【００８４】
ここで、書き換えツール２００又はサーバ４００が更新用のソフトウェアを配信し、外部通信部４４がそれを受信する（Ｓ１４０）。ゲートウェイＥＣＵ１が受信する情報には書き換え対象のＥＣＵを指示する情報が含まれる。
【００８５】
経路決定部４３は書き換え対象ＥＣＵ１３、ゲートウェイＥＣＵ２〜４とＥＣＵ１４の消費電力情報、及び、ＬＡＮ構成から、消費電力が最小になる通信経路を決定する（Ｓ１５０）。
【００８６】
ソフトウェア送信部４５は通信経路のゲートウェイＥＣＵに書き換え開始を指示することで起動させ、また、書き換えが完了するまで通信を維持するよう指示する（Ｓ１６０）。
【００８７】
以上のように、本実施例のゲートウェイＥＣＵ１は、ゲートウェイＥＣＵ２〜４の消費電力及びソフトウェアの書き換え時に起動するＥＣＵ１４の消費電力を考慮して、最も消費電力が少なくなる通信経路を決定できる。よって、ソフトウェアの書き換えを行っても早期に充電を完了させることができる。
【符号の説明】
【００８８】
１１      ゲートウェイＥＣＵ（書き換えＥＣＵ）
１２      ゲートウェイＥＣＵ
１３      書き換え対象ＥＣＵ
１４      ＥＣＵ
１００    車両
２００    書き換えツール
５００    車載ネットワーク
【図１】
2014113952.tif 000003
【図２】
2014113952.tif 000004
【図３】
2014113952.tif 000005
【図４】
2014113952.tif 000006
【図５】
2014113952.tif 000007
【図６】
2014113952.tif 000008
【図７】
2014113952.tif 000009
【図８】
2014113952.tif 000010
【図９】
2014113952.tif 000011
【図１０】
2014113952.tif 000012
【図１１】
2014113952.tif 000013