JP2023102647A - 中継装置、プログラム及び、プログラムの更新方法 - Google Patents
中継装置、プログラム及び、プログラムの更新方法 Download PDFInfo
- Publication number
- JP2023102647A JP2023102647A JP2022003273A JP2022003273A JP2023102647A JP 2023102647 A JP2023102647 A JP 2023102647A JP 2022003273 A JP2022003273 A JP 2022003273A JP 2022003273 A JP2022003273 A JP 2022003273A JP 2023102647 A JP2023102647 A JP 2023102647A
- Authority
- JP
- Japan
- Prior art keywords
- program
- relay
- update
- processing program
- vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 126
- 230000001419 dependent effect Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 52
- 230000008569 process Effects 0.000 description 35
- 230000007704 transition Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 17
- 239000000872 buffer Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000004913 activation Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mechanical Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
【課題】車載ECUのプログラムを更新する処理を効率的に行うことができる中継装置、プログラム及びプログラムの更新方法を提供する。
【解決手段】車外装置S1から送信される更新プログラムを取得し、車両に搭載される車載ECUのプログラムを更新するための処理を行う中継装置であって、車載ECU間における中継処理を行う制御部と、中継処理を行う際に用いる中継処理用プログラムと、中継処理と更新処理とを切り替えるための切替用プログラムとが記憶されている記憶部と、を備える。切替用プログラムを実行中の制御部は、更新処理を行うための更新処理用プログラムを、車外装置から取得し、取得した更新処理用プログラムを中継処理用プログラムが記憶されている記憶部に記憶し、記憶部に記憶した更新処理用プログラムを実行する。更新処理用プログラムを実行中の制御部は、車外装置から取得した更新プログラムを更新対象の車載ECU3に出力する。
【選択図】図1
【解決手段】車外装置S1から送信される更新プログラムを取得し、車両に搭載される車載ECUのプログラムを更新するための処理を行う中継装置であって、車載ECU間における中継処理を行う制御部と、中継処理を行う際に用いる中継処理用プログラムと、中継処理と更新処理とを切り替えるための切替用プログラムとが記憶されている記憶部と、を備える。切替用プログラムを実行中の制御部は、更新処理を行うための更新処理用プログラムを、車外装置から取得し、取得した更新処理用プログラムを中継処理用プログラムが記憶されている記憶部に記憶し、記憶部に記憶した更新処理用プログラムを実行する。更新処理用プログラムを実行中の制御部は、車外装置から取得した更新プログラムを更新対象の車載ECU3に出力する。
【選択図】図1
Description
本発明は、中継装置、プログラム及び、プログラムの更新方法に関する。
車両には、エンジン制御等の駆動制御系、エアコン制御等のボディ系等の車載機器を制御するためのECU(Electronic Control Unit)が搭載されている。ECUは、MPU等の演算処理部、RAM等の書き換え可能な不揮発性の記憶部、及び他のECUと通信するための通信部を含み、記憶部に記憶した制御プログラムを読み込んで実行することにより、車載機器の制御を行う。更に車両には、無線通信の機能を備えた通信機が実装されており、通信機を介して、車外のネットワークに接続されているプログラム提供装置と通信し、当該プログラム提供装置からECUの制御プログラムをダウンロード(受信)し、当該ECUの制御プログラムを更新することができる(例えば特許文献1参照)。
しかしながら、特許文献1の通信機(中継機)は、例えば、ダウンロードする制御プログラムが大容量化した場合、当該通信機(中継機)における記憶部の記憶容量を増加させる、又は、必要とされる制御プログラムをダウンロードするにあたり、当該制御プログラムを複数回に分けてダウンロードして更新処理するものとなり、更新処理全体における所要時間が増加する等の問題点がある。
本開示の目的は、車載ECUのプログラムを更新する処理を行うにあたり、当該プログラムの更新する処理を効率的に行うことができる中継装置等を提供する。
本開示の一態様に係る中継装置は、車外装置から送信される更新プログラムを取得し車両に搭載される車載ECUのプログラムを更新するための処理を行う中継装置であって、前記車載ECU間における中継処理を行う制御部と、中継処理を行う際に用いる中継処理用プログラムと、中継処理と更新処理とを切り替えるための切替用プログラムとが記憶されている記憶部とを備え、前記切替用プログラムを実行中の制御部は、更新処理を行うための更新処理用プログラムを、前記車外装置から取得し、取得した前記更新処理用プログラムを、前記中継処理用プログラムが記憶されている記憶領域を用いて、前記記憶部に記憶し、前記記憶部に記憶した前記更新処理用プログラムを実行し、前記更新処理用プログラムを実行中の制御部は、前記車外装置から取得した更新プログラムを更新対象の前記車載ECUに出力する。
本開示の一態様によれば、車載ECUのプログラムを更新する処理を行うにあたり、当該プログラムの更新する処理を効率的に行う中継装置等を提供することができる。
[本開示の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本開示の一態様に係る中継装置は、車外装置から送信される更新プログラムを取得し車両に搭載される車載ECUのプログラムを更新するための処理を行う中継装置であって、前記車載ECU間における中継処理を行う制御部と、中継処理を行う際に用いる中継処理用プログラムと、中継処理と更新処理とを切り替えるための切替用プログラムとが記憶されている記憶部とを備え、前記切替用プログラムを実行中の制御部は、更新処理を行うための更新処理用プログラムを、前記車外装置から取得し、取得した前記更新処理用プログラムを、前記中継処理用プログラムが記憶されている記憶領域を用いて、前記記憶部に記憶し、前記記憶部に記憶した前記更新処理用プログラムを実行し、前記更新処理用プログラムを実行中の制御部は、前記車外装置から取得した更新プログラムを更新対象の前記車載ECUに出力する。
本態様にあたっては、車外装置の記憶部には、制御部によって実行される制御プログラムが記憶されており、当該制御プログラムは、切替用プログラム(セルフリプロプログラム)及び中継用プログラムを含む。中継処理用プログラムは、車両の走行時等、当該車両における通常制御時の機能を実行するための通常制御用プログラムに相当する。制御部が中継処理用プログラムを実行することにより、中継装置は通常処理モード(中継処理モード)の状態となる。切替用プログラム(セルフリプロプログラム)は、例えば、OTAサーバ等の外部サーバ、又は正規ディーラ等が用いるプログラム提供装置(ダイアグ装置)から送信されるキャンペーン情報に応じて、制御部が実行する。これら、外部サーバ(OTAサーバ)及びプログラム提供装置(ダイアグ装置)は、車外装置に相当する。当該制御部が切替用プログラムを実行することにより、中継装置は、通常処理モードから切替モード(セルフリプロモード)に遷移する。切替用プログラム(セルフリプロプログラム)を実行することにより、切替モードに遷移した制御部(切替用プログラムを実行中の制御部)は、車外装置から、車載ECUの更新処理を行うための更新処理用プログラムを取得する。切替用プログラムを実行中の制御部は、取得した更新処理用プログラムを実行することにより、更新処理モードに遷移する。切替用プログラムを実行中の制御部は、車外装置から取得した更新処理用プログラムを、中継用プログラムが記憶されている記憶領域を用いて、記憶部に記憶する。すなわち、切替用プログラムを実行中の制御部は、記憶部に記憶されている中継用プログラムを、更新処理用プログラムに書き換える。これにより、更新処理を行う際に実行を要さない中継用プログラムが記憶された記憶領域を活用して、空き容量化した記憶領域(空き領域)をバッファとして確保でき、当該バッファに車外装置から取得した更新プログラムを効率的に記憶(バッファリング)することができる。このように更新処理を行う際に実行を要さない中継用プログラムが記憶された記憶領域をバッファ領域として活用することにより、車外装置から取得した更新プログラムが大容量化した場合であっても、当該大容量化に対応することができる。これにより、記憶部の記憶容量が増加することを抑制、又は、更新プログラムを複数回に分けてダウンロードして更新処理することを不要とし処理時間の削減を図ることができる。なお、制御部はプログラム動作中に自身のプログラムを書き換えるセルフプログラミングを実行することも可能である。
(2)本開示の一態様に係る中継装置は、前記更新処理用プログラムを実行中の制御部は、更新対象の前記車載ECUへの更新プログラムの出力が完了後、前記切替用プログラムを実行し、前記切替用プログラムを実行中の制御部は、前記中継処理用プログラムを復元する。
本態様にあたっては、更新処理用プログラムを実行中の制御部は、新対象の車載ECUへの更新プログラムの出力が完了後、切替用プログラムを実行することにより、切替モード(セルフリプロモード)に遷移する。切替用プログラムを実行中の制御部は、更中継処理用プログラムを復元し、当該復元した中継処理用プログラムを実行することにより、車載ECU間における中継処理を開始(通常処理モードに遷移)することができる。
(3)本開示の一態様に係る中継装置は、前記切替用プログラムを実行中の制御部は、取得した前記更新処理用プログラムを、前記中継処理用プログラムが記憶されている記憶領域に上書きすることにより、前記記憶部に記憶し、前記車外装置から、上書きされた中継処理用プログラムを取得することにより、前記中継処理用プログラムを復元する。
本態様にあたっては、切替用プログラムを実行中の制御部は、中継処理用プログラムが記憶されている記憶領域を用いて、車外装置から取得した更新処理用プログラムを記憶部に記憶するにあたり、例えば、当該中継処理用プログラムを上書きした場合であっても、車外装置から中継処理用プログラムを取得することにより、当該中継処理用プログラムを効率的に復元することができる。当該上書き処理は、中継処理用プログラムが記憶されている記憶領域において、当該中継処理用プログラムを削除し空き領域化した後、当該空き領域となった記憶領域に、更新処理用プログラムを記憶(書き込む)する処理を含むものである。
(4)本開示の一態様に係る中継装置は、前記切替用プログラムを実行中の制御部は、前記中継処理用プログラムを圧縮することにより、前記中継処理用プログラムが記憶されていた記憶領域を空き領域化し、前記空き領域を用いることにより、取得した前記更新処理用プログラムを前記記憶部に記憶し、前記圧縮した中継処理用プログラムを解凍することにより、前記中継処理用プログラムを復元する。
本態様にあたっては、切替用プログラムを実行中の制御部は、中継処理用プログラムが記憶されている記憶領域を用いて、車外装置から取得した更新処理用プログラムを記憶部に記憶するにあたり、例えば、当該中継処理用プログラムを圧縮して当該記憶領域を空き容量化して、この空き領域に記憶する。このような場合であっても、圧縮した中継処理用プログラムは記憶部に記憶されているものとなり、当該圧縮した中継処理用プログラムを解凍することにより、中継処理用プログラムの復元を効率的に行うことができる。
(5)本開示の一態様に係る中継装置は、前記中継処理用プログラムは、前記車両に依存する非汎用プログラム部と、前記車両に依存しない汎用プログラム部とを含み、前記切替用プログラムを実行中の制御部は、前記非汎用プログラム部を圧縮することにより、前記非汎用プログラム部が記憶されていた記憶領域を空き領域化し、前記空き領域及び、前記汎用プログラム部が記憶されている記憶領域を用いて、前記更新処理用プログラムを前記記憶部に記憶し、前記圧縮した非汎用プログラム部を解凍し、前記車外装置から汎用プログラム部を取得することにより前記中継処理用プログラムを復元する。
本態様にあたっては、車両に依存する非汎用プログラム部と、車両に依存しない汎用プログラム部とを含む中継処理用プログラムにおいて、非汎用プログラム部を圧縮することにより小容量化され、当該非汎用プログラム部が記憶されていた記憶領域を空き領域化することができる。その上、当該圧縮された非汎用プログラム部は、中継装置の記憶部に記憶されるため、圧縮された非汎用プログラム部を解凍することにより、当該非汎用プログラム部を復元することができるため、車外装置から非汎用プログラム部を取得することを不要とすることができる。車外装置においては、車両に依存する非汎用プログラム部を個別に保存管理することを不要とすることができるため、当該車外装置にて中継装置の中継処理用プログラムを保存管理する際の複雑化又は煩雑化が生じることを緩和することができる。更に、車両に依存しない汎用プログラム部については、車外装置において、例えば同一の車種又は同一の車製造メーカ単位にて、当該汎用プログラム部を共通化又は標準化して保存されるものとなる。従って、中継装置(切替用プログラムを実行中の制御部)は、当該汎用プログラム部を車外装置から取得することにより、当該汎用プログラム部を効率的に復元することができる。
(6)本開示の一態様に係る中継装置は、前記記憶部は、現時点にて適用されている中継処理用プログラムが記憶される第1記憶部と、以前に適用されていた中継処理用プログラムが記憶される第2記憶部とを含み、前記切替用プログラムを実行中の制御部は、取得した前記更新処理用プログラムを、前記第2記憶部に記憶する。
本態様にあたっては、記憶部は、第1記憶部及び第2記憶部を含む2面持ちの記憶部として構成される。現時点にて適用されている切替用プログラム及び中継処理用プログラムが記憶される第1記憶部は、動作面として機能する。以前に適用されていた切替用プログラム及び中継処理用プログラムが記憶される第2記憶部は、非動作面として機能する。切替用プログラムを実行中の制御部は、非動作面である第2記憶部に、車外装置から取得した更新処理用プログラムを記憶するため、動作面である第1記憶部に記憶されており、現時点にて適用されている更新処理用プログラム及び中継処理用プログラムを維持することができる。これにより、中継装置は、更新処理モードから、通常処理モードに遷移する際、外部サーバから中継処理用プログラムを取得する等、当該中継処理用プログラムを復元するための処理を不要とすることができる。
(7)本開示の一態様に係る中継装置は、前記切替用プログラムを実行中の制御部は、前記更新処理用プログラムの一部を、前記第1記憶部の空き領域に記憶し、前記更新処理用プログラムの残部を、前記以前に適用されていた中継処理用プログラムが記憶されている記憶領域を用いて、前記第2記憶部に記憶する。
本態様にあたっては、記憶部は、動作面として用いられる領域と、非動作面として用いられる領域とを含み、当該動作面と非動作面とは切替可能に構成されている。すなわち、動作面が第1記憶部である場合、非動作面は第2記憶部となり、動作面が第1記憶部である場合、非動作面は第1記憶部となる。切替用プログラムを実行中の制御部は、動作面における空き領域と、非動作面における中継処理用プログラムが記憶されている記憶領域を用いて、更新処理用プログラムを記憶部するため、バッファ領域を十分に確保することができる。このように動作面及び非動作面が切替可能に構成されるにあたり、第1記憶部と第2記憶部とは領域分割されているものであってもよい。これに対し、中継装置の制御部は、更新処理用プログラムを記憶する際に、当該領域分割を解除又は無効化し、第1記憶部と第2記憶部とを論理的に連続する記憶領域に設定するものであってもよい。これにより、第1記憶部の空き領域と、以前の中継処理用プログラムが記憶されている記憶領域(2記憶部)とを用いて、更新処理用プログラムを記憶することができ、車載ECUに適用する更新プログラムに対する十分なバッファ領域を確保することができる。
(8)本開示の一態様に係る中継装置は、前記切替用プログラムは、前記中継処理用プログラムよりもプログラムサイズが小さい。
本態様にあたっては、切替用プログラムは、中継処理用プログラムよりもプログラムサイズ(実行ファイルのデータ容量)が小さいため、記憶部における空き容量が逼迫することを抑制することができる。更に、切替用プログラムは、更新処理用プログラムよりも、プログラムサイズが小さいものであってもよい。このように切替用プログラムは、中継処理と更新処理との間における切替処理に特化した最小構成のモジュールにて構成することにより、中継処理用プログラム及び更新処理用プログラムのプログラムサイズよりも、小さいプログラムサイズとするものであってもよい。これにより、制御部が中継処理を実行(通常モード)又は更新処理を実行(リプロモード)のいずれの場合であっても、記憶部に記憶される切替用プログラムのプログラムサイズを小さくし、記憶部における空き容量を効率的に確保することができる。
(9)本開示の一態様に係るプログラムは、車外装置から送信される更新プログラムを取得し、車両に搭載される車載ECUのプログラムを更新するための処理を行い、中継処理を行う際に用いる中継処理用プログラムと、中継処理と更新処理とを切り替えるための切替用プログラムとが記憶されている記憶部を備えるコンピュータに、前記切替用プログラムを実行させることにより、更新処理を行うための更新処理用プログラムを、前記車外装置から取得し、取得した前記更新処理用プログラムを、前記中継処理用プログラムが記憶されている記憶領域を用いて、前記記憶部に記憶し、前記記憶部に記憶した前記更新処理用プログラムを実行させることにより、前記更新処理用プログラムを実行中の制御部は、前記車外装置から取得した更新プログラムを更新対象の前記車載ECUに出力する処理を実行させる。
本態様にあたっては、コンピュータを、車載ECUのプログラムを更新する処理を行うにあたり、当該プログラムの更新する処理を効率的に行うことができる中継装置として機能させるプログラムを提供することができる。当該プログラムは、コンピュータの記憶部に記憶されている制御プログラムに相当するものであり、当該制御プログラムは、切替用プログラム、中継処理用プログラム、及び更新処理用プログラムを含む。これら切替用プログラム、中継処理用プログラム、及び更新処理用プログラムは、コンピュータによって連鎖的に実行されることにより、本態様における一連の処理を行うプログラム(制御プログラム)として動作するものであってもよい。又は、制御プログラムは、切替用プログラム、中継処理用プログラム、及び更新処理用プログラムに加え、これら個々のプログラムの起動及び停止を制御するプログラム起動モジュールを含み、当該プログラム起動モジュールが、本態様における一連の処理を制御するものであってもよい。
(10)本開示の一態様に係るプログラムの更新方法は、車外装置から送信される更新プログラムを取得し、車両に搭載される車載ECUのプログラムを更新するための処理を行い、中継処理を行う際に用いる中継処理用プログラムと、中継処理と更新処理とを切り替えるための切替用プログラムとが記憶されている記憶部を備えるコンピュータに、前記切替用プログラムを実行させることにより、更新処理を行うための更新処理用プログラムを、前記車外装置から取得し、取得した前記更新処理用プログラムを、前記中継処理用プログラムが記憶されている記憶領域を用いて、前記記憶部に記憶し、前記記憶部に記憶した前記更新処理用プログラムを実行させることにより、前記更新処理用プログラムを実行中の制御部は、前記車外装置から取得した更新プログラムを更新対象の前記車載ECUに出力する処理を実行させる。
本態様にあたっては、コンピュータを、車載ECUのプログラムを更新する処理を行うにあたり、当該プログラムの更新する処理を効率的に行うことができる中継装置として機能させる更新方法を提供することができる。
[本開示の実施形態の詳細]
本開示をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る中継装置2を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
本開示をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る中継装置2を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
(実施形態1)
以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る中継装置2を含む車載更新システムの構成を例示する模式図である。図2は、中継装置2の物理構成を例示するブロック図である。車載更新システムSは、車両Cに搭載された車外通信装置1及び中継装置2を含み、車外ネットワークNを介して接続された外部サーバS1(プログラム提供装置、OTAサーバ)から取得した更新プログラムを、車両Cに搭載されている車載ECU3(Electronic Control Unit)に送信する。
以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る中継装置2を含む車載更新システムの構成を例示する模式図である。図2は、中継装置2の物理構成を例示するブロック図である。車載更新システムSは、車両Cに搭載された車外通信装置1及び中継装置2を含み、車外ネットワークNを介して接続された外部サーバS1(プログラム提供装置、OTAサーバ)から取得した更新プログラムを、車両Cに搭載されている車載ECU3(Electronic Control Unit)に送信する。
外部サーバS1は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータであり、RAM(Random Access Memory)、ROM(Read Only Memory)又はハードディスク等による記憶部S11を備え、車外のプログラム提供装置に相当する。外部サーバS1には、車載ECU3の製造メーカ等によって作成された当該車載ECU3を制御するためのプログラム又はデータが、記憶部S11に保存されている。当該プログラム又はデータは、更新プログラムとして、後述のごとく車両Cに送信され、車両Cに搭載されている車載ECU3のプログラム又はデータを更新するために用いられる。このように構成された外部サーバS1(プログラム提供装置)は、OTA(Over The Air)サーバとも称される。外部サーバS1は、更新プログラム等を提供する車外装置に相当する。車外装置は、正規ディーラ等が用いるプログラム提供装置(ダイアグ装置)であってもよい。すなわち、中継装置2に更新プログラム等を提供する車外装置は、OTAサーバ等の外部サーバS1、及びダイアグ装置等のプログラム提供装置を含むものであってもよい。
中継装置2は、外部サーバS1から取得した更新プログラムを、更新対象の車載ECU3への送信、及び送信した更新プログラムを、当該車載ECU3に適用させるためのアクティベート指示を送信するOTAマスタとして機能する。車両Cに搭載される車載ECU3は、中継装置2を介して、外部サーバS1から無線通信により送信された更新プログラムを取得し、アクティベート指示に応じて当該更新プログラムを適用(アクティベート処理)することにより、当該車載ECU3自身が実行するプログラムを更新(リプロ)する。
以降、プログラムは、車載ECU3が処理を行うための制御構文等を含むプログラムコード及び、当該プログラムコードを実行するにあたり参照するデータが記載される外部ファイルを含むものとして説明する。更新プログラムの送信時において、これらプログラムコード及びデータが記載される外部ファイルは、例えば暗号化されたアーカイブファイルとして、外部サーバS1から送信される。外部サーバS1は、更新プログラムを送信する際、当該更新プログラムを含むパッケージを生成し、生成したパッケージを車両Cに送信するものであってもよい。更新対象となる車載ECU3が複数台の場合、外部サーバS1は、これら複数の車載ECU3それぞれに適用する更新プログラムを、単一のパッケージとして生成するものであってもよい。
外部サーバS1は、当該更新プログラムを送信するあたり、プログラム更新に関する情報であるキャンペーン情報を中継装置2に送信するものであってもよい。中継装置2は、外部サーバS1と通信することによりキャンペーン情報の有無を確認し、当該確認結果に応じて、中継装置2(自装置)が搭載される車両において、更新処理の要否を判定することができる。当該キャンペーン情報には、更新対象となる一つ以上の車載ECU3に関する情報(ターゲット情報)が含まれる。
車両Cには、車外通信装置1、中継装置2、表示装置5、及び種々の車載機器を制御するための複数の車載ECU3が搭載されている。車外通信装置1と中継装置2とは、例えばシリアルケーブル等のハーネスにより通信可能に接続されている。中継装置2及び車載ECU3は、CAN(Control Area Network)又はEthernet(登録商標)等の通信プロトコルに対応した車載ネットワーク4によって通信可能に接続されている。
車外通信装置1は、車外通信部(図示せず)及び、中継装置2と通信するための入出力I/F(図示せず)(インターフェイス)を含む。車外通信部は、LTE(登録商標)、4G、5G、WiFi(登録商標)等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部に接続されたアンテナ11を介して外部サーバS1とデータの送受信を行う。車外通信装置1と外部サーバS1との通信は、例えば公衆回線網又はインターネット等の外部ネットワークNを介して行われる。
車外通信装置1の入出力I/Fは、中継装置2と、例えばシリアル通信するための通信インターフェイスである。車外通信装置1と中継装置2とは、入出力I/F間に接続されたシリアルケーブル等のハーネスを介して相互に通信する。本実施形態では、車外通信装置1は、中継装置2と別装置とし、入出力I/F等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置1は、中継装置2の一構成部位として、中継装置2に内蔵されるものであってもよい。又は、車外通信装置1と中継装置2は、CAN等の車載ネットワーク4により接続されていてもよい。
中継装置2は、制御部20、記憶部23、入出力I/F21、及び車内通信部22を含む。中継装置2は、車外通信装置1が無線通信によって外部サーバS1から受信した更新プログラム(パッケージ)を、車外通信装置1から取得し、車載ネットワーク4を介して当該更新プログラムを所定の車載ECU3(更新対象の車載ECU3)に送信するように構成されている。すなわち、中継装置2は、更新対象の車載ECU3におけるプログラム更新を制御するOTAマスタ(リプロマスタ)として機能する。
中継装置2は、例えば、制御系の車載ECU3、安全系の車載ECU3及び、ボディ系の車載ECU3等の複数の系統のバス(セグメント)を統括し、これらバス(セグメント)間での車載ECU3同士の通信を中継するゲートウェイである。すなわち、中継装置2には、これら複数のバス(セグメント)を構成する通信線41それぞれが接続され、当該中継装置2によって集約される複数の通信線41(セグメント)により車載ネットワーク4が構成される。中継装置2は、CAN又はCAN-FDプロトコルの中継においてはCANゲートウェイとして機能し、TCP/IPプロトコルの中継においてはレイヤー2スイッチ又はレイヤー3スイッチとして機能する。中継装置2は、通信に関する中継に加え、二次電池等の電源装置から出力された電力を分配及び中継し、自装置に接続されるアクチュエータ等の車載器に電力を供給する電力分配装置としても機能するPLB(Power Lan Box)であってもよい。又は、中継装置2は、車両C全体をコントロールするボディECUの一機能部として構成されるものであってもよい。又は、中継装置2は、例えばヴィークルコンピュータ等の中央制御装置にて構成され、車両Cの全体的な制御を行う統合ECUであってもよい。
制御部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部23に予め記憶された制御プログラムP(プログラム製品)及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。詳細は後述するが、制御プログラムPは、切替用プログラムP1(セルフリプロプログラム)、中継処理用プログラムP2(制御用GWプログラム)、及び更新処理用プログラムP3(リプロ用GWプログラム)を含む。制御部20は、切替用プログラムP1を実行することにより、切替モード(セルフリプロモード)に遷移する。制御部20は、中継処理用プログラムP2を実行することにより、通常処理モード(中継処理モード)に遷移する。制御部20は、更新処理用プログラムP3を実行することにより、更新処理モード(リプロモード)に遷移する。
記憶部23は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成される。記憶部23に記憶された制御プログラムP(プログラム製品)は、中継装置2が読み取り可能な記録媒体24から読み出された制御プログラムP(プログラム製品)を記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムPをダウンロードし、記憶部23に記憶させたものであってもよい。
図3は、中継装置2の記憶部23の状態を例示する説明図である。制御部20が通常処理モード(中継処理モード)の状態である場合、記憶部23には、切替用プログラムP1及び中継処理用プログラムP2が記憶される。制御部20が更新処理モード(リプロモード)の状態である場合、記憶部23には、切替用プログラムP1及び更新処理用プログラムP3が記憶される。
制御部20が切替モード(セルフリプロモード)の状態である場合、切替用プログラムP1を実行中(切替モード)の制御部20によって、中継処理用プログラムP2と更新処理用プログラムP3との間における切り替え(上書き処理)が、行われる。このように、中継処理用プログラムP2が記憶されている記憶領域は、更新処理用プログラムP3によって上書きされ、これにより、記憶部23における空き容量を十分に確保することができる。
更新処理用プログラムP3を記憶部23に記憶する際、中継処理用プログラムP2を上書きする場合に限定されず、当該中継処理用プログラムP2を圧縮することにより空き容量化した記憶領域(空き領域)を用いて、更新処理用プログラムP3を記憶するものであってもよい。この際、記憶部23における空き容量となっている領域(空き領域)は、バッファ領域となり、車載ECU3用の更新プログラムをバッファリングする領域として用いられる。
外部サーバから取得(受信)した更新プログラムを、車載ECU3に出力(送信)するにあたり、中継装置2の入出力の帯域幅の差異等により、中継装置2は、当該更新プログラムをバッファリングする必要がある。このような場合であっても、上述のとおり、制御部20が更新処理モード(リプロモード)の状態においては、中継処理用プログラムP2は更新処理用プログラムP3によって上書きされ、バッファリングのための空き容量が十分に確保されるものとなる。これにより、車外装置から取得した更新プログラムが大容量化した場合であっても、当該大容量化に対応するにあたり、記憶部23の記憶容量が増加することを抑制、又は、更新プログラムを複数回に分けてダウンロードして更新処理することを不要とし処理時間の削減を図ることができる。
入出力I/F21は、車外通信装置1の入出力I/Fと同様に、例えばシリアル通信するための通信インターフェイスである。入出力I/Fを介して、中継装置2は、車外通信装置1、HMI(Human machine interface)装置等の表示装置5及び、IGスイッチ6と通信可能に接続される。制御部20は、現時点における動作モード(通常処理モード、切替モード、又は更新処理モード)に関する情報を表示装置5に出力することにより、当該表示装置5に現時点における制御部20(中継装置2)の動作モードを表示させるものであってもよい。
車内通信部22は、例えばCAN、CAN-FD又はイーサネット(Ethernet/登録商標)等の通信プロトコルを用いた入出力インターフェイスであり、制御部20は、車内通信部22を介して車載ネットワーク4に接続されている車載ECU3又は他の中継装置2等の車載機器と相互に通信する。車内通信部22は、複数個(本実施形態では3個)設けられており、車内通信部22夫々に、車載ネットワーク4を構成する通信線41(セグメント)が接続されている。このように車内通信部22を複数個設けることにより車載ネットワーク4を複数個のセグメントに分け、例えば車載ECU3の機能(制御系機能、安全系機能、ボディ系機能)に応じて、個々の車載ECU3を各セグメントに接続する。
車載ECU3は、中継装置2と同様に制御部20、記憶部及び車内通信部(図示せず)を含む。記憶部23は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、車載ECU3のプログラム又はデータが記憶されている。このプログラム又はデータが、プログラム提供装置から送信され、中継装置2によって中継される更新プログラムによって、更新される対象である。車載ECU3の車内通信部は、中継装置2と同様に、例えば、CANトランシーバ又はイーサネットPHY部等により構成され、当該車内通信部を介して中継装置2と通信する。
図4は、車載装置の制御部20の処理を例示するフローチャートである。中継装置2の制御部20は、例えば車両Cが停止状態(IGスイッチ6がオフ)において、定常的に以下の処理を行う。
中継装置2の制御部20は、外部サーバS1と通信し、車載ECU3の更新処理を行う必要があるか否かを判定する(S101)。中継装置2の制御部20は、中継処理用プログラムP2を実行中である通常処理モード(中継処理モード)である場合、又はIGスイッチ6がオフにされたことを示すオフ信号を取得した場合、VIN(Vehicle Identification Number)等を用いて外部サーバS1と通信し、車載ECU3の更新処理に関するキャンペーン情報の有無を確認する。当該キャンペーン情報は、例えば、更新対象となる車載ECU3に関する情報(ターゲット情報)等を含む。中継装置2の制御部20は、外部サーバS1からキャンペーン情報を取得した場合、車載ECU3の更新処理を行う必要があると判定し、外部サーバS1にキャンペーン情報を無く、キャンペーン情報を取得しなかった場合、車載ECU3の更新処理を行う必要がないと判定する。
中継装置2の制御部20は、定常的又は周期的に車両C(自車)に搭載されている全ての車載ECU3から、当該車載ECU3に適用されているプログラム情報及び型式情報を取得し、取得及び集約した情報を車両C構成情報として記憶部23に記憶している。中継装置2の制御部20は、取得したキャンペーン情報及び、車両C構成情報を参照することにより、更新対象となる一つ以上の車載ECU3を特定することができる。車載ECU3の更新処理を行う必要がないと判定した場合(S101:NO)、中継装置2の制御部20は、再度、S101の処理を実行すべく、ループ処理を行う。
車載ECU3の更新処理を行う必要があると判定した場合(S101:YES)、中継装置2の制御部20は、切替用プログラムP1を実行することにより、切替モードに遷移する(S102)。車載ECU3の更新処理を行う必要がある(キャンペーン情報あり)と判定した場合、中継装置2の制御部20は、切替用プログラムP1を実行する。これにより、中継装置2の制御部20は、切替用プログラムP1を実行中の制御部20となり、切替モード(セルフリプロモード)に遷移する。切替用プログラムP1を実行中(切替モード)の制御部20は、中継処理用プログラムP2の実行を停止(プロセスを消滅)するものであってもよい。
中継装置2の制御部20は、中継処理用プログラムP2を、外部サーバS1から取得した更新処理用プログラムP3に書き換える(S103)。切替用プログラムP1を実行中の制御部20は、外部サーバS1から更新処理用プログラムP3を取得し、当該更新処理用プログラムP3を、中継処理用プログラムP2が記憶されている記憶領域を用いて、記憶部23に記憶する。これにより、切替用プログラムP1を実行中の制御部20は、中継処理用プログラムP2を更新処理用プログラムP3に書き換える。すなわち、中継処理用プログラムP2の記憶領域は、更新処理用プログラムP3によって、上書きされるものとなる。当該上書き処理は、中継処理用プログラムP2が記憶されている記憶領域において、当該中継処理用プログラムP2を削除し空き領域化した後、当該空き領域となった記憶領域に、更新処理用プログラムP3を記憶(書き込む)する処理を含む。
中継装置2の制御部20は、更新処理用プログラムP3を実行することにより、更新処理モードに遷移する(S104)。切替用プログラムP1を実行中の制御部20は、更新処理用プログラムP3を実行する。これにより、中継装置2の制御部20は、更新処理用プログラムP3を実行中の制御部20となり、更新処理モード(リプロモード)に遷移する。更新処理用プログラムP3を実行中の制御部20は、更新処理モードに遷移するにあたり、切替用プログラムP1を終了するものであってもよく、又は、切替用プログラムP1のプロセスを例えばバックグラント処理化して待機処理状態とするものであってもよい。
中継装置2の制御部20は、外部サーバS1から、車載ECU3の更新プログラムを取得する(S105)。更新処理用プログラムP3を実行中の制御部20は、キャンペーン情報に応じて、外部サーバS1から、一つ以上の車載ECU3の更新プログラムを取得(受信)し、取得した更新プログラムを、記憶部23のバッファ領域に記憶(バッファリング)する。今回の更新対処となる車載ECU3が複数台の場合、中継装置2の制御部20は、これら複数台からなる全ての車載ECU3の更新プログラムを、一括して取得するものであってもよい。中継装置2の記憶部23において、通常処理モードにて用いられる中継処理用プログラムP2は、更新処理用プログラムP3にて上書きされることにより、当該記憶部23における空き領域が確保されている。当該空き領域をバッファとして用いることにより、複数台からなる全ての車載ECU3の更新プログラムのプログラサイズの総量が、大容量化した場合であっても、当該更新プログラムを複数回に分けてダウンロードして更新処理することを不要とし処理時間の削減を図ることができる。
中継装置2の制御部20は、取得した更新プログラムを車載ECU3に出力する(S106)。更新処理用プログラムP3を実行中の制御部20は、例えばキャンペーン情報及び車両C構成情報を参照して、更新対象となる1つ以上の車載ECU3を特定し、当該車載ECU3に対し、記憶部23にてバッファリングした更新プログラムを出力(送信)する。
中継装置2の制御部20は、全ての車載ECU3に対する更新処理が完了したか否かを判定する(S107)。更新処理用プログラムP3を実行中の制御部20は、更新対象となる全ての車載ECU3に対し、更新プログラムの出力及び動作確認が完了したか否かを判定する。更新処理用プログラムP3を実行中の制御部20は、更新対象となる全ての車載ECU3から、動作確認が正常終了したことを示す信号(正常終了シグナル)を取得した場合、全ての車載ECU3に対する更新処理が完了したと判定するものであってもよい。更新処理用プログラムP3を実行中の制御部20は、更新対象となる全ての車載ECU3のうち、いずれかの車載ECU3から正常終了シグナルを取得していない場合、全ての車載ECU3に対する更新処理が完了していないと判定するものであってもよい。
全ての車載ECU3に対する更新処理が完了していないと判定した場合(S107:NO)、中継装置2の制御部20は、再度、S105からの処理を実行すべくループ処理を行う。外部サーバS1から、今回の更新対処となる全ての車載ECU3の更新プログラムを取得している場合、中継装置2の制御部20は、S106又はS107からの処理を実行すべくループ処理を行うものであってもよい。なお、切替用プログラムP1を実行中の制御部20は、更新対象となる全ての車載ECU3のうち、いずれかの車載ECU3から動作確認が異常終了したことを示す信号(異常終了シグナル)を取得した場合、更新対処となる全ての車載ECU3に対し、旧バージョンのプログラムに戻すロールバック処理を行うものであってもよい。この場合、切替用プログラムP1を実行中の制御部20は、ロールバック処理後、S209からの処理を実行するものであってもよい。
全ての車載ECU3に対する更新処理が完了したと判定した場合(S107:YES)、中継装置2の制御部20は、切替用プログラムP1を実行することにより、切替モードに遷移する(S108)。更新処理用プログラムP3を実行中の制御部20は、切替用プログラムP1を実行する。これにより、中継装置2の制御部20は、切替用プログラムP1を実行中の制御部20となり、切替モード(セルフリプロモード)に遷移する。中継装置2の制御部20は、更新処理モードから切替モードに遷移する際、再度、切替用プログラムP1を実行する場合に限定されず、例えばバックグラント処理等により待機処理状態としていた切替用プログラムP1のプロセスを、フォアグランド処理等することにより活性化状態にし、当該切替用プログラムP1の処理を再開するものであってもよい。
中継装置2の制御部20は、更新処理用プログラムP3を、外部サーバS1から取得した中継処理用プログラムP2に書き換える(S109)。切替用プログラムP1を実行中の制御部20は、外部サーバS1から中継処理用プログラムP2を取得し、当該中継処理用プログラムP2を、更新処理用プログラムP3が記憶されている記憶領域を用いて、記憶部23に記憶することにより、中継処理用プログラムP2を復旧する。これにより、切替用プログラムP1を実行中の制御部20は、更新処理用プログラムP3を中継処理用プログラムP2に書き換える。すなわち、更新処理用プログラムP3の記憶領域は、中継処理用プログラムP2によって、上書きされるものとなる。
中継装置2の制御部20は、外部サーバS1から中継処理用プログラムP2を取得するにあたり、上書きした中継処理用プログラムP2と同一(同じバージョン)の中継処理用プログラムP2を取得する場合に限定されず、新バージョンの中継処理用プログラムP2を取得するものであってもよい。すなわち、今回の更新処理において、更新対象となる車載ECU3に加え、中継装置2についても更新対象となる場合、切替用プログラムP1を実行中の制御部20は、新バージョンの中継処理用プログラムP2を取得することにより、自装置である中継装置2の更新処理についても行うことができる。
中継装置2の制御部20は、中継処理用プログラムP2を実行することにより、通常処理モードに遷移する(S110)。切替用プログラムP1を実行中の制御部20は、中継処理用プログラムP2を実行する。これにより、中継装置2の制御部20は、中継処理用プログラムP2を実行中の制御部20となり、通常処理モード(中継処理モード)に遷移する。中継処理用プログラムP2を実行中の制御部20は、車両Cにおける通常制御時の機能となる中継処理等を再開するものであってもよい。
(実施形態2)
図5は、実施形態2(非汎用プログラム部を圧縮)に係るフローチャートである。中継装置2の制御部20は、外部サーバS1と通信し、車載ECU3の更新処理を行う必要があるか否かを判定する(S201)。中継装置2の制御部20は、切替用プログラムP1を実行することにより、切替モードに遷移する(S202)。中継装置2の制御部20は、実施形態1の処理S101からS102と同様に、S201からS202の処理を行う。
図5は、実施形態2(非汎用プログラム部を圧縮)に係るフローチャートである。中継装置2の制御部20は、外部サーバS1と通信し、車載ECU3の更新処理を行う必要があるか否かを判定する(S201)。中継装置2の制御部20は、切替用プログラムP1を実行することにより、切替モードに遷移する(S202)。中継装置2の制御部20は、実施形態1の処理S101からS102と同様に、S201からS202の処理を行う。
中継装置2の制御部20は、中継処理用プログラムP2における非汎用プログラム部を圧縮する(S203)。記憶部23に記憶される中継処理用プログラムP2は、中継装置2が搭載される車両C(自車)に依存する非汎用プログラム部と、車両Cに依存しない汎用プログラム部とを含む。汎用プログラム部は、例えば、同一の車種又は車製造メーカにて共通化又は標準化されたモジュール群から構成されるプログラム部位である。非汎用プログラム部は、例えば、中継装置2が搭載される車両C毎に異なるモジュール群、又は、当該車両Cに依存したパラメータ等の設定情報を含むコンフィグレーションデータ等を含む。これら汎用プログラム部及び非汎用プログラム部の組み合わせにより、中継処理用プログラムP2が構成される。
切替用プログラムP1を実行中の制御部20は、中継処理用プログラムP2の一部を成す非汎用プログラム部を圧縮することにより、当該非汎用プログラム部のプログラムサイズを減少させる。圧縮された非汎用プログラム部が、圧縮元の非汎用プログラム部とは別個に生成される場合、中継装置2の制御部20は、当該圧縮元の非汎用プログラム部を削除するものであってもよい。非汎用プログラム部を圧縮する際の圧縮率に応じて、非汎用プログラム部が記憶されていた記憶領域において、空き容量が発生する。
中継装置2の制御部20は、中継処理用プログラムP2を、外部サーバS1から取得した更新処理用プログラムP3に書き換える(S204)。実施形態1と同様に切替用プログラムP1を実行中の制御部20は、外部サーバS1から更新処理用プログラムP3を取得する。切替用プログラムP1を実行中の制御部20は、当該更新処理用プログラムP3の一部を、非汎用プログラム部を圧縮して空き容量化した記憶領域に記憶すると共に、更新処理用プログラムP3の残部を、汎用プログラム部が記憶されている記憶領域を用いて、記憶部23に記憶する。これにより、切替用プログラムP1を実行中の制御部20は、中継処理用プログラムP2の一部を成す汎用プログラム部を、更新処理用プログラムP3に書き換えつつ、非汎用プログラム部は圧縮することにより保持(圧縮された非汎用プログラム部を記憶)する。
中継装置2の制御部20は、更新処理用プログラムP3を実行することにより、更新処理モードに遷移する(S205)。中継装置2の制御部20は、外部サーバS1から、車載ECU3の更新プログラムを取得する(S206)。中継装置2の制御部20は、取得した更新プログラムを車載ECU3に出力する(S207)。中継装置2の制御部20は、全ての車載ECU3に対する更新処理が完了したか否かを判定する(S208)。中継装置2の制御部20は、切替用プログラムP1を実行することにより、切替モードに遷移する(S209)。中継装置2の制御部20は、実施形態1の処理S104からS108と同様に、S205からS209の処理を行う。
中継装置2の制御部20は、非汎用プログラム部を解凍する(S210)。切替用プログラムP1を実行中の制御部20は、記憶に記憶されている圧縮された非汎用プログラム部を解凍する。これにより、非汎用プログラム部は、復旧される。切替用プログラムP1を実行中の制御部20は、圧縮された非汎用プログラム部を解凍する際、記憶部23に記憶されている更新処理用プログラムP3を削除するものであってもよい。
中継装置2の制御部20は、中継処理用プログラムP2を復旧する(S211)。切替用プログラムP1を実行中の制御部20は、外部サーバS1から中継処理用プログラムP2の一部を成す汎用プログラム部を取得し、当該汎用プログラム部を、更新処理用プログラムP3が記憶されていた記憶領域を用いて、記憶部23に記憶する。切替用プログラムP1を実行中の制御部20は、解凍した非汎用プログラム部と、外部サーバS1から取得した汎用プログラム部とにより、中継処理用プログラムP2を復旧する。
中継装置2の制御部20は、中継処理用プログラムP2を実行することにより、通常処理モードに遷移する(S212)。中継装置2の制御部20は、実施形態1の処理S110と同様に、S212の処理を行う。
(実施形態3)
図6は、実施形態3(2面持ち)に係る中継装置2の物理構成を例示するブロック図である。実施形態3の中継装置2の記憶部23は、第1記憶部231、及び第2記憶部232による2つの記憶領域を含む。これら第1記憶部231及び第2記憶部232それぞれは、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成される。第1記憶部231及び第2記憶部232には、切替用プログラムP1及び中継処理用プログラムP2が予め記憶してある。第1記憶部231と第2記憶部232とは、例えば、別個の記憶デバイスにより構成されるものであってもよく、又は同一の記憶デバイスにおいて、物理アドレスの範囲による領域分割がされているものであってもよい。
図6は、実施形態3(2面持ち)に係る中継装置2の物理構成を例示するブロック図である。実施形態3の中継装置2の記憶部23は、第1記憶部231、及び第2記憶部232による2つの記憶領域を含む。これら第1記憶部231及び第2記憶部232それぞれは、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成される。第1記憶部231及び第2記憶部232には、切替用プログラムP1及び中継処理用プログラムP2が予め記憶してある。第1記憶部231と第2記憶部232とは、例えば、別個の記憶デバイスにより構成されるものであってもよく、又は同一の記憶デバイスにおいて、物理アドレスの範囲による領域分割がされているものであってもよい。
記憶部23(第1記憶部231、第2記憶部232)には、現バージョン及び旧バージョンの2つの制御プログラムP(切替用プログラムP1及び中継処理用プログラムP2)夫々のバージョンに関する情報、及び現在実行(適用)している制御プログラムPが記憶されている領域(動作面)に関する情報が記憶されている。すなわち、現状において第1記憶部231(第1面)に記憶されている制御プログラムPを実行している場合、第1記憶部231には、動作面は第1記憶部231(第1面)であると記憶される。この場合、非動作面は、第2記憶部232(第2面)であると記憶される。
動作面である第1記憶部231には、現バージョンの制御プログラムP(切替用プログラムP1及び中継処理用プログラムP2)が記憶されている。非動作面である第2記憶部232には、旧バージョンの制御プログラムP(切替用プログラムP1及び中継処理用プログラムP2)が記憶されている。又は、非動作面である第2記憶部232には、旧バージョンの制御プログラムP等が記憶されておらず、空き容量となる記憶領域であってもよい。このように非動作面が、空き容量の記憶領域又は旧バージョンの制御プログラムP等が記憶されている状態となっていることにより、更新時に、当該非運用面に新バージョンの制御プログラムPを書き込むことで、旧バージョンに戻せる状態を担保することができる。
図7は、中継装置2の記憶部23の状態を例示する説明図である。制御部20が通常処理モード(中継処理モード)の状態である場合、動作面である第1記憶部231(第1面)には、現バージョンの切替用プログラムP1及び中継処理用プログラムP2が記憶され、非動作面である第2記憶部232(第2面)には、旧バージョンの切替用プログラムP1及び中継処理用プログラムP2が記憶される。
制御部20が更新処理モード(リプロモード)の状態である場合、動作面である第1記憶部231(第1面)には、現バージョンの切替用プログラムP1及び中継処理用プログラムP2が記憶され、非動作面である第2記憶部232(第2面)には、更新処理用プログラムP3が記憶される。すなわち、非動作面である第2記憶部232(第2面)に記憶されていた旧バージョンの切替用プログラムP1及び中継処理用プログラムP2は、更新処理用プログラムP3によって上書きされるものとなる。これにより、動作面である第1記憶部231に記憶されている切替用プログラムP1及び中継処理用プログラムP2を保持することができる。
更新処理用プログラムP3を記憶部23に記憶するにあたり、非動作面である第2記憶部232のみに記憶する場合に限定されない。動作面である第1記憶部231の空き領域を用いて、更新処理用プログラムP3の一部を記憶し、更新処理用プログラムP3の残部を非動作面である第2記憶部232に記憶、すなわち旧バージョンの切替用プログラムP1及び中継処理用プログラムP2を上書きするものであってもよい。更新処理用プログラムP3を第1記憶部231及び第2記憶部232に跨るように記憶するにあたり、制御部20は、第1記憶部231と第2記憶部232との領域分割を解除又は無効化するものであってもよい。当該領域分割を解除等は、第1記憶部231と第2記憶部232とを論理的に連続する記憶領域に設定、すなわち論理アドレスにより第1記憶部231及び第2記憶部232を連続領域化することによるものであってもよい。
第2記憶部232に記憶されている旧バージョンの中継処理用プログラムP2等を上書きすることにより、第2記憶部232(記憶部23)における空き容量を十分に確保することができる。この際、第2記憶部232(記憶部23)における空き容量となっている領域(空き領域)は、バッファ領域となり、車載ECU3用の更新プログラムをバッファリングする領域として用いられるものとなる。これにより、更新対象の車載ECU3の個数が増加し更新プログラムが大容量化した場合であっても、当該大容量化に対応することができる。
図8は、車載装置の制御部20の処理を例示するフローチャートである。中継装置2の制御部20は、外部サーバS1と通信し、車載ECU3の更新処理を行う必要があるか否かを判定する(S301)。中継装置2の制御部20は、切替用プログラムP1を実行することにより、切替モードに遷移する(S302)。中継装置2の制御部20は、実施形態1の処理S101からS102と同様に、S301からS302の処理を行う。
中継装置2の制御部20は、非動作面に更新処理用プログラムP3を記憶する(S303)。切替用プログラムP1を実行中の制御部20は、外部サーバS1から更新処理用プログラムP3を取得し、当該更新処理用プログラムP3を、非動作面(第2記憶部232)における中継処理用プログラムP2等が記憶されている記憶領域を用いて、記憶部23(第2記憶部232)に記憶する。これにより、切替用プログラムP1を実行中の制御部20は、非動作面(第2記憶部232)に記憶されている中継処理用プログラムP2を、更新処理用プログラムP3に書き換える。すなわち、非動作面(第2記憶部232)における中継処理用プログラムP2等の記憶領域は、更新処理用プログラムP3によって、上書きされるものとなる。
中継装置2の制御部20は、更新処理用プログラムP3を実行することにより、更新処理モードに遷移する(S304)。中継装置2の制御部20は、外部サーバS1から、車載ECU3の更新プログラムを取得する(S305)。中継装置2の制御部20は、取得した更新プログラムを車載ECU3に出力する(S306)。中継装置2の制御部20は、全ての車載ECU3に対する更新処理が完了したか否かを判定する(S307)。中継装置2の制御部20は、切替用プログラムP1を実行することにより、切替モードに遷移する(S308)。中継装置2の制御部20は、実施形態1の処理S104からS108と同様に、S304からS308の処理を行う。
中継装置2の制御部20は、中継処理用プログラムP2を実行することにより、通常処理モードに遷移する(S309)。切替用プログラムP1を実行中の制御部20は、動作面(第1記憶部231)に記憶されている中継処理用プログラムP2を実行する。これにより、中継装置2の制御部20は、中継処理用プログラムP2を実行中の制御部20となり、通常処理モード(中継処理モード)に遷移する。このように動作面(第1記憶部231)に記憶されている中継処理用プログラムP2を上書きすることなく、非動作面(第2記憶部232)に更新処理用プログラムP3を記憶することにより、中継処理用プログラムP2を外部サーバS1から取得する等の処理を不要とすることができる。
今回開示された実施形態は全ての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
C 車両
S 車載更新システム
S1 外部サーバ(車外装置、OTAサーバ)
S11 記憶部
N 車外ネットワーク
1 車外通信装置
11 アンテナ
2 中継装置(OTAマスタ)
20 制御部
21 入出力I/F
22 車内通信部
23 記憶部
231 第1記憶部
232 第2記憶部
24 記録媒体
P 制御プログラム(プログラム製品)
P1 切替用プログラム(セルフリプロプログラム)
P2 中継処理用プログラム
P3 更新処理用プログラム
3 車載ECU
4 車載ネットワーク
41 通信線
5 表示装置
6 IGスイッチ
S 車載更新システム
S1 外部サーバ(車外装置、OTAサーバ)
S11 記憶部
N 車外ネットワーク
1 車外通信装置
11 アンテナ
2 中継装置(OTAマスタ)
20 制御部
21 入出力I/F
22 車内通信部
23 記憶部
231 第1記憶部
232 第2記憶部
24 記録媒体
P 制御プログラム(プログラム製品)
P1 切替用プログラム(セルフリプロプログラム)
P2 中継処理用プログラム
P3 更新処理用プログラム
3 車載ECU
4 車載ネットワーク
41 通信線
5 表示装置
6 IGスイッチ
Claims (10)
- 車外装置から送信される更新プログラムを取得し、車両に搭載される車載ECUのプログラムを更新するための処理を行う中継装置であって、
前記車載ECU間における中継処理を行う制御部と、
中継処理を行う際に用いる中継処理用プログラムと、中継処理と更新処理とを切り替えるための切替用プログラムとが記憶されている記憶部とを備え、
前記切替用プログラムを実行中の制御部は、
更新処理を行うための更新処理用プログラムを、前記車外装置から取得し、
取得した前記更新処理用プログラムを、前記中継処理用プログラムが記憶されている記憶領域を用いて、前記記憶部に記憶し、
前記記憶部に記憶した前記更新処理用プログラムを実行し、
前記更新処理用プログラムを実行中の制御部は、前記車外装置から取得した更新プログラムを更新対象の前記車載ECUに出力する
中継装置。 - 前記更新処理用プログラムを実行中の制御部は、更新対象の前記車載ECUへの更新プログラムの出力が完了後、前記切替用プログラムを実行し、
前記切替用プログラムを実行中の制御部は、前記中継処理用プログラムを復元する
請求項1に記載の中継装置。 - 前記切替用プログラムを実行中の制御部は、
取得した前記更新処理用プログラムを、前記中継処理用プログラムが記憶されている記憶領域に上書きすることにより、前記記憶部に記憶し、
前記車外装置から、上書きされた中継処理用プログラムを取得することにより、前記中継処理用プログラムを復元する
請求項2に記載の中継装置。 - 前記切替用プログラムを実行中の制御部は、
前記中継処理用プログラムを圧縮することにより、前記中継処理用プログラムが記憶されていた記憶領域を空き領域化し、
前記空き領域を用いることにより、取得した前記更新処理用プログラムを前記記憶部に記憶し、
前記圧縮した中継処理用プログラムを解凍することにより、前記中継処理用プログラムを復元する
請求項2に記載の中継装置。 - 前記中継処理用プログラムは、前記車両に依存する非汎用プログラム部と、前記車両に依存しない汎用プログラム部とを含み、
前記切替用プログラムを実行中の制御部は、
前記非汎用プログラム部を圧縮することにより、前記非汎用プログラム部が記憶されていた記憶領域を空き領域化し、
前記空き領域及び、前記汎用プログラム部が記憶されている記憶領域を用いて、前記更新処理用プログラムを前記記憶部に記憶し、
前記圧縮した非汎用プログラム部を解凍し、前記車外装置から汎用プログラム部を取得することにより、前記中継処理用プログラムを復元する
請求項2に記載の中継装置。 - 前記記憶部は、
現時点にて適用されている中継処理用プログラムが記憶される第1記憶部と、
以前に適用されていた中継処理用プログラムが記憶される第2記憶部とを含み、
前記切替用プログラムを実行中の制御部は、取得した前記更新処理用プログラムを、前記第2記憶部に記憶する
請求項1に記載の中継装置。 - 前記切替用プログラムを実行中の制御部は、
前記更新処理用プログラムの一部を、前記第1記憶部の空き領域に記憶し、
前記更新処理用プログラムの残部を、前記以前に適用されていた中継処理用プログラムが記憶されている記憶領域を用いて、前記第2記憶部に記憶する
請求項6に記載の中継装置。 - 前記切替用プログラムは、前記中継処理用プログラムよりもプログラムサイズが小さい
請求項1から請求項7のいずれか1項に記載の中継装置。 - 車外装置から送信される更新プログラムを取得し、車両に搭載される車載ECUのプログラムを更新するための処理を行い、中継処理を行う際に用いる中継処理用プログラムと、中継処理と更新処理とを切り替えるための切替用プログラムとが記憶されている記憶部を備えるコンピュータに、
前記切替用プログラムを実行させることにより、
更新処理を行うための更新処理用プログラムを、前記車外装置から取得し、
取得した前記更新処理用プログラムを、前記中継処理用プログラムが記憶されている記憶領域を用いて、前記記憶部に記憶し、
前記記憶部に記憶した前記更新処理用プログラムを実行させることにより、
前記更新処理用プログラムを実行中の制御部は、前記車外装置から取得した更新プログラムを更新対象の前記車載ECUに出力する
処理を実行させるプログラム。 - 車外装置から送信される更新プログラムを取得し、車両に搭載される車載ECUのプログラムを更新するための処理を行い、中継処理を行う際に用いる中継処理用プログラムと、中継処理と更新処理とを切り替えるための切替用プログラムとが記憶されている記憶部を備えるコンピュータに、
前記切替用プログラムを実行させることにより、
更新処理を行うための更新処理用プログラムを、前記車外装置から取得し、
取得した前記更新処理用プログラムを、前記中継処理用プログラムが記憶されている記憶領域を用いて、前記記憶部に記憶し、
前記記憶部に記憶した前記更新処理用プログラムを実行させることにより、
前記更新処理用プログラムを実行中の制御部は、前記車外装置から取得した更新プログラムを更新対象の前記車載ECUに出力する
処理を実行させるプログラムの更新方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022003273A JP2023102647A (ja) | 2022-01-12 | 2022-01-12 | 中継装置、プログラム及び、プログラムの更新方法 |
PCT/JP2022/048077 WO2023136127A1 (ja) | 2022-01-12 | 2022-12-27 | 中継装置、プログラム及び、プログラムの更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022003273A JP2023102647A (ja) | 2022-01-12 | 2022-01-12 | 中継装置、プログラム及び、プログラムの更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023102647A true JP2023102647A (ja) | 2023-07-25 |
JP2023102647A5 JP2023102647A5 (ja) | 2024-06-14 |
Family
ID=87279075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022003273A Pending JP2023102647A (ja) | 2022-01-12 | 2022-01-12 | 中継装置、プログラム及び、プログラムの更新方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2023102647A (ja) |
WO (1) | WO2023136127A1 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6361671B2 (ja) * | 2016-03-02 | 2018-07-25 | 住友電気工業株式会社 | プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム |
JP7331818B2 (ja) * | 2019-03-18 | 2023-08-23 | 株式会社オートネットワーク技術研究所 | 車載更新装置、更新処理プログラム及び、プログラムの更新方法 |
-
2022
- 2022-01-12 JP JP2022003273A patent/JP2023102647A/ja active Pending
- 2022-12-27 WO PCT/JP2022/048077 patent/WO2023136127A1/ja unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023136127A1 (ja) | 2023-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6780724B2 (ja) | 車載更新装置、更新処理プログラム及び、プログラムの更新方法 | |
JP7192415B2 (ja) | プログラム更新システム及び更新処理プログラム | |
US11967188B2 (en) | Vehicle mounted update apparatus, update processing program, and program update method | |
US11061659B2 (en) | Control apparatus, transfer method, and computer program | |
WO2019116896A1 (ja) | 車載更新装置、プログラム及び、プログラム又はデータの更新方法 | |
CN111989658B (zh) | 车载更新装置、车载更新系统、更新处理方法及更新处理程序 | |
US20220024471A1 (en) | Monitoring apparatus, monitoring program, and monitoring method | |
JP7331818B2 (ja) | 車載更新装置、更新処理プログラム及び、プログラムの更新方法 | |
US20210173634A1 (en) | Vehicle control device and program update system | |
US20230004375A1 (en) | Vehicle-mounted update device, program, and program update method | |
WO2023136127A1 (ja) | 中継装置、プログラム及び、プログラムの更新方法 | |
JP7464092B2 (ja) | マスタ、センタ、および車両 | |
WO2020195034A1 (ja) | 車載更新装置、更新処理システム、更新処理方法及び処理プログラム | |
WO2023195460A1 (ja) | 車載装置、コンピュータプログラム及びプログラム更新方法 | |
WO2023171307A1 (ja) | 車載装置、プログラム、及びプログラムの更新方法 | |
WO2023063068A1 (ja) | 車載装置、プログラム及び、プログラムの更新方法 | |
US20240028326A1 (en) | Vehicular electronic control device, rewriting program, and data structure | |
US20220351555A1 (en) | Center device and vehicle information communication system | |
WO2022153897A1 (ja) | 車載装置、及び更新方法 | |
JP2023085002A (ja) | 車載装置、プログラム、プログラムの更新方法、及び車載更新システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240522 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240606 |