JPWO2020170406A1 - ソフトウェア更新装置、車両及びソフトウェア更新方法 - Google Patents

ソフトウェア更新装置、車両及びソフトウェア更新方法 Download PDF

Info

Publication number
JPWO2020170406A1
JPWO2020170406A1 JP2021501240A JP2021501240A JPWO2020170406A1 JP WO2020170406 A1 JPWO2020170406 A1 JP WO2020170406A1 JP 2021501240 A JP2021501240 A JP 2021501240A JP 2021501240 A JP2021501240 A JP 2021501240A JP WO2020170406 A1 JPWO2020170406 A1 JP WO2020170406A1
Authority
JP
Japan
Prior art keywords
software
electronic control
control device
update
new version
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
JP2021501240A
Other languages
English (en)
Other versions
JP7061724B2 (ja
Inventor
源太 井上
陽介 塩ノ谷
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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Publication of JPWO2020170406A1 publication Critical patent/JPWO2020170406A1/ja
Application granted granted Critical
Publication of JP7061724B2 publication Critical patent/JP7061724B2/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/658Incremental updates; Differential updates
    • 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/61Installation
    • 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

ソフトウェア更新装置(12)は、ネットワーク(25)を介して供給される新版ソフトウェアを用いてソフトウェア更新を行う更新制御部(30)を備え、第1の電子制御装置(16A)と、第1の電子制御装置と協調動作する第2の電子制御装置(16B)とに対してソフトウェア更新が行われる場合、更新制御部は、ソフトウェア更新が行われた後の第1の電子制御装置が、第1の新版ソフトウェアの動作ロジックと、第1の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、第1の電子制御装置に対するソフトウェア更新を行う。

Description

本発明は、ソフトウェア更新装置、車両及びソフトウェア更新方法に関する。
特開2018−45515号公報には、サーバから配信される更新用ソフトウェアを用いて制御装置のソフトウェアを更新する技術が開示されている。
しかしながら、ソフトウェアの更新をより良好に行い得る技術が待望されている。
本発明の目的は、ソフトウェアの更新をより良好に行い得るソフトウェア更新装置、車両及びソフトウェア更新方法を提供することにある。
本発明の一態様によるソフトウェア更新装置は、ネットワークを介して供給される新版ソフトウェアを取得する取得部と、前記取得部によって取得される前記新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部とを備え、前記複数の電子制御装置のうちの第1の電子制御装置には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、前記第1の電子制御装置と、前記第1の電子制御装置と協調動作する第2の電子制御装置とに対して前記ソフトウェア更新が行われる場合、前記更新制御部は、前記ソフトウェア更新が行われた後の前記第1の電子制御装置が、前記第1の新版ソフトウェアの動作ロジックと、前記第1の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、前記第1の電子制御装置に対する前記ソフトウェア更新を行う。
本発明の他の態様によるソフトウェア更新装置は、ネットワークを介して供給される新版ソフトウェアを取得する取得部と、前記取得部によって取得される前記新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部とを備え、前記複数の電子制御装置のうちの第1の電子制御装置には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、前記更新制御部は、前記第1の電子制御装置の前記格納可能領域への前記第1の新版ソフトウェアのインストールを、前記第1の電子制御装置と協調動作する第2の電子制御装置に対する第2の新版ソフトウェアのインストールに先立って行い、前記第2の電子制御装置に対する前記ソフトウェア更新が正常に完了した場合に、前記第1の新版ソフトウェアの動作ロジックの実行を前記第1の電子制御装置に開始させる。
本発明の他の態様によるソフトウェア更新装置は、ネットワークを介して供給される新版ソフトウェアを取得する取得部と、前記取得部によって取得される前記新版ソフトウェアを用いて、車両に備えられた複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部とを備え、前記複数の電子制御装置のうちの第1の電子制御装置には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、前記複数の電子制御装置のうちの第2の電子制御装置には、前記第2の電子制御装置にインストールされた第2の旧版ソフトウェアを更新するための第2の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられておらず、互いに協調動作する前記第1の電子制御装置と前記第2の電子制御装置とに対して前記ソフトウェア更新が行われる場合、前記更新制御部は、前記ソフトウェア更新が行われた後の前記第1の電子制御装置が、前記第1の新版ソフトウェアの動作ロジックと、前記第1の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、前記第1の電子制御装置に対する前記ソフトウェア更新を行う。
本発明の更に他の態様による車両は、上記のようなソフトウェア更新装置を備える。
本発明の更に他の態様によるソフトウェア更新方法は、ネットワークを介して供給される新版ソフトウェアを用いて、車両に備えられた複数の電子制御装置の各々に対してソフトウェア更新を行うソフトウェア更新方法であって、前記複数の電子制御装置のうちの第1の電子制御装置には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、前記第1の電子制御装置と、前記第1の電子制御装置と協調動作する第2の電子制御装置とに対して前記ソフトウェア更新が行われる場合、前記ソフトウェア更新が行われた後の前記第1の電子制御装置が、前記第1の新版ソフトウェアの動作ロジックと、前記第1の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、前記第1の電子制御装置に対する前記ソフトウェア更新を行うステップと、前記第1の電子制御装置に対する前記ソフトウェア更新が完了した後に、前記第2の電子制御装置に対する前記ソフトウェア更新を行うステップとを有する。
本発明によれば、ソフトウェアの更新をより良好に行い得るソフトウェア更新装置、車両及びソフトウェア更新方法を提供することができる。
一実施形態によるソフトウェア更新装置を含むソフトウェア更新システムを示すブロック図である。 図2A及び図2Bは、不揮発性メモリの構成の例を概念的に示す図である。 一実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。 一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。 一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。 一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。 一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。 一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。 一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。 一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。 一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
本発明によるソフトウェア更新装置、車両及びソフトウェア更新方法について、好適な実施形態を挙げ、添付の図面を参照して以下に詳細に説明する。
[一実施形態]
一実施形態によるソフトウェア更新装置、車両及びソフトウェア更新方法について図面を用いて説明する。図1は、本実施形態によるソフトウェア更新装置を含むソフトウェア更新システムを示すブロック図である。
本実施形態によるソフトウェア更新システム11は、車両10と、サーバ(外部機器)22とを有する。
車両10には、ソフトウェア更新装置12と、通信部14と、電子制御装置(ECU:Electronic Control Unit)16と、イグニッションスイッチ(IGSW)18と、バッテリ(BAT)20と、表示部21とが備えられている。なお、電子制御装置一般について説明する際には、符号16を用い、個々の電子制御装置について説明する際には、符号16A、16Bを用いる。車両10には、多数の電子制御装置16が備えられているが、図1には、多数の電子制御装置16のうちの2つの電子制御装置、即ち、第1の電子制御装置16A及び第2の電子制御装置16Bが示されている。ここでは、第1の電子制御装置16Aと第2の電子制御装置16Bとが協調動作(同期動作)する場合を例に説明する。なお、車両10には、これらの構成要素以外の構成要素も備えられるが、ここでは説明を省略する。
サーバ22には、データベース38と、通信部40とが備えられている。通信部40は、車両10に備えられた通信部14との間で無線通信を行い得る。データベース38には、電子制御装置16にインストールされたソフトウェア(旧版ソフトウェア、現行ソフトウェア)を更新するための新版ソフトウェア(更新用ソフトウェア)が格納され得る。なお、サーバ22には、これらの構成要素以外の構成要素も備えられるが、ここでは説明を省略する。
通信部14は、ネットワーク25を介して、サーバ22に備えられた通信部40との間で無線通信を行い得る。ネットワーク25としては、例えば、インターネット等が挙げられるがこれに限定されるものではない。通信部14は、セルラー方式で通信を行い得る通信部であってもよいし、無線LAN通信を行い得る通信部であってもよい。通信部14は、ネットワーク25を介してサーバ22から供給される新版ソフトウェアを受信し得る。
ソフトウェア更新装置12には、演算部24と、記憶部26とが備えられている。演算部24は、ソフトウェア更新装置12の全体の制御を司る。演算部24は、例えばCPU(Central Processing Unit)によって構成されている。演算部24は、記憶部26に記憶されているプログラムに基づいて各部を制御することによって、ソフトウェア(ファームウェア)の更新制御を実行する。記憶部26には、不図示の揮発性メモリと、不図示の不揮発性メモリとが備えられている。サーバ22からダウンロードされる新版ソフトウェアは、記憶部26に一時的に記憶され得る。
演算部24には、取得部28と、更新制御部30と、時間余裕判定部32と、電力量判定部34と、起動予定時刻判定部36とが備えられている。取得部28と、更新制御部30と、時間余裕判定部32と、電力量判定部34と、起動予定時刻判定部36とは、記憶部26に記憶されているプログラムが演算部24によって実行されることによって実現され得る。
取得部28は、ネットワーク25を介してサーバ22から供給される新版ソフトウェア(ソフトウェア)を取得する。より具体的には、取得部28は、通信部14によって受信された新版ソフトウェアを取得する。
更新制御部30は、取得部28によって取得される新版ソフトウェアを用いて、車両10に搭載された複数の電子制御装置16の各々に対してソフトウェアの更新を行う。
ここでは、第1の電子制御装置16Aに、第1の旧版ソフトウェア(第1の現行ソフトウェア)がインストールされている場合を例に説明する。また、ここでは、第2の電子制御装置16Bに、第2の旧版ソフトウェア(第2の現行ソフトウェア)がインストールされている場合を例に説明する。また、ここでは、第1の電子制御装置16Aにインストールされている第1の旧版ソフトウェアが、サーバ22から供給される第1の新版ソフトウェアによって更新される場合を例に説明する。また、ここでは、第2の電子制御装置16Bにインストールされている第2の旧版ソフトウェアが、サーバ22から供給される第2の新版ソフトウェアによって更新される場合を例に説明する。
第1の電子制御装置16Aに備えられている不図示の不揮発性メモリの記憶容量は、比較的大きい。図2Aは、第1の電子制御装置16Aに備えられている不揮発性メモリの構成の例を概念的に示す図である。第1の電子制御装置16Aには、不揮発性のメモリチップが複数備えられている。ここでは、不揮発性のメモリチップが2つ備えられている場合、即ち、第1のメモリチップと第2のメモリチップとが備えられている場合を例に説明する。第1のメモリチップは、例えば、不図示の基板の一方の面に搭載されている。第2のメモリチップは、例えば、基板の他方の面に搭載されている。第1のメモリチップは、第1のバンク(第1のメモリバンク、第1の格納箇所)50Aを構成している。第2のメモリチップは、第2のバンク(第2のメモリバンク、第2の格納箇所)50Bを構成している。このような構成は、ダブルバンクと称される。第1の電子制御装置16Aにおいては、例えば、第1のバンク50Aに第1の旧版ソフトウェアがインストールされている状態において、第2のバンク50Bに第1の新版ソフトウェアをインストールすることが可能である。即ち、第2のバンク50Bは、第1の新版ソフトウェアをインストールする際のバッファとして機能し得る。換言すれば、第2のバンク50Bは、第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域(インストール可能領域)として機能し得る。なお、ここでは、複数のメモリチップが第1の電子制御装置16Aに備えられている場合を例に説明したが、これに限定されるものではない。大容量の1つのメモリチップが第1の電子制御装置16Aに備えられているようにしてもよい。そして、第1のバンク50Aと第2のバンク50Bとが大容量の1つのメモリチップに備えられているようにしてもよい。
第1の電子制御装置16Aは、例えば、表示制御機能が備えられた電子制御装置であるが、これに限定されるものではない。より具体的には、第1の電子制御装置16Aは、例えば、車載インフォテイメント(IVI:In−Vehicle Infotainment)用のECU、メータ表示部用のECU等であるが、これに限定されるものではない。
第2の電子制御装置16Bに備えられている不図示の不揮発性メモリの容量は、比較的小さい。図2Bは、第2の電子制御装置16Bに備えられている不揮発性メモリの構成の例を概念的に示す図である。第2の電子制御装置16Bには、不揮発性のメモリチップが例えば1つだけ備えられている。1つのメモリチップによって、バンク52が構成されている。第2の電子制御装置16Bには、バンク52が1つのみ備えられている。このような構成は、シングルバンクと称される。第2の電子制御装置16Bにおいては、メモリチップに第2の旧版ソフトウェアがインストールされている状態において、当該メモリチップに第2の新版ソフトウェアをインストールし得ない。このように、第2の電子制御装置16Bには、第2の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられていない。
上述したように、第1の電子制御装置16Aには、第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域、即ち、第2のバンク50Bが備えられている。このため、第1の電子制御装置16Aに対しては、車両10の走行中であっても第1の新版ソフトウェアのインストールが行われ得る。
上述したように、第2の電子制御装置16Bには、第2の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられていない。このため、第2の電子制御装置16Bに対しては、車両10の走行中には第2の新版ソフトウェアのインストールが行われ得ない。従って、更新制御部30は、第2の電子制御装置16Bに対する第2の新版ソフトウェアのインストールを、車両10が停止している際に実行する。換言すれば、更新制御部30は、第2の電子制御装置16Bに対する第2の新版ソフトウェアのインストールを、車両10の主電源がオフになっている際、即ち、イグニッションスイッチ18がオフになっている際に実行する。イグニッションスイッチ18がオフになっていても、ソフトウェア更新装置12、通信部14、電子制御装置16等に対する電力の供給は、バッテリ20等から適宜行われ得る。
上述したように、第1の電子制御装置16Aに対しては、車両10の走行中であっても第1の新版ソフトウェアのインストールが行われ得る。ユーザが車両10を使用し得なくなる時間を短縮する観点からは、車両10の走行中に第1の新版ソフトウェアのインストールを行い得る第1の電子制御装置16Aに対しては、以下のようにすることが好ましい。即ち、第1の電子制御装置16Aに対する第1の新版ソフトウェアのインストールを、車両10の走行中に実行しておくことが好ましい。そこで、更新制御部30は、第1の電子制御装置16Aに対する第1の新版ソフトウェアのインストールを、バックグラウンドで車両10の走行中に実行する。例えば、第1のバンク50Aに第1の旧版ソフトウェアがインストールされている場合、第2のバンク50Bに第1の新版ソフトウェアがインストールされる。このように、更新制御部30は、第1の旧版ソフトウェアと第1の新版ソフトウェアとを第1の電子制御装置16Aに併存させるように、第1の電子制御装置16Aに対するソフトウェアの更新を行う。第1の電子制御装置16Aにインストールされる第1の新版ソフトウェアのアクティベーションは、車両10の走行中には行われない。なお、アクティベーションとは、電子制御装置等の初回起動時又は初期化後に、当該電子制御装置等に備えられた機能を実行可能とすることである。なお、ここでは、第1の電子制御装置16Aに対する第1の新版ソフトウェアのインストールを車両10の走行中に実行する場合を例に説明するが、これに限定されるものではない。車両10が停止している際に、第1の電子制御装置16Aに対する第1の新版ソフトウェアのインストールが実行されるようにしてもよい。
更新制御部30は、第1の電子制御装置16Aへの第1の新版ソフトウェアのインストールを、第1の電子制御装置16Aと協調動作する第2の電子制御装置16Bに対する第2の新版ソフトウェアのインストールに先立って行う。
更新制御部30は、第1の電子制御装置16Aにインストールされた第1の新版ソフトウェアのアクティベーションを、車両10が停止している際に実行する。換言すれば、更新制御部30は、第1の電子制御装置16Aにインストールされた第1の新版ソフトウェアのアクティベーションを、車両10の主電源がオフになっている際、即ち、イグニッションスイッチ18がオフになっている際に実行する。
更新制御部30は、第1の新版ソフトウェアがインストールされた第1の電子制御装置16Aが、以下のように動作し得るように、第1の電子制御装置16Aに対するソフトウェアの更新を行い得る。更新制御部30は、第1の電子制御装置16Aが、第1の新版ソフトウェアの動作ロジック(ソースコード、プログラムコード、プログラムコードロジック)と、第1の旧版ソフトウェアの動作ロジックとを選択的に実行し得るように、ソフトウェアの更新を行う。
上述したように、第1のバンク50Aには、第1の旧版ソフトウェアがインストールされている。このような状態において、第2のバンク50Bに第1の新版ソフトウェアがインストールされる。第1のバンク50Aに第1の旧版ソフトウェアがインストールされている状態で、第2のバンク50Bに第1の新版ソフトウェアがインストールされるため、第1の電子制御装置16Aは、以下のように動作し得る。即ち、第1の電子制御装置16Aは、更新前のソフトウェアである第1の旧版ソフトウェアの動作ロジックと、更新後のソフトウェアである第1の新版ソフトウェアの動作ロジックとを選択的に実行し得る。なお、第1の新版ソフトウェアが、第1の新版ソフトウェアの動作ロジックのみならず、第1の旧版ソフトウェアの動作ロジックをも実現し得てもよい。
更新制御部30は、第1の電子制御装置16Aに対するソフトウェアの更新が完了した後、第2の電子制御装置16Bに対するソフトウェアの更新を実行する。具体的には、まず、更新制御部30は、第2の電子制御装置16Bに対する第2の新版ソフトウェアのインストールを実行する。第2の電子制御装置16Bに対する第2の新版ソフトウェアのインストールは、上述したように、車両10が停止している際に実行される。
第2の電子制御装置16Bへの第2の新版ソフトウェアのインストールが完了した後、更新制御部30は、第2の電子制御装置16Bにインストールされた第2の新版ソフトウェアのアクティベーションを実行する。
第2の電子制御装置16Bに対するソフトウェアの更新が正常に完了した場合に、更新制御部30は、第1の新版ソフトウェアの動作ロジックの実行を第1の電子制御装置16Aに開始させる。
更新制御部30は、第2の電子制御装置16Bに対する第2の新版ソフトウェアのインストールが正常に完了しない場合、第2の電子制御装置16Bに対してロールバック処理を行う。即ち、第2の電子制御装置16Bに対する第2の新版ソフトウェアのインストールが正常に完了しない場合、更新制御部30は、第2の電子制御装置16Bのソフトウェアを更新前の状態に戻す処理を行う。この場合、更新制御部30は、第1の旧版ソフトウェアの動作ロジックを第1の電子制御装置16Aに実行させる。
また、更新制御部30は、第2の電子制御装置16Bにインストールされた第2の新版ソフトウェアのアクティベーションが正常に完了しない場合、第2の電子制御装置16Bに対してロールバック処理を行う。即ち、第2の電子制御装置16Bに対する第2の新版ソフトウェアのアクティベーションが正常に完了しない場合、更新制御部30は、第2の電子制御装置16Bのソフトウェアを更新前の状態に戻す処理を行う。この場合、更新制御部30は、第1の旧版ソフトウェアの動作ロジックを第1の電子制御装置16Aに実行させる。
このように、本実施形態では、第1の新版ソフトウェアの動作ロジックと、第1の旧版ソフトウェアの動作ロジックとを第1の電子制御装置16Aが選択的に実行することが可能となるように、ソフトウェアの更新が行われる。本実施形態によれば、第1の新版ソフトウェアがインストールされた第1の電子制御装置16Aと、第2の新版ソフトウェアがインストールされた第2の電子制御装置16Bとが良好に協調動作し得ない場合、以下のようにすることができる。即ち、このような場合、更新制御部30は、第2の電子制御装置16Bのソフトウェアを更新前の状態に戻し、第1の電子制御装置16Aに第1の旧版ソフトウェアの動作ロジックを実行させる。このようにすることにより、本実施形態によれば、第1の新版ソフトウェアが第1の電子制御装置16Aにインストールされているにもかかわらず、第1の電子制御装置16Aと第2の電子制御装置16Bとを協調動作させることができる。
時間余裕判定部32は、新版ソフトウェアのインストールのリトライ処理(再試行処理)を実行する時間的な余裕があるか否かを判定し得る。時間余裕判定部32は、リトライ処理を実行する時間的な余裕があるか否かを、現在の時刻と、リトライ処理に要する時間と、車両10が起動される予定の時刻とに基づいて判定し得る。なお、車両10が起動される予定の時刻、即ち、車両10の起動予定時刻は、起動予定時刻判定部36によって判定され得る。
更新制御部30は、第2の電子制御装置16Bに対する第2の新版ソフトウェアのインストールが正常に完了せず、且つ、時間に余裕があると時間余裕判定部32が判定した場合、以下のような処理を行う。即ち、更新制御部30は、第2の電子制御装置16Bに対する第2の新版ソフトウェアのインストールのリトライ処理を行う。
バッテリ20には、不図示の電圧センサ、不図示の温度センサ、及び、不図示の電流センサが備えられている。バッテリ20に備えられたこれらのセンサからそれぞれ出力される信号は、ソフトウェア更新装置12に供給される。電力量判定部34は、バッテリ20から供給されるこれらの信号に基づいて、バッテリ20の充電状態(SOC:State Of Charge)を判定する。電力量判定部34は、バッテリ20に確保されている電力量が十分であるか否かを判定する。より具体的には、電力量判定部34は、バッテリ20に確保されている電力量が、ソフトウェアの更新を行う上で十分であるか否かを判定する。電力量判定部34は、ソフトウェアの更新に要する時間と、ソフトウェアの更新の際に消費する電力と、バッテリ20に確保されている電力量とに基づいて、バッテリ20に確保されている電力量が十分であるか否かを判定する。更新制御部30は、バッテリ20に確保されている電力量が十分であることが電力量判定部34によって判定された場合、ソフトウェアの更新を開始し得る。
更新制御部30は、第1の電子制御装置16Aにインストールされた第1の新版ソフトウェアのアクティベーションが正常に完了した場合、第1の電子制御装置16Aに対してシャットダウンの処理を行う。更新制御部30は、第2の電子制御装置16Bにインストールされた第2の新版ソフトウェアのアクティベーションが正常に完了した場合、第2の電子制御装置16Bに対してシャットダウンの処理を行う。
起動予定時刻判定部36は、車両10が停止するごとに、即ち、車両10の主電源がオフになる毎に、以下のような情報を記憶部26に記憶しておく。即ち、起動予定時刻判定部36は、車両10が停止された日付、車両10が停止された曜日、車両10の停止が開始された時刻、停止していた車両10が起動された時刻、車両10が停止した場所等を記憶部26に記憶しておく。起動予定時刻判定部36は、これらの情報に基づいて、停止している車両10の起動予定時刻を判定する。起動予定時刻判定部36は、例えば、現在の車両10の位置と、現在の時刻等とに基づいて、現在停止している車両10の起動予定時刻を判定する。車両10には、例えば、不図示のGNSS(Global Navigation Satellite System、全地球航法衛星システム)センサが備えられている。起動予定時刻判定部36は、GNSSセンサから供給される情報に基づいて、現在の車両10の位置を検出し得る。例えば、車両10の現在の位置が自宅の敷地内であり、且つ、現在の時刻が例えば21時である場合、起動予定時刻判定部36は、翌朝の例えば7時に車両10が起動されると判定し得る。なお、人工知能(AI:Artificial Intelligence)技術を用いて起動予定時刻判定部36を実現するようにしてもよい。
更新制御部30は、起動予定時刻判定部36によって判定された起動予定時刻より前にソフトウェアの更新が完了すると見込まれる場合に、以下のような処理を開始する。より具体的には、更新制御部30は、起動予定時刻判定部36によって判定された起動予定時刻に対して所定時間だけ前の時刻までに、第1の新版ソフトウェアのアクティベーションが完了すると見込まれる場合、以下のような処理を開始する。即ち、更新制御部30は、このような場合に、第1の電子制御装置16Aにインストールされた第1の新版ソフトウェアのアクティベーションを開始する。また、更新制御部30は、起動予定時刻判定部36によって判定された起動予定時刻に対して所定時間だけ前の時刻までに、第2の電子制御装置16Bに対するソフトウェアの更新が完了すると見込まれる場合に、以下のような処理を開始する。即ち、更新制御部30は、このような場合に、第2の電子制御装置16Bに対するソフトウェアの更新を開始する。第2の電子制御装置16Bに対するソフトウェアの更新には、第2の電子制御装置16Bへの第2の新版ソフトウェアのインストールと、第2の電子制御装置16Bにインストールされた第2の新版ソフトウェアのアクティベーションとが含まれる。
表示部21は、ソフトウェアの更新等に関する表示画面が表示され得る。表示部21は、例えばタッチパネルであるが、これに限定されるものではない。ユーザは、例えばタッチパネルを操作することにより、ソフトウェア更新装置12に対して操作入力を行い得る。例えば、ソフトウェアの更新に同意する意思表示を、ユーザは、タッチパネルを操作することによって行い得る。
図3は、本実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。
図3に示すように、タイミングt1において、第1の電子制御装置16Aへの第1の新版ソフトウェアのインストールが開始される。タイミングt1において、イグニッションスイッチ18はオンになっており、車両10は走行中である。このように、イグニッションスイッチ18がオンになっている状態において、第1の新版ソフトウェアのインストールが第1の電子制御装置16Aに対して行われる。即ち、車両10が走行している際に、第1の新版ソフトウェアのインストールが第1の電子制御装置16Aに対して行われる。この際、第2の電子制御装置16Bに対しては、第2の新版ソフトウェアのインストールは行われない。
タイミングt2において、イグニッションスイッチ18がオフとなる。即ち、タイミングt2において、車両10が停止中となる。イグニッションスイッチ18がオフになると、第1の電子制御装置16Aにインストールされた第1の新版ソフトウェアのアクティベーションが開始される。
タイミングt3において、第1の電子制御装置16Aにインストールされた第1の新版ソフトウェアのアクティベーションが完了する。第1の電子制御装置16Aにインストールされた第1の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部30は、第1の電子制御装置16Aに対してシャットダウンの処理を行う。
タイミングt4において、イグニッションスイッチ18がオンとなる。第1の電子制御装置16Aには第2の新版ソフトウェアがインストールされているが、第1の電子制御装置16Aは、依然として、第1の旧版ソフトウェアの動作ロジックを実行する(仮NEW)。第1の電子制御装置16Aが第1の旧版ソフトウェアの動作ロジックを実行し得るため、第1の電子制御装置16Aと第2の電子制御装置16Bとは協調動作を行い得る。
タイミングt5において、イグニッションスイッチ18がオフとなる。即ち、タイミングt5において、車両10が停止中となる。イグニッションスイッチ18がオフになると、第2の電子制御装置16Bへの第2の新版ソフトウェアのインストールが開始される。
タイミングt6において、第2の電子制御装置16Bへの第2の新版ソフトウェアのインストールが完了する。第2の電子制御装置16Bへの第2の新版ソフトウェアのインストールが完了すると、第2の電子制御装置16Bにインストールされた第2の新版ソフトウェアのアクティベーションが開始される。
タイミングt7において、第2の電子制御装置16Bにインストールされた第2の新版ソフトウェアのアクティベーションが完了する。第2の電子制御装置16Bにインストールされた第2の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部30は、第2の電子制御装置16Bに対してシャットダウンの処理を行う。
タイミングt8において、イグニッションスイッチ18がオンになる。タイミングt8以降においては、第1の電子制御装置16Aは、第1の新版ソフトウェアの動作ロジックを実行する(NEW)。また、タイミングt8以降においては、第2の電子制御装置16Bは第2の新版ソフトウェアに基づいて動作する(NEW)。タイミングt8以降において、第1の電子制御装置16Aが第1の新版ソフトウェアの動作ロジックを実行するため、第1の電子制御装置16Aと第2の電子制御装置16Bとは協調動作を行い得る。第1の新版ソフトウェアの動作ロジックの実行を第1の電子制御装置16Aに開始させることにより、第1の旧版ソフトウェアの動作ロジックでは実現し得なかった機能の実行が可能となる。例えば、タイミングt8より前においては、第1の旧版ソフトウェアの動作ロジックが実行される。このため、第1の新版ソフトウェアによって新たに実行可能となる所定の機能をユーザが選択するための画面は、タイミングt8より前においては、表示部21に表示されない。タイミングt8以降においては、第1の新版ソフトウェアによって新たに実行可能となった所定の機能をユーザが選択するための画面が、表示部21に表示され得る。
図4は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
ステップS1において、更新制御部30は、ソフトウェアの更新を行うことに同意するか否かをユーザに問うための表示画面を、表示部21に表示する。ステップS1は、車両10の主電源がオンの状態で実行される。ユーザは、例えば、表示部21に備えられたタッチパネルを操作することによって、ソフトウェアの更新に同意するか否かの意思表示を行い得る。ソフトウェアの更新にユーザが同意した場合(ステップS1においてYES)、ステップS2に遷移する。ソフトウェアの更新にユーザが同意しない場合(ステップS1においてNO)、図4に示す処理が完了する。
ステップS2において、更新制御部30は、第1の電子制御装置16Aに第1の新版ソフトウェアをバックグラウンドでインストールする。この後、ステップS3に遷移する。
ステップS3において、更新制御部30は、車両10の主電源がオフになったか否かを判定する。即ち、更新制御部30は、イグニッションスイッチ18がオフになったか否かを判定する。車両10の主電源がオフになった場合(ステップS3においてYES)、ステップS4に遷移する。車両10の主電源がオンである場合(ステップS3においてNO)、ステップS3が繰り返される。
ステップS4において、更新制御部30は、第1の電子制御装置16Aにインストールされた第1の新版ソフトウェアのアクティベーションを行う。この後、ステップS5に遷移する。
ステップS5において、更新制御部30は、第2の電子制御装置16Bに第2の新版ソフトウェアをインストールする。この後、ステップS6に遷移する。
ステップS6において、更新制御部30は、第2の電子制御装置16Bにインストールされた第2の新版ソフトウェアのアクティベーションを行う。こうして、図4に示す処理が完了する。
図5は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図5に示す処理は、図4に示す処理が完了した後に実行され得る。
ステップS11において、更新制御部30は、車両10の主電源がオンになったか否かを判定する。車両10の主電源がオンになった場合(ステップS11においてYES)、ステップS12に遷移する。車両10の主電源がオフである場合(ステップS11においてNO)、ステップS11が繰り返される。
ステップS12において、更新制御部30は、第1の電子制御装置16Aと第2の電子制御装置16Bとに協調動作を開始させる。第1の電子制御装置16Aは、第1の新版ソフトウェアの動作ロジックを実行し、第2の電子制御装置16Bは、第2の新版ソフトウェアの動作ロジックを実行する。こうして、図5に示す処理が完了する。
図6は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図6に示す処理は、ソフトウェアの更新が行われた後に実行され得る。
ステップS21において、更新制御部30は、ソフトウェアの更新が正常に完了したか否かを判定する。ソフトウェアの更新が正常に完了した場合(ステップS21においてYES)、図6に示す処理が完了する。一方、ソフトウェアの更新が正常に完了しない場合(ステップS21においてNO)、ステップS22に遷移する。
ステップS22において、更新制御部30は、ソフトウェアを更新前の状態に戻す。例えば、第2の新版ソフトウェアによるソフトウェアの更新が第2の電子制御装置16Bにおいて正常に行われなかった場合、第2の電子制御装置16Bのソフトウェアを更新前の状態に戻す。こうして、図6に示す処理が完了する。
図7は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図7に示す処理は、ソフトウェアの更新が行われた後に実行され得る。
ステップS31において、更新制御部30は、ソフトウェアの更新が正常に完了したか否かを判定する。ソフトウェアの更新が正常に完了した場合(ステップS31においてYES)、図7に示す処理が完了する。一方、ソフトウェアの更新が正常に完了しない場合(ステップS31においてNO)、ステップS32に遷移する。
ステップS32において、時間余裕判定部32は、新版ソフトウェアのインストールのリトライ処理を実行する時間的な余裕があるか否かを判定する。新版ソフトウェアのインストールのリトライ処理を実行する時間的な余裕がある場合(ステップS32においてYES)、ステップS33に遷移する。新版ソフトウェアのインストールのリトライ処理を実行する時間的な余裕がない場合(ステップS32においてNO)、図7に示す処理が完了する。
ステップS33において、更新制御部30は、新版ソフトウェアのインストールのリトライ処理を実行する。こうして、図7に示す処理が完了する。
図8は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図8に示す処理は、ソフトウェアの更新が開始される前に実行され得る。
ステップS41において、電力量判定部34は、バッテリ20に確保されている電力量が十分であるか否かを判定する。より具体的には、電力量判定部34は、バッテリ20に確保されている電力量が、ソフトウェアの更新を行う上で十分であるか否かを判定する。バッテリ20に確保されている電力量がソフトウェアの更新を行う上で十分であると電力量判定部34が判定した場合(ステップS41においてYES)、ステップS42に遷移する。バッテリ20に確保されている電力量がソフトウェアの更新を行う上で十分でないと電力量判定部34が判定した場合(ステップS41においてNO)、図8に示す処理が完了する。
ステップS42において、更新制御部30は、ソフトウェアの更新を開始する。こうして、図8に示す処理が完了する。
図9は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図9に示す処理は、第1の電子制御装置16Aに対する第1の新版ソフトウェアのアクティベーションが完了した後に実行され得る。
ステップS51において、第1の電子制御装置16Aに対する第1の新版ソフトウェアのアクティベーションが正常に完了したか否かを判定する。第1の電子制御装置16Aに対する第1の新版ソフトウェアのアクティベーションが正常に完了した場合(ステップS51においてYES)、ステップS52に遷移する。第1の電子制御装置16Aに対する第1の新版ソフトウェアのアクティベーションが正常に完了しない場合(ステップS51においてNO)、図9に示す処理が完了する。
ステップS52において、更新制御部30は、第1の電子制御装置16Aに対してシャットダウンの処理を行う。こうして、図9に示す処理が完了する。
図10は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図10に示す処理は、第2の電子制御装置16Bに対するアクティベーションが完了した後に実行され得る。
ステップS61において、第2の電子制御装置16Bに対する第2の新版ソフトウェアのアクティベーションが正常に完了したか否かを判定する。第2の電子制御装置16Bに対する第2の新版ソフトウェアのアクティベーションが正常に完了した場合(ステップS61においてYES)、ステップS62に遷移する。第2の電子制御装置16Bに対する第2の新版ソフトウェアのアクティベーションが正常に完了しない場合(ステップS61においてNO)、図10に示す処理が完了する。
ステップS62において、更新制御部30は、第2の電子制御装置16Bに対してシャットダウンの処理を行う。こうして、図10に示す処理が完了する。
図11は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図11に示す処理は、例えば、第1の電子制御装置16Aにインストールされた第1の新版ソフトウェアのアクティベーションが完了し、第2の電子制御装置16Bに対するソフトウェアのインストールが開始される前に実行され得る。
ステップS71において、更新制御部30は、車両10の起動予定時刻までにソフトウェアの更新が完了するか否かを判定する。より具体的には、更新制御部30は、車両10の起動予定時刻に対して所定時間だけ前の時刻までに第2の新版ソフトウェアのアクティベーションが完了するか否かを判定する。車両10の起動予定時刻までにソフトウェアの更新が完了すると見込まれる場合(ステップS71においてYES)、ステップS72に遷移する。車両10の起動予定時刻までにソフトウェアの更新が完了しないと見込まれる場合(ステップS71においてNO)、図11に示す処理が完了する。
ステップS72において、更新制御部30は、第2の電子制御装置16Bに対する第2の新版ソフトウェアのインストールを開始する。こうして、図11に示す処理が完了する。
このように、本実施形態では、第1の新版ソフトウェアの動作ロジックと、第1の旧版ソフトウェアの動作ロジックとを第1の電子制御装置16Aが選択的に実行することが可能となるように、ソフトウェアの更新が行われる。本実施形態によれば、第1の新版ソフトウェアがインストールされた第1の電子制御装置16Aと、第2の新版ソフトウェアがインストールされた第2の電子制御装置16Bとが良好に協調動作し得ない場合、以下のようにすることができる。即ち、このような場合、更新制御部30は、第2の電子制御装置16Bのソフトウェアを更新前の状態に戻し、第1の電子制御装置16Aに第1の旧版ソフトウェアの動作ロジックを実行させる。このようにすることにより、本実施形態によれば、第1の新版ソフトウェアが第1の電子制御装置16Aにインストールされているにもかかわらず、第1の電子制御装置16Aと第2の電子制御装置16Bとを協調動作させることができる。このように、本実施形態によれば、ソフトウェアの更新をより良好に行うことが可能となる。
[変形実施形態]
本発明についての好適な実施形態を上述したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の改変が可能である。
例えば、上記実施形態では、第2の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が第2の電子制御装置16Bに備えられていない場合を例に説明したが、これに限定されるものではない。第2の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が第2の電子制御装置16Bに備えられていてもよい。
また、上記実施形態では、第1の電子制御装置16Aへの第1の新版ソフトウェアのインストールが、車両10の走行中に行われる場合を例に説明したが、これに限定されるものではない。例えば、第1の電子制御装置16Aへの第1の新版ソフトウェアのインストールが、車両10の停止中に行われるようにしてもよい。なお、上述したように、第1の電子制御装置16Aへの第1の新版ソフトウェアのインストールは、ソフトウェアの更新に同意する意思表示がユーザによって行われた場合に開始され得る。
また、上記実施形態では、第1の新版ソフトウェアのアクティベーション後にイグニッションスイッチ18がオンとなり、この後、イグニッションスイッチ18がオフになり、この後、第2の新版ソフトウェアのインストールが行われる場合を例に説明した。しかし、これに限定されるものではない。タイミングt2からタイミングt4までの時間が十分に長い場合には、第1の新版ソフトウェアのアクティベーション、第2の新版ソフトウェアのインストール及び第2の新版ソフトウェアのアクティベーションを連続的に行い得る。
上記実施形態をまとめると以下のようになる。
ソフトウェア更新装置(12)は、ネットワーク(25)を介して供給される新版ソフトウェアを取得する取得部(28)と、前記取得部によって取得される前記新版ソフトウェアを用いて、車両(10)に搭載された複数の電子制御装置(16A、16B)の各々に対してソフトウェア更新を行う更新制御部(30)とを備え、前記複数の電子制御装置のうちの第1の電子制御装置(16A)には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、前記第1の電子制御装置と、前記第1の電子制御装置と協調動作する第2の電子制御装置(16B)とに対して前記ソフトウェア更新が行われる場合、前記更新制御部は、前記ソフトウェア更新が行われた後の前記第1の電子制御装置が、前記第1の新版ソフトウェアの動作ロジックと、前記第1の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、前記第1の電子制御装置に対する前記ソフトウェア更新を行う。このような構成によれば、第1の新版ソフトウェアの動作ロジックと、第1の旧版ソフトウェアの動作ロジックとを第1の電子制御装置が選択的に実行することが可能となるように、ソフトウェアの更新が行われる。このような構成によれば、第1の新版ソフトウェアがインストールされた第1の電子制御装置と、第2の新版ソフトウェアがインストールされた第2の電子制御装置とが良好に協調動作し得ない場合、以下のようにすることができる。即ち、このような場合、更新制御部は、第2の電子制御装置のソフトウェアを更新前の状態に戻し、第1の電子制御装置に第1の旧版ソフトウェアの動作ロジックを実行させる。このようにすることにより、このような構成によれば、第1の新版ソフトウェアが第1の電子制御装置にインストールされているにもかかわらず、第1の電子制御装置と第2の電子制御装置とを協調動作させることができる。このように、このような構成によれば、ソフトウェアの更新をより良好に行うことが可能となる。
ソフトウェア更新装置は、ネットワークを介して供給される新版ソフトウェアを取得する取得部と、前記取得部によって取得される前記新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部とを備え、前記複数の電子制御装置のうちの第1の電子制御装置には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、前記更新制御部は、前記第1の電子制御装置の前記格納可能領域への前記第1の新版ソフトウェアのインストールを、前記第1の電子制御装置と協調動作する第2の電子制御装置に対する第2の新版ソフトウェアのインストールに先立って行い、前記第2の電子制御装置に対する前記ソフトウェア更新が正常に完了した場合に、前記第1の新版ソフトウェアの動作ロジックの実行を前記第1の電子制御装置に開始させる。このような構成によれば、第2の電子制御装置に対するソフトウェアの更新が正常に完了した後に、第1の新版ソフトウェアの動作ロジックの実行が開始される。このため、このような構成によれば、ソフトウェアの更新によって車両の動作に不具合が生じるのを防止することができる。
前記第2の電子制御装置には、前記第2の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられていなくてもよい。
前記第1の電子制御装置は、表示制御機能を有する電子制御装置であってもよい。表示制御機能を有する電子制御装置には、大容量のメモリチップが備えられている。
前記第1の電子制御装置は、車載インフォテイメント用の電子制御装置であるようにしてもよい。車載インフォテイメント用の電子制御装置には、大容量のメモリチップが備えられている。
前記更新制御部は、前記車両に備えられていてもよい。
時間に余裕があるか否かを判定する時間余裕判定部(32)を更に有し、前記電子制御装置に対する前記新版ソフトウェアのインストールが正常に完了せず、且つ、時間に余裕があると前記時間余裕判定部が判定した場合、前記更新制御部は、前記電子制御装置に対する前記新版ソフトウェアのインストールのリトライ処理を行うようにしてもよい。このような構成によれば、電子制御装置に対する新版ソフトウェアのインストールが正常に行い得なかった場合であっても、リトライ処理によって、電子制御装置に新版ソフトウェアをインストールすることが可能となる。
前記第2の電子制御装置に対する前記第2の新版ソフトウェアのインストール、又は、前記第2の電子制御装置にインストールされた前記第2の新版ソフトウェアのアクティベーションが正常に完了しない場合、前記更新制御部は、前記第2の電子制御装置に対してロールバック処理を行うようにしてもよい。このような構成によれば、第2の電子制御装置に対する第2の新版ソフトウェアのインストール又はアクティベーションを正常に行い得ない場合に、第2の電子制御装置のソフトウェアを更新前の状態に戻すことができる。
前記車両に備えられたバッテリ(20)に確保されている電力量が十分であるか否かを判定する電力量判定部(34)を更に有し、前記バッテリに確保されている前記電力量が十分であると前記電力量判定部が判定した場合、前記更新制御部は、前記ソフトウェア更新を開始するようにしてもよい。このような構成によれば、バッテリに確保されている電力量が十分でない場合には、ソフトウェアの更新が行われないため、不具合が生じるのを防止することができる。
前記第1の電子制御装置に対する前記ソフトウェア更新が正常に完了した場合、前記更新制御部は、前記第1の電子制御装置に対してシャットダウンの処理を行うようにしてもよい。このような構成によれば、ソフトウェアの更新が正常に完了した場合に、第1の電子制御装置に対するシャットダウンの処理が行われるため、省電力化を実現することができる。
前記第2の電子制御装置に対する前記ソフトウェア更新が正常に完了した場合、前記更新制御部は、前記第2の電子制御装置に対してシャットダウンの処理を行うようにしてもよい。このような構成によれば、ソフトウェアの更新が正常に完了した場合に、第2の電子制御装置に対するシャットダウンの処理が行われるため、省電力化を実現することができる。
前記更新制御部は、前記第1の電子制御装置に対する前記第1の新版ソフトウェアのインストールを、前記車両の走行中に実行するようにしてもよい。このような構成によれば、ユーザが車両を使用し得ない時間を確実に短縮することが可能となる。
前記更新制御部は、前記第2の電子制御装置に対する前記ソフトウェア更新を、前記車両の主電源がオフになっている際に実行する。
前記更新制御部は、前記第1の旧版ソフトウェアと前記第1の新版ソフトウェアとを前記第1の電子制御装置に併存させるように、前記第1の電子制御装置に対する前記ソフトウェア更新を行う。
前記第1の新版ソフトウェアの前記動作ロジックの実行を前記第1の電子制御装置に開始させると、前記第1の旧版ソフトウェアの前記動作ロジックでは実現し得なかった機能の実行が可能となる。
前記車両が起動される予定の時刻である起動予定時刻を判定する起動予定時刻判定部(36)を更に有し、前記更新制御部は、前記起動予定時刻判定部によって判定された前記起動予定時刻までに前記第2の電子制御装置に対する前記ソフトウェア更新が完了すると見込まれる場合に、前記第2の電子制御装置に対する前記ソフトウェア更新を開始するようにしてもよい。このような構成によれば、車両の起動予定時刻までにソフトウェアの更新を完了し得ない場合には、第2の電子制御装置に対するソフトウェアの更新が開始されない。このため、ユーザが車両を使用し得ない事態が生じるのを防止することができる。
ソフトウェア更新装置は、ネットワークを介して供給される新版ソフトウェアを取得する取得部と、前記取得部によって取得される前記新版ソフトウェアを用いて、車両に備えられた複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部とを備え、前記複数の電子制御装置のうちの第1の電子制御装置には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、前記複数の電子制御装置のうちの第2の電子制御装置には、前記第2の電子制御装置にインストールされた第2の旧版ソフトウェアを更新するための第2の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられておらず、互いに協調動作する前記第1の電子制御装置と前記第2の電子制御装置とに対して前記ソフトウェア更新が行われる場合、前記更新制御部は、前記ソフトウェア更新が行われた後の前記第1の電子制御装置が、前記第1の新版ソフトウェアの動作ロジックと、前記第1の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、前記第1の電子制御装置に対する前記ソフトウェア更新を行う。
車両(10)は、上記のようなソフトウェア更新装置を備える。
ソフトウェア更新方法は、ネットワークを介して供給される新版ソフトウェアを用いて、車両に備えられた複数の電子制御装置の各々に対してソフトウェア更新を行うソフトウェア更新方法であって、前記複数の電子制御装置のうちの第1の電子制御装置には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、前記第1の電子制御装置と、前記第1の電子制御装置と協調動作する第2の電子制御装置とに対して前記ソフトウェア更新が行われる場合、前記ソフトウェア更新が行われた後の前記第1の電子制御装置が、前記第1の新版ソフトウェアの動作ロジックと、前記第1の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、前記第1の電子制御装置に対する前記ソフトウェア更新を行うステップ(S2〜S4)と、前記第1の電子制御装置に対する前記ソフトウェア更新が完了した後に、前記第2の電子制御装置に対する前記ソフトウェア更新を行うステップ(S5、S6)とを有する。
10…車両 11…ソフトウェア更新システム
12…ソフトウェア更新装置 14、40…通信部
16A、16B…電子制御装置 18…イグニッションスイッチ
20…バッテリ 21…表示部
22…サーバ 24…演算部
25…ネットワーク 26…記憶部
28…取得部 30…更新制御部
32…時間余裕判定部 34…電力量判定部
36…起動予定時刻判定部 38…データベース

Claims (19)

  1. ネットワークを介して供給される新版ソフトウェアを取得する取得部と、
    前記取得部によって取得される前記新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部とを備え、
    前記複数の電子制御装置のうちの第1の電子制御装置には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、
    前記第1の電子制御装置と、前記第1の電子制御装置と協調動作する第2の電子制御装置とに対して前記ソフトウェア更新が行われる場合、前記更新制御部は、前記ソフトウェア更新が行われた後の前記第1の電子制御装置が、前記第1の新版ソフトウェアの動作ロジックと、前記第1の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、前記第1の電子制御装置に対する前記ソフトウェア更新を行う、ソフトウェア更新装置。
  2. ネットワークを介して供給される新版ソフトウェアを取得する取得部と、
    前記取得部によって取得される前記新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部とを備え、
    前記複数の電子制御装置のうちの第1の電子制御装置には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、
    前記更新制御部は、前記第1の電子制御装置の前記格納可能領域への前記第1の新版ソフトウェアのインストールを、前記第1の電子制御装置と協調動作する第2の電子制御装置に対する第2の新版ソフトウェアのインストールに先立って行い、前記第2の電子制御装置に対する前記ソフトウェア更新が正常に完了した場合に、前記第1の新版ソフトウェアの動作ロジックの実行を前記第1の電子制御装置に開始させる、ソフトウェア更新装置。
  3. 請求項2に記載のソフトウェア更新装置において、
    前記第2の電子制御装置には、前記第2の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられていない、ソフトウェア更新装置。
  4. 請求項1〜3のいずれか1項に記載のソフトウェア更新装置において、
    前記第1の電子制御装置は、表示制御機能を有する電子制御装置である、ソフトウェア更新装置。
  5. 請求項4に記載のソフトウェア更新装置において、
    前記第1の電子制御装置は、車載インフォテイメント用の電子制御装置である、ソフトウェア更新装置。
  6. 請求項1〜5のいずれか1項に記載のソフトウェア更新装置において、
    前記更新制御部は、前記車両に備えられている、ソフトウェア更新装置。
  7. 請求項1〜6のいずれか1項に記載のソフトウェア更新装置において、
    時間に余裕があるか否かを判定する時間余裕判定部を更に有し、
    前記電子制御装置に対する前記新版ソフトウェアのインストールが正常に完了せず、且つ、時間に余裕があると前記時間余裕判定部が判定した場合、前記更新制御部は、前記電子制御装置に対する前記新版ソフトウェアのインストールのリトライ処理を行う、ソフトウェア更新装置。
  8. 請求項2又は3に記載のソフトウェア更新装置において、
    前記第2の電子制御装置に対する前記第2の新版ソフトウェアのインストール、又は、前記第2の電子制御装置にインストールされた前記第2の新版ソフトウェアのアクティベーションが正常に完了しない場合、前記更新制御部は、前記第2の電子制御装置に対してロールバック処理を行う、ソフトウェア更新装置。
  9. 請求項1〜8のいずれか1項に記載のソフトウェア更新装置において、
    前記車両に備えられたバッテリに確保されている電力量が十分であるか否かを判定する電力量判定部を更に有し、
    前記バッテリに確保されている前記電力量が十分であると前記電力量判定部が判定した場合、前記更新制御部は、前記ソフトウェア更新を開始する、ソフトウェア更新装置。
  10. 請求項1〜9のいずれか1項に記載のソフトウェア更新装置において、
    前記第1の電子制御装置に対する前記ソフトウェア更新が正常に完了した場合、前記更新制御部は、前記第1の電子制御装置に対してシャットダウンの処理を行う、ソフトウェア更新装置。
  11. 請求項1〜10のいずれか1項に記載のソフトウェア更新装置において、
    前記第2の電子制御装置に対する前記ソフトウェア更新が正常に完了した場合、前記更新制御部は、前記第2の電子制御装置に対してシャットダウンの処理を行う、ソフトウェア更新装置。
  12. 請求項1〜11のいずれか1項に記載のソフトウェア更新装置において、
    前記更新制御部は、前記第1の電子制御装置に対する前記第1の新版ソフトウェアのインストールを、前記車両の走行中に実行する、ソフトウェア更新装置。
  13. 請求項1〜12のいずれか1項に記載のソフトウェア更新装置において、
    前記更新制御部は、前記第2の電子制御装置に対する前記ソフトウェア更新を、前記車両の主電源がオフになっている際に実行する、ソフトウェア更新装置。
  14. 請求項1〜13のいずれか1項に記載のソフトウェア更新装置において、
    前記更新制御部は、前記第1の旧版ソフトウェアと前記第1の新版ソフトウェアとを前記第1の電子制御装置に併存させるように、前記第1の電子制御装置に対する前記ソフトウェア更新を行う、ソフトウェア更新装置。
  15. 請求項1〜14のいずれか1項に記載のソフトウェア更新装置において、
    前記第1の新版ソフトウェアの前記動作ロジックの実行を前記第1の電子制御装置に開始させると、前記第1の旧版ソフトウェアの前記動作ロジックでは実現し得なかった機能の実行が可能となる、ソフトウェア更新装置。
  16. 請求項1〜15のいずれか1項に記載のソフトウェア更新装置において、
    前記車両が起動される予定の時刻である起動予定時刻を判定する起動予定時刻判定部を更に有し、
    前記更新制御部は、前記起動予定時刻判定部によって判定された前記起動予定時刻までに前記第2の電子制御装置に対する前記ソフトウェア更新が完了すると見込まれる場合に、前記第2の電子制御装置に対する前記ソフトウェア更新を開始する、ソフトウェア更新装置。
  17. ネットワークを介して供給される新版ソフトウェアを取得する取得部と、
    前記取得部によって取得される前記新版ソフトウェアを用いて、車両に備えられた複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部とを備え、
    前記複数の電子制御装置のうちの第1の電子制御装置には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、
    前記複数の電子制御装置のうちの第2の電子制御装置には、前記第2の電子制御装置にインストールされた第2の旧版ソフトウェアを更新するための第2の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられておらず、
    互いに協調動作する前記第1の電子制御装置と前記第2の電子制御装置とに対して前記ソフトウェア更新が行われる場合、前記更新制御部は、前記ソフトウェア更新が行われた後の前記第1の電子制御装置が、前記第1の新版ソフトウェアの動作ロジックと、前記第1の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、前記第1の電子制御装置に対する前記ソフトウェア更新を行う、ソフトウェア更新装置。
  18. 請求項1〜17のいずれか1項に記載のソフトウェア更新装置を備える車両。
  19. ネットワークを介して供給される新版ソフトウェアを用いて、車両に備えられた複数の電子制御装置の各々に対してソフトウェア更新を行うソフトウェア更新方法であって、
    前記複数の電子制御装置のうちの第1の電子制御装置には、前記第1の電子制御装置にインストールされた第1の旧版ソフトウェアを更新するための第1の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、
    前記第1の電子制御装置と、前記第1の電子制御装置と協調動作する第2の電子制御装置とに対して前記ソフトウェア更新が行われる場合、前記ソフトウェア更新が行われた後の前記第1の電子制御装置が、前記第1の新版ソフトウェアの動作ロジックと、前記第1の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、前記第1の電子制御装置に対する前記ソフトウェア更新を行うステップと、
    前記第1の電子制御装置に対する前記ソフトウェア更新が完了した後に、前記第2の電子制御装置に対する前記ソフトウェア更新を行うステップと
    を有するソフトウェア更新方法。
JP2021501240A 2019-02-22 2019-02-22 ソフトウェア更新装置、車両及びソフトウェア更新方法 Active JP7061724B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/006678 WO2020170406A1 (ja) 2019-02-22 2019-02-22 ソフトウェア更新装置、車両及びソフトウェア更新方法

Publications (2)

Publication Number Publication Date
JPWO2020170406A1 true JPWO2020170406A1 (ja) 2021-10-14
JP7061724B2 JP7061724B2 (ja) 2022-04-28

Family

ID=72144829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021501240A Active JP7061724B2 (ja) 2019-02-22 2019-02-22 ソフトウェア更新装置、車両及びソフトウェア更新方法

Country Status (4)

Country Link
US (1) US11604638B2 (ja)
JP (1) JP7061724B2 (ja)
CN (1) CN113490910B (ja)
WO (1) WO2020170406A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017149825A1 (ja) * 2016-03-02 2017-09-08 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP2018037022A (ja) * 2016-09-02 2018-03-08 株式会社オートネットワーク技術研究所 車載更新システム、車載更新装置及び通信装置の更新方法
JP2018063659A (ja) * 2016-10-14 2018-04-19 日立オートモティブシステムズ株式会社 ソフトウェア更新装置、ソフトウェア更新方法、ソフトウェア更新システム
JP2018200510A (ja) * 2017-05-25 2018-12-20 株式会社デンソーテン ソフトウェア更新装置、ソフトウェア更新システム、及び、ソフトウェア更新方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252369A (zh) * 2013-06-27 2014-12-31 上海博泰悦臻电子设备制造有限公司 车载设备及其双系统备份方法及装置
JP6216730B2 (ja) 2015-03-16 2017-10-18 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
JP6147791B2 (ja) 2015-03-30 2017-06-14 本田技研工業株式会社 プログラム書換装置及びプログラム書換方法
JP6147792B2 (ja) 2015-03-30 2017-06-14 本田技研工業株式会社 プログラム書換装置及びプログラム書換方法
JP6697357B2 (ja) 2016-09-15 2020-05-20 株式会社日立製作所 ソフトウェア更新システム
JP2018133721A (ja) 2017-02-16 2018-08-23 クラリオン株式会社 車載ゲートウェイ装置、通信遮断方法
JP6776220B2 (ja) * 2017-12-21 2020-10-28 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP6832374B2 (ja) * 2019-02-22 2021-02-24 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017149825A1 (ja) * 2016-03-02 2017-09-08 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP2018037022A (ja) * 2016-09-02 2018-03-08 株式会社オートネットワーク技術研究所 車載更新システム、車載更新装置及び通信装置の更新方法
JP2018063659A (ja) * 2016-10-14 2018-04-19 日立オートモティブシステムズ株式会社 ソフトウェア更新装置、ソフトウェア更新方法、ソフトウェア更新システム
JP2018200510A (ja) * 2017-05-25 2018-12-20 株式会社デンソーテン ソフトウェア更新装置、ソフトウェア更新システム、及び、ソフトウェア更新方法

Also Published As

Publication number Publication date
WO2020170406A1 (ja) 2020-08-27
US11604638B2 (en) 2023-03-14
US20220253303A1 (en) 2022-08-11
CN113490910A (zh) 2021-10-08
JP7061724B2 (ja) 2022-04-28
CN113490910B (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
JP6943903B2 (ja) ソフトウェア更新装置、車両及びソフトウェア更新方法
JP7061725B2 (ja) ソフトウェア更新装置、車両及びソフトウェア更新方法
JP6832374B2 (ja) ソフトウェア更新装置、車両及びソフトウェア更新方法
CN109478155B (zh) 车载更新装置、车载更新系统及通信装置的更新方法
US20190114162A1 (en) Control apparatus, program updating method, and computer program
JPWO2019207729A1 (ja) 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム
US20220066768A1 (en) Software update device, update control method, and non-transitory storage medium
JP7061724B2 (ja) ソフトウェア更新装置、車両及びソフトウェア更新方法
JPWO2018142749A1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP7212736B2 (ja) ソフトウェア更新装置、車両及びソフトウェア更新方法
US11995429B2 (en) Software update device, update control method, non-transitory storage medium, and server
US11847439B2 (en) Center, management method, and non-transitory storage medium
JP7380468B2 (ja) ソフトウェア更新装置、更新制御方法、更新制御プログラム、サーバ、otaマスタ及びセンタ
US20220342653A1 (en) Ota master, center, system, update method, non-transitory storage medium, and vehicle
JP7512908B2 (ja) センタ、管理方法および管理プログラム
US20220391193A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
JP2020052960A (ja) 車両制御装置および車両制御方法

Legal Events

Date Code Title Description
A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A527

Effective date: 20210405

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210405

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220418

R150 Certificate of patent or registration of utility model

Ref document number: 7061724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150