IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社アドヴィックスの特許一覧

<>
  • 特許-車両リプログラミングシステム 図1
  • 特許-車両リプログラミングシステム 図2
  • 特許-車両リプログラミングシステム 図3
  • 特許-車両リプログラミングシステム 図4
  • 特許-車両リプログラミングシステム 図5
  • 特許-車両リプログラミングシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-22
(45)【発行日】2024-01-30
(54)【発明の名称】車両リプログラミングシステム
(51)【国際特許分類】
   G06F 8/65 20180101AFI20240123BHJP
   B60R 16/02 20060101ALI20240123BHJP
   G06F 21/60 20130101ALI20240123BHJP
   G06F 21/82 20130101ALI20240123BHJP
【FI】
G06F8/65
B60R16/02 660U
G06F21/60 320
G06F21/82
【請求項の数】 4
(21)【出願番号】P 2019177735
(22)【出願日】2019-09-27
(65)【公開番号】P2021056655
(43)【公開日】2021-04-08
【審査請求日】2022-08-30
(73)【特許権者】
【識別番号】301065892
【氏名又は名称】株式会社アドヴィックス
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】青木 光
【審査官】渡辺 一帆
(56)【参考文献】
【文献】特開2017-175208(JP,A)
【文献】特開2007-334602(JP,A)
【文献】特開2013-240946(JP,A)
【文献】特開2015-202710(JP,A)
【文献】特開2014-182571(JP,A)
【文献】特開2019-105946(JP,A)
【文献】特開2017-059894(JP,A)
【文献】国際公開第2014/083775(WO,A1)
【文献】国際公開第2016/190377(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/65-8/658
B60R 16/02
G06F 21/60
G06F 21/82
(57)【特許請求の範囲】
【請求項1】
車載ネットワークに接続されるように車両に搭載された複数の車載電子装置であって、当該車載ネットワークと前記車両の外部の外部装置との通信を制御する車載電子装置である通信制御装置を含む複数の車載電子装置を備え、
前記複数の車載電子装置のうち第1の電子装置とは異なる第2の電子装置は、前記通信制御装置を介して前記外部装置から受信された、前記第1の電子装置のリプログラミング用の暗号化されたコンピュータプログラムを復号化し、復号化されたコンピュータプログラムを、前記車載ネットワークを介して、前記第1の電子装置に送信し、
前記第1の電子装置は、前記第2の電子装置から前記復号化されたコンピュータプログラムを受信した場合に、当該復号化されたコンピュータプログラムに基づいて、前記リプログラミングを実行し、
前記第2の電子装置は、前記リプログラミング用の前記コンピュータプログラムとして互いに異なる複数のコンピュータプログラムが前記通信制御装置を介して前記外部装置から受信された場合に、当該複数のコンピュータプログラムの復号化を開始し、前記複数のコンピュータプログラムのうち少なくとも1つの復号化の完了に応じて、復号化されたコンピュータプログラムのうちの1つを、前記車載ネットワークを介して前記第1の電子装置に送信し、その後、所定の開始条件が成立するごとに、復号化された残りのコンピュータプログラムを1つずつ、前記車載ネットワークを介して前記第1の電子装置に送信し、
前記第1の電子装置は、前記復号化されたコンピュータプログラムを前記第2の電子装置から1つ受信するごとに、前記リプログラミングを実行し、
前記開始条件は、車両に対する特定の運転操作である、
車両リプログラミングシステム。
【請求項2】
前記通信制御装置は、前記リプログラミング用の前記コンピュータプログラムを前記第2の電子装置が前記通信制御装置を介して前記外部装置から受信した場合に、前記車載ネットワークと前記外部装置との通信経路を遮断する、
請求項1に記載の車両リプログラミングシステム。
【請求項3】
前記開始条件は、ライトを点灯したのち所定の時間内にブレーキのON/OFFを所定回数繰り返すことである、
請求項1または2に記載の車両リプログラミングシステム。
【請求項4】
前記第2の電子装置は、前記第1の電子装置のリプログラミングを実現するための専用の制御モードと、他の機能を実現するための他の制御モードと、を切り替え可能に構成されている、
請求項1~3のうちいずれか1項に記載の車両リプログラミングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車両リプログラミングシステムに関する。
【背景技術】
【0002】
従来、車両に搭載される電子装置のリプログラミングを実行するための技術について様々に検討されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2014-194688号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような従来の技術では、セキュリティの観点から、リプログラミング用のコンピュータプログラムが、暗号化された状態で電子装置に提供されることが一般的である。したがって、上記のような従来の技術では、たとえばコンピュータプログラムの書き換えおよび書き換えられたコンピュータプログラムの検証の目的でコンピュータプログラムを使用する度に、復号化を実行する必要があり、処理時間が長くなりやすい。
【0005】
そこで、本開示の課題の一つは、より短時間でのリプログラミングを実現することが可能な車両リプログラミングシステムを提供することである。
【課題を解決するための手段】
【0006】
本開示の一例としての車両リプログラミングシステムは、車載ネットワークに接続されるように車両に搭載された複数の車載電子装置であって、当該車載ネットワークと車両の外部の外部装置との通信を制御する車載電子装置である通信制御装置を含む複数の車載電子装置を備え、複数の車載電子装置のうち第1の電子装置とは異なる第2の電子装置は、通信制御装置を介して外部装置から受信された、第1の電子装置のリプログラミング用の暗号化されたコンピュータプログラムを復号化し、復号化されたコンピュータプログラムを、車載ネットワークを介して、第1の電子装置に送信し、第1の電子装置は、第2の電子装置から復号化されたコンピュータプログラムを受信した場合に、当該復号化されたコンピュータプログラムに基づいて、リプログラミングを実行する。
【0007】
上述した車両リプログラミングシステムによれば、リプログラミングの実行にあたり、復号化されたコンピュータプログラムが車載ネットワークと外部との通信が通信制御装置により制御された状態の車載ネットワーク内で伝送されるので、車載ネットワーク内でのコンピュータプログラムの伝送が外部から盗み見られるようなことがなく、すなわち、セキュリティを損なうことなく、リプログラミング用のコンピュータプログラムを復号化したまま車載ネットワーク上で伝送することができる。したがって、コンピュータプログラムの書き換えおよび書き換えられたコンピュータプログラムの検証の目的でコンピュータプログラムを使用する度に復号化を実行する必要が無いので、より短時間でのリプログラミングを実現することができる。
【0008】
上述した車両リプログラミングシステムにおいて、通信制御装置は、リプログラミング用のコンピュータプログラムを第2の電子装置が通信制御装置を介して外部装置から受信した場合に、車載ネットワークと外部装置との通信経路を遮断する。このような構成によれば、リプログラミング中に通信制御装置により車載ネットワークと外部装置との通信経路を遮断することで、車両の外部からの車載ネットワークへのアクセスを防止し、リプログラミング中のセキュリティを高めることができる。
【0009】
また、上述した車両リプログラミングシステムにおいて、第2の電子装置は、リプログラミング用のコンピュータプログラムとして互いに異なる複数のコンピュータプログラムが通信制御装置を介して外部装置から受信された場合に、当該複数のコンピュータプログラムの復号化を開始し、複数のコンピュータプログラムのうち少なくとも1つの復号化の完了に応じて、復号化されたコンピュータプログラムのうちの1つを、車載ネットワークを介して第1の電子装置に送信し、その後、所定の条件が成立するごとに、復号化された残りのコンピュータプログラムを1つずつ、車載ネットワークを介して第1の電子装置に送信し、第1の電子装置は、復号化されたコンピュータプログラムを第2の電子装置から1つ受信するごとに、リプログラミングを実行する。このような構成によれば、リプログラミング用の複数のコンピュータプログラムのうち少なくとも1つの復号化が完了した時点で1回目のリプログラミングを開始し、残りのコンピュータプログラムの復号化を1回目(以降)のリプログラミングと並行して実行することができるので、複数回のリプログラミングに要する時間のさらなる短縮化を図ることができる。
【0010】
また、上述した車両リプログラミングシステムにおいて、第2の電子装置は、第1の電子装置のリプログラミングを実現するための専用の制御モードと、他の機能を実現するための他の制御モードと、を切り替え可能に構成されている。このような構成によれば、制御モードの切り替えにより、第2の電子装置のリソースを効率的に使用することができる。
【図面の簡単な説明】
【0011】
図1図1は、実施形態にかかる車両リプログラミングシステムの全体構成を示した例示的かつ模式的なブロック図である。
図2図2は、実施形態にかかる車両リプログラミングシステムにおいて実現される機能を示した例示的かつ模式的なブロック図である。
図3図3は、実施形態にかかる車両リプログラミングシステムが単発的なリプログラミングの際に実行する処理の流れをフローチャート的に示した例示的かつ模式的な図である。
図4図4は、実施形態にかかる車両リプログラミングシステムが連続的なリプログラミングの際に実行する処理の流れの一部をフローチャート的に示した例示的かつ模式的な図である。
図5図5は、実施形態にかかる車両リプログラミングシステムが連続的なリプログラミングの際に図4に示される処理に続いて実行する処理の流れをフローチャート的に示した例示的かつ模式的な図である。
図6図6は、実施形態にかかる車両リプログラミングシステムの電子装置を実現するためのコンピュータのハードウェア構成を示した例示的かつ模式的なブロック図である。
【発明を実施するための形態】
【0012】
以下、本開示のいくつかの実施形態および変形例を図面に基づいて説明する。以下に記載する実施形態および変形例の構成、ならびに当該構成によってもたらされる作用および効果は、あくまで一例であって、以下の記載内容に限られるものではない。
【0013】
<実施形態>
図1は、実施形態にかかる車両リプログラミングシステムの全体構成を示した例示的かつ模式的なブロック図である。
【0014】
図1に示されるように、実施形態にかかる車両リプログラミングシステムは、車載ネットワーク150に接続されるように車両に搭載された複数の電子装置100を備えている。なお、電子装置は、車載電子装置とも表現しうる。
【0015】
複数の電子装置100は、1つのゲートウェイECU(Electronic Control Unit)110と、複数のECU120と、を含んでいる。なお、実施形態において、ゲートウェイECU110は、複数のECU120よりも記憶容量および演算速度などの観点で高性能なハードウェアによって構成されているものとする。
【0016】
ゲートウェイECU110は、車載ネットワーク150と、車両の外部との通信を制御する機能を有した通信制御装置である。たとえば、ゲートウェイECU110は、車両に外部から接続されるリプログラミングツールRT、および、インターネットのような外部ネットワークN上のサーバなどといった外部装置と車載ネットワーク150との間の通信を制御する機能などを有している。より具体的に、ゲートウェイECU110は、車載ネットワーク150に接続された電子装置100と車両の外部の外部装置との間の通信が適切に実行されているか否かを監視し、外部装置との異常な通信を検出した際に対応処置を実行し、通信経路170の遮断および当該遮断の解除などを実行する機能などを有している。
【0017】
また、複数のECU120は、それぞれ、車両に設けられる各種の機構を制御する機能を有した車両制御装置である。たとえば、複数のECU120は、車両に設けられるブレーキ機構を制御する機能を有したブレーキ制御装置などを含んでいる。このブレーキ制御装置は、複数の車輪のブレーキ機構を個別に制御する機能を有した複数の第1の電子装置と、当該第1のブレーキ装置を統括的に制御する第2の電子装置と、を含みうる。このような構成において、第2の電子装置は、第1の電子装置よりも記憶容量および演算速度などの観点で高性能なハードウェアによって構成されていることが一般的である。
【0018】
なお、詳細は後述するが、ゲートウェイECU110およびECU120を含む複数の電子装置100は、いずれも、コンピュータ600(図6参照)として構成される。したがって、複数の電子装置100は、いずれも、それぞれの機能を実現するために作成されたコンピュータプログラムに従って動作する。なお、以下では、簡単化のため、コンピュータプログラムを単にプログラムと表現することがある。
【0019】
ここで、たとえば市場に出た車両の機能のアップデート時および車両の機能の開発時などにおいて、電子装置100のプログラムを書き換えるリプログラミングを実行するための技術が求められることがある。この場合、リプログラミング用のプログラムは、リプログラミングツールRTおよび外部ネットワークN上のサーバなどといった外部装置から提供される。
【0020】
従来から、電子装置100のリプログラミングを実行するための技術について様々に検討されている。このような従来の技術では、セキュリティの観点から、リプログラミング用のプログラムは、暗号化された状態で電子装置100に提供されることが一般的である。
【0021】
したがって、上記のような従来の技術では、たとえばプログラムの書き換えおよび書き換えられたプログラムの検証の目的でプログラムを使用する度に、復号化を実行する必要があり、リプログラミングに要する時間が長くなりやすい。特に、セキュリティ向上のために暗号化の方法の複雑化が進んでいる昨今においては、暗号化されたプログラムの復号化に要する時間が長期化する傾向にあり、リプログラミングに要する時間が長くなりやすい。
【0022】
そこで、実施形態は、以下に説明するような機能および処理により、より短時間でのリプログラミングを実現することを可能にする。
【0023】
図2は、実施形態にかかる車両リプログラミングシステムにおいて実現される機能を示した例示的かつ模式的なブロック図である。なお、以下では、リプログラミング対象のECU120をECU120a、リプログラミング対象ではない他のECU120をECU120bと記載する。
【0024】
図2に示されるように、ゲートウェイECU110は、通信処理部111と、復号化部112と、モード切替部113と、を備えている。
【0025】
通信処理部111は、ゲートウェイECU110が他の装置との間で実行する通信を制御する機能を有する。また、復号化部112は、プログラムの暗号化を解除するための復号化処理を実行する機能を有する。また、モード切替部113は、ゲートウェイECU110の制御モードを適宜切り替える機能を有する(詳細は後述する)。
【0026】
また、ECU120aは、通信処理部121aと、リプログラミング実行部122aと、を備えており、ECU120bは、通信処理部121bと、通知部122bと、条件判定部123bと、を備えている。
【0027】
通信処理部121aおよび121bは、それぞれ、ECU120aおよび120bが他の装置との間で実行する通信を制御する機能を有する。また、リプログラミング実行部122aは、ECU120aのリプログラミングのための各種の処理を実行する機能を有する。なお、通知部122bおよび条件判定部123bは、共に、ECU120aのプログラムを複数回連続的に書き換える連続的なリプログラミングの際にその機能を発揮する(詳細は後述する)。
【0028】
以上のような機能モジュール群に基づき、実施形態にかかる車両リプログラミングシステムは、ECU120aのリプログラミングを、次の図3図5に示されるような流れで実行される処理によって実現する。
【0029】
まず、ECU120aのプログラムを1回だけ書き換える単発的なリプログラミングは、一例として、次の図3に示されるような流れで実行される。
【0030】
図3は、実施形態にかかる車両リプログラミングシステムが単発的なリプログラミングの際に実行する処理の流れをフローチャート的に示した例示的かつ模式的な図である。
【0031】
図3に示されるように、実施形態では、まず、ステップS310において、リプログラミングツールRTは、ECU120aのリプログラミングの実行にあたり、ECU120aで現在使用されているプログラムの消去を指示するためのプログラム消去指示を、ゲートウェイECU110に送信する。なお、実施形態では、ステップS310の処理の実行に当たり、リプログラミングツールRTとゲートウェイECU110との間で認証処理が実行されてもよい。
【0032】
そして、ステップS330において、ゲートウェイECU110の通信処理部111は、ステップS310においてリプログラミングツールRTから受信されたプログラム消去指示を、車載ネットワーク150を介してECU120aに転送する。なお、実施形態では、ステップS330の処理の実行に当たり、ゲートウェイECU110とECU120aの間で認証処理が実行されてもよい。
【0033】
そして、ステップS350において、ECU120aの通信処理部121aは、ステップS330においてゲートウェイECU110から転送されたプログラム消去指示を受信する。
【0034】
そして、ステップS351において、ECU120aのリプログラミング実行部122aは、ステップS350において受信されたプログラム消去指示に従って、ECU120aで現在使用されているプログラムを消去する。
【0035】
一方、ステップS310におけるプログラム消去指示の送信の後、ステップS311において、リプログラミングツールRTは、ECU120aのリプログラミング用のプログラムを、ゲートウェイECU110に送信する。このステップS311においてリプログラミングツールRTからゲートウェイECU110に送信されるプログラムは、暗号化されているので、以下では、暗号化プログラムと表現されることがある。
【0036】
そして、ステップS331において、ゲートウェイECU110の通信処理部111は、ステップS331においてリプログラミングツールRTから送信された暗号化プログラムを受信する。
【0037】
そして、ステップS332において、ゲートウェイECU110の通信処理部111は、車載ネットワーク150と外部との通信経路170を遮断し、ゲートウェイECU110のモード切替部113は、ゲートウェイECU110の制御モードを、外部との通信を制御するという通常動作を実現するための通常の制御モードから、ECU120aの単発的なリプログラミングを実現するための専用の制御モードに切り替える。
【0038】
そして、ステップS333において、ゲートウェイECU110の復号化部112は、ステップS331において受信された暗号化プログラムの復号化を実行する。
【0039】
そして、ステップS334において、ゲートウェイECU110の通信処理部111は、ステップS333における復号化を経たプログラムを、車載ネットワーク150を介してECU120aに送信する。なお、以下では、ステップS333における復号化を経たプログラムが、復号化プログラムと表現されることがある。
【0040】
そして、ステップS352において、ECU120aの通信処理部121aは、ステップS334においてゲートウェイECU110から送信された復号化プログラムを受信する。
【0041】
そして、ステップS353において、ECU120aのリプログラミング実行部122aは、ステップS352において受信された復号化プログラムに従って以後動作するように、当該復号化プログラムの書き込みを実行する。
【0042】
そして、ステップS354において、ECU120aのリプログラミング実行部122aは、ステップS353における書き込みの完了に応じて、書き込み完了通知を、車載ネットワーク150を介してゲートウェイECU110に送信する。
【0043】
そして、ステップS335において、ゲートウェイECU110の通信処理部111は、ステップS354においてECU120aから送信された書き込み完了通知を受信する。
【0044】
そして、ステップS336において、ゲートウェイECU110の通信処理部111は、ステップS353における書き込みの成否などをECU120aに検証させるために、ステップS334で送信した復号化プログラムの同一の復号化プログラムを、車載ネットワーク150を介してECU120aに送信する。
【0045】
そして、ステップS355において、ECU120aの通信処理部121aは、ステップS336においてゲートウェイECU110から送信された復号化プログラムを受信する。
【0046】
そして、ステップS356において、ECU120aのリプログラミング実行部122aは、ステップS355において受信された復号化プログラムに基づいて、ステップS353における書き込みの成否などを検証するためのベリファイ処理を実行する。
【0047】
そして、ステップS357において、ECU120aの通信処理部121aは、ステップS356におけるベリファイ処理の完了に応じて、当該ベリファイ処理の結果を含むベリファイ完了通知を、車載ネットワーク150を介してゲートウェイECU110に送信する。ステップS353における書き込みが失敗していた場合、ECU120aは、ステップS350以降の一連の処理を再び実行する可能性があるが、ステップS353における書き込みが成功していた場合、ECU120aの処理は、ステップS357をもって終了する。
【0048】
そして、ステップS337において、ゲートウェイECU110の通信処理部111は、ステップS357においてECU120aから送信されたベリファイ完了通知を受信する。受信されたベリファイ完了通知が書き込みの失敗を示す場合、ゲートウェイECU110の通信処理部111は、プログラム消去指示をECU120aに再び送信する可能性があるが、受信されたベリファイ完了通知が書き込みの成功を示す場合、ゲートウェイECU110の通信処理部111は、次のステップS338の処理を実行する。
【0049】
ステップS338において、ゲートウェイECU110の通信処理部111は、車載ネットワーク150と外部との通信経路170の遮断を解除し、ゲートウェイECU110のモード切替部113は、ゲートウェイECU110の制御モードを、ECU120aの単発的なリプログラミングを実現するための専用の制御モードから、外部との通信を制御するという通常動作を実現するための通常の制御モードに切り替える。
【0050】
そして、ステップS339において、ゲートウェイECU110の通信処理部339は、ECU120aのリプログラミングが完了した旨を通知するための書き換え完了通知をリプログラミングツールRTに送信する。これにより、ゲートウェイECU110の処理が終了する。
【0051】
そして、ステップS312において、プログラミングツールRTは、ステップS339においてゲートウェイECU110から送信された書き換え完了通知を受信する。そして、プログラミングツールRTは、リプログラミングが完了した旨を、たとえばプログラミングツールRTのオペレータなどの作業者に通知し、処理を終了する。
【0052】
このように、実施形態では、暗号化プログラムの復号化が、ECU120aではなく、当該ECU120aよりも記憶容量および演算速度などの観点で高性能なハードウェアによって構成されたゲートウェイECU110によって実行される。したがって、実施形態によれば、暗号化プログラムの復号化に要する時間を短縮することができるので、より短時間でのリプログラミングを実現することができる。
【0053】
また、実施形態では、リプログラミングの実行にあたり、車載ネットワーク150と外部との通信経路170が遮断されるので、セキュリティを損なうことなく、リプログラミング用のプログラムを復号化プログラムのまま車載ネットワーク150上で伝送することができる。したがって、実施形態によれば、プログラムの書き換えおよび書き換えられたプログラムの検証の目的でプログラムを使用する度に復号化を実行する必要が無いので、より短時間でのリプログラミングを実現することができる。
【0054】
一方、ECU120aのプログラムを複数回連続的に書き換える連続的なリプログラミングは、一例として、次の図4および図5に示されるような流れで実行される。
【0055】
図4は、実施形態にかかる車両リプログラミングシステムが連続的なリプログラミングの際に実行する処理の流れの一部をフローチャート的に示した例示的かつ模式的な図である。また、図5は、実施形態にかかる車両リプログラミングシステムが連続的なリプログラミングの際に図4に示される処理に続いて実行する処理の流れをフローチャート的に示した例示的かつ模式的な図である。
【0056】
図4に示されるように、実施形態では、まず、ステップS410において、リプログラミングツールRTは、ECU120aの連続的なリプログラミング用の複数の暗号化プログラムを、ゲートウェイECU110に送信する。なお、実施形態では、ステップS410の処理の実行に当たり、リプログラミングツールRTとゲートウェイECU110との間で認証処理が実行されてもよい。
【0057】
ステップS330の後のリプログラミングツールRTの処理は、連続的なリプログラミングの完了に応じて通知を出力する処理などを経て終了する(図3に基づく上記の説明から類推できるので詳細な説明は省略する)。
【0058】
そして、ステップS430において、ゲートウェイECU110の通信処理部111は、ステップS410においてリプログラミングツールRTから受信された複数の暗号化プログラムを受信する。
【0059】
そして、ステップS431において、ゲートウェイECU110の通信処理部111は、ゲートウェイECU110の通信処理部111は、車載ネットワーク150と外部との通信経路170を遮断し、ゲートウェイECU110のモード切替部113は、ゲートウェイECU110の制御モードを、外部との通信を制御するという通常動作を実現するための通常の制御モードから、ECU120aの連続的なリプログラミングを実現するための専用の制御モードに切り替える。
【0060】
そして、ステップS432において、ゲートウェイECU110の通信処理部111は、ECU120aで現在使用されているプログラムの消去を指示するためのプログラム消去指示を、車載ネットワーク150を介してECU120aに送信する。なお、実施形態では、ステップS432の処理の実行に当たり、ゲートウェイECU110とECU120aとの間で認証処理が実行されてもよい。
【0061】
そして、ステップS450において、ECU120aの通信処理部121aは、ステップS432においてゲートウェイECU110から送信されたプログラム消去指示を受信する。
【0062】
そして、ステップS451において、ECU120aのリプログラミング実行部122aは、ステップS450において受信されたプログラム消去指示に従って、ECU120aで現在使用されているプログラムを消去する。
【0063】
一方、ステップS433において、ゲートウェイECU110の復号化部112は、ステップS430において受信された複数の暗号化プログラムの復号化を実行する。ステップS433においては、少なくとも1つの暗号化プログラムの復号化が完了すればよく、残りの暗号化プログラムの復号化は、以降の処理と並行して実行されうる。
【0064】
そして、少なくとも1つの暗号化プログラムの復号化が完了した後、ステップS434において、ゲートウェイECU110の通信処理部111は、1つの復号化プログラムを、車載ネットワーク150を介してECU120aに送信する。
【0065】
そして、ステップS452において、ECU120aの通信処理部121aは、ステップS434においてゲートウェイECU110から送信された復号化プログラムを受信する。
【0066】
そして、ステップS453において、ECU120aのリプログラミング実行部122aは、ステップS452において受信された復号化プログラムに従って以後動作するように、当該復号化プログラムの書き込みを実行する。
【0067】
そして、ステップS454において、ECU120aのリプログラミング実行部122aは、ステップS453における書き込みの完了に応じて、書き込み完了通知を、車載ネットワーク150を介してゲートウェイECU110に送信する。
【0068】
そして、ステップS435において、ゲートウェイECU110の通信処理部111は、ステップS454においてECU120aから送信された書き込み完了通知を受信する。
【0069】
そして、ステップS436において、ゲートウェイECU110の通信処理部111は、ステップS453における書き込みの成否などをECU120aに検証させるために、ステップS434で送信した復号化プログラムの同一の復号化プログラムを、車載ネットワーク150を介してECU120aに送信する。
【0070】
そして、ステップS455において、ECU120aの通信処理部121aは、ステップS436においてゲートウェイECU110から送信された復号化プログラムを受信する。
【0071】
そして、ステップS456において、ECU120aのリプログラミング実行部122aは、ステップS455において受信された復号化プログラムに基づいて、ステップS453における書き込みの成否などを検証するためのベリファイ処理を実行する。
【0072】
そして、ステップS457において、ECU120aの通信処理部121aは、ステップS456におけるベリファイ処理の完了に応じて、当該ベリファイ処理の結果を含むベリファイ完了通知を、車載ネットワーク150を介してゲートウェイECU110に送信する。ステップS453における書き込みが失敗していた場合、ECU120aは、ステップS450以降の一連の処理を再び実行する可能性があるが、ステップS453における書き込みが成功していた場合、ステップS457をもって、ECU120aの1回目のリプログラミングが完了する。
【0073】
そして、ステップS437において、ゲートウェイECU110の通信処理部111は、ステップS457においてECU120aから送信されたベリファイ完了通知を受信する。受信されたベリファイ完了通知が書き込みの失敗を示す場合、ゲートウェイECU110の通信処理部111は、ステップS432以降の一連の処理を再び実行する可能性があるが、受信されたベリファイ完了通知が書き込みの成功を示す場合、ゲートウェイECU110の通信処理部111は、次のステップS438の処理を実行する。
【0074】
ステップS438において、ゲートウェイECU110の通信処理部111は、ECU120aの1回目のリプログラミングが完了した旨を通知するための書き換え完了通知を、車載ネットワーク150を介してECU120bに送信する。
【0075】
そして、ステップS470において、ECU120bの通信処理部121bは、ステップS438においてゲートウェイECU110から送信された書き換え完了通知を受信する。
【0076】
そして、ステップS471において、ECU120bの通知部122bは、ステップS470における書き換え完了通知の受信に応じて、ECU120bのプログラムの書き換えが完了した旨の通知を作業者が視覚または聴覚で認識可能な態様で出力する。なお、この通知をリプログラミングツールRTではなくECU120bから出力する理由は、復号化プログラムが伝送されている状態においては、特に工場などの外部からの不正なアクセスに対する安全が確保されている環境以外では、セキュリティの観点から、外部からの不正アクセスに対する安全性をより高めるために、外部との通信の遮断を継続することが好ましいからである。また、リプログラミング用のプログラムを送信した後は、すぐに車両とリプログラミングツールRTの接続を解除できるため、リプログラミングの完了を待たずに、適合試験のための車両の走行が容易になる効果もある。
【0077】
そして、作業者は、ステップS471における通知により、1回目のリプログラミングが完了した旨を認識した後、リプログラミング後のECU120aの機能のチェックなどを実行する。このチェックは、たとえば運転操作に応じた車両の挙動を調べることなどを含んでいる。
【0078】
そして、図5に示されるように、ステップS570において、ECU120bの条件判定部123bは、次回のリプログラミングを開始するための所定の条件が成立したか否かを判定する条件判定を実行する。所定の条件とは、たとえば、車両に対する特定の運転操作が作業者により実行されることである。より具体的に、条件判定部123bは、たとえば、ライトを点灯したのち所定の時間内にブレーキのON/OFFを所定回数繰り返すなどの決められた手順での操作が実行されたか否かの判定を実行する。ステップS570における条件判定は、たとえば、所定の条件が成立したと判定されるまで繰り返し実行される。
【0079】
ステップS570において所定の条件が成立したと判定された場合、ステップS571に処理が進む。そして、ステップS571において、ECU120bの通信処理部121bは、次のリプログラミングをECU120aに開始させるための書き換え開始指示を、車載ネットワーク150を介してゲートウェイECU110に送信する。
【0080】
そして、ステップS530において、ゲートウェイECU110の通信処理部111は、ステップS571においてECU120bから送信された書き換え開始指示を受信する。
【0081】
そして、ステップS531において、ゲートウェイECU110の通信処理部111は、ECU120aで現在使用されているプログラムの消去を指示するためのプログラム消去指示を、車載ネットワーク150を介してECU120aに送信する。なお、実施形態では、ステップS531の処理の実行に当たり、ゲートウェイECU110とECU120aとの間で再度の認証処理が実行されてもよい。
【0082】
そして、ステップS550において、ECU120aの通信処理部121aは、ステップS531においてゲートウェイECU110から送信されたプログラム消去指示を受信する。
【0083】
そして、ステップS551において、ECU120aのリプログラミング実行部122aは、ステップS550において受信されたプログラム消去指示に従って、ECU120aで現在使用されているプログラムを消去する。
【0084】
一方、ステップS532において、ゲートウェイECU110の復号化部112は、リプログラミング用の次の復号化プログラムを、車載ネットワーク150を介してECU120aに送信する。
【0085】
そして、ステップS552において、ECU120aの通信処理部121aは、ステップS532においてゲートウェイECU110から送信された復号化プログラムを受信する。
【0086】
そして、ステップS553において、ECU120aのリプログラミング実行部122aは、ステップS552において受信された復号化プログラムに従って以後動作するように、当該復号化プログラムの書き込みを実行する。
【0087】
そして、ステップS554において、ECU120aのリプログラミング実行部122aは、ステップS553における書き込みの完了に応じて、書き込み完了通知を、車載ネットワーク150を介してゲートウェイECU110に送信する。
【0088】
そして、ステップS533において、ゲートウェイECU110の通信処理部111は、ステップS554においてECU120aから送信された書き込み完了通知を受信する。
【0089】
そして、ステップS534において、ゲートウェイECU110の通信処理部111は、ステップS553における書き込みの成否などをECU120aに検証させるために、ステップS532で送信した復号化プログラムの同一の復号化プログラムを、車載ネットワーク150を介してECU120aに送信する。
【0090】
そして、ステップS555において、ECU120aの通信処理部121aは、ステップS534においてゲートウェイECU110から送信された復号化プログラムを受信する。
【0091】
そして、ステップS556において、ECU120aのリプログラミング実行部122aは、ステップS555において受信された復号化プログラムに基づいて、ステップS553における書き込みの成否などを検証するためのベリファイ処理を実行する。
【0092】
そして、ステップS557において、ECU120aの通信処理部121aは、ステップS456におけるベリファイ処理の完了に応じて、当該ベリファイ処理の結果を含むベリファイ完了通知を、車載ネットワーク150を介してゲートウェイECU110に送信する。ステップS553における書き込みが失敗していた場合、ECU120aは、ステップS550以降の一連の処理を再び実行する可能性があるが、ステップS553における書き込みが成功していた場合、ステップS557をもって、ECU120aの2回目のリプログラミングが完了する。
【0093】
そして、ステップS535において、ゲートウェイECU110の通信処理部111は、ステップS557においてECU120aから送信されたベリファイ完了通知を受信する。受信されたベリファイ完了通知が書き込みの失敗を示す場合、ゲートウェイECU110の通信処理部111は、ステップS531以降の一連の処理を再び実行する可能性があるが、受信されたベリファイ完了通知が書き込みの成功を示す場合、ゲートウェイECU110の通信処理部111は、次のステップS536の処理を実行する。
【0094】
ステップS536において、ゲートウェイECU110の通信処理部111は、ECU120aの2回目のリプログラミングが完了した旨を通知するための書き換え完了通知を、車載ネットワーク150を介してECU120bに送信する。
【0095】
そして、ステップS572において、ECU120bの通信処理部121bは、ステップS536においてゲートウェイECU110から送信された書き換え完了通知を受信する。
【0096】
そして、ステップS573において、ECU120bの通知部122bは、ステップS572における書き換え完了通知の受信に応じて、ECU120bのプログラムの書き換えが完了した旨の通知を作業者が視覚または聴覚で認識可能な態様で出力する。
【0097】
そして、作業者は、ステップS572における通知により、2回目のリプログラミングが完了した旨を認識した後、リプログラミング後のECU120aの機能のチェックなどを実行する。
【0098】
3回目以降のリプログラミングも、上記と同様の流れで実行される。そして、全てのリプログラミングが完了した場合、車載ネットワーク150と外部との通信経路170の遮断を解除、および、ゲートウェイECU110の制御モードの通常の制御モードへの切り替えなどが実行された上で、各装置の処理が終了する。
【0099】
このように、実施形態では、連続的なリプログラミングが実行される場合においても、前述した単発的なリプログラミングが実行されると同様に、暗号化プログラムの復号化がECU120aではなくゲートウェイECU110によって実行されるとともに、車載ネットワーク150と外部との通信経路170が遮断された上で、リプログラミング用のプログラムが復号化プログラムのまま車載ネットワーク150上で伝送される。したがって、実施形態によれば、連続的なリプログラミングが実行される場合においても、前述した単発的なリプログラミングが実行されると同様に、より短時間でのリプログラミングを実現することができる。
【0100】
また、実施形態によれば、連続的なリプログラミングが実行される場合に、リプログラミング用の複数の暗号化プログラムのうち少なくとも1つの復号化が完了した時点で1回目のリプログラミングを開始し、残りの暗号化プログラムの復号化を当該1回目のリプログラミングと並行して実行することができるので、全てのリプログラミングに要する時間のさらなる短縮化を図ることができる。
【0101】
なお、実施形態にかかるゲートウェイECU110およびECU120のような電子装置100は、たとえば次の図6に示されるようなコンピュータ600によって実現される。
【0102】
図6は、実施形態にかかる車両リプログラミングシステムの電子装置100を実現するためのコンピュータ600のハードウェア構成を示した例示的かつ模式的なブロック図である。
【0103】
図6に示されるように、実施形態にかかるコンピュータ600は、プロセッサ610と、メモリ620と、ストレージ630と、入出力インターフェース(I/F)640と、通信インターフェース(I/F)650と、を備えている。これらのハードウェアは、バス660に接続されている。
【0104】
プロセッサ610は、たとえばCPU(Central Processing Unit)として構成され、コンピュータ600の各部の動作を統括的に制御する。メモリ620は、たとえばROM(Read Only Memory)およびRAM(Random Access Memory)を含み、プロセッサ610により実行されるプログラムなどの各種のデータの揮発的または不揮発的な記憶、およびプロセッサ610がプログラムを実行するための作業領域の提供などを実現する。
【0105】
ストレージ630は、たとえばHDD(Hard Disk Drive)またはSSD(Solid State Drive)を含み、各種のデータを不揮発的に記憶する。入出力インターフェース640は、コンピュータ600へのデータの入力およびコンピュータ600からのデータの出力を制御する。通信インターフェース650は、コンピュータ600が上述した車載ネットワーク150または外部ネットワークNのようなネットワークを介して他の装置と通信を実行することを可能にする。
【0106】
上述した図2に示される機能モジュール群は、プロセッサ610がメモリ620またはストレージ630に記憶された所定のプログラムを実行した結果として、ハードウェアとソフトウェアとの協働により実現される。ただし、実施形態では、上述した図2に示される機能モジュール群の少なくとも一部が、専用のハードウェア(回路)として実現されてもよい。
【0107】
以上説明したように、実施形態にかかる車両リプログラミングシステムは、車載ネットワーク150に接続されるように車両に搭載された複数の電子装置100を備えている。複数の電子装置100は、車載ネットワーク150と車両の外部との通信を制御する通信制御装置としてのゲートウェイECU110を含んでいる。
【0108】
ゲートウェイECU110は、複数の電子装置100のうちゲートウェイECU110とは異なる第1の電子装置としてのECU120aのリプログラミング用の、暗号化されたプログラムを外部から受信した場合に、車載ネットワーク150と外部との通信経路170を遮断する。そして、複数の電子装置100のうち第1の電子装置とは異なる第2の電子装置としてのゲートウェイECU110は、ゲートウェイECU110により受信された、暗号化されたプログラムを復号化し、復号化されたプログラムを、車載ネットワーク150を介して、第1の電子装置としてのECU120aに送信する。そして、第1の電子装置としてのECU120aは、第2の電子装置としてのゲートウェイECU110から復号化されたプログラムを受信した場合に、当該復号化されたプログラムに基づいて、リプログラミングを実行する。
【0109】
上記のような構成によれば、リプログラミングの実行にあたり、復号化プログラムが車載ネットワーク150と外部との通信がゲートウェイECU110により制御された状態の車載ネットワーク150内で伝送されるので、車載ネットワーク150内での復号化プログラムの伝送が外部から盗み見られるようなことがなく、すなわち、セキュリティを損なうことなく、リプログラミング用のプログラムを復号化したまま車載ネットワーク150上で伝送することができる。したがって、プログラムの書き換えおよび書き換えられたプログラムの検証の目的でプログラムを使用する度に復号化を実行する必要が無いので、より短時間でのリプログラミングを実現することができる。特に、実施形態では、プログラムの復号化が、ECU120aではなく、当該ECU120aよりも記憶容量および演算速度などの観点で高性能なハードウェアによって構成されたゲートウェイECU110によって実行されるので、暗号化プログラムの復号化に要する時間を短縮し、より短時間でのリプログラミングを実現することができる。また、上記のような構成によれば、リプログラミング中にゲートウェイECU110により車載ネットワーク150と外部との通信経路170を遮断することで、車両の外部からの車載ネットワーク150へのアクセスを防止し、リプログラミング中のセキュリティを高めることができる。
【0110】
また、実施形態において、第2の電子装置としてのゲートウェイECU110は、リプログラミング用のプログラムとして互いに異なる複数のプログラムが受信された場合に、当該複数のプログラムの復号化を開始する。そして、ゲートウェイECU110は、複数のプログラムのうち少なくとも1つの復号化の完了に応じて、復号化されたプログラムのうちの1つを、車載ネットワーク150を介して第1の電子装置としてのECU120aに送信し、その後、所定の条件が成立するごとに、復号化された残りのプログラムを1つずつ、車載ネットワーク150を介してECU120aに送信する。そして、第1の電子装置としてのECU120aは、復号化されたプログラムを第2の電子装置としてのゲートウェイECU110から1つ受信するごとに、リプログラミングを実行する。
【0111】
上記のような構成によれば、リプログラミング用の複数のプログラムのうち少なくとも1つの復号化が完了した時点で1回目のリプログラミングを開始し、残りのプログラムの復号化を1回目(以降)のリプログラミングと並行して実行することができるので、複数回のリプログラミングに要する時間のさらなる短縮化を図ることができる。
【0112】
また、実施形態において、第2の電子装置としてのゲートウェイECU110は、第2の電子装置としてのECU120aのリプログラミングを実現するための専用の制御モードと、たとえば上述した通常の制御モードのような、他の機能を実現するための他の制御モードと、を切り替え可能に構成されている。
【0113】
上記のような構成によれば、制御モードの切り替えにより、第2の電子装置としてのゲートウェイECU110のリソースを効率的に使用することができる。
【0114】
<変形例>
なお、上述した実施形態では、通信制御装置としてのゲートウェイECU110が、暗号化プログラムの復号化を実行する第2の電子装置に設定されている構成が例示されている。このように通信制御装置と第2の電子装置が同一である場合も、第2の電子装置は通信制御装置を介して外部装置からプログラムを受信する、と表現することができる。しかしながら、上述した実施形態では、ECU120が第2の電子装置に設定されてもよい。この場合、第2の電子装置に設定されたECU120は、暗号化プログラムをゲートウェイECU110から車載ネットワーク150を介して受信し、ゲートウェイECU110による通信経路170の遮断後に、復号化を実行するように構成される。なお、このとき、第2の電子装置が、リプログラミング対象の第1の電子装置よりも高性能なハードウェアによって構成されていれば、リプログラミングに要する時間をより短縮することができる。また、上述した実施形態では、ECU120ではなくゲートウェイECU110が、リプログラミング対象の第1の電子装置に設定されてもよい。
【0115】
また、上述した実施形態では、リプログラミング対象のECU120aは、複数のECU120間で適宜選択的に切り替えられうる。したがって、複数のECU120は、いずれも、リプログラミング対象のECU120aとしての機能と、リプログラミング対象ではない他のECU120bとしての機能と、を適宜選択的に実現しうる。
【0116】
また、“通信制御装置による通信経路170の遮断”は、物理的な通信経路の遮断や、あるいは、物理的な通信経路は接続されていても、外部からの受信を受け付けず外部への送信も禁止するような通信を途絶する処理などには限られない。“通信制御装置による通信経路170の遮断”は、たとえば、外部からの通信に対し、通常の通信状態にないことを示す所定の回答を外部へ送信する処理も含みうる。
【0117】
以上、本開示の実施形態および変形例を説明したが、上述した実施形態および変形例はあくまで一例であって、発明の範囲を限定することは意図していない。上述した新規な実施形態および変形例は、様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上述した実施形態および変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0118】
100 電子装置(車載電子装置)
110 ゲートウェイECU(車載電子装置、通信制御装置、第2の電子装置)
120 ECU(車載電子装置)
120a ECU(車載電子装置、第1の電子装置)
150 車載ネットワーク
図1
図2
図3
図4
図5
図6