IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トヨタ自動車株式会社の特許一覧

特許7540386OTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタ
<>
  • 特許-OTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタ 図1
  • 特許-OTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタ 図2
  • 特許-OTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタ 図3
  • 特許-OTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタ 図4
  • 特許-OTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタ 図5
  • 特許-OTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタ 図6
  • 特許-OTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタ 図7
  • 特許-OTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタ 図8
  • 特許-OTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタ 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】OTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタ
(51)【国際特許分類】
   G06F 8/65 20180101AFI20240820BHJP
   B60R 16/02 20060101ALI20240820BHJP
【FI】
G06F8/65
B60R16/02 660U
【請求項の数】 4
(21)【出願番号】P 2021068295
(22)【出願日】2021-04-14
(65)【公開番号】P2022163396
(43)【公開日】2022-10-26
【審査請求日】2023-03-23
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110001276
【氏名又は名称】弁理士法人小笠原特許事務所
(72)【発明者】
【氏名】酒井 義和
【審査官】大倉 崚吾
(56)【参考文献】
【文献】特開2020-027621(JP,A)
【文献】特開2012-091755(JP,A)
【文献】特開2021-022018(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/60-8/658
B60R 16/02
(57)【特許請求の範囲】
【請求項1】
車両に搭載された複数のターゲットECUのソフトウェア更新を制御するOTAマスタであって、
前記複数のターゲットECUのソフトウェアの更新データ、および、当該ソフトウェアの更新順序を規定した更新順序情報をOTAセンタから受信する通信部と、
前記更新順序に基づいて、前記複数のターゲットECUの前記更新データを用いたソフトウェア更新の実行を制御する制御部とを備え、
前記制御部は、
前記複数のターゲットECUについてソフトウェア更新が現在実行可能であるか否かを示す更新可否情報を取得し、
前記更新可否情報が示すソフトウェア更新が現在実行可能であるターゲットECUについて、前記更新順序に基づいてソフトウェア更新の実行を制御し、
複数のソフトウェア更新のグループである更新グループに、前記更新可否情報が示すソフトウェア更新が現在実行可能でないターゲットECUに係るソフトウェア更新が含まれている場合、前記更新可否情報が示すソフトウェア更新が現在実行可能であるターゲットECUについて、前記更新順序と異なる順序でソフトウェア更新の実行を制御することが可能である、OTAマスタ。
【請求項2】
前記制御部は、前記複数のターゲットECUのソフトウェア更新を並行して実行する制御が可能である、請求項1に記載のOTAマスタ。
【請求項3】
プロセッサとメモリとを備え、車両に搭載された複数のターゲットECUのソフトウェア更新を制御するコンピュータが実行する更新制御方法であって、
前記複数のターゲットECUのソフトウェアの更新データ、および、当該ソフトウェアの更新順序を規定した更新順序情報をOTAセンタから受信するステップと、
前記更新順序に基づいて、前記複数のターゲットECUの前記更新データを用いたソフトウェア更新の実行を制御するステップとを備え、
前記制御するステップでは、
前記複数のターゲットECUについてソフトウェア更新が現在実行可能であるか否かを示す更新可否情報を取得し、
前記更新可否情報が示すソフトウェア更新が現在実行可能であるターゲットECUについて、前記更新順序に基づいてソフトウェア更新の実行を制御し、
複数のソフトウェア更新のグループである更新グループに、前記更新可否情報が示すソフトウェア更新が現在実行可能でないターゲットECUに係るソフトウェア更新が含まれている場合、前記更新可否情報が示すソフトウェア更新が現在実行可能であるターゲットECUについて、前記更新順序と異なる順序でソフトウェア更新の実行を制御することが可能である、更新制御方法。
【請求項4】
プロセッサとメモリとを備え、車両に搭載された複数のターゲットECUのソフトウェア更新を制御するコンピュータが実行する更新制御プログラムであって、
前記複数のターゲットECUのソフトウェアの更新データ、および、当該ソフトウェアの更新順序を規定した更新順序情報をOTAセンタから受信するステップと、
前記複数のターゲットECUについてソフトウェア更新が現在実行可能であるか否かを示す更新可否情報を取得し、前記更新可否情報が示すソフトウェア更新が現在実行可能であるターゲットECUについて、前記更新順序に基づいてソフトウェア更新の実行を制御し、複数のソフトウェア更新のグループである更新グループに、前記更新可否情報が示すソフトウェア更新が現在実行可能でないターゲットECUに係るソフトウェア更新が含まれている場合、前記更新可否情報が示すソフトウェア更新が現在実行可能であるターゲットECUについて、前記更新順序と異なる順序でソフトウェア更新の実行を制御することが可能であることによって、前記更新順序に基づいて、前記複数のターゲットECUの前記更新データを用いたソフトウェア更新の実行を制御するステップとを、前記コンピュータに実行させる、更新制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ECU(電子制御ユニット)のソフトウェアの更新を制御するためのOTAマスタ、更新制御方法、更新制御プログラム及びOTAセンタに関する。
【背景技術】
【0002】
車両には、車両の動作を制御するための複数のECU(電子制御ユニット)が搭載されている。ECUは、プロセッサと、RAMのような一時的な記憶部と、フラッシュROMのような不揮発性の記憶部とを備え、プロセッサが不揮発性の記憶部に記憶されるソフトウェアを実行することによりECUの制御機能を実現する。各ECUが記憶するソフトウェアは書き換え可能であり、より新しいバージョンのソフトウェアに更新することにより、各ECUの機能を改善したり、新たな車両制御機能を追加したりすることができる。
【0003】
ECUのソフトウェアを更新する技術として、車載ネットワークに接続された車載通信機器とインターネット等の通信ネットワークとを無線で接続し、無線通信を介してOTAセンタからソフトウェアをダウンロードし、ダウンロードしたソフトウェアをインストールすることによりECUのプログラム更新や追加を行うOTA(Over The Air)技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2004-326689号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
OTAのキャンペーンによって複数のECUに対してソフトウェア更新を行う場合、更新の順序に制約がある場合がある。例えば、ソフトウェア更新済みのECU1から新たな信号(機能追加が目的のソフトウェア更新により新たに追加された信号等)が、ソフトウェア更新前のECU2(旧ソフトウェアで動作しているECU2)に送信された場合、この新たな信号を受信したECU2が不明な信号を受信したとしてエラー判定をしてしまう場合がある。
【0006】
それ故に、本開示は、複数のECUについてソフトウェア更新の順序に制約がある場合において、適切にソフトウェア更新を行うことがきるOTAマスタ、更新制御方法、更新制御プログラム等を提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示に係るOTAマスタは、車両に搭載された複数のターゲットECUのソフトウェア更新を制御するOTAマスタであって、複数のターゲットECUのソフトウェアの更新データ、および、当該ソフトウェアの更新順序を規定した更新順序情報をOTAセンタから受信する通信部と、上記の更新順序に基づいて、複数のターゲットECUの更新データを用いたソフトウェア更新の実行を制御する制御部とを備える。
【0008】
本開示に係る更新制御方法は、プロセッサとメモリとを備え、車両に搭載された複数のターゲットECUのソフトウェア更新を制御するコンピュータが実行する更新制御方法であって、複数のターゲットECUのソフトウェアの更新データ、および、当該ソフトウェアの更新順序を規定した更新順序情報をOTAセンタから受信するステップと、上記の更新順序に基づいて、複数のターゲットECUの更新データを用いたソフトウェア更新の実行を制御するステップとを備える。
【0009】
本開示に係る更新制御プログラムは、プロセッサとメモリとを備え、車両に搭載された複数のターゲットECUのソフトウェア更新を制御するコンピュータが実行する更新制御プログラムであって、複数のターゲットECUのソフトウェアの更新データ、および、当該ソフトウェアの更新順序を規定した更新順序情報をOTAセンタから受信するステップと、上記の更新順序に基づいて、複数のターゲットECUの更新データを用いたソフトウェア更新の実行を制御するステップとを、コンピュータに実行させる。
【0010】
本開示に係るOTAセンタは、車両に搭載された、複数のターゲットECUのソフトウェア更新を制御するOTAマスタと、ネットワークを介して通信可能なOTAセンタであって、OTAマスタに、複数のターゲットECUのソフトウェアの更新データ、および、当該ソフトウェアの更新順序を規定した更新順序情報を送信する通信部と、通信部により更新データおよび更新順序情報を送信することによって、OTAマスタに、上記の更新順序に基づいて複数のターゲットECUのソフトウェア更新を行わせる制御部とを備える。
【発明の効果】
【0011】
本開示によれば、複数のECUについてソフトウェア更新の順序に制約がある場合において、適切にソフトウェア更新を行うことがきるOTAマスタ、更新制御方法、更新制御プログラム等を提供できる。
【図面の簡単な説明】
【0012】
図1】一実施形態に係るネットワークシステムの全体構成の一例を示すブロック図
図2図1に示したOTAセンタの概略構成の一例を示すブロック図
図3図1に示したOTAマスタの概略構成の一例を示すブロック図
図4図1に示したOTAセンタの一例を示す機能ブロック図
図5図1に示したOTAマスタの一例を示す機能ブロック図
図6】更新可否情報の一例を説明するための図
図7】更新順序情報の一例を説明するための図
図8図1に示したOTAマスタが実行する制御処理の一例を示すフローチャート
図9】更新順序情報の他の例を説明するための図
【発明を実施するための形態】
【0013】
(一実施形態)
図1は、一実施形態に係るネットワークシステムの全体構成の一例を示すブロック図である。図2は、図1に示したOTAセンタの概略構成の一例を示すブロック図である。図3は、図1に示したOTAマスタの概略構成の一例を示すブロック図である。
【0014】
図1に示すネットワークシステムは、車両に搭載されたECU(Electronic Control Unit;電子制御ユニット)13a~13dのソフトウェアを更新するためのシステムであり、OTAセンタ1と、車両に搭載される車載ネットワーク2とを備える。
【0015】
OTAセンタ1は、インターネット等の通信ネットワーク5を介して車両に搭載されたOTAマスタ11と無線等で通信可能であり、車両に搭載されたECU13a~13dのソフトウェア更新を管理する。
【0016】
図2に示すように、OTAセンタ1は、CPU21と、RAM22と、記憶装置23と、通信装置24とを備える。記憶装置23は、ハードディスクやSSD等の読み書き可能な記憶媒体を備え、ソフトウェアの更新管理を実行するためのプログラムや、更新管理に用いる情報、ECUの更新データ等を記憶する。CPU21は、記憶装置23から読み出したプログラムを、RAM22を作業領域として用いて実行することにより、制御処理を実行する。通信装置24は、通信ネットワーク5を介してOTAマスタ11と通信を行う。
【0017】
図1に示すように、車載ネットワーク2は、OTAマスタ11と、通信モジュール12と、複数のECU13a~13dと、HMI(Human Machine Interface;例えば、入力操作が可能なカーナビゲーションシステムの表示装置)14とを備える。OTAマスタ11は、バス15aを介して通信モジュール12と接続され、バス15bを介してECU13a及び13bと接続され、バス15cを介してECU13c及び13dと接続され、バス15dを介してHMI14と接続されている。OTAマスタ11は、通信モジュール12を介してOTAセンタ1と無線での通信が可能である。OTAマスタ11は、OTAセンタ1から取得した更新データに基づいて、ECU13a~13dのうちのソフトウェア(「SW」という場合がある)の更新対象であるECU(「ターゲットECU」という場合がある)のソフトウェア更新を制御する。通信モジュール12は、車載ネットワーク2とOTAセンタ1とを接続する通信機器である。ECU13a~13dは、車両の各部の動作を制御する。HMI14は、ECU13a~13dのソフトウェアの更新処理の際に、更新データがあることの表示や、ユーザや管理者にソフトウェア更新に対する承諾を求めるための承諾要求画面の表示、更新結果の表示等の各種表示を行うために用いられる。なお、図1では、4つのECU13a~13dを例示したが、ECUの数は限定されない。
【0018】
図3に示すように、OTAマスタ11は、CPU31と、RAM32と、ROM33と、記憶装置34とを備えるマイクロコンピュータ35と、通信装置36とを備える。CPU31は、ROM33から読み出したプログラムを、RAM32を作業領域として用いて実行することにより、制御処理を実行する。通信装置36は、図1に示したバス15a~15dを介して、通信モジュール12、ECU13a~13d、HMI14と通信を行う。
【0019】
ここで、ソフトウェアの更新処理は、OTAセンタ1からOTAマスタ11に更新データをダウンロードするフェーズと、ダウンロードした更新データを更新対象であるターゲットECUに転送し、ターゲットECUの記憶領域に更新データをインストールするフェーズと、ターゲットECUにおいてインストールした更新版のソフトウェアを有効化するアクティベートのフェーズとからなる。
【0020】
ダウンロードは、OTAセンタ1から送信された、ECUのソフトウェアを更新するための更新データを受信して、記憶装置34に記憶する処理である。ダウンロードのフェーズは、更新データの受信だけでなく、ダウンロードの実行可否判断、更新データの検証等、ダウンロードに関する一連の処理の制御を含む。インストールは、ダウンロードした更新データに基づいて、ターゲットECUの不揮発性メモリに更新版のプログラム(更新ソフトウェア)を書き込む処理である。インストールのフェーズは、インストールの実行だけでなく、インストールの実行可否判断、更新データの転送および更新版のプログラムの検証等、インストールに関する一連の処理の制御を含む。アクティベートは、インストールした更新版のプログラムをアクティベート(有効化)する処理である。アクティベートのフェーズは、アクティベートの実行だけでなく、アクティベートの実行可否判断、実行結果の検証等、アクティベートに関する一連の制御を含む。
【0021】
OTAセンタ1からOTAマスタ11に送信される更新データは、ECUの更新ソフトウェア、更新ソフトウェアを圧縮した圧縮データ、更新ソフトウェアまたは圧縮データを分割した分割データのいずれを含んでいても良い。また、更新データは、ターゲットECUを識別する識別子(ECU ID)と、更新前のソフトウェアを識別する識別子(ECU ソフトウェア ID)を含んでいても良い。更新データは、配信パッケージとしてダウンロードされるが、配信パッケージには、単一または複数のECUの更新データが含まれる。
【0022】
更新データが更新ソフトウェアそのものを含む場合は、インストールのフェーズにおいて、OTAマスタ11が更新データ(つまり、更新ソフトウェア)をターゲットECUに転送する。また、更新データが更新ソフトウェアの圧縮データ、差分データあるいは分割データを含む場合、OTAマスタ11がターゲットECUに更新データを転送し、ターゲットECUが更新データから更新ソフトウェアを生成しても良いし、OTAマスタ11が更新データから更新ソフトウェアを生成してから、更新ソフトウェアをターゲットECUに転送しても良い。ここで、更新ソフトウェアの生成は、圧縮データの解凍、差分データまたは分割データの組み付けにより行うことができる。
【0023】
更新ソフトウェアのインストールは、OTAマスタ11からのインストール要求に基づき、ターゲットECUが行うことができる。または、更新データを受信したターゲットECUが、OTAマスタ11からの明示の指示を受けることなく、自律的にインストールを行っても良い。
【0024】
更新ソフトウェアのアクティベートは、OTAマスタ11からのアクティベート要求に基づき、ターゲットECUが行うことができる。または、更新データを受信したターゲットECUが、OTAマスタ11からの明示の指示を受けることなく、自律的にアクティベートを行っても良い。
【0025】
図4は、図1に示したOTAセンタ1の機能ブロック図の一例である。図4に示すように、OTAセンタ1は、記憶部26と、通信部27と、制御部28とを備える。通信部27及び制御部28は、図2に示したCPU21がRAM22を用いて記憶装置23に記憶されるプログラムを実行することにより実現される。記憶部26は、図2に示した記憶装置23により実現される。
【0026】
図5は、図1に示したOTAマスタ11の機能ブロック図の一例である。図5に示すように、OTAマスタ11は、記憶部37と、通信部38と、制御部39とを備える。通信部38及び制御部39は、図3に示したCPU31がRAM32を用いてROM33に記憶されるプログラムを実行することにより実現される。記憶部37は、図3に示した記憶装置34によって実現される。
【0027】
図6は、更新可否情報の一例を説明するための模式図である。更新可否情報は、車両に搭載された各ECU(ターゲットECUを含む各ECU)について、ソフトウェア更新が現在実行可能な状況であるか否かを示す情報である。
【0028】
本実施形態において、車両に搭載されるECUには、車両が停車中の場合はソフトウェア更新を実行できる一方で走行中の場合はソフトウェア更新を実行できないECU(「走行関連ECU」という場合がある)と、車両が停車中の場合も走行中の場合もソフトウェア更新を実行できるECU(「非走行関連ECU」という場合がある)とがある。走行関連ECUは、車両の走行に関わる制御を行うECUであり、例えば、エンジンの制御を行うECUや、ブレーキの制御を行うECUや、ステアリングの制御を行うECUである。非走行関連ECUは、車両の走行に関わらない制御を行うECUであり、例えば、音響システムの制御を行うECUや、空調システムの制御を行うECUである。ここで、停車中は、例えば、IG-ON状態(イグニッション電源がONの状態)であって車速が出ていない状態(車両が移動していない状態)である。また、走行中は、例えば、IG-ON状態であって車速が出ている状態(車両が移動している状態)である。
【0029】
図6に示す更新可否情報は、停車中には、車両に搭載されたECU1~ECU7の全てのECUのソフトウェア更新が可能であることを示す一方で、走行中には、ECU1、ECU4、ECU5、ECU7のみのソフトウェア更新が可能であることを示す。ここで、ECU1、ECU4、ECU5、ECU7は、非走行関連ECUであり、ECU2、ECU3、ECU6は、走行関連ECUである。
【0030】
OTAマスタ11は、更新可否情報を記憶しており、イグニッション電源の状態及び車速の状態を監視することによって車両の状態(停車中か走行中か)を判定し、この判定に応じて更新可否情報(つまり、ソフトウェア更新が可能なECU)を常時更新している。なお、イグニッション電源の状態は、例えば電源状態を監視するデバイスから受信する信号を用いて監視でき、車速の状態は、例えば車速を制御するECUから受信する信号を用いて監視できる。
【0031】
図7は、更新順序情報の一例を説明するための模式図である。更新順序情報は、ECUのソフトウェアの更新順序を示す情報である。
【0032】
本実施形態では、1つのECUに複数のソフトウェアをインストールして稼働させることが可能であり、又、ソフトウェアの更新には順序がある。
【0033】
以下、図7に示す更新順序情報の一例を参照して具体的に説明する。図7に示す更新順序情報は、ソフトウェアの更新対象であるターゲットECUがECU1、ECU3及びECU4であることを示している。また、ターゲットECU1に実装されているソフトウェアa1(図示なし)をソフトウェアA1に更新してから、ソフトウェアA1をソフトウェアA2に更新した後に、ソフトウェアA2をソフトウェアA3に更新することを示している。その後、ターゲットECU3に実装されているソフトウェアa2(図示なし)をソフトウェアA4に更新してから、ソフトウェアA4をソフトウェアA5に更新することを示している。更にその後、ターゲットECU4に実装されているソフトウェアa3(図示なし)をソフトウェアA6に更新してから、ソフトウェアA6をソフトウェアA7に更新することを示している。つまり、ターゲットECU1、ECU3及びECU4について、ソフトウェアA1→A2→A3→A4→A5→A6→A7の順序で更新処理を実行することが規定されている。
【0034】
また、ターゲットECU1に実装されているソフトウェアb1(図示なし)をソフトウェアB1に更新してから、ソフトウェアB1をソフトウェアB2に更新することを示している。その後、ターゲットECU4に実装されているソフトウェアb2(図示なし)をソフトウェアB3に更新することを示している。つまり、ターゲットECU1及びECU4について、ソフトウェアB1→B2→B3の順序で更新処理を実行することが規定されている。
【0035】
また、図7に示すように、更新グループ1(A1→A2→A3→A4→A5→A6→A7の更新グループ)は優先度1であり、更新グループ2(B1→B2→B3の更新グループ)は優先度2であることが規定されている。つまり、更新グループ1の方が、更新グループ2よりも、更新する優先度が高いことが規定されている。つまり、図7に示す更新順序情報は、ソフトウェアの更新順序を、「A1→A2→A3→A4→A5→A6→A7→B1→B2→B3」に規定している。
【0036】
ここで、更新グループが示す更新順序は、ECUによるエラー判定発生の不具合防止等のために、必ず守られる必要がある。具体的には、更新グループ1が示す更新順序(A1→A2→A3→A4→A5→A6→A7の更新順序)、及び、更新グループ2が示す更新順序(B1→B2→B3の更新順序)は、必ず守られる必要がある。一方で、更新グループの優先度が示す更新順序は、例えば更新の重要度に応じた順序であり、必ずしも守られる必要はない。具体的には、優先度1の更新グループ1よりも先に、優先度2の更新グループ2の更新を実行する場合があっても良い。
【0037】
図8は、本実施形態のOTAマスタ11が実行する制御処理の一例を示すフローチャートである。以下では、図8に示すフローチャートに沿って、本実施形態に係る制御処理について説明する。
【0038】
図8に示す処理は、OTAキャンペーンによりOTAセンタ1から送信されたソフトウェアの更新データ及び更新順序情報(図7参照)をOTAマスタ11(図5参照)の通信部38が受信することで開始される。なお、ソフトウェアの更新データ及び更新順序情報は、例えばIG-ON状態(イグニッション電源がONの状態)において受信され、記憶部37に記憶される。
【0039】
ステップS1において、制御部39は、記憶部37に記憶されている更新可否情報(図6参照)に基づいて、ターゲットECUのうちソフトウェア更新が現在可能なECUを判定する。以下、図6に示した更新可否情報を用いて具体的に説明する。図6を用いて説明したように、制御部39は、イグニッション電源の状態及び車速の状態を監視することによって車両の状態(停車中か走行中か)を判定し、この判定に応じて更新可否情報を常時更新している。そして、ステップS1において、制御部39は、例えばターゲットECUがECU1、ECU3及びECU4である場合において車両が走行中である場合には、図6に示す更新可否情報を参照してターゲットECU1及びECU4がソフトウェア更新可能であると判定する。また、ステップS1において、制御部39は、例えばターゲットECUがECU1、ECU3及びECU4である場合において車両が停車中である場合には、図6に示す更新可否情報を参照してターゲットECU1、ECU3及びECU4がソフトウェア更新可能であると判定する。その後、処理はステップS2に移る。
【0040】
ステップS2において、制御部39は、記憶部37に記憶されている更新順序情報(図7参照)に基づいて、ステップS1でソフトウェア更新可能と判定したターゲットECUのソフトウェアのうち、更新するソフトウェアを判定する。以下、図7に示した更新順序情報(ターゲットECUがECU1、ECU3及びECU4の場合における更新順序情報の一例)を用いて具体的に説明する。
【0041】
ステップS2において、制御部39は、車両が停車中である場合には、ステップS1でターゲットECU1、ECU3及びECU4がソフトウェア更新可能と判定されているので(図6参照)、図7に示す更新順序情報に基づいて、ターゲットECU1、ECU3及びECU4のソフトウェアのうち更新するソフトウェアを判定する。例えば図8のフローチャートの処理を開始して最初にステップS2の処理を実行した時点であれば、ECU1のソフトウェアa1(図示なし)をソフトウェアA1に更新することを判定する。また、例えばソフトウェアA2への更新が終了している時点であれば、ECU1のソフトウェアA2をソフトウェアA3に更新することを判定する。また、例えば(ECU1について)ソフトウェアA3への更新が終了している時点であれば、ECU3のソフトウェアa2(図示なし)をソフトウェアA4に更新することを判定する。また、例えば(ECU4について)ソフトウェアA7への更新が終了している時点であれば、ECU1のソフトウェアb1(図示なし)をソフトウェアB1に更新することを判定する。このように車両が停車中の場合には、全てのターゲットECUについてソフトウェア更新が可能なので、更新順序情報が示す更新順序(つまり、図7に示す順序;A1→A2→A3→A4→A5→A6→A7→B1→B2→B3)に従って、更新するソフトウェアが判定される。
【0042】
また、ステップS2において、制御部39は、車両が走行中である場合には、ステップS1でターゲットECU1及びECU4がソフトウェア更新可能である(つまり、ターゲットECU3はソフトウェア更新可能ではない)と判定されているので(図6参照)、ソフトウェア更新可能ではないターゲットECU3のソフトウェア更新を含む更新グループ1(優先度1)のソフトウェア更新を実行する判定は行わず、更新グループ2(優先度2)のソフトウェア更新のうちから実行するものを判定する。例えば図8のフローチャートの処理を開始して最初にステップS2の処理を実行した時点であれば、ECU1のソフトウェアb1(図示なし)をソフトウェアB1に更新することを判定する。また、例えば(ECU1について)ソフトウェアB2への更新が終了している時点であれば、ECU4のソフトウェアb2(図示なし)をソフトウェアB3に更新することを判定する。このように車両が走行中の場合には、ソフトウェア更新可能ではないターゲットECUのソフトウェア更新を含む更新グループのソフトウェア更新を実行する判定は行われず、ソフトウェア更新可能ではないターゲットECUのソフトウェア更新を含まない更新グループのソフトウェア更新を実行する判定が行われる。つまり、車両が走行中の場合には、更新順序情報が示す更新順序(つまり、図7に示す順序;A1→A2→A3→A4→A5→A6→A7→B1→B2→B3)とは異なる順序で、更新するソフトウェアが判定される場合がある。以上に説明したステップ2の処理の次に、処理はステップS3に移る。
【0043】
ステップS3において、制御部39は、ステップS2の処理において、更新するソフトウェアが判定された(つまり、更新するソフトウェアがある)か否かを判定する。ステップS3での判定がYESの場合、処理はステップS4に移り、この判定がNOの場合、処理はステップS1に戻る。
【0044】
ステップS4において、制御部39は、ステップS2で判定した更新するソフトウェアについての更新処理を実行する。具体的には、制御部39は、ステップS2で判定した更新するソフトウェアの更新データを記憶部37から読み出して、ターゲットECUに送信してインストールさせ(ターゲットECUの不揮発性メモリに書き込みさせ)、インストールさせたソフトウェア(更新ソフトウェア)をアクティベート(有効化)させる。その後、処理はステップS5に移る。
【0045】
ステップS5において、制御部39は、今回のOTAキャンペーンに係る全てのソフトウェア更新を実行したか否かを判定する。ステップS5での判定がYESの場合、図8の処理を終了し、この判定がNOの場合、処理をステップS1に戻して残りのソフトウェア更新を実行する。
【0046】
以上に説明したように、本実施形態では、更新順序情報(図7参照)に基づいた更新順序で複数のターゲットECUのソフトウェア更新の実行を制御するので、更新順序に制約のある複数のソフトウェア更新(OTAキャンペーン)を適切に実行できる。
【0047】
また、本実施形態では、更新可否情報(図6参照)および更新可否情報に基づいてソフトウェア更新を実行するので、ターゲットECUのソフトウェア更新ができる状況か否かの制約も考慮して、更新可否情報で規定される更新順序に基づいてソフトウェア更新を適切に実行できる。
【0048】
また、本実施形態では、更新グループ(図7の更新グループ1参照)にソフトウェア更新が現在不可のECU(ECU3)のソフトウェア更新(A4、A5)が含まれる場合、ソフトウェア更新可能なECU(例えば、ECU1)について更新順序情報が示す更新順序と異なる順序でソフトウェア更新が可能(例えば、A1より先にB1の更新が可能)である。これにより、本実施形態によれば、必ずしも守る必要のない更新順序(優先度による更新順序)でソフトウェア更新を実行できるので、効率的に更新処理を進めることができる。
【0049】
(変形例)
上記した本実施形態では、車両が走行中であることにより更新グループ(図7の更新グループ1参照)にソフトウェア更新が現在不可のECU(ECU3)のソフトウェア更新(A4、A5)が含まれる状況では、この更新グループに含まれるソフトウェア更新を全て行わない(保留する)制御例を挙げた。しかし、車両が走行中であっても、ソフトウェア更新が現在不可のECUのソフトウェア更新が含まれる更新グループのソフトウェア更新を、この更新グループ内の更新順序を守った上で、可能な範囲で実行しても良い。例えば、図7に示す更新順序情報の場合であって、車両が走行中であることによりターゲットECU3のソフトウェア更新(A4、A5)ができない状況において(図6参照)、更新グループ1内の更新順序を守った上で、ターゲットECU1のソフトウェア更新(A1→A2→A3)や、ターゲットECU4のソフトウェア更新(A6→A7)を実行する制御としても良い。
【0050】
また、上記した場合(車両が走行中であっても、ソフトウェア更新が現在不可のECUのソフトウェア更新が含まれる更新グループのソフトウェア更新を、この更新グループ内の更新順序を守った上で、可能な範囲で実行する場合)において、複数のターゲットECUについて、ソフトウェア更新を並行して実行させる制御を行っても良い。例えば、図7に示す更新順序情報の場合であって、車両が走行中であることによりターゲットECU3のソフトウェア更新(A4、A5)ができない状況において、ターゲットECU1のソフトウェア更新A1の実行と並行して、ターゲットECU4のソフトウェア更新B3を実行する制御としても良い。このように制御することで、ソフトウェア更新を効率的に進行できる。
【0051】
また、更新順序情報が示す複数の更新グループのソフトウェア更新の優先度が同じである場合には、複数のターゲットECUについて、ソフトウェア更新を並行して実行させる制御を行っても良い。図9は、図7に示す更新順序情報に対して、更新グループ3(更新グループ2と同じ優先度2)が追加されたものである。図9に示す更新順序情報の場合には、例えばターゲットECU1のソフトウェア更新B1の実行と並行して、ターゲットECU4のソフトウェア更新C1を実行する制御としても良い。このように制御することで、ソフトウェア更新を効率的に進行できる。
【0052】
また、上記した本実施形態では、車両に搭載されたECUが、シングルバンクメモリECUである場合について説明した。そのため、上記した本実施形態では、図8のステップS4において、ソフトウェアの更新処理として、更新データをターゲットECU(シングルバンクメモリECU)にインストールしてアクティベートする処理を説明した。
ここで、ECUには、ソフトウェアを格納するための1つのデータ格納領域(バンク)を有するシングルバンクメモリECU(1面メモリECU)と、ソフトウェアを格納するための2つのデータ格納領域(バンク)を有するダブルバンクメモリECU(2面メモリECU)とがある。シングルバンクメモリECUでは、データ格納領域に更新データをインストールしてアクティベートすることにより、ECUのソフトウェアに影響が生じる。一方、ダブルバンクメモリECUでは、2つのデータ格納領域(擬似的に2つのデータ格納領域を構成した場合も含む)のうち、いずれか一方を読み出し対象のデータ格納領域(運用面)とし、読み出し対象のデータ格納領域に格納されるソフトウェアを実行する。読み出し対象でない他方のデータ格納領域(非運用面)には、読み出し対象のデータ格納領域(運用面)のソフトウェアの実行中に、バックグラウンドで更新データを書き込み可能である。ソフトウェア更新処理におけるアクティベート時には、ソフトウェアの読み出し対象のデータ格納領域が切り替えられることにより、更新版のソフトウェアをアクティベート(有効化)することができる。
そして、上記した本実施形態において、車両に搭載されたECUが、ダブルバンクメモリECUであっても良い。この場合には、非運用領域のデータ格納領域に予め更新データ(更新版のソフトウェア)をインストールしておいて、図8のステップS4のソフトウェアの更新処理として、非運用領域のデータ格納領域を運用領域に切り替えるアクティベートを行うこととなる。
【0053】
また、上記した本実施形態で例示したOTAセンタ1の機能は、プロセッサ(CPU)とメモリと通信装置とを備えるコンピュータが実行する管理方法、あるいは、当該コンピュータに実行させる管理プログラム、管理プログラムを記憶したコンピュータ読み取り可能な非一時的記憶媒体として実現することも可能である。同様に、上記した本実施形態として例示したOTAマスタ11の機能は、プロセッサ(CPU)とメモリと通信装置とを備える、車載されたコンピュータが実行する制御方法、あるいは、当該車載されたコンピュータに実行させる制御プログラム、制御プログラムを記憶したコンピュータ読み取り可能な非一時的記憶媒体として実現することも可能である。
【産業上の利用可能性】
【0054】
本開示技術は、ECU(電子制御ユニット)のプログラムを更新するためのネットワークシステムに利用できる。
【符号の説明】
【0055】
1 OTAセンタ
11 OTAマスタ
13a~13d ECU
26、37 記憶部
27、38 通信部
28、39 制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9