(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-07
(45)【発行日】2023-08-16
(54)【発明の名称】車載中継装置、情報処理方法及びプログラム
(51)【国際特許分類】
H04L 67/10 20220101AFI20230808BHJP
B60R 16/02 20060101ALI20230808BHJP
B60R 16/023 20060101ALI20230808BHJP
G06F 8/656 20180101ALI20230808BHJP
H04L 12/28 20060101ALI20230808BHJP
【FI】
H04L67/10
B60R16/02 660U
B60R16/023 P
G06F8/656
H04L12/28 200Z
(21)【出願番号】P 2020056688
(22)【出願日】2020-03-26
【審査請求日】2022-09-30
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】呉 ダルマワン
(72)【発明者】
【氏名】前田 英樹
(72)【発明者】
【氏名】萩原 剛志
(72)【発明者】
【氏名】泉 達也
(72)【発明者】
【氏名】神田 一郎
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2018-20718(JP,A)
【文献】国際公開第2018/110322(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/10
B60R 16/02
B60R 16/023
G06F 8/656
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
車両に搭載される車載中継装置であって、
前記車両に搭載された複数の車載ECUと通信するための第1通信部と、前記車両外の外部装置と通信するための第2通信部とを含む複数の通信部と、
前記複数の車載ECU間における通信の中継に関する制御を行う制御プログラムと、前記制御プログラムの更新に関する処理を行う更新処理プログラムと、前記複数の通信部に関するネットワーク構成情報とが記憶される記憶部と、
前記記憶部に記憶される前記制御プログラム又は前記更新処理プログラムを選択的に実行する制御部とを備え、
前記制御部は、
前記制御プログラムを実行する際、前記記憶部に記憶されるネットワーク構成情報を参照して、中継先となるいずれかの車載ECUが接続される第1通信部を特定し、
前記更新処理プログラムを実行する際、前記記憶部に記憶されるネットワーク構成情報を参照して、前記制御プログラムの更新に関する処理を行う外部装置と通信するための第2通信部を特定し、該特定した外部装置と通信するための第2通信部以外の通信部による通信を禁止する
車載中継装置。
【請求項2】
前記制御プログラムを実行中の制御部は、前記記憶部における物理アドレスに基づき、前記ネットワーク構成情報を前記記憶部の記憶領域に書き込み、
前記更新処理プログラムを実行中の制御部は、前記記憶部における物理アドレスに基づき、前記ネットワーク構成情報が書き込まれた前記記憶領域を参照する
請求項1に記載の車載中継装置。
【請求項3】
前記制御部は、特定した前記外部装置と通信するための第2通信部以外の通信部への給電を停止することにより、該通信部による通信を禁止する
請求項1又は請求項2に記載の車載中継装置。
【請求項4】
前記車両外の外部装置は、前記第2通信部に接続されるダイアグ装置と、前記第2通信部に接続される車外通信装置を介して通信する外部サーバとを含み、
前記ネットワーク構成情報には、前記複数の通信部それぞれを識別する識別子と、前記複数の通信部それぞれに接続される前記車載ECU、前記車外通信装置及び前記ダイアグ装置を区分する情報とが関連付けられた情報が含まれており、
前記制御プログラムの更新に関する処理を行う外部装置と通信するための第2通信部は、前記ダイアグ装置又は前記車外通信装置が接続される第2通信部である
請求項1から請求項3のいずれか1項に記載の車載中継装置。
【請求項5】
前記車両外の外部装置は、前記第2通信部に接続されるダイアグ装置と、前記第2通信部に接続される車外通信装置を介して通信する外部サーバとを含み、
前記ネットワーク構成情報には、前記複数の通信部それぞれを識別する識別子と、前記複数の通信部それぞれに接続される前記車載ECU、前記車外通信装置及び前記ダイアグ装置を区分する情報とが関連付けられた情報が含まれており、
前記制御プログラムを実行中の制御部は、
前記ダイアグ装置から出力された更新に関する情報を取得した場合、前記制御プログラムの更新に関する処理を行う外部装置と通信するための第2通信部は、前記ダイアグ装置が接続される第2通信部である旨を前記ネットワーク構成情報に含め、
前記外部サーバから出力された更新に関する情報を取得した場合、前記制御プログラムの更新に関する処理を行う外部装置と通信するための第2通信部は、前記車外通信装置が接続される第2通信部である旨をネットワーク構成情報に含める
請求項1から請求項3のいずれか1項に記載の車載中継装置。
【請求項6】
コンピュータに、
複数の車載ECU間における通信の中継に関する制御と、前記中継に関する制御を行うためのプログラムの更新に関する処理とを、選択的に実行させ、
前記中継に関する制御を実行させる際、記憶部に記憶されるネットワーク構成情報を参照して、中継先となるいずれかの車載ECUが接続される通信部を特定し、
前記更新に関する処理を実行させる際、前記記憶部に記憶されるネットワーク構成情報を参照して、更新に関する処理を行う外部装置と通信するための通信部を特定し、該特定した通信部以外の通信部による通信を禁止する
処理を実行させる情報処理方法。
【請求項7】
コンピュータに、
複数の車載ECU間における通信の中継に関する制御と、前記中継に関する制御を行うためのプログラムの更新に関する処理とを、選択的に実行させ、
前記中継に関する制御を実行させる際、記憶部に記憶されるネットワーク構成情報を参照して、中継先となるいずれかの車載ECUが接続される通信部を特定し、
前記更新に関する処理を実行させる際、前記記憶部に記憶されるネットワーク構成情報を参照して、更新に関する処理を行う外部装置と通信するための通信部を特定し、該特定した通信部以外の通信部による通信を禁止する
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車載中継装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
車両には、エンジン制御等のパワー・トレーン系、エアコン制御等のボディ系等の車載機器を制御するための車載ECU(Electronic Control Unit)が搭載されている。車載ECUは、MPU等の演算処理部、RAM等の書き換え可能な不揮発性の記憶部、及び他の車載ECUと通信するための通信部を含み、記憶部に記憶した制御プログラムを読み込んで実行することにより、車載機器の制御を行う。更に車両には、無線通信の機能を備えた中継装置が実装されており、中継装置を介して、車外のネットワークに接続されているプログラム提供装置と通信し、当該プログラム提供装置から車載ECUの制御プログラムをダウンロード(受信)し、当該車載ECUの制御プログラムを更新することができる(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の中継装置は、自装置にて実行する制御プログラムを更新する処理に関する事項は考慮されていないため、当該自装置の制御プログラムの更新を効率的に実施できないことが懸念される。
【0005】
本開示の目的は、自装置の制御プログラムの更新を効率的に実施することができる車載中継装置を提供することである。
【課題を解決するための手段】
【0006】
本開示の一態様に係る車載中継装置は、車両に搭載される車載中継装置であって、前記車両に搭載された複数の車載ECUと通信するための第1通信部と、前記車両外の外部装置と通信するための第2通信部とを含む複数の通信部と、前記複数の車載ECU間における通信の中継に関する制御を行う制御プログラムと、前記制御プログラムの更新に関する処理を行う更新処理プログラムと、前記複数の通信部に関するネットワーク構成情報とが記憶される記憶部と、前記記憶部に記憶される前記制御プログラム又は前記更新処理プログラムを選択的に実行する制御部とを備え、前記制御部は、前記制御プログラムを実行する際、前記記憶部に記憶されるネットワーク構成情報を参照して、中継先となるいずれかの車載ECUが接続される第1通信部を特定し、前記更新処理プログラムを実行する際、前記記憶部に記憶されるネットワーク構成情報を参照して、前記制御プログラムの更新に関する処理を行う外部装置と通信するための第2通信部を特定し、該特定した外部装置と通信するための第2通信部以外の通信部による通信を禁止する。
【発明の効果】
【0007】
本開示の一態様によれば、自装置の制御プログラムの更新を効率的に実施する車載中継装置等を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態1に係る車載中継装置を含む車載システムの構成を例示する模式図である。
【
図2】車載中継装置等の構成を例示するブロック図である。
【
図3】ネットワーク構成情報の一態様を例示する説明図である。
【
図4】本実施の形態に係る車載中継装置の制御部の処理を例示するフローチャートである。
【発明を実施するための形態】
【0009】
[本発明の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0010】
(1)本開示の一態様に係る車載中継装置は、車両に搭載される車載中継装置であって、
前記車両に搭載された複数の車載ECUと通信するための第1通信部と、前記車両外の外部装置と通信するための第2通信部とを含む複数の通信部と、
前記複数の車載ECU間における通信の中継に関する制御を行う制御プログラムと、前記制御プログラムの更新に関する処理を行う更新処理プログラムと、前記複数の通信部に関するネットワーク構成情報とが記憶される記憶部と、
前記記憶部に記憶される前記制御プログラム又は前記更新処理プログラムを選択的に実行する制御部とを備え、
前記制御部は、
前記制御プログラムを実行する際、前記記憶部に記憶されるネットワーク構成情報を参照して、中継先となるいずれかの車載ECUが接続される第1通信部を特定し、
前記更新処理プログラムを実行する際、前記記憶部に記憶されるネットワーク構成情報を参照して、前記制御プログラムの更新に関する処理を行う外部装置と通信するための第2通信部を特定し、該特定した外部装置と通信するための第2通信部以外の通信部による通信を禁止する。
【0011】
本態様にあたっては、制御部は、制御プログラムを実行して中継制御する際に参照するネットワーク構成情報を、更新処理プログラムを実行する際に参照する。すなわち、複数の通信部に関するネットワーク構成情報は、制御部によって選択的に実行する制御プログラムから、更新処理プログラムに継承することができる。制御部は、制御プログラムから継承されたネットワーク構成情報を参照して、更新処理プログラムを実行する。更新処理プログラムの実行時において、制御部は、更新に関する処理を行う外部装置と通信するための第2通信部を有効にし、更新に関する処理を行う外部装置と通信するための第2通信部以外の通信部を、例えば無効状態又は非活性状態にし、当該通信部よる通信を禁止する。従って、更新に関する処理を行う外部装置と通信するための第2通信部以外の通信部を介し、車両内外からの不正なアクセスが行われることを防止し、制御プログラムの更新処理における安全性、信頼性を担保することができ、当該制御プログラムの更新を効率的に実施することができる。
【0012】
(2)本開示の一態様に係る車載中継装置は、前記制御プログラムを実行中の制御部は、前記記憶部における物理アドレスに基づき、前記ネットワーク構成情報を前記記憶部の記憶領域に書き込み、
前記更新処理プログラムを実行中の制御部は、前記記憶部における物理アドレスに基づき、前記ネットワーク構成情報が書き込まれた前記記憶領域を参照する。
【0013】
本態様にあたっては、制御プログラム及び更新処理プログラムは、例えば、制御部が起動時に最初に実行されるブートプログラムにより選択されることにより、当該制御部によって選択的に実行される。このように異なるプログラムが同一の制御部によって選択的に実行される際、制御部が記憶部にアクセスする際に用いられる論理アドレスは、個々のプログラムにおいて互換性が無い場合がある。これに対し、制御部は、制御プログラム及び更新処理プログラムの双方のプログラムを実行するにあたり、双方のプログラムによって共有的にアクセスできる記憶領域を構成するため、当該記憶領域に対しては、各プログラムに依拠する論理アドレスではなく、ハードウェア的に決定される記憶部の物理アドレスを用いてアクセスする。従って、制御プログラム及び更新処理プログラムにおいて、記憶部に対する論理アドレスの設定(アドレッシング)が異なる場合であっても、ハードウェア的に決定される記憶部の物理アドレスを用いて、ネットワーク構成情報を、制御プログラムによって書き込み、更新処理プログラムにて参照することができる。これにより、当該ネットワーク構成情報を効率的に制御プログラムから更新処理プログラムに継承又は伝達することができる。
【0014】
(3)本開示の一態様に係る車載中継装置は、前記制御部は、特定した前記外部装置と通信するための第2通信部以外の通信部への給電を停止することにより、該通信部による通信を禁止する。
【0015】
本態様にあたっては、制御部は、特定した外部装置と通信するため第2通信部以外の通信部による通信を禁止するにあたり、当該通信部への給電を停止するため、更新処理プログラムを実行して、制御プログラムを更新する間にて、これら不要な通信部により電力が消費されることを防止し、消費電力を抑制することができる。
【0016】
(4)本開示の一態様に係る車載中継装置は、前記車両外の外部装置は、前記第2通信部に接続されるダイアグ装置と、前記第2通信部に接続される車外通信装置を介して通信する外部サーバとを含み、
前記ネットワーク構成情報には、前記複数の通信部それぞれを識別する識別子と、前記複数の通信部それぞれに接続される前記車載ECU、前記車外通信装置及び前記ダイアグ装置を区分する情報とが関連付けられた情報が含まれており、
前記制御プログラムの更新に関する処理を行う外部装置と通信するための第2通信部は、前記ダイアグ装置又は前記車外通信装置が接続される第2通信部である。
【0017】
本態様にあたっては、ネットワーク構成情報は、例えば、物理ポート番号等、通信部それぞれの識別子と、当該通信部に接続される外部装置(ダイアグ装置、外部サーバと接続するための車外通信装置)及び車載ECUを区分する、例えばIPアドレス又はMACアドレス等の情報が関連付けられた情報が含まれている。このようなネットワーク構成情報において、更新に関する処理を行う外部装置と通信するための第2通信部は、ダイアグ装置又は車外通信装置が接続される第2通信部とすることにより、更新処理プログラムを実行中の制御部は、更新に関する処理を行う外部装置と通信するための第2通信部を容易に特定し、当該ダイアグ装置又は車外通信装置が接続される第2通信部以外の通信部による通信を効率的に禁止することができる。
【0018】
(5)本開示の一態様に係る車載中継装置は、前記車両外の外部装置は、前記第2通信部に接続されるダイアグ装置と、前記第2通信部に接続される車外通信装置を介して通信する外部サーバとを含み、
前記ネットワーク構成情報には、前記複数の通信部それぞれを識別する識別子と、前記複数の通信部それぞれに接続される前記車載ECU、前記車外通信装置及び前記ダイアグ装置を区分する情報とが関連付けられた情報が含まれており、
前記制御プログラムを実行中の制御部は、
前記ダイアグ装置から出力された更新に関する情報を取得した場合、前記制御プログラムの更新に関する処理を行う外部装置と通信するための第2通信部は、前記ダイアグ装置が接続される第2通信部である旨を前記ネットワーク構成情報に含め、
前記外部サーバから出力された更新に関する情報を取得した場合、前記制御プログラムの更新に関する処理を行う外部装置と通信するための第2通信部は、前記車外通信装置が接続される第2通信部である旨をネットワーク構成情報に含める。
【0019】
本態様にあたっては、制御プログラムを実行中の制御部は、更新に関する情報の出力先に基づき、当該出力先に接続される通信部が更新に関する処理を行う外部装置と通信するための第2通信部である旨をネットワーク構成情報に含める。従って、更新処理プログラムを実行中の制御部は、制御プログラムから継承されたネットワーク構成情報を参照することにより、更新に関する処理を行う外部装置と通信するための第2通信部を容易に特定し、当該ダイアグ装置が接続される第2通信部以外の通信部による通信を効率的に禁止することができる。
【0020】
(6)本開示の一態様に係る情報処理方法は、コンピュータに、
複数の車載ECU間における通信の中継に関する制御と、前記中継に関する制御を行うためのプログラムの更新に関する処理とを、選択的に実行させ、
前記中継に関する制御を実行させる際、記憶部に記憶されるネットワーク構成情報を参照して、中継先となるいずれかの車載ECUが接続される通信部を特定し、
前記更新に関する処理を実行させる際、前記記憶部に記憶されるネットワーク構成情報を参照して、更新に関する処理を行う外部装置と通信するための通信部を特定し、該特定した通信部以外の通信部による通信を禁止する
処理を実行させる。
【0021】
本態様にあたっては、コンピュータにより、自装置である車載中継装置の制御プログラムの更新を効率的に実施する情報処理方法を提供することができる。
【0022】
(7)本開示の一態様に係るプログラムは、コンピュータに、
複数の車載ECU間における通信の中継に関する制御と、前記中継に関する制御を行うためのプログラムの更新に関する処理とを、選択的に実行させ、
前記中継に関する制御を実行させる際、記憶部に記憶されるネットワーク構成情報を参照して、中継先となるいずれかの車載ECUが接続される通信部を特定し、
前記更新に関する処理を実行させる際、前記記憶部に記憶されるネットワーク構成情報を参照して、更新に関する処理を行う外部装置と通信するための通信部を特定し、該特定した通信部以外の通信部による通信を禁止する
処理を実行させる。
【0023】
本態様にあたっては、コンピュータを、自装置の制御プログラムの更新を効率的に実施する車載中継装置として用いることができる。
【0024】
[本開示の実施形態の詳細]
本開示の実施形態に係る車載中継装置2の具体例を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0025】
(実施形態1)
以下、実施の形態について図面に基づいて説明する。
図1は、実施形態1に係る車載中継装置2を含む車載システムの構成を例示する模式図である。
図2は、車載中継装置2等の構成を例示するブロック図である。車載システムは、車両Cに搭載された車外通信装置1及び車載中継装置2を含み、車載中継装置2は、車外通信装置1を介して外部サーバ100と通信する。車載中継装置2は、自装置に直接接続されるダイアグ装置5と通信する。
【0026】
外部サーバ100及びダイアグ装置5は、車載中継装置2(自装置)の制御プログラム2cの更新に関する処理を行う外部装置に相当する。車載中継装置2は、これら外部サーバ100及びダイアグ装置5から更新プログラムを取得することにより、自装置にて実行される制御プログラム2cの更新、すなわち取得した更新プログラムを、当該制御プログラム2cの新バージョンの制御プログラム2cとして適用することにより、リプログラミング(リプロ)を実行する。
【0027】
外部サーバ100は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータであり、RAM(Random Access Memory)、ROM(Read Only Memory)又はハードディスク等による記憶部101を備える。記憶部101には、車載中継装置2の製造メーカ等によって作成された当該車載中継装置2を制御するためのプログラム又はデータが保存されている。当該プログラム又はデータは、更新プログラムとして、後述のごとく車両Cに送信され、車両Cに搭載されている車載中継装置2の制御プログラム2c又はデータを更新するために用いられる。このように構成された外部サーバ100は、OTA(Over The Air)サーバとも称される。車両Cに搭載される車載中継装置2は、外部サーバ100から無線通信により送信された更新プログラムを取得し、当該更新プログラムを実行する制御プログラム2cとして適用することにより、自装置が実行する制御プログラム2cを更新(リプロ)することができる。外部サーバ100には、自装置である車載中継装置2の制御プログラム2c以外に、当該車載中継装置2に接続される車載ECU3のプログラム又はデータが記憶されているものであってもよい。車載中継装置2は、外部サーバ100から、自装置に接続される車載ECU3のプログラム等を取得し、取得したプログラム等を更新対象(リプロ対象)の車載ECU3に出力(送信)し、当該車載ECU3のプログラムの更新処理(リプロ処理)を行うリプロマスタとして機能するものであってもよい。
【0028】
ダイアグ装置5は、車載中継装置2又は車載ECU3の保守作業等、車両Cの整備を担う正規ディーラ等を含む車両整備業者によって用いられる装置(ダイアグツール)であり、例えばパソコン、タブレットPC又はスマートホン等の汎用情報端末に専用アプリケーションをインストールした装置、又はハードウェアを含み専用情報端末として構成された装置である。ダイアグ装置5は、後述する車載ECUと同様にCPU又はMPUにより制御部(図示せず)、記憶部(図示せず)及び車内通信部23(図示せず)を含む。ダイアグ装置5は、車内通信部23を介して車載中継装置2と通信する。ダイアグ装置5の記憶部は、外部サーバ100と同様に車載中継装置2を制御するためのプログラム又はデータが保存されている。ダイアグ装置5に保存されているプログラム又はデータは、外部サーバ100の場合と同様に、更新プログラムとして車両Cに送信され、車両Cに搭載されている車載中継装置2の制御プログラム2c又はデータを更新するために用いられる。
【0029】
車両Cには、車外通信装置1、車載中継装置2、表示装置7、及び種々の車載機器を制御するための複数の車載ECU3が搭載されている。車外通信装置1と車載中継装置2とは、例えばイーサネット(Ethernet/登録商標)等の通信プロトコルに対応した通信線41(イーサネットケーブル)によって通信可能に接続されている。車載中継装置2及び車載ECU3は、イーサネット等の通信プロトコルに対応した通信線41及び車内LAN4によって通信可能に接続されている。車載中継装置2及び車載ECU3の接続は、イーサネットに限定されず、例えばCAN(Control Area Network/登録商標)等の通信プロトコルに対応したCANバスによるものであってもよい。
【0030】
車外通信装置1は、車外通信部11及び車内通信部12を含む。車内通信部12は、例えば、100BASE-T1又は1000BASE-T1等のイーサネットケーブルによる通信線41にて伝送されるTCP/IPのパケットに対応するイーサネットPHY部である。車外通信装置1は、車内通信部12及び、イーサネットケーブル等の通信線41を介して、車載中継装置2と通信可能に接続されている。
【0031】
車外通信部11は、3G、LTE、4G、5G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部11に接続されたアンテナ13を介して外部サーバ100とデータの送受信を行う。車外通信装置1と外部サーバ100との通信は、例えば公衆回線網又はインターネット等の車外ネットワークNを介して行われる。
【0032】
本実施形態では、車外通信装置1は、車載中継装置2と別装置とし、車内通信部12等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置1は、車載中継装置2の一構成部位として、車載中継装置2に内蔵されるものであってもよい。
【0033】
車載中継装置2は、
図2に示す如く、制御部20、記憶部21、入出力I/F22、車内通信部23などを含む。車載中継装置2は、例えば、制御系の車載ECU3、安全系の車載ECU3及び、ボディ系の車載ECU3等の複数の通信線41による系統のセグメントを統括し、これらセグメント間での車載ECU3同士の通信を中継する。車載中継装置2は、例えばゲートウェイ又はイーサスイッチであり、レイヤー2スイッチ、レイヤー3スイッチ及びCANゲートウェイとして機能するものであってもよい。車載中継装置2は、例えば車両C全体をコントロールするボディECU、自動運転を制御する自動運転ECU等の一機能部として構成されるものであってもよい。車載中継装置2は、通信に関する中継に加え、蓄電装置(図示せず)から出力された電力を分配及び中継し、自装置に接続される車載ECU3に供給する電力分配装置としても機能するPLB(Power Lan Box)であってもよい。
【0034】
制御部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成されている。制御部20は、記憶部21に予め記憶された各プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行う。なお以下において"プログラム"との記載には、プログラムと、当該プログラムの実行に必要なデータとを含み得る。
【0035】
記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してある。記憶部21には、ブートプログラム領域211、基本プログラム領域212、更新処理プログラム領域215、共有領域216等が含まれている。すなわち、記憶部21は、ブートプログラム領域211、基本プログラム領域212、更新処理プログラム領域215、共有領域216等によるそれぞれの記憶領域に区分化されている。
【0036】
ブートプログラム領域211には、ブートプログラム2aが格納されている。ブートプログラム2aは、車載中継装置2のリセット後又は起動時、最初に起動されるブートローダー等のプログラムである。制御部20は、ブートプログラム2aを実行することにより、共有領域216に保存される更新の有無に関する情報に応じて、基本プログラム2b又は更新処理プログラム2gのいずれかを選択的に起動する処理を行う。
【0037】
更新の有無に関する情報は、例えば、共有領域216における所定の物理アドレスのブロックに格納される更新フラグの有無、すなわち当該ブロックに格納される0又は1等の識別子(ビット値)に基づき示されるものであってもよい。例えば、更新フラグがある(識別子=1)場合には、制御部20は更新処理プログラム2gを起動させる。更新処理フラグがない(識別子=0)場合には、制御部20は基本プログラム2bを起動させる。ブートプログラム2aは、更新処理プログラム2g又は基本プログラム2bを起動させる処理を実行後、終了するものであってよい。
【0038】
更新処理プログラム領域215には、更新処理プログラム2gが格納されている。更新処理プログラム2gは、外部サーバ100又はダイアグ装置5から更新プログラムが出力又は送信され、提供される場合に、更新対象である制御プログラム2cを更新プログラムへと更新する更新処理を実行するためのプログラム(リプロ用ソフト)である。制御部20は、更新処理プログラム2gを実行することにより、車外通信装置1又はダイアグ装置5等の外部装置との通信を行うことにより、当該外部装置から更新プログラムを取得し、取得した更新プログラムを基本プログラム領域212に格納する更新処理を行う。更新処理が完了した場合、制御部20は、共有領域216の更新フラグを削除し、更新処理が完了したことを示す識別子を共有領域216に格納するものであってもよい。詳細は後述するが、制御部20は、更新処理プログラム2gを実行することにより、共有領域216に記憶されているネットワーク構成情報を参照し、更新に関する処理を行う外部装置と通信するための車内通信部23を特定し、特定した車内通信部23以外の車内通信部23を無効化する処理を行う。
【0039】
基本プログラム領域212には、プログラム(コードフラッシュ)領域213及びデータ領域(データフラッシュ)214が含まれている。プログラム領域213には、基本プログラム2b、当該基本プログラム2b上で実行される制御プログラム2c、ダイアグプログラム2d及びセキュリティプログラム2eなどが格納されている。データ領域214には、基本プログラム2bの有する入出力機能(NVM)により管理されるNVM管理領域2fが含まれている。基本プログラム2bは、いわゆるオペレーティングシステムであり、例えば、又はLinux(登録商標)又はAUTOSAR(Automotive Open System Architecture )の規格に準拠したものであってもよい。
【0040】
制御プログラム2c、ダイアグプログラム2d及びセキュリティプログラム2eはいずれも、基本プログラム2bをプラットフォームとして実行されるプログラムである。
【0041】
制御プログラム2cは、更新処理プログラム2gに基づく更新処理を実施していない状態において実行されるプログラムであり、車載ECU3間、あるいは外部サーバ100及び車載ECU3等の通信の中継を行う。この制御プログラム2cが、車載中継装置2から送信される更新プログラムによって更新される対象である。制御部20は、制御プログラム2cを実行することにより、例えば記憶部21に記憶されているネットワーク構成情報を参照して、車載ECU3から送信されるIPパケット、CANメッセージ等を中継する。詳細は後述するが、ネットワーク構成情報には、車内通信部23間においてIPパケット等を中継するための中継経路情報(ルーティングテーブル)及び、いずれの車内通信部23が、更新に関する処理を行う外部装置と通信するための通信部であるかと特定するための情報が含まれている。
【0042】
ダイアグプログラム2dは、制御プログラム2cに含まれる1モジュールとして構成され、制御プログラム2cのプロセスのサブプロセスとして実行されるプログラムである。すなわち、ダイアグプログラム2dは、制御プログラム2cの一機能として実行されるものであり、更新プログラムに関する情報の有無を監視する。制御部20は、ダイアグプログラム2dを実行することにより、車外通信装置1を用いた外部サーバ100との通信を行うことにより、定期的に車両Cに搭載された制御プログラム2cの更新に関する情報があるか否かの問い合わせを行う。更新に関する情報があった場合、制御部20は、更新要求があったことを示す識別子(更新フラグ)を共有領域216に格納、すなわち共有領域216に書き込むことにより記憶部21に記憶する。
【0043】
ダイアグプログラム2dは、制御プログラム2cのプロセスのサブプロセスとして実行されるプログラムに限定されるものではない。例えば、ダイアグプログラム2dは、制御プログラム2cに並行して実行されるプログラムであり、更新プログラムに関する情報の有無を監視する。本実施形態においてが、更新プログラムに関する情報に対する処理において、制御プログラム2c及びダイアグプログラム2dは同義であるとし、以降は、制御プログラム2cによる機能として説明する。
【0044】
制御部20は、制御プログラム2cを実行することにより、ダイアグ装置5又は外部サーバ100等、更新に関する処理を行う外部装置と通信し、外部装置から更新に関する情報を取得した場合、更新要求があったことを示す識別子(更新フラグ)を共有領域216に格納(書き込み、記憶)する。更に、制御部20は、当該更新要求があったことを示す識別子と共に、ネットワーク構成情報を、当該共有領域216に格納する。又は、制御プログラム2cを実行中の制御部20は、更新要求があったことを示す識別子にかえて、ネットワーク構成情報を共有領域216に格納するものであってもよい。すなわち、当該共有領域216にネットワーク構成情報が格納されていることにより、更新要求があったことを示すものとして、制御部20は、処理するものであってもよい。
【0045】
セキュリティプログラム2eは、制御プログラム2c及びダイアグプログラム2dと並行して実行されるプログラムであり、これら制御プログラム2c及びダイアグプログラム2dにおけるセキュリティ情報を管理する。
【0046】
記憶部21に記憶された上述のブートプログラム2a、基本プログラム2b、制御プログラム2c、ダイアグプログラム2d、セキュリティプログラム2e、及び更新処理プログラム2gは、車載中継装置2が読み取り可能な記録媒体2Aから読み出されたブートプログラム2a、基本プログラム2b、制御プログラム2c、ダイアグプログラム2d、セキュリティプログラム2e、及び更新処理プログラム2gそれぞれを記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータからブートプログラム2a、基本プログラム2b、制御プログラム2c、ダイアグプログラム2d、セキュリティプログラム2e、及び更新処理プログラム2gそれぞれをダウンロードし、記憶部21に記憶させたものであってもよい。更に、記憶部21には、車載中継装置2及び車両Cに搭載される全ての車載ECU3の車両構成情報が記憶されるものであってもよい。当該車両構成情報には、例えば、車両CのVIN(Vehicle Identification Number)、車載中継装置2及び車載ECU3の型式、実装されているプログラムの名称及びバージョン番号等が含まれているものであってもよい。
【0047】
上記では、基本プログラム2b上で実行される制御プログラム2c、ダイアグプログラム2d及びセキュリティプログラム2eが、それぞれ異なるプログラムモジュールとして構成される例を説明したが本実施形態は限定されるものではない。例えば、制御プログラム2c、ダイアグプログラム2d及びセキュリティプログラム2eは、基本プログラム2bの機能の一部として基本プログラム2bに含まれる構成であってもよい。
【0048】
NVM管理領域2fは、基本プログラム2bに含まれる入出力機能(メモリ管理機能)により管理されるデータ保存領域である。基本プログラム2bを実行する制御部20は、基本プログラム2bに基づく通常の処理において、論理アドレスを物理アドレスに変換する入出力機能を用いてNVM管理領域2fにデータを保存する。すなわち基本プログラム2bを実行する制御部20は、入出力機能により論理アドレスと物理アドレスと対応付けて変換する変換情報を記憶し、変換情報を参照して特定したNVM管理領域2fにデータを格納する。従って、NVM管理領域2fは、当該入出力機能を備えない基本プログラム2b以外の他のプログラムを実行する制御部20からはアクセスが制限される。すなわちブートプログラム2a及び更新処理プログラム2gを実行する場合、制御部20はNVM管理領域2fの情報を参照することができない。この様に構成されるNVM管理領域2fに対して、基本プログラム2bが備える入出力機能を用いて入出力処理を実行することにより、制御部20は、当該NVM管理領域2fへのデータ、プログラム等の読み書きを実行する。
【0049】
共有領域216は、更新の有無に関する情報を示す識別子及び、ネットワーク構成情報を格納する領域であり、制御プログラム2cから更新処理プログラムに当該識別子及びネットワーク構成情報を継承させるために用いられる領域である。共有領域216は、基本プログラム2bが備える入出力機能で管理されないデータ保存領域であり、物理アドレスを用いて一意に場所を指定することができる記憶領域である。共有領域216に対しては、基本プログラム2bが備える入出力機能を実行する制御部20はアクセスすることができない。ダイアグプログラム2d及び制御プログラム2cを実行する制御部20は、更新の有無に関する情報を識別した場合、識別子及びネットワーク構成情報を共有領域216に保存する。この場合において、制御部20は、記憶部21の不揮発性メモリにおける物理位置情報である物理アドレスを用いて共有領域216を指定し、当該共有領域216に識別子及びネットワーク構成情報を格納する。すなわち、制御部20は、基本プログラム2bの機能により、論理アドレスと物理アドレスとを対応付ける変換処理を行うことなく、直接物理アドレスを指定して共有領域216に識別子を格納する。これにより、制御部20がブートプログラム2aに基づき処理を実行する場合であっても、基本プログラム2bを起動することなく位置が特定される共有領域216を参照して、更新の有無に関する情報を示す識別子を認識することが可能となる。また、制御部20が更新処理プログラムに基づき処理を実行する場合であっても、基本プログラム2bを起動することなく位置が特定される共有領域216を参照して、ネットワーク構成情報を認識することが可能となる。
【0050】
入出力I/F22は、例えばシリアル通信するための通信インターフェイスである。入出力I/F22を介して、車載中継装置2は、ディスプレイ等の表示装置7及び、車両の起動及び停止を行うIGスイッチ6と通信可能に接続される。
【0051】
車内通信部23は、例えばイーサネット又はCAN等の通信プロトコルを用いた入出力インターフェイスであり、制御部20は、車内通信部23を介して車内LAN4に接続されている車載ECU3、車外通信装置1及び他の中継装置等の車載機器、又はダイアグ装置5と相互に通信する。
【0052】
車内通信部23は、複数、設けられており、車内通信部23それぞれに、車内LAN4を構成する通信線41が接続されている。このように車内通信部23を複数、設けることにより、車内LAN4は複数個のセグメントに分け、各セグメントに車載ECUを、当該車載ECUの機能(制御系機能、安全系機能、ボディ系機能)に応じて接続する。
【0053】
車内通信部23には、更にダイアグ装置5、外部サーバと通信するための車外通信装置1が接続され、当該車内通信部23を介して、これらダイアグ装置5及び外部サーバ等の外部装置との通信が行われる。すなわち、ダイアグ装置5又は車外通信装置1が接続される車内通信部23が、更新に関する処理を行う外部装置と通信するための通信部に相当する。
【0054】
車載ECU3は、制御部30、記憶部31及び車内通信部32を含む。記憶部31は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、車載ECU3のプログラム又はデータが記憶されている。制御部30は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部31に記憶されたプログラム及びデータを読み出し実行して制御処理等を行い、当該車載ECU3を含む車載機器又はアクチュエータ等を制御する。
【0055】
車載中継装置2の入出力I/F22には、シリアルケーブル等のワイヤーハーネスにより、車両Cの起動又は停止を行うIGスイッチ6(イグニッションスイッチ)が通信可能に接続されている。IGスイッチ6がオン又はオフにされた場合、IGスイッチ6から出力(送信)された信号を、車載中継装置2の制御部20は、入出力I/F22を介して取得(受信)する。
【0056】
表示装置7は、例えばカーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置である。表示装置7は、車載中継装置2の入出力I/F22とシリアルケーブル等のハーネスにより通信可能に接続されている。表示装置7には、車載中継装置2の制御部20から入出力I/F22を介して出力されたデータ又は情報が表示される。
【0057】
図3は、ネットワーク構成情報の一態様を例示する説明図である。上述のとおり、ネットワーク構成情報は、車載中継装置2の記憶部21に記憶されている。ネットワーク構成情報は、記憶部21において、更新処理プログラム2gを実行中の制御部20及び、制御プログラム2c(ダイアグプログラム2d)を実行中の制御部20、すなわちいずれのプログラムを実行中の制御部20からも、アクセスが可能な共有領域216に記憶されている。又は、制御プログラム2cを実行中の制御部20は、当該制御プログラム2cに基づき車載ECU3間の通信の中継制御を行う際は、例えば、NVM管理領域2f等、基本プログラム2bにより設定される論理アドレスにて管理される領域に記憶されているネットワーク構成情報を参照する。そして、制御プログラム2cを実行中の制御部20が、ダイアグ装置5又は外部サーバ100から更新に関する情報を取得した場合、当該制御部20は、NVM管理領域2f等に保存されているネットワーク構成情報を、共有領域216にコピー等して書き込むものであってもよい。
【0058】
制御プログラム2cを実行中の制御部20は、NVM管理領域2f等に保存されているネットワーク構成情報を、共有領域216にコピー等して書き込む際、当該ネットワーク構成情報に含まれる全ての情報を書き込むものに限定されない。制御プログラム2cを実行中の制御部20は、NVM管理領域2f等に保存されているネットワーク構成情報を、共有領域216に書き込む際、当該ネットワーク構成情報に含まれる情報の内、少なくとも、更新に関する処理を実行する外部装置と通信するための車内通信部23を特定する情報を、共有領域216に書き込むものであってもよい。
【0059】
ネットワーク構成情報は、例えばテーブル形式で記憶されており、管理項目(フィールド)として、車内通信部23の物理ポート番号、IPアドレス、MAC(Media Access Control)アドレス、リプロ用ポート及び接続ECUを含む。
【0060】
車内通信部23の物理ポート番号のフィールドには、個々の車内通信部23において重複しないように設定された連番等による物理ポート番号が格納される。車内通信部23が、イーサネットPHY部である場合、当該イーサネットPHY部を示すデバイス番号が、当該物理ポート番号のフィールドに格納されるものであってもよい。
【0061】
IPアドレスのフィールドには、対応する物理ポート番号の車内通信部23に接続される車載ECU3、車外通信装置1又はダイアグ装置5のIPアドレス(TCP/IPを用いた通信を行う際のネットワーク層に対応するアドレス)が格納される。制御部20は、当該IPアドレスを参照することにより、レイヤー3スイッチとして機能する。
【0062】
MACアドレスのフィールドには、対応する物理ポート番号の車内通信部23に接続される車載ECU3、車外通信装置1又はダイアグ装置5のMACアドレス(イーサネットによる通信を行う際のデータリング層に対応するアドレス)が格納される。制御部20は、当該MACアドレスを参照することにより、レイヤー2スイッチとして機能する。
【0063】
リプロ用ポートのフィールドには、自装置である車載中継装置2の制御プログラム2cの更新に関する処理を行う外部装置と通信するための車内通信部23を特定するための識別子(フラグ)が格納される。本実施形態では、更新に関する処理を行う外部装置と通信するための車内通信部23を特定するための識別子として、1を設定しており、図示のとおり、eth02の物理ポート(リプロ用ポート:1)を、当該外部装置と通信するための車内通信部23として特定している。すなわち、リプロ用ポートに1以外となる0が格納されている他の物理ポートは、更新に関する処理を行う外部装置と通信するための車内通信部23以外の車内通信部23として、特定される。このようにネットワーク構成情報には、車載中継装置2が備える車内通信部23それぞれに対し、いずれの車内通信部23が更新に関する処理を行う外部装置と通信するための車内通信部23であるかを特定する情報が含まれているため、更新処理プログラム2gを実行中の制御部20は、当該外部装置と通信するための車内通信部23を容易に特定することができる。
【0064】
接続ECUのフィールドには、対応する物理ポート番号の車内通信部23に接続される車載装置の名称、種類又は区分に関する情報が格納される。
【0065】
図4は、本実施の形態に係る車載中継装置2の制御部20の処理を例示するフローチャートである。車載中継装置2の制御部20は、例えば車両Cが起動状態(IGスイッチ6がオン)又は停止状態(IGスイッチ6がオフ)において、定常的に以下の処理を行う。
【0066】
車載中継装置2の制御部20は、ネットワーク構成情報を記憶部21(共有領域216)に書き込む(S101)。本処理を行うにあたり、制御部20は、車載ECU3間の通信を中継するための制御プログラム2cを実行中であり、当該制御プログラム2cの入出力機能を用いて、ネットワーク構成情報を記憶部21における共有領域216の物理アドレスに基づき、当該共有領域216にネットワーク構成情報を書き込むものであってもよい。又は、制御部20は、基本プログラム2bを実行し、さらに基本プログラム2b上にて制御プログラム2c及びダイアグプログラム2dを並行して実行し、ダイアグプログラム2dの入出力機能を用いて、共有領域216の物理アドレスに基づき、当該共有領域216にネットワーク構成情報を書き込むものであってもよい。
【0067】
ネットワーク構成情報が書き込まれる共有領域216は、記憶部21の物理アドレスに基づき特定される領域であるため、制御部20が制御プログラム2c及び更新処理プログラム2gのいずれのプログラムを実行した場合であっても、制御部20は、共有領域216にアクセスすることができる。従って当該共有領域216を用いることにより、制御プログラム2cから更新処理プログラム2gにネットワーク構成情報を確実に継承することができる。
【0068】
制御部20は、ネットワーク構成情報を記憶部21(共有領域216)に書き込むにあたり、外部装置から取得した更新に関する情報(キャンペーン情報)についても、当該共有領域216に書き込むものであってもよい。制御部20は、自装置である車載中継装置2と、ダイアグ装置5又は外部サーバ100等の外部装置とが接続され、これら外部装置から、更新に関する情報が送信(出力)された場合、ネットワーク構成情報を記憶部21(共有領域216)に書き込むものであってもよい。この場合、制御部20は、更新に関する情報を送信(出力)した外部装置と通信するために用いられた車内通信部23を特定するための情報をネットワーク構成情報に反映して、当該ネットワーク構成情報を記憶部21(共有領域216)に書き込むものであってもよい。
【0069】
例えば、更新に関する情報が送信(出力)した外部装置がダイアグ装置5である場合、制御部20は、ネットワーク構成情報において、ダイアグ装置5が接続される車内通信部23のリプロ用ポートのフィールドに格納されるフラグを1に変更し、他の車内通信部23のリプロ用ポートのフィールドに格納されるフラグを0にすることにより、外部装置と通信するために用いられた車内通信部23を特定してもよい。また、更新に関する情報が送信(出力)した外部装置が外部サーバ100である場合、制御部20は、ネットワーク構成情報において、外部サーバ100と通信するための外部通信装置が接続される車内通信部23のリプロ用ポートのフィールドに格納されるフラグを1に変更し、他の車内通信部23のリプロ用ポートのフィールドに格納されるフラグを0にすることにより、外部装置と通信するために用いられた車内通信部23を特定してもよい。
【0070】
このように更新に関する情報を送信(出力)した外部装置に基づき、ネットワーク構成情報を変更することにより、更新に関する処理を行う外部装置と通信するための車内通信部23が複数ある場合であっても、今回の更新に関する処理において用いられる車内通信部23を容易に特定することができる。従って、更新に関する処理において不要な車内通信部23を確実に無効化し、これら不要な車内通信部23による通信を禁止することにより、当該更新に関する処理のセキュリティを担保することができる。
【0071】
制御部20は、ネットワーク構成情報に含まれる全ての情報を、当該共有領域216に書き込むものに限定されない。制御部20は、ネットワーク構成情報において、更新に関する処理行う外部装置と通信するための車内通信部23の物理ポート番号等、当該車内通信部23を特定するための情報を、当該共有領域216に書き込むものであってもよい。又は、制御部20は、更新に関する処理行う外部装置と通信するための車内通信部23以外の車内通信部23の物理ポート番号等、すなわち、後述する処理において、無効化する車内通信部23の物理ポート番号を、当該共有領域216に書き込むものであってもよい。
【0072】
車載中継装置2の制御部20は、車両Cが停止されたか否かを判定する(S102)。車両Cが停止されていない場合(S102:NO)、車載中継装置2の制御部20は、再度、処理S102を実行すべく、ループ処理を行う。車両Cが停止された場合(S102:YES)、車載中継装置2の制御部20は、車載中継装置2の制御部20は、制御プログラム2cを終了する(S103)。本実施形態においては、車載中継装置2の制御部20にて実行されている制御プログラム2cの終了、すなわち車載中継装置2のリセットを行うにあたり、車両Cの停止(IGスイッチ6のオフ)をトリガーして用いたが、これに限定されない。当該制御プログラム2cの終了は、例えば、ダイアグ装置5等の外部装置から出力されたリセット信号等に基づき、行われるものであってもよい。
【0073】
車載中継装置2の制御部20は、更新に関する情報の有無を判定する(S104)。制御部20は、例えば、ブートプログラム2aを実行し、当該ブートプログラム2aに含まれる入出力機能を用いて、記憶部21(共有領域216)を参照し、更新に関する情報の有無を判定する。
【0074】
更新に関する情報がない場合(S104:NO)、車載中継装置2の制御部20は、本実施形態における一連の処理を終了する。更新に関する情報がない場合、すなわちダイアグ装置5等の更新に関する処理を行う外部装置から、自装置の制御プログラム2cの更新に関する情報(キャンペーン情報)を取得していない場合、制御部20は、本実施形態における一連の処理を終了し、車両Cの停止状態に応じて、例えば停止状態又は待機状態(スリープ)に遷移する。
【0075】
更新に関する情報がある場合(S104:YES)、車載中継装置2の制御部20は、更新処理プログラム2gを実行する(S105)。更新に関する情報がある場合、すなわちダイアグ装置5等の更新に関する処理を行う外部装置から、自装置の制御プログラム2cの更新に関する情報(キャンペーン情報)を取得している場合、制御部20は、更新処理プログラム2gを実行する。
【0076】
制御部20が、更新に関する情報があると判定する場合は、自装置の制御プログラム2cの更新に関する情報(キャンペーン情報)が記憶部21(共有領域216)に記憶されている場合に限定されない。制御部20は、当該記憶部21(共有領域216)にネットワーク構成情報が記憶されていることをもって、更新に関する情報があると判定するものであってもよい。すなわち、ネットワーク構成情報が、更新に関する情報に相当するものとして、車載中継装置2の制御部20は、更新に関する情報の有無を判定するものであってもよい。
【0077】
車載中継装置2の制御部20は、記憶部21(共有領域216)に記憶されているネットワーク構成情報を参照する(S106)。更新処理プログラム2gを実行中の制御部20は、例えば、物理アドレスを用いて記憶部21(共有領域216)にアクセスし、当該共有領域216に記憶されているネットワーク構成情報を参照する。
【0078】
車載中継装置2の制御部20は、更新に関する処理を行う外部装置と通信するための車内通信部23を特定する(S107)。更新処理プログラム2gを実行中の制御部20は、例えば、ネットワーク構成情報に含まれているリプロ用ポートのフィールドに格納されている各車内通信部23それぞれのフラグ情報を参照することにより、更新に関する処理を行う外部装置と通信するための車内通信部23を特定する。又は、外部装置から取得した更新に関する情報(キャンペーン情報)には、当該外部装置と通信するために用いられて物理ポート番号が含まれており、制御部20は、当該物理ポート番号に基づき、更新に関する処理を行う外部装置と通信するための車内通信部23を特定するものであってもよい。又は、外部装置から取得した更新に関する情報(キャンペーン情報)には、当該外部装置のアドレス(IPアドレス、MACアドレス)が含まれており、制御部20は、当該アドレスに対応する車内通信部23を、更新に関する処理を行う外部装置と通信するための車内通信部23を特定するものであってもよい。
【0079】
車載中継装置2の制御部20は、特定した車内通信部23以外の車内通信部23を無効化する(S108)。更新処理プログラム2gを実行中の制御部20は、更新に関する処理を行う外部装置と通信するための車内通信部23以外の車内通信部23に対し、例えばオフ信号を出力することにより、これら車内通信部23を無効化し、当該車内通信部23により中継が行われることを禁止する。
【0080】
制御部20は、更新に関する処理を行う外部装置と通信するための車内通信部23以外の車内通信部23に対する電力の供給を停止することにより、これら車内通信部23により中継が行われることを禁止するものであってもよい。すなわち、制御部20は、例えば、これら車内通信部23に接続される電力線に設けられたスイッチをオフにすることにより、当該車内通信部23に対する電力の供給を停止するものであってもよい。
【0081】
車載中継装置2の制御部20は、更新に関する処理を行う外部装置から更新プログラムを取得する(S109)。外部装置から取得した更新プログラムは、現時点まで自装置にて実行していた制御プログラム2cの新バージョンのプログラムに相当する。制御部20は、ダイアグ装置5等の外部装置から更新プログラムを取得(受信)し、取得した更新プログラムを次回の起動時より実行する制御プログラム2cとして、記憶部21のプログラム領域213(コードフラッシュ)に書き込み、当該記憶部21にて記憶する。
【0082】
車載中継装置2の制御部20は、更新処理プログラム2gを終了する(S110)。制御部20は、更新処理プログラム2gを終了する際、記憶部21(共有領域216)に記憶されているネットワーク構成情報及び自装置の制御プログラム2cの更新に関する情報(キャンペーン情報)を削除するものであってもよい。制御部20は、更新処理プログラム2gを終了することにより、車両Cの停止状態に応じて、例えば停止状態又は待機状態(スリープ)に遷移する。
【0083】
これらネットワーク構成情報及び更新に関する情報を記憶部21(共有領域216)から削除することにより、次回の車両Cの起動時に、車載中継装置2の制御部20は、更新に関する情報は無い、すなわち自装置の制御プログラム2cの更新は不要であると判定する。これにより、車載中継装置2の制御部20は、S109の処理で取得した更新プログラムを適用して、新バージョンによる制御プログラム2cを実行する。当該新バージョンの制御プログラム2cを実行することにより、車載ECU3間の中継処理を行うゲートウェイ又はイーサスイッチとして機能する。制御部20は、当該制御プログラム2cを実行するにあたり、まずは基本プログラム2bを実行し、当該基本プログラム2b上にて制御プログラム2cを実行するものであってもよい。
【0084】
本実施形態によれば、更新処理プログラム2gを実行する制御部20は、制御プログラム2cから継承されたネットワーク構成情報を参照する。制御プログラム2cから継承されたネットワーク構成情報には、更新に関する処理を行う外部装置と通信するための車内通信部23を特定するための情報が含まれているため、更新処理プログラム2gを実行する制御部20は、更新に関する処理にて用いる車内通信部23を容易に特定することができる。
【0085】
更新処理プログラム2gを実行する制御部20は、更新に関する処理を行う外部装置と通信するための車内通信部23を有効にし、更新に関する処理を行う外部装置と通信するための車内通信部23以外の車内通信部23を、例えば無効状態又は非活性状態にし、当該車内通信部23よる通信を禁止する。従って、車載中継装置2は、自装置の制御プログラム2cを更新する処理(リプロ処理)を行う際、不要な車内通信部23を介して不正なアクセスが行われることを防止し、制御プログラム2cの更新処理における安全性、信頼性を担保することができ、当該制御プログラム2cの更新を効率的に実施することができる。
【0086】
本実施形態によれば、制御プログラム2c及び更新処理プログラム2gの双方のプログラムを実行するにあたり、例えば、物理アドレスを用いて共有領域216にアクセスし、ネットワーク構成情報等の書き込み及び参照を行う。従って、制御プログラム2c及び更新処理プログラム2gが同一の制御部20によって選択的に実行される際、記憶部21にアクセスする際に用いられる論理アドレスが個々のプログラムにおいて互換性が無い場合であっても、両プログラムが共にアクセスできる共有領域216を用いることにより、制御プログラム2cにて用いられるネットワーク構成情報を、更新処理プログラム2gに継承することができる。
【0087】
本実施形態によれば、制御プログラム2cを実行中の制御部20は、更新に関する情報の出力先に基づき、ネットワーク構成情報に含まれるリプロ用ポートのフィールドに格納される値(フラグ)を変更し、更新に関する処理を行う外部装置と通信するための車内通信部23を特定する情報を、当該ネットワーク構成情報に反映する。従って、車載中継装置2が、当該外部装置と通信するための車内通信部23を複数、有する場合であっても、更新処理プログラム2gを実行中の制御部20は、制御プログラム2cから継承されたネットワーク構成情報を参照することにより、更新に関する処理を行う外部装置と通信するための車内通信部23を確実に特定することができる。
【0088】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0089】
C 車両
N 車外ネットワーク
100 外部サーバ(外部装置)
101 記憶部
1 車外通信装置
11 車外通信部
12 車内通信部
13 アンテナ
2 車載中継装置
20 制御部
21 記憶部
211 ブートプログラム領域
212 基本プログラム領域
213 プログラム領域
214 データ領域
215 更新処理プログラム領域
216 共有領域
2a ブートプログラム
2b 基本プログラム
2c 制御プログラム
2d ダイアグプログラム
2e セキュリティプログラム
2f NVM管理領域
2g 更新処理プログラム
2A 記録媒体
22 入出力I/F
23 車内通信部(通信部、第1通信部、第2通信部)
3 車載ECU
30 制御部
31 記憶部
32 車内通信部
4 車内LAN
41 通信線
5 ダイアグ装置(外部装置)
6 IGスイッチ
7 表示装置