JP2022015169A - ソフトウェア更新装置、方法、プログラムおよび車両 - Google Patents

ソフトウェア更新装置、方法、プログラムおよび車両 Download PDF

Info

Publication number
JP2022015169A
JP2022015169A JP2020117848A JP2020117848A JP2022015169A JP 2022015169 A JP2022015169 A JP 2022015169A JP 2020117848 A JP2020117848 A JP 2020117848A JP 2020117848 A JP2020117848 A JP 2020117848A JP 2022015169 A JP2022015169 A JP 2022015169A
Authority
JP
Japan
Prior art keywords
software
update
electronic control
control unit
combination
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
JP2020117848A
Other languages
English (en)
Other versions
JP7367626B2 (ja
Inventor
賢 福與
Satoru Fukuyo
智康 石川
Tomoyasu Ishikawa
雄介 佐藤
Yusuke Sato
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
Priority to JP2020117848A priority Critical patent/JP7367626B2/ja
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to EP21184046.7A priority patent/EP3937008B1/en
Priority to US17/367,972 priority patent/US11720349B2/en
Priority to EP23151114.8A priority patent/EP4184316A1/en
Priority to CN202110763433.2A priority patent/CN113918178A/zh
Publication of JP2022015169A publication Critical patent/JP2022015169A/ja
Priority to US18/142,290 priority patent/US20230297368A1/en
Priority to JP2023172228A priority patent/JP2023168511A/ja
Application granted granted Critical
Publication of JP7367626B2 publication Critical patent/JP7367626B2/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/61Installation
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/453Data distribution
    • G06F8/454Consistency
    • 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/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Figure 2022015169000001
【課題】車載機器のプログラム更新において、複数の車載機器のプログラム全体のバージョンの整合が取れ、動作保証された状態に遷移させることができるソフトウェア更新装置を提供する。
【解決手段】ソフトウェア更新装置は、センタに更新データのダウンロードを要求する通信部と、ダウンロードした更新データを保存する記憶部と、更新データに基づいて、車載ネットワークを介して接続する複数の電子制御ユニットのうち1つ以上のターゲット電子制御ユニットに更新ソフトウェアをインストールあるいはインストールおよびアクティベートする制御を実行する制御部とを備え、制御部は、複数の電子制御ユニットのソフトウェアバージョンを取得し、取得したソフトウェアバージョンの組み合わせに整合性があるか否かを判定し、整合性がないと判定した場合、ソフトウェアバージョンの組み合わせに整合性を得るための処理を行う。
【選択図】図2

Description

本開示は、車両に搭載される車載機器のプログラムを更新するソフトウェア更新装置に関する。
車両には、複数のECU(Electronic Control Unit:電子制御ユニット)と呼ばれる車載機器が通信線を介して互いに接続されて構成されたネットワークシステムが搭載されている。各車載機器は、互いにメッセージを送受信して、車両の各機能を分担して実行する。
車載機器は、典型的にはプロセッサと、RAMのような一時的な記憶部やフラッシュROMのような不揮発性の記憶部とを備えている。プロセッサが実行するプログラム(ソフトウェア)は、不揮発性の記憶部に記憶される。プログラムをより新しいバージョンに書き変えて更新することにより、車載機器の機能の向上、改善を図ることができる。
プログラムの更新には、外部装置(センタ)から無線通信等により更新データを受信するダウンロード、ダウンロードした更新データに基づいて更新プログラム(更新ソフトウェア)を車載機器の記憶部に書き込むインストールのステップがある。インストールには、車載機器の仕様に応じて、ダウンロードした更新プログラムを、記憶部の記憶領域のうち、プログラム記憶用の領域として定められた1つの領域(1面:シングルバンク)に、現在のプログラム(旧プログラム)を上書きして書き込む上書きインストールと、プログラム記憶用の領域として定められた2つの領域(2面:デュアルバンク)のうち、現在のプログラム(旧プログラム)が記憶された領域(一方の面)でないほうの領域(他面)に書き込む他面インストールとがある。
他面インストールの場合は、プログラム更新のステップには、ダウンロード、インストールの各ステップに加えて、インストールした更新プログラムを実行バージョンとするよう、更新プログラムの開始アドレス等の設定値をコンフィグレーションするアクティベートのステップがある。
ECUのプログラム更新に関連して、特許文献1は、ECUのプログラムを、サーバーから送信されたバージョンアッププログラムで更新するシステムを開示している。特許文献1のシステムでは、ECUのプログラムを更新する際、更新後のプログラムのバージョンが他のECUのプログラムのバージョンと整合性が取れることを確認し、更新によるバージョン不整合を抑制する。
特許文献2は、各ECUがプログラムのバックアップ領域を備え、バージョンアッププログラムへの更新を行う前に、現プログラムを旧プログラムとしてバックアップ領域に保存し、バージョンアッププログラムへの更新後にECUに動作不良が発生した場合にはバックアップ領域に保存した旧プログラムを使用することにより、ECUを正常に動作していた更新前の状態に戻すことを開示している。
特開2009-53920号公報 特開2016-16835号公報
ネットワークシステムが正常に機能するためには複数のECUのプログラムのバージョンの組み合わせが、予め動作保証された組み合わせ(整合が取れた組み合わせ)であることが必要である。したがって、プログラム更新に失敗した場合や、ユーザーがダウングレードを望んだ場合に、特定のECUのプログラムのみを旧バージョンに戻すだけでなく、複数の車載機器のプログラム全体のバージョンの整合が取れ、動作保証された状態に遷移させることが望まれる。
本開示は、上記課題を鑑みてなされたものであり、車載機器のプログラム更新において、複数の車載機器のプログラム全体のバージョンの整合が取れ、動作保証された状態に遷移させることができるソフトウェア更新装置を提供することを目的とする。
上記課題を解決するために、本開示技術の一局面は、センタに更新データのダウンロードを要求する通信部と、ダウンロードした更新データを保存する記憶部と、更新データに基づいて、車載ネットワークを介して接続する複数の電子制御ユニットのうち1つ以上のターゲット電子制御ユニットに更新ソフトウェアをインストールする制御を実行し、ターゲット電子制御ユニットにおいてインストールされた更新ソフトウェアをアクティベートする制御を実行する制御部とを備え、制御部は、複数の電子制御ユニットのソフトウェアバージョンを取得し、取得したソフトウェアバージョンの組み合わせに整合性があるか否かを判定し、整合性がないと判定した場合、ソフトウェアバージョンの組み合わせに整合性を得るための処理を行う、ソフトウェア更新装置である。
本開示技術によれば、ソフトウェア更新装置は、車載機器のプログラム更新において、複数の車載機器のプログラムのバージョンの組み合わせに対して整合性を確認するので、複数の車載機器のプログラム全体のバージョンの整合が取れ、ネットワークシステムの動作保証がされた状態に遷移させることができる。
一実施形態に係るネットワークシステムの構成図 一実施形態に係る処理を示すフローチャート
(実施形態)
<構成>
図1に、本実施形態に係るネットワークシステム1の構成例を示す。ネットワークシステム1は、車両に搭載される。ネットワークシステム1は、ソフトウェア更新装置50を含む。ソフトウェア更新装置(OTAマスタ)50には、複数のバス10、20、30…が接続されている。複数の車載機器(電子制御ユニット)11、12…が、バス10に接続されている。複数の車載機器21、22…が、バス20に接続されている。複数のアクチュエータ31、32…が、バス30に接続されている。図1および以降の説明においては、バスとして、バス10、20、30を例示し、車載機器として、車載機器11、12、21、22を例示し、アクチュエータ31、32を例示するがバスや車載機器、アクチュエータの数は限定されない。
ソフトウェア更新装置50は、車外に設置された外部装置100(センタ)と通信可能な通信部(通信モジュール)51、外部装置100から提供される更新データに基づいて各車載機器11、12、21、22のプログラムの更新を制御する制御部52を含む。ソフトウェア更新装置50は、典型的にはフラッシュROMのような不揮発性の記憶部(ストレージ)53と、不揮発性の記憶部からプログラムを読み出して実行することで各種処理を行うプロセッサと、プログラムの一部やデータを記憶するRAMのような一時的な記憶部とを含むコンピューターである。ソフトウェア更新装置50は、また、各バス10、20、30を介して、外部装置100と各車載機器11、12、21、22との間の通信、各車載機器11、12、21、22間の通信、各車載機器11、12、21、22と各アクチュエータ31、32との間の通信の制御や中継を行う。このように、ソフトウェア更新装置50は、通信を中継する中継装置としても機能する。
各車載機器11、12、21、22は、互いに通信を行い、車両の制御のための各種処理を行う。これらの車載機器は、更新装置同様、典型的には記憶部(ストレージ)とプロセッサとを備えるコンピューターである。
アクチュエータ31、32は、ブレーキ、エンジン、あるいはパワーステアリング装置のような車両やその部品に対して力学的な作用を発生させる機器であり、車載機器11、12、21、22からの指示に基づいて動作する。
ソフトウェア更新装置50の制御部52は、車載機器11、12、21、22のそれぞれの記憶部が記憶しているプログラムを更新することができる。すなわち、ソフトウェア更新装置50は、ダウンロードする制御、インストールする制御、あるいはさらにアクティベートする制御を行う。ダウンロードは、外部装置100から送信された車載機器11、12、21、22のいずれかのプログラムを更新するための更新データ(配信パッケージ)を受信して記憶する処理である。ダウンロードする制御は、ダウンロード実行だけでなく、ダウンロードの実行可否判断、更新データの検証等、ダウンロードに関する一連の処理の制御を含みうる。インストールは、ダウンロードした更新データに基づいて、更新対象の車載機器の記憶部に更新版のプログラム(更新ソフトウェア)を書き込む処理である。インストールする制御は、インストール実行だけでなく、インストールの実行可否判断、更新データの転送および更新版のプログラムの検証等、インストールに関する一連の処理の制御を含みうる。アクティベートは、インストールした更新版のプログラムを有効化(アクティベート)する処理である。アクティベートする制御は、アクティベート実行だけでなく、アクティベートの実行可否判断、実行結果の検証等、アクティベートに関する一連の制御を含みうる。
インストールする制御においては、更新データが更新プログラム自体を含む場合、制御部52が、更新プログラムを、車載機器に送信することができる。また、更新データが、更新プログラムの圧縮データ、差分データ、あるいは、分割データを含む場合、制御部52が、更新データの展開あるいは組付け等を行って更新プログラムを生成して車載機器に送信してもよい。あるいは、制御部52が、更新データを車載機器に送信し、車載機器が、更新データの展開あるいは組付け等を行って更新プログラムを生成してもよい。
更新プログラムを車載機器の第2記憶部に書き込むインストール自体の実行は、制御部52が行ってもよいし、制御部52の指示を受けた車載機器が行ってもよいし、更新データ(あるいは更新プログラム)を受信した車載機器が、制御部52の明示の指示がなくても自律的に行ってもよい。
インストールした更新プログラムを有効化するアクティベート自体の実行は、制御部52が行ってもよいし、制御部52の指示を受けた車載機器が行ってもよいし、車載機器が、制御部52の明示の指示がなくても、インストールに引き続いて自律的に行ってもよい。
なお、このようなプログラムの更新処理は、複数の車載機器のそれぞれに対して、連続して、あるいは並列的に行うことができる。
<処理>
以下に、本実施形態に係る処理の例を説明する。図2は、ソフトウェア更新装置50が行うソフトウェア更新処理の例を示すフローチャートである。本処理は例えばソフトウェア更新装置50が、外部装置100に対して更新データの要求を行うことによって開始される。
(ステップS101)
通信部51は、外部装置100から、車両が備える車載機器のうち1つ以上のプログラムを更新するための更新データを受信する。制御部52はソフトウェア更新装置50の記憶部に更新データを記憶する(ダウンロード)。
外部装置100は、ソフトウェア更新装置50からの問い合わせに応じて、外部装置100が予め記憶している、あるいは、ソフトウェア更新装置50から取得する、ネットワークシステム1に含まれる車載機器の種別と現在のプログラムのバージョンとに基づいて、これらの車載機器の更新版のプログラムが外部装置100に提供されているプログラムのうちに存在するか否かを判定し、提供されていれば、提供された更新版のプログラムに基づいて更新データを生成してソフトウェア更新装置50に提供する。外部装置100は、更新データに基づいて全てのプログラムの更新に成功すれば、ネットワークシステム1に含まれるすべての車載機器のプログラムのバージョンの整合が取れるように、更新データを生成する。
(ステップS102)
制御部52は、車両の動作を制限する。例えば、車載機器が上述の上書きインストールやアクティベートを行う間は、その車載機器の動作に影響が生じ、ネットワークシステム1による車両の制御にも影響が生ずるおそれがある。そのため、本ステップにおいてエンジン駆動等、影響が生ずることが好ましくない動作として定められた車両の所定の動作を停止、禁止し、不測の挙動を抑制してもよい。なお、このような所定の動作の制限および本ステップ以降の処理は、ユーザーの許諾を得るまで待機してもよい。なお、プログラム更新対象の車載機器が全て上述のデュアルバンクタイプであれば、上述の他面インストールを行った後、アクティベートの前に所定の動作の制限を行ってもよい。
(ステップS103)
制御部52は通信部51を制御して、プログラム更新対象の車載機器に、更新データに基づいて、車載機器に上述のインストールやアクティベート等を実行させる。すなわち、車載機器が上述のシングルバンクタイプである場合、制御部52は、車載機器に上述した上書きインストールを実行させる。また、車載機器が上述のデュアルバンクタイプである場合、制御部52は、車載機器に上述した他面インストールとアクティベートとをこの順に実行させる。
(ステップS104)
制御部52は通信部51を介して、各車載機器から、現在のプログラムのバージョンを表す情報を取得する。
(ステップS105)
制御部52は、取得したバージョンの組み合わせの整合性を判定する。例えば、制御部52は取得したバージョンに、更新データに含まれている更新版のプログラムのバージョンがすべて含まれていれば、整合性があると判定でき、そうでなければ、いずれかの車載機器においてプログラムの更新処理またはその後に何らかの原因で異常が発生していると判定できる。更新に成功した場合は、ステップS109に進み、そうでなければステップS106に進む。
(ステップS106)
制御部52は、例えば、取得したバージョンの組み合わせと、更新データに含まれている更新版のプログラムのバージョンとを比較して、バージョンの整合性がない原因となった車載機器を特定する。
(ステップS107)
制御部52は、整合性がない原因となった各車載機器に対して、ステップS103と同様の処理を繰り返し、更新を再試行する。あるいは、整合性がない原因となった車載機器が、上述の他面インストールを行う車載機器(デュアルバンク)であって、更新前のプログラム(現在まで実行対象であったプログラム)を記憶している場合、更新前のプログラムを継続して実行対象とするようコンフィグレーションする処理(復旧処理)を行わせてもよい。更新前のプログラムであっても他の車載機器のプログラムのバージョンと整合性がとれる場合も多々ある。このような復旧処理をする場合は、制御部52は、複数の車載機器のプログラムのバージョンを取得し、取得したバージョンの組み合わせにおいて、復旧処理する車載機器のプログラムのバージョンを、プログラム更新前のプログラムのバージョンにしても、バージョンの組み合わせに整合性があることを確認してから復旧処理をしてもよい。
(ステップS108)
制御部52は、ステップS104と同様にして、各車載機器から、現在のプログラムのバージョンを表す情報を取得し、現在のプログラムのバージョンの組み合わせの整合性を確認する。整合性の確認は、例えば、取得したバージョンに、更新データに含まれている更新版のプログラムのバージョンがすべて含まれていれば、更新に成功したと判定できる。また、いくつかの車載機器が、復旧処理をした場合は、現在のプログラムのバージョンの組み合わせを外部装置100に送信して整合性があるか否かを問い合わせてもよい。外部装置100は、このようにプログラムのバージョンの組み合わせに整合性があるか否かを、予め与えられた整合性の取れたバージョンの複数の組み合わせのテーブルを参照して判定することができる。あるいは、制御部52は、予めこのようなテーブルを更新データとともに外部装置100から取得して記憶しておき、これを参照して、現在のプログラムのバージョンの組み合わせの整合性を確認してもよい。
なお、本ステップで、現在のプログラムのバージョンの組み合わせに整合性があることが確認できない場合、確認できるまでステップS107、S108を繰り返してもよい。たとえば、更新の再試行を複数回行って、整合性の確認ができない場合に、復旧処理を行うこととしてもよい。また、所定回数繰り返しても整合性が確認できない場合は、ソフトウェア更新装置50や車載機器に非一時的な異常が発生している可能性があったり、復旧処理をした結果、そのバージョンが他の車載機器の更新後のプログラムのバージョンと整合性がなかったりする場合であるので、ユーザーに異常発生を通知する等の対応を行う。なお、このような異常発生時には、全ての車載機器が更新前のプログラムを記憶している場合、全ての車載機器に復旧処理をさせてもよい。
(ステップS109)
制御部52は、ステップS102で行った車両の動作制限を解除する。以上で処理が終了する。なお、上述のインストール処理において、更新データが更新プログラム自体を含む場合、制御部52が、更新プログラムを、車載機器に送信する。また、更新データが、更新プログラムの圧縮データ、差分データ、あるいは、分割データを含む場合、制御部52が、更新データの展開あるいは組付け等を行って更新プログラムを生成して車載機器に送信してもよい。あるいは、制御部52が、更新データを車載機器に送信し、車載機器が、更新データの展開あるいは組付け等を行って更新プログラムを生成してもよい。なお、外部装置100、ソフトウェア更新装置50は、車載機器に対して、インストールやアクティベートを行う指示を明示的に行い、車載機器が指示に基づいて、これらの処理を行ってもよいし、更新データ(あるいは更新プログラム)を受信した車載機器が、明示の指示がなくても、これらの処理を自律的に実行してもよい。
以上のように、本実施形態においては、各車載機器のプログラムのバージョンの組み合わせの整合を確認するまで、更新処理を完了させず、車両の動作を制限するので、プログラムの更新に失敗した場合に、車両の不測の挙動を抑制しつつ、バージョンの整合を取ることができる。
また、プログラムの更新にいちど失敗しても、更新を再試行することで、最終的に成功する可能性を高めることができる。
また、プログラムの更新に失敗しても、各車載機器のプログラムのバージョンの組み合わせの整合性が確認できる前提で更新前のプログラムを使用することができるので、ネットワークシステム1の動作保証をすることができる。
なお、プログラムの更新に成功した後、ユーザーが特定の車載機器について、更新前のプログラムに戻すことを希望する場合もありうる。このような場合、制御部52は、ユーザーからの指定を受け付けて、その車載機器の更新前のプログラムに戻してもよい。車載機器が、更新前のプログラムを記憶している場合は、更新前のプログラムを実行バージョンとするようコンフィグレーションすることで、このような処理が可能である。この場合、制御部52は、複数の車載機器のプログラムのバージョンを取得し、取得したバージョンの組み合わせにおいて、指定が行われた車載機器のプログラムのバージョンを、プログラム更新前のプログラムのバージョンにしても、バージョンの組み合わせに整合性があることが確認できた場合に、コンフィグレーションを実行する。これにより、ユーザーに希望に応じて、各車載機器のプログラムのバージョンの組み合わせの整合性が確認できる前提でプログラムのダウングレードが可能となる。なお、この処理の間も、車両の所定の動作を制限して実行し、ステップS108と同様のバージョンの整合性確認ができたのち、制限解除することが好ましい。
上述のように、制御部52は、プログラムのインストール(シングルバンクの場合)あるいはインストールおよびアクティベート(デュアルバンクの場合)の実行後に取得したプログラムのバージョンの組み合わせに不整合がある場合、いずれかの車載機器において、プログラムを更新する処理にエラーがある、あるいは、インストールやアクティベートの処理にエラーがなくても、例えば更新版のプログラムとして提供されたプログラムに不備があり、何らかの異常が発生している結果、プログラムのバージョンを制御部52に通知できないと判定し、その車載機器をバージョンの整合性がない原因となった車載機器として特定する。このように、本実施形態は、このようにプログラムを更新する処理だけでなくその後の処理において、車載機器に何らかの異常が発生している結果、バージョンの不整合が発生した場合であっても、例えば、車載機器がデュアルバンクタイプであり更新前のプログラムを記憶していれば、異常が発生していなかった更新前の状態で、かつ、プログラムのバージョンの組み合わせに整合が取れた状態に復帰させることができる。これによって、プログラム更新後に何らかの異常が発生しても、プログラムに不備があるか否かを判定する時間やコストをかけることなく、動作保証がされた正常な状態に確実に速やかに復帰させることができる。また、制御部52は、各車載機器において、プログラムのインストール、アクティベートのエラー、あるいはプログラムの不備等、プログラムの更新に起因または付随して、何らかの異常が発生して、その車載機器がバージョンの整合性がない原因となっているか否かを、プログラムのバージョン以外にも、車載機器の自己診断の結果や制御部52による車載機器の動作監視等、1つ以上の他の方法を用いて判定してもよく、判定方法は限定されない。
以上、実施形態の一例を説明したが、制御部52の機能は、いずれかの車載機器に設けられてもよい。例えば、複数の車載機器のうち、2つ以上の車載機器のプログラムにそれぞれ実装されてもよいし、または、1つの車載機器の、更新の対象となるプログラムとは別に設けられたプログラムに実装されてもよい。このようにすると、制御部の機能のための専用の構成を設けなくてよい。また、制御部の機能を複数の車載機器のうち、2つ以上の車載機器のプログラムにそれぞれ実装すると、そのうち一方の車載機器のプログラムを更新する場合、他方の車載機器が制御部の機能を実行できる。または、1つの車載機器の、更新の対象となるプログラムとは別に設けられたプログラムに実装すると、その車載機器のプログラムを更新する場合、その処理に妨げられずに制御部の機能を実行できる。
<効果>
以上のように、本実施形態においては、ソフトウェア更新装置は、各車載機器のプログラムのバージョンの組み合わせの整合を確認するので、プログラム更新処理によって、複数の車載機器のプログラム全体のバージョンの整合が取れ、動作保証された状態に遷移させることができる。
本開示技術は、ソフトウェア更新装置だけでなく、ソフトウェア更新装置を含むネットワークシステム、およびソフトウェア更新装置が備えるコンピューターが実行する方法、プログラムおよびこれを記憶したコンピューター読み取り可能な非一時的記憶媒体、ソフトウェア更新装置を備えた車両等として捉えることが可能である。
本開示技術は、車両に搭載される車載機器のプログラムを更新するソフトウェア更新装置に有用である。
1 ネットワークシステム
10、20、30 バス
11、12、21、22 車載機器
31、32 アクチュエータ
50 ソフトウェア更新装置
51 通信部
52 制御部
100 外部装置

Claims (16)

  1. センタに更新データのダウンロードを要求する通信部と、
    前記ダウンロードした前記更新データを保存する記憶部と、
    前記更新データに基づいて、車載ネットワークを介して接続する複数の電子制御ユニットのうち1つ以上のターゲット電子制御ユニットに更新ソフトウェアをインストールあるいはインストールおよびアクティベートする制御を実行する制御部とを備え、
    前記制御部は、
    前記複数の電子制御ユニットのソフトウェアバージョンを取得し、取得したソフトウェアバージョンの組み合わせに整合性があるか否かを判定し、整合性がないと判定した場合、前記ソフトウェアバージョンの組み合わせに整合性を得るための処理を行う、ソフトウェア更新装置。
  2. 前記制御部は、少なくとも前記整合性を得るための処理を行う間、車両の所定の動作を制限する、請求項1に記載のソフトウェア更新装置。
  3. 前記制御部は、インストールあるいはアクティベートする制御を実行する前に前記車両の所定の動作の制限を開始し、前記整合性を得るための処理の後、前記複数の電子制御ユニットのソフトウェアのバージョンの組み合わせを取得し、取得した組み合わせに整合性が得られた場合、前記車両の所定の動作の制限を解除する、請求項2に記載のソフトウェア更新装置。
  4. 前記制御部は、前記整合性を得るための処理として、前記整合性のない原因となった電子制御ユニットを特定し、前記更新データのうち、前記整合性のない原因となった電子制御ユニットのソフトウェアを更新するためのデータに基づいて、前記整合性のない原因となった電子制御ユニットのソフトウェアを更新する、請求項1に記載のソフトウェア更新装置。
  5. 前記制御部は、前記ソフトウェアバージョンの組み合わせに基づいて前記整合性のない原因となった電子制御ユニットを特定する、請求項4に記載のソフトウェア更新装置。
  6. 前記制御部は、前記整合性を得るための処理として、前記整合性のない原因となった電子制御ユニットを特定し、更新前のソフトウェアを実行バージョンとするよう前記整合性のない原因となった電子制御ユニットを制御する、請求項1に記載のソフトウェア更新装置。
  7. 前記制御部は、前記整合性のない原因となった電子制御ユニットが、更新前のソフトウェアを記憶している場合、記憶している更新前のソフトウェアを実行バージョンとするよう前記整合性のない原因となった電子制御ユニットを制御する、請求項6に記載のソフトウェア更新装置。
  8. 前記制御部は、前記整合性のない原因となった電子制御ユニットのソフトウェアのバージョンを更新前のバージョンにすると、バージョンの組み合わせに整合性がある場合、更新前のソフトウェアを実行バージョンとするよう前記整合性のない原因となった電子制御ユニットを制御する、請求項6または7に記載のソフトウェア更新装置。
  9. 前記制御部は、更新前のソフトウェアを記憶している電子制御ユニットについて、更新前のソフトウェアを実行バージョンとする指定を受け付けた場合、前記複数の電子制御ユニットのソフトウェアのバージョンを取得し、取得したバージョンの組み合わせにおいて、前記指定された電子制御ユニットのソフトウェアのバージョンを、更新前のソフトウェアのバージョンにしても、バージョンの組み合わせに整合性がある場合、前記更新前のソフトウェアを実行バージョンとするよう前記電子制御ユニットを制御する、請求項1~8のいずれかに記載のソフトウェア更新装置。
  10. 前記制御部の機能は、前記複数の電子制御ユニットのうち、2つ以上の電子制御ユニットのソフトウェアにそれぞれ実装される、または、1つの電子制御ユニットの、更新の対象となるソフトウェアとは別のソフトウェアに実装される、請求項1~9のいずれかに記載のソフトウェア更新装置。
  11. センタに更新データのダウンロードを要求するステップと、
    前記ダウンロードした前記更新データを保存するステップと、
    前記更新データに基づいて、車載ネットワークを介して接続する複数の電子制御ユニットのうち1つ以上のターゲット電子制御ユニットに更新ソフトウェアをインストールあるいはインストールおよびアクティベートする制御を実行するステップと、
    前記複数の電子制御ユニットのソフトウェアバージョンを取得し、取得したソフトウェアバージョンの組み合わせに整合性があるか否かを判定し、整合性がないと判定した場合、前記ソフトウェアバージョンの組み合わせに整合性を得るための処理を行うステップとを含む、ソフトウェア更新装置のコンピューターが実行するソフトウェア更新方法。
  12. センタに更新データのダウンロードを要求するステップと、
    前記ダウンロードした前記更新データを保存するステップと、
    前記更新データに基づいて、車載ネットワークを介して接続する複数の電子制御ユニットのうち1つ以上のターゲット電子制御ユニットに更新ソフトウェアをインストールあるいはインストールおよびアクティベートする制御を実行するステップと、
    前記複数の電子制御ユニットのソフトウェアバージョンを取得し、取得したソフトウェアバージョンの組み合わせに整合性があるか否かを判定し、整合性がないと判定した場合、前記ソフトウェアバージョンの組み合わせに整合性を得るための処理を行うステップとを含む、ソフトウェア更新装置のコンピューターに実行させるソフトウェア更新プログラム。
  13. 請求項1~10のいずれかに記載のソフトウェア更新装置を備える車両。
  14. センタに更新データのダウンロードを要求する通信部と、
    前記ダウンロードした前記更新データを保存する記憶部と、
    前記更新データに基づいて、車載ネットワークを介して接続する複数の電子制御ユニットのうち1つ以上のターゲット電子制御ユニットに更新ソフトウェアをインストールあるいはインストールおよびアクティベートする制御を実行する制御部とを備え、
    前記制御部は、
    前記複数の電子制御ユニットのソフトウェアバージョンを取得し、取得したソフトウェアバージョンの組み合わせに整合性があるか否かを判定し、整合性がないと判定した場合、前記ソフトウェアバージョンの組み合わせに整合性を得るための処理を行う、OTAマスタ。
  15. センタに更新データのダウンロードを要求するステップと、
    前記ダウンロードした前記更新データを保存するステップと、
    前記更新データに基づいて、車載ネットワークを介して接続する複数の電子制御ユニットのうち1つ以上のターゲット電子制御ユニットに更新ソフトウェアをインストールあるいはインストールおよびアクティベートする制御を実行するステップと、
    前記複数の電子制御ユニットのソフトウェアバージョンを取得し、取得したソフトウェアバージョンの組み合わせに整合性があるか否かを判定し、整合性がないと判定した場合、前記ソフトウェアバージョンの組み合わせに整合性を得るための処理を行うステップとを含む、OTAマスタのコンピューターが実行するソフトウェア更新方法。
  16. センタに更新データのダウンロードを要求するステップと、
    前記ダウンロードした前記更新データを保存するステップと、
    前記更新データに基づいて、車載ネットワークを介して接続する複数の電子制御ユニットのうち1つ以上のターゲット電子制御ユニットに更新ソフトウェアをインストールあるいはインストールおよびアクティベートする制御を実行するステップと、
    前記複数の電子制御ユニットのソフトウェアバージョンを取得し、取得したソフトウェアバージョンの組み合わせに整合性があるか否かを判定し、整合性がないと判定した場合、前記ソフトウェアバージョンの組み合わせに整合性を得るための処理を行うステップとを含む、OTAマスタのコンピューターに実行させるソフトウェア更新プログラム。
JP2020117848A 2020-07-08 2020-07-08 ソフトウェア更新装置、方法、プログラムおよび車両 Active JP7367626B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2020117848A JP7367626B2 (ja) 2020-07-08 2020-07-08 ソフトウェア更新装置、方法、プログラムおよび車両
US17/367,972 US11720349B2 (en) 2020-07-08 2021-07-06 Software update apparatus, software update method, non-transitory storage medium storing program, vehicle, and OTA master
EP23151114.8A EP4184316A1 (en) 2020-07-08 2021-07-06 Software update apparatus, software update method, non-transitory storage medium storing program, vehicle, and ota master
CN202110763433.2A CN113918178A (zh) 2020-07-08 2021-07-06 软件更新装置、软件更新方法、存储程序的非临时存储介质、车辆及ota主机
EP21184046.7A EP3937008B1 (en) 2020-07-08 2021-07-06 Software update apparatus, software update method, non-transitory storage medium storing program, vehicle, and ota master
US18/142,290 US20230297368A1 (en) 2020-07-08 2023-05-02 Software update apparatus, software update method, non-transitory storage medium storing program, vehicle, and ota master
JP2023172228A JP2023168511A (ja) 2020-07-08 2023-10-03 制御装置、方法、プログラム、および車両

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020117848A JP7367626B2 (ja) 2020-07-08 2020-07-08 ソフトウェア更新装置、方法、プログラムおよび車両

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023172228A Division JP2023168511A (ja) 2020-07-08 2023-10-03 制御装置、方法、プログラム、および車両

Publications (2)

Publication Number Publication Date
JP2022015169A true JP2022015169A (ja) 2022-01-21
JP7367626B2 JP7367626B2 (ja) 2023-10-24

Family

ID=76829353

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020117848A Active JP7367626B2 (ja) 2020-07-08 2020-07-08 ソフトウェア更新装置、方法、プログラムおよび車両
JP2023172228A Pending JP2023168511A (ja) 2020-07-08 2023-10-03 制御装置、方法、プログラム、および車両

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023172228A Pending JP2023168511A (ja) 2020-07-08 2023-10-03 制御装置、方法、プログラム、および車両

Country Status (4)

Country Link
US (2) US11720349B2 (ja)
EP (2) EP4184316A1 (ja)
JP (2) JP7367626B2 (ja)
CN (1) CN113918178A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023149450A1 (ja) 2022-02-02 2023-08-10 小野薬品工業株式会社 Malt1阻害薬を有効成分として含むがん治療剤

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7310737B2 (ja) * 2020-07-08 2023-07-19 トヨタ自動車株式会社 ソフトウェア更新装置、方法、プログラム、システム、センタおよび車両
US12086584B2 (en) * 2021-08-26 2024-09-10 Hyundai Motor Company Apparatus for operating OTA update for vehicle, and method thereof
US20230259351A1 (en) * 2022-02-15 2023-08-17 Honda Motor Co., Ltd. Program management device, program management method, and recording medium
US20230315440A1 (en) * 2022-04-05 2023-10-05 Ford Global Technologies, Llc Vehicle software compatibility

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009053920A (ja) * 2007-08-27 2009-03-12 Auto Network Gijutsu Kenkyusho:Kk 車載用電子制御ユニットのプログラム管理システム
JP2019159399A (ja) * 2018-03-07 2019-09-19 トヨタ自動車株式会社 車両制御システム及び車両制御システムにおけるソフトウェアの整合性確認方法
JP2020027670A (ja) * 2018-08-10 2020-02-20 株式会社デンソー 車両情報通信システム,車両情報通信方法,車両情報通信プログラム及びセンター装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3678595B2 (ja) 1999-01-18 2005-08-03 富士通テン株式会社 車載端末用プログラムの復旧方式
JP6290734B2 (ja) 2014-07-11 2018-03-07 株式会社東海理化電機製作所 カーシェアシステム
US9639344B2 (en) * 2014-12-11 2017-05-02 Ford Global Technologies, Llc Telematics update software compatibility
JP6665728B2 (ja) * 2016-08-05 2020-03-13 株式会社オートネットワーク技術研究所 車載更新装置、車載更新システム及び通信装置の更新方法
JP2018200510A (ja) * 2017-05-25 2018-12-20 株式会社デンソーテン ソフトウェア更新装置、ソフトウェア更新システム、及び、ソフトウェア更新方法
JP6915500B2 (ja) * 2017-11-06 2021-08-04 トヨタ自動車株式会社 更新システム、電子制御装置、更新管理装置、及び更新管理方法
JP7013918B2 (ja) * 2018-02-16 2022-02-01 トヨタ自動車株式会社 車両制御装置、プログラム更新方法およびプログラム
EP4099155B1 (en) * 2018-03-19 2023-12-20 Huawei International Pte. Ltd. Method and apparatus for updating devices in a remote network
US20190324858A1 (en) 2018-04-24 2019-10-24 GM Global Technology Operations LLC Rollback recovery from partial failure in multiple electronic control unit over-the-air updates
JP7115429B2 (ja) * 2018-08-10 2022-08-09 株式会社デンソー 車両用マスタ装置、ロールバックの実行制御方法及びロールバックの実行制御プログラム
WO2020032047A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー 車両用電子制御システム、センター装置、車両用マスタ装置、表示制御情報の送信制御方法、表示制御情報の受信制御方法、表示制御情報の送信制御プログラム及び表示制御情報の受信制御プログラム
US10845800B2 (en) * 2018-10-08 2020-11-24 Ford Global Technologies, Llc Vehicle software check
US11449327B2 (en) * 2018-11-30 2022-09-20 Paccar Inc Error-resilient over-the-air software updates for vehicles
JP7200708B2 (ja) * 2019-01-31 2023-01-10 富士通株式会社 車載システム及びecu
US20210389937A1 (en) * 2020-06-12 2021-12-16 Western Digital Technologies, Inc. Systems And Methods For Fixing Incompatibilities In Field Firmware Updates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009053920A (ja) * 2007-08-27 2009-03-12 Auto Network Gijutsu Kenkyusho:Kk 車載用電子制御ユニットのプログラム管理システム
JP2019159399A (ja) * 2018-03-07 2019-09-19 トヨタ自動車株式会社 車両制御システム及び車両制御システムにおけるソフトウェアの整合性確認方法
JP2020027670A (ja) * 2018-08-10 2020-02-20 株式会社デンソー 車両情報通信システム,車両情報通信方法,車両情報通信プログラム及びセンター装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023149450A1 (ja) 2022-02-02 2023-08-10 小野薬品工業株式会社 Malt1阻害薬を有効成分として含むがん治療剤

Also Published As

Publication number Publication date
EP3937008B1 (en) 2023-02-22
US20220012048A1 (en) 2022-01-13
JP2023168511A (ja) 2023-11-24
EP4184316A1 (en) 2023-05-24
US11720349B2 (en) 2023-08-08
US20230297368A1 (en) 2023-09-21
JP7367626B2 (ja) 2023-10-24
CN113918178A (zh) 2022-01-11
EP3937008A1 (en) 2022-01-12

Similar Documents

Publication Publication Date Title
JP2022015169A (ja) ソフトウェア更新装置、方法、プログラムおよび車両
CN113383390A (zh) 电子控制装置以及程序更新方法
US20220405083A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US12050903B2 (en) OTA master, system, method, non-transitory storage medium, and vehicle
US12039322B2 (en) OTA master, center, system, update method, non-transitory storage medium, and vehicle
US20220391192A1 (en) Ota master, center, system, method, non-transitory storage medium, and vehicle
JP7484791B2 (ja) Otaマスタ、更新制御方法、及び更新制御プログラム
JP2018160207A (ja) 車載制御装置、及び、プログラム更新ソフトウェア
JP7327325B2 (ja) 車載機器、情報生成方法、情報生成プログラム、および、車両
US20220391193A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US11954480B2 (en) Center, OTA master, system, method, non-transitory storage medium, and vehicle
US11995429B2 (en) Software update device, update control method, non-transitory storage medium, and server
JP7540382B2 (ja) センタ、配信制御方法、及び配信制御プログラム
CN114844874A (zh) Ota管理器、更新控制方法、非暂时性存储介质及车辆
CN115509566A (zh) Ota管理器、系统、方法、非暂时性存储介质以及车辆
JP2022040990A (ja) ソフトウェア更新装置、方法、プログラム、および、車両
JP2022012834A (ja) ソフトウェア更新装置、方法、プログラムおよび車両
US20230333838A1 (en) Method and device for updating software of an onboard computer in a vehicle, comprising a runtime memory, a backup memory and a control memory
JP2022049975A (ja) 車載機器、ソフトウェア更新方法、ソフトウェア更新プログラム、および、車両

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230612

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: 20230912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230925

R151 Written notification of patent or utility model registration

Ref document number: 7367626

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151