(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-10
(45)【発行日】2023-07-19
(54)【発明の名称】車載更新装置、プログラム及び、プログラムの更新方法
(51)【国際特許分類】
G06F 8/65 20180101AFI20230711BHJP
H04L 12/28 20060101ALI20230711BHJP
H04L 12/46 20060101ALI20230711BHJP
H04L 67/10 20220101ALI20230711BHJP
B60R 16/02 20060101ALI20230711BHJP
【FI】
G06F8/65
H04L12/28 200Z
H04L12/28 100A
H04L12/46 100C
H04L67/10
B60R16/02 660U
(21)【出願番号】P 2019214586
(22)【出願日】2019-11-27
【審査請求日】2022-02-28
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】足立 直樹
【審査官】坂庭 剛史
(56)【参考文献】
【文献】国際公開第2019/202965(WO,A1)
【文献】国際公開第2019/221058(WO,A1)
【文献】国際公開第2017/046980(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/65
H04L 12/28
H04L 12/46
H04L 67/10
B60R 16/02
(57)【特許請求の範囲】
【請求項1】
車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載ECUのプログラムを更新するための処理を行う車載更新装置であって、
前記更新プログラムの送信を制御する制御部と、
前記車載ECUが接続される複数の通信部とを備え、
前記制御部は、
前記更新プログラムを取得する際、更新対象の車載ECUが接続される通信部に関する情報を前記外部サーバから取得し、
取得した前記更新対象の車載ECUが接続される通信部に関する情報に基づき、前記更新プログラムを、前記更新対象の車載ECUが接続される通信部から出力
し、
前記制御部は、
前記複数の通信部において、前記外部サーバから取得した前記更新対象の車載ECUが接続される通信部に関する情報に対応する通信部を特定できなかった場合、前記外部サーバに、前記更新対象の車載ECUが接続される通信部を特定できなかった旨を含む情報を出力する
車載更新装置。
【請求項2】
車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載ECUのプログラムを更新するための処理を行う車載更新装置であって、
前記更新プログラムの送信を制御する制御部と、
前記車載ECUが接続される複数の通信部とを備え、
前記制御部は、
前記更新プログラムを取得する際、更新対象の車載ECUが接続される通信部に関する情報を前記外部サーバから取得し、
取得した前記更新対象の車載ECUが接続される通信部に関する情報に基づき、前記更新プログラムを、前記更新対象の車載ECUが接続される通信部から出力し、
前記制御部は、
前記更新対象の車載ECUから、前記更新プログラムの出力に対する応答を受信できなかった場合、前記外部サーバに、前記更新対象の車載ECUから応答を受信できなかった旨を含む情報を出力する
車載更新装置。
【請求項3】
前記通信部は、CANプロトコルに対応したCANトランシーバを含み、
前記更新対象の車載ECUが接続される通信部に関する情報は、前記CANトランシーバを特定する情報を含む
請求項1
又は請求項2に記載の車載更新装置。
【請求項4】
前記通信部は、所定の記憶領域に記憶されている前記通信部の識別情報を参照し、前記外部サーバから取得した前記更新対象の車載ECUが接続される通信部に関する情報に対応する通信部を特定する
請求項1から請求項
3のいずれか1項に記載の車載更新装置。
【請求項5】
車載ECUが接続される複数の通信部を備えたコンピュータに、
車外の外部サーバから送信される更新プログラム及び、更新対象の車載ECUが接続される通信部に関する情報を取得し、
取得した前記更新対象の車載ECUが接続される通信部に関する情報に基づき、前記更新プログラムを、前記更新対象の車載ECUが接続される通信部から出力
し、
前記複数の通信部において、前記外部サーバから取得した前記更新対象の車載ECUが接続される通信部に関する情報に対応する通信部を特定できなかった場合、前記外部サーバに、前記更新対象の車載ECUが接続される通信部を特定できなかった旨を含む情報を出力する
処理を実行させるプログラム。
【請求項6】
車載ECUが接続される複数の通信部を備えたコンピュータに、
車外の外部サーバから送信される更新プログラム及び、更新対象の車載ECUが接続される通信部に関する情報を取得し、
取得した前記更新対象の車載ECUが接続される通信部に関する情報に基づき、前記更新プログラムを、前記更新対象の車載ECUが接続される通信部から出力
し、
前記複数の通信部において、前記外部サーバから取得した前記更新対象の車載ECUが接続される通信部に関する情報に対応する通信部を特定できなかった場合、前記外部サーバに、前記更新対象の車載ECUが接続される通信部を特定できなかった旨を含む情報を出力する
処理を実行させるプログラムの更新方法。
【請求項7】
車載ECUが接続される複数の通信部を備えたコンピュータに、
車外の外部サーバから送信される更新プログラム及び、更新対象の車載ECUが接続される通信部に関する情報を取得し、
取得した前記更新対象の車載ECUが接続される通信部に関する情報に基づき、前記更新プログラムを、前記更新対象の車載ECUが接続される通信部から出力し、
前記更新対象の車載ECUから、前記更新プログラムの出力に対する応答を受信できなかった場合、前記外部サーバに、前記更新対象の車載ECUから応答を受信できなかった旨を含む情報を出力する
処理を実行させるプログラム。
【請求項8】
車載ECUが接続される複数の通信部を備えたコンピュータに、
車外の外部サーバから送信される更新プログラム及び、更新対象の車載ECUが接続される通信部に関する情報を取得し、
取得した前記更新対象の車載ECUが接続される通信部に関する情報に基づき、前記更新プログラムを、前記更新対象の車載ECUが接続される通信部から出力し、
前記更新対象の車載ECUから、前記更新プログラムの出力に対する応答を受信できなかった場合、前記外部サーバに、前記更新対象の車載ECUから応答を受信できなかった旨を含む情報を出力する
処理を実行させるプログラムの更新方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車載更新装置、プログラム及び、プログラムの更新方法に関する。
【背景技術】
【0002】
車両には、エンジン制御等の駆動制御系、エアコン制御等のボディ系等の車載機器を制御するためのECU(Electronic Control Unit)が搭載されている。ECUは、MPU等の演算処理部、RAM等の書き換え可能な不揮発性の記憶部、及び他のECUと通信するための通信部を含み、記憶部に記憶した制御プログラムを読み込んで実行することにより、車載機器の制御を行う。更に車両には、無線通信の機能を備えた通信機が実装されており、通信機を介して、車外のネットワークに接続されているプログラム提供装置と通信し、当該プログラム提供装置からECUの制御プログラムをダウンロード(受信)し、当該ECUの制御プログラムを更新することができる(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の通信機(中継機)は、ダウンロードした制御プログラムを更新対象のECUに送信するにあたり、他のECUが接続されているバス等の通信線のトラフィック(バス負荷)が増加することを抑制する点に関する考慮がされていないため、当該更新に関する処理を効率的にできないと問題点がある。
【0005】
本発明の目的は、車載ECUの制御プログラムを更新する処理を行うにあたり、他の車載ECUが接続されている通信線のトラフィックが増加することを抑制することができる車載更新装置等を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様に係る車載更新装置は、車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載ECUのプログラムを更新するための処理を行う車載更新装置であって、
前記更新プログラムの送信を制御する制御部と、
前記車載ECUが接続される複数の通信部とを備え、
前記制御部は、
前記更新プログラムを取得する際、更新対象の車載ECUが接続される通信部に関する情報を前記外部サーバから取得し、
取得した前記更新対象の車載ECUが接続される通信部に関する情報に基づき、前記更新プログラムを、前記更新対象の車載ECUが接続される通信部から出力する。
【発明の効果】
【0007】
本開示の一態様によれば、車載ECUの制御プログラムを更新する処理を行うにあたり、他の車載ECUが接続されている通信線のトラフィックが増加することを抑制する車載更新装置等を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態1に係る車載更新装置を含む車載更新システムの構成を例示する模式図である。
【
図2】
図2は、車載更新装置の物理構成を例示するブロック図である。
【
図3】
図3は、通信部の識別情報(通信部識別テーブル)の一態様を例示する説明図である。
【
図4】
図4は、車載更新装置の制御部の処理を例示するフローチャートである。
【
図5】
図5は、実施形態2に係る車載更新装置の制御部の処理を例示するフローチャートである。
【
図6】
図6は、実施形態3に係る車載更新装置の制御部の処理を例示するフローチャートである。
【発明を実施するための形態】
【0009】
[本開示の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0010】
(1)本開示の一態様に係る車載更新装置は、車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載ECUのプログラムを更新するための処理を行う車載更新装置であって、
前記更新プログラムの送信を制御する制御部と、
前記車載ECUが接続される複数の通信部とを備え、
前記制御部は、
前記更新プログラムを取得する際、更新対象の車載ECUが接続される通信部に関する情報を前記外部サーバから取得し、
取得した前記更新対象の車載ECUが接続される通信部に関する情報に基づき、前記更新プログラムを、前記更新対象の車載ECUが接続される通信部から出力する。
【0011】
本態様にあたっては、車載更新装置は、外部サーバから更新プログラムを取得する際、当該更新プログラムの出力先(送信先)となる更新対象の車載ECUが接続される通信部に関する情報も、当該外部サーバから取得する。車載更新装置は、当該更新プログラムを、更新対象の車載ECUが接続される通信部から出力するため、当該更新対象の車載ECUが接続される通信部以外の通信部から当該更新プログラムが出力されることを不要とすることができる。従って、当該通信部に接続される通信線のトラフィック(バス負荷)が増加することを抑制し、更新プログラムを効率的に更新対象の車載ECUに出力(送信)することができる。
【0012】
(2)本開示の一態様に係る車載更新装置は、前記制御部は、
前記複数の通信部において、前記外部サーバから取得した前記更新対象の車載ECUが接続される通信部に関する情報に対応する通信部を特定できなかった場合、前記外部サーバに、前記更新対象の車載ECUが接続される通信部を特定できなかった旨を含む情報を出力する。
【0013】
本態様にあたっては、車載更新装置は、外部サーバから取得した更新対象の車載ECUが接続される通信部に関する情報に対応する通信部を特定できなかった場合、当該通信部を特定できなかった旨を含む情報を外部サーバに出力する。従って、外部サーバから取得した更新対象の車載ECUが接続される通信部に応じた更新プログラムの送信が失敗したことを示す情報を外部サーバに出力するにあたり、失敗の要因についても、当該情報に含めて出力することができる。
【0014】
(3)本開示の一態様に係る車載更新装置は、前記制御部は、
前記更新対象の車載ECUから、前記更新プログラムの出力に対する応答を受信できなかった場合、前記外部サーバに、前記更新対象の車載ECUから応答を受信できなかった旨を含む情報を出力する。
【0015】
本態様にあたっては、車載更新装置は、更新対象の車載ECUから、更新プログラムの出力に対する応答の受信を試み、当該応答を受信できなかった場合、更新対象の車載ECUから応答を受信できなかった旨を含む情報を外部サーバに出力する。従って、外部サーバから取得した更新対象の車載ECUが接続される通信部に応じた更新プログラムの送信が失敗したことを示す情報を外部サーバに出力するにあたり、失敗の要因についても、当該情報に含めて出力することができる。
【0016】
(4)本開示の一態様に係る車載更新装置は、前記通信部は、CANプロトコルに対応したCANトランシーバを含み、
前記更新対象の車載ECUが接続される通信部に関する情報は、前記CANトランシーバを特定する情報を含む。
【0017】
本態様にあたっては、車載更新装置の通信部は、CANトランシーバを含むものであり、すなわち車載更新装置は、CANゲートウェイとして機能する。外部サーバから取得する更新対象の車載ECUが接続される通信部に関する情報には、当該CANトランシーバを特定する情報を含んでいるため、更新対象の車載ECUが接続されるCANトランシーバを効率的に特定し、特定したCANトランシーバから更新プログラムを更新対象の車載ECUに出力することができる。
【0018】
(5)本開示の一態様に係る車載更新装置は、前記通信部は、所定の記憶領域に記憶されている前記通信部の識別情報を参照し、前記外部サーバから取得した前記更新対象の車載ECUが接続される通信部に関する情報に対応する通信部を特定する。
【0019】
本態様にあたっては、車載更新装置は、所定の記憶領域に記憶されている通信部の識別情報を参照し、外部サーバから取得した更新対象の車載ECUが接続される通信部に関する情報に対応する通信部を特定するため、当該対応する通信部の有無の判定も含め、効率的に当該通信部を特定することができる。
【0020】
(6)本開示の一態様に係る更新処理プログラムは、コンピュータに、
車外の外部サーバから送信される更新プログラム及び、更新対象の車載ECUが接続される通信部に関する情報を取得し、
取得した前記更新対象の車載ECUが接続される通信部に関する情報に基づき、前記更新プログラムを、前記更新対象の車載ECUが接続される通信部から出力する
処理を実行させる。
【0021】
本態様にあたっては、コンピュータを車載更新装置として機能させることができる。
【0022】
(7)本開示の一態様に係るプログラムの更新方法は、コンピュータに、
車外の外部サーバから送信される更新プログラム及び、更新対象の車載ECUが接続される通信部に関する情報を取得し、
取得した前記更新対象の車載ECUが接続される通信部に関する情報に基づき、前記更新プログラムを、前記更新対象の車載ECUが接続される通信部から出力する
処理を実行させる。
【0023】
本態様にあたっては、車載ECUの制御プログラムを更新する処理を行うにあたり、他の車載ECUが接続されている通信線のトラフィックが増加することを抑制するプログラムの更新方法を提供することができる。
【0024】
[本発明の実施形態の詳細]
本発明をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載更新装置2を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0025】
(実施形態1)
以下、実施の形態について図面に基づいて説明する。
図1は、実施形態1に係る車載更新システムの構成を示す模式図である。
図2は、車載更新装置2等の構成を示すブロック図である。車載更新システムSは、車両Cに搭載された車外通信装置1及び車載更新装置2を含み、車外ネットワークNを介して接続されたプログラム提供装置S1から取得したプログラム又はデータを、車両Cに搭載されている車載ECU3(Electronic Control Unit/車載制御装置)に送信する。
【0026】
プログラム提供装置S1は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータであり、RAM(Random Access Memory)、ROM(Read Only Memory)又はハードディスク等による記憶部S11を備え、車外の外部サーバに相当する。プログラム提供装置S1には、車載ECU3の製造メーカ等によって作成された当該車載ECU3を制御するためのプログラム又はデータが、記憶部S11に保存されている。当該プログラム又はデータは、更新プログラムとして、後述のごとく車両Cに送信され、車両Cに搭載されている車載ECU3のプログラム又はデータを更新するために用いられる。記憶部S11には、更に、当該更新プログラムによる更新対象の車載ECU3が接続される車載更新装置2の車内通信部23又は、当該車内通信部23に接続される通信線41を特定するための情報が記憶されている。このように構成されたプログラム提供装置S1(外部サーバ)は、OTA(Over The Air)サーバとも称される。車両に搭載される車載ECU3は、プログラム提供装置S1から無線通信により送信された更新プログラムを取得し、当該更新プログラムを実行するプログラムとして適用することにより、自ECUが実行するプログラムを更新(リプロ)することができる。
【0027】
以降、プログラムは、車載ECU3が処理を行うための制御構文等を含むプログラムコード及び、当該プログラムコードを実行するにあたり参照するデータが記載される外部ファイルを含むものとして説明する。更新プログラムの送信時において、これらプログラムコード及びデータが記載される外部ファイルは、例えば暗号化されたアーカイブファイルとして、プログラム提供装置S1から送信される。
【0028】
車両Cには、車外通信装置1、車載更新装置2、表示装置5、及び種々の車載機器を制御するための複数の車載ECU3が搭載されている。車外通信装置1と車載更新装置2とは、例えばシリアルケーブル等のハーネスにより通信可能に接続されている。車載更新装置2及び車載ECU3は、CAN(Control Area Network/登録商標)又はEthernet(登録商標)等の通信プロトコルに対応した車内LAN4によって通信可能に接続されている。
【0029】
車外通信装置1は、車外通信部(図示せず)及び、車載更新装置2と通信するための入出力I/F(図示せず)(インターフェイス)を含む。車外通信部は、3G、LTE、4G、5G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部に接続されたアンテナ11を介してプログラム提供装置S1とデータの送受信を行う。車外通信装置1とプログラム提供装置S1との通信は、例えば公衆回線網又はインターネット等の外部ネットワークを介して行われる。
【0030】
車外通信装置1の入出力I/Fは、車載更新装置2と、例えばシリアル通信するための通信インターフェイスである。車外通信装置1と車載更新装置2とは、入出力I/F12間に接続されたシリアルケーブル等のハーネスを介して相互に通信する。本実施形態では、車外通信装置1は、車載更新装置2と別装置とし、入出力I/F12等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置1は、車載更新装置2の一構成部位として、車載更新装置2に内蔵されるものであってもよい。
【0031】
車載更新装置2は、制御部20、記憶部21及び車内通信部23を含む。車載更新装置2は、車外通信装置1が無線通信によってプログラム提供装置S1から受信した更新プログラムを、車外通信装置1から取得し、車内LAN4を介して当該更新プログラムを所定の車載ECU3(更新対象の車載ECU3)に送信するように構成されている。車載更新装置2は、例えば、制御系の車載ECU3、安全系の車載ECU3及び、ボディ系の車載ECU3等の複数の系統のバス(セグメント)を統括し、これらバス(セグメント)間での車載ECU3同士の通信を中継するゲートウェイ(中継器)である。すなわち、車載更新装置2は、CANプロトコルの中継においてはCANゲートウェイとして機能し、TCP/IPプロトコルの中継においてはレイヤー2スイッチ又はレイヤー3スイッチとして機能する。又は、車載更新装置2は、車両C全体をコントロールするボディECUの一機能部として構成されるものであってもよい。
【0032】
制御部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部21に予め記憶された制御プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。
【0033】
記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラム及び処理時に参照するデータがあらかじめ記憶してある。記憶部21に記憶された制御プログラムは、車載更新装置2が読み取り可能な記録媒体211から読み出された制御プログラムを記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムをダウンロードし、記憶部21に記憶させたものであってもよい。更に、記憶部21には、後述する車内通信部23に含まれる複数のイーサネット通信部231、CAN通信部232を識別し、特定するための識別情報(通信部識別テーブル)が記憶される。記憶部21には、プログラム提供装置S1から取得した更新プログラム、及び車載ECU3に更新プログラムを送信する際の進捗状況に関する情報が、記憶される。
【0034】
記憶部21には、車載ECU3間の通信、又は車載ECU3と外部サーバ100との間の通信のための中継処理を行うにあたり用いられる中継経路情報(ルーティングテーブル)が、記憶される。当該中継経路情報は、通信プロトコルに基づき書式が決定される。通信プロトコルがCANの場合、CAN用中継経路情報は、CANメッセージに含まれるメッセージ識別子(CAN-ID)及び、当該CAN-IDに関連付けられた中継先(CAN通信部232のI/Oポート番号)を含む。通信プロトコルがTCP/IPの場合、TCP/IP用中継経路情報は、IPパケットに含まれる送信先アドレス(MACアドレス又はIPアドレス)及び、当該送信先アドレスに関連付けられた中継先(イーサネット通信部231の物理ポート番号)を含む。
【0035】
入出力I/F22は、車外通信装置1の入出力I/Fと同様に、例えばシリアル通信するための通信インターフェイスである。入出力I/F22を介して、車載更新装置2は、車外通信装置1、表示装置5(HMI装置)及び、車両Cの起動及び停止を行うIGスイッチ6と通信可能に接続される。
【0036】
車内通信部23は、例えばCAN(Control Area Network)、CAN-FD(CAN with Flexible Data Rate)又はイーサネット(Ethernet/登録商標)の通信プロトコルを用いた入出力インターフェイス(CAN通信部232、イーサネット通信部231)であり、車載更新装置2と車載ECU3とが通信するための通信部として機能する。車内通信部23は、CAN通信部232及びイーサネット通信部231を含む。
【0037】
CAN通信部232は、CAN又は、CAN-FDの通信プロトコルに対応したものであり、CANバス412上にて伝送されるCANメッセージに対応する。CAN通信部232は、ハイ側及びロー側の2本の配線により構成されるCANバス412上の差動電圧の電位差による波形を受信し、受信した波形を1と0のビット列で表される信号に復号するCANトランシーバ又はCAN-FDトランシーバである。又は、CAN通信部232は、CANトランシーバ及びCANコントローラ、又は、CAN-FDトランシーバ及びCAN-FDコントローラを含むものであってもよい。
【0038】
イーサネット通信部231は、100BASE-T1又は1000BASE-T1等のイーサネットケーブル411にて伝送されるTCP/IPのパケットに対応するイーサネットPHY部である。
【0039】
車内通信部23(イーサネット通信部231、CAN通信部232)は、複数個設けられており、車内通信部23夫々に、車載ネットワーク4を構成する通信線41夫々(イーサネットケーブル411、CANバス412)、すなわちバス夫々が接続されている。このように車内通信部23を複数個設けることにより、車載ネットワーク4を複数個のバス(セグメント)に分け、各セグメントに車載ECU3を、当該車載ECU3の機能に応じて接続するものであってもよい。車載更新装置2の制御部20は、車内通信部23を介して車載ネットワーク4に接続されている車載ECU3又は他の中継装置等の車載機器と相互に通信する。
【0040】
車載ECU3は、車載更新装置2と同様に制御部(図示せず)、記憶部(図示せず)及び車内通信部(図示せず)を含む。記憶部は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、車載ECU3のプログラム又はデータが記憶されている。このプログラム又はデータが、プログラム提供装置から送信され、車載更新装置2によって中継される更新プログラムによって、更新される対象である。車載ECU3の車内通信部は、車載更新装置2と同様にイーサネット通信部又はCAN通信部を含み、車載ECU3は、車内通信部を介して車載更新装置2と通信する。
【0041】
表示装置5は、例えばカーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置である。表示装置5は、車載更新装置2の入出力I/F22とシリアルケーブル等のハーネスにより通信可能に接続されている。表示装置5には、車載更新装置2の制御部20から入出力I/F22を介して出力されたデータ又は情報が表示される。
【0042】
図3は、車内通信部23の識別情報(車内通信部23識別テーブル)の一態様を例示する説明図である。車載更新装置2の記憶部21には、車載更新装置2に含まれる複数の車内通信部23を識別するための識別情報が記憶されている。識別情報は、例えば、車内通信部23識別テーブルとしてテーブル形式で保存されており、当該車内通信部23識別テーブルは、管理項目として、通信部番号、プロトコル及びバス名称を含む。
【0043】
通信部番号は、車内通信部23夫々を識別するための番号(識別番号)であり、例えば車内通信部23がCAN通信部232(CANトランシーバ)である場合はI/Oポート番号を示し、車内通信部23がイーサネット通信部231(イーサネットPHY部)である場合は物理ポート番号を示す。通信部番号のフィールド(通信部番号フィールド)には、車内通信部23夫々を識別するための番号が格納されており、車載更新装置2の制御部20は、当該通信部番号フィールドに格納された通信部番号を参照することにより、いずれの車内通信部23(イーサネット通信部231及びCAN通信部232)であるかを特定することができる。
【0044】
プロトコルのフィールド(プロトコルフィールド)には、通信部番号フィールドに格納された通信部番号の車内通信部23が用いる通信プロトコルの種類(CAN、Ethernet)に関する情報が格納されている。車載更新装置2の制御部20は、当該通信部番号フィールドに格納された通信部番号を参照することにより、特定した車内通信部23が用いる通信プロトコルの種類を把握することができる。
【0045】
バス名称のフィールド(バス名称フィールド)には、通信部番号フィールドに格納された通信部番号の車内通信部23に接続されるバス(セグメント)の名称又は種類に関する情報が格納されている。車載更新装置2の制御部20は、当該通信部番号フィールドに格納された通信部番号を参照することにより、特定した車内通信部23に接続されるバス(セグメント)の名称又は種類に関する情報を取得することができる。
【0046】
車内通信部23の識別情報を、車内通信部23識別テーブルとしてテーブル形式で保存することにより、車載更新装置2の制御部20は、バス名称の値に基づき、当該バス名称の値に対応する車内通信部23の通信部番号を検索することができる。
【0047】
車内通信部23の識別情報(車内通信部23識別テーブル)は、車載更新装置2の記憶部21に記憶されているとしたが、これに限定されない。車内通信部23の識別情報(車内通信部23識別テーブル)は、例えば、車両Cに搭載されるいずれかの車載ECU3の記憶部、プログラム提供装置S1等の車両C外に設けられるクラウドサーバの記憶部等、車載更新装置2がアクセス可能な所定の記憶領域に記憶されるものであってもよい。
【0048】
車載更新装置2は、車外通信装置1を介してプログラム提供装置S1と通信し、プログラム提供装置S1から更新プログラムを取得する際、更新対象の車載ECU3が接続される車内通信部23に関する情報についても取得する。車載更新装置2は、プログラム提供装置S1から取得した当該車内通信部23に関する情報に基づき、例えば、記憶部21に記憶されている車内通信部23識別テーブルを参照することにより、自装置におけるいずれかの車内通信部23を特定する。
【0049】
図4は、車載更新装置2の制御部20の処理を例示するフローチャートである。車載更新装置2の制御部20は、例えば車両Cが起動状態(IGスイッチ6がオン)又は停止状態(IGスイッチ6がオフ)において、定常的に以下の処理を行う。
【0050】
車載更新装置2の制御部20は、更新プログラムに関する情報があるかを判定する(S101)。制御部20は、車外通信装置1を介してプログラム提供装置S1と通信し、更新プログラムに関する情報の有無に関する問い合わせを行い、キャンペーン情報等、当該更新プログラムに関する情報の有無について判定する。当該更新プログラムに関する情報があるか否かの判定は、車載更新装置2からプログラム提供装置S1への問合せによるプル型通信のみならず、プログラム提供装置S1から車載更新装置2へ送信されるメッセージ等のプッシュ型通信に基づき行われるものであってもよい。
【0051】
更新プログラムに関する情報がない場合(S101:NO)、車載更新装置2の制御部20は、再度S101の処理を実行すべく、ループ処理を行う。当該ループ処理を行うことにより、車載更新装置2の制御部20は、プログラム提供装置S1に対する更新プログラムに関する情報の有無に関する問い合わせを周期的に行うものとなる。
【0052】
更新プログラムに関する情報がある場合(S101:YES)、車載更新装置2の制御部20は、更新プログラム及び更新対象の車載ECU3が接続される車内通信部23に関する情報を取得する(S102)。制御部20は、プログラム提供装置S1から更新プログラムを取得するにあたり、当該更新プログラムの取得に併せて、更新対象の車載ECU3が接続される車内通信部23に関する情報を取得する。制御部20は、更新プログラムとは別個に、当該更新対象の車載ECU3が接続される車内通信部23に関する情報を取得するものであってもよい。または、更新対象の車載ECU3が接続される車内通信部23に関する情報が更新プログラムに含まれるアーカイブデータとして提供される場合、制御部20は、アーカイブ化された更新プログラム(アーカイブデータ)を取得及び展開し、更新対象の車載ECU3が接続される車内通信部23に関する情報を取得するものであってもよい。制御部20は、取得した更新プログラムを記憶部21に保存する。
【0053】
車載更新装置2の制御部20は、更新プログラムを出力する車内通信部23を、特定する(S103)。制御部20は、取得した更新対象の車載ECU3が接続される車内通信部23に関する情報に基づき、自装置に含まれる車内通信部23を特定する。例えば、プログラム提供装置S1から取得した更新対象の車載ECU3が接続される車内通信部23に関する情報が、車内通信部23を一意に特定する通信部番号を含む場合、制御部20は、当該通信部番号に基づき、自装置における車内通信部23を特定する。制御部20は、記憶部21に記憶されている車内通信部23の識別情報(通信部識別テーブル)を参照して、取得した更新対象の車載ECU3が接続される車内通信部23に関する情報に対応する車内通信部23を特定するものであってもよい。例えば、プログラム提供装置S1から取得した更新対象の車載ECU3が接続される車内通信部23に関する情報が、当該車内通信部23に接続されるバスの名称又は種類に関する事項(バス名称)を含む場合、制御部20は、通信部識別テーブルを参照し、バス名称から通信部番号を逆引きして検索し、車内通信部23の通信部番号を導出するものであってもよい。
【0054】
車載更新装置2の制御部20は、特定した車内通信部23から、更新プログラムを出力(送信)する(S104)。制御部20は、特定した車内通信部23から、プログラム提供装置S1から取得し、記憶部21に一時的に保存した更新プログラムを出力することにより、当該更新プログラムを更新対象の車載ECU3に送信する。制御部20は、当該更新プログラムを特定した車内通信部23のみから出力することにより、当該特定した車内通信部23以外の車内通信部23に接続される通信線41(バス)のトラフィック(バス負荷)が増加することを抑制することができる。
【0055】
車載更新装置2の制御部20は、更新プログラムの出力結果に関する情報を、プログラム提供装置S1に送信する(S105)。制御部20は、更新プログラムの出力結果に関する情報として、例えば、当該更新プログラムを更新対象の車載ECU3に送信した日時、送信結果として当該更新対象の車載ECU3から受信した応答結果、又は更新処理が正常に実施された旨を示す情報を、車外通信装置1を介してプログラム提供装置S1に送信(出力)する。制御部20は、当該更新プログラムの出力結果に関する情報を表示装置5に出力するものであってもよい。更新プログラムの出力結果に関する情報をプログラム提供装置S1又は表示装置5に出力することにより、当該情報をプログラム提供装置S1の管理者又は車両Cの操作者に報知することができる。
【0056】
本実施形態によれば、車載更新装置2は、プログラム提供装置S1から取得した車内通信部23に関する情報も基づき、更新プログラムを当該車内通信部23(更新対象の車載ECU3が接続される車内通信部23)から出力する。従って、当該更新対象の車載ECU3が接続される車内通信部23以外の車内通信部23から当該更新プログラムが出力されることを不要とすることができる。当該車内通信部23に接続される通信線41のトラフィック(バス負荷)が増加することを抑制し、更新プログラムを効率的に更新対象の車載ECU3に出力(送信)することができる。また、更新対象の車載ECU3が接続される車内通信部23を特定するための情報は、更新プログラムと共にプログラム提供装置S1から送信される情報であるため、車載更新装置2は、更新プログラム及び更新対象の車載ECU3が接続される車内通信部23との連関性が担保された情報を取得することができる。
【0057】
(実施形態2)
図5は、実施形態2に係る車載更新装置2の制御部20の処理を例示するフローチャートである。車載更新装置2の制御部20は、例えば車両Cが起動状態(IGスイッチ6がオン)又は停止状態(IGスイッチ6がオフ)において、定常的に以下の処理を行う。
【0058】
車載更新装置2の制御部20は、更新プログラムに関する情報があるかを判定する(S201)。更新プログラムに関する情報がない場合(S201:NO)、車載更新装置2の制御部20は、再度S201の処理を実行すべく、ループ処理を行う。更新プログラムに関する情報がある場合(S201:YES)、車載更新装置2の制御部20は、更新プログラム及び更新対象の車載ECU3が接続される車内通信部23に関する情報を取得する(S202)。制御部20は、実施形態1のS101からS102の処理と同様に、S201からS202の処理を行う。
【0059】
車載更新装置2の制御部20は、更新プログラムを出力する車内通信部23を特定できたか否かを判定する(S203)。制御部20は、例えば、プログラム提供装置S1から取得した更新対象の車載ECU3が接続される車内通信部23に関する情報と、記憶部21に記憶されている車内通信部23の識別情報(通信部識別テーブル)とを対比する。制御部20は、対比結果に基づき、プログラム提供装置S1から取得した情報に含まれる車内通信部23が、存在するか否か、すなわち自装置に設けられている車内通信部23の内のいずれかの車内通信部23に該当するか否かの判定を行う。
【0060】
プログラム提供装置S1から取得した情報に含まれる車内通信部23が、自装置内に存在する場合、制御部20は、更新プログラムを出力する車内通信部23を実施形態1の処理S103と同様に特定し、特定できたと判定する。
【0061】
プログラム提供装置S1から取得した情報に含まれる車内通信部23が、自装置内に存在しない場合、制御部20は、更新プログラムを出力する車内通信部23を特定できなかったと判定する。車内通信部23を特定できなかった場合とは、例えば、プログラム提供装置S1から取得した情報に含まれる車内通信部23が、CAN通信部232の「007」の通信部番号(I/Oポート番号)を示している。しかしながら、当該「007」のCAN通信部232は、通信部識別テーブルに格納されている情報に含まれておらず、車載更新装置2は「007」のCAN通信部232を備えていない場合である。
【0062】
更新プログラムを出力する車内通信部23を特定できなかった場合(S203:NO)、車載更新装置2の制御部20は、更新対象の車載ECU3が接続される車内通信部23を特定できなかった旨を含む情報をプログラム提供装置S1に出力(送信)する(S2031)。更新プログラムを出力する車内通信部23を特定できなかった場合、すなわちプログラム提供装置S1から取得した情報に含まれる車内通信部23が、自装置内に存在しない場合、制御部20は、更新対象の車載ECU3が接続される車内通信部23を特定できなかった旨を含む情報をプログラム提供装置S1に出力(送信)する。更に、制御部20は、当該情報を表示部に出力(送信)するものであってもよい。当該情報をプログラム提供装置S1に出力(送信)するにあたり、制御部20は、自装置にはプログラム提供装置S1から送信された情報に含まれる車内通信部23が、自装置には存在しない旨をプログラム提供装置S1に出力(送信)するものであってもよい。または、当該情報をプログラム提供装置S1に出力(送信)するにあたり、制御部20は、通信部識別テーブルに関する情報をプログラム提供装置S1に出力(送信)するものであってもよい。
【0063】
更新プログラムを出力する車内通信部23を特定できた場合(S203:YES)、車載更新装置2の制御部20は、特定した車内通信部23から、更新プログラムを出力(送信)する(S204)。車載更新装置2の制御部20は、更新プログラムの出力結果に関する情報を、プログラム提供装置S1に送信する(S205)。制御部20は、実施形態1のS104及びS105の処理と同様に、S204及びS205の処理を行う。
【0064】
本実施形態によれば、車載更新装置2は、プログラム提供装置S1から取得した更新対象の車載ECU3が接続される通信部に関する情報に対応する通信部を特定できなかった場合、当該通信部が自装置に存在しない等の要因を含め、当該通信部を特定できなかった旨を含む情報をプログラム提供装置S1に出力する。従って、更新プログラムの送信に失敗した要因を含め、車載ECU3への更新プログラムの適用(アクティベイト)が失敗した旨をプログラム提供装置S1に出力(送信)することができる。
【0065】
(実施形態3)
図6は、実施形態3に係る車載更新装置2の制御部20の処理を例示するフローチャートである。車載更新装置2の制御部20は、例えば車両Cが起動状態(IGスイッチ6がオン)又は停止状態(IGスイッチ6がオフ)において、定常的に以下の処理を行う。
【0066】
車載更新装置2の制御部20は、更新プログラムに関する情報があるかを判定する(S301)。更新プログラムに関する情報がない場合(S301:NO)、車載更新装置2の制御部20は、再度S301の処理を実行すべく、ループ処理を行う。更新プログラムに関する情報がある場合(S301:YES)、車載更新装置2の制御部20は、更新プログラム及び更新対象の車載ECU3が接続される車内通信部23に関する情報を取得する(S302)。制御部20は、実施形態1のS101からS102の処理と同様に、S301からS302の処理を行う。
【0067】
車載更新装置2の制御部20は、更新プログラムを出力する車内通信部23を特定できたか否かを判定する(S303)。更新プログラムを出力する車内通信部23を特定できなかった場合(S303:NO)、車載更新装置2の制御部20は、更新対象の車載ECU3が接続される車内通信部23を特定できなかった旨を含む情報をプログラム提供装置S1に出力(送信)する(S3031)。更新プログラムを出力する車内通信部23を特定できた場合(S303:YES)、車載更新装置2の制御部20は、特定した車内通信部23から、更新プログラムを出力(送信)する(S304)。制御部20は、実施形態2のS203、S2031及びS204の処理と同様に、S303、S3031及びS304の処理を行う。
【0068】
車載更新装置2の制御部20は、更新対象の車載ECU3から、更新プログラムの出力に対する応答を受信できたか否かを判定する(S305)。制御部20は、特定した車内通信部23から更新プログラムを出力(送信)した後、当該更新プログラムの送信先である車載ECU3(更新対象の車載ECU3)からの応答の受信を試みる。すなわち、制御部20は、当該更新対象の車載ECU3からの応答を待ち受ける。
【0069】
更新対象の車載ECU3からの応答を受信(取得)できた場合、制御部20は、更新プログラムの出力に対する応答を受信できたと判定する。更新対象の車載ECU3からの応答を受信(取得)できなかった場合、制御部20は、更新プログラムの出力に対する応答を、例えば、各通信プロトコルにて予め決定されている所定期間内に受信できなかったと判定する。
【0070】
更新対象の車載ECU3からの応答を受信できなかった場合(S305:NO)、車載更新装置2の制御部20は、更新対象の車載ECU3から応答を受信できなかった旨を含む情報をプログラム提供装置S1に出力(送信)する(S3051)。更新対象の車載ECU3からの応答を受信できなかった場合、制御部20は、例えば、プログラム提供装置S1から送信された情報に含まれる車内通信部23に接続される通信線41(バス)には、更新対象の車載ECU3が接続されていないことを示す情報を、プログラム提供装置S1に出力(送信)する。更に、制御部20は、当該情報を表示部に出力(送信)するものであってもよい。
【0071】
更新対象の車載ECU3からの応答を受信できた場合(S305:YES)、更新プログラムの出力結果に関する情報を、プログラム提供装置S1に送信する(S306)。制御部20は、実施形態1のS105の処理と同様に、S306の処理を行う。
【0072】
本実施形態によれば、車載更新装置2は、更新対象の車載ECU3から更新プログラムの出力に対する応答を受信できなかった場合、プログラム提供装置S1から送信された情報に含まれる車内通信部23に接続される通信線41(バス)には、更新対象の車載ECU3が接続されていない等の要因を含めた情報をプログラム提供装置S1に出力する。従って、更新プログラムの送信に失敗した要因を含め、車載ECU3への更新プログラムの適用(アクティベイト)が失敗した旨をプログラム提供装置S1に出力(送信)することができる。
【0073】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0074】
C 車両
S 車載更新システム
S1 プログラム提供装置(外部サーバ)
S11 記憶部
1 車外通信装置
11 アンテナ
2 車載更新装置(ゲートウェイ)
20 制御部
21 記憶部
211 記録媒体
22 入出力I/F
23 車内通信部(通信部)
231 イーサネット通信部
232 CAN通信部
3 車載ECU(車載制御装置)
4 車載ネットワーク
41 通信線(バス)
411 イーサネットケーブル
412 CANバス
5 表示装置
6 IGスイッチ