(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-22
(45)【発行日】2023-05-30
(54)【発明の名称】車載更新装置、及び更新処理プログラム
(51)【国際特許分類】
G06F 8/65 20180101AFI20230523BHJP
B60R 16/02 20060101ALI20230523BHJP
H04L 12/46 20060101ALI20230523BHJP
H04L 41/00 20220101ALI20230523BHJP
【FI】
G06F8/65
B60R16/02 660U
H04L12/46 E
H04L41/00
(21)【出願番号】P 2019208892
(22)【出願日】2019-11-19
【審査請求日】2022-02-28
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】板津 太郎
【審査官】坂庭 剛史
(56)【参考文献】
【文献】国際公開第2015/194652(WO,A1)
【文献】特開2012-221268(JP,A)
【文献】特開2005-135147(JP,A)
【文献】特開2016-203719(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/65
B60R 16/02
H04L 12/46
H04L 41/00
(57)【特許請求の範囲】
【請求項1】
車両に搭載される車載ECUへの更新プログラムの適用を制御する制御部を備え、
前記制御部は、前記車両内の所定の記憶領域に保存した前記更新プログラムを更新対象の車載ECUに適用する際、前記車両外の外部サーバとの通信を試み、
前記外部サーバとの通信が成功した場合であって、
前記更新プログラムの中止に関する情報を取得できた場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を中止し、
前記中止に関する情報を取得できなかった場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行い、
前記外部サーバとの通信が失敗した場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行う
車載更新装置。
【請求項2】
前記外部サーバとの通信は、
前記車両に設けられ、自装置と接続される車外通信装置を介した通信と、
前記自装置と接続される携帯端末を介した通信とを含み、
前記車外通信装置による通信は、前記携帯端末による通信に対し優先的に行われ、
前記制御部は、前記車外通信装置及び前記携帯端末の双方の通信が失敗した場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行う
請求項1に記載の車載更新装置。
【請求項3】
前記車両内の所定の記憶領域には、前記携帯端末を識別するための識別情報が記憶されており、
前記識別情報は、前記車両の車両識別番号と関連付けられて、前記外部サーバが参照可能な記憶領域に記憶されており、
前記制御部は、前記識別情報に基づいて、前記携帯端末との通信を確立する
請求項2に記載の車載更新装置。
【請求項4】
前記車両内の所定の記憶領域には、前記外部サーバとの通信における優先順位が付与された複数の前記識別情報が、記憶されており、
前記制御部による前記携帯端末を介した前記外部サーバとの通信の試みは、前記優先順位に基づき行われる
請求項3に記載の車載更新装置。
【請求項5】
前記制御部は、前記更新プログラムを前記更新対象の車載ECUに適用する際、適用の要否を確認するための確認画面を構成する確認画面データを出力し、
前記確認画面において、適用を要とする入力がなされた場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行い、
前記中止に関する情報が取得されなかった場合と、前記外部サーバとの通信が失敗した場合とにおいて、出力される前記確認画面データは、異なる
請求項1から請求項4のいずれか1項に記載の車載更新装置。
【請求項6】
前記制御部は、前記中止に関する情報を取得した場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を中止する旨を通知するための通知画面を構成する通知画面データを出力する
請求項1から請求項5のいずれか1項に記載の車載更新装置。
【請求項7】
前記制御部は、前記外部サーバとの通信が失敗した場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行う際に、前記更新対象の車載ECUの現時点におけるプログラムを保存する
請求項1から請求項6のいずれか1項に記載の車載更新装置。
【請求項8】
前記制御部は、前記更新プログラムによる前記更新対象の車載ECUへの適用を行った場合、前記更新対象の車載ECUへの前記更新プログラムの適用を行ったことを示す情報と、前記外部サーバとの通信の正否に関する情報とが関連付けて記録される履歴情報を、前記車両内の所定の記憶領域に保存する
請求項1から請求項7のいずれか1項に記載の車載更新装置。
【請求項9】
コンピュータに、
車両内の所定の記憶領域に保存された更新プログラムを更新対象の車載ECUに適用する際、前記車両外の外部サーバとの通信を試み、
前記外部サーバとの通信が成功した場合であって、
前記更新プログラムの中止に関する情報を取得できた場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を中止し、
前記中止に関する情報を取得できなかった場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行い、
前記外部サーバとの通信が失敗した場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行う
処理を実行させる更新処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車載更新装置、及び更新処理プログラムに関する。
【背景技術】
【0002】
車両には、エンジン制御等のパワー・トレーン系、エアコン制御等のボディ系等の車載機器を制御するための車載ECU(Electronic Control Unit)が搭載されている。車載ECUは、MPU(Micro Processing Unit)等の演算処理部、EEPROM(Electrically Erasable Programmable ROM)、若しくはフラッシュメモリ等の書き換え可能な不揮発性の記憶部、及び他の車載ECUと通信するための通信部を含む。車載ECUは、記憶部に記憶した制御プログラムを読み込んで実行することにより、車載機器の制御を行う。更に車両には、無線通信の機能を備えた中継装置(車載更新装置)が実装されており、中継装置を介して、車外のネットワークに接続されているプログラム提供装置と通信する。当該プログラム提供装置から車載ECUの制御プログラムがダウンロード(受信)されることにより、当該車載ECUの制御プログラムを更新することができる(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の中継装置は、制御プログラムを車両にダウンロードした後、当該制御プログラムによる更新対象の車載ECUに適用(アクティベイト)する時点までの間に、プログラム提供装置から制御プログラムの適用の中止に関する通知がされた場合の対応に関する考慮がされていない。
【0005】
本開示は斯かる事情に鑑みてなされたものであり、その目的とするところは、制御プログラムを車両にダウンロードした後、当該制御プログラムによる更新対象の車載ECUに適用する時点までの間に、プログラム提供装置から制御プログラムの適用の中止に関する通知がされた場合、適切に対応することができる車載更新装置等を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様に係る車載更新装置は、車両に搭載される車載ECUへの更新プログラムの適用を制御する制御部を備え、前記制御部は、前記車両内の所定の記憶領域に保存した前記更新プログラムを更新対象の車載ECUに適用する際、前記車両外の外部サーバとの通信を試み、前記外部サーバとの通信が成功した場合であって、前記更新プログラムの中止に関する情報を取得できた場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を中止し、前記中止に関する情報を取得できなかった場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行い、前記外部サーバとの通信が失敗した場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行う。
【発明の効果】
【0007】
本開示の一態様によれば、制御プログラムを車両にダウンロードした後、当該制御プログラムによる更新対象の車載ECUに適用する時点までの間に、プログラム提供装置から制御プログラムの適用の中止に関する通知がされた場合、適切に対応することができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態1に係る車載更新システムの構成を示す模式図である。
【
図2】実施形態1に係る車載更新装置の構成を示すブロック図である。
【
図3】識別情報テーブルの内容例を示す概念図である。
【
図4】車載更新装置による更新対象の車載ECUのプログラム更新の一態様を示す説明図(シーケンス図)である。
【
図5】車載更新装置の制御部が行う更新プログラムの適用に係る処理を例示するメインルーチンのフローチャートである。
【
図6】外部サーバとの通信試行のサブルーチンに係る制御部の処理手順を例示するフローチャートである。
【発明を実施するための形態】
【0009】
[本開示の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0010】
(1)本開示の一態様に係る車載更新装置は、車両に搭載される車載ECUへの更新プログラムの適用を制御する制御部を備え、前記制御部は、前記車両内の所定の記憶領域に保存した前記更新プログラムを更新対象の車載ECUに適用する際、前記車両外の外部サーバとの通信を試み、前記外部サーバとの通信が成功した場合であって、前記更新プログラムの中止に関する情報を取得できた場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を中止し、前記中止に関する情報を取得できなかった場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行い、前記外部サーバとの通信が失敗した場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行う。
【0011】
本態様にあたっては、制御部は、更新プログラムを車両内の所定の記憶領域に保存した後に、当該更新プログラムの中止に関する情報が、外部サーバにおいて保持されているかを確認するため、外部サーバとの通信を試みる。従って、既に保存した更新プログラムに問題があることが発覚し、外部サーバにて、当該更新プログラムの中止に関する情報が保持(用意)されている場合、当該中止に関する情報を取得することができる。更新プログラムは、例えば外部サーバから取得される。制御部は、外部サーバとの通信が成功した場合であって、保存した更新プログラムの中止に関する情報を取得できた場合、更新プログラムの適用を中止する。制御部は、外部サーバとの通信が成功した場合であって、保存した更新プログラムの中止に関する情報を取得できなかった場合、更新プログラムの適用を行う。従って、中止に関する情報に係る更新プログラムが、更新対象の車載ECUに適用されることを防止することができる。制御部は、外部サーバとの通信が失敗した場合、保存した更新プログラムによる更新対象の車載ECUへの適用を行う。従って、外部サーバとの通信ができない状況が継続する場合であっても、更新プログラムによる更新対象の車載ECUへの適用を行い、当該更新対象の車載ECUが用いるプログラムの適正化を図ることができる。車両内の所定の記憶領域は、車載更新装置の記憶部、車載ECUの記憶部、又は車載更新装置からアクセス可能なストレージ装置を含む。
【0012】
(2)本開示の一態様に係る車載更新装置は、前記外部サーバとの通信は、前記車両に設けられ、自装置と接続される車外通信装置を介した通信と、前記自装置と接続される携帯端末を介した通信とを含み、前記車外通信装置による通信は、前記携帯端末による通信に対し優先的に行われ、前記制御部は、前記車外通信装置及び前記携帯端末の双方の通信が失敗した場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行う。
【0013】
本態様にあたっては、制御部(車載更新装置)と外部サーバとの通信は、車外通信装置又は携帯端末を介して行われる。従って、車両が車外通信装置の通信網の圏外にある場合であっても、携帯端末の通信網を用いて、外部サーバとの通信を試みることができる。車外通信装置による通信は、携帯端末による通信に対し優先的に行われる。車外通信装置と外部サーバとの通信が確立される場合は、制御部が車外通信装置を介して外部サーバと通信することにより、携帯端末の帯域幅を使用することなく、外部サーバとの通信を行うことができる。また、携帯端末にて上限値が定められている通信量を消費することなく、外部サーバとの通信を行うことができる。制御部は、車外通信装置及び携帯端末の双方の通信が失敗した場合、保存した更新プログラムによる更新対象の車載ECUへの適用を行う。従って、外部サーバとの通信ができない状況が継続する場合であっても、更新プログラムによる更新対象の車載ECUへの適用を行い、当該更新対象の車載ECUが用いるプログラムの適正化を図ることができる。
【0014】
(3)本開示の一態様に係る車載更新装置は、前記車両内の所定の記憶領域には、前記携帯端末を識別するための識別情報が記憶されており、前記識別情報は、前記車両の車両識別番号と関連付けられて、前記外部サーバが参照可能な記憶領域に記憶されており、前記制御部は、前記識別情報に基づいて、前記携帯端末との通信を確立する。
【0015】
本態様にあたっては、車両内の所定の記憶領域には、携帯端末を識別するための識別情報が記憶されている。車載更新装置は、携帯端末を介して外部サーバと通信するため、例えば携帯端末とのペアリングを行うにあたり、当該識別情報に基づきペアリング対象の携帯端末の正当性を確認することができる。車載更新装置と携帯端末とのペアリングにおけるセキュリティを担保することができる。識別情報は、車両の車両識別番号と関連付けられて、外部サーバが参照可能な記憶領域に記憶されている。外部サーバは、携帯端末を介した車載更新装置からの通信がなされた場合、当該携帯端末の正当性を、車載更新装置が搭載される車両の車両識別番号と、携帯端末の識別情報との組み合わせに基づき判断することができる。外部サーバと車載更新装置との携帯端末を介した通信におけるセキュリティを担保することができる。外部サーバが参照可能な記憶領域は、外部サーバの記憶部、又は外部サーバからアクセス可能なストレージ装置を含む。
【0016】
(4)本開示の一態様に係る車載更新装置は、前記車両内の所定の記憶領域には、前記外部サーバとの通信における優先順位が付与された複数の前記識別情報が、記憶されており、前記制御部による前記携帯端末を介した前記外部サーバとの通信の試みは、前記優先順位に基づき行われる。
【0017】
本態様にあたっては、複数の携帯端末が、乗員によって車両内に持ち込まれた場合であっても、制御部は、例えば自装置の記憶部等、車両内の所定の記憶領域を参照して優先順位を読み出し、当該優先順位に基づきいずれかの携帯端末を介して外部サーバとの通信を試みる。従って、複数の携帯端末それぞれによる外部サーバとの複数の通信が、同時に確立することを抑制し、車載更新装置と外部サーバとの間で輻輳が発生することを防止することができる。
【0018】
(5)本開示の一態様に係る車載更新装置は、前記制御部は、前記更新プログラムを前記更新対象の車載ECUに適用する際、適用の要否を確認するための確認画面を構成する確認画面データを出力し、前記確認画面において、適用を要とする入力がなされた場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行い、前記中止に関する情報が取得されなかった場合と、前記外部サーバとの通信が失敗した場合とにおいて、出力される前記確認画面データは、異なる。
【0019】
本態様にあたっては、制御部は、更新プログラム適用の要否を確認するための確認画面を構成する確認画面データを出力する。当該確認画面データにおいて、外部サーバとの通信が成功した場合であって、保存された更新プログラムの中止に関する情報が取得できなかった場合と、外部サーバとの通信が失敗した場合とにおいて、出力される内容は異なる。従って、これら場合によって異なる確認画面データが出力されることにより、車両の操作者等、更新プログラム適用の要否の確認者に対し、適切な情報を提供することができる。
【0020】
(6)本開示の一態様に係る車載更新装置は、前記制御部は、前記中止に関する情報を取得した場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を中止する旨を通知するための通知画面を構成する通知画面データを出力する。
【0021】
本態様にあたっては、制御部は、保存した更新プログラムの中止に関する情報を取得した場合、当該更新プログラムによる更新対象の車載ECUへの適用を中止する旨を通知するための通知画面を構成する通知画面データを出力する。通知画面データを出力することにより、車両の乗員に対し、当該更新プログラムの適用の中止を通知することができる。
【0022】
(7)本開示の一態様に係る車載更新装置は、前記制御部は、前記外部サーバとの通信が失敗した場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行う際に、前記更新対象の車載ECUの現時点におけるプログラムを保存する。
【0023】
本態様にあたっては、外部サーバとの通信が失敗した場合、更新プログラムの適用を行う時点においては、当該更新プログラムの中止に関する情報の有無は、確認できていない。制御部は、更新プログラムの適用を行う際に更新対象の車載ECUの現時点におけるプログラム、すなわち更新プログラムの前バージョンとなるプログラムを保存するための処理を行う。従って、外部サーバとの通信が失敗した場合において、制御部は更新対象の車載ECUへ適用した更新プログラムの中止に関する情報を当該適用の後に取得した際に、保存した上記現時点におけるプログラムを用いて、ロールバック処理を行うことができる。
【0024】
(8)本開示の一態様に係る車載更新装置は、前記制御部は、前記更新プログラムによる前記更新対象の車載ECUへの適用を行った場合、前記更新対象の車載ECUへの前記更新プログラムの適用を行ったことを示す情報と、前記外部サーバとの通信の正否に関する情報とが関連付けて記録される履歴情報を、前記車両内の所定の記憶領域に保存する。
【0025】
本態様にあたっては、保存した更新プログラムによる更新対象の車載ECUへの適用は、外部サーバとの通信が成功した場合であって、当該更新プログラムの中止に関する情報を取得できなかった場合と、外部サーバとの通信が失敗した場合とにおいて、行われる。これに対し、更新プログラムによる更新対象の車載ECUへの適用が行われた場合、更新対象の車載ECUへの適用が行われたことを示す情報と、外部サーバとの通信の正否に関する情報とが関連付けて記録される履歴情報が、所定の記憶領域に保存される。従って、当該更新プログラムによる更新対象の車載ECUへの適用が、いずれの場合において実施されたかを履歴情報として記憶することができ、車載ECUのプログラムの更新に関するトレーサビリティを担保することができる。
【0026】
(9)本開示の一態様に係る更新処理プログラムは、コンピュータに、車両内の所定の記憶領域に保存された更新プログラムを更新対象の車載ECUに適用する際、前記車両外の外部サーバとの通信を試み、前記外部サーバとの通信が成功した場合であって、前記更新プログラムの中止に関する情報を取得できた場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を中止し、前記中止に関する情報を取得できなかった場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行い、前記外部サーバとの通信が失敗した場合、前記更新プログラムによる前記更新対象の車載ECUへの適用を行う処理を実行させる。
【0027】
本態様にあたっては、コンピュータを、本開示の一態様の車載更新装置として機能させることができる。
【0028】
[本開示の実施形態の詳細]
本開示をその実施形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載更新装置2を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0029】
(実施形態1)
以下、実施の形態について図面に基づいて説明する。
図1は、実施形態1に係る車載更新システムSの構成を示す模式図である。
図2は、実施形態1に係る車載更新装置2の構成を示すブロック図である。
【0030】
車載更新システムSは、車両Cに搭載された第1車外通信装置1a、第2車外通信装置1b、及び車載更新装置2と、携帯端末8とを含む。また、車外ネットワークNを介して接続された外部サーバ(プログラム提供装置)100から取得された更新プログラムを、車両Cに搭載されている車載ECU(車載制御装置)3に適用することにより、車載ECU3のプログラム更新を行う。
【0031】
外部サーバ100は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータであり、RAM、ROM(Read Only Memory)又はハードディスク等による記憶部110を備える。外部サーバ100には、車載ECU3の製造メーカ等によって作成された当該車載ECU3を制御するためのプログラム又はデータが、記憶部110に保存されている。当該プログラム又はデータは、更新プログラムとして、車両Cへ送信され、車両Cに搭載されている車載ECU3のプログラム又はデータを更新するために用いられる。記憶部110には、更新プログラムの中止に関する情報が保存される。更新プログラムの中止に関する情報は、例えば更新プログラムに問題があることが発覚した場合に保存(用意)され、外部サーバ100から車両Cへ送信される。このように構成された外部サーバ100は、OTA(Over The Air)サーバとも称される。更新プログラムの中止に関する情報は、例えば外部サーバ100が通信可能な図示しないコンピュータの不揮発性メモリにより構成してある記憶部に保存されていてもよい。車両Cに搭載される車載ECU3は、外部サーバ100から無線通信により送信された更新プログラムを実行するプログラムとして適用することにより、自ECUが実行するプログラムを更新(リプロ)することができる。更新プログラムは、例えば車載ECU3が読み取り可能な記録媒体から車載ECU3により読み出されてもよい。外部サーバ100の記憶部110には、車両Cの車両識別番号(VIN,Vehicle Identification Number)と、後述の識別情報212とが関連付けて記録された車両DB(データベース)111が記憶されている。
【0032】
車両Cには、第1車外通信装置1a、第2車外通信装置1b、表示装置5、IG(イグニッション)スイッチ6、入力装置7、及び種々の車載機器を制御するための複数の車載ECU3が搭載されている。車載更新装置2と、第1車外通信装置1a、及び第2車外通信装置1bとは、例えばシリアルケーブル等のワイヤーハーネスにより通信可能に接続されている。車載更新装置2及び車載ECU3は、CAN(Control Area Network/登録商標)又はイーサネット(Ethernet/登録商標)等の通信プロトコルに対応した車内LAN4によって通信可能に接続されている。
【0033】
第1車外通信装置1a、及び第2車外通信装置1bは、車外通信部(図示せず)、及び車載更新装置2と通信するための入出力I/F(インターフェイス/図示せず)をそれぞれ含む。車外通信部は、3G、LTE、4G、5G,Wi-Fi(登録商標)、又はBluetooth(登録商標)等の移動体通信のプロトコルを用いて無線通信をするための通信装置である。第1車外通信装置1aの車外通信部は、例えば、3G、LTE、4G、又は5Gを用いて無線通信を行い、当該車外通信部に接続されたアンテナ11aを介して外部サーバ100と通信(データの送受信)を行う。第1車外通信装置1aと外部サーバ100との通信は、例えば公衆回線網又はインターネット等の車外ネットワークNを介して行われる。第1車外通信装置1aは、車載更新装置2と定常的に接続され、請求の範囲における車外通信装置に相当する。
【0034】
第2車外通信装置1bの車外通信部は、Wi-Fi(登録商標)、又はBluetooth(登録商標)を用いて無線通信を行い、当該車外通信部に接続されたアンテナ11bを介して後述の携帯端末8と通信を行う。車両Cが第1車外通信装置1aの通信網の圏外にある場合であっても、車載更新装置2は、携帯端末8の通信網を用いて外部サーバ100との通信を試みることができる。第1車外通信装置1aを介した車載更新装置2と外部サーバ100との通信(携帯端末8を介さない車載更新装置2と外部サーバ100との通信)は、携帯端末8による車載更新装置2と外部サーバ100との通信に対して優先的に行われる。第1車外通信装置1aを介した車載更新装置2と外部サーバ100との通信が確立される場合、車載更新装置2は、携帯端末8の帯域幅を使用することなく、外部サーバ100との通信を行うことができる。また、携帯端末8にて上限値が定められている通信量を消費することなく、外部サーバ100との通信を行うことができる。第1車外通信装置1a、及び第2車外通信装置1bの一方が、外部サーバ100との通信と、携帯端末8との通信との両方を行ってもよい。この場合、第1車外通信装置1a、及び第2車外通信装置1bの他方は、不要である。
【0035】
第1車外通信装置1aの入出力I/F、及び第2車外通信装置1bの入出力I/Fは、車載更新装置2と、例えばシリアル通信するための通信インターフェイスである。第1車外通信装置1a、及び第2車外通信装置1bと、車載更新装置2とは、入出力I/F及び入出力I/Fに接続されたシリアルケーブル等のワイヤーハーネスを介して相互に通信する。本実施形態では、第1車外通信装置1a、及び第2車外通信装置1bは、車載更新装置2と別装置とし、入出力I/F等によってこれら装置を通信可能に接続しているが、これに限定されない。第1車外通信装置1a、及び第2車外通信装置1bは、車載更新装置2の一構成部位として、車載更新装置2に内蔵されるものであってもよい。
【0036】
車載更新装置2は、制御部20、記憶部21、車内通信部23、及び入出力I/F24を含む。車載更新装置2は、例えば第1車外通信装置1aが無線通信によって外部サーバ100から受信した更新プログラムを、第1車外通信装置1aから取得する。車載更新装置2は、車内LAN4を介して当該更新プログラムを、所定の車載ECU3(更新対象の車載ECU3)に送信するように構成されている。車載更新装置2は、例えば、制御系の車載ECU3、安全系の車載ECU3、及びボディ系の車載ECU3等の複数の系統のセグメントを統括し、これらセグメント間での車載ECU3同士の通信を中継するゲートウェイ(中継器)である。又は、車載更新装置2は、車両C全体をコントロールするボディECUの一機能部として構成されるものであってもよい。
【0037】
制御部20は、CPU(Central Processing Unit)、又はMPU等により構成してあり、記憶部21に予め記憶された制御プログラム211及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行う。
【0038】
制御部20は記憶部21に記憶されている制御プログラム211を実行することにより、更新プログラムの更新対象の車載ECU3への適用を制御する。制御部20は記憶部21に記憶されている制御プログラム211を実行することにより、更新プログラムの中止に関する情報を取得する取得部として機能する。制御部20は記憶部21に記憶されている制御プログラム211を実行することにより、更新プログラムを更新対象の車載ECU3へ適用する際、外部サーバ100との通信を試みる通信試行部として機能する。制御部20は記憶部21に記憶されている制御プログラム211を実行することにより、更新プログラムを更新対象の車載ECU3に適用する際、適用の要否を確認するための確認画面を構成する確認画面データを出力する第1出力部として機能する。制御部20は記憶部21に記憶されている制御プログラム211を実行することにより、更新プログラムによる更新対象の車載ECU3への適用を中止する旨を通知するための通知画面を構成する通知画面データを出力する第2出力部として機能する。
【0039】
記憶部21は、RAM等の揮発性のメモリ素子、又は、ROM、EEPROM(Electrically Erasable Programmable ROM)、若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してある。記憶部21には、制御プログラム211、及び識別情報212が予め記憶してある。記憶部21に記憶された制御プログラム211は、車載更新装置2が読み取り可能な記録媒体22から読み出された制御プログラム211を記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラム211をダウンロードし、記憶部21に記憶させたものであってもよい。詳細は後述するが、識別情報212は、車載更新装置2と携帯端末8とが通信する際に、携帯端末8の識別に用いられる情報であり、例えば携帯端末8の電話番号である。記憶部21には、履歴情報213が記憶される。履歴情報213には、更新対象の車載ECU3への更新プログラムの適用が行われたことを示す情報と、適用の際における外部サーバ100との通信の正否に関する情報とが関連付けられて記録される。記憶部21が、車両C内の所定の記憶領域に相当する。車両C内の所定の記憶領域は、記憶部21に限らず、例えば、後述の車載ECU3の記憶部31、又は車両C内の図示しない不揮発性メモリにより構成してある記憶部であってもよい。
【0040】
車内通信部23は、CAN(登録商標)、又はEthernet(登録商標)等の通信プロトコルを用いた入出力インターフェイスである。制御部20は、車内通信部23を介して車内LAN4に接続されている車載ECU3、又は他の中継装置等の車載機器と相互に通信する。車内通信部23は、複数個(図面上では3つ)設けられている。車内通信部23それぞれに、車内LAN4を構成する通信線が接続されている。このように車内通信部23が複数個設けられることにより、車内LAN4は複数のセグメントに分けられる。各セグメントそれぞれに車載ECU3が、当該車載ECU3の機能(制御系機能、安全系機能、ボディ系機能)に応じて接続される。
【0041】
入出力I/F24は、第1車外通信装置1aの入出力I/F、及び第2車外通信装置1bの入出力I/Fと同様に、例えばシリアル通信するための通信インターフェイスである。入出力I/F24を介して、車載更新装置2は、第1車外通信装置1a、第2車外通信装置1b、表示装置5、IGスイッチ6、及び入力装置7と通信を行う。
【0042】
表示装置5は、例えばカーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置である。入力装置7は、例えばカーナビゲーションのタッチパネルである。表示装置5及び入力装置7は、車載更新装置2の入出力I/F24とシリアルケーブル等のハーネスにより通信可能に接続されている。表示装置5には、車載更新装置2の制御部20から入出力I/F24を介して出力されたデータ又は情報が表示される。入力装置7は、車両Cの乗員、例えば車両Cの操作者からの入力を受け付け、入力結果を入出力I/F24を介して制御部20に出力する。表示装置5及び入力装置7と、車載更新装置2との接続形態は入出力I/F24による接続形態に限定されず、表示装置5及び入力装置7と、車載更新装置2とは、車内LAN4を介した接続形態であってもよい。
【0043】
IGスイッチ6は、車両Cのエンジン等の原動機(図示せず)の動作状態を切り替えるスイッチである。例えば車両Cの操作者はIGスイッチ6をオフからオンへ切り替えて車両Cを起動し、車両Cの走行を開始する。その後、車両Cの走行を終えて車両Cの操作者はIGスイッチ6をオンからオフへ切り替え、車両Cを停止する。IGスイッチ6は、車載更新装置2の入出力I/F24とシリアルケーブル等のハーネスにより通信可能に接続されている。入出力I/F24を介して、車載更新装置2の制御部20にIGスイッチ6の切替状態(オン又はオフ)が通知される。例えば、車載更新装置2の制御部20には、入出力I/F24を介して、IGスイッチ6のオン又はオフを示す信号がIGスイッチ6から入力されている。IGスイッチ6と車載更新装置2との接続形態は入出力I/F24による接続形態に限定されず、IGスイッチ6と車載更新装置2とは、車内LAN4を介した接続形態であってもよい。
【0044】
車載ECU3は、制御部30、記憶部31、及び車内通信部32を含む。記憶部31は、RAM等の揮発性メモリ素子、又は、ROM、EEPROM、若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してある。記憶部31には、車載ECU3のプログラム又はデータが記憶してある。このプログラム又はデータが、車載更新装置2から送信される更新プログラムによって更新される対象である。
【0045】
記憶部31は、第1記憶領域(第1面)及び第2記憶領域(第2面)を含んでもよい。この場合、記憶部31には、現状において車載ECU3が実行(適用)しているプログラム(現バージョン)及び、現バージョンの以前に適用されていたプログラム(旧バージョン)の2つのプログラムが記憶されている。これら現バージョンのプログラムと、旧バージョンのプログラムとは、第1記憶領域又は第2記憶領域のいずれかの記憶領域に分かれて、記憶されている。すなわち、第1記憶領域に現バージョンのプログラムが記憶されている場合、第2記憶領域に旧バージョンのプログラムが記憶されている。第1記憶領域に旧バージョンのプログラムが記憶されている場合、第2記憶領域に現バージョンのプログラムが記憶されている。記憶部31は、第1記憶領域及び第2記憶領域を含む場合、このように現バージョン及び旧バージョンの2つのプログラムを、いわゆる2面持ちとして記憶する。従って、万が一現バージョンのプログラムに問題が生じた場合であっても、制御部30は、以前に適用して正常に動作していた旧バージョンのプログラムを読み込み実行する(切り替える)ことで、車載ECU3の信頼性を担保することができる。以下、記憶部31が第1記憶領域及び第2記憶領域を含む場合を、記憶部31が2面持ちである場合と称し、記憶部31が第1記憶領域及び第2記憶領域の一方のみを含む場合を、記憶部31が1面持ちである場合と称する。
【0046】
記憶部31が2面持ちである場合、記憶部31には、現バージョン及び旧バージョンの2つのプログラムそれぞれのバージョンに関する情報、及び現在実行(適用)しているプログラムが記憶されている領域(動作面)に関する情報が記憶されている。すなわち、現状において第1記憶領域に記憶されているプログラムを実行している場合、記憶部31には、動作面は第1記憶領域であると記憶される。現状において第2記憶領域に記憶されているプログラムを実行している場合、記憶部31には、動作面は第2記憶領域であると記憶される。記憶部31には、プログラム(現バージョン及び旧バージョン)のバージョン情報及び動作面に関する情報が記憶される。
【0047】
制御部30は、CPU又はMPU等により構成してある。制御部30は、記憶部31(記憶部31が2面持ちの場合は記憶部31の動作面)に記憶されたプログラム及びデータを読み出し実行して制御処理等を行い、当該車載ECU3を含む車載機器又はアクチュエータ等が制御される。
【0048】
車載ECU3の制御部30は、車載更新装置2から送信される更新プログラムを、車内通信部32を介して受信し、当該更新プログラムを取得する。記憶部31が1面持ちである場合、制御部30が取得した更新プログラムを記憶部31に記憶することにより、更新プログラムは適用される。制御部30は、車載更新装置2から送信された更新プログラムを取得するにあたり、当該取得の準備処理として、記憶部31に記憶されているプログラム(現バージョンのプログラム)を消去する。当該消去のために車載ECU3における車載装置への制御機能を停止させる必要がある。記憶部31が2面持ちである場合、制御部30は、取得した更新プログラムを、動作面でない記憶領域(非動作面)に記憶する。すなわち、制御部30は、車載更新装置2から送信された更新プログラムを取得するにあたり、当該取得の準備処理として、非動作面に記憶されているプログラムを消去する。通常、非動作面に記憶されているプログラムは、現バージョンのプログラムの以前に実行された旧バージョンのプログラムである。従って、制御部30は車載ECU3における車載装置への制御機能を停止させることなく、当該旧バージョンのプログラムを消去し、車載更新装置2から送信された更新プログラムを、当該非動作面に記憶する。制御部30が記憶部31の動作面と非動作面とを切り替えることにより、受信(記憶)された更新プログラムは、現バージョンのプログラムとして適用される。
【0049】
携帯端末8は、スマートフォン、携帯電話機、又はタブレット端末等の可搬型のコンピュータであり、車両Cの乗員により携帯される。携帯端末8は、前述のように第2車外通信装置1bを介して車載更新装置2と通信可能であり、車載更新装置2と都度接続される。携帯端末8と車載更新装置2との通信は、携帯端末8と車載更新装置2との有線接続により行われてもよい。携帯端末8と車載更新装置2との通信の際に、車載更新装置2は、予め記憶部21に記憶された携帯端末8の識別情報212、例えば携帯端末8の電話番号と、通信を行う携帯端末8の識別情報212とが一致するか否かを確認する。すなわち車載更新装置2は、携帯端末8の認証を行う。識別情報212が一致する場合(認証が成功した場合)、車載更新装置2は携帯端末8との通信を継続する。携帯端末8と車載更新装置2とのいわゆるペアリング(認証された通信の確立)が行われる。識別情報212が一致しない場合(認証が失敗した場合)、車載更新装置2は携帯端末8との通信を中止する。車載更新装置2と携帯端末8とのペアリングを行うにあたり、識別情報212に基づきペアリング対象の携帯端末8の正当性を確認することができ、車載更新装置2と携帯端末8とのペアリングにおけるセキュリティを担保することができる。識別情報212は、携帯端末8の電話番号に限らない。識別情報212は、例えば、車載更新装置2との通信において携帯端末8が実行するプログラム(アプリケーション)のユーザID(Identification)であってもよい。
【0050】
識別情報212の記憶部21への記憶は、例えば車両Cの購入時、又は携帯端末8の変更時に、携帯端末8を携帯する車両Cの乗員による携帯端末8の操作及び入力装置7への入力により、行われる。識別情報212の記憶部21への記憶の際に、車載更新装置2は、車両Cの車両識別番号と記憶された識別情報212とを、外部サーバ100に送信する。外部サーバ100により受信された車両識別番号と識別情報212とは関連付けられて、車両DB111として外部サーバ100の記憶部110に記憶される。記憶部110が、外部サーバ100が参照可能な記憶領域に相当する。外部サーバ100が参照可能な記憶領域は、記憶部110に限らず、例えば、外部サーバ100が通信可能な図示しないコンピュータの不揮発性メモリにより構成してある記憶部であってもよい。
【0051】
携帯端末8の認証(携帯端末8と車載更新装置2とのペアリング)は、例えば、携帯端末8の携帯者が車両Cに乗車した際に自動的に行われる。携帯端末8の認証は、当該携帯者による携帯端末8の操作、又は入力装置7への入力により行われてもよい。携帯端末8と車載更新装置2とのペアリングにおいて、車載更新装置2による携帯端末8の認証に加えて、携帯端末8による車載更新装置2(車両C)の認証が行われてもよい。この場合、携帯端末8の図示しない不揮発性メモリにより構成してある記憶部に車両Cの車両識別番号が記憶されている。携帯端末8は、車載更新装置2との通信の際に、例えば記憶部21に予め記憶された車両識別番号と、携帯端末8の記憶部に記憶された車両識別番号とが一致するか否かを確認し、車載更新装置2の認証を行う。
【0052】
更に携帯端末8は、車外ネットワークNを介して、外部サーバ100と通信可能である。車載更新装置2と外部サーバ100とは、携帯端末8及び車外ネットワークNを介して通信可能である。当該通信の際に、外部サーバ100は、記憶部110に記憶された車両DB111を参照し、通信を行う携帯端末8の識別情報212及び車両Cの車両識別番号が関連付けられて記憶されているか否かを確認する。すなわち外部サーバ100は、車両Cと携帯端末8との認証を行う。外部サーバ100は、車両Cの車両識別番号と携帯端末8の識別情報212とが関連付けられて記憶されている場合(認証が成功した場合)、携帯端末8及び車外ネットワークNを介した車載更新装置2との通信を継続する。外部サーバ100は、車両Cの車両識別番号と携帯端末8の識別情報212とが関連付けられて記憶されていない場合(認証が失敗した場合)、携帯端末8との通信を中止し、車載更新装置2との通信を終了する。外部サーバ100は、携帯端末8を介した車載更新装置2との通信が行われた場合、当該携帯端末8の正当性を、車載更新装置2が搭載される車両Cの車両識別番号と、携帯端末8の識別情報212との組み合わせに基づき判断することができる。外部サーバ100と車載更新装置2との携帯端末8を介した通信におけるセキュリティを担保することができる。
【0053】
車載更新装置2の記憶部21には、複数の携帯端末8の識別情報212が記憶されていてもよい。この場合、複数の識別情報212には、外部サーバ100との通信における優先順位がそれぞれ付与される。例えば、複数の携帯端末8の識別情報212と、各携帯端末8による通信における優先順位とが関連付けられて記録される識別情報テーブルが記憶部21に記憶される。
図3は、識別情報テーブルの内容例を示す概念図である。
図3の識別情報テーブルにおいて、2つの携帯端末8の識別情報212と、それぞれの携帯端末8による通信における優先順位とが対応付けられて記録されている。
【0054】
通信における優先順位は、例えば、識別情報212の記憶部21への記憶の際に、携帯端末8を携帯する車両Cの乗員による携帯端末8の操作及び入力装置7への入力により、付与される。この場合、車両Cの車両番号と複数の識別情報212とが関連付けられて、車両DB111として外部サーバ100の記憶部110に記憶される。車載更新装置2は、優先順位に基づき、携帯端末8を介して外部サーバ100と通信を試みる。例えば2つの識別情報212が記憶部21に記憶されている場合であって、携帯端末8を介して外部サーバ100と通信する場合、車載更新装置2は、まず優先順位が1番の携帯端末8を介して外部サーバ100との通信を試みる。優先順位が1番の携帯端末8を介した外部サーバ100との通信が失敗した場合、例えば優先順位が1番の携帯端末8が圏外である場合、車載更新装置2は、優先順位が2番の携帯端末8を介して外部サーバ100との通信を試みる。優先順位に基づいて通信を行うことにより、複数の携帯端末8それぞれによる外部サーバ100との複数の通信が、同時に確立することを抑制することができる。車載更新装置2と外部サーバ100との間で輻輳が発生することを防止することができる。
【0055】
図4は、車載更新装置2による更新対象の車載ECU3のプログラム更新の一態様を示す説明図(シーケンス図)である。
図4において、車載更新装置2が、更新対象の車載ECU3のプログラム更新を実行する処理について、外部サーバ100、車載ECU3、及び携帯端末8の処理を含むシーケンス図を用いて説明する。プログラム更新の一例として、外部サーバ100から更新プログラムが送信される場合について説明する。以下、ステップをSと省略する。
【0056】
車載更新装置2は、車両Cが起動状態(IGスイッチ6がオン)である場合、第1車外通信装置1aを介して外部サーバ100と定期的又は非定期的に通信する。車載更新装置2は、外部サーバ100に更新すべきプログラム又はデータ、すなわち更新プログラムが用意されているか否かを確認する。すなわち車載更新装置2は、更新プログラムの有無を確認する(S1)。
【0057】
外部サーバ100に更新プログラムが用意されている場合、外部サーバ100は、更新プログラムを車載更新装置2へ送信する(S2)。車載更新装置2は、外部サーバ100から更新プログラムを取得し、車両C内の所定の記憶領域に保存する。更新対象の車載ECU3の記憶部31が1面持ちである場合、取得された更新プログラムは、車載更新装置2の記憶部21に記憶(保存)される。更新対象の車載ECU3の記憶部31が2面持ちである場合、車載更新装置2は、取得した更新プログラムを更新対象の車載ECU3へ送信する(S3)。送信された更新プログラムは、車載ECU3の記憶部31の非動作面に記憶(保存)される。
【0058】
IGスイッチ6がオフとなった場合(S4)、車載更新装置2は、外部サーバ100との通信を試みる。詳しくは、車載更新装置2は、最初に第1車外通信装置1aを介して外部サーバ100との通信を試みる。車載更新装置2は、第1車外通信装置1aを介した外部サーバ100との通信が成功した場合、以下の処理を行う。車載更新装置2は、外部サーバ100に、送信された更新プログラムの中止に関する情報の有無(中止に関する情報が用意されているか否か)を確認し、当該中止に関する情報がある場合、当該中止に関する情報を取得する(S5)。車載更新装置2は、第1車外通信装置1aを介した外部サーバ100との通信が失敗した場合、第2車外通信装置1b及び携帯端末8を介して、外部サーバ100との通信を試みる。
【0059】
第1車外通信装置1aを介した外部サーバ100との通信が失敗した場合、例えば第1車外通信装置1aが圏外である場合、車載更新装置2は、ペアリングされた携帯端末8へ、外部サーバ100への、上記中止に関する情報の有無の確認を要求する(S6)。携帯端末8は、外部サーバ100に、上記中止に関する情報の有無を確認し、当該中止に関する情報がある場合、当該中止に関する情報を取得する(S7)。なお携帯端末8と外部サーバ100との通信の際には、前述のように外部サーバ100による車両Cと携帯端末8との認証が行われる。携帯端末8は、上記中止に関する情報を取得した場合、当該中止に関する情報を車載更新装置2へ送信し、上記中止に関する情報が外部サーバ100に用意されていない場合、当該中止に関する情報がない旨を示す情報を車載更新装置2へ送信する(S8)。
【0060】
上記中止に関する情報の有無の確認において、上記中止に関する情報が外部サーバ100に用意されていない場合、車載更新装置2は、以下の処理を行う。なお、上記中止に関する情報の有無の確認において、上記中止に関する情報が外部サーバ100に用意されていない場合は、車載更新装置2と外部サーバ100との通信が成功した場合であって、上記中止に関する情報を取得できなかった場合に相当する。詳細は後述するが、車載更新装置2は、更新プログラムの適用の要否(承諾)を確認するための確認画面を構成する確認画面データを出力する。車載更新装置2は、確認画面データを出力することにより、車両Cの乗員に対し、更新プログラムの適用の要否を確認する(S9)。当該確認画面において、適用を要とする入力を受け付けた場合(適用を要とする入力がなされた場合)、車載更新装置2は、保存した更新プログラムによる更新対象の車載ECU3への適用を行う。詳しくは、更新対象の車載ECU3の記憶部31が1面持ちである場合、車載更新装置2は、保存した更新プログラムを更新対象の車載ECU3へ送信する(S10)。送信された更新プログラムは記憶部31に記憶され、更新対象の車載ECU3に適用される。更新対象の車載ECU3の記憶部31が2面持ちである場合、更新プログラムは記憶部31の非動作面に記憶されているので、車載更新装置2は、更新対象の車載ECU3へ記憶部31の動作面と非動作面の切り替えを要求する。更新対象の車載ECU3による記憶部31の動作面と非動作面の切り替えにより、更新プログラムは適用される。すなわち車載更新装置2は、記憶部31が2面持ちである場合、更新対象の車載ECU3へ更新プログラムの適用を要求する。
【0061】
更新対象の車載ECU3は、更新プログラムの適用の完了、すなわち自ECUのプログラムの更新完了を車載更新装置2へ通知する(S11)。車載更新装置2は、更新対象の車載ECU3へリセット(再起動)を要求してもよい。次にIGスイッチ6がオンとなった際に、更新対象の車載ECU3はより確実に起動することができる。
【0062】
上記中止に関する情報の有無の確認において、上記中止に関する情報が外部サーバ100に用意されていた場合、すなわち上記中止に関する情報を取得した場合、車載更新装置2は、更新対象の車載ECU3への更新プログラムの適用を中止する。すなわち車載更新装置2は、当該車載ECU3のプログラムの更新を中止する。なお、上記中止に関する情報の有無の確認において、上記中止に関する情報が外部サーバ100に用意されていた場合は、車載更新装置2と外部サーバ100との通信が成功した場合であって、上記中止に関する情報を取得できた場合に相当する。
【0063】
車載更新装置2は、S9の処理の代わりに、保存した更新プログラムを消去するための処理を行う。S10及びS11の処理は省略される。更新対象の車載ECU3の記憶部31が1面持ちである場合、車載更新装置2は、記憶部21に記憶(保存)された更新プログラムを消去する。更新対象の車載ECU3の記憶部31が2面持ちである場合、車載更新装置2は、記憶部31の非動作面に記憶(保存)された更新プログラムの消去を更新対象の車載ECU3へ要求する。更新対象の車載ECU3は、記憶部31の非動作面に記憶された更新プログラムを消去し、更新プログラムの消去完了を車載更新装置2へ通知する。
【0064】
IGスイッチ6がオンとなった場合(S12)、車載更新装置2は、車載ECU3のプログラムの更新完了、又は更新プログラムの適用中止の完了、すなわち車載ECU3のプログラムの更新中止完了を外部サーバ100へ通知する(S13)。当該通知は、第1車外通信装置1aを介した車載更新装置2と外部サーバ100との通信により行われてもよく、携帯端末8を介した車載更新装置2と外部サーバ100との通信により行われてもよい。外部サーバ100は、上記中止に関する情報が外部サーバ100に用意されていた場合、車載更新装置2から更新中止完了が通知されるまで、車載更新装置2への新たな更新プログラムの送信、又は新たな更新プログラムに関する通知を行わない構成であってもよい。
【0065】
図5は、車載更新装置2の制御部20が行う更新プログラムの適用に係る処理を例示するメインルーチンのフローチャートである。
図6は、外部サーバ100との通信試行のサブルーチンに係る制御部20の処理手順を例示するフローチャートである。車載更新装置2の制御部20は、車両Cが起動状態(IGスイッチ6がオン)である場合、第1車外通信装置1aを介して外部サーバ100と定期的又は非定期的に通信する。更新すべきプログラム又はデータ、すなわち更新プログラムが外部サーバ100に用意されている場合、以下の処理を行う。又は、制御部20は、第1車外通信装置1aを介して取得した外部サーバ100からの更新通知に基づいて、以下の処理を行ってもよい。制御部20は、更新通知を表示装置5に表示させ、入力装置7を介して車両Cの操作者から入力された更新の承認に基づいて、以下の処理を行ってもよい。
【0066】
図5に示すように、制御部20は、外部サーバ100から更新プログラムを取得し(S21)、車両C内の所定の記憶領域へ保存する。取得された更新プログラムは前述のように、記憶部21に記憶(保存)される、又は更新対象の車載ECU3へ送信され、当該車載ECU3の記憶部31の非動作面に記憶(保存)される。
【0067】
IGスイッチ6がオフとなった場合、制御部20は、外部サーバ100との通信試行に係るサブルーチンを呼び出して実行し(S22)、外部サーバ100との通信を試みる。
図6に示すように、制御部20は、第1車外通信装置1aを介した外部サーバ100との通信を試み(S41)、当該通信の成否を判定する(S42)。制御部20は、第1車外通信装置1aを介した外部サーバ100との通信が成功した場合(S42:YES)、メインルーチンへリターンする。制御部20は、第1車外通信装置1aを介した外部サーバ100との通信が成功しなかった場合(S42:NO)、例えば第1車外通信装置1aが圏外である場合、携帯端末8を介した外部サーバ100との通信を試み(S43)、メインルーチンへリターンする。複数の携帯端末8の識別情報212が記憶部21に記憶されている場合、制御部20は、S43において、それぞれの識別情報212に付与された優先順位(
図3参照)に基づいて、それぞれの携帯端末8を介した外部サーバ100との通信を試みる。
【0068】
図5に示すように、外部サーバ100との通信試行に係るサブルーチンからリターンした場合、制御部20は、外部サーバ100との通信が成功したか否かを判定する(S23)。外部サーバ100との通信が成功した場合(S23:YES)、制御部20は、保存した更新プログラムの中止に関する情報が外部サーバ100に用意されているか否か(中止に関する情報の有無)を確認する
(S24)。当該中止に関する情報が用意されている場合、制御部20は、当該中止に関する情報を取得する。
【0069】
制御部20は、当該中止に関する情報を取得した(当該中止に関する情報が用意されていた)場合(S24:YES)、更新プログラムによる更新対象の車載ECU3への適用を中止する旨を通知するための通知画面を構成する通知画面データを出力し(S25)、表示装置5に通知画面を表示させる。通知画面データは、例えば、予め記憶部21に記憶されている。通知画面データは、取得した上記中止に関する情報に含まれていてもよい。表示装置5に通知画面が表示されることにより、車両Cの操作者等の乗員に対し、更新プログラムによる更新対象の車載ECU3への適用を中止する旨(車載ECU3のプログラムの更新を中止する旨)を通知することができる。通知画面には、例えば、「更新プログラムに不備がありましたので、更新を中止します。」のようなメッセージが表示される。当該メッセージのデータは例えば通知画面データに含まれる。通知画面には、車両Cの操作者による更新中止の承諾(更新プログラムの適用の中止に関する承諾)の入力を受け付けるボタンが含まれていてもよい。更新中止の承諾が入力された場合、当該承諾の入力を受け付けた時刻が記憶部21に記憶されてもよい。車載ECU3のプログラムの更新に関するトレーサビリティを担保することができる。表示装置5は、通知画面に関するデータ、例えば通知画面を表示するための画像データを保持していてもよい。S25にて制御部20は通知画面データとして、表示装置5へ通知画面を表示するように指示する通知画面信号を出力する。表示装置5は、出力された通知画面信号を取得し、通知画面を表示する。通知画面に関するデータは、車載更新装置2の製造時に予め記憶部21に記憶されていてもよい。また、S25にて制御部20は通知画面データとして、通知画面を表示装置5へ出力してもよい。表示装置5は、制御部20から出力された通知画面を表示する。
【0070】
制御部20は、更新中止の承諾が入力された場合、又は通知画面データの出力後に一定時間が経過した場合、更新プログラムの適用を中止する(S26)。車載更新装置2は、前述のように、記憶部21に記憶された更新プログラムの消去、又は更新対象の車載ECU3への記憶部31の非動作面に記憶された更新プログラムの消去の要求を行う。
【0071】
IGスイッチ6がオンとなった場合、制御部20は、S27の処理を行い、処理を終了する。S27の処理は、制御部20が車載ECU3のプログラムの更新完了、又は車載ECU3のプログラムの更新中止完了を、外部サーバ100と車両Cの乗員とへ通知する処理である。更新完了、又は更新中止完了の外部サーバ100への通知は、第1車外通信装置1aを介した通信により行われてもよく、携帯端末8を介した通信により行われてもよい。制御部20は、更新を中止した場合、すなわち更新プログラムの適用を中止した場合に、更新中止完了を、外部サーバ100と車両Cの乗員とへ通知する。外部サーバ100へ更新中止完了を通知する際に、上述の記憶部21に記憶された更新中止の承諾の入力を受け付けた時刻が、第1車外通信装置1a又は携帯端末8を介して外部サーバ100へ送信されてもよい。制御部20は、例えば、「更新の中止が完了しました。」のようなメッセージを表示装置5に表示させることにより、車両Cの乗員へ更新中止完了を通知する。当該メッセージは、例えば、記憶部21に記憶されている。制御部20が更新完了を外部サーバ100と車両Cの乗員とへ通知する場合、すなわち更新が完了した場合については、後述する。
【0072】
制御部20は、上記中止に関する情報を取得しなかった場合(S24:NO)、すなわち上記中止に関する情報が用意されていなかった場合、確認画面データを出力する(S28)。確認画面データは、記憶(保存)された更新プログラムを制御部20が更新対象の車載ECUに適用する際、適用の要否を確認するための確認画面を構成するデータである。確認画面データは、例えば、予め記憶部21に記憶されている。
【0073】
制御部20は、確認画面データを出力することにより、表示装置5に確認画面を表示させる。確認画面には、例えば、「ECUのプログラムの更新を実行します。」のようなメッセージが表示される。当該メッセージのデータは例えば確認画面データに含まれる。確認画面には、更に、車両Cの乗員による更新の承諾の入力を受け付ける(適用の要否を確認する)ボタンが表示される。例えば、車両Cの乗員は、入力装置7の操作により更新の承諾を入力する。制御部20は、適用を要とする入力があるか否かを判定する(S29)。更新の承諾が入力された場合、すなわち適用を要とする入力がある場合(S29:YES)、制御部20は、更新対象の車載ECU3への更新プログラムの適用を行う(S30)。更新の承諾が入力された場合が、適用を要とする入力がなされた場合に相当する。更新対象の車載ECU3の記憶部31が1面持ちである場合、制御部20は、記憶部21に記憶された更新プログラムを更新対象の車載ECU3へ送信する。送信された更新プログラムは、更新対象の車載ECU3の記憶部31に記憶され、当該車載ECU3に適用される。更新対象の車載ECU3の記憶部31が2面持ちである場合、制御部20は、更新対象の車載ECU3へ記憶部31の動作面と非動作面との切り替えを要求する。動作面と非動作面との切り替えにより、更新対象の車載ECU3に更新プログラムが適用される。更新対象の車載ECU3から更新プログラムの適用の完了(更新完了)が制御部20へ通知される。制御部20は、後述するS31の処理を行う。
【0074】
更新の承諾が入力されない場合、すなわち適用を要とする入力がない場合(S29:NO)、再度S29の処理を行うべくループ処理を行う。当該ループ処理を行うにあたって、制御部20は、所定時間の待機処理(スリープ)を実行してもよい。制御部20は、一定時間以上、適用を要とする入力がない場合、処理を終了してもよい。
【0075】
S22における制御部20と外部サーバ100との通信の試行において、制御部20は、外部サーバ100との通信が成功しなかった場合(S23:NO)、更新対象の車載ECU3への更新プログラムの適用を行う。なお、上記外部サーバ100との通信が成功しなかった場合は、詳しくは第1車外通信装置1aを介した通信、及び携帯端末8を介した通信の双方が失敗した場合であり、以下、外部サーバ100との通信が失敗した場合とも称する。外部サーバ100との通信が失敗した場合は、例えば、第1車外通信装置1aと、携帯端末8とが共に圏外である場合である。制御部20は、例えば一定時間以上、外部サーバ100と通信(接続)ができない場合、外部サーバ100との通信が失敗したと判断してもよい。
【0076】
外部サーバ100との通信が失敗した場合、制御部20は、前述のS28にて出力する確認画面データと異なる確認画面データを出力し(S32)、表示装置5に確認画面を表示させる。すなわち外部サーバ100との通信が成功した場合と、外部サーバ100との通信が失敗した場合とにおいて、出力される確認画面データ、及び表示される確認画面は異なる。外部サーバ100との通信が失敗した場合、確認画面には、例えば、前述の「ECUのプログラムの更新を実行します。」のようなメッセージと、前述した更新の承諾の入力を受け付けるボタンとに加えて、以下のようなメッセージが表示される。確認画面には、例えば、通信圏外である旨、及び現時点における最新の上記中止に関する情報(最新の更新中止情報)の有無について確認できていない旨を示すメッセージが表示される。具体的には、確認画面に、「通信圏外であり、最新の更新中止情報の有無について確認できていません。」のようなメッセージが表示される。確認画面には、後述するバックアップを行う旨を示すメッセージ、例えば「更新の際に、現時点のプログラムをバックアップします。」のようなメッセージが表示されてもよい。これらのメッセージは、例えば確認画面データに含まれ、記憶部21に予め記憶してある。確認画面にはメッセージ以外に、例えば通信圏外を示すマークが表示されてもよい。S28に係る確認画面(外部サーバ100との通信が成功した場合の確認画面)の色と、S32に係る確認画面(外部サーバ100との通信が失敗した場合の確認画面)の色とが異なっていてもよい。例えば確認画面は、S28に係る確認画面の色を青色とし、S32に係る確認画面の色を黄色とする構成でもよい。S28とS32とにおいて異なる確認画面データを出力することにより、車両Cの操作者等、更新プログラム適用の要否の確認者に対し、適切な情報、例えば外部サーバ100との通信状況、及び最新の更新中止情報の有無が未確認であることを提供することができる。
【0077】
表示装置5は、確認画面に関するデータ、例えば、それぞれの確認画面を表示するための複数の画像データ(S28に係る確認画面を表示するための画像データ、及びS32に係る確認画面を表示するための画像データ)を保持していてもよい。この場合、S32において、制御部20は確認画面データとして、表示装置5へS32に係る確認画面を表示するように指示する確認画面信号を出力する。表示装置5は、出力された当該確認画面信号を取得し、S32に係る確認画面を表示する。前述のS28において、制御部20は確認画面データとして、表示装置5へS28に係る確認画面を表示するように指示する確認画面信号を出力する。表示装置5は、出力された当該確認画面信号を取得し、S28に係る確認画面を表示する。確認画面に関するデータは、車載更新装置2の製造時に予め記憶部21に記憶されていてもよい。S32において、制御部20は、例えば、それぞれの確認画面を表示するための複数の画像データから、S32に係る確認画面を表示するための画像データを選択し、選択した当該画像データを表示装置5へ出力する。表示装置5は、出力された当該画像データを取得し、S32に係る確認画面を表示する。前述のS28において、制御部20は、例えば、それぞれの確認画面を表示するための複数の画像データから、S28に係る確認画面を表示するための画像データを選択し、選択した当該画像データを表示装置5へ出力する。表示装置5は、出力された当該画像データを取得し、S28に係る確認画面を表示する。また、S28、S32にて制御部20は確認画面データとして、確認画面を表示装置5へ出力してもよい。表示装置5は、制御部20から出力された確認画面を表示する。
【0078】
制御部20は、S29の処理と同様、適用を要とする入力があるか否かを判定する(S33)。適用を要とする入力がない場合(S33:NO)においては、前述のS29:NOの場合と同様の処理が行われるので、適用を要とする入力がない場合の説明は省略する。適用を要とする入力がある場合(S33:YES)、すなわち適用を要とする入力がなされた場合、制御部20は、更新対象の車載ECU3の現時点におけるプログラム(現プログラム)を保存する(S34)。すなわち制御部20は、更新対象の車載ECU3の現プログラムのバックアップを行う。現プログラムは、例えば、車載更新装置2の記憶部21に記憶(保存)される。制御部20は、S30の処理を行う。すなわち、制御部20は、更新対象の車載ECU3への更新プログラムの適用を行う。
【0079】
制御部20は、更新プログラムの適用後、履歴情報213を保存する(S31)。履歴情報213は、例えば、記憶部21に記憶(保存)される。履歴情報213には、更新対象の車載ECU3への更新プログラムの適用が行われたことを示す情報と、適用の際における外部サーバ100との通信の正否に関する情報とが関連付けて記録される。更新対象の車載ECU3への更新プログラムの適用が行われたことを示す情報には、例えば、更新対象の車載ECU3の識別番号、及び適用された更新プログラムの名前(バージョン)が含まれる。更新対象の車載ECU3への更新プログラムの適用が行われたことを示す情報には、更に、更新の承諾の入力時刻、及び更新の完了時刻、例えば車載ECU3から更新の完了が通知された時刻が含まれてもよい。適用の際における外部サーバ100との通信の正否に関する情報には、通信の成功又は失敗を示す情報に加え、通信成功の場合においては、第1車外通信装置1aを介した通信であること、又は携帯端末8を介した通信であることを示す情報が含まれてもよい。また、携帯端末8を介した通信である場合、用いられた携帯端末の識別情報212が含まれていてもよい。履歴情報213を保存することにより、車載ECU3のプログラムの更新に関するトレーサビリティを担保することができる。
【0080】
IGスイッチ6がオンとなった場合、制御部20は、S27の処理を行い、処理を終了する。S27において、制御部20は、車載ECU3のプログラムの更新が完了した場合、すなわち更新プログラムの適用が完了した場合、更新完了を、外部サーバ100と車両Cの乗員とへ通知する。制御部20は、例えば、「更新が完了しました。」のようなメッセージを表示装置5に表示させることにより、車両Cの乗員へ更新完了を通知する。当該メッセージは、例えば、記憶部21に記憶されている。外部サーバ100へ更新完了を通知する際に、履歴情報213、又は履歴情報213の一部、例えば更新の完了時刻が、第1車外通信装置1a又は携帯端末8を介して外部サーバ100へ送信されてもよい。
【0081】
S23にて外部サーバ100との通信が失敗した場合において、外部サーバ100へ更新完了を通知する際、制御部20は、適用した更新プログラムの中止に関する情報が外部サーバ100に用意されているか否かを確認する。当該中止に関する情報が用意されている場合、制御部20は、当該中止に関する情報を取得し、以下の処理を行う。更新対象の車載ECU3の記憶部31が1面持ちである場合、制御部20は、S34にて保存した更新前のプログラム(S34における現プログラム)、すなわち更新プログラムの前バージョンとなるプログラムを、更新対象の車載ECU3へ送信する。送信された更新前のプログラムは、当該車載ECU3の記憶部31に記憶され、当該車載ECU3に適用される。更新対象の車載ECU3の記憶部31が2面持ちである場合、更新前のプログラムは、記憶部31の第1記憶領域又は第2記憶領域(非動作面)に記憶されている。制御部20は、更新対象の車載ECU3へ動作面と非動作面との切り替えを要求する。動作面と非動作面との切り替えにより、更新対象の車載ECU3に更新前のプログラムが適用される。更新対象の車載ECU3の記憶部31が2面持ちである場合、S34の処理は省略できる。更新プログラムの適用が行われる時点において、当該更新プログラムの中止に関する情報の有無が確認できていない場合、更新対象の車載ECU3の現時点におけるプログラムを保存する処理が行われる。更新対象の車載ECU3へ適用した更新プログラムの中止に関する情報を、当該適用の後に取得した際に、保存した上記現時点におけるプログラムを用いて、ロールバック処理を行うことができる。
【0082】
車載更新装置2は、更新プログラムを車両内の所定の記憶領域に保存した後に、当該更新プログラムの中止に関する情報が、外部サーバ100において用意されているか否かを確認するため、外部サーバ100との通信を試みる。既に保存した更新プログラムに問題があることが発覚し、外部サーバ100に当該更新プログラムの中止に関する情報が用意されている場合、当該中止に関する情報を取得することができる。
【0083】
車載更新装置2は、外部サーバ100との通信が成功した場合であって、保存した更新プログラムの中止に関する情報を取得できた場合、更新プログラムの適用を中止する。また、取得した更新プログラムの中止に関する情報を取得できなかった場合、更新プログラムの適用を行う。中止に関する情報に係る更新プログラムが、更新対象の車載ECU3に適用されることを防止することができる。
【0084】
外部サーバ100との通信が成功した場合であって、外部サーバ100へ更新完了を通知する際、車載更新装置2は、適用した更新プログラムの中止に関する情報が外部サーバ100に用意されているか否かを確認してもよい。当該中止に関する情報が用意されている場合であって、更新対象の車載ECU3の記憶部31が2面持ちである場合、車載更新装置2は、上述のようにしてロールバック処理を行う。記憶部31が1面持ちである場合、例えば、更新前のプログラムが外部サーバ100から車載更新装置2へ送信される。送信された更新前のプログラムは、車載更新装置2により更新対象の車載ECU3へ送信され、当該車載ECU3に適用される。外部サーバ100との通信が失敗した場合と同様に、更新プログラムの適用の際に、更新前のプログラムが保存されてもよい。中止に関する情報に係る更新プログラムが、更新対象の車載ECU3に適用されることを効果的に防止することができる。
【0085】
車載更新装置2は、外部サーバ100との通信が失敗した場合、保存した更新プログラムによる更新対象の車載ECU3への適用を行う。外部サーバ100との通信ができない状況が継続する場合であっても、更新プログラムの適用により、更新対象の車載ECU3が用いるプログラムの適正化を図ることができる。
【0086】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0087】
C 車両
S 車載更新システム
N 車外ネットワーク
1a 第1車外通信装置
1b 第2車外通信装置
2 車載更新装置
3 車載ECU
4 車内LAN
5 表示装置
6 IGスイッチ
7 入力装置
8 携帯端末
11a アンテナ
11b アンテナ
20 制御部
21 記憶部
22 記録媒体
23 車内通信部
24 入出力I/F
30 制御部
31 記憶部
32 車内通信部
100 外部サーバ
110 記憶部
111 車両DB
211 制御プログラム
212 識別情報
213 履歴情報