JP2022118631A - Otaマスタ、ソフトウェアの更新制御方法及び更新制御プログラム、otaマスタを備える車両 - Google Patents

Otaマスタ、ソフトウェアの更新制御方法及び更新制御プログラム、otaマスタを備える車両 Download PDF

Info

Publication number
JP2022118631A
JP2022118631A JP2021015293A JP2021015293A JP2022118631A JP 2022118631 A JP2022118631 A JP 2022118631A JP 2021015293 A JP2021015293 A JP 2021015293A JP 2021015293 A JP2021015293 A JP 2021015293A JP 2022118631 A JP2022118631 A JP 2022118631A
Authority
JP
Japan
Prior art keywords
control unit
electronic control
update
software
target electronic
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.)
Granted
Application number
JP2021015293A
Other languages
English (en)
Other versions
JP2022118631A5 (ja
JP7452452B2 (ja
Inventor
智康 石川
Tomoyasu Ishikawa
俊介 谷森
Shunsuke Tanimori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2021015293A priority Critical patent/JP7452452B2/ja
Priority to KR1020210163998A priority patent/KR102669611B1/ko
Priority to CN202111420796.2A priority patent/CN114844874A/zh
Priority to EP21211411.0A priority patent/EP4036712A1/en
Priority to US17/541,991 priority patent/US20220244946A1/en
Priority to BR102022000011-5A priority patent/BR102022000011A2/pt
Publication of JP2022118631A publication Critical patent/JP2022118631A/ja
Publication of JP2022118631A5 publication Critical patent/JP2022118631A5/ja
Application granted granted Critical
Publication of JP7452452B2 publication Critical patent/JP7452452B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric 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/02Electric 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】電子制御ユニットにおけるソフトウェア更新を改善可能なOTAマスタ等を提供する。【解決手段】本開示に係るOTAマスタは、ターゲット電子制御ユニットのソフトウェアの更新データをセンタから受信する受信部と、更新データを記憶する記憶部と、更新データに基づいてターゲット電子制御ユニットのソフトウェア更新処理を制御する制御部とを備え、制御部は、ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了するまで更新データを記憶部に保持させ、ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了した後に、記憶部から更新データを削除する。【選択図】図3

Description

本開示は、電子制御ユニットのソフトウェアの更新を制御するOTAマスタ、ソフトウェアの更新制御方法及びOTAマスタを備える車両に関する。
車両には、車両の動作を制御するための複数の電子制御ユニット(ECU)が搭載されている。ECUは、プロセッサと、RAMのような一時的な記憶部と、フラッシュROMのような不揮発性の記憶部とを備え、プロセッサが不揮発性の記憶部に記憶されるソフトウェアを実行することによりECUの制御機能を実現する。各ECUが記憶するソフトウェアは書き換え可能であり、より新しいバージョンのソフトウェアに更新することにより、各ECUの機能を改善したり、新たな車両制御機能を追加したりすることができる。
ECUのソフトウェアを更新する技術として、車載ネットワークに接続された車載通信機器とインターネット等の通信ネットワークとを無線で接続し、無線通信を介してサーバからソフトウェアをダウンロードし、ダウンロードしたソフトウェアをインストールすることによりECUのプログラム更新や追加を行うOTA(Over The Air)技術が知られている(例えば、特許文献1参照)。
また、ECUに搭載される不揮発性の記憶部の種類として、プログラム等のデータを格納するための1つのデータ格納領域を有するメモリ(シングルバンクメモリ)と、プログラム等のデータを格納するための2つのデータ格納領域を有するメモリ(デュアルバンクメモリ)とがあり、ECUの仕様等に応じて使い分けられる。
特開2004-326689号公報
更新対象のECUにおいて、ソフトウェアの更新が失敗した場合、ソフトウェア更新を再実行して速やかに更新を完了できることが求められる。しかしながら、ソフトウェア更新の再実行中に通信環境が悪化するなどして、ソフトウェア更新に長時間を要するケースが考えられる。特に、シングルバンクメモリを備えたECUの場合、ソフトウェア更新処理が途中で失敗すると、ECUを動作させることができず、緊急で車両を利用する必要が生じた場合に不都合が生じるため、改善の余地がある。
それ故に、本開示は、電子制御ユニットにおけるソフトウェア更新を改善可能なOTAマスタ等を提供することを目的とする。
本開示に係るOTAマスタは、ターゲット電子制御ユニットのソフトウェアの更新データをセンタから受信する受信部と、更新データを記憶する記憶部と、更新データに基づいてターゲット電子制御ユニットのソフトウェア更新処理を制御する制御部とを備え、制御部は、ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了するまで更新データを記憶部に保持させ、ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了した後に、記憶部から更新データを削除する。
本開示は、電子制御ユニットにおけるソフトウェア更新を改善可能なOTAマスタ等を提供できる。
実施形態に係るネットワークシステムの全体構成を示すブロック図 実施形態に係るOTAマスタの機能ブロック図 実施形態に係るOTAマスタが実行するソフトウェアの更新制御処理を示すフローチャート
図1は、実施形態に係るネットワークシステムの全体構成を示すブロック図である。
図1に示すネットワークシステムは、車両に搭載された電子制御ユニット13a~13dのソフトウェアを更新するためのシステムであり、サーバ1(センタ)と、車両に搭載される車載ネットワーク2とを備える。
サーバ1は、ネットワーク5を介して車両に搭載されたOTAマスタ11と通信可能であり、車両に搭載された電子制御ユニット13a~13dのソフトウェア更新を管理する。
サーバ1は、CPUと、RAMと、ハードディスクやSSD等の読み書き可能な記憶媒体を有する記憶装置と、ネットワーク5を介してOTAマスタ11と通信を行うための通信装置とを備える。記憶装置は、ソフトウェアの更新管理を実行するためのプログラムや、更新管理に用いる情報、電子制御ユニットの更新データを記憶する。サーバ1において、CPUは、記憶装置から読み出したプログラムを、RAMを作業領域として用いて実行することにより、OTAマスタ11への更新データの送信を制御する。
車載ネットワーク2は、OTAマスタ11と、通信モジュール12と、複数の電子制御ユニット(ECU)13a~13dと、表示装置14とを備える。OTAマスタ11は、バス15aを介して通信モジュール12と接続され、バス15bを介して電子制御ユニット13a及び13bと接続され、バス15cを介して電子制御ユニット13c及び13dと接続され、バス15dを介して表示装置14と接続されている。通信モジュール12は、車載ネットワーク2とサーバ1とを接続する通信機器である。
OTAマスタ11は、CPUと、RAMと、ROMと、記憶装置とを備えるマイクロコンピュータと、通信装置とを備える。OTAマスタ11において、マイクロコンピュータのCPUは、ROMまたは記憶装置から読み出したプログラムを、RAMを作業領域として用いて実行することにより、後述する制御処理を実行する。通信装置は、図1に示したバス15a~15dを介して、通信モジュール12、電子制御ユニット13a~13d、表示装置14と通信を行う機器である。OTAマスタ11は、通信モジュール12を介してサーバ1と無線での通信が可能である。OTAマスタ11は、サーバ1から取得した更新データに基づいて、電子制御ユニット13a~13dのうちの更新対象の電子制御ユニット(ターゲット電子制御ユニット)のソフトウェア更新を制御する。OTAマスタ11は、マスタ装置やセントラルゲートウェイと称される場合もある。
電子制御ユニット13a~13dは、車両に搭載されたアクチュエータやセンサ等の機器を制御する。表示装置14(HMI)は、電子制御ユニット13a~13dのソフトウェアの更新処理時に、更新データがあることの表示や、ユーザや管理者にソフトウェア更新に対する承諾を求めるための承諾要求画面の表示、更新結果の表示等の各種表示を行うために用いられる。表示装置14としては、典型的にはカーナビゲーションシステムの表示装置を用いることができるが、プログラムの更新処理時に必要な情報を表示可能なものであれば特に限定されない。尚、図1においては、4つの電子制御ユニット13a~13dを例示したが、電子制御ユニットの数は特に限定されない。また、図1に示すバス15dには、表示装置14以外の電子制御ユニットが更に接続されていても良い。
電子制御ユニット13a~13dは、CPUと、RAMと、不揮発性メモリ(ストレージ)と、通信装置とを備える。CPUは、不揮発性メモリから読み出したソフトウェア(プログラム)を、RAMを作業領域として用いて実行することにより、各電子制御ユニットの機能を実現する。ここで、電子制御ユニットには、ソフトウェアを格納するための1つのデータ格納領域(バンク)を有するものと、ソフトウェアを格納するための2つのデータ格納領域(バンク)を有するものとがある。電子制御ユニットのデータ格納領域には、電子制御ユニットの機能を実現するためのソフトウェアの他に、バージョン情報やパラメータデータ、起動用のブートプログラム、ソフトウェア更新用のプログラム等が格納される場合がある。1つのデータ格納領域(シングルバンクメモリ)を持つ電子制御ユニットにおいては、データ格納領域に更新データをインストールすることにより、電子制御ユニットのソフトウェアに影響が生じる。一方、2つのデータ格納領域(デュアルバンクメモリ)を持つ電子ユニットにおいては、2つのデータ格納領域のうち、いずれか一方を読み出し対象の格納領域(運用面)とし、読み出し対象の格納領域に格納されるソフトウェアを実行する。読み出し対象でない他方の格納領域(非運用面)には、読み出し対象の格納領域(運用面)のプログラムの実行中に、バックグラウンドで更新データを書き込み可能である。ソフトウェア更新処理におけるアクティベート時には、CPU41によるプログラムの読み出し対象の格納領域を切り替えることにより、更新版のソフトウェアを有効化することができる。
尚、本開示において、2つのデータ格納領域を有する電子制御ユニットには、不揮発性メモリが有する1面のデータ格納領域を擬似的に2面に区画し、一方の面のプログラムを実行中に他方の面にプログラムを書き込み可能にした「1面サスペンドメモリ」と呼ばれる構成のメモリを備えた電子制御ユニットと、1面のデータ格納領域を有する不揮発性メモリに加え、1面のデータ格納領域を有する拡張不揮発性メモリを備え、これら2つの不揮発性メモリを運用面及び非運用面として使用可能な電子制御ユニットとを含む。
ここで、ソフトウェアの更新処理は、サーバ1から更新データをダウンロードするフェーズと、ダウンロードした更新データを更新対象の電子制御ユニットに転送し、更新対象の電子制御ユニットの記憶領域に更新データをインストールするフェーズと、更新対象の電子制御ユニットにおいてインストールした更新版のソフトウェアを有効化するアクティベートのフェーズとからなる。
ダウンロードは、電子制御ユニットのソフトウェアを更新するための更新データをサーバ1から受信して記憶する処理である。ダウンロードのフェーズでは、更新データの受信だけでなく、ダウンロードの実行可否判断、更新データの検証等、ダウンロードに関する一連の処理の制御を含む。インストールは、ダウンロードした更新データに基づいて、更新対象の電子制御ユニットに車載機器の記憶部に更新版のプログラム(更新ソフトウェア)を書き込む処理である。インストールのフェーズでは、インストール実行だけでなく、インストールの実行可否判断、更新データの転送および更新版のプログラムの検証等、インストールに関する一連の処理の制御を含む。アクティベートは、インストールした更新版のプログラムを有効化(アクティベート)する処理である。アクティベートする制御は、アクティベート実行だけでなく、アクティベートの実行可否判断、実行結果の検証等、アクティベートに関する一連の制御を含む。
サーバ1からOTAマスタ11に送信される更新データは、電子制御ユニットの更新ソフトウェア、更新ソフトウェアを圧縮した圧縮データ、更新ソフトウェアまたは圧縮データを分割した分割データのいずれを含んでいても良い。また、更新データは、更新対象の電子制御ユニットを識別する識別子(ECU ID)と、更新前のソフトウェアを識別する識別子(ECU ソフトウェア ID)を含んでいても良い。更新データは、上述した配信パッケージとしてダウンロードされるが、配信パッケージには、単一または複数の電子制御ユニットの更新データが含まれる。
更新データが更新ソフトウェアそのものを含む場合は、インストールのフェーズにおいて、ソフトウェア更新装置が更新データ(更新ソフトウェア)を更新対象の電子制御ユニットに転送する。また、更新データが更新ソフトウェアの圧縮データ、差分データあるいは分割データを含む場合、OTAマスタ11が更新対象の電子制御ユニットに更新データを転送し、更新対象の電子制御ユニットが更新データから更新ソフトウェアを生成しても良いし、OTAマスタ11が更新データから更新ソフトウェアを生成してから、更新ソフトウェアを更新対象の電子制御ユニットに転送しても良い。ここで、更新ソフトウェアの生成は、圧縮データの解凍、差分データまたは分割データの組み付けにより行うことができる。
更新ソフトウェアのインストールは、OTAマスタ11からのインストール要求に基づき、更新対象の電子制御ユニットが行うことができる。あるいは、更新データを受信した更新対象の電子制御ユニットが、OTAマスタ11からの明示の指示を受けることなく、自律的にインストールを行っても良い。
更新ソフトウェアのアクティベートは、OTAマスタ11からのアクティベート要求に基づき、更新対象の電子制御ユニットが行うことができる。あるいは、更新データを受信した更新対象の電子制御ユニットが、OTAマスタ11からの明示の指示を受けることなく、自律的にアクティベートを行っても良い。
尚、ソフトウェアの更新処理は、複数の電子制御ユニットのそれぞれに対して、連続的あるいは並列的に行うことができる。
また、本明細書における「プログラム更新処理」は、ダウンロード・インストール・アクティベートの全てを連続して行う処理だけでなく、ダウンロード・インストール・アクティベートの一部のみを行う処理も含む。
図2は、実施形態に係るOTAマスタの機能ブロック図である。
OTAマスタ11は、送信部21と、受信部22と、記憶部23と、制御部24とを備える。
送信部21は、例えば、車両の電源またはイグニッションがオンされたことを契機として、ソフトウェアの更新データがあるか否かを確認するための更新確認要求をサーバ1に送信する。更新確認要求は、車両を識別するための車両ID(VIN)と、車載ネットワーク2に接続される電子制御ユニット13a~13dのソフトウェアのバージョンとを含む。車両ID及び電子制御ユニット13a~13dのソフトウェアのバージョンは、サーバ1が車両ID毎または車両IDで特定される車種毎に保持する最新のソフトウェアのバージョンとの比較により、電子制御ユニット13a~13dのソフトウェアの更新データがあるか否かを判定するために用いられる。また、送信部21は、更新確認要求に対する応答に基づき、電子制御ユニット13a~13dのいずれかのソフトウェアの更新データがあると判定される場合、更新データのダウンロード要求をサーバ1に送信する。
受信部22は、更新確認要求に対する応答としてサーバ1から更新データの有無を示す確認結果を受信する。また、受信部22は、送信部21がダウンロード要求をサーバ1に送信した後、更新対象の電子制御ユニット(ターゲット電子制御ユニット)のソフトウェアの更新データをサーバ1から受信する。更新データは、配信パッケージとしてサーバ1から送信される。配信パッケージは、更新データの他に、更新データの真正性を検証するための検証用データや、更新データの数、インストール順、ソフトウェア更新時に用いる各種制御情報等を含んでいても良い。受信部22は、受信した配信パッケージを記憶部23に格納する。
記憶部23は、受信部22が受信した配信パッケージを記憶する。記憶部23は、OTAによるソフトウェア更新時に更新データ(配信パッケージ)だけでなく、OTAマスタ11が実行する他の制御機能に関するデータの格納にも使用され得る。
制御部24は、受信部22がサーバ1から受信した、更新確認要求に対する確認結果に基づいて、電子制御ユニットのソフトウェアの更新データの有無を判定する。受信部22がサーバ1から更新データを含む配信パッケージを受信すると、制御部24は、受信した配信パッケージの真正性を検証する。ここで、真正性の検証とは、データの完全性と正当性を確認することをいう。真正性の検証は、例えば、車両ID(VIN)とデジタル署名を用いて行うことができる。また、制御部24は、ターゲット電子制御ユニットのソフトウェア更新処理を制御する。制御部24が実行するソフトウェア更新処理の詳細は後述する。
図3は、実施形態に係るOTAマスタが実行するソフトウェアの更新制御処理を示すフローチャートである。図3に示す制御処理は、例えば、車両の電源またはイグニッションがオンされたことを契機として実行される。
ステップS11において、送信部21は、電子制御ユニットのソフトウェアの更新データがあるか否かの確認要求をサーバ1に送信する。更新データの確認要求は、車両IDと電子制御ユニットのソフトウェアのバージョンの組み合わせとを含む。その後、処理はステップS12に進む。
ステップS12において、受信部22は、サーバ1から更新データの確認要求に対する確認結果を受信する。その後、処理はステップS13に進む。
ステップS13において、制御部24は、ステップS12で受信した確認結果に基づいて、電子制御ユニット13a~13dのいずれかのソフトウェアの更新データがあるか否かを判定する。ステップS13の判定がYESの場合、処理はステップS14に進み、それ以外の場合、処理を終了する。
ステップS14において、更新データのダウンロードを行う。より詳細には、送信部21がサーバ1に配信パッケージのダウンロード要求を送信し、受信部22がダウンロード要求に応答して送信される配信パッケージを受信する。受信部22は、受信した配信パッケージを記憶部23に格納する。制御部24は、受信した配信パッケージに含まれる更新データの真正性を検証する。尚、ステップS14において、制御部24は、ダウンロード前にダウンロードの実行可否の判定を行っても良い。また、ステップS14において、ダウンロード完了後に、送信部21がサーバ1に対してダウンロードが完了したことの通知を送信しても良い。その後、処理はステップS15に進む。
ステップS15において、制御部24は、ターゲット電子制御ユニットに対してインストール処理及びアクティベート処理を実行する。より詳細には、制御部24は、ターゲット電子制御ユニットに配信パッケージに含まれる更新データを転送し、インストールを指示する。ターゲット電子制御ユニットは、OTAマスタ11から受信した更新データをデータ格納領域に書き込む。次に、制御部24は、ターゲット電子制御ユニットに対して、更新版のソフトウェアのアクティベートを指示する。ターゲット電子制御ユニットは、電源またはイグニッションOFFにより等の特定の操作が行われたことを契機として、再起動し、更新後のソフトウェアを実行する。その後、処理はステップS16に進む。
尚、ターゲット電子制御ユニットがシングルバンクメモリを備える場合、データ格納領域に更新データをインストールした時点で電子制御ユニットのソフトウェアに影響が及ぶため、インストール及びアクティベートを連続して行うことが好ましい。また、この場合、ターゲット電子制御ユニットが1つのデータ格納領域を持つ構成である場合、インストール実行前にインストール及びアクティベートに対する承諾要求処理を行い、アクティベート実行前の承諾要求処理を省略しても良い。
また、インストールの実行前に、制御部24は、インストールの実行可否の判定処理や、インストールに対する承諾要求処理を実行することが好ましい。インストールに対する承諾要求処理として、制御部24は、例えば、電子制御ユニットのソフトウェア更新を開始する旨の表示と、ソフトウェア更新に対するユーザの承諾を要求する旨の表示と、必要に応じて、更新データのインストールに要する時間や、インストール中の制限事項や注意事項の表示を表示装置14に表示させ、タッチパネルや操作ボタン等の入力手段を用いたユーザによる操作入力を受け付ける。その後、制御部24は、ソフトウェア更新(インストール)を承諾する旨の操作入力が行われた否かを判定する。インストールを承諾する旨の操作入力は、例えば、表示装置14に表示された「承諾する」あるいは「更新を開始する」等のボタンが押下されたか否かに基づいて判定することができる。また、ユーザがソフトウェアの更新開始(インストール)をすぐに承諾せず、後でソフトウェアの更新開始(インストール)を行うことを希望する場合は、「後で行う」等のボタンを押下することによりその旨を受け付けることができる。
同様に、アクティベートの実行前に、制御部24は、アクティベートの実行可否の判定処理や、アクティベートに対する承諾要求処理を実行することが好ましい。インストールに対する承諾要求処理として、制御部24は、例えば、電子制御ユニットのソフトウェア更新の準備が整い、電源またはイグニッションOFF等の特定の操作を行うことによりプログラムが更新される旨の表示と、必要に応じて、アクティベートに要する時間や、アクティベート中の制限事項や注意事項の表示を表示装置14に表示させ、タッチパネルや操作ボタン等の入力手段を用いたユーザによる操作入力を受け付ける。その後、制御部24は、ソフトウェア更新(アクティベート)を承諾する旨の操作入力が行われたか否かを判定する。アクティベートを承諾する旨の操作入力は、例えば、表示装置14に表示された「承諾する」あるいは「更新する」等のボタンが押下されたか否かに基づいて判定することができる。また、ユーザがソフトウェア更新(アクティベート)をすぐに承諾せず、後でソフトウェア更新を行うことを希望する場合は、「後で行う」等のボタンを押下することによりその旨を受け付けることができる。
ステップS16において、制御部24は、ターゲット電子制御ユニットにおけるソフトウェア更新処理が正常に完了したか否かを判定する。制御部24は、ステップS16の判定を、ターゲット電子制御ユニットからの通知に基づいて行う。例えば、制御部24は、ターゲット電子制御ユニットから更新後のソフトウェアのアクティベートに成功したことの通知と、ターゲットECUにおいてアクティベート後のソフトウェアの識別情報とを取得し、取得した情報に基づいて適切なソフトウェアにアップデートされていることを確認した場合に、ターゲット電子制御ユニットにおけるソフトウェア更新処理が正常に完了したと判定する。ステップS16の判定がYESの場合、処理はステップS17に進み、それ以外の場合、処理はステップS18に進む。
ステップS17において、制御部24は、記憶部23に記憶されている更新データを削除する。制御部24は、更新対象の電子制御ユニット毎に対応する更新データを逐次削除しても良いし、更新対象の全ての電子制御ユニットにおいてソフトウェア更新処理が正常に完了したときに、配信パッケージ全体を削除しても良い。その後、処理を終了する。
ステップ18において、制御部24は、ソフトウェア更新処理が正常に完了しなかったターゲット電子ユニットに対して、インストール処理及びアクティベート処理を再実行する。制御部24は、ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了しなかった場合、ターゲット電子制御ユニットのソフトウェアの更新データを削除せずに記憶部23に保持させる。したがって、ターゲット電子制御ユニットのソフトウェアの更新データを再度サーバ1からダウンロードすることなく、記憶部23に保持される更新データに基づいて、速やかにソフトウェア更新処理をリトライすることができる。
ステップS18において、ステップS15の処理と同様に、制御部24は、ターゲット電子制御ユニットに配信パッケージに含まれる更新データを転送し、インストールを指示する。ターゲット電子制御ユニットは、OTAマスタ11から受信した更新データをデータ格納領域に書き込む。次に、制御部24は、ターゲット電子制御ユニットに対して、更新版のソフトウェアのアクティベートを指示する。ターゲット電子制御ユニットは、電源またはイグニッションOFFにより等の特定の操作が行われたことを契機として、再起動し、更新後のソフトウェアを実行する。その後、処理はステップS19に進む。
ステップS19において、制御部24は、ターゲット電子制御ユニットにおけるソフトウェア更新処理が正常に完了したか否かを判定する。制御部24は、ステップS16と同様に、ターゲット電子制御ユニットから更新後のソフトウェアのアクティベートに成功したことの通知と、ターゲットECUにおいてアクティベート後のソフトウェアの識別情報とを取得する。制御部24は、取得した情報に基づいて適切なソフトウェアにアップデートされていることを確認した場合に、ターゲット電子制御ユニットにおけるソフトウェア更新処理が正常に完了したと判定する。ステップS19の判定がYESの場合、処理はステップS17に進み、それ以外の場合、処理はステップS20に進む。
ステップS20において、制御部24は、エラー処理を行う。エラー処理として、制御部24は、例えば、ターゲット電子制御ユニットのソフトウェアのロールバック処理、電子制御ユニットのソフトウェア更新が失敗したことの通知、販売店や整備工場での対応を促す通知のいずれかを行うことが好ましい。その後、処理を終了する。
図3に示した例においては、インストール処理及びアクティベート処理を1回再実行し(S18)、ソフトウェア更新が正常に完了しなかった場合(S19でNO)、エラー処理を行っているが(S20)、S18及びS19の処理を複数回繰り返し実行しても良い。
以上説明したように、本実施形態に係るOTAマスタ11は、ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了するまで更新データを記憶部23に保持し、ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了した後に、記憶部23から更新データを削除する。したがって、ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了しなかった場合に記憶部23に保持される更新データを再利用することができる。
また、本実施形態では、ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了しなかった場合、制御部24が記憶部23に保持される更新データに基づいてソフトウェア更新処理を再実行する。この制御により、通信状況にかかわらず、速やかにターゲット電子制御ユニットの更新を図ることができる、
ターゲット電子制御ユニットのメモリは、シングルバンクメモリ及びデュアルバンクメモリのいずれであっても良いが、本実施形態に係るOTAマスタ11は、ターゲット電子制御ユニットがシングルバンクメモリを備える場合に特に有効である。ターゲット電子制御ユニットのメモリがデュアルバンクメモリである場合、仮にソフトウェア更新が失敗したとしても、更新前のソフトウェアを用いて電子制御ユニットを動作させることが可能である。これに対して、ターゲット電子制御ユニットのメモリがシングルバンクメモリである場合、更新版のソフトウェアのインストールにより更新前のソフトウェアが書き換えられるため、ソフトウェアの更新処理が失敗した場合は、更新前のソフトウェアを用いて電子制御ユニットを動作させることができない。すなわち、シングルバンクメモリのターゲット電子制御ユニットのソフトウェアの更新に失敗した場合は、可能な限り早くソフトウェアの更新処理をリトライできることが好ましい。本実施形態に係るOTAマスタ11は、ターゲット電子制御ユニットのソフトウェア更新が失敗した場合、記憶部23に保持する更新データを用いて、最短でソフトウェアの更新処理を再実行できるので、速やかに復旧を図ることができる。
上述したように、デュアルバンクメモリを有する電子制御ユニットのソフトウェア更新が失敗した場合は、更新前のソフトウェアにより電子制御ユニットを継続して動作させることができる。そこで、ターゲット電子制御ユニットがデュアルバンクメモリを備える場合、制御部24は、インストール処理において、ターゲット電子制御ユニットに対する更新データの転送が完了した後に、更新データを記憶部23から削除しても良い。制御部24は、シングルバンクメモリのターゲット電子制御ユニットの更新データは、ソフトウェアの更新処理が正常に完了するまで記憶部23に保持させる。更新前のソフトウェアで動作可能なデュアルバンクのターゲット電子制御ユニットのソフトウェアの更新データを削除することにより、OTAマスタ11の記憶部23の記憶容量を確保し、他の制御処理への影響を低減することができる。
(その他の変形例)
上記の実施形態で示したOTAマスタ11の機能は、プロセッサ(CPU)とメモリと記憶装置とを備える車載のコンピュータが実行するソフトウェアの更新制御方法、あるいは、当該コンピュータに実行させるソフトウェアの更新制御プログラム、更新制御プログラムを記憶したコンピュータ読み取り可能な非一時的記憶媒体として実現することも可能である。また、上記の実施形態で示したOTAマスタ11の機能は、ソフトウェアの更新制御方法を実装したマイクロコンピュータ、あるいは、記憶装置に更新制御プログラムがインストールされたマイクロコンピュータとして実現することも可能である。
上記の各実施形態では、車両側において、車載ネットワークに設けられたOTAマスタ11が、全ての電子制御ユニット13a~13dのプログラム更新を制御する例を説明したが、OTAマスタ11を設ける代わりに、電子制御ユニット13a~13dのいずれか1つが図3に示した更新制御機能を有しており、他の電子制御ユニットのソフトウェア更新を制御しても良い。また、OTAマスタ11を設ける代わりに、図3に示した更新制御機能を、車載ネットワーク2に有線で接続可能な外部機器に設け、この外部機器を用いて電子制御ユニット13a~13dのプログラム更新処理を行うことも可能である。
本開示技術は、電子制御ユニットのプログラムを更新するためのネットワークシステムに利用できる。
11 OTAマスタ
13a~13d 電子制御ユニットの
21 送信部
22 受信部
23 記憶部
24 制御部

Claims (7)

  1. ターゲット電子制御ユニットのソフトウェアの更新データをセンタから受信する受信部と、
    前記更新データを記憶する記憶部と、
    前記更新データに基づいて前記ターゲット電子制御ユニットのソフトウェア更新処理を制御する制御部とを備え、
    前記制御部は、前記ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了するまで前記更新データを記憶部に保持させ、前記ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了した後に、前記記憶部から前記更新データを削除する、OTAマスタ。
  2. 前記制御部は、前記ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了しない場合、前記記憶部に保持される前記更新データに基づいて、前記ターゲット電子制御ユニットのソフトウェア更新を再実行する、請求項1に記載のOTAマスタ。
  3. 前記ターゲット電子制御ユニットがシングルバンクメモリを備える、請求項1または2に記載のOTAマスタ。
  4. 前記制御部は、前記ソフトウェア更新処理において、前記更新データを前記ターゲット電子制御ユニットに転送した後、シングルバンクメモリを備えるターゲット電子制御ユニットの更新データを前記記憶部に保持させ、デュアルバンクメモリを備えるターゲット電子制御ユニットの更新データを前記記憶部から削除する、請求項1に記載のOTAマスタ。
  5. プロセッサと、メモリと、記憶装置とを備えるコンピュータが実行するソフトウェアの更新制御方法であって、
    ターゲット電子制御ユニットのソフトウェアの更新データをセンタから受信するステップと、
    前記更新データを記憶するステップと、
    前記更新データに基づいて前記ターゲット電子制御ユニットのソフトウェア更新処理を制御するステップと、
    前記ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了するまで前記更新データを保持し、前記ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了した後に、前記記憶部から前記更新データを削除するステップとを含む、更新制御方法。
  6. プロセッサと、メモリと、記憶装置とを備えるコンピュータが実行するソフトウェアの更新制御プログラムであって、前記コンピュータに、
    ターゲット電子制御ユニットのソフトウェアの更新データをセンタから受信するステップと、
    前記更新データを記憶するステップと、
    前記更新データに基づいて前記ターゲット電子制御ユニットのソフトウェア更新処理を制御するステップと、
    前記ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了するまで前記更新データを保持し、前記ターゲット電子制御ユニットのソフトウェア更新処理が正常に完了した後に、前記記憶部から前記更新データを削除するステップとを実行させる、更新制御プログラム。
  7. 請求項1~4のいずれかに記載のOTAマスタを備える、車両。
JP2021015293A 2021-02-02 2021-02-02 Otaマスタ、ソフトウェアの更新制御方法及び更新制御プログラム、otaマスタを備える車両 Active JP7452452B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2021015293A JP7452452B2 (ja) 2021-02-02 2021-02-02 Otaマスタ、ソフトウェアの更新制御方法及び更新制御プログラム、otaマスタを備える車両
KR1020210163998A KR102669611B1 (ko) 2021-02-02 2021-11-25 Ota 마스터, 갱신 제어 방법, 비일시적인 기억 매체, 및 차량
CN202111420796.2A CN114844874A (zh) 2021-02-02 2021-11-26 Ota管理器、更新控制方法、非暂时性存储介质及车辆
EP21211411.0A EP4036712A1 (en) 2021-02-02 2021-11-30 Ota master, update control method, non-transitory storage medium, and vehicle
US17/541,991 US20220244946A1 (en) 2021-02-02 2021-12-03 Ota master, update control method, non-transitory storage medium, and vehicle
BR102022000011-5A BR102022000011A2 (pt) 2021-02-02 2022-01-03 Ota mestre, método de controle de atualização, meio de armazenamento não transitório, e veículo

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021015293A JP7452452B2 (ja) 2021-02-02 2021-02-02 Otaマスタ、ソフトウェアの更新制御方法及び更新制御プログラム、otaマスタを備える車両

Publications (3)

Publication Number Publication Date
JP2022118631A true JP2022118631A (ja) 2022-08-15
JP2022118631A5 JP2022118631A5 (ja) 2023-01-05
JP7452452B2 JP7452452B2 (ja) 2024-03-19

Family

ID=78820142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021015293A Active JP7452452B2 (ja) 2021-02-02 2021-02-02 Otaマスタ、ソフトウェアの更新制御方法及び更新制御プログラム、otaマスタを備える車両

Country Status (5)

Country Link
US (1) US20220244946A1 (ja)
EP (1) EP4036712A1 (ja)
JP (1) JP7452452B2 (ja)
CN (1) CN114844874A (ja)
BR (1) BR102022000011A2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886860B2 (en) * 2021-09-27 2024-01-30 Red Hat, Inc. Distribution of digital content to vehicles

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532152B1 (en) * 1998-11-16 2003-03-11 Intermec Ip Corp. Ruggedized hand held computer
JP2004326689A (ja) 2003-04-28 2004-11-18 Nissan Motor Co Ltd 車載機器のソフトウェア書き換え方法、テレマティクスシステムおよびテレマティクス装置
US8472920B2 (en) * 2009-01-22 2013-06-25 Belair Networks Inc. System and method for providing wireless networks as a service
US9015837B1 (en) * 2011-09-29 2015-04-21 Google Inc. Systems and methods for verifying an update to data of an electronic device
US10114634B2 (en) * 2016-01-22 2018-10-30 2236008 Ontario Inc. Updating a controller unit in a vehicle
US20170242678A1 (en) * 2016-02-19 2017-08-24 Ford Global Technologies, Llc Method and apparatus for vehicle software update installation
JP6696468B2 (ja) * 2016-08-30 2020-05-20 株式会社オートネットワーク技術研究所 車載更新装置及び車載更新システム
EP3575954B1 (en) * 2017-01-25 2023-08-02 Hitachi Astemo, Ltd. Vehicle control device and program updating system
KR102249599B1 (ko) * 2017-03-21 2021-05-07 현대자동차 주식회사 차량 모듈의 소프트웨어 업데이트 정보 제공 서버 및 방법
DE102017218872A1 (de) 2017-10-23 2019-04-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Aktualisieren von Software eines Kfz-Steuergerätes
US10642602B2 (en) 2017-12-12 2020-05-05 Nxp Usa, Inc. NVM architecture with OTA support
JP7115429B2 (ja) * 2018-08-10 2022-08-09 株式会社デンソー 車両用マスタ装置、ロールバックの実行制御方法及びロールバックの実行制御プログラム
JP6832374B2 (ja) 2019-02-22 2021-02-24 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
JP7111030B2 (ja) * 2019-03-04 2022-08-02 株式会社オートネットワーク技術研究所 車載更新装置、更新処理プログラム及び、プログラムの更新方法
JP6780724B2 (ja) 2019-03-18 2020-11-04 株式会社オートネットワーク技術研究所 車載更新装置、更新処理プログラム及び、プログラムの更新方法
JP7177755B2 (ja) * 2019-07-24 2022-11-24 株式会社日立製作所 サーバ、ソフトウェア更新システム、およびソフトウェア更新装置
JP7395962B2 (ja) * 2019-10-31 2023-12-12 株式会社リコー 情報処理装置、更新制御方法、更新制御プログラム、及び情報処理システム
KR20210151498A (ko) * 2020-06-05 2021-12-14 현대자동차주식회사 차량 업데이트 시스템 및 방법

Also Published As

Publication number Publication date
US20220244946A1 (en) 2022-08-04
CN114844874A (zh) 2022-08-02
EP4036712A1 (en) 2022-08-03
JP7452452B2 (ja) 2024-03-19
KR20220111648A (ko) 2022-08-09
BR102022000011A2 (pt) 2022-08-16

Similar Documents

Publication Publication Date Title
US20230359454A1 (en) Software update device, update control method, and non-transitory storage medium
US11853742B2 (en) Server, software update system, distribution method, and non-transitory storage medium
JP7452452B2 (ja) Otaマスタ、ソフトウェアの更新制御方法及び更新制御プログラム、otaマスタを備える車両
US20220391192A1 (en) Ota master, center, system, method, non-transitory storage medium, and vehicle
EP3945417A1 (en) Software update device, update control method, non-transitory storage medium, and server
KR102669611B1 (ko) Ota 마스터, 갱신 제어 방법, 비일시적인 기억 매체, 및 차량
CN115454462A (zh) Ota管理器、系统、方法、非暂时性存储介质以及车辆
US11995429B2 (en) Software update device, update control method, non-transitory storage medium, and server
US20220405083A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US20220391193A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
JP7380468B2 (ja) ソフトウェア更新装置、更新制御方法、更新制御プログラム、サーバ、otaマスタ及びセンタ
US20230032451A1 (en) Center, method, and non-transitory storage medium
US11954480B2 (en) Center, OTA master, system, method, non-transitory storage medium, and vehicle
US20220342653A1 (en) Ota master, center, system, update method, non-transitory storage medium, and vehicle
JP2022109039A (ja) センタ、更新管理方法及び更新管理プログラム
JP2023001993A (ja) Otaマスタ、システム、方法、プログラム、及び車両
JP2023012131A (ja) ソフトウェアの更新を行うシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240219

R151 Written notification of patent or utility model registration

Ref document number: 7452452

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151