(58)【調査した分野】(Int.Cl.,DB名)
車両の外部の装置と通信を行う複数の車外通信部と、前記車両に搭載された複数の車載装置との通信を行う車内通信部と、前記車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを、前記車外通信部にて前記外部の装置から受信して、前記車内通信部にて前記車載装置へ送信する更新処理部とを備える車載更新装置であって、
複数の前記車外通信部にて異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定する実施判定部を備え、
前記更新処理部は、前記実施判定部が複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する、車載更新装置。
前記バージョン情報は、協働する複数の車載装置を一群とした車載システムに対して付されるシステムバージョンと、各車載装置に対して個別に付される装置バージョンとを含み、
前記システムバージョン及び前記装置バージョンの対応関係を記憶する記憶部を備え、
前記実施判定部は、複数の更新用プログラムが異なる車載システムに含まれる車載装置の更新用である場合に、当該複数の更新用プログラムを用いた更新処理を実施可能と判定する、請求項1に記載の車載更新装置。
前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、先に更新処理を開始した一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定する、請求項2又は請求項3に記載の車載更新装置。
前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、システムバージョンが最新の一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定する、請求項2又は請求項3に記載の車載更新装置。
前記実施判定部は、前記他の更新用プログラムの装置バージョンが、更新処理を優先したシステムバージョンに対応する装置バージョンと同じである場合には、前記他の更新用プログラムを用いた更新処理を並列して実施可能と判定する、請求項4又は請求項5に記載の車載更新装置。
車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する更新処理方法であって、
複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、
複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する、更新処理方法。
コンピュータに、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する処理を行わせる更新処理プログラムであって、
複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、
複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する
処理を行わせる、更新処理プログラム。
【発明を実施するための形態】
【0013】
[本発明の実施の形態の説明]
最初に本発明の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0014】
(1)本態様に係る車載更新装置は、車両の外部の装置と通信を行う複数の車外通信部と、前記車両に搭載された複数の車載装置との通信を行う車内通信部と、前記車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを、前記車外通信部にて前記外部の装置から受信して、前記車内通信部にて前記車載装置へ送信する更新処理部とを備える車載更新装置であって、複数の前記車外通信部にて異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定する実施判定部を備え、前記更新処理部は、前記実施判定部が複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。
【0015】
本態様にあっては、車両に搭載された複数の車載装置のプログラムを更新する処理を行う車載更新装置が、有線又は無線による複数の通信経路で車両の外部の装置と通信を行うことができる。車載更新装置は、外部の装置から車載装置の更新用プログラムを受信し、車内通信にて更新用プログラムを車載装置へ送信することで、この車載装置が記憶しているプログラムの更新処理を行う。車載更新装置は、外部の装置から更新用プログラムと共に、更新用プログラムのバージョン情報を取得する。異なる外部の装置から異なる更新用プログラムを受信した場合、車載更新装置は、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施の可否を判定する。複数の更新用プログラムを用いた更新処理が実施可能であると判定した場合、車載更新装置は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。
これにより車載更新装置は、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
【0016】
(2)前記バージョン情報は、協働する複数の車載装置を一群とした車載システムに対して付されるシステムバージョンと、各車載装置に対して個別に付される装置バージョンとを含み、前記システムバージョン及び前記装置バージョンの対応関係を記憶する記憶部を備え、前記実施判定部は、複数の更新用プログラムが異なる車載システムに含まれる車載装置の更新用である場合に、当該複数の更新用プログラムを用いた更新処理を実施可能と判定することが好ましい。
【0017】
本態様にあっては、更新用プログラムと共に外部の装置から取得するバージョン情報には、協働する複数の車載装置を一群とした車載システムに対して付されるシステムバージョンと、車載装置に対して個別に付される装置バージョンとが含まれる。車載更新装置は、システムバージョンと装置バージョンとの対応関係を記憶しておく。これにより車載更新装置は、システムバージョン及び装置バージョンの対応関係を適切に把握し、更新用プログラムを用いた更新処理の実施の可否を適切に判定することができる。
例えば複数の外部装置から与えられた複数の更新用プログラムが異なる車載システムに含まれる車載装置の更新用のものである場合、車載更新装置は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。異なる車載システムに含まれる車載装置の間にはバージョンの依存関係がないため、システムバージョン及び装置バージョンに関わらず更新処理を並行して実施することが可能である。
【0018】
(3)前記実施判定部は、システムバージョンが同じ複数の更新用プログラムを用いた更新処理を実施可能と判定することが好ましい。
【0019】
本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムが、共通の車載システムに含まれる車載装置の更新用のものである場合、車載更新装置は、複数の更新用プログラムのシステムバージョンを比較する。複数の更新用プログラムのシステムバージョンが同じである場合、車載更新装置は、この複数の更新用プログラムを用いた更新処理を並行して実施する。車載システムに含まれる複数の車載装置が実行するプログラムはシステムバージョンが一致することが好ましいため、車載更新装置は、システムバージョンが同じ更新用プログラムについては更新処理を並行して実施可能と判定することができる。
【0020】
(4)前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、先に更新処理を開始した一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定することが好ましい。
【0021】
本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、車載更新装置は、処理を先に開始した更新用プログラムの更新処理を優先して行い、後から受信した更新用プログラムの更新処理を実施不可能と判定する。これにより、既に開始されている更新処理が途中で強制的に終了されて不具合などが発生することを防止できる。
【0022】
(5)前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、システムバージョンが最新の一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定することが好ましい。
【0023】
本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、車載更新装置は、システムバージョンが最新の更新用プログラムの更新処理を優先して行い、他の更新用プログラムの更新処理を実施不可能と判定する。これにより車載更新装置は、車載装置のプログラムを最新のシステムバージョンへ更新することができる。
【0024】
(6)前記実施判定部は、前記他の更新用プログラムの装置バージョンが、更新処理を優先したシステムバージョンに対応する装置バージョンと同じである場合には、前記他の更新用プログラムを用いた更新処理を並列して実施可能と判定することが好ましい。
【0025】
本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムのシステムバージョンが異なり、更新処理が実施不可能と判定すべき更新用プログラムであっても、この更新用プログラムの装置バージョンが、更新処理を優先して実施可能と判定したシステムバージョンに対応する装置バージョンと同じである場合には、この更新用プログラムを用いた更新処理を並列して実施可能とする。システムバージョンが異なっていても対応する装置バージョンが同じという例外的な場合については、車載更新装置が更新処理を実施可能と判定することによって、更新処理をより効率的に行うことが可能となる。
【0026】
(7)本態様に係る更新処理方法は、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する更新処理方法であって、複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。
【0027】
本態様にあっては、態様(1)と同様に、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
【0028】
(8)本態様に係る更新処理プログラムは、コンピュータに、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する処理を行わせる更新処理プログラムであって、複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する処理を行わせる。
【0029】
本態様にあっては、態様(1)と同様に、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
【0030】
[本発明の実施形態の詳細]
本発明の実施形態に係る車載更新システムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0031】
<システム概要>
図1は、本実施の形態に係る車載更新システムの構成を示す模式図である。本実施の形態に係る車載更新システム100は、車両1に搭載された複数のECU2a〜2eと、1つの無線通信装置3と、1つのゲートウェイ10とを備えている。各ECU2a〜2eは、通信線1a又は1bのいずれかに接続されており、接続された通信線1a又は1bを介した通信を行うことができる。図示の例においては、通信線1aに2つのECU2a,2bが接続され、通信線1bに3つのECU2c〜2eが接続されており、2つの通信線1a,1bはゲートウェイ10に接続されている。ゲートウェイ10は通信線1a,1b間の通信を中継し、これにより複数のECU2a〜2eは通信線1a,1b及びゲートウェイ10を介して通信を行うことができる。
【0032】
また本実施の形態に係る車載更新システム100では、ゲートウェイ10に通信線1cを介して無線通信装置3が接続されている。ゲートウェイ10は、無線通信装置3を介して車両1の外部に設置されたサーバ装置9との通信を行うことができる。また車両1の適所には外部の機器を有線で接続するためのコネクタ4が設けられており、ゲートウェイ10は通信線1dを介してコネクタ4に接続されている。コネクタ4には、例えば通信ケーブル8aを介してダイアグツール8が着脱可能に接続される。これによりゲートウェイ10は、通信線1d、コネクタ4及び通信ケーブル8aを介してダイアグツール8との通信を行うことができる。
【0033】
ECU2a〜2eは、例えば車両1のエンジンの動作を制御するECU、ドアのロック/アンロックを制御するECU、ライトの点灯/消灯を制御するECU、エアバッグの動作を制御するECU、及び、ABS(Antilock Brake System)の動作を制御するECU等の種々のECUが含まれ得る。各ECU2a〜2eは、車両1に配された通信線1a又は1bに接続され、通信線1a,1bを介して他のECU2a〜2e及びゲートウェイ10との間でデータの送受信を行うことができる。
【0034】
また本実施の形態に係る車両1においては、エンジンの制御、ドアロックの制御又はライトの制御等の機能が、複数のECU2a〜2eの協働により実現されている。図示の例では、通信線1aに接続された2つのECU2a、2bは協働により1つの機能を実現する車載システム2Aを構成しており、通信線1bに接続された3つのECU2c〜2eは協働により1つの機能を実現する車載システム2Bを構成している。例えば車載システム2AのECU2a,2bは、各々の処理を行って処理結果を通信により情報交換し、情報交換により得られた情報を基に各々の処理を行うことで、協働による機能を実現している。なお本例では、通信線1a,1b毎に車載システム2A,2Bを設ける構成としているが、これに限るものではなく、1つの車載システムに含まれる複数のECUが異なる通信線に接続されていてもよい。
【0035】
無線通信装置3は、例えば携帯電話通信網又は無線LAN(Local Area Network)等の無線通信を行うことによって、車両1の外部に設置されたサーバ装置9との間で通信を行うことができる。無線通信装置3は、ゲートウェイ10及びサーバ装置9の間の通信を中継することができ、ゲートウェイ10から与えられたデータをサーバ装置9へ送信すると共に、サーバ装置9から受信したデータをゲートウェイ10へ与える。
【0036】
ゲートウェイ10は、車両1の車内ネットワークを構成する複数の通信線1a〜1dが接続され、通信線間のデータの送受信を中継する処理を行う。
図1に示す例においては、ゲートウェイ10には4つの通信線1a〜1d、即ち2つのECU2a,2bが接続された第1の通信線1a、3つのECU2c〜2eが接続された第2の通信線1b、無線通信装置3が接続された第3の通信線1c、並びに、コネクタに接続された第4の通信線1dが接続されている。ゲートウェイ10は、いずれかの通信線1a〜1dから受信したデータを他の通信線1a〜1dへ送信することによって、データの中継を行う。
【0037】
サーバ装置9は、車両1に搭載されるECU2a〜2eにて実行されるプログラム及びデータを管理及び記憶している。サーバ装置9は、車両1からの問合わせに応じてプログラムなどの更新が必要であるか否かを通知すると共に、更新が必要である場合には更新用のプログラム及びデータ(以下、単に更新用プログラムという)を車両1へ配信する処理を行う。またサーバ装置9は、更新用プログラムのバージョン情報を更新用プログラムと共に配信する。
【0038】
ダイアグツール8は、例えば車両1のディーラ又は整備工場等に備えられる装置であり、車両1の不具合の検査又は設定変更等を作業者が行うための装置である。ダイアグツール8は、例えば操作部及び表示部等を有する可搬型の装置である。作業者がダイアグツール8の通信ケーブル8aを車両1のコネクタ4に接続し、適宜の認証処理などを経た後で、ダイアグツール8及び車両1のゲートウェイ10が通信可能となる。本実施の形態においてダイアグツール8は、車両1に搭載されたECU2a〜2eが実行するプログラムを更新するための更新用プログラムを車両1へ送信することができる。またダイアグツール8は、更新用プログラムのバージョン情報を更新用プログラムと共に送信する。
【0039】
本実施の形態に係る車載更新システム100では、ゲートウェイ10が無線通信装置3を介して定期的にサーバ装置9との通信を行い、ECU2a〜2eが記憶しているプログラム又はデータの更新の有無を確認する。更新がある場合、ゲートウェイ10は、更新用プログラムをサーバ装置9から取得して自身のメモリに記憶する。更新用プログラムの取得が完了した後、ゲートウェイ10は、通信線1a,1bを介して更新対象のECU2a〜2eへ更新用プログラムを送信することによって、ECU2a〜2eの更新処理を行う。ECU2a〜2eは、ゲートウェイ10から送信された更新用プログラムを受信して自身のメモリに蓄積し、更新用プログラムを全て受信し終えた後に自身の実行するプログラムを蓄積した更新用プログラムに変更することによって、プログラムの更新を行う。
【0040】
また本実施の形態に係る車載更新システム100は、上述のサーバ装置9から取得した更新用プログラムを用いた更新処理の他に、ダイアグツール8から取得した更新用プログラムを用いた更新処理を行うことが可能である。例えば車両1のディーラ又は整備工場等の作業者は、ダイアグツール8を接続して車両1の検査を行い、ECU2a〜2eのプログラムを更新する必要があると判断した場合に、ダイアグツール8から更新用プログラムを車両1へ送信してECU2a〜2eの更新処理を行わせることができる。作業者の操作に応じてダイアグツール8は更新用プログラムを車両1へ送信し、この更新用プログラムをゲートウェイ10が受信する。以降の更新処理は、サーバ装置9から更新用プログラムを取得した場合と同様である。
【0041】
本実施の形態に係る車載更新システム100では、ゲートウェイ10がECU2a〜2eのプログラムの更新するための更新用プログラムを、無線通信装置3を利用してサーバ装置9から取得する場合と、コネクタ4に接続されたダイアグツール8から取得する場合とがあり得る。例えば、ユーザが車両1を車検などの目的でディーラへ向かう際にサーバ装置9から受信した更新プログラムを用いた更新処理が開始され、この更新処理が終了する前にディーラにて作業者がダイアグツール8を用いた更新処理を実施する可能性がある。また例えば、ディーラにて作業者がダイアグツール8を用いた更新処理を開始した後に、車両1及びサーバ装置9の自動的な通信が行われて更新処理が行われる可能性がある。
【0042】
本実施の形態に係る車載更新システム100は、サーバ装置9から取得した更新用プログラムを用いた更新処理と、ダイアグツール8から取得した更新用プログラムを用いた更新処理とを、特定の条件が成立する場合に、並列して実施することが可能である。車載更新システム100は、ゲートウェイ10がサーバ装置9又はダイアグツール8から更新用プログラムを取得する際に、更新用プログラムのバージョン情報を取得する。ゲートウェイ10は、サーバ装置9から取得した更新用プログラムのバージョン情報と、ダイアグツール8から取得した更新用プログラムのバージョン情報を比較することで、両更新用プログラムを用いた更新処理を並行して実施可能であるか否かを判定する。またゲートウェイ10は、並行して実施することができないと判定した場合、いずれの更新用プログラムを用いた更新処理を優先して行うかを判定する。
【0043】
<装置構成>
図2は、本実施の形態に係るゲートウェイ10の構成を示すブロック図である。本実施の形態に係るゲートウェイ10は、処理部(プロセッサ)11、記憶部(ストレージ)12及び通信部(トランシーバ)13a〜13d等を備えて構成されている。処理部11は、例えばCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を用いて構成され、記憶部12に記憶されたプログラム12aを読み出して実行することにより、種々の演算処理を行う。本実施の形態において処理部11は、車内ネットワークの通信線1a〜1d間のデータ送受信を中継する処理、及び、ECU2a〜2eの更新処理等に必要な演算処理を行う。
【0044】
記憶部12は、フラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子を用いて構成されている。記憶部12は、処理部11が実行する各種のプログラム、及び、処理部11の処理に必要な各種のデータを記憶する。本実施の形態において記憶部12は、処理部11が実行するプログラム12aと、このプログラム12aの実行に必要なデータとしてバージョン対応情報12bとを記憶している。なおプログラム12aは、例えばゲートウェイ10の製造段階において記憶部12に書き込まれてもよく、また例えば遠隔のサーバ装置などが配信するものをゲートウェイ10が通信にて取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体101に記録されたものをゲートウェイ10が読み出して記憶部12に記憶してもよく、また例えば記録媒体101に記録されたものを書込装置が読み出してゲートウェイ10の記憶部12に書き込んでもよい。プログラム12aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体101に記録された態様で提供されてもよい。
【0045】
本実施の形態において記憶部12には、バージョン対応情報12bが記憶される。バージョン対応情報12bは、車両1に備えられた各車載システム2A,2Bに対して付与されたシステムバージョンと、車載システム2A,2Bに含まれる各ECU2a〜2eに対して付与された装置バージョンとの対応が記憶されている。
図3は、車載システム2Aのバージョン対応情報12bの一例を示す模式図である。
図3の上段に示すように、車載システム2Aには2つのECU2a,2bが含まれており、バージョン対応情報12bには車載システム2Aのシステムバージョン1に対してECU2aの装置バージョン1及びECU2bの装置バージョン1が対応付けられている。またバージョン対応情報12bには、車載システム2Aのシステムバージョン2に対してECU2aの装置バージョン2及びECU2bの装置バージョン1が対応付けられている。なおシステムバージョン及び装置バージョンは、数値が大きいほど新しいプログラムが用いられているものとし、バージョン対応情報12bに記憶された最新のバージョンのプログラムが車両1の各ECU2a〜2eに適用されているものとする。
【0046】
ゲートウェイ10は、サーバ装置9又はダイアグツール8から更新用プログラムを取得した際に、この更新用プログラムに関するバージョン情報を取得する。例えばゲートウェイ10がECU2aの更新用プログラムと共に取得したバージョン情報を
図3の中段に示す。ゲートウェイ10が取得するバージョン情報には、更新用プログラムを取得したECU2aの装置バージョンの他に、このECU2aが含まれる車載システム2Aのシステムバージョンと、この車載システム2Aに含まれる他のECU2bの装置バージョンとの情報が含まれる。
【0047】
サーバ装置9又はダイアグツール8から更新用プログラムと共にバージョン情報を取得したゲートウェイ10は、更新用プログラムを用いた更新処理を行うと共に、取得したバージョン情報を記憶部12のバージョン対応情報12bに追加して記憶する(
図3の下段参照)。なおゲートウェイ10は、ECU2bの更新用プログラムと共に同じ内容のバージョン情報を取得するが、内容が重複する場合には取得したバージョン情報を破棄してよい。また本実施の形態においては、ゲートウェイ10がサーバ装置9又はダイアグツール8から取得するバージョン情報に、システムバージョンと共に複数のECU2a,2bの装置バージョンを含む構成としたが、これに限るものではなく、システムバージョンと1つのECU2aの装置バージョンを含み、他のECU2bの装置バージョンを含まない構成であってもよい。
【0048】
また、本実施の形態においてゲートウェイ10は、4つの通信部13a〜13dを備えている。通信部13a〜13dは、車内ネットワークを構成する通信線1a〜1dのいずれかに接続され、所定の通信プロトコルに従ってデータの送受信を行う。本実施の形態において、通信部13a〜13dはCANの通信規格に基づくデータの送受信を行うものとするが、通信規格はCAN以外のどのようなものであってもよい。通信部13a〜13dは、処理部11から与えられたデータを電気信号に変換して通信線1a〜1dへ出力することによって情報を送信すると共に、通信線1a〜1dの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部11へ与える。なおゲートウェイ10が備える4つの通信部13a〜13dは、それぞれ異なる通信プロトコルに従って通信を行うものであってもよい。
【0049】
また処理部11には、記憶部12に記憶されたプログラム12aが実行されることによって、更新処理部11a、バージョン情報取得部11b、更新実施判定部11c及び中継処理部11d等がソフトウェア的な機能ブロックとして実現される。更新処理部11aは、サーバ装置9又はダイアグツール8から取得した更新用プログラムを更新対象のECU2a〜2eへ送信することによって、ECU2a〜2eが記憶しているプログラムを更新する処理を行う。更新処理部11aは、無線通信装置3を用いたサーバ装置9との通信を行うことにより、定期的に車両1に搭載されたECU2a〜2eのプログラムを更新する必要があるか否かの問合わせを行う。更新の必要がある場合、更新処理部11aは、サーバ装置9から更新用プログラムを取得して記憶部12に記憶する。また更新処理部11aは、コネクタ4に接続されたダイアグツール8からECU2a〜2eのプログラムを更新する旨の命令が与えられた場合、ダイアグツール8から更新用プログラムを取得して記憶部12に記憶する。その後、更新処理部11aは、記憶部12に記憶した更新用プログラムを、更新対象のECU2a〜2eが接続された通信線1a又は1bへ送信し、ECU2a〜2eにプログラムの更新を行わせる。
【0050】
バージョン情報取得部11bは、サーバ装置9又はダイアグツール8から更新用プログラムを取得する際に、この更新用プログラムに関するバージョン情報を取得する処理を行う。バージョン情報取得部11bは、サーバ装置9又はダイアグツール8から取得したバージョン情報を、記憶部12のバージョン対応情報12bに追加して記憶する。
【0051】
更新実施判定部11cは、サーバ装置9又はダイアグツール8から取得した更新用プログラムを用いたECU2a〜2eの更新処理の実施の可否を判定する処理を行う。サーバ装置9又はダイアグツール8のいずれか一方のみから更新用プログラムが与えられてECU2a〜2eを更新する要求が与えられている場合、更新実施判定部11cは、この更新用プログラムを用いた更新処理の実施が可能であると判定する。サーバ装置9及びダイアグツール8の両方から更新処理の要求が与えられている場合、更新実施判定部11cは、記憶部12に記憶したバージョン対応情報12bに基づいて、両更新処理を並行して実施することが可能であるか否かを判定する。また更新実施判定部11cは、並行して実施することが可能ではないと判定した場合、いずれの更新処理を優先して実施するかを判定する。
【0052】
中継処理部11dは、いずれかの通信線1a〜1dにて受信したデータを、他の通信線1a〜1dから送信することによって、通信線1a〜1d間のデータ送受信を中継する処理を行う。中継処理部11dは、受信した全てのデータを中継する必要はなく、受信したデータについて中継の要否の判定、及び、データの中継先の決定等の処理を行う。中継処理部11dは、中継が必要な受信データを、このデータを必要とする装置が接続された通信線1a〜1dへ送信する。
【0053】
図4は、本実施の形態に係るECU2aの構成を示すブロック図である。なお本図においては、車両1に搭載された複数のECU2a〜2eのうち、1つのECU2aの構成を図示しているが、他のECU2b〜2eについても同様の構成である。また
図4に示すブロック図は、複数のECU2a〜2eに共通の機能ブロックを抜き出して示しており、ECU2a〜2e毎に異なる機能ブロックについては図示を省略している。本実施の形態に係るECU2aは、処理部(プロセッサ)21、記憶部(ストレージ)22及び通信部(トランシーバ)23等を備えて構成されている。処理部21は、例えばCPU又はMPU等の演算処理装置を用いて構成され、記憶部22に記憶されたプログラム22aを読み出して実行することにより、種々の演算処理を行う。なお記憶部22に記憶されるプログラム22aは、ECU2a〜2e毎にその内容が異なっている。
【0054】
記憶部22は、フラッシュメモリ又はEEPROM等の不揮発性のメモリ素子を用いて構成されている。記憶部22は、処理部21が実行するプログラム22aと、このプログラム22aの実行に必要なデータとを記憶する。なお以下において"プログラム22a"との記載には、プログラム22aと、このプログラム22aの実行に必要なデータとを含み得る。最初期のプログラム22aは、例えばECU2aの製造段階において記憶部22に書き込まれてもよく、また例えばメモリカード又は光ディスク等の記録媒体に記録されたものをECU2aが読み出して記憶部22に記憶してもよく、また例えば記録媒体に記録されたものを書込装置が読み出してECU2aの記憶部22に書き込んでもよい。ただし本実施の形態においては、ECU2aが車両1に搭載された後、ゲートウェイ10から通信線1aを介して送信された更新用プログラムをECU2aが受信し、受信した更新用プログラムによりECU2aが記憶部22のプログラム22aを更新する。
【0055】
本実施の形態においてECU2aの記憶部22は、プログラム22aを記憶するための2つの領域が設けられている。2つの領域は、いずれもプログラム22aを記憶する十分な記憶容量を有している。処理部21は記憶部22の一方の領域からプログラム22aを読み出して処理を行い、ゲートウェイ10から受信した更新用プログラムが記憶部22の他方の領域に記憶される。ECU2aは、ゲートウェイ10から更新用プログラムの全ての受信を完了した後、処理部21がプログラム22aを読み出す領域を切り替えることによって、プログラム22aの更新を行う。
【0056】
通信部23は、車内ネットワークを構成する通信線1aに接続され、例えばCANの通信プロトコルに従ってデータの送受信を行う。通信部23は、処理部21から与えられたデータを電気信号に変換して通信線1aへ出力することによってデータを送信すると共に、通信線1aの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部21へ与える。
【0057】
また本実施の形態に係るECU2aの処理部21には、更新用情報受信部21a及び更新処理部21bが設けられている。更新用情報受信部21a及び更新処理部21bは、記憶部22に記憶されたプログラム22aの更新を行うための機能ブロックである。更新用情報受信部21a及び更新処理部21bは、更新処理の対象となるプログラム22aとは別のプログラム(図示は省略する)を処理部21が実行することにより実現されるソフトウェア的な機能ブロックである。更新用情報受信部21aは、通信線1a又は1bを介して送信される更新用のプログラムを通信部23にて受信し、受信した更新用のプログラムを記憶部22の未使用の領域に記憶する処理を行う。
【0058】
更新処理部21bは、記憶部22の未使用領域に更新用プログラムの全ての記憶を完了した後、処理部21がプログラム22aを実行する記憶部22の領域を、現在実行しているプログラム22aが記憶されている領域から、更新用プログラムを記憶した領域へ切り替える処理を行う。これにより処理部21は、ゲートウェイ10から更新用プログラムとして取得した新たなプログラム22aを記憶部22から読み出して実行し、プログラム22aの更新が完了する。更新完了後、ECU2aは、以前のプログラム22aが記憶されていた記憶部22の領域に対して、データの消去処理を行ってもよい。
【0059】
<更新処理>
本実施の形態に係る車載更新システム100では、ゲートウェイ10がサーバ装置9及びダイアグツール8からそれぞれECU2a〜2eの更新用プログラムを与えられ、ECU2a〜2eの更新処理を行う要求が与えられる。サーバ装置9又はダイアグツール8のいずれか一方のみから更新処理を行う要求が与えられた場合、ゲートウェイ10は、この要求に係る更新処理を実施することが可能であると判定し、この更新処理を実施する。
【0060】
これに対して、サーバ装置9及びダイアグツール8の両方から更新処理を行う要求が与えられた場合、ゲートウェイ10は、両更新処理の実施の可否を判定する。なお、上記の「サーバ装置9及びダイアグツール8の両方から更新処理を行う要求が与えられた場合」には、サーバ装置9及びダイアグツール8から同時的に要求が与えられた場合、サーバ装置9からの要求が与えられてからこの要求に係る更新処理が完了するまでの間にダイアグツール8から別の要求が与えられた場合、並びに、ダイアグツール8からの要求が与えられてからこの要求に係る更新処理が完了するまでの間にサーバ装置9から別の要求が与えられた場合を含み得る。
【0061】
サーバ装置9から与えられた更新要求の対象となるECU2a〜2eが含まれる車載システム2A,2Bと、ダイアグツール8から与えられた更新要求の対象となるECU2a〜2eが含まれる車載システム2A,2Bとが異なる場合、ゲートウェイ10は、両更新要求に係る更新処理を並列して実施可能と判定する。例えば、サーバ装置9から車載システム2AのECU2aのための更新用プログラムを受信し、ダイアグツール8から車載システム2BのECU2cのための更新用プログラムを受信した場合、ゲートウェイ10は、両更新用プログラムを用いた更新処理を並列して実施可能と判定し、通信線1aを介したECU2aへの更新用プログラムの送信と、通信線1bを介したECU2cへの更新用プログラムの送信とを並列して実施する。
【0062】
サーバ装置9からの更新要求の対象となる車載システム2A,2Bと、ダイアグツール8からの更新要求の対象となる車載システム2A,2Bとが同じであり、更新対象となるECU2a〜2eが異なる場合、ゲートウェイ10は、サーバ装置9及びダイアグツール8から取得した両更新用プログラムのバージョン情報に含まれるシステムバージョン及び装置バージョンと、その時点における車載システム2A,2Bのシステムバージョン及び各ECU2a〜2eの装置バージョンとを比較する。
図5〜
図7は、更新処理の実施の可否判定を説明するための模式図であり、サーバ装置9から車載システム2AのECU2aの更新用プログラムを受信し、ダイアグツール8から車載システム2AのECU2bの更新用プログラムを受信した場合におけるバージョン情報の一例を示してある。
図5〜
図7のいずれの例においても、更新処理の実施前は車載システム2Aがシステムバージョン2であり、ECU2aが装置バージョン2であり、ECU2bが装置バージョン1であるものとする。
【0063】
図5に示す例は、サーバ装置9からシステムバージョン3且つ装置バージョン3のECU2aの更新用プログラムが与えられ、ダイアグツール8からシステムバージョン3且つ装置バージョン2の
ECU2bの更新用プログラムが与えられた場合のバージョン対応情報12bである。両更新用プログラムを用いてECU2a、2bの更新処理を行った場合、更新処理後のシステムバージョンは共に3である。このように、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムについて、複数の更新用プログラムのシステムバージョンが一致する場合、ゲートウェイ10は、これらの更新用プログラムを用いた更新処理を並行して実施可能であると判定する。
【0064】
判定結果に基づいてゲートウェイ10は、ECU2aへの更新用プログラムの送信と、ECU2bへの更新用プログラムの送信とを並行して行う。ただしECU2a、2bは同一の通信線1aに接続されているため、ゲートウェイ10は、例えば両ECU2a,2bへの更新用プログラムの送信を交互に行ってもよく、また例えばいずれか一方のECU2a,2bへの更新用プログラムの送信を終えた後に他方のECU2a,2bへの更新用プログラムの送信を行ってもよい。ゲートウェイ10による複数の更新処理を並行して実施する方法は、必ずしも複数の更新処理を同時に行うものでなくてよく、上記のような実質的に並行して更新処理を行うものであってよい。
【0065】
図6に示す例は、サーバ装置9からシステムバージョン3且つ装置バージョン3のECU2aの更新用プログラムが与えられ、ダイアグツール8からシステムバージョン4且つ装置バージョン3の
ECU2bの更新用プログラムが与えられた場合のバージョン対応情報12bである。この例では、ECU2aの更新用プログラムのシステムバージョンが3であるのに対し、ECU2bの更新用プログラムのシステムバージョンが4であり、両システムバージョンが一致しない。このように複数の更新用プログラムのシステムバージョンが一致しない場合、ゲートウェイ10は、これらの更新用プログラムを用いた更新処理を並行して実施することは不可能であると判定する。
【0066】
並行して実施することが不可能と判定した場合、ゲートウェイ10は、いずれの更新用プログラムを用いた更新処理を優先して実施するかを判定する。本実施の形態に係るゲートウェイ10は、先に更新処理を行う要求が与えられた更新用プログラムを優先して実施する。例えばゲートウェイ10は、先にサーバ装置9からECU2aの更新処理を行う要求が与えられ、その後にダイアグツール8からECU2bの更新処理を行う要求が与えられていた場合、先に更新処理を行う要求が与えられたECU2aの更新処理を優先して行う。ECU2aの更新処理が完了した後、ゲートウェイ10は、例えばECU2bの更新処理を行ってもよく、また例えばECU2bの更新処理は行わず、ダイアグツール8から更新処理を行う要求が再び与えられた場合に更新処理を行ってもよい。
【0067】
あるいは、ゲートウェイ10は、システムバージョンが新しい更新用プログラムを用いた更新処理を優先して実施してもよい。即ち、
図6に示す例においてゲートウェイ10は、ECU2bの更新用プログラムの方がシステムバージョンは新しいため、ECU2bの更新処理を優先して行ってもよい。なおゲートウェイ10は、例えばECU2aの更新処理を開始した後にECU2bの更新処理を行う要求を与えられた場合、ECU2aの更新処理を中断してECU2bの更新処理を行ってもよい。
【0068】
あるいは、ゲートウェイ10は、更新処理を並行した実施することが不可能であると判定した場合に、サーバ装置9又はダイアグツール8のいずれを優先するかが予め定められていてもよい。ゲートウェイ10は、例えばダイアグツール8からの更新要求を優先して実施すると予め定められていてよい。この場合にゲートウェイ10は、
図6に示す例では、ECU2bの更新処理を優先して行うこととなる。ゲートウェイ10は、サーバ装置9からの更新処理を優先して実施すると定められていてもよい。
【0069】
図7に示す例は、サーバ装置9からシステムバージョン3且つ装置バージョン3のECU2aの更新用プログラムが与えられ、ダイアグツール8からシステムバージョン4且つ装置バージョン3の
ECU2bの更新用プログラムが与えられた場合のバージョン対応情報12bである。ただしこの例では、システムバージョン4に対応するECU2aの装置バージョンは3であり、システムバージョン3と4とでECU2aの装置バージョンが同じである。このような場合にゲートウェイ10は、これらの更新用プログラムを用いた更新処理を並行して実施することが可能であると判定する。即ちゲートウェイ10は、ECU2aの更新用プログラムのシステムバージョンとECU2bの更新用プログラムのシステムバージョンとが一致しない場合であっても、両システムバージョンに含まれる装置バージョンが一致している場合には、更新処理を並行して実施することが可能であると判定してよい。換言すれば、ゲートウェイ10は、ECU2aの更新用プログラムのシステムバージョンをECU2bの更新用プログラムのシステムバージョンと比較する場合に、ECU2aの更新用プログラムのシステムバージョンを3又は4として比較を行い、いずれか一方がECU2bの更新用プログラムのシステムバージョンと一致すれば更新処理を並行して実施することが可能であると判定すればよい。
【0070】
<フローチャート>
図8、本実施の形態に係るゲートウェイ10が行う更新処理の手順を示すフローチャートである。本実施の形態に係るゲートウェイ10の処理部11の更新処理部11aは、サーバ装置9又はダイアグツール8のうちのいずれか一方から更新要求を受信したか否かを判定する(ステップS1)。なお更新処理部11aは、定期的にECU2a〜2eの更新の有無を無線通信装置3にてサーバ装置9に問い合わせており、この問い合わせに対して更新ありの応答が得られた場合に、サーバ装置9からの更新要求を受信したと判断する。また更新処理部11aは、車両1のコネクタ4にダイアグツール8が接続され、ダイアグツール8からECU2a〜2eの更新処理を行う命令が与えられた場合に、ダイアグツール8からの更新要求を受信したと判断する。サーバ装置9又はダイアグツール8からの更新要求を共に受信していない場合(S1:NO)、更新処理部11aは、サーバ装置9又はダイアグツール8のいずれか一方から更新要求を受信するまで待機する。
【0071】
サーバ装置9又はダイアグツール8からの更新要求を受信した場合(S1:YES)、更新処理部11aは、更新要求の送信元のサーバ装置9又はダイアグツール8から送信される更新用プログラムを受信することにより、更新処理に用いる更新用プログラムを取得する(ステップS2)。またこのときに処理部11のバージョン情報取得部11bは、更新用プログラムを送信したサーバ装置9又はダイアグツール8から、この更新用プログラムに関するバージョン情報を取得し(ステップS3)、記憶部12のバージョン対応情報12bに追加して記憶する。
【0072】
更新処理部11aは、ステップS2にて取得した更新用プログラムを通信部13a,13bにて更新対象のECU2a〜2eへ送信する(ステップS4)。ここで更新処理部11aは、ステップS1にて更新要求を受信したサーバ装置9又はダイアグツール8の一方とは異なる他方から更新要求を受け付けたか否かを判定する(ステップS5)。他方の更新要求を受け付けていない場合(S5:NO)、更新処理部11aは、ステップS7へ処理を進める。他方の更新要求を受け付けた場合(S5:YES)、更新処理部11aは、複数の更新処理を並列して実施する並列更新処理を開始し(ステップS6)、ステップS7へ処理を進める。なお処理部11は、ステップS6の並列更新処理を、本フローチャートの処理と並列して実施する。
【0073】
その後、更新処理部11aは、更新対処のECU2a〜2eへの更新用プログラムの送信を完了したか否かを判定する(ステップS7)。更新用プログラムの送信が完了していない場合(S7:NO)、更新処理部11aは、ステップS4へ処理を戻し、更新用プログラムの送信を継続して行う。更新用プログラムの送信を完了した場合(S7:YES)、更新処理部11aは、ステップS1にて受信した更新要求に係る更新処理を終了する。
【0074】
図9は、本実施の形態に係るゲートウェイ10が行う更新処理の手順を示すフローチャートであり、
図8に示したフローチャートのステップS6にて開始される並列更新処理の詳細である。ステップS6にて並列更新処理を開始した更新処理部11aは、ステップS5にて受信した更新要求の送信元のサーバ装置9又はダイアグツール8から更新用プログラムを取得する(ステップS11)。またこのときにバージョン情報取得部11bは、更新用プログラムを送信したサーバ装置9又はダイアグツール8から、この更新用プログラムに関するバージョン情報を取得し(ステップS12)、記憶部12のバージョン対応情報12bに追加して記憶する。
【0075】
次いで処理部11の更新実施判定部11cは、既に実施している更新処理(
図8に示す更新処理)が対象とする車載システム2A,2Bと、ステップS11にて取得した更新用プログラムを用いた更新処理が対象とする車載システム2A,2Bとを比較し、両車載システム2A,2Bが一致するか否かを判定する(ステップS13)。両車載システム2A,2Bが一致しない場合(S13:NO)、更新実施判定部11cは、ステップS11にて取得した更新用プログラムを用いた更新処理を実施可能と判定する(ステップS17)。
【0076】
両車載システム2A,2Bが一致する場合(S13:YES)、更新実施判定部11cは、記憶部12に記憶されたバージョン対応情報12bに基づいて、既に実施している更新処理に用いられている更新用プログラムのシステムバージョンと、ステップS11にて取得した更新用プログラムのシステムバージョンとを比較し、両システムバージョンが一致するか否かを判定する(ステップS14)。両システムバージョンが一致する場合(S14:YES)、更新実施判定部11cは、ステップS11にて取得した更新用プログラムを用いた更新処理を実施可能と判定する(ステップS17)。
【0077】
両システムバージョンが一致しない場合(S14:NO)、更新実施判定部11cは、記憶部12に記憶されたバージョン対応情報12bに基づいて、既に実施している更新処理に用いられている更新用プログラムのシステムバージョンに対応するステップS11にて取得した更新用プログラムの装置バージョンと、ステップS11にて取得した更新用プログラムの装置バージョンとを比較し、両装置バージョンが一致するか否かを判定する(ステップS15)。両装置バージョンが一致する場合(S15:YES)、更新実施判定部11cは、ステップS11にて取得した更新用プログラムを用いた更新処理を実施可能と判定する(ステップS17)。
【0078】
両システムバージョンが一致しない場合(S15:NO)、更新実施判定部11cは、ステップS11にて取得した更新用プログラムを用いた更新処理を実施不可能と判定する(ステップS16)。本フローチャートでは、更新処理を並列して実行することが不可能と判定した場合、先に処理を開始していた更新処理を優先するものとし、更新処理部11aは、並列して更新処理を行うことなく処理を終了する。ただし更新処理部11aは、更新処理を並列して実行することが不可能と判定した場合にシステムバージョンが新しい更新用プログラムを用いる更新処理を優先して行う構成としてもよい。この場合に更新処理部11aは、ステップS16の後にシステムバージョンの比較を行って新しい更新用プログラムがいずれであるかを判定し、システムバージョンが新しい更新用プログラムを用いた更新処理を行ってもよい。
【0079】
ステップS17にて並列して更新処理を実施することが可能と判定した後、更新処理部11aは、ステップS11にて取得した更新用プログラムを通信部13a,13bにて更新対象のECU2a〜2eへ送信する(ステップS18)。更新処理部11aは、更新対処のECU2a〜2eへの更新用プログラムの送信を完了したか否かを判定する(ステップS19)。更新用プログラムの送信が完了していない場合(S19:NO)、更新処理部11aは、ステップS18へ処理を戻し、更新用プログラムの送信を継続して行う。更新用プログラムの送信を完了した場合(S19:YES)、更新処理部11aは、ステップS11にて取得した更新用プログラムを用いた更新処理を終了する。
【0080】
図10は、本実施の形態に係るゲートウェイ10が行う更新処理の手順を示すフローチャートであり、
図8及び
図9の処理の後で行われる処理である。本実施の形態に係るゲートウェイ10の更新処理部11aは、サーバ装置9又はダイアグツール8から与えられた更新要求に係る全ての更新用プログラムのECU2a〜2eへの送信を完了したか否かを判定する(ステップS31)。全ての更新用プログラムの送信を完了していない場合(S31:NO)、更新処理部11aは、全ての更新用プログラムの送信を完了するまで、更新用プログラムの送信を継続して行う。
【0081】
全ての更新用プログラムの送信を完了した場合(S31:YES)、更新処理部11aは、記憶部12に記憶したバージョン対応情報12bと、現状のECU2a〜2eのバージョンとに基づいて、更新処理対象の車載システム2A,2Bのシステムバージョンと、この車載システム2A,2Bに含まれる各ECU2a〜2eの装置バージョンとが適切な対応関係となったか否かを判定する(ステップS32)。システムバージョン及び装置バージョンの対応関係が適切である場合(S32:YES)、更新処理部11aは、更新処理を行った車載システム2A,2Bに含まれるECU2a〜2eに対して、更新プログラムを適用して更新処理を各個に行う更新命令を送信し(ステップS33)、処理を終了する。システムバージョン及び装置バージョンの対応関係が適切でない場合(S32:NO)、更新処理部11aは、更なる更新処理が行われることを待機すべく、更新命令を送信せずに処理を終了する。
【0082】
図11は、本実施の形態に係るECU2a〜2eが行う更新処理の手順を示すフローチャートである。本実施の形態に係るECU2a〜2eの処理部21の更新用情報受信部21aは、通信部23にてゲートウェイ10から送信される更新用プログラムを受信し(ステップS41)、記憶部22に更新用プログラムを記憶する。更新用情報受信部21aは、更新用プログラムの全てについて受信を完了したか否かを判定する(ステップS42)。更新用プログラムの受信を完了していない場合(S42:NO)、更新用情報受信部21aは、ステップS41へ処理を戻し、更新用プログラムの受信を継続して行う。
【0083】
更新用プログラムの受信を完了した場合(S42:YES)、処理部21の更新処理部21bは、ゲートウェイ10から送信される更新命令を受信したか否かを判定する(ステップS43)。更新命令を受信していない場合(S43:NO)、更新処理部21bは、更新命令を受信するまで待機する。更新命令を受信した場合(S43:YES)、更新処理部21bは、処理部21が実行するプログラム22aを、現在実行中のプログラム22aから、ゲートウェイ10から受信した更新用プログラムへ切り替える処理を行い(ステップS44)、更新処理を終了する。
【0084】
<まとめ>
以上の構成の本実施の形態に係る車載更新システム100は、車両1に搭載された複数のECU2a〜2eのプログラム22aを更新する処理をゲートウェイ10が行う。ゲートウェイ10は、無線通信装置3を利用した無線通信及びコネクタ4を介した有線通信の複数の通信経路で、サーバ装置9及びダイアグツール8等の車両1の外部の装置と通信を行うことができる。ゲートウェイ10は、サーバ装置9又はダイアグツール8からECU2a〜2eの更新用プログラムを受信し、車内通信にて更新用プログラムをECU2a〜2eへ送信することで、ECU2a〜2eが記憶部22に記憶しているプログラム22aの更新処理を行う。
【0085】
ゲートウェイ10は、サーバ装置9又はダイアグツール8から更新用プログラムと共にバージョン情報を取得する。サーバ装置9及びダイアグツール8から異なる更新用プログラムを受信した場合、ゲートウェイ10は、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施の可否を判定する。複数の更新用プログラムを用いた更新処理が実施可能であると判定した場合、ゲートウェイ10は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。
【0086】
これによりゲートウェイ10は、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
【0087】
また本実施の形態に係る車載更新システム100では、更新用プログラムと共にサーバ装置9又はダイアグツール8からゲートウェイ10が取得するバージョン情報には、協働する複数のECU2a〜2eを一群とした車載システム2A,2Bに対して付されるシステムバージョンと、ECU2a〜2eに対して個別に付される装置バージョンとが含まれる。ゲートウェイ10は、システムバージョン及び装置バージョンの対応関係を記憶部12にバージョン対応情報12bとして記憶しておく。これによりゲートウェイ10は、システムバージョン及び装置バージョンの対応関係を適切に把握し、更新用プログラムを用いた更新処理の実施の可否を適切に判定することができる。
【0088】
また本実施の形態に係るゲートウェイ10は、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムが異なる車載システム2A,2Bに含まれるECU2a〜2eの更新用のものである場合、これら複数の更新用プログラムを用いた更新処理を並行して実施する。異なる車載システム2A,2Bに含まれるECU2a〜2eの間にはバージョンの依存関係がないため、システムバージョン及び装置バージョンに関わらず、更新処理を並行して実施することが可能である。
【0089】
また本実施の形態に係るゲートウェイ10は、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムが共通の車載システム2A,2Bに含まれるECU2a〜2eの更新用のものである場合、複数の更新用プログラムのシステムバージョンを比較する。複数の更新用プログラムのシステムバージョンが同じである場合、ゲートウェイ10は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。共通の車載システム2A,2Bに含まれる複数のECU2a〜2eが実行するプログラム22aはシステムバージョンが一致することが好ましいため、ゲートウェイ10は、システムバージョンが同じ更新用プログラムについては更新処理を並行して実施可能と判定することができる。
【0090】
また本実施の形態に係るゲートウェイ10は、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、処理を先に開始した更新用プログラムの更新処理を優先して行い、後から受信した更新用プログラムの更新処理を実施不可能と判定する。これによりゲートウェイ10は、既に開始されている更新処理が途中で強制的に終了されて不具合などが発生することを防止できる。
【0091】
又は、本実施の形態に係るゲートウェイ10は、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、システムバージョンが最新の更新用プログラムの更新処理を優先して行い、他の更新用プログラムの更新処理を実施不可能と判定してもよい。これによりゲートウェイ10は、ECU2a〜2eのプログラム22aを最新のシステムバージョンのものに更新することができる。
【0092】
また本実施の形態に係るゲートウェイ10は、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムのシステムバージョンが異なり、更新処理を並列して実施することが不可能と判定すべき更新用プログラムであっても、この更新用プログラムの装置バージョンが、更新処理を優先して実施すると判定した更新用プログラムのシステムバージョンに対応する装置バージョンと同じである場合には、この更新用プログラムを用いた更新処理を並行して実施可能とする。システムバージョンが異なっていても対応する装置バージョンが同じという例外的な場合については、ゲートウェイ10が更新処理を並行して実施可能と判定することによって、更新処理をより効率的に行うことが可能となる。
【0093】
なお本実施の形態においては、プログラム又はデータの更新を行う対象の装置をECU2a〜2eとしたが、これに限るものではなく、ECU2a〜2e以外の種々の車載装置についてプログラム又はデータの更新を行う構成であってよい。また車載更新システム100は、ECU2a〜2eの更新処理を行う装置をゲートウェイ10としたが、これに限るものではなく、例えばいずれかのECU2a〜2eが他のECU2a〜2eの更新データを取得して送信する構成であってもよく、ゲートウェイ10及びECU2a〜2e以外の種々の装置が更新処理を行う構成であってよい。また更新用プログラムを車両1へ送信する装置をサーバ装置9及びダイアグツール8としたが、これに限るものではなく、これ以外の装置が更新用プログラムを有線又は無線の通信により車両1へ送信する構成としてよい。
【0094】
またゲートウェイ10は無線通信装置3を利用してサーバ装置9との通信を行う構成としたが、これに限るものではなく、ゲートウェイ10が無線通信の機能を有する構成としてもよい。またゲートウェイ10はコネクタ4を介してダイアグツール8との有線通信を行う構成としたが、これに限るものではなく、例えば無線LAN(Local Area Network)又はBluetooth(登録商標)等の無線通信を行う構成としてもよい。
【0095】
なお本実施の形態における更新処理には、ECU2a〜2eが実行するプログラムを更新するのみでなく、プログラムを実行して行われる処理に用いられるデータを更新する処理を含み得ると共に、プログラムのコード(命令)を更新せずにデータのみを更新する処理をも含み得る。「更新用プログラム」は、更新されるプログラムのコードのみを含むもの、プログラムのコード及びデータを共に含むもの、プログラムのコードを含まずにデータのみを含むものいずれであってもよい。
【0096】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。