JP2020123253A - 車載システム及びecu - Google Patents

車載システム及びecu Download PDF

Info

Publication number
JP2020123253A
JP2020123253A JP2019016050A JP2019016050A JP2020123253A JP 2020123253 A JP2020123253 A JP 2020123253A JP 2019016050 A JP2019016050 A JP 2019016050A JP 2019016050 A JP2019016050 A JP 2019016050A JP 2020123253 A JP2020123253 A JP 2020123253A
Authority
JP
Japan
Prior art keywords
ecu
software
list
identification information
storage unit
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
JP2019016050A
Other languages
English (en)
Other versions
JP7200708B2 (ja
Inventor
保彦 阿部
Yasuhiko Abe
保彦 阿部
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019016050A priority Critical patent/JP7200708B2/ja
Priority to CN202010074955.7A priority patent/CN111506537A/zh
Priority to EP20154571.2A priority patent/EP3699755A3/en
Priority to US16/777,037 priority patent/US11256495B2/en
Publication of JP2020123253A publication Critical patent/JP2020123253A/ja
Application granted granted Critical
Publication of JP7200708B2 publication Critical patent/JP7200708B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】複数のECUのソフトウェアを管理するリストを保持するECUが交換された場合であっても、複数のECUにおいて動作するソフトウェアの組み合わせを確認することができるようにする。【解決手段】マスタECUは、車載システムの起動に応じて、各ECUの記憶部に格納されたリストの識別情報を比較し、リストのうちの新しい方のリストを特定する。そして、マスタECUは、特定されたリストに記録されているソフトウェアの識別情報の組み合わせを用いて、複数のECUの各々のソフトウェアの組み合わせが整合しているか否かを判定する。【選択図】図10

Description

開示の技術は、車載システム及びECUに関する。
従来、複数のファームウェアに従って動作する車両制御装置が知られている。この車両制御装置においては、サーバ等で管理されているバージョンリストと車両制御装置のバージョンの整合性確認を行い整合性が取れない場合、サーバからファームウェアをダウンロードする。具体的には、まず、この車両制御装置は、バージョン管理リストと収集したバージョンに不整合があるか否か判別する。そして、この車両制御装置は、実際のバージョンとバージョン管理リストに示される各々のファームウェアのバージョンとが異なると判別されたとき、実際のバージョンとバージョン管理リストに示される代表バージョンとをサーバに送信する。そして、この車両制御装置は、サーバから提供された更新用ファームウェアを用いて車両制御装置に搭載されたファームウェアを更新する。
また、ECUのプログラムのバージョンアップを行う際、バスで接続された他のECUのプログラムとバージョンの不整合によるECUの動作不良の発生を未然に防止するシステムが知られている。このシステムは、電子制御ユニットに搭載されている現プログラムから更新されるバージョンアッププログラムを保有するサーバを備える。電子制御ユニットのいずれか1つ又はサーバは、現プログラムとバージョンアッププログラム間の依存関係情報を保有し、依存関係情報からバージョンアッププログラムへの更新の可否を判断する。そして、電子制御ユニットのいずれか1つ又はサーバは、更新可と判断する場合にサーバに保有しているバージョンアッププログラムを電子制御ユニットに送信させる。
特開2013-250923号公報 特開2009-053920号公報
ECU同士は互いに連携し動作しているため、各ECUのソフトウェアバージョンには依存関係がある。この依存関係を管理するマスタECUと自情報を通知するスレイブECUとで構成されることがある。
この場合には、例えば、各スレイブECUにおいて動作するソフトウェアのバージョンは、マスタECUによって管理され、マスタECUの記憶部には各スレイブECUのソフトウェアのバージョンが記録されたリストが格納される。
しかし、ECUが交換された場合には、各ECUのソフトウェアのバージョンが記録されたリストが初期化されてしまうときがある。これにより、マスタECUが認識する各スレイブECUのソフトウェアのバージョンと、各スレイブECUにおいて実際に動作するソフトウェアのバージョンとの間において齟齬が生じる。
このような場合には、マスタECUと各スレイブECUとの間の連携が適切に行われない可能性があるため、車載システムを動作させることができないときがある。そのため、ソフトウェアの識別情報が記録されたリストを保持するECUが交換された場合には、複数のECUにおいて実際に動作するソフトウェアの識別情報の組み合わせを確認する必要がある、という課題がある。
一つの側面では、開示の技術は、複数のECUのソフトウェアを管理するリストを保持するECUが交換された場合であっても、複数のECUにおいて動作するソフトウェアの組み合わせを確認することが目的である。
一つの実施態様では、開示の技術は、複数のECUがネットワークを介して接続される車載システムにおいて、前記ECUの記憶部には、前記ECUのソフトウェアの識別情報の組み合わせが記録されたリストが格納される。そして、ECUは、前記車載システムの起動に応じて、前記ECUの記憶部に格納された前記リストの識別情報を比較し、前記リストのうちの新しい方のリストを特定する。そして、ECUは、特定された前記リストに記録されている前記ソフトウェアの識別情報の組み合わせを用いて、前記複数のECUのソフトウェアの組み合わせが整合しているか否かを判定する。
一つの側面として、開示の技術は、複数のECUのソフトウェアを管理するリストを保持するECUが交換された場合であっても、複数のECUにおいて動作するソフトウェアの組み合わせを確認することができる、という効果を有する。
実施形態に係る車載システムの概略ブロック図である。 ソフトウェアバージョンの整合について説明するための説明図である。 マスタECUのリスト記憶部に格納されるリストを説明するための説明図である。 スレイブECUのリスト記憶部に格納されるリストを説明するための説明図である。 実施形態に係るマスタECUとして機能するコンピュータの概略構成を示すブロック図である。 実施形態に係るスレイブECUとして機能するコンピュータの概略構成を示すブロック図である。 本実施形態の情報処理ルーチンの一例を示すフローチャートである。 本実施形態の動作整合処理ルーチンの一例を示すフローチャートである。 縮退動作を行う際のリストの選択を説明するための説明図である。 本実施形態を適用した場合の動作例を説明するための説明図である。 本実施形態を適用した場合の動作例を説明するための説明図である。 本実施形態を適用した場合の動作例を説明するための説明図である。 本実施形態を適用した場合の動作例を説明するための説明図である。 本実施形態を適用した場合の動作例を説明するための説明図である。 本実施形態を適用した場合の動作例を説明するための説明図である。 本実施形態を適用した場合の動作例を説明するための説明図である。 本実施形態を適用した場合の動作例を説明するための説明図である。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
<実施形態の車載システム>
図1に示すように、実施形態に係る車載システム1は、複数のECUを備えている。本実施形態においては、1つのマスタECUと2つのスレイブECUとによって、車載システムが実現されている場合を例に説明する。マスタECU10は、開示の技術の第1ECUの一例である。また、スレイブECU20及びスレイブECU30は、開示の技術の第2ECUの一例である。
図1に示される例では、実施形態に係る車載システム1は、マスタECU10と、スレイブECU20と、スレイブECU30とを備える。マスタECU10と、スレイブECU20と、スレイブECU30とは、通信可能に接続されている。
車両に搭載された複数のECUを動作させるには、各ECUのソフトウェアのバージョンが整合している必要がある。この場合、各ECUのソフトウェアのバージョンが整合しているか否かを確認するために、各ECUのソフトウェアのバージョンを識別するためのソフトウェア識別情報(以下、単に「ソフトウェアバージョン」と称する。)を用いることが考えられる。
この場合、例えば、各ECUのソフトウェアバージョンが一括格納されたリストを用いることにより、各ECUのソフトウェアバージョンの管理が容易となる。具体的には、そのリストに記録された各ECUのソフトウェアバージョンを参照すれば、任意のECUが動作するソフトウェアのソフトウェアバージョンを確認することができる。
例えば、リストがサーバへ格納されている場合は、車載システムが起動する際に、車両に搭載された複数のECUのうち少なくとも1つのECUがサーバと通信を行い、サーバに記憶されているリストを参照する。これにより、車両側において、車両に搭載された複数のECUのソフトウェアバージョンの確認が行われる。そして、複数のECUのソフトウェアバージョンが整合しており、車載システムを適切に動作させることが可能である場合には、各ECUの動作が開始される。
しかし、各ECUが起動した際にサーバと通信できない場合もある。このような場合、車両に搭載されたECUはリストを参照することができないため、複数のECUのソフトウェアバージョンを確認することができない。この場合、車載システムは、車両に搭載された複数のECUの各々が、どのバージョンのソフトウェアで動作するのかを確認することができないため、起動することができない。
このような事情により、車載システム内にリストを保持し、車両内において、各ECUのソフトウェアバージョンを確認することが考えられる。しかし、ECUは交換される場合がある。この場合、リストを保持しているECU(例えば、マスタECU)が交換されたときには、最新のリストが存在せず、各ECUのソフトウェアの整合性が確認できない。
図2に、ソフトウェアバージョンの整合について説明するための説明図を示す。なお、図においては、ソフトウェアバージョンが「SW Ver」と表記されている。例えば、図2に示されるように、リストには、複数のECUの各々のソフトウェアバージョンが記録されている。リストL1には、マスタECUのソフトウェアバージョンは「001」であり、ECUAのソフトウェアバージョンは「001」であり、ECUBのソフトウェアバージョンは「001」であることが記録されている。
ここで、図2のVに示されるように、ECUAのソフトウェアが更新され、ECUAのソフトウェアのバージョンが「002」となった場合を考える。この場合、リストL1はリストL2へ更新され、ECUAのソフトウェアバージョンは「001」から「002」へ書き換えられる。
しかし、ECUAのソフトウェアの更新が行われた後に、図2のEに示されるように、マスタECUが交換された場合、マスタECUの記憶部のリストは初期状態L3となる。この場合には、ECUAにおいて実際に動作するソフトウェアのソフトウェアバージョンと、リストL3に記録されたECUAのソフトウェアバージョンとが一致しない。
このような場合には、実際に動作するソフトウェアバージョンとリストに記録されたソフトウェアバージョンとの間の整合性がとれないため、車載システムは、各ECUを動作させてよいかの判断をすることができない。
なお、マスタECUが交換されるときに、新たなマスタECUに格納されるリストを最新のリストに更新する場合も考えられる。しかし、交換作業が行われる場所によっては、マスタECUが交換されるときにリストを最新のものに更新できない場合も考えられ、上述のような場合が発生すると考えられる。
そこで、本実施形態の車載システム1は、外部サーバと通信をせずに、車両側において各ECUのソフトウェアバージョンの整合性を確認する。また、本実施形態の車載システム1は、各ECUのソフトウェアバージョンが記録されたリストを保持するECUが交換された場合であっても、外部サーバと通信をせずに、車両側において各ECUのソフトウェアバージョンの整合性を確認する。
具体的には、本実施形態の車載システム1に備えられた複数のECUの各々は、各ECUのソフトウェアバージョンが記録されたリストを保持する。また、本実施形態の車載システム1のマスタECU10は、車載システム1が起動する際に、各ECUのソフトウェアバージョンを取得すると共に、各ECUが保持するリストを識別するための識別情報(以下、単に「リストバージョン」と称する。)も取得する。マスタECU10は、リストバージョンに基づいて、最新のリストを特定し、自らのリストを最新に更新する。
そして、マスタECU10は、最新のリストに記録されている各ECUのソフトウェアバージョンの組み合わせと、各ECUにおいて実際に動作するソフトウェアバージョンの組み合わせとが整合しているか否かを判定する。
また、以下においては、各ECUのソフトウェアバージョンは「SW Ver XXX-YYY」と表記される。「XXX」は、他のECUに影響するソフトウェアのソフトウェアバージョンを表す。また、「YYY」は、他のECUに影響しないソフトウェアのソフトウェアバージョンを表す。本実施形態のリストは、ソフトウェアバージョンのうちの「XXX」のみが記録される。
また、本実施形態のマスタECU10は、過去のリストを保持しているものとする。ただし、マスタECU10が保持可能なリストは有限とする。
最新のリストに記録されているソフトウェアバージョンの組み合わせと、各ECUで実際に動作するソフトウェアバージョンの組み合わせとが一致していない場合、一致していないソフトウェアバージョンに対応するECUのソフトウェアを更新する必要がある。
しかし、車両に搭載されたECUのソフトウェアの更新を行うためには、例えば、車載システム1と外部サーバとの間における通信処理を表すOver The Air(OTA)を行い、該当するソフトウェアを取得する必要がある。
しかし、OTAによるソフトウェアの更新処理に時間がかかる場合がある。そこで、本実施形態の車載システム1のマスタECU10は、各ECUのソフトウェアバージョンに適合するリストを選択し、選択されたリストに記録されたソフトウェアバージョンによって各ECUを動作させるような制御処理を行う。これにより、ソフトウェアの更新が必要なECUが存在する場合であっても、OTAによるソフトウェアの更新処理を行わずに、車載システムの起動が実現される。
以下、具体的に説明する。
図1に示されるように、マスタECU10は、機能的には、リスト記憶部12と、処理部14と、通信部16と、を備えている。また、図1に示されるように、スレイブECU20は、機能的には、リスト記憶部22と、処理部24と、通信部26と、を備えている。また、スレイブECU30は、機能的には、リスト記憶部32と、処理部34と、通信部36と、を備えている。
[マスタECU]
マスタECU10のリスト記憶部12には、マスタECU10とスレイブECU20とスレイブECU30の各々のソフトウェアバージョンが記録されたリストが格納されている。
図3に、マスタECU10のリスト記憶部12に格納されるリストを説明するための説明図を示す。図3に示されるように、マスタECU10のリスト記憶部12に格納されるリストには、マスタECU10が保持するリストのリストバージョンと、マスタECU10のソフトウェアバージョンとが対応付けられて格納されている。また、マスタECU10のリスト記憶部12に格納されるリストには、スレイブECU10のソフトウェアバージョンと、スレイブECU20のソフトウェアバージョンとが対応付けられて格納されている。
例えば、図3に示されるように、リストLm1には、リストLm1のリストバージョン「001」と、マスタECU10のソフトウェアバージョン「001」とが対応付けられて格納されている。また、リストLm1には、スレイブECU20のソフトウェアバージョン「001」と、スレイブECU30のソフトウェアバージョン「001」とが対応付けられて格納されている。
なお、マスタECU10のリスト記憶部12には、古いリストも格納されている。このため、図3に示されるように、リストLm3のリストバージョン「003」よりも古いリストバージョンである、リストバージョン「001」のリストLm1とリストバージョン「002」のリストLm2とが、マスタECU10のリスト記憶部12に格納される。過去のリストは、後述する処理において用いられる。
マスタECU10の処理部14は各処理を行う。処理部14の詳細な処理については後述する。また、マスタECU10の通信部16は、スレイブECU20及びスレイブECU30との間で情報の送受信を行う。
[スレイブECU]
スレイブECU20のリスト記憶部22には、マスタECU10とスレイブECU20とスレイブECU30の各々のソフトウェアバージョンが記録されたリストが格納されている。
図4に、スレイブECU20のリスト記憶部22に格納されるリストを説明するための説明図を示す。図4に示されるように、スレイブECU20のリスト記憶部22に格納されるリストには、スレイブECU20が保持するリストのリストバージョン「002」と、マスタECU10のソフトウェアバージョン「001」と、が対応付けられて格納されている。また、スレイブECU20のリスト記憶部22に格納されるリストには、スレイブECU20のソフトウェアバージョン「002」と、スレイブECU30のソフトウェアバージョン「001」とが対応付けられて格納されている。
なお、スレイブECU20のリスト記憶部22には、マスタECU10のリスト記憶部12と異なり、古いバージョンのリストの各々は格納されていない。
スレイブECU20の処理部24は各処理を行う。処理部24の詳細な処理については後述する。また、スレイブECU20の通信部36は、マスタECU10及びスレイブECU30との間で情報の送受信を行う。
スレイブECU30のリスト記憶部32には、スレイブECU20のリスト記憶部22と同様のリストが格納されている。また、スレイブECU30の処理部34、及びスレイブECU30の通信部36は、スレイブECU20の各部と同様の機能を有するため、説明を省略する。なお、リスト記憶部12、リスト記憶部22、及びリスト記憶部32は、開示の技術の記憶部の一例である。
車載システム1におけるマスタECU10は、例えば、図5に示すコンピュータ50で実現することができる。コンピュータ50はCPU51、一時記憶領域としてのメモリ52、及び不揮発性の記憶部53を備える。また、コンピュータ50は、入出力装置が接続される入出力interface(I/F)54、及び記録媒体59に対するデータの読み込み及び書き込みを制御するread/write(R/W)部55を備える。また、コンピュータ50は、インターネット等のネットワークに接続されるネットワークI/F56を備える。CPU51、メモリ52、記憶部53、入出力I/F54、R/W部55、及びネットワークI/F56は、バス57を介して互いに接続される。
記憶部53は、Hard Disk Drive(HDD)、Solid State Drive(SSD)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部53には、コンピュータ50を車載システム1のマスタECU10として機能させるための情報処理プログラム60が記憶されている。情報処理プログラム60は、処理プロセス61と、通信プロセス62とを有する。記憶領域67には、リスト記憶部12を構成する情報が記憶される。
CPU51は、情報処理プログラム60を記憶部53から読み出してメモリ52に展開し、情報処理プログラム60が有するプロセスを順次実行する。CPU51は、処理プロセス61を実行することで、図1に示す処理部14として動作する。また、CPU51は、通信プロセス62を実行することで、図1に示す通信部16として動作する。また、CPU51は、リスト記憶領域67から情報を読み出して、リスト記憶部12をメモリ52に展開する。これにより、情報処理プログラム60を実行したコンピュータ50が、車載システム1におけるマスタECU10として機能することになる。ソフトウェアである情報処理プログラム60を実行するCPU51はハードウェアである。
なお、情報処理プログラム60により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit(ASIC)等で実現することも可能である。
車載システム1における、スレイブECU20及びスレイブECU30は、例えば、図6に示すコンピュータ80で実現することができる。コンピュータ80はCPU81、一時記憶領域としてのメモリ82、及び不揮発性の記憶部83を備える。また、コンピュータ80は、入出力装置が接続される入出力I/F84、及び記録媒体89に対するデータの読み込み及び書き込みを制御するR/W部85を備える。また、コンピュータ80は、インターネット等のネットワークに接続されるネットワークI/F86を備える。CPU81、メモリ82、記憶部83、入出力I/F84、R/W部85、及びネットワークI/F86は、バス87を介して互いに接続される。
記憶部83は、HDD、SSD、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部83には、コンピュータ80を車載システム1のスレイブECU20及びスレイブECU30として機能させるための処理プログラム90が記憶されている。処理プログラム90は、処理プロセス91と、通信プロセス92とを有する。記憶領域97には、スレイブECU20のリスト記憶部22又はスレイブECU30のリスト記憶部32を構成する情報が記憶される。
CPU81は、処理プログラム90を記憶部83から読み出してメモリ82に展開し、処理プログラム90が有するプロセスを順次実行する。CPU81は、処理プロセス91を実行することで、図1に示す処理部24又は処理部34として動作する。また、CPU81は、通信プロセス92を実行することで、図1に示す通信部26又は通信部36として動作する。また、CPU81は、リスト記憶領域97から情報を読み出して、リスト記憶部22又はリスト記憶部32をメモリ82に展開する。これにより、処理プログラム90を実行したコンピュータ80が、車載システム1におけるスレイブECU20及びスレイブECU30として機能することになる。ソフトウェアである処理プログラム90を実行するCPU81はハードウェアである。
なお、処理プログラム90により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
次に、本実施形態に係る車載システム1の作用について説明する。まず、車載システム1のマスタECU10は、車載システム1が起動する際に、図7に示す情報処理ルーチンを実行する。
ステップS100において、マスタECU10の処理部14は、複数のスレイブECU20及びスレイブECU30の各々において実際に動作するソフトウェアのソフトウェアバージョンを取得する。具体的には、マスタECU10の処理部14は、通信部16を介して、各スレイブECU20及びスレイブECU30から送信されたソフトウェアバージョンを受信する。なお、スレイブECU20及びスレイブECU30の各々のソフトウェアバージョンは、スレイブECU20及びスレイブECU30の各々のリスト記憶部のリストから読み出され、マスタECU10へ送信される。また、ステップS100において、マスタECU10の処理部14は、マスタECU10の所定の記憶部(図示省略)に記憶されている、マスタECU10で実際に動作するソフトウェアのソフトウェアバージョンを読み出す。
また、ステップS100において、マスタECU10の処理部14は、複数のスレイブECU20及びスレイブECU30の各々のリスト記憶部に格納されたリストのリストバージョンを取得する。具体的には、マスタECU10の処理部14は、通信部16を介して各スレイブECU20及びスレイブECU30が保持するリストのリストバージョンを受信する。
ステップS102において、マスタECU10の処理部14は、マスタECU10のリスト記憶部12に格納されている最新のリストのリストバージョンと、上記ステップS100で得られたリストバージョンの各々とを比較する。そして、マスタECU10の処理部14は、リストバージョンの比較結果に基づき、各リストのうちの新しい方のリストを特定する。具体的には、マスタECU10の処理部14は、各ECUが保持するリストの中から、最新のリストを特定する。
ステップS104において、マスタECU10の処理部14は、上記ステップS102で得られた比較結果に基づいて、マスタECU10のリスト記憶部12に格納されているリストが最新であるか否かを判定する。マスタECU10のリスト記憶部12に格納されているリストが最新である場合には、ステップS112へ移行する。一方、マスタECU10のリスト記憶部12に格納されているリストが最新でない場合には、ステップS106へ移行する。
ステップS106において、マスタECU10の処理部14は、上記ステップS1022で得られた比較結果に基づいて、最新のリストを保持しているECUに対して、リストを要求する要求信号を、通信部16を介して送信する。
ステップS108において、マスタECU10の処理部14は、最新のリストを保持しているECUから送信された最新のリストを取得する。
ステップS110において、マスタECU10の処理部14は、リスト記憶部12に格納されたリストを、上記ステップS120で取得された最新のリストで更新する。これにより、マスタECU10のリスト記憶部12に格納されているリストは最新のものとなる。
ステップS112において、マスタECU10の処理部14は、リスト記憶部12の最新のリストに記録されている各ECUのソフトウェアバージョンの各々と、上記ステップS100で取得されたソフトウェアバージョンの各々との間の整合性を確認する。具体的には、マスタECU10の処理部14は、最新のリストに記録されている各ECUのソフトウェアバージョンの組み合わせと、上記ステップS100で得られた各ECUのソフトウェアバージョンの組み合わせとを比較する。そして、マスタECU10の処理部14は、最新のリストに記録されている各ECUのソフトウェアバージョンと、各ECUにおいて実際に動作するソフトウェアのソフトウェアバージョンとが整合しているか否かを判定する。
ステップS114において、マスタECU10の処理部14は、最新のリストに記録されているソフトウェアバージョンの組み合わせと、上記ステップS100で得られたソフトウェアバージョンの組み合わせとが整合している場合には、処理を終了する。一方、マスタECU10の処理部14は、最新のリストに記録されているソフトウェアバージョンの組み合わせと、上記ステップS100で得られたソフトウェアバージョンの組み合わせとが整合していない場合には、ステップS116へ移行する。
ステップS116において、マスタECU10の処理部14は、マスタECU10、スレイブECU20、又はスレイブECU30に対して、ソフトウェアの動作を整合させるための動作整合処理を行う。本ステップS116の処理が実行されるということは、最新のリストのソフトウェアバージョンと、各ECUにおいて実際に動作するソフトウェアのソフトウェアバージョンとが整合していないということになる。このため、各ECUにおいて実際に動作するソフトウェアが最新の状態ではなく、整合が取れていない状態であるため、ステップS116において、各ECUにおいて実際に動作するソフトウェアの整合を取るための処理が実行される。
ステップS116は、図8に示す動作整合処理ルーチンによって実現される。
図8に示すステップS200において、マスタECU10の処理部14は、ユーザに対して、ECUのソフトウェアを更新するか否かに関する問い合わせ情報を提示する。そして、マスタECU10の処理部14は、ユーザから入力された、ECUのソフトウェアを更新するか否かを指示する指示情報を取得する。なお、指示情報は、ソフトウェアの更新を延期するか否かを示す指示情報であってもよい。
ステップS202において、マスタECU10の処理部14は、上記ステップS200で取得された指示情報に基づき、ECUで動作するソフトウェアを更新するか否かを判定する。上記ステップS200で取得された指示情報が、ソフトウェアを更新する旨を表している場合には、ステップS204へ進む。一方、上記ステップS200で取得された指示情報が、ソフトウェアを更新しない旨を表している場合には、ステップS206へ進む。
ステップS204において、マスタECU10の処理部14は、ソフトウェアの更新を指示する指示信号を、通信部16を介してソフトウェアを更新する対象のECUへ送信する。これにより、指示信号を受信したECUは、OTAによるソフトウェアの更新処理を実行する。なお、対象のECUのリスト記憶部に記憶されるリストは、当該ECUのソフトウェアが更新された場合に更新される。
また、ステップS204において、マスタECU10の処理部14は、マスタECU10のソフトウェアバージョンが、最新のリストに記録されているソフトウェアバージョンよりも古いことを示す場合、マスタECU10自身のソフトウェアの更新を行う。
ステップS206において、マスタECU10の処理部14は、各ECUの動作が可能なソフトウェアバージョンが記録されているリストを選択する。
例えば、図9に示されるように、マスタECU10のリスト記憶部12に格納されている、最新のリストがリストLmであったとする。最新のリストLmに記録されている各ECUのソフトウェアバージョンの各々は、マスタECU10のソフトウェアバージョンが「001」、スレイブECU20のソフトウェアバージョンが「002」、スレイブECU30のソフトウェアバージョンが「002」である。スレイブECU20が保持しているリストLs20に記録されている各ECUのソフトウェアバージョンの各々は、リストLmと同様である。
一方で、スレイブECU30が保持しているリストLs30は、各ECUのソフトウェアバージョンは「001」である。このため、スレイブECU30は、OTAによるソフトウェアの更新処理を実行する必要があるが、ユーザからの指示情報により、ソフトウェアの更新処理が延期されたとする。
この場合、マスタECU10は、リスト記憶部12に格納されている過去のリストから、例えば、リストLcを選択する。リストLcは、スレイブECU30が動作可能なソフトウェアバージョン「001」が記録されている。また、リストLcは、スレイブECU30が動作可能なソフトウェアバージョン「001」が記録されているリストの中で最も新しいリストである。
そして、マスタECU10は、選択されたリストに記録されている、ソフトウェアバージョンの組み合わせとなるように、該当するソフトウェアバージョン相当の動作を指示する指示信号を対象のECUへ出力する。
具体的には、ステップS208において、マスタECU10の処理部14は、上記ステップS206で選択されたリストに記録されたソフトウェアバージョンを含む指示信号を、対象となるECUへ送信する。これにより、ソフトウェアバージョンを含む指示信号を受信したECUは、ソフトウェアの更新処理をせずに、古いバージョンのソフトウェアで動作する。
例えば、マスタECU10は、スレイブECU20で動作するソフトウェアのソフトウェアバージョンを「002」から「001」へとするような指示信号をスレイブECU20へ出力する。そして、マスタECU10はソフトウェアバージョン「002」、スレイブECU20はソフトウェアバージョン「001」によって縮退動作が行われる。
次に、本実施形態の動作例について説明する。
<動作例1>
動作例1においては、マスタECU10が交換された場合について説明する。図10に、動作例1を説明するための説明図を示す。
図10に示されるように、初期状態においては、マスタECU10のソフトウェアバージョンは「001-001」である。なお、ソフトウェアバージョン「XXX-YYY」のうち、「XXX」のみが整合性を取る対象のソフトウェアバージョンであるため、以下、「XXX」のみをソフトウェアバージョンとして説明する。
また、図10に示されるように、初期状態においては、スレイブECU20のソフトウェアバージョンは「001」である。また、同様に、初期状態においては、スレイブECU30のソフトウェアバージョンは「001」である。
初期状態の各ECUのソフトウェアバージョンは、L1-1として各ECUのリスト記憶部に格納されている。なお、L1-1のうちの1行が1つのリストを表している。例えば、ECU種別「マスタECU」のリスト記憶部12には、リストバージョン「001」、マスタECU10のソフトウェアバージョン「001」が格納されている。また、ECU種別「マスタECU」のリスト記憶部12には、スレイブECU20のソフトウェアバージョン「001」、及びスレイブECU30のソフトウェアバージョン「001」が格納されている。
図10に示されるように、スレイブECU20のソフトウェアがバージョンアップV1によって更新され、ソフトウェアバージョンが「001」から「002」となった場合、各ECUが保持するリストの状態はL1-2となる。図10のリストの状態L1-2に示されるように、リストバージョンは「001」から「002」となり、スレイブECU20のソフトウェアバージョンは「001」から「002」となる。
次に、図10に示されるように、マスタECU10が交換E1によって取換えられた場合、各ECUが保持するリストの状態はL1-3となる。この場合には、マスタECU10の保持するリストは、初期化される。具体的には、マスタECU10の保持するリストは、リストバージョン「001」、マスタECU10のソフトウェアバージョン「001」、スレイブECU20のソフトウェアバージョン「001」、スレイブECU30のソフトウェアバージョン「001」となる。そうすると、図10のL1-3に示されるように、マスタECU10が保持するリストに記録されたソフトウェアバージョンと、スレイブECU20及びスレイブECU30のソフトウェアバージョンとが整合しなくなる。スレイブECU20が実際に動作するソフトウェアバージョンは「002」であるのに対し、マスタECU10は、スレイブECU20のソフトウェアバージョンは「001」と認識しているため、車載システム1を動作させることができない。
このため、車載システム1が起動する際に、スレイブECU20及びスレイブECU30は、自身のECUにおいて実際に動作するソフトウェアの動作ソフトウェアバージョンと、自身が保持するリストのリストバージョンとを、マスタECUへ送信する。具体的には、上記図7のステップS100において、実際に動作するソフトウェアのソフトウェアバージョンと、保持しているリストのリストバージョンとがマスタECU10へ送信される。
具体的には、図11に示されるような情報が、マスタECU10へ送信される。図11に示されるように、スレイブECU20は、ソフトウェアバージョン「002」と、自身が保持するリストバージョン「002」とを、マスタECU10へ送信する。また、図11に示されるように、スレイブECU30は、ソフトウェアバージョン「001」と、自身が保持するリストバージョン「002」とを、マスタECU10へ送信する。
そして、上記図7のステップS102において、マスタECU10は、自身が保持するリストのリストバージョンと、スレイブECU20及びスレイブECU30が保持するリストのリストバージョンとが異なることを認識する。また、マスタECU10は、自身が保持するリストは、スレイブECU20及びスレイブECU30が保持するリストよりも古いことを認識する。
次に、マスタECU10は、上記図7のステップS106において、最も新しいリストを保持しているECU(例えば、スレイブECU20又はスレイブECU30)へリストの送信を要求する要求信号を送信する。具体的には、マスタECU10は、最新のリストのリストバージョンを指定して、スレイブECU20又はスレイブECU30へ要求信号を送信する。
そして、上記図7のステップS108において、マスタECU10は、最新のリストを取得する。また、マスタECU10は、上記図7のステップS110において、リスト記憶部12に格納されているリストを最新のリストで更新する。
次に、マスタECU10は、上記図7のステップS112において、リスト記憶部12に格納されている最新のリストに記録されたソフトウェアバージョンと、既に取得した各ECUのソフトウェアバージョンとの間の整合性を確認する。
動作例1においては、マスタECU10のリストが、最新のリストに更新されるため、上記図7のステップS112での判定結果は整合が取れていることになり、処理が終了する。
<動作例2>
動作例2においては、マスタECU10のソフトウェアの更新及びスレイブECU20のソフトウェアの更新が行われた後に、マスタECU10が交換された場合について説明する。図12に、動作例2を説明するための説明図を示す。
動作例2は、マスタECU10が交換され、新たなマスタECU10となった場合に、新たなマスタECU10において実際に動作するソフトウェアが古くなってしまった場合の動作例である。
具体的には、新たなマスタECU10の動作ソフトウェアバージョンが、交換された古いマスタECU10の動作ソフトウェアバージョンよりも古いことを示している場合に、新たなマスタECU10は、実際に動作する古いソフトウェアを用いて縮退動作を行う。
なお、ユーザによって、ソフトウェアの更新を延期する旨が選択された場合に、新たなマスタECU10の縮退動作が行われる。または、例えば、新たなマスタECU10は、新たなマスタECU10においてソフトウェアの更新を所定の時間内に行うことができないときに、実際に動作するソフトウェアを用いて縮退動作を行うようにしてもよい。
図12に示されるように、初期状態においては、マスタECU10のソフトウェアバージョンは「001」である。また、初期状態においては、スレイブECU20のソフトウェアバージョンは「001」である。また、初期状態においては、スレイブECU30のソフトウェアバージョンは「001」である。初期状態の各ECUのソフトウェアバージョンは、L2-1として各ECUのリスト記憶部に格納されている。
図12に示されるように、スレイブECU20のソフトウェアがバージョンアップV1によって更新され、ソフトウェアバージョンが「001」から「002」となる。また、マスタECU10のソフトウェアがバージョンアップV2によって更新され、ソフトウェアバージョンが「001」から「002」となる。このときのリストの状態はL2-2となる。
次に、図12に示されるように、マスタECU10の交換E1によって取換えられた場合、各ECUが保持するリストの状態はL2-3となる。
この場合、図12のL2-3に示されるように、マスタECU10が保持するリストのリストバージョンと、スレイブECU20及びスレイブECU30が保持するリストのリストバージョンとが整合しなくなる。また、マスタECU10において実際に動作するソフトウェアバージョンと、スレイブECU20及びスレイブECU30が保持するリストに記録されているマスタECU10のソフトウェアバージョンと、が異なる。このため、マスタECU10が保持するリストに記録されたソフトウェアバージョンと、スレイブECU20及びスレイブECU30のソフトウェアバージョンとが整合しなくなる。
この場合には、上記図7のステップS104において、マスタECU10が保持するリストのリストバージョンは、スレイブECU20及びスレイブECU30が保持するリストのリストバージョンに比べ古いということになる。
このため、マスタECU10は、ステップS106からステップS110の処理によって、リスト記憶部12に記録されたリストを最新のものとする。
そして、上記図7のステップS112において、マスタECU10は、最新のリストに記録されたソフトウェアバージョンと、各ECUにおいて実際に動作するソフトウェアのソフトウェアバージョンとを比較する。この結果、マスタECU10において実際に動作するソフトウェアバージョンと、最新のリストに記録されている、マスタECU10のリストバージョンとは、整合していないことが判明する。
このため、マスタECU10は、上記図7のステップS116の処理を実行する。ここで、上記図7のステップS116の処理の詳細を説明する。
上記図7のステップS116の処理を実現する上記図8のステップS200において、マスタECU10は、OTAによる更新が必要である旨をユーザに提示する。そして、マスタECU10は、上記図8のステップS200において、ソフトウェアの更新をするか否かを示す指示情報を、ユーザから取得する。
そして、ユーザからの指示情報が、更新されたソフトウェアでの車載システム1の起動である場合は、上記図8のステップS204において、OTAによるソフトウェアの更新指示が対象のECUへ送信される。そして、対象のECUにおいて、OTAによるソフトウェアの更新が実行される。
一方、上記図8のステップS202において、ユーザからの指示情報がソフトウェアの更新を延期する旨を表している場合には、上記ステップS206及び上記ステップS298において、車載システム1の縮退動作が行われる。
例えば、マスタECU10が最も古いリストバージョンに対応するリストを特定し、そのリストに記録されているソフトウェアバージョンのソフトウェアでの動作を各ECUへ要求する。
この場合には、マスタECU10は、図8に示す上記ステップS206において、リスト記憶部12に記憶された過去のリストバージョンに基づいて、最も古いリストを選択する。そして、マスタECU10は、図8に示す上記ステップS208において、選択されたリストに記録されたソフトウェアバージョンを、対象となるECUへ送信する。ソフトウェアバージョンを受信したECUは、受信したソフトウェアバージョンに対応するソフトウェアによって縮退動作を行う。
ただし、この場合において、マスタECU10のリスト記憶部12に格納されているリストの中に、各ECUの動作に適合するリストがない場合には、対象となるECUに対して、OTAによるソフトウェアの更新を要求する。また、各ECUが、マスタECU10から要求されたソフトウェアバージョンに対応するソフトウェアで動作することができない場合も、同様にOTAによるソフトウェアの更新処理を実行する。
動作例2においては、ユーザによってソフトウェアの更新を延期させる選択が行われると、マスタECU10は、リスト記憶部12に格納された過去のリストからリストを選択する。具体的には、マスタECU10は、自身を含む各ECUのソフトウェアバージョンと適合するリストを、リスト記憶部12に格納されているリストから選択する。
上記図12の例では、マスタECU10は、リストバージョン「001」に対応するリストを選択する。そして、マスタECU10は、選択されたリストの各ECUのソフトウェアバージョン「001」を、スレイブECU20及びスレイブECU30へ送信する。また、スレイブECU20及びスレイブECU30は、受信したソフトウェアバージョン「001」に対応するソフトウェアで縮退動作を行う。これにより、本来はソフトウェアバージョン「002」であるスレイブECU20が、リストバージョン「001」に対応するリストに記録されたソフトウェアバージョン「001」によって縮退動作する。
<動作例3>
動作例3においては、マスタECU10のソフトウェアの更新が行われた後に、マスタECU10が交換された場合について説明する。図13に、動作例3を説明するための説明図を示す。
図13に示されるように、初期状態においては、マスタECU10のソフトウェアバージョンは「001」である。また、初期状態においては、スレイブECU20のソフトウェアバージョンは「001」である。また、初期状態においては、スレイブECU30のソフトウェアバージョンは「001」である。初期状態の各ECUのソフトウェアバージョンは、L3-1として各ECUのリスト記憶部に格納されている。
図13に示されるように、マスタECU10のソフトウェアがバージョンアップV2によって更新され、ソフトウェアバージョンが「001」から「002」となる。そして、各ECUが保持するリストの状態はL3-2となる。
次に、図13に示されるように、マスタECU10が交換E1によって取換えられた場合、マスタECU10のソフトウェアバージョンが「002」から「001」になる。そして、各ECUが保持するリストの状態はL3-3となる。
この場合には、図13のL3-3に示されるように、マスタECU10が保持するリストのリストバージョンと、スレイブECU20及びスレイブECU30が保持するリストのリストバージョンとが整合しなくなる。そのため、上記図7に示すステップS106〜ステップS110においてリストの更新が行われる。しかし、マスタECU10が保持するリストが更新されたとしても、マスタECU10のソフトウェアバージョンは「001」のままである。そこで、上記図7に示すステップS116において、OTAによるマスタECU10のソフトウェアの更新、又は実際に動作可能なソフトウェアでの縮退動作が行われる。マスタECU10のソフトウェアバージョンが「001」から「002」に更新された場合には、各ECUが保持するリストの状態はL3-4となる。
<動作例4>
動作例4においては、マスタECU10が交換され、その交換によってマスタECU10のソフトウェアも更新された場合について説明する。図14に、動作例4を説明するための説明図を示す。
図14に示されるように、初期状態においては、マスタECU10のソフトウェアバージョンは「001」であり、スレイブECU20のソフトウェアバージョンは「001」であり、スレイブECU30のソフトウェアバージョンは「001」である。初期状態の各ECUのソフトウェアバージョンは、L4-1として各ECUのリスト記憶部に格納されている。
図14に示されるように、マスタECU10の交換E2によって取換えられた場合、その交換によってマスタECU10のソフトウェアバージョンが「001」から「002」になる。そして、各ECUが保持するリストの状態はL4-2となる。
図14に示されるリストの状態L4-2においては、マスタECU10のリスト記憶部12に格納されているリストも交換されている。このため、リストの状態L4-2においては、マスタECU10が保持するリストに記録されたマスタECU10のソフトウェアバージョン「002」と、各スレイブECUが保持するリストに記録されたマスタECU10のソフトウェアバージョン「001」とが整合しない。
また、状態L4-2においては、マスタECU10が保持するリストに記録されたスレイブECU20のソフトウェアバージョン「002」と、各スレイブECUが保持するリストに記録されたスレイブECU20のソフトウェアバージョン「001」とが整合しない。
この場合、上記図8のステップS204において、マスタECU10は、スレイブECU20に対しソフトウェアの更新を指示する指示信号を送信する。そして、ソフトウェアの更新を指示する指示信号を受信したスレイブECU20は、OTAによるソフトウェア更新を行い、ソフトウェアバージョンを「001」から「002」へ更新する。また、同様に、マスタECU10は、スレイブECU30に対しソフトウェアの更新を指示する指示信号を送信する。そして、ソフトウェアの更新を指示する指示信号を受信したスレイブECU30は、OTAによるソフトウェア更新を行い、ソフトウェアバージョンを「001」から「002」へ更新する。これにより、各ECUが保持するリストの状態はL4-3となる。
または、上記図8に示すステップS200において、ユーザがソフトウェアの更新を延期した場合、マスタECU10は、リスト記憶部12に記録されている過去のリストから、各ECUの動作と適合するリストであるリストバージョン「001」のリストを選択する。そして、マスタECU10は、自身のソフトウェアのソフトウェアバージョンを「002」から「001」へ縮退させて動作を行う。このため、車載システムとしてはリストバージョン「001」に相当する動作が行われる。
<動作例5>
動作例5においては、スレイブECU20のソフトウェアが更新された後に、スレイブECU30が交換された場合について説明する。図15に、動作例5を説明するための説明図を示す。
図15に示されるように、初期状態の各ECUのソフトウェアバージョンは、L5-1として各ECUのリスト記憶部に格納されている。
図15に示されるように、スレイブECU20のソフトウェアのバージョンアップV3が行われた場合、スレイブECU20のソフトウェアバージョンは「001」から「002」になる。そして、各ECUが保持するリストの状態はL5-2となる。
次に、図15に示されるように、スレイブECU30が交換E3によって取換えられた場合、スレイブECU30が保持するリストは初期化され、各ECUが保持するリストの状態はL5-3となる。
この場合には、図15のL5-3に示されるように、マスタECU10が保持するリストに記録されたスレイブECU30のソフトウェアバージョン「002」と、スレイブECU30のソフトウェアバージョン「001」とが整合しなくなる。
このため、上記図7に示すステップS112において、各ECUのソフトウェアバージョンが整合していないと判定され、ステップS116において動作整合処理が実行される。
そして、上記図8のステップS200において、ソフトウェアの更新をする旨の指示情報がユーザから入力された場合には、マスタECU10は、スレイブECU30に対しソフトウェアの更新を指示する指示信号を送信する。そして、ソフトウェアの更新を指示する指示信号を受信したスレイブECU30は、OTAによるソフトウェア更新を行い、ソフトウェアバージョンを「001」から「002」へ更新する。
または、上記図8に示すステップS200において、ユーザがソフトウェアの更新を延期した場合、マスタECU10は、リスト記憶部12に記録されている過去のリストから、各ECUの動作と適合するリストであるリストバージョン「001」のリストを選択する。そして、マスタECU10は、スレイブECU20に対しソフトウェアの縮退動作を指示する指示信号を送信する。また、スレイブECU20は、受信したソフトウェアバージョン「001」に対応するソフトウェアで縮退動作を行う。このため、車載システムとしてはリストバージョン「001」に相当する動作が行われる。
<動作例6>
動作例6においては、スレイブECU20のソフトウェアのうちの、他のECUに影響がないソフトウェアが更新された後に、マスタECU10が交換された場合について説明する。図16に、動作例6を説明するための説明図を示す。
図16に示されるように、初期状態の各ECUのリスト記憶部に記憶されたリストの各々の状態は、L6-1である。
図16に示されるように、スレイブECU20のソフトウェアの更新V4が行われた場合、スレイブECU20のソフトウェアのうち他のECUに影響のないソフトウェアバージョンは「001」から「002」になる。リストに格納されるソフトウェアバージョンは、他のECUに影響があるソフトウェアのソフトウェアバージョンである。このため、ソフトウェアの更新V4によって各ECUが保持するリストの状態はL6-2となるが、この状態はL6-1と同一の状態である。
次に、図16に示されるように、交換E1によってマスタECU10が取換えられた場合、各ECUが保持するリストの状態はL6-3となる。この場合においても、マスタECU10のソフトウェアバージョンは「001」であるため、リストの状態L6-3は、L6-2及びL6-1と同様である。この場合には、各ECUのソフトウェアバージョンが整合しており、かつリストバージョンの不一致も発生しないこととなる。
<動作例7>
動作例7においては、スレイブECU20が交換され、かつその交換によりスレイブECU20が保持するリストが更新された場合について説明する。図17に、動作例7を説明するための説明図を示す。
図17に示されるように、初期状態の各ECUのリスト記憶部に記憶されたリストの各々の状態はL7-1である。
図17に示されるように、スレイブECU20の交換E7が行われた場合、その交換E7によってスレイブECU20が保持するリストも更新される。この場合、スレイブECU20が保持するリストのリストバージョンは「001」から「002」へ更新される。また、スレイブECU20のソフトウェアのソフトウェアバージョンも「001」から「002」へ更新される。
この場合には、上記図7に示すステップS106〜ステップS110の処理が実行され、マスタECU10のリスト記憶部12のリストは、スレイブECU20が保持する最新のリストであるリストバージョン「002」のリストによって更新される。これにより、各ECUのリスト記憶部に記憶されたリストの各々の状態はL7-3となる。具体的には、リストの各々の状態はL7-3に示されるように、マスタECU10が保持するリストのリストバージョンは「002」となり、そのリスト記録されているスレイブECU20のソフトウェアバージョンは「002」となる。
この場合、マスタECU10及びスレイブECU20のリストバージョン「002」と、スレイブECU30のリストバージョン「001」とは一致しない。しかし、最新のリストバージョン「002」のリストにおける、スレイブECU30のソフトウェアバージョンは「001」であり、古いリストバージョン「001」のリストにおける、スレイブECU30のソフトウェアバージョンは「001」であり同一である。また、各ECUの実際のソフトウェアバージョンの組み合わせは、最新のリストに記録されたソフトウェアバージョンの組み合わせと一致しているため、マスタECU10は、ソフトウェアの更新は必要ないと判定する。このため、スレイブECU30が保持するリストの更新は行われずに処理が終了する。
なお、車載システム1の全てのECUが交換され、古いソフトウェアバージョンの組み合わせで整合性が取れている場合もある。この場合は、通常のOTAによるソフトウェアの更新の確認時に、リストの同期も行われる。
以上説明したように、実施形態に係る車載システムのマスタECUは、車載システム1が起動する際に、複数のスレイブECUの各々のソフトウェアバージョンと、複数のスレイブECUの各々のリスト記憶部に格納されたリストのリストバージョンとを取得する。そして、マスタECUは、マスタECUのリスト記憶部に格納されたリストバージョンと、スレイブECUの各々のリスト記憶部から取得したリストバージョンとを比較し、最新のリストを特定する。そして、マスタECUは、最新のリストに記録されている各ECUのソフトウェアバージョンの組み合わせと、複数のスレイブECUの各々のソフトウェアバージョン及びマスタECUのソフトウェアバージョンの組み合わせとを比較する。そして、マスタECUは、最新のリストに記録されたソフトウェアバージョンの組み合わせと、マスタECUのソフトウェア及び複数のスレイブECUの各々のソフトウェアの組み合わせが整合しているか否かを判定する。これにより、複数のECUのソフトウェアを管理するECUが交換された場合であっても、複数のECUにおいて動作するソフトウェアの組み合わせを確認することができる。
また、本実施形態の車載システムによれば、車両側のシステムにおいてリストを保持することにより、車載システムを起動する際に外部サーバ等に問い合わせをしなくとも、各ECUのソフトウェアの整合性を取ることができる。このため、外部サーバと通信しなくとも、車両の動作についての確認することができる。
また、車載システムが備える全てのECUがリストを保持することにより、マスタECUが交換され、かつ交換されたときにリストの更新を行えない環境であっても、他のスレイブECUが保持するリストによりソフトウェアの整合性を確認することができる。
また、マスタECUが保持するリストを更新するのみで整合性が保たれるため、リストを更新するための外部サーバへの問い合わせを省略することができる。
また、ソフトウェアバージョンの管理について、他のECUに影響するか否かによってソフトウェアバージョンを管理することにより、ECU内において閉じるソフトウェアのバージョンアップを行ったとしても、整合性の確認を簡易に行うことができる。
なお、上記では、各プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD−ROM、DVD−ROM、USBメモリ等の記録媒体に記録された形態で提供することも可能である。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
次に、各実施形態の変形例を説明する。
上記実施形態においては、ソフトウェア識別情報の一例として、ソフトウェアバージョンを用いる場合を例に説明したが、これに限定されるものではない。例えば、ソフトウェアが作成された時刻の情報を、ソフトウェア識別情報として用いるようにしてもよい。
また、上記実施形態においては、リスト識別情報の一例として、リストバージョンを用いる場合を例に説明したが、これに限定されるものではない。例えば、リストが作成された時刻の情報を、リスト識別情報として用いるようにしてもよい。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
第1ECUと、第2ECUと、を含む複数のECUがネットワークを介して接続される車載システムにおいて、
前記第1ECUの記憶部及び前記第2ECUの記憶部には、前記複数のECUのソフトウェアの識別情報の組み合わせが記録されたリストが格納され、
前記第1ECUは、前記車載システムの起動に応じて、前記第1ECUの記憶部に格納されたリストの識別情報と、前記第2ECUの記憶部に格納された前記リストの識別情報と、を比較し、前記リストのうちの新しい方のリストを特定し、
特定された前記リストに記録されている前記ソフトウェアの識別情報の組み合わせを用いて、前記複数のECUのソフトウェアの組み合わせが整合しているか否かを判定する、
車載システム。
(付記2)
前記第1ECUが交換され、新たな前記第1ECUとなった場合に、新たな前記第1ECUのソフトウェアの前記ソフトウェアの識別情報が、交換された前記第1ECUのソフトウェアの前記ソフトウェアの識別情報よりも古いことを示しており、かつ新たな前記第1ECUのソフトウェアの更新を所定の時間内に行うことができない場合に、新たな前記第1ECUは、実際に動作するソフトウェアを用いて縮退動作を行う、
付記1に記載の車載システム。
(付記3)
前記第1ECUは、前記第1ECUの記憶部に格納された前記リストの識別情報と、前記第2ECUの記憶部から取得した前記リストの識別情報とを比較した場合に、前記第1ECUの記憶部に格納された前記リストの識別情報が、前記第2ECUの記憶部から取得した前記リストの識別情報よりも古いことを示しているときに、前記第2ECUの各々の記憶部に記憶されている前記リストのうちの新しい方のリストによって、前記第1ECUの記憶部の前記リストを更新する、
付記1又は付記2に記載の車載システム。
(付記4)
前記第1ECUは、前記第1ECU及び複数の前記第2ECUのソフトウェアの組み合わせが整合していない場合、新しい方のリストに記録されている、前記ソフトウェアの識別情報の組み合わせとなるように、ソフトウェアを更新する対象のECUへソフトウェアの更新を指示する指示信号を出力する、
付記1〜付記3の何れか1項に記載の車載システム。
(付記5)
前記第2ECUの記憶部に記憶される前記リストは、前記第2ECUのソフトウェアが更新された場合に更新される、
付記1〜付記4の何れか1項に記載の車載システム。
(付記6)
前記第1ECUは、前記第1ECUのソフトウェアの前記ソフトウェアの識別情報と、新しい方のリストに記録されている、前記第1ECUのソフトウェアの前記ソフトウェアの識別情報と、を比較し、前記第1ECUのソフトウェアの前記ソフトウェアの識別情報が、新しい方の前記リストに記録されている前記ソフトウェアの識別情報よりも古いことを示す場合、前記第1ECUのソフトウェアの更新を行う、
付記1〜付記5の何れか1項に記載の車載システム。
(付記7)
前記ソフトウェアの識別情報は、ソフトウェアのバージョンを表す情報又はソフトウェアが作成された時刻を表す情報であり、
前記リストの識別情報は、リストのバージョンを表す情報又はリストが作成された時刻を表す情報である、
付記1〜付記6の何れか1項に記載の車載システム。
(付記8)
複数のECUがネットワークを介して接続される車載システムにおいて、
前記ECUの記憶部には、前記ECUのソフトウェアの識別情報の組み合わせが記録されたリストが格納され、
前記車載システムの起動に応じて、前記ECUの記憶部に格納された前記リストの識別情報を比較し、前記リストのうちの新しい方のリストを特定し、
特定された前記リストに記録されている前記ソフトウェアの識別情報の組み合わせを用いて、前記複数のECUのソフトウェアの組み合わせが整合しているか否かを判定する処理部
を備えるECU。
(付記9)
複数のECUがネットワークを介して接続される車載システムにおいて、
前記ECUの記憶部には、前記ECUのソフトウェアの識別情報の組み合わせが記録されたリストが格納され、
前記車載システムの起動に応じて、前記ECUの記憶部に格納された前記リストの識別情報を比較し、前記リストのうちの新しい方のリストを特定し、
特定された前記リストに記録されている前記ソフトウェアの識別情報の組み合わせを用いて、前記複数のECUのソフトウェアの組み合わせが整合しているか否かを判定する
処理をコンピュータに実行させる情報処理方法。
(付記10)
複数のECUがネットワークを介して接続される車載システムにおいて、
前記ECUの記憶部には、前記ECUのソフトウェアの識別情報の組み合わせが記録されたリストが格納され、
前記車載システムの起動に応じて、前記ECUの記憶部に格納された前記リストの識別情報を比較し、前記リストのうちの新しい方のリストを特定し、
特定された前記リストに記録されている前記ソフトウェアの識別情報の組み合わせを用いて、前記複数のECUのソフトウェアの組み合わせが整合しているか否かを判定する
処理をコンピュータに実行させるためのプログラム。
(付記11)
複数のECUがネットワークを介して接続される車載システムにおいて、
前記ECUの記憶部には、前記ECUのソフトウェアの識別情報の組み合わせが記録されたリストが格納され、
前記車載システムの起動に応じて、前記ECUの記憶部に格納された前記リストの識別情報を比較し、前記リストのうちの新しい方のリストを特定し、
特定された前記リストに記録されている前記ソフトウェアの識別情報の組み合わせを用いて、前記複数のECUのソフトウェアの組み合わせが整合しているか否かを判定する
処理をコンピュータに実行させるためのプログラムを記憶した記憶媒体。
1 車載システム
12,22,32 リスト記憶部
14,24,34 処理部
16,26,36 通信部
50 コンピュータ
51 CPU
52 メモリ
53 記憶部
59 記録媒体
60 情報処理プログラム
61 処理プロセス
62 通信プロセス
67 記憶領域

Claims (8)

  1. 第1ECUと、第2ECUと、を含む複数のECUがネットワークを介して接続される車載システムにおいて、
    前記第1ECUの記憶部及び前記第2ECUの記憶部には、前記複数のECUのソフトウェアの識別情報の組み合わせが記録されたリストが格納され、
    前記第1ECUは、前記車載システムの起動に応じて、前記第1ECUの記憶部に格納されたリストの識別情報と、前記第2ECUの記憶部に格納された前記リストの識別情報と、を比較し、前記リストのうちの新しい方のリストを特定し、
    特定された前記リストに記録されている前記ソフトウェアの識別情報の組み合わせを用いて、前記複数のECUのソフトウェアの組み合わせが整合しているか否かを判定する、
    車載システム。
  2. 前記第1ECUが交換され、新たな前記第1ECUとなった場合に、新たな前記第1ECUのソフトウェアの前記ソフトウェアの識別情報が、交換された前記第1ECUのソフトウェアの前記ソフトウェアの識別情報よりも古いことを示しており、かつ新たな前記第1ECUのソフトウェアの更新を所定の時間内に行うことができない場合に、新たな前記第1ECUは、実際に動作するソフトウェアを用いて縮退動作を行う、
    請求項1に記載の車載システム。
  3. 前記第1ECUは、前記第1ECUの記憶部に格納された前記リストの識別情報と、前記第2ECUの記憶部から取得した前記リストの識別情報とを比較した場合に、前記第1ECUの記憶部に格納された前記リストの識別情報が、前記第2ECUの記憶部から取得した前記リストの識別情報よりも古いことを示しているときに、前記第2ECUの各々の記憶部に記憶されている前記リストのうちの新しい方のリストによって、前記第1ECUの記憶部の前記リストを更新する、
    請求項1又は請求項2に記載の車載システム。
  4. 前記第1ECUは、前記第1ECU及び複数の前記第2ECUのソフトウェアの組み合わせが整合していない場合、新しい方のリストに記録されている、前記ソフトウェアの識別情報の組み合わせとなるように、ソフトウェアを更新する対象のECUへソフトウェアの更新を指示する指示信号を出力する、
    請求項1〜請求項3の何れか1項に記載の車載システム。
  5. 前記第2ECUの記憶部に記憶される前記リストは、前記第2ECUのソフトウェアが更新された場合に更新される、
    請求項1〜請求項4の何れか1項に記載の車載システム。
  6. 前記第1ECUは、前記第1ECUのソフトウェアの前記ソフトウェアの識別情報と、新しい方のリストに記録されている、前記第1ECUのソフトウェアの前記ソフトウェアの識別情報と、を比較し、前記第1ECUのソフトウェアの前記ソフトウェアの識別情報が、新しい方の前記リストに記録されている前記ソフトウェアの識別情報よりも古いことを示す場合、前記第1ECUのソフトウェアの更新を行う、
    請求項1〜請求項5の何れか1項に記載の車載システム。
  7. 前記ソフトウェアの識別情報は、ソフトウェアのバージョンを表す情報又はソフトウェアが作成された時刻を表す情報であり、
    前記リストの識別情報は、リストのバージョンを表す情報又はリストが作成された時刻を表す情報である、
    請求項1〜請求項6の何れか1項に記載の車載システム。
  8. 複数のECUがネットワークを介して接続される車載システムにおいて、
    前記ECUの記憶部には、前記ECUのソフトウェアの識別情報の組み合わせが記録されたリストが格納され、
    前記車載システムの起動に応じて、前記ECUの記憶部に格納された前記リストの識別情報を比較し、前記リストのうちの新しい方のリストを特定し、
    特定された前記リストに記録されている前記ソフトウェアの識別情報の組み合わせを用いて、前記複数のECUのソフトウェアの組み合わせが整合しているか否かを判定する処理部
    を備えるECU。
JP2019016050A 2019-01-31 2019-01-31 車載システム及びecu Active JP7200708B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019016050A JP7200708B2 (ja) 2019-01-31 2019-01-31 車載システム及びecu
CN202010074955.7A CN111506537A (zh) 2019-01-31 2020-01-22 车载系统和电子控制单元
EP20154571.2A EP3699755A3 (en) 2019-01-31 2020-01-30 Alignment a combination of software of ecus in an onboard system and ecu
US16/777,037 US11256495B2 (en) 2019-01-31 2020-01-30 Onboard system and ECU

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019016050A JP7200708B2 (ja) 2019-01-31 2019-01-31 車載システム及びecu

Publications (2)

Publication Number Publication Date
JP2020123253A true JP2020123253A (ja) 2020-08-13
JP7200708B2 JP7200708B2 (ja) 2023-01-10

Family

ID=69411307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019016050A Active JP7200708B2 (ja) 2019-01-31 2019-01-31 車載システム及びecu

Country Status (4)

Country Link
US (1) US11256495B2 (ja)
EP (1) EP3699755A3 (ja)
JP (1) JP7200708B2 (ja)
CN (1) CN111506537A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022099197A (ja) * 2020-12-22 2022-07-04 本田技研工業株式会社 制御システム、移動体、サーバ、制御方法、更新制御方法、及びプログラム
JP2022109181A (ja) * 2021-01-14 2022-07-27 本田技研工業株式会社 情報処理装置、制御システム、システム、情報処理方法、制御方法、及びプログラム
WO2023007914A1 (ja) * 2021-07-30 2023-02-02 住友電気工業株式会社 管理装置、検査方法および検査プログラム
EP4254173A1 (en) 2022-03-31 2023-10-04 Toyota Jidosha Kabushiki Kaisha In-vehicle system with a plurality of control devices
JP7438924B2 (ja) 2020-12-15 2024-02-27 株式会社東芝 情報処理装置、方法及びプログラム
US12032478B2 (en) 2020-12-15 2024-07-09 Kabushiki Kaisha Toshiba Electronic apparatus for time series data management, and method and storage medium

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7415726B2 (ja) * 2020-03-26 2024-01-17 株式会社オートネットワーク技術研究所 車載情報処理装置、情報処理方法及びサーバプログラム
JP7367626B2 (ja) * 2020-07-08 2023-10-24 トヨタ自動車株式会社 ソフトウェア更新装置、方法、プログラムおよび車両
CN112673609B (zh) * 2020-09-27 2022-03-04 华为技术有限公司 一种数据传输系统、数据传输方法,智能车以及装置
WO2022205443A1 (zh) * 2021-04-02 2022-10-06 华为技术有限公司 软件升级方法及装置
CN113853580A (zh) * 2021-06-30 2021-12-28 华为技术有限公司 电子控制单元ecu更新的方法、ecu和终端
US20230256981A1 (en) * 2022-02-17 2023-08-17 Steering Solutions Ip Holding Corporation Generic actuator with customized local feedback

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08221259A (ja) * 1995-02-09 1996-08-30 Canon Inc 電子機器及び電子機器のパラメータ設定方法
JP2009053920A (ja) * 2007-08-27 2009-03-12 Auto Network Gijutsu Kenkyusho:Kk 車載用電子制御ユニットのプログラム管理システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300595A1 (en) * 2008-05-30 2009-12-03 Ise Corporation System and Method for Remotely Updating Control Software in a Vehicle With an Electric Drive System
EP2369474B1 (en) * 2009-09-18 2017-06-28 Yamaha Corporation Firmware update apparatus and program
JP5959942B2 (ja) 2012-06-04 2016-08-02 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム、並びにファームウェア更新システム
US20140059534A1 (en) * 2012-08-22 2014-02-27 General Electric Company Method and system for software management
US20140282470A1 (en) 2013-03-13 2014-09-18 Arynga Inc. Remote transfer of electronic images to a vehicle
US9639344B2 (en) * 2014-12-11 2017-05-02 Ford Global Technologies, Llc Telematics update software compatibility
CN106790330A (zh) * 2015-11-23 2017-05-31 上海汽车集团股份有限公司 车载ecu的远程更新方法、车载ecu及车辆
US12001825B2 (en) * 2016-02-19 2024-06-04 Ford Global Technologies, Llc Method and apparatus for vehicle software update installation
JP6724717B2 (ja) 2016-10-25 2020-07-15 株式会社オートネットワーク技術研究所 車載機器判定システム
US11036484B2 (en) * 2017-01-06 2021-06-15 Ford Global Technologies, Llc Software update management
JP6583641B2 (ja) * 2017-01-10 2019-10-02 京セラドキュメントソリューションズ株式会社 ソフトウェアアップデートシステム、電子機器および管理サーバー
US10261777B2 (en) * 2017-07-25 2019-04-16 Aurora Labs Ltd. Detecting anomalies online using histograms of ECU processing activity
US10983785B1 (en) * 2018-06-28 2021-04-20 Amazon Technologies, Inc. Firmware updating of power units

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08221259A (ja) * 1995-02-09 1996-08-30 Canon Inc 電子機器及び電子機器のパラメータ設定方法
JP2009053920A (ja) * 2007-08-27 2009-03-12 Auto Network Gijutsu Kenkyusho:Kk 車載用電子制御ユニットのプログラム管理システム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7438924B2 (ja) 2020-12-15 2024-02-27 株式会社東芝 情報処理装置、方法及びプログラム
US12032478B2 (en) 2020-12-15 2024-07-09 Kabushiki Kaisha Toshiba Electronic apparatus for time series data management, and method and storage medium
JP2022099197A (ja) * 2020-12-22 2022-07-04 本田技研工業株式会社 制御システム、移動体、サーバ、制御方法、更新制御方法、及びプログラム
JP7204726B2 (ja) 2020-12-22 2023-01-16 本田技研工業株式会社 制御システム、移動体、サーバ、制御方法、更新制御方法、及びプログラム
US11880671B2 (en) 2020-12-22 2024-01-23 Honda Motor Co., Ltd. Control system, moving object, server, and control method for performing a program update of the moving object
JP2022109181A (ja) * 2021-01-14 2022-07-27 本田技研工業株式会社 情報処理装置、制御システム、システム、情報処理方法、制御方法、及びプログラム
JP7257428B2 (ja) 2021-01-14 2023-04-13 本田技研工業株式会社 情報処理装置、制御システム、システム、情報処理方法、制御方法、及びプログラム
WO2023007914A1 (ja) * 2021-07-30 2023-02-02 住友電気工業株式会社 管理装置、検査方法および検査プログラム
JP2023020328A (ja) * 2021-07-30 2023-02-09 住友電気工業株式会社 管理装置、検査方法および検査プログラム
JP7431199B2 (ja) 2021-07-30 2024-02-14 住友電気工業株式会社 管理装置、検査方法および検査プログラム
EP4254173A1 (en) 2022-03-31 2023-10-04 Toyota Jidosha Kabushiki Kaisha In-vehicle system with a plurality of control devices

Also Published As

Publication number Publication date
US11256495B2 (en) 2022-02-22
US20200249930A1 (en) 2020-08-06
EP3699755A2 (en) 2020-08-26
JP7200708B2 (ja) 2023-01-10
CN111506537A (zh) 2020-08-07
EP3699755A3 (en) 2020-11-25

Similar Documents

Publication Publication Date Title
JP2020123253A (ja) 車載システム及びecu
US8832028B2 (en) Database cloning
US8762980B1 (en) Rolling incremental updates
CN100461104C (zh) 利用通信网络将操作系统远程部署到计算机的系统及方法
CN103902331A (zh) 信息处理装置和信息处理方法
CN107577510B (zh) 一种无盘环境下硬件驱动自动快速预装方法及系统
US20120221609A1 (en) Data Storage System and Method
US7680983B2 (en) Method of restoring data by CDP utilizing file system information
CN106528226B (zh) 操作系统的安装方法及装置
JP5800685B2 (ja) 情報処理装置及びサーバ、制御方法、プログラム及び記録媒体
WO2019159715A1 (ja) 車両制御装置およびプログラム更新システム
CN103365684A (zh) 更新方法和多域嵌入式系统
JP7255105B2 (ja) アプリケーションプログラムおよびデータ転送システム
JP4613598B2 (ja) ディスクシステム
JP4353003B2 (ja) インストール方式およびインストール方法ならびに配布装置およびそのプログラム
US20220019424A1 (en) Software update apparatus, update control method, non-transitory storage medium storing update control program, server, ota master, and center
US11995429B2 (en) Software update device, update control method, non-transitory storage medium, and server
JP7452452B2 (ja) Otaマスタ、ソフトウェアの更新制御方法及び更新制御プログラム、otaマスタを備える車両
GB2403303A (en) Software patch registry
JP2005063420A (ja) コンテンツ配信サーバ、通信端末、コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信プログラム、端末制御プログラムおよび該プログラムを記録した記録媒体
JP5037545B2 (ja) 情報処理システムおよび制御プログラム
US20240193052A1 (en) Commit block structure and device, for multiple file transaction
JP6209854B2 (ja) 情報処理システム
US20220391193A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
KR100631762B1 (ko) 펌웨어 파일 정보를 관리하는 장치, 펌웨어 파일 정보를이용하여 펌웨어를 업데이트하는 장치, 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221205

R150 Certificate of patent or registration of utility model

Ref document number: 7200708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150