JP2023001993A - Otaマスタ、システム、方法、プログラム、及び車両 - Google Patents
Otaマスタ、システム、方法、プログラム、及び車両 Download PDFInfo
- Publication number
- JP2023001993A JP2023001993A JP2021102949A JP2021102949A JP2023001993A JP 2023001993 A JP2023001993 A JP 2023001993A JP 2021102949 A JP2021102949 A JP 2021102949A JP 2021102949 A JP2021102949 A JP 2021102949A JP 2023001993 A JP2023001993 A JP 2023001993A
- Authority
- JP
- Japan
- Prior art keywords
- control unit
- electronic control
- update data
- update
- ota master
- 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 description 47
- 238000004891 communication Methods 0.000 claims abstract description 94
- 230000015654 memory Effects 0.000 claims abstract description 87
- 238000003860 storage Methods 0.000 claims abstract description 69
- 238000012546 transfer Methods 0.000 claims description 20
- 238000009434 installation Methods 0.000 description 39
- 238000001994 activation Methods 0.000 description 38
- 230000004913 activation Effects 0.000 description 36
- 230000008569 process Effects 0.000 description 35
- 238000012545 processing Methods 0.000 description 26
- 238000009826 distribution Methods 0.000 description 20
- 230000009977 dual effect Effects 0.000 description 17
- 238000012790 confirmation Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 230000003213 activating effect Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000011900 installation process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/20—Transfer of user or subscriber data
- H04W8/205—Transfer to or from user equipment or user record carrier
-
- 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
-
- 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
- B60R16/023—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 for transmission of signals between vehicle parts or subsystems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/183—Processing at user equipment or user record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】シングルバンクメモリ及びデュアルバンクメモリに適応した電子制御ユニットのソフトウェア更新を実行することができるOTAマスタなどを提供する。
【解決手段】車両に搭載された電子制御ユニットのソフトウェア更新を制御するOTAマスタであって、1つの格納領域を有する第1種別の不揮発性メモリを搭載した電子制御ユニットに向けた更新データと、2つの格納領域を有する第2種別の不揮発性メモリを搭載した電子制御ユニットに向けた更新データとを、センタから受信する通信部と、OTAマスタと更新対象となる電子制御ユニットであるターゲット電子制御ユニットとの間の通信状況に基づいて、ターゲット電子制御ユニットへ転送する更新データを制御する制御部と、を備える。
【選択図】図1
【解決手段】車両に搭載された電子制御ユニットのソフトウェア更新を制御するOTAマスタであって、1つの格納領域を有する第1種別の不揮発性メモリを搭載した電子制御ユニットに向けた更新データと、2つの格納領域を有する第2種別の不揮発性メモリを搭載した電子制御ユニットに向けた更新データとを、センタから受信する通信部と、OTAマスタと更新対象となる電子制御ユニットであるターゲット電子制御ユニットとの間の通信状況に基づいて、ターゲット電子制御ユニットへ転送する更新データを制御する制御部と、を備える。
【選択図】図1
Description
本開示は、電子制御ユニットのソフトウェアの更新を制御するOTAマスタなどに関する。
車両には、車両の動作を制御するための複数の電子制御ユニットが搭載されている。電子制御ユニットは、プロセッサと、RAMのような一時的な記憶部と、フラッシュROMのような不揮発性の記憶部である不揮発性メモリとを備え、プロセッサが不揮発性メモリに記憶されるソフトウェアを実行することにより電子制御ユニットの制御機能を実現する。各電子制御ユニットが記憶するソフトウェアは書き換え可能であり、より新しいバージョンのソフトウェアに更新することにより、各電子制御ユニットの機能を改善したり、新たな車両制御機能を追加したりすることができる。
電子制御ユニットのソフトウェアを更新する技術として、車載ネットワークに接続された車載通信機器とインターネットなどの通信ネットワークとを無線で接続し、車両のソフトウェアの更新処理を担う装置が、無線通信を介してサーバーからソフトウェアをダウンロードし、ダウンロードしたソフトウェアを電子制御ユニットにインストールすることにより、電子制御ユニットのソフトウェア更新や追加を行うOTA(Over The Air)技術が知られている。例えば、特許文献1を参照。
電子制御ユニットに搭載される不揮発性メモリの種別として、ソフトウェアなどのデータを格納するための1つの格納領域を有するメモリ(シングルバンクメモリ)と、ソフトウェアなどのデータを格納するための2つの格納領域を有するメモリ(デュアルバンクメモリ)とがあり、電子制御ユニットの仕様などに応じて使い分けられる場合がある。デュアルバンクメモリを搭載した電子制御ユニットは、2つの格納領域に新旧2つのバージョンのデータをそれぞれ格納することができる。
車両に対してソフトウェア更新を行うイベントであるキャンペーンにおいて、シングルバンクメモリを搭載した電子制御ユニットとデュアルバンクメモリを搭載した電子制御ユニットとの両方が、ソフトウェアを更新する対象である電子制御ユニットとなる場合がある。このシングルバンクメモリを搭載した電子制御ユニットと、デュアルバンクメモリを搭載した電子制御ユニットとでは、メモリの構造上、更新を失敗したときのリカバリー方法が異なる。
このため、シングルバンクメモリを搭載した電子制御ユニットとデュアルバンクメモリを搭載した電子制御ユニットとが更新対象となる電子制御ユニットとして混在するキャンペーンを車両に適用する場合には、電子制御ユニットが接続された車載ネットワークの通信状況に応じてソフトウェアのインストールを実行しないと、ソフトウェア更新後の電子制御ユニットを正常に起動させるまでに時間が掛かるおそれがある。
本開示は、上記課題を鑑みてなされたものであり、シングルバンクメモリ及びデュアルバンクメモリに適応した電子制御ユニットのソフトウェア更新を実行することができるOTAマスタなどを提供することを目的とする。
上記課題を解決するために、本開示技術の一態様は、車両に搭載された電子制御ユニットのソフトウェア更新を制御するOTAマスタであって、1つの格納領域を有する第1種別の不揮発性メモリを搭載した電子制御ユニットに向けた更新データと、2つの格納領域を有する第2種別の不揮発性メモリを搭載した電子制御ユニットに向けた更新データとを、センタから受信する通信部と、OTAマスタと更新対象となる電子制御ユニットであるターゲット電子制御ユニットとの間の通信状況に基づいて、ターゲット電子制御ユニットへ転送する更新データを制御する制御部と、を備える、OTAマスタである。
本開示のOTAマスタによれば、車載ネットワークの通信状況に基づき、シングルバンクメモリ及びデュアルバンクメモリに適応した電子制御ユニットのソフトウェア更新(インストール)を実行することができる。
本開示のネットワークシステムでは、電子制御ユニットが接続された車載ネットワークの通信状況に基づいて、更新対象の電子制御ユニットが有するメモリ種別(シングルバンクメモリ/デュアルバンクメモリ)に好適な更新データのインストールを実行する。この処理により、ソフトウェア更新後の電子制御ユニットを正常に起動させるまでに掛かる時間を抑制することができる。
以下、本開示の一実施形態について、図面を参照しながら詳細に説明する。
以下、本開示の一実施形態について、図面を参照しながら詳細に説明する。
<実施形態>
[構成]
図1は、本開示の一実施形態に係るネットワークシステムの全体構成を示すブロック図である。図1に示すネットワークシステムは、車両に搭載された複数の電子制御ユニット40a~40dのソフトウェアを更新するためのシステムであり、車両の外にあるセンタ10と、車両内に構築される車載ネットワーク20と、を備える。
[構成]
図1は、本開示の一実施形態に係るネットワークシステムの全体構成を示すブロック図である。図1に示すネットワークシステムは、車両に搭載された複数の電子制御ユニット40a~40dのソフトウェアを更新するためのシステムであり、車両の外にあるセンタ10と、車両内に構築される車載ネットワーク20と、を備える。
(1)センタ
センタ10は、ネットワーク70を介して、車載ネットワーク20が備える後述するOTAマスタ30と通信可能である。センタ10は、OTAマスタ30との間で、電子制御ユニット40a~40dのソフトウェアの更新データの送信や、ソフトウェア更新処理の進捗状況を示す通知の受信などを行って、OTAマスタ30に接続された複数の電子制御ユニット40a~40dのソフトウェア更新を制御及び管理することができる。このセンタ10は、いわゆるサーバーとしての機能を有する。
センタ10は、ネットワーク70を介して、車載ネットワーク20が備える後述するOTAマスタ30と通信可能である。センタ10は、OTAマスタ30との間で、電子制御ユニット40a~40dのソフトウェアの更新データの送信や、ソフトウェア更新処理の進捗状況を示す通知の受信などを行って、OTAマスタ30に接続された複数の電子制御ユニット40a~40dのソフトウェア更新を制御及び管理することができる。このセンタ10は、いわゆるサーバーとしての機能を有する。
図2は、図1におけるセンタ10の概略構成を示すブロック図である。図2で示すように、センタ10は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、記憶装置13と、通信装置14と、を備える。記憶装置13は、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などの読み書き可能な記憶媒体を備えた装置であり、ソフトウェアの更新管理を実行するためのプログラム、ソフトウェアの更新制御及び更新管理に用いる情報、及び各電子制御ユニットのソフトウェアの更新データなどを記憶する。センタ10において、CPU11は、記憶装置13から読み出したプログラムを、RAM12を作業領域として用いて実行することにより、ソフトウェア更新に関する所定の処理を実行する。通信装置14は、ネットワーク70を介してOTAマスタ30と通信を行うための装置である。
図3は、図2に示したセンタ10の機能ブロック図である。図3で示すセンタ10は、記憶部16と、通信部17と、制御部18と、を備える。記憶部16は、図2に示した記憶装置13によって実現される。通信部17及び制御部18は、図2に示したCPU11がRAM12を用いて記憶装置13に記憶されるプログラムを実行することによって実現される。
記憶部16は、車両に搭載された1つ以上の電子制御ユニットのソフトウェア更新処理に関する情報を記憶する。ソフトウェア更新処理に関する情報として、記憶部16は、車両を識別する車両識別情報(車両ID)ごとに、電子制御ユニット40a~40dで利用可能なソフトウェアを示す情報を関連付けた更新管理情報と、電子制御ユニット40a~40dのソフトウェアの更新データとを、少なくとも記憶する。電子制御ユニット40a~40dで利用可能なソフトウェアを示す情報としては、例えば、複数の電子制御ユニット40a~40dの各ソフトウェアの最新のバージョン情報の組み合わせが定義される。また、ソフトウェア更新処理に関する情報として、記憶部16は、車両で実施されているソフトウェアの更新状態を示す更新ステータスを記憶することができる。さらに、記憶部16は、複数の電子制御ユニット40a~40dのそれぞれに搭載される不揮発性メモリの種別に関する情報(後述する)を記憶することができる。
通信部17は、OTAマスタ30との間で、データ、情報、及び要求などの送信及び受信を行う送信部及び受信部として機能する。通信部17は、OTAマスタ30からソフトウェアの更新確認要求を受信する(受信部)。更新確認要求は、例えば、車両において電源又はイグニッションがオンされた(以下「電源ON」という)時に、OTAマスタ30からセンタ10へと送信される情報であって、後述する車両構成情報に基づいて電子制御ユニット40a~40dの更新データがあるか否かの確認をセンタ10に要求するための情報である。また、通信部17は、OTAマスタ30から受信した更新確認要求に応答して、更新データの有無を示す情報をOTAマスタ30に送信する(送信部)。また、通信部17は、OTAマスタ30からの配信パッケージの送信要求(ダウンロード要求)を受信する(受信部)。また、通信部17は、配信パッケージのダウンロード要求を受信すると、電子制御ユニット40a~40dのソフトウェアの更新データを含む配信パッケージをOTAマスタ30に送信する。
制御部18は、通信部17がOTAマスタ30から更新確認要求を受信すると、記憶部16に記憶されている更新管理情報に基づいて、更新確認要求に含まれる車両IDで特定される車両に搭載された電子制御ユニット40a~40dについてソフトウェアの更新データがあるか否かを判定する。制御部18による更新データがあるか否かの判定結果は、通信部17によってOTAマスタ30に送信される。制御部18は、電子制御ユニット40a~40dのソフトウェアの更新データがあると判定した場合、OTAマスタ30から配信パッケージのダウンロード要求を受信すると、OTAマスタ30に送信する更新データを制御する。
(2)車載ネットワーク
車載ネットワーク20は、OTAマスタ30と、複数の電子制御ユニット40a~40dと、通信モジュール50と、を備える。OTAマスタ30と通信モジュール50とは、バス60aを介して接続されている。OTAマスタ30と電子制御ユニット40a及び40bとは、バス60bを介して接続されている。OTAマスタ30と電子制御ユニット40c及び40dとは、バス60cを介して接続されている。
車載ネットワーク20は、OTAマスタ30と、複数の電子制御ユニット40a~40dと、通信モジュール50と、を備える。OTAマスタ30と通信モジュール50とは、バス60aを介して接続されている。OTAマスタ30と電子制御ユニット40a及び40bとは、バス60bを介して接続されている。OTAマスタ30と電子制御ユニット40c及び40dとは、バス60cを介して接続されている。
OTAマスタ30は、バス60a及び通信モジュール50を介してネットワーク70経由でセンタ10と無線による通信が可能である。このOTAマスタ30は、OTA状態を管理し、ソフトウェア更新処理の流れである更新シーケンスを制御して更新対象となる電子制御ユニット(以下「ターゲット電子制御ユニット」という)のソフトウェア更新を実施する機能を有する装置である。OTAマスタ30は、センタ10から取得した更新データなどに基づいて、電子制御ユニット40a~40dのうちターゲット電子制御ユニットのソフトウェア更新を制御する。OTAマスタ30は、セントラルゲートウェイ(CGW)と称される場合もある。
図4は、図1におけるOTAマスタ30の概略構成を示すブロック図である。図4で示すように、OTAマスタ30は、CPU31と、RAM32と、ROM(Read-Only Memory)33と、記憶装置34と、通信装置36と、を備える。CPU31、RAM32、ROM33、及び記憶装置34は、マイクロコンピューター35を構成する。OTAマスタ30において、CPU31は、ROM33から読み出したプログラムを、RAM32を作業領域として用いて実行することにより、ソフトウェア更新に関する所定の処理を実行する。通信装置36は、図1に示したバス60a~60cを介して、通信モジュール50及び電子制御ユニット40a~40dのそれぞれと通信を行うための装置である。
図5は、図4に示したOTAマスタ30の機能ブロック図である。図5に示すOTAマスタ30は、記憶部37と、通信部38と、制御部39と、を備える。記憶部37は、図4に示した記憶装置34によって実現される。通信部38及び制御部39は、図4に示したCPU31がRAM32を用いてROM33に記憶されるプログラムを実行することによって実現される。
記憶部37は、複数の電子制御ユニット40a~40dのソフトウェア更新を実行するためのプログラム(OTAマスタ30の制御用プログラム)や、ソフトウェア更新を実行する際に用いる各種データの他、センタ10からダウンロードしたソフトウェアの更新データなどを記憶する。また、記憶部37は、複数の電子制御ユニット40a~40dのそれぞれに搭載される不揮発性メモリの種別に関する情報(後述する)を記憶することができる。
通信部38は、センタ10との間で、データ、情報、及び要求などの送信及び受信を行う送信部及び受信部として機能する。通信部38は、例えば、車両の電源ONを契機として、ソフトウェアの更新確認要求をセンタ10に送信する(送信部)。更新確認要求は、例えば、車両を識別するための車両IDと、車載ネットワーク20に接続される電子制御ユニット40a~40dのソフトウェアの現バージョンに関する情報とを含む。車両ID及び電子制御ユニット40a~40dのソフトウェアの現バージョンは、センタ10が車両IDごとに保持するソフトウェアの最新バージョンとの比較により、電子制御ユニット40a~40dのソフトウェアの更新データがあるか否かを判定するために用いられる。また、通信部38は、更新確認要求に対する応答としてセンタ10から更新データの有無を示す通知を受信する(受信部)。電子制御ユニット40a~40dのソフトウェアの更新データがある場合、通信部38は、ソフトウェアの更新データの配信パッケージのダウンロード要求をセンタ10に送信し(送信部)、センタ10から送信される配信パッケージを受信(ダウンロード)する(受信部)。また、通信部38は、電子制御ユニット40a~40dが送信するソフトウェアの更新状態を、センタ10に送信する(送信部)。
制御部39は、通信部38が受信した更新確認要求に対するセンタ10からの応答に基づいて、電子制御ユニット40a~40dのソフトウェアの更新データがあるか否かを判定する。また、制御部39は、自らの制御に基づいて通信部38がセンタ10から受信(ダウンロード)して記憶部37に格納した配信パッケージの真正性を検証する。また、制御部39は、センタ10から受信(ダウンロード)した更新データを用い、電子制御ユニット40a~40dのソフトウェア更新処理(各種の検証、インストール、アクティベートなど)を制御する。具体的には、制御部39は、配信パッケージによってダウンロードした1つ以上の更新データを、車載ネットワーク20の通信状況に基づいてターゲット電子制御ユニットに転送し、ターゲット電子制御ユニットに更新データに基づく更新ソフトウェアをインストールさせる。インストールの完了後、制御部39は、ターゲット電子制御ユニットに対して、インストールした更新ソフトウェアを有効化させるアクティベートを指示する。このソフトウェア更新処理の際、制御部39は、複数の電子制御ユニット40a~40dにおける各種の検証、インストール、アクティベートなどの手順を好適に制御する。
複数の電子制御ユニット40a~40dは、車両の各部の動作を制御するための装置(ECU:Electronic Control Unit)である。図1においては、車載ネットワーク20が4つの電子制御ユニット40a~40dを備えている例を示したが、電子制御ユニットの数は特に限定されない。例えば、電子制御ユニット40a~40dのソフトウェアの更新処理時に更新データがあることの表示、車両のユーザーや管理者にソフトウェア更新に対する承諾を求めるための承諾要求画面の表示、及びソフトウェア更新の結果の表示など、各種の表示を行うための表示装置(HMI)が、OTAマスタ30に接続されていてもよい。表示装置としては、カーナビゲーションシステムなどを用いることが可能である。また、電子制御ユニットをOTAマスタ30に接続するバスの数も特に限定されない。例えば、上述の表示装置が、バス60a~60c以外のバスでOTAマスタ30に接続されてもよい。
電子制御ユニット40a~40dの概略構成の一例を、図6A及び図6Bに示す。
図6Aに示す電子制御ユニット40aは、CPU41と、RAM42と、不揮発性メモリ43aと、通信装置44と、を備える。CPU41は、不揮発性メモリ43aから読み出したプログラムを、RAM42を作業領域として用いて実行することにより、電子制御ユニット40aの機能を実現する。不揮発性メモリ43aは、ソフトウェアなどのデータを格納するための1つの格納領域45を有するメモリ(以下「シングルバンクメモリ」という)である。以下、この1つの格納領域45を有する構成の不揮発性メモリ43aのメモリ種別を「第1種別」という。格納領域45には、電子制御ユニット40aの機能を実現するためのソフトウェアの他に、バージョン情報やパラメータデータ、起動用のブートプログラム、ソフトウェア更新用のプログラムなどが格納される場合がある。通信装置44は、OTAマスタ30や車載ネットワーク20に接続される他の電子制御ユニット40b~40dとの通信を行うための装置である。
図6Bに示す電子制御ユニット40bは、電子制御ユニット40aと同様に、CPU41と、RAM42と、不揮発性メモリ43bと、通信装置44と、を備える。ただし、電子制御ユニット40bに搭載される不揮発性メモリ43bは、ソフトウェアなどのデータを格納するための2つの格納領域46a及び46bを有するメモリ(以下「デュアルバンクメモリ」という)である。以下、この2つの格納領域46a及び46bを有する構成の不揮発性メモリ43bの種別を「第2種別」という。格納領域46a及び46bには、電子制御ユニット40bの機能を実現するためのソフトウェアの他に、バージョン情報やパラメータデータ、起動用のブートプログラム、ソフトウェア更新用のプログラムなどが格納される場合がある。電子制御ユニット40bのCPU41は、不揮発性メモリ43bが有する2つの格納領域46a及び46bのうち、いずれか一方を読み出し対象の格納領域(運用面)とし、この読み出し対象の格納領域に格納されるソフトウェアを実行する。読み出し対象ではない他方の格納領域(非運用面)には、読み出し対象の格納領域(運用面)のプログラムを実行中に、バックグラウンドで更新データに基づく更新ソフトウェア(更新版のプログラム)のインストール(書き込み)が可能である。ソフトウェア更新処理におけるアクティベート(更新ソフトウェアの有効化)時には、電子制御ユニット40bのCPU41によってプログラムの読み出し対象の格納領域を切り替えることによって、更新ソフトウェアをアクティベートすることができる。
具体例として、デュアルバンクメモリである不揮発性メモリ43bの格納領域46aに現行のソフトウェアが格納されており、格納領域46bに更新ソフトウェアがインストールされた場合を想定する。OTAマスタ30から更新ソフトウェアのアクティベートが指示されると、例えば電子制御ユニット40bは、CPU41の読み出し開始アドレスを、格納領域46aの先頭アドレスから格納領域46bの先頭アドレスに切り替えることによって、このCPU41の読み出し対象(運用面)の格納領域を切り替え、格納領域46bにインストールされた更新ソフトウェアを実行することができる。なお、本開示においては、1つの格納領域を擬似的に2面に区画し、一方の面に格納されたプログラムを実行中に他方の面にプログラムの書き込みを可能にした「1面サスペンドメモリ」と呼ばれる構成も、第2種別のメモリに分類されるものとする。
図7に、複数の電子制御ユニット40a~40dのそれぞれに搭載される不揮発性メモリの種別に関する情報である種別情報の一例を示す。図7に例示した種別情報では、電子制御ユニットを識別するための番号であるECU_IDと、その電子制御ユニットに搭載される不揮発性メモリの種別(第1種別(シングルバンク)/第2種別(デュアルバンク))とが、対応付けられている。この種別情報は、OTAマスタ30の記憶部37及びセンタ10の記憶部16の一方又は両方に記憶されて管理される。種別情報は、車載ネットワーク20を構成する電子制御ユニット40a~40dの仕様に基づいて予め作成され、車両の製造時などにOTAマスタ30の記憶部37に格納されてもよいし、ソフトウェアの更新処理時にターゲット電子制御ユニットから車載ネットワーク20内の通信によってOTAマスタ30が取得してもよい。また、種別情報がセンタ10で管理されている場合には、OTAマスタ30がネットワーク70を介してセンタ10から種別情報を取得してもよい。
通信モジュール50は、センタ10と車両との通信を制御する機能を持ったユニットであり、車載ネットワーク20をセンタ10に接続するための通信機器である。通信モジュール50は、ネットワーク70経由でセンタ10と無線で接続され、OTAマスタ30による車両の認証や更新データのダウンロードなどが行われる。この通信モジュール50は、OTAマスタ30に含まれて構成されてもよい。
[ソフトウェア更新処理の概要]
OTAマスタ30は、例えば、車両の電源ONを契機として、ソフトウェアの更新確認要求をセンタ10に送信する。更新確認要求は、車両を識別するための車両IDと、車載ネットワーク20に接続される電子制御ユニット40a~40dのハードウェア及びソフトウェアの現バージョンなどの電子制御ユニットの状態(システム構成)に関する情報である車両構成情報と、を含む。車両構成情報は、車載ネットワーク20に接続される電子制御ユニット40a~40dから電子制御ユニットの識別番号(ECU_ID)と、電子制御ユニットのソフトウェアバージョンの識別番号(ECU_Software_ID)とを、取得することで作成可能である。車両ID及び電子制御ユニット40a~40dのソフトウェアの現バージョンは、センタ10が車両IDごとに保持するソフトウェアの最新バージョンとの比較により、電子制御ユニット40a~40dのソフトウェアの更新データがあるか否かを判定するために用いられる。センタ10は、OTAマスタ30から受信した更新確認要求に対する応答として、更新データの有無を示す通知をOTAマスタ30に送信する。電子制御ユニット40a~40dのソフトウェアの更新データがある場合、OTAマスタ30は、配信パッケージのダウンロード要求をセンタ10に送信する。センタ10は、OTAマスタ30から受信したダウンロード要求に応じて、更新データの配信パッケージをOTAマスタ30に送信する。配信パッケージは、更新データの他に、更新データの真正性を検証するための検証用データや、更新データの数、種別情報、ソフトウェア更新時に用いる各種の制御情報などを含んでいてもよい。
OTAマスタ30は、例えば、車両の電源ONを契機として、ソフトウェアの更新確認要求をセンタ10に送信する。更新確認要求は、車両を識別するための車両IDと、車載ネットワーク20に接続される電子制御ユニット40a~40dのハードウェア及びソフトウェアの現バージョンなどの電子制御ユニットの状態(システム構成)に関する情報である車両構成情報と、を含む。車両構成情報は、車載ネットワーク20に接続される電子制御ユニット40a~40dから電子制御ユニットの識別番号(ECU_ID)と、電子制御ユニットのソフトウェアバージョンの識別番号(ECU_Software_ID)とを、取得することで作成可能である。車両ID及び電子制御ユニット40a~40dのソフトウェアの現バージョンは、センタ10が車両IDごとに保持するソフトウェアの最新バージョンとの比較により、電子制御ユニット40a~40dのソフトウェアの更新データがあるか否かを判定するために用いられる。センタ10は、OTAマスタ30から受信した更新確認要求に対する応答として、更新データの有無を示す通知をOTAマスタ30に送信する。電子制御ユニット40a~40dのソフトウェアの更新データがある場合、OTAマスタ30は、配信パッケージのダウンロード要求をセンタ10に送信する。センタ10は、OTAマスタ30から受信したダウンロード要求に応じて、更新データの配信パッケージをOTAマスタ30に送信する。配信パッケージは、更新データの他に、更新データの真正性を検証するための検証用データや、更新データの数、種別情報、ソフトウェア更新時に用いる各種の制御情報などを含んでいてもよい。
OTAマスタ30は、センタ10から受信した更新確認要求に対する応答に基づいて、電子制御ユニット40a~40dのソフトウェアの更新データがあるか否かを判定する。また、OTAマスタ30は、センタ10から受信して記憶装置13に格納した配信パッケージの真正性を検証する。また、OTAマスタ30は、配信パッケージでダウンロードした1つ以上の更新データを車載ネットワーク20の通信状況に基づいてターゲット電子制御ユニットに転送し、ターゲット電子制御ユニットに更新データをインストールさせる。インストールの完了後、OTAマスタ30は、ターゲット電子制御ユニットに対して、インストールさせた更新版のソフトウェアを有効とするアクティベートを行うように指示をする。
また、OTAマスタ30は、承諾要求処理において、ソフトウェア更新に対して承諾が必要である旨の通知やソフトウェア更新を承諾した旨の入力を促す通知を、出力装置に出力させる。出力装置としては、車載ネットワーク20に設けられた表示による通知を行う表示装置(図示せず)や音声による通知を行う音声出力装置(図示せず)などを利用できる。例えば、承諾要求処理において、表示装置を出力装置として用いる場合、OTAマスタ30は、ユーザー又は管理者にソフトウェア更新の承諾を求めるための承諾要求画面を表示装置に表示させたり、ユーザー又は管理者が承諾する場合には承諾ボタンを押下するなどの特定の入力操作を促す通知を表示装置に表示させたり、することができる。また、OTAマスタ30は、承諾要求処理において、電子制御ユニット40a~40dのソフトウェアの更新データがあることを通知する文言やアイコンなどを表示装置に表示させたり、ソフトウェア更新処理の実行中における制限事項などを表示装置に表示させたり、することができる。OTAマスタ30は、ユーザー又は管理者から承諾した旨の入力を受け付けると、上述したインストール及びアクティベートの制御処理を実行し、ターゲット電子制御ユニットのソフトウェアを更新する。
ここで、ターゲット電子制御ユニットの不揮発性メモリが、シングルバンクメモリである場合は、原則的にインストールとアクティベートとがひと続きに行われるため、インストールの実行前に、ソフトウェア更新に対する承諾要求処理が行われる。なお、シングルバンクメモリのターゲット電子制御ユニットであっても、インストール完了の状態で更新処理を一時的に停止、つまりアクティベートを待機(保留)することが要求されることもあり得る。また、ターゲット電子制御ユニットの不揮発性メモリが、デュアルバンクメモリである場合は、少なくとも、インストールの実行後かつアクティベートの実行前に、ソフトウェア更新に対する承諾要求処理が行われる。なお、ターゲット電子制御ユニットの不揮発性メモリがデュアルバンクメモリである場合には、インストール実行前のソフトウェアの更新に対する承諾要求処理は、行われてもよいし省略されてもよい。
ソフトウェア更新処理は、OTAマスタ30がセンタ10から更新データをダウンロードするフェーズ(ダウンロードフェーズ)、ダウンロードした更新データをOTAマスタ30がターゲット電子制御ユニットに転送し、ターゲット電子制御ユニットの格納領域に更新データに基づく更新ソフトウェアをインストールするフェーズ(インストールフェーズ)、及びターゲット電子制御ユニットがインストールした更新ソフトウェアを有効化するフェーズ(アクティベートフェーズ)からなる。
ダウンロードは、OTAマスタ30が、センタ10から送信された電子制御ユニットのソフトウェアを更新するための更新データを、受信して記憶部37に記憶する処理である。ダウンロードにおいては、所定の配信パッケージを用いたデュアルバンクメモリを搭載した電子制御ユニットに向けた更新データ及びシングルバンクメモリを搭載した電子制御ユニットに向けた更新データのダウンロードが行われる。ダウンロードフェーズでは、ダウンロードの実行だけでなく、ダウンロードの実行可否判断、更新データの検証など、ダウンロードに関する一連の処理の制御を含む。
センタ10からOTAマスタ30に送信される更新データは、電子制御ユニットの更新ソフトウェア(全データ又は差分データ)、更新ソフトウェアを圧縮した圧縮データ、更新ソフトウェア又は圧縮データを分割した分割データのいずれを含んでいてもよい。また、更新データは、ターゲット電子制御ユニットのECU_ID(又はシリアル番号)と、更新前のターゲット電子制御ユニットのECU_Software_IDとを、含んでいてもよい。ダウンロードされる配信パッケージには、単一の電子制御ユニットのみの更新データ又は複数の電子制御ユニットの更新データが含まれ得る。
インストールは、OTAマスタ30が、センタ10からダウンロードした更新データに基づいて、車載ネットワーク20の通信状況、すなわちOTAマスタ30と各ターゲット電子制御ユニットとの間の通信状況に応じて、複数のターゲット電子制御ユニットの不揮発性メモリ43a及び/又は43bに更新ソフトウェア(更新版のプログラム)を定められた順序で書き込む処理である。この書き込み処理には、複数のターゲット電子制御ユニットに対する更新データの転送を並行して実行する処理や、ターゲット電子制御ユニットに対する更新データの転送を保留する処理などが含まれる。インストールは、車載ネットワーク20の通信状況に基づいていれば、デュアルバンクメモリを搭載した電子制御ユニットに向けた更新データ及びシングルバンクメモリを搭載した電子制御ユニットに向けた更新データのいずれか一方を優先して行ってもよいし、互いに優劣なく行ってもよい。インストールフェーズでは、インストールの実行だけでなく、インストールの実行可否判断、更新データの転送及び更新ソフトウェアの検証など、インストールに関する一連の処理の制御を含む。
更新データが更新ソフトウェアそのもの(全データ)を含む場合は、インストールフェーズにおいて、OTAマスタ30が車載ネットワーク20の通信状況に基づいて更新データ(更新ソフトウェア)をターゲット電子制御ユニットに転送する。また、更新データが更新ソフトウェアの圧縮データ、又は差分データ、あるいは分割データを含む場合は、OTAマスタ30が車載ネットワーク20の通信状況に基づいてターゲット電子制御ユニットに更新データを転送し、ターゲット電子制御ユニットが更新データから更新ソフトウェアを生成してもよいし、OTAマスタ30が更新データから更新ソフトウェアを生成してから、車載ネットワーク20の通信状況に基づいて更新ソフトウェアをターゲット電子制御ユニットに転送してもよい。ここで、更新ソフトウェアの生成は、圧縮データの解凍や、差分データ又は分割データの組み付け(統合)により行うことができる。
更新ソフトウェアのインストールは、OTAマスタ30からのインストール要求に基づいて、ターゲット電子制御ユニットが行うことができる。なお、更新データを受信した特定のターゲット電子制御ユニットについては、OTAマスタ30からの明示の指示を受けることなく、自律的にインストールを行ってもよい。
アクティベートは、ターゲット電子制御ユニットが、不揮発性メモリ43a及び/又は43bにインストールした更新ソフトウェアを有効化(アクティベート)する処理である。アクティベートは、デュアルバンクメモリを搭載した電子制御ユニットに向けた更新データ、及びシングルバンクメモリを搭載した電子制御ユニットに向けた更新データのいずれか一方を優先して行ってもよいし、互いに優劣なく行ってもよい。アクティベートフェーズでは、アクティベートの実行だけでなく、アクティベートの実行可否判断、アクティベートに対する車両のユーザー又は管理者への承諾要求、実行結果の検証など、アクティベートに関する一連の制御を含む。
更新ソフトウェアのアクティベートは、OTAマスタ30からのアクティベート要求に基づいて、ターゲット電子制御ユニットが行うことができる。なお、更新データを受信した特定のターゲット電子制御ユニットについては、OTAマスタ30からの明示の指示を受けることなく、インストールの完了後に自律的にアクティベートを行ってもよい。
なお、ソフトウェア更新処理は、複数のターゲット電子制御ユニットのそれぞれに対して、連続的あるいは並列的に行うことができる。
また、本明細書における「ソフトウェア更新処理」は、ダウンロード、インストール、及びアクティベートの全てを連続して行う処理だけでなく、ダウンロード、インストール、及びアクティベートのうちの一部のみを行う処理も含む。
[処理]
次に、図8、図9、及び図10をさらに参照して、本実施形態に係るネットワークシステムにおいて実行されるソフトウェア更新処理に関する具体例をいくつか説明する。
次に、図8、図9、及び図10をさらに参照して、本実施形態に係るネットワークシステムにおいて実行されるソフトウェア更新処理に関する具体例をいくつか説明する。
(1)ダウンロードの具体例
図8は、センタ10及びOTAマスタ30が行うダウンロードの具体例による処理手順を説明するフローチャートである。図8に例示するダウンロード処理は、センタ10が、OTAマスタ30から配信パッケージのダウンロード要求を受信することによって、開始される。
図8は、センタ10及びOTAマスタ30が行うダウンロードの具体例による処理手順を説明するフローチャートである。図8に例示するダウンロード処理は、センタ10が、OTAマスタ30から配信パッケージのダウンロード要求を受信することによって、開始される。
(ステップS801)
センタ10は、ソフトウェアの更新対象となるターゲット電子制御ユニットの更新データを含む配信パッケージを、OTAマスタ30に送信する。この配信パッケージには、第1種別の不揮発性メモリ(シングルバンクメモリ)を搭載した電子制御ユニットに向けた更新データと、第2種別の不揮発性メモリ(デュアルバンクメモリ)を搭載した電子制御ユニットに向けた更新データとが、混在していてもよい。配信パッケージが送信されると、ステップ802に処理が進む。
センタ10は、ソフトウェアの更新対象となるターゲット電子制御ユニットの更新データを含む配信パッケージを、OTAマスタ30に送信する。この配信パッケージには、第1種別の不揮発性メモリ(シングルバンクメモリ)を搭載した電子制御ユニットに向けた更新データと、第2種別の不揮発性メモリ(デュアルバンクメモリ)を搭載した電子制御ユニットに向けた更新データとが、混在していてもよい。配信パッケージが送信されると、ステップ802に処理が進む。
(ステップS802)
OTAマスタ30は、センタ10から送信される配信パッケージを受信する。配信パッケージが受信されると、ステップS803に処理が進む。
OTAマスタ30は、センタ10から送信される配信パッケージを受信する。配信パッケージが受信されると、ステップS803に処理が進む。
(ステップS803)
OTAマスタ30は、センタ10から受信した配信パッケージに含まれる更新データを記憶部37に記憶する。これにより、ダウンロード処理が終了する。
OTAマスタ30は、センタ10から受信した配信パッケージに含まれる更新データを記憶部37に記憶する。これにより、ダウンロード処理が終了する。
(2)インストールの具体例
図9は、OTAマスタ30及びターゲット電子制御ユニット(以下「ターゲットECU」という)が行う具体例によるインストールの処理手順を説明するフローチャートである。図9に例示するインストールの具体例は、更新データのダウンロードが完了した後、かつ、所定の条件(インストール実行可、更新データの検証OKなど)が満足されることによって開始される。
図9は、OTAマスタ30及びターゲット電子制御ユニット(以下「ターゲットECU」という)が行う具体例によるインストールの処理手順を説明するフローチャートである。図9に例示するインストールの具体例は、更新データのダウンロードが完了した後、かつ、所定の条件(インストール実行可、更新データの検証OKなど)が満足されることによって開始される。
(ステップS901)
OTAマスタ30は、車載ネットワーク20の通信状況を確認する。より具体的には、OTAマスタ30は、自身と各ターゲットECUとを接続する通信ラインであるバス60b及び60cの状況をそれぞれ確認する。車載ネットワーク20の通信状況が確認されると、ステップS902に処理が進む。
OTAマスタ30は、車載ネットワーク20の通信状況を確認する。より具体的には、OTAマスタ30は、自身と各ターゲットECUとを接続する通信ラインであるバス60b及び60cの状況をそれぞれ確認する。車載ネットワーク20の通信状況が確認されると、ステップS902に処理が進む。
(ステップS902)
OTAマスタ30は、自身とターゲットECUとの間の通信負荷を判断する。一例として、通信負荷が所定値未満であれば通信負荷が低いと判断し、通信負荷が所定値以上であれば通信負荷が高いと判断することができる。通信負荷は、一例として、ターゲットECUが動作を実行中である場合や、ターゲットECUが動作を実行していなくても接続されているバスが混雑している場合などに、高くなり得る。この所定値は、更新データのサイズ、車両が実装する通信環境(CAN(Controller Area Network)、イーサネット(登録商標)など)、及びソフトウェア更新の期限などに基づいて任意に設定することができる。OTAマスタ30とターゲットECUとの間の通信負荷が低いと判断された場合(ステップS902、低い)は、ステップS903に処理が進む。一方、OTAマスタ30とターゲットECUとの間の通信負荷が高いと判断された場合(ステップS902、高い)は、ステップS904に処理が進む。
OTAマスタ30は、自身とターゲットECUとの間の通信負荷を判断する。一例として、通信負荷が所定値未満であれば通信負荷が低いと判断し、通信負荷が所定値以上であれば通信負荷が高いと判断することができる。通信負荷は、一例として、ターゲットECUが動作を実行中である場合や、ターゲットECUが動作を実行していなくても接続されているバスが混雑している場合などに、高くなり得る。この所定値は、更新データのサイズ、車両が実装する通信環境(CAN(Controller Area Network)、イーサネット(登録商標)など)、及びソフトウェア更新の期限などに基づいて任意に設定することができる。OTAマスタ30とターゲットECUとの間の通信負荷が低いと判断された場合(ステップS902、低い)は、ステップS903に処理が進む。一方、OTAマスタ30とターゲットECUとの間の通信負荷が高いと判断された場合(ステップS902、高い)は、ステップS904に処理が進む。
(ステップS903)
OTAマスタ30は、自身との間の通信負荷が低いと判断されたターゲットECU(以下「第1ターゲットECU」という)への更新データの転送を行って第1ターゲットECUの更新ソフトウェアのインストールを実行する。第1ターゲットECUが複数ある場合には、OTAマスタ30は、複数の第1ターゲットECUの更新ソフトウェアのインストールを並行して実行する。第1ターゲットECUの更新ソフトウェアのインストールが並行して実行開始されると、ステップS905に処理が進む。
OTAマスタ30は、自身との間の通信負荷が低いと判断されたターゲットECU(以下「第1ターゲットECU」という)への更新データの転送を行って第1ターゲットECUの更新ソフトウェアのインストールを実行する。第1ターゲットECUが複数ある場合には、OTAマスタ30は、複数の第1ターゲットECUの更新ソフトウェアのインストールを並行して実行する。第1ターゲットECUの更新ソフトウェアのインストールが並行して実行開始されると、ステップS905に処理が進む。
(ステップS904)
OTAマスタ30は、自身との間の通信負荷が高いと判断されたターゲットECU(以下「第2ターゲットECU」という)への更新データの転送を行って第2ターゲットECUの更新ソフトウェアのインストールする処理を保留する。第2ターゲットECUが複数ある場合には、OTAマスタ30は、複数の第2ターゲットECUの更新ソフトウェアのインストールを全て保留する。第2ターゲットECUの更新ソフトウェアのインストールが保留されると、ステップS905に処理が進む。
OTAマスタ30は、自身との間の通信負荷が高いと判断されたターゲットECU(以下「第2ターゲットECU」という)への更新データの転送を行って第2ターゲットECUの更新ソフトウェアのインストールする処理を保留する。第2ターゲットECUが複数ある場合には、OTAマスタ30は、複数の第2ターゲットECUの更新ソフトウェアのインストールを全て保留する。第2ターゲットECUの更新ソフトウェアのインストールが保留されると、ステップS905に処理が進む。
(ステップS905)
OTAマスタ30は、自身との間の通信負荷が低い第1ターゲットECUの更新ソフトウェアのインストールが全て完了したか否かを判断する。第1ターゲットECUの更新ソフトウェアのインストールが全て完了した場合(ステップS905、はい)は、ステップS906に処理が進む。一方、第1ターゲットECUの更新ソフトウェアのインストールが全て完了していない場合(ステップS905、いいえ)は、更新ソフトウェアのインストールをまだ実行していないターゲットECUがあればステップS902に処理が進み、全てのターゲットECUの更新ソフトウェアのインストールが完了していれば、本インストール処理が終了する。
OTAマスタ30は、自身との間の通信負荷が低い第1ターゲットECUの更新ソフトウェアのインストールが全て完了したか否かを判断する。第1ターゲットECUの更新ソフトウェアのインストールが全て完了した場合(ステップS905、はい)は、ステップS906に処理が進む。一方、第1ターゲットECUの更新ソフトウェアのインストールが全て完了していない場合(ステップS905、いいえ)は、更新ソフトウェアのインストールをまだ実行していないターゲットECUがあればステップS902に処理が進み、全てのターゲットECUの更新ソフトウェアのインストールが完了していれば、本インストール処理が終了する。
(ステップS906)
OTAマスタ30は、自身との間の通信負荷が高く更新ソフトウェアのインストールを保留している第2ターゲットECUについて、第2ターゲットECUの更新ソフトウェアのインストールを実行する。第2ターゲットECUの更新ソフトウェアのインストールが実行され、全てのターゲットECUの更新ソフトウェアのインストールが完了していれば、本インストール処理が終了する。
OTAマスタ30は、自身との間の通信負荷が高く更新ソフトウェアのインストールを保留している第2ターゲットECUについて、第2ターゲットECUの更新ソフトウェアのインストールを実行する。第2ターゲットECUの更新ソフトウェアのインストールが実行され、全てのターゲットECUの更新ソフトウェアのインストールが完了していれば、本インストール処理が終了する。
上述したステップS902からステップS906までによるインストール処理は、更新ソフトウェアのインストールが実行されていない全てのターゲットECUについて実行される。
上記インストールの具体例によれば、OTAマスタ30と各ターゲットECUとを接続する車載ネットワーク20の通信状況に基づいて、高い通信負荷がかかる並列的な複数のインストールを実行することができる。この処理によって、制御の安定性を図りつつ効率的な更新ソフトウェアのインストールを実現できる。
(3)アクティベートの具体例
図10は、OTAマスタ30及びターゲットECUが行うアクティベートの具体例による処理手順を説明するフローチャートである。図10に例示するアクティベート処理は、第1種別の不揮発性メモリ(シングルバンクメモリ)を搭載したターゲットECU(以下「第1種別のターゲットECU」という)及び第2種別の不揮発性メモリ(デュアルバンクメモリ)を搭載したターゲットECU(以下「第2種別のターゲットECU」という)それぞれの更新ソフトウェアのインストールが完了した後、かつ、所定の条件(アクティベート実行可、更新データの検証OKなど)が満足されることによって開始される。
図10は、OTAマスタ30及びターゲットECUが行うアクティベートの具体例による処理手順を説明するフローチャートである。図10に例示するアクティベート処理は、第1種別の不揮発性メモリ(シングルバンクメモリ)を搭載したターゲットECU(以下「第1種別のターゲットECU」という)及び第2種別の不揮発性メモリ(デュアルバンクメモリ)を搭載したターゲットECU(以下「第2種別のターゲットECU」という)それぞれの更新ソフトウェアのインストールが完了した後、かつ、所定の条件(アクティベート実行可、更新データの検証OKなど)が満足されることによって開始される。
(ステップS1001)
OTAマスタ30及び第1種別のターゲットECUは、第1種別のターゲットECUの不揮発性メモリの格納領域に書き込まれた更新ソフトウェアを有効化するアクティベートを開始する。このアクティベートの開始は、第1種別のターゲットECUの全てについて、一斉に又は所定の順序で行われる。第1種別のターゲットECUにおける更新ソフトウェアのアクティベートが開始されると、ステップS1002に処理が進む。
OTAマスタ30及び第1種別のターゲットECUは、第1種別のターゲットECUの不揮発性メモリの格納領域に書き込まれた更新ソフトウェアを有効化するアクティベートを開始する。このアクティベートの開始は、第1種別のターゲットECUの全てについて、一斉に又は所定の順序で行われる。第1種別のターゲットECUにおける更新ソフトウェアのアクティベートが開始されると、ステップS1002に処理が進む。
(ステップS1002)
OTAマスタ30及び第2種別のターゲットECUは、第2種別のターゲットECUの不揮発性メモリの格納領域に書き込まれた更新ソフトウェアを有効化するアクティベートを開始する。このアクティベートの開始は、第2種別のターゲットECUの全てについて、一斉に又は所定の順序で行われる。なお、第2種別のターゲットECUのアクティベートは、第1種別のターゲットECUのアクティベートが全て完了してから開始されてもよいし、第1種別のターゲットECUの予め定められた一部のアクティベートが完了してから開始されてもよい。第2種別のターゲットECUにおける更新ソフトウェアのアクティベートが開始されると、ステップS1003に処理が進む。
OTAマスタ30及び第2種別のターゲットECUは、第2種別のターゲットECUの不揮発性メモリの格納領域に書き込まれた更新ソフトウェアを有効化するアクティベートを開始する。このアクティベートの開始は、第2種別のターゲットECUの全てについて、一斉に又は所定の順序で行われる。なお、第2種別のターゲットECUのアクティベートは、第1種別のターゲットECUのアクティベートが全て完了してから開始されてもよいし、第1種別のターゲットECUの予め定められた一部のアクティベートが完了してから開始されてもよい。第2種別のターゲットECUにおける更新ソフトウェアのアクティベートが開始されると、ステップS1003に処理が進む。
(ステップS1003)
OTAマスタ30は、全て(第1種別及び第2種別)のターゲットECUにおける更新ソフトウェアのアクティベートが完了したか否かを判断する。OTAマスタ30は、アクティベートの完了を、各ターゲットECUからの完了通知があったことで判断してもよいし、アクティベートの開始から所定の時間が経過後したことで判断してもよい。所定の時間は、例えば、各々のアクティベートに要する最大の時間以上に設定することができる。全てのターゲットECUにおける更新ソフトウェアのアクティベートが完了したと判断されると(ステップS1003、はい)、ターゲットECUに対するアクティベートが完了し、本アクティベート処理が終了する。
OTAマスタ30は、全て(第1種別及び第2種別)のターゲットECUにおける更新ソフトウェアのアクティベートが完了したか否かを判断する。OTAマスタ30は、アクティベートの完了を、各ターゲットECUからの完了通知があったことで判断してもよいし、アクティベートの開始から所定の時間が経過後したことで判断してもよい。所定の時間は、例えば、各々のアクティベートに要する最大の時間以上に設定することができる。全てのターゲットECUにおける更新ソフトウェアのアクティベートが完了したと判断されると(ステップS1003、はい)、ターゲットECUに対するアクティベートが完了し、本アクティベート処理が終了する。
上記アクティベートの具体例によれば、最初に第1種別のターゲットECUの更新ソフトウェアに対するアクティベートを開始し、その次に第2種別のターゲットECUの更新ソフトウェアに対するアクティベートを開始する。この処理によって、第1種別のターゲットECUのソフトウェア更新の成功を確認した後に、第2種別のターゲットECUのソフトウェア更新を実施することができるので、シングルバンクメモリを搭載したターゲットECUとデュアルバンクメモリを搭載したターゲットECUとの両方を構成に含むシステムのソフトウェア更新処理を好適に実行することができる。
<作用・効果>
以上のように、本開示の一実施形態に係るネットワークシステムによれば、OTAマスタは、OTAマスタと更新対象であるターゲット電子制御ユニットとの間の通信状況に基づいて、ターゲット電子制御ユニットへ転送する更新データを制御する。
以上のように、本開示の一実施形態に係るネットワークシステムによれば、OTAマスタは、OTAマスタと更新対象であるターゲット電子制御ユニットとの間の通信状況に基づいて、ターゲット電子制御ユニットへ転送する更新データを制御する。
この処理により、OTAマスタとターゲット電子制御ユニットとの間の通信状況に基づいた好適な更新ソフトウェアのインストールを実施することができる。従って、ソフトウェア更新後の電子制御ユニットを正常に起動させるまでに掛かる時間を抑制することができる。
より具体的には、本実施形態に係るOTAマスタは、OTAマスタとの間の通信負荷が所定値未満のターゲット電子制御ユニット(第1ターゲット電子制御ユニット)に対しては、更新データの転送を並行して実行し、OTAマスタとの間の通信負荷が所定値以上のターゲット電子制御ユニット(第2ターゲット電子制御ユニット)に対しては、更新データの転送を保留する。
この処理により、OTAマスタとの間の通信負荷が低いターゲット電子制御ユニットに対しては、更新ソフトウェアのインストールを並列処理で実施することができ、OTAマスタとの間の通信負荷が高いターゲット電子制御ユニットに対しては、更新ソフトウェアのインストール処理を保留して制御安定性の確保を優先することができる。
また、本実施形態に係るOTAマスタは、OTAマスタとの間の通信負荷が所定値未満のターゲット電子制御ユニット(第1ターゲット電子制御ユニット)に対する更新データの転送が全て終了した後に、OTAマスタとの間の通信負荷が所定値以上のターゲット電子制御ユニット(第2ターゲット電子制御ユニット)に対する更新データの転送を実行する。
この処理により、ソフトウェアの更新制御に関わる車両内(車載ネットワーク)の通信負荷に合わせて、制御の安定化を図りながら効率的なインストールが可能となる。
以上、本開示技術の一実施形態を説明したが、本開示は、OTAマスタだけでなく、プロセッサとメモリを備えたOTAマスタが実行する方法、プログラム、プログラムを記憶したコンピューター読み取り可能な非一時的な記憶媒体、センタ及びOTAマスタを備えるシステム、あるいはOTAマスタを備えた車両など、として捉えることが可能である。
本開示技術は、電子制御ユニットのソフトウェアを更新するためのネットワークシステムに利用できる。
10 センタ
11、31、41 CPU
12、32、42 RAM
13、34 記憶装置
14、36、44 通信装置
16、37 記憶部
17、38 通信部
18、39 制御部
20 車載ネットワーク
30 OTAマスタ
33 ROM
35 マイクロコンピューター
40a~40d 電子制御ユニット(ECU)
43a、43b 不揮発性メモリ
45、46a、46b 格納領域
50 通信モジュール
60a~60c バス
70 ネットワーク
11、31、41 CPU
12、32、42 RAM
13、34 記憶装置
14、36、44 通信装置
16、37 記憶部
17、38 通信部
18、39 制御部
20 車載ネットワーク
30 OTAマスタ
33 ROM
35 マイクロコンピューター
40a~40d 電子制御ユニット(ECU)
43a、43b 不揮発性メモリ
45、46a、46b 格納領域
50 通信モジュール
60a~60c バス
70 ネットワーク
Claims (9)
- 車両に搭載された電子制御ユニットのソフトウェア更新を制御するOTAマスタであって、
1つの格納領域を有する第1種別の不揮発性メモリを搭載した前記電子制御ユニットに向けた更新データと、2つの格納領域を有する第2種別の不揮発性メモリを搭載した前記電子制御ユニットに向けた更新データとを、センタから受信する通信部と、
前記OTAマスタと更新対象となる前記電子制御ユニットであるターゲット電子制御ユニットとの間の通信状況に基づいて、前記ターゲット電子制御ユニットへ転送する前記更新データを制御する制御部と、を備える、OTAマスタ。 - 前記制御部は、
前記OTAマスタとの間の通信負荷が所定値未満の前記ターゲット電子制御ユニットである第1ターゲット電子制御ユニットに対しては、前記更新データの転送を並行して実行し、
前記OTAマスタとの間の通信負荷が前記所定値以上の前記ターゲット電子制御ユニットである第2ターゲット電子制御ユニットに対しては、前記更新データの転送を保留する、請求項1に記載のOTAマスタ。 - 前記制御部は、前記第1ターゲット電子制御ユニットに対する前記更新データの転送が全て終了した後に、前記第2ターゲット電子制御ユニットに対する前記更新データの転送を実行する、請求項2に記載のOTAマスタ。
- 車両に搭載された電子制御ユニットのソフトウェア更新を制御するOTAマスタと、前記OTAマスタと通信可能なセンタと、を備えるシステムであって、
前記センタは、1つの格納領域を有する第1種別の不揮発性メモリを搭載した前記電子制御ユニットに向けた更新データと、2つの格納領域を有する第2種別の不揮発性メモリを搭載した前記電子制御ユニットに向けた更新データとを、前記OTAマスタに送信する第1通信部を備え、
前記OTAマスタは、
前記センタが送信した前記更新データを受信する第2通信部と、
前記OTAマスタと更新対象となる前記電子制御ユニットであるターゲット電子制御ユニットとの間の通信状況に基づいて、前記ターゲット電子制御ユニットへ転送する前記更新データを制御する制御部と、を備える、システム。 - 前記OTAマスタの前記制御部は、
前記OTAマスタとの間の通信負荷が所定値未満の前記ターゲット電子制御ユニットである第1ターゲット電子制御ユニットに対しては、前記更新データの転送を並行して実行し、
前記OTAマスタとの間の通信負荷が前記所定値以上の前記ターゲット電子制御ユニットである第2ターゲット電子制御ユニットに対しては、前記更新データの転送を保留する、請求項4に記載のシステム。 - 前記OTAマスタの前記制御部は、前記第1ターゲット電子制御ユニットに対する前記更新データの転送が終了した後に、前記第2ターゲット電子制御ユニットに対する前記更新データの転送を実行する、請求項5に記載のシステム。
- プロセッサと、メモリとを備え、車両に搭載された電子制御ユニットのソフトウェア更新を制御するOTAマスタが実行する方法であって、
1つの格納領域を有する第1種別の不揮発性メモリを搭載した前記電子制御ユニットに向けた更新データと、2つの格納領域を有する第2種別の不揮発性メモリを搭載した前記電子制御ユニットに向けた更新データとを、センタから受信するステップと、
前記OTAマスタと更新対象となる前記電子制御ユニットとの間の通信状況に基づいて、前記更新対象となる電子制御ユニットへ転送する前記更新データを制御するステップと、を含む、方法。 - プロセッサと、メモリとを備え、車両に搭載された電子制御ユニットのソフトウェア更新を制御するOTAマスタのコンピューターが実行するプログラムであって、
1つの格納領域を有する第1種別の不揮発性メモリを搭載した前記電子制御ユニットに向けた更新データと、2つの格納領域を有する第2種別の不揮発性メモリを搭載した前記電子制御ユニットに向けた更新データとを、センタから受信するステップと、
前記OTAマスタと更新対象となる前記電子制御ユニットとの間の通信状況に基づいて、前記更新対象となる電子制御ユニットへ転送する前記更新データを制御するステップと、を含む、プログラム。 - 請求項1乃至3のいずれか1項に記載のOTAマスタを搭載した、車両。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021102949A JP2023001993A (ja) | 2021-06-22 | 2021-06-22 | Otaマスタ、システム、方法、プログラム、及び車両 |
CN202210508244.5A CN115509566A (zh) | 2021-06-22 | 2022-05-11 | Ota管理器、系统、方法、非暂时性存储介质以及车辆 |
US17/662,876 US20220405080A1 (en) | 2021-06-22 | 2022-05-11 | Ota master, system, method, non-transitory storage medium, and vehicle |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021102949A JP2023001993A (ja) | 2021-06-22 | 2021-06-22 | Otaマスタ、システム、方法、プログラム、及び車両 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023001993A true JP2023001993A (ja) | 2023-01-10 |
Family
ID=84489260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021102949A Pending JP2023001993A (ja) | 2021-06-22 | 2021-06-22 | Otaマスタ、システム、方法、プログラム、及び車両 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220405080A1 (ja) |
JP (1) | JP2023001993A (ja) |
CN (1) | CN115509566A (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170141968A1 (en) * | 2015-11-13 | 2017-05-18 | Acumera, Inc. | Updating Electronic Devices Using a Push Model |
JP6428652B2 (ja) * | 2016-01-06 | 2018-11-28 | 株式会社オートネットワーク技術研究所 | 車載更新装置、更新システム及び更新処理プログラム |
JP6323480B2 (ja) * | 2016-03-02 | 2018-05-16 | 住友電気工業株式会社 | プログラム更新システム、プログラム更新方法及びコンピュータプログラム |
US10747606B1 (en) * | 2016-12-21 | 2020-08-18 | EMC IP Holding Company LLC | Risk based analysis of adverse event impact on system availability |
JP7003976B2 (ja) * | 2018-08-10 | 2022-01-21 | 株式会社デンソー | 車両用マスタ装置、更新データの検証方法及び更新データの検証プログラム |
JP6973465B2 (ja) * | 2019-11-28 | 2021-12-01 | 株式会社オートネットワーク技術研究所 | 車載中継装置、プログラム及び中継方法 |
-
2021
- 2021-06-22 JP JP2021102949A patent/JP2023001993A/ja active Pending
-
2022
- 2022-05-11 US US17/662,876 patent/US20220405080A1/en active Pending
- 2022-05-11 CN CN202210508244.5A patent/CN115509566A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220405080A1 (en) | 2022-12-22 |
CN115509566A (zh) | 2022-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230359454A1 (en) | Software update device, update control method, and non-transitory storage medium | |
WO2018142749A1 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
JP2023108066A (ja) | ソフトウェア更新装置、更新制御方法、更新制御プログラム及びサーバ | |
JP2022187189A (ja) | Otaマスタ、センタ、システム、方法、プログラム、及び車両 | |
US11995429B2 (en) | Software update device, update control method, non-transitory storage medium, and server | |
JP2023005670A (ja) | センタ、otaマスタ、方法、プログラム、及び車両 | |
JP2023001993A (ja) | Otaマスタ、システム、方法、プログラム、及び車両 | |
JP2022187162A (ja) | Otaマスタ、システム、方法、プログラム、及び車両 | |
JP2023002193A (ja) | センタ、otaマスタ、システム、方法、プログラム、及び車両 | |
JP2022187646A (ja) | Otaマスタ、システム、方法、プログラム、及び車両 | |
JP2023002272A (ja) | Otaマスタ、システム、方法、プログラム、及び車両 | |
JP7363853B2 (ja) | Otaマスタ、センタ、システム、更新方法、更新プログラム、及び車両 | |
JP2022126194A (ja) | Otaマスタ、センタ、システム、方法、プログラム、及び車両 | |
US20230032451A1 (en) | Center, method, and non-transitory storage medium | |
JP7355061B2 (ja) | センタ、otaマスタ、システム、配信方法、配信プログラム、及び車両 | |
US11947951B2 (en) | Center, distribution control method, and non-transitory storage medium | |
US12050903B2 (en) | OTA master, system, method, non-transitory storage medium, and vehicle | |
JP2023002161A (ja) | センタ、otaマスタ、方法、プログラム、及び車両 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240319 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240507 |