Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7679802B2 - 制御システム - Google Patents
[go: Go Back, main page]

JP7679802B2 - 制御システム - Google Patents

制御システム Download PDF

Info

Publication number
JP7679802B2
JP7679802B2 JP2022108367A JP2022108367A JP7679802B2 JP 7679802 B2 JP7679802 B2 JP 7679802B2 JP 2022108367 A JP2022108367 A JP 2022108367A JP 2022108367 A JP2022108367 A JP 2022108367A JP 7679802 B2 JP7679802 B2 JP 7679802B2
Authority
JP
Japan
Prior art keywords
control
control devices
ecu
storage area
control device
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.)
Active
Application number
JP2022108367A
Other languages
English (en)
Other versions
JP2024007128A (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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2022108367A priority Critical patent/JP7679802B2/ja
Priority to KR1020230062347A priority patent/KR102907610B1/ko
Priority to US18/317,135 priority patent/US12411680B2/en
Priority to CN202310685705.0A priority patent/CN117348897A/zh
Publication of JP2024007128A publication Critical patent/JP2024007128A/ja
Application granted granted Critical
Publication of JP7679802B2 publication Critical patent/JP7679802B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/442Shutdown
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture

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)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Description

本開示は、制御システム、制御装置、制御プログラム更新方法、およびプログラムに関する。
従来、複数の制御装置を含む制御システムが搭載された車両が知られている。複数の制御装置の各々には、例えば車両に搭載されたアクチュエータを制御するためのソフトウェアが実装される。車両が市場に供給された後は、例えばOTA(Over The Air)により更新プログラム(制御プログラムの更新版)が車両に提供され得る。車両は、提供された更新プログラムを用いて、制御システムのソフトウェアを更新することができる。上記制御システムに含まれる少なくとも1つの制御装置においてソフトウェアの更新が行われることによって、車両が備える機能の更新(例えば、修正または追加)が行われる。ただし、複数の制御装置によって連携して行われる制御(例えば、自動運転制御のような運転支援系の制御)に関しては、それら制御装置において、実行される制御プログラムのバージョンが整合していることが要求される。
特開2019-144670号公報(特許文献1)には、制御システムに含まれる各実行部が、他の実行部の実行対象とする制御プログラムに含まれる識別子を他の実行部から取得し、その識別子に基づいて、他の実行部の実行対象とする制御プログラムが変更されたか否かを判断する技術が開示されている。
特開2019-144670号公報
各制御装置の実行対象とする制御プログラムの識別子を確認することで、制御装置間でソフトウェアの不整合が生じたか否かを確認することができる。しかし、ソフトウェアの不整合が生じる前にソフトウェアの不整合を抑制することが望ましい。また、ユーザの利便性の観点から、複数の制御装置における制御プログラム(ソフトウェア)の更新は、各制御装置の起動時に一斉に行われることが望ましい。
OTAを利用した車両ソフトウェアの更新は、例えば、ダウンロード(新しいソフトウェアを車両へ送信)、インストール(新しいソフトウェアを制御装置へ書込み)、アクティベート(制御装置に書き込まれた新しいソフトウェアの有効化)のような手順で行われる。こうした手順を経て新しいソフトウェアのアクティベートが完了した複数の制御装置を、一斉にシャットダウンさせた後、一斉に起動させることで、各制御装置のソフトウェアが新しいソフトウェアに更新される。
しかしながら、複数の制御装置が所望のタイミングで一斉にシャットダウンするとは限らない。電源の瞬断などに起因して一部の制御装置のみがアクティベート完了前にシャットダウンしてしまうと、アクティベートが完了していない制御装置は、更新前のソフトウェアで起動し、アクティベートが完了した他の制御装置は新しいソフトウェア(更新後のソフトウェア)で起動する。こうした場合に、制御装置間でのソフトウェアの不整合が生じ得る。
本開示は、上記課題を解決するためになされたものであり、その目的は、複数の制御装置においてソフトウェアを更新するときにそれら制御装置間でのソフトウェアの不整合を抑制することである。
本開示の第1の観点に係る形態に従うと、以下に示す制御システムが提供される。
(第1項)当該制御システムは、複数の制御装置を含む。複数の制御装置の各々は、複数の記憶領域を含む記憶部を備え、複数の記憶領域のいずれかである実行用記憶領域に記憶された制御プログラムを実行するように構成される。複数の制御装置の各々の実行用記憶領域以外の記憶領域に制御プログラムの更新版がインストールされた状態で複数の制御装置の各々が制御プログラムの更新を行う場合には、複数の制御装置の各々が実行用記憶領域を切り替える準備を行い、複数の制御装置の全てが切替準備完了状態になったことに基づいて複数の制御装置の全てがシャットダウンする。複数の制御装置の全てが切替準備完了状態でシャットダウンした場合には、複数の制御装置の各々が、次の起動時に、制御プログラムの更新版がインストールされた記憶領域を実行用記憶領域として設定する。
以下、上記実行用記憶領域を、「アクティブ面」とも称する。また、上記実行用記憶領域に記憶された制御プログラムの更新版がインストールされた上記記憶領域を、「書込み面」とも称する。
上記制御システムでは、アクティベートに係る処理のうち、アクティブ面の切替準備に係る処理はシャットダウン前に実行され、アクティブ面の切替えに係る処理はシャットダウン後の起動時に実行される。ソフトウェア(制御プログラム)を更新するためには、新しいソフトウェア(制御プログラムの更新版)をインストールした後、アクティブ面を切り替える準備(すなわち、アクティブ面として書込み面を設定する準備)を行う必要がある。切替準備に係る処理では、制御装置を切替準備完了状態(すなわち、現時点でアクティブ面として設定されている記憶領域から書込み面にアクティブ面を切り替えても制御装置が正常に動作する状態)にする。切替準備完了状態の制御装置においては、更新前の制御プログラムによって実行すべきタスクが残っておらず、更新前の制御プログラムの実行が不要な状態になっている。このため、切替準備完了状態の制御装置は、シャットダウン後、次の起動時にアクティブ面の切替えを行う(アクティブ面として書込み面を設定する)だけで、スムーズにソフトウェアを更新することができる。
上記制御システムでは、複数の制御装置の全てが切替準備完了状態でシャットダウンした場合に、それら制御装置の各々が、次の起動時にアクティブ面の切替えを行う。起動直後の短期間(アクティブ面の切替えが行われる期間)に電源の瞬断などでいずれかの制御装置がシャットダウンする可能性は低い。このため、上記制御システムによれば、複数の制御装置においてソフトウェアを更新するときにそれら制御装置間でのソフトウェアの不整合を抑制することが可能になる。
上記第1項に記載の制御システムは、以下に示す第2項~第7項のいずれか1項に記載の構成を有し得る。
(第2項)第1項に記載の制御システムが以下の特徴をさらに有する。複数の制御装置の少なくとも1つが切替準備完了状態になる前にシャットダウンした場合には、複数の制御装置の全てが、次の起動時に実行用記憶領域を切り替えない。
アクティブ面の切替えよりも切替準備のほうが長時間かかる傾向がある。このため、アクティブ面の切替準備中に電源の瞬断などでいずれかの制御装置がシャットダウンする可能性がある。この点、上記構成によれば、複数の制御装置の少なくとも1つが切替準備完了状態になる前に電源の瞬断などでシャットダウンした場合には、複数の制御装置の全てが次の起動時にアクティブ面の切替えを行わない。このため、それら制御装置間でソフトウェアの不整合が生じにくい。
(第3項)第1項または第2項に記載の制御システムが以下の特徴をさらに有する。複数の制御装置の各々は、実行用記憶領域の切替え準備が完了すると、当該制御装置が切替準備完了状態になったことを示す準備完了信号を送信するように構成される。複数の制御装置は、リング型の通信により、それら制御装置間で準備完了信号をやり取りするように構成される。
上記構成によれば、複数の制御装置に含まれる一の制御装置が、他の制御装置から受信した上記準備完了信号に基づいて、当該他の制御装置が切替準備完了状態になったことを把握することが可能になる。また、リング型の通信により、制御装置間における通信の逼迫を抑制しやすくなる。
(第4項)第1項または第2項に記載の制御システムが以下の特徴をさらに有する。複数の制御装置の各々は、実行用記憶領域の切替え準備が完了すると、当該制御装置が切替準備完了状態になったことを示す準備完了信号を送信するように構成される。複数の制御装置は、スター型の通信により、それら制御装置間で準備完了信号をやり取りするように構成される。
上記構成によれば、複数の制御装置に含まれる所定の制御装置が、他の制御装置から受信した上記準備完了信号に基づいて、当該他の制御装置が切替準備完了状態になったことを把握することが可能になる。また、他の制御装置は、スター型の通信により、所定の制御装置に直接的に上記準備完了信号を送信することができる。これにより、所定の制御装置は早期に他の制御装置の状態を把握しやすくなる。
(第5項)第1項~第4項のいずれか1項に記載の制御システムが以下の特徴をさらに有する。複数の制御装置は、第1制御装置、第2制御装置、および第3制御装置を含む。第1制御装置は、ユーザからのシャットダウン要求を受け付けるように構成される。第1制御装置は、シャットダウン要求を受けたときに、第1~第3制御装置の全てに制御プログラムの更新版がインストールされている場合には、第2制御装置および第3制御装置の各々に切替指示を送信した後、実行用記憶領域の切替え準備を開始する。第2制御装置および第3制御装置の各々は、切替指示を受けると、実行用記憶領域の切替え準備を開始する。
上記構成によれば、ユーザからの要求に応じてアクティブ面の切替準備に係る処理が開始される。このため、ソフトウェア更新のための処理が、ユーザの利便性を損なわないタイミングで実行されやすくなる。
(第6項)第5項に記載の制御システムが以下の特徴をさらに有する。第2制御装置および第3制御装置のいずれかに制御プログラムの更新版がインストールされていない状態で第1制御装置が制御プログラムの更新を行う場合には、第1制御装置は、第2制御装置と第3制御装置とのいずれに制御プログラムの更新版がインストールされているかを特定する。そして、第1制御装置は、上記特定後に、制御プログラムの更新版がインストールされている制御装置には切替指示を送信し、制御プログラムの更新版がインストールされていない制御装置には切替指示を送信しない。
上記構成によれば、新しいソフトウェアがインストールされていない制御装置に対しては切替指示が送信されない。これにより、不要な通信が抑制される。
(第7項)第5項または第6項に記載の制御システムが以下の特徴をさらに有する。複数の制御装置の各々は、車両を制御するように構成される。車両は、ユーザが車両システムを起動させるための起動スイッチを備える。ユーザが起動スイッチをオフ操作すると、シャットダウン要求が第1制御装置に入力される。複数の制御装置の各々は、ユーザによる起動スイッチのオン操作に応じて起動する。
上記構成によれば、ユーザによる車両の起動スイッチ操作に応じて、アクティブ面の切替準備に係る処理が開始されるとともにシャットダウン後に各制御装置が起動する。このため、ソフトウェア更新のための処理が、ユーザの利便性を損なわないタイミングで実行されやすくなる。
車両は、電力を動力源の全てまたは一部として利用する電動車両(xEV)であってもよい。xEVには、BEV(電気自動車)、PHEV(プラグインハイブリッド車)、HEV(ハイブリッド車)、FCEV(燃料電池車)などが含まれる。
本開示の第2の観点に係る形態に従うと、以下に示す制御装置が提供される。
(第8項)当該制御装置は、複数の記憶領域を含む記憶部と、複数の記憶領域のいずれかを実行用記憶領域として設定する設定部と、実行用記憶領域に記憶された制御プログラムを実行する実行部と、制御プログラムの更新版である更新プログラムを複数の記憶領域のいずれかにインストールする書込部とを備える。複数の記憶領域は、第1記憶領域および第2記憶領域を含む。第1記憶領域が実行用記憶領域として設定され、かつ、第2記憶領域に更新プログラムがインストールされた状態で、当該制御装置を含む複数の制御装置が制御プログラムの更新を行う場合に、設定部が、実行用記憶領域を第2記憶領域に切り替える準備を行う。そして、複数の制御装置の全てが切替準備完了状態になったことに基づいて当該制御装置はシャットダウンする。設定部は、切替準備完了状態でシャットダウンした当該制御装置の次の起動時に、実行用記憶領域を第1記憶領域から第2記憶領域に切り替える。
上記制御装置でも、前述した制御システムと同様、複数の制御装置においてソフトウェアを更新するときにそれら制御装置間でのソフトウェアの不整合を抑制することが可能になる。
本開示の第3の観点に係る形態に従うと、以下に示す制御プログラム更新方法が提供される。
(第9項)当該制御プログラム更新方法は、複数の制御装置の各々の実行用記憶領域に記憶された制御プログラムの更新版を、複数の制御装置の各々の実行用記憶領域以外の記憶領域にインストールすることと、制御プログラムの更新版がインストールされた複数の制御装置の各々が実行用記憶領域を切り替える準備を行うことと、複数の制御装置の全てが実行用記憶領域を切り替える準備を完了したことに基づいて複数の制御装置の全てがシャットダウンすることと、切替準備完了状態でシャットダウンした複数の制御装置の全てが、次の起動時に、制御プログラムの更新版がインストールされた記憶領域に実行用記憶領域を切り替えることとを含む。
上記制御プログラム更新方法でも、前述した制御システムと同様、複数の制御装置においてソフトウェアを更新するときにそれら制御装置間でのソフトウェアの不整合を抑制することが可能になる。
他の観点に係る形態に従うと、第9項に記載の方法をコンピュータに実行させるプログラムが提供される。ある形態においては、上記プログラムを記憶する記憶装置と、記憶装置に記憶されたプログラムを実行するプロセッサとを備えるコンピュータ装置が提供される。他の形態においては、上記プログラムを配信するコンピュータ装置が提供される。
本開示によれば、複数の制御装置においてソフトウェアを更新するときにそれら制御装置間でのソフトウェアの不整合を抑制することが可能になる。
本開示の実施の形態に係る車両の構成を示す図である。 本開示の実施の形態に係る制御システムに含まれる各制御装置の構成および機能について説明するための図である。 本開示の実施の形態に係るアクティベート方法におけるアクティブ面の切替準備に係る処理を示すフローチャートである。 本開示の実施の形態に係るアクティベート方法におけるアクティブ面の切替えに係る処理を示すフローチャートである。 本開示の実施の形態に係る制御システムに含まれる各制御装置のインストール完了後の動作の一例について説明するための図である。 図5に示した形態の第1変形例を示す図である。 図5に示した形態の第2変形例を示す図である。
本開示の実施の形態について、図面を参照しながら詳細に説明する。図中、同一または相当部分には同一符号を付してその説明は繰り返さない。
図1は、この実施の形態に係る車両100の構成を示す図である。図1を参照して、車両100は、例えば内燃機関を備えない電気自動車(BEV)である。車両100は、ECU10,20,30と、起動スイッチ50と、運転装置61と、ADS(Autonomous Driving System)62と、HMI(Human Machine Interface)70とを備える。ECU10,20,30、運転装置61、ADS62、およびHMI70の各々は、図示しない電源(例えば、車載バッテリ)から電力の供給を受ける。「ECU」は、電子制御装置(Electronic Control Unit)を意味する。
起動スイッチ50は、ユーザが車両システム(車両100の制御システム)を起動させるためのスイッチであり、例えば車両100の車室内に設置される。一般に、起動スイッチは「パワースイッチ」または「イグニッションスイッチ」などと称される。ユーザが起動スイッチ50を操作することによって車両システムのオン(作動)/オフ(停止)が切り替わる。起動スイッチ50がオン操作されることによって停止状態の車両システム(ECU10,20,30を含む)が起動し、車両システムは作動状態(以下、「IGオン」とも称する)になる。また、車両システムが作動しているときに、起動スイッチ50がオフ操作されると、車両システムは停止状態(以下、「IGオフ」とも称する)になる。
起動スイッチ50のオン操作は、車両100の状態をIGオフからIGオンに切り替える操作である。ユーザが起動スイッチ50をオン操作すると、起動要求がECU10,20,30の各々に入力される。すなわち、ECU10,20,30の各々は、ユーザからの起動要求を受け付ける。一方、起動スイッチ50のオフ操作は、車両100の状態をIGオンからIGオフに切り替える操作である。ユーザが起動スイッチ50をオフ操作すると、シャットダウン要求がECU10,20,30の各々に入力される。すなわち、ECU10,20,30の各々は、ユーザからのシャットダウン要求を受け付ける。ただし、走行中の車両100においては、起動スイッチ50のオフ操作が禁止される。
HMI70は入力装置および表示装置を含む。HMI70は、タッチパネルディスプレイを含んでもよい。HMI70は、IVI(In-Vehicle Infotainment)システムと、メータパネルと、ヘッドアップディスプレイと、ステアリングスイッチとの少なくとも1つを含んでもよい。
OTAセンタ1000は、OTA(Over The Air)技術を活用し、当該センタから通信区画を経由して遠隔での車載ECUソフトウェア更新を実施するように構成される。ECU10は、OTAマスタとして機能する。具体的には、ECU10は、OTAセンタ1000と無線通信を行う。ECU10は、車両内情報を管理し、キャンペーンを受け取り、ソフトウェア更新シーケンスを管理する。ECU10は、車載診断装置として、OTA機能を有する各ECUを制御する。車両100では、ECU10,20,30がOTA機能を有する。車両100は、ECU10,20,30に加えて、OTA機能を有しないECU(図示せず)をさらに備えてもよい。
車両100は、自動運転可能に構成される自動運転車両である。この実施の形態に係る車両100は、有人走行と無人走行との両方を実行可能に構成される。車両100は、無人で自律走行可能に構成されるが、ユーザによる手動運転で走行(有人走行)することもできる。また、車両100は、有人走行中に自動運転(例えば、オートクルーズコントロール)を実行することも可能である。自動運転のレベルは、完全自動運転(レベル5)であってもよいし、条件付きの自動運転(例えば、レベル4)であってもよい。
ECU20,30は、運転装置61を制御するように構成される。運転装置61は、アクセル装置、ブレーキ装置、および操舵装置を含む。アクセル装置は、例えば、車両100の駆動輪を回転させるモータジェネレータ(以下、「MG」と表記する)と、MGを駆動するPCU(Power Control Unit)と、MGを駆動するための電力をPCUに供給するバッテリとを含む。MGは、車両100の走行用モータとして機能する。ブレーキ装置は、例えば、車両100の各車輪に設けられた制動装置と、制動装置を駆動するアクチュエータとを含む。操舵装置は、例えば、EPS(Electric Power Steering)と、EPSを駆動するアクチュエータとを含む。
ADS62は、車両100の外部環境を認識する認識用センサ(例えば、カメラ、ミリ波レーダ、ライダーの少なくとも1つ)を含み、認識用センサによって逐次取得される情報に基づいて自動運転に係る処理を実行する。具体的には、ADS62は、ECU20,30と連携しながら、車両100の外部環境に応じた走行計画(今後の車両100の挙動を示す情報)を生成する。そして、ADS62は、その走行計画に従って車両100を走行させるように、運転装置61に含まれる各種アクチュエータの制御をECU20,30に要求する。
なお、この実施の形態では、ADS62が車両100に内蔵される。しかしこれに限られず、ADS62は、車両100に対して着脱可能な自動運転キットであってもよい。自動運転キットのセンサユニット(認識用センサを含む)は、車両100のルーフトップに取り付けられてもよい。
この実施の形態に係るOTAソフトウェア更新(OTAを利用した車両ソフトウェアの更新)は、構成同期、キャンペーン通知と適用承諾、ダウンロード、インストール、アクティベート、ソフトウェア更新完了通知のような手順で行われる。
車両100は、例えば起動スイッチ50がオン操作されたことを契機として構成同期を開始する。車両100による構成同期処理は、車両構成情報をOTAセンタ1000に送信することを含む。車両構成情報は、例えば、車両100に含まれるECUごとのハードウェア情報(ハードウェアの品番、ECUの識別子などを示す情報)およびソフトウェア情報(ソフトウェアの品番などを示す情報)を含む。車両構成情報は、認可対象ごとのRXSWINをさらに含んでもよい。RXSWINは、機能型式認可を構成するソフトウェアを特定可能な識別番号である。
OTAセンタ1000は、車両100から上記車両構成情報を受信すると、現時点で発生しているキャンペーンを確認し、車両100に適用可能なキャンペーンが存在すれば、車両構成情報受信の応答でそのキャンペーンに関する情報(キャンペーン情報)を車両100へ送信する。キャンペーン情報は、例えば、キャンペーン属性情報(ソフトウェア更新の目的、および更新で影響の可能性がある車両の機能などを示す情報)と、キャンペーン対象車両のリストと、キャンペーン対象ECUに関する情報(例えば、更新前後のソフトウェア情報)と、更新前後のユーザへの通知に関する情報とを含む。
車両100は、上記キャンペーン情報を受信すると、そのキャンペーンの適用を承諾するか否かの入力をユーザに求める。具体的には、車両100は、例えば「新しいソフトウェアが見つかりました。この車に適用しますか?」のようなメッセージをHMI70に表示させて、「承諾」と「拒否」とのいずれか一方を示す入力をユーザに要求する。そして、ユーザがHMI70に対して「承諾」を示す入力を行うと、車両100はダウンロードを実行する。他方、ユーザがHMI70に対して「拒否」を示す入力を行うと、車両100はダウンロード以降の処理を実行しない。
車両100においては、OTAマスタであるECU10が、例えば以下に説明する手順でダウンロードに係る処理を実行する。ECU10は、新しいソフトウェアを含む配信パッケージをOTAセンタ1000に要求する。そして、ECU10は、OTAセンタ1000と無線通信を行いながら、その配信パッケージのダウンロード(受信および保存)を実行する。配信パッケージは、新しいソフトウェア(例えば、キャンペーンの対象となるECUごとの更新データのセット)に加えて、パッケージ属性情報(更新区分、配信パッケージ中の更新データ数、各ECUのインストール順序などを示す情報)、および更新データ属性情報(ターゲットECUの識別子、更新データの正当性を検証するための検証用データなど)を含んでもよい。ターゲットECUは、OTAマスタ以外のソフトウェア更新対象となるECUである。
上述したダウンロードに係る処理により、ECU10が備えるストレージ(図示せず)に上記配信パッケージが保存される。ダウンロード中は、HMI70がユーザにダウンロードの進捗を報知する。ダウンロード完了後、ECU10は、ダウンロードされた配信パッケージの真正性を検証する。そして、検証の結果が「正常」であれば、ECU10は、ソフトウェア更新状態(ダウンロード完了)をOTAセンタ1000に通知する。この通知が行われることは、ダウンロードが成功したことを意味する。
ダウンロードが成功すると、車両100はインストールを実行する。具体的には、ECU10は、各ターゲットECU(例えば、ECU20,30)に、当該ターゲットECUの状態およびDTC(Diagnostic Trouble Code)の出力を要求する。ECU10は、各ターゲットECUの状態およびDTCに基づいて、ターゲットECUごとにインストール実行可否を判断する。そして、ECU10は、インストール実行可能なターゲットECUに新しいソフトウェア(更新データ)を転送する。更新データを受信したターゲットECUは、その更新データのインストール(不揮発性メモリへの書込み)を実行する。また、ECU10(OTAマスタ)自身も、ターゲットECUと同様に、配信パッケージに含まれる自らの更新データのインストールを実行する。インストール中は、HMI70がユーザにインストールの進捗を報知する。
ECU10からターゲットECUへの上記更新データの転送が完了すると、ターゲットECUは、転送完了通知をECU10に送信する。そして、転送完了通知を受けたECU10は、ターゲットECUに完全性検証を要求する。この要求を受けたターゲットECUは、完全性検証データ(検証用データ)を用いて検証を行い、その検証結果をECU10へ送信する。ECU10は、ターゲットECUごとの検証結果(インストールの完了/失敗/中止)を保存する。全てのターゲットECUの完全性検証が完了し、全ての検証結果が「正常」であれば、ECU10は、ソフトウェア更新状態(インストール完了)をOTAセンタ1000に通知する。この通知が行われることは、インストールが成功したことを意味する。
ダウンロードに続けてインストールにも成功すると、車両100はアクティベート(インストールされたソフトウェアの有効化)を実行する。この実施の形態に係るアクティベート方法については後述する。車両100は、アクティベート完了後の構成確認が成功すると、ソフトウェア更新の結果をHMI70に表示させる。HMI70は、例えば更新の成功を示すソフトウェア更新完了画面を表示する。その後、ECU10は、ソフトウェア更新状態(ソフトウェア更新完了)をOTAセンタ1000に通知する。この通知が行われることは、OTAソフトウェア更新が成功したことを意味する。
なお、この実施の形態では、ユーザ端末として車載端末(HMI70)を採用しているが、車載端末以外の端末も、ユーザ端末として採用可能である。例えば、ユーザ端末は、ラップトップ、タブレット端末、スマートフォン、ウェアラブルデバイス(スマートウォッチ、スマートグラスなど)、または電子キーのような携帯端末であってもよい。ユーザ端末としては、ユーザが所持する任意の端末を採用できる。また、ユーザに対する報知方法は、表示に限られず、音声で報知してもよい。
図2は、ECU10,20,30の構成および機能について説明するための図である。図2を参照して、ECU10,20,30は、それぞれプロセッサ11,21,31およびメモリ12,22,32を備える。プロセッサ11,21,31の各々は、例えばCPU(Central Processing Unit)である。メモリ12,22,32の各々は、例えばフラッシュメモリのような不揮発性メモリである。メモリ12,22,32は、それぞれ第1記憶領域121,221,321および第2記憶領域122,222,322を含む。この実施の形態では、ECU10、ECU20、ECU30が、それぞれ本開示に係る「第1制御装置」、「第2制御装置」、「第3制御装置」の一例に相当する。また、メモリ12,22,32の各々は、本開示に係る「記憶部」として機能する。
ECU10は、車両外部の装置と通信を行うための通信モジュール15を含む。ECU10は携帯電話網を経由して車両外部の装置(例えば、OTAセンタ1000)と無線通信してもよい。通信モジュール15は、無線通信を行うTCU(Telematics Control Unit)および/またはDCM(Data Communication Module)を含んでもよい。さらに、通信モジュール15は、車両外部の装置と有線通信を行う通信I/F(インターフェース)を含んでもよい。ECU10は、図示しないDLC(Data Link Connector)を介してスキャンツール(有線ソフトウェア更新を行う専用ツール)と有線通信してもよい。
ECU10,20,30は、通信バスを介して接続されており、相互に有線通信可能に構成される。ECU間の通信方式は、特に限定されないが、例えばCAN(Controller Area Network)またはEthernet(登録商標)であってもよい。
ECU10,20,30の各々で前述のインストールが完了した直後においては、ECU10,20,30の各々が例えば図2に示す状態になっている。第1記憶領域121,221,321の各々には、制御プログラム(旧ソフトウェア)が記憶されている。プロセッサ11,21,31はそれぞれ、前述のインストールにおいて、第1記憶領域121,221,321に記憶された制御プログラムの更新版である更新プログラム(新しいソフトウェア)を第2記憶領域122,222,322にインストールする。第1記憶領域121および第2記憶領域122の各々に記憶された制御プログラム(旧ソフトウェアおよび新しいソフトウェア)は、例えば、プロセッサ11が複数のECU(例えば、ECU20,30)を統合制御するためのプログラムである。第1記憶領域221および第2記憶領域222の各々に記憶された制御プログラム(旧ソフトウェアおよび新しいソフトウェア)は、例えば、プロセッサ21が前述した自動運転制御を行うためのプログラムである。第1記憶領域321および第2記憶領域322の各々に記憶された制御プログラム(旧ソフトウェアおよび新しいソフトウェア)は、例えば、プロセッサ31が前述した自動運転制御を行うためのプログラムである。
プロセッサ11,21,31はそれぞれ、第1記憶領域121,221,321と第2記憶領域122,222,322とのいずれかをアクティブ面P1,P2,P3(実行用記憶領域)として設定する。図2に示す状態では、第1記憶領域121,221,321がそれぞれアクティブ面P1,P2,P3として設定されている。プロセッサ11,21,31は、それぞれアクティブ面P1,P2,P3(第1記憶領域121,221,321)に記憶された制御プログラムを実行する。図2に示す状態では、第2記憶領域122,222,322の各々が、書込み面(すなわち、アクティブ面P1,P2,P3に記憶された制御プログラムの更新版がインストールされた記憶領域)に相当する。
プロセッサ11,21,31の各々は、インストール完了後にアクティベートを実行する。この実施の形態では、プロセッサ11,21,31がそれぞれ、アクティベートに係る処理を、アクティブ面P1,P2,P3の切替準備に係る処理(以下、「ACV準備処理」とも称する)と、アクティブ面P1,P2,P3の切替えに係る処理(以下、「ACV切替処理」とも称する)とに分けて実行する。プロセッサ11,21,31の各々は、シャットダウン前にACV準備処理を実行し、シャットダウン後の起動時にACV切替処理を実行する。
ACV準備処理では、プロセッサ11,21,31が、それぞれECU10,20,30を切替準備完了状態にする。切替準備完了状態は、後述するACV切替処理を行ってもECUが正常に動作する状態である。プロセッサ11,21,31の各々は、例えば、旧ソフトウェアによって実行すべきタスクを完了させ、旧ソフトウェアに係る全てのタスクをクローズする。
ACV切替処理では、プロセッサ11,21,31が、それぞれ第1記憶領域121,221,321から第2記憶領域122,222,322にアクティブ面P1,P2,P3を切り替える。すなわち、プロセッサ11,21,31は、それぞれ第2記憶領域122,222,322をアクティブ面P1,P2,P3として設定する。
図2に示す状態のECU10,20,30が制御プログラムの更新を行う場合には、プロセッサ11,21,31がそれぞれ、アクティブ面P1,P2,P3を第2記憶領域122,222,322に切り替える準備(ACV準備処理)を行う。ACV準備処理は、ユーザが起動スイッチ50をオフ操作したことに基づいて開始される。その後、ECU10,20,30の全てが切替準備完了状態になったことに基づいて、ECU10,20,30の各々がシャットダウンする。そして、切替準備完了状態でシャットダウンしたECU10,20,30はそれぞれ、次の起動時に、アクティブ面P1,P2,P3を第1記憶領域121,221,321から第2記憶領域122,222,322に切り替える処理(ACV切替処理)を行う。ECU10,20,30の各々は、ユーザによる起動スイッチ50のオン操作に応じて起動する。
この実施の形態では、プロセッサ11,21,31の各々が、本開示に係る「設定部」、「実行部」、および「書込部」として機能する。より具体的には、プロセッサ11,21,31の各々は、後述する図3および図4に示す一連の処理を実行する。これら各部の機能は、記憶装置(例えば、メモリ12,22,32または図示しないストレージ)に記憶されたプログラムと、プログラムを実行するプロセッサ11,21,31とによって具現化されてもよい。あるいは、専用のハードウェア(電子回路)によって、これら各部の機能が具現化されてもよい。また、ソフトウェアとハードウェアとの機能分割によって、同様の機能を実現してもよい。なお、各ECUが備えるプロセッサおよびメモリの各々の数は任意である。ECU10,20,30の少なくとも1つが、複数のプロセッサを備えてもよいし、複数のメモリを備えてもよい。ECUは、メインマイコンおよびサブマイコンのような形態で、複数のマイコン(マイクロコンピュータ)を備えてもよい。
図3は、この実施の形態に係るアクティベート方法におけるアクティブ面の切替準備に係る処理(ACV準備処理)を示すフローチャートである。このフローチャートに示される処理は、OTAマスタおよびターゲットECUの各々がインストール完了状態であるときに起動スイッチ50のオフ操作が行われると、実行される。フローチャート中の「S」は、ステップを意味する。
この実施の形態では、ECU10がOTAマスタであり、ECU20,30がターゲットECUである。図2に示すインストール完了状態で起動スイッチ50のオフ操作が行われると、ECU10(OTAマスタ)が以下に説明するS11~S19の一連の処理を開始する。なお、以下に示す一連の処理で使用される切替フラグは、ECU10,20,30の各々が備える記憶装置(例えば、メモリ12,22,32または図示しないストレージ)に予め記憶されている。切替フラグがONであることは、ECU起動時のACV切替処理を許可することを意味する。切替フラグがOFFであることは、ECU起動時のACV切替処理を禁止することを意味する。切替フラグの初期値は「OFF」である。
図1,図2とともに図3を参照して、S11では、ECU10がターゲットECU(ECU20,30)に切替指示を送信する。この実施の形態では、ECU10がユーザからシャットダウン要求を受けたときに、ECU10,20,30の全てに更新プログラム(制御プログラムの更新版)がインストールされている場合には、S11の処理が実行され、ECU10がECU20,30の各々に切替指示を送信する。
続けて、ECU10は、S12において、前述したACV準備処理(アクティブ面の切替え準備)を開始し、S13において、ACV準備処理が完了したか否かを判断する。S13において「完了していない」と判断されている間は(S13にてNO)、ECU10は、ACV準備処理(S12)を継続的に実行する。
ターゲットECU(ECU20,30)は、ECU10から前述の切替指示(S11)を受信すると、S21~S27の一連の処理を開始する。ターゲットECUは、S21において、前述したACV準備処理(アクティブ面の切替え準備)を開始し、S22において、ACV準備処理が完了したか否かを判断する。S22において「完了していない」と判断されている間は(S22にてNO)、ターゲットECUは、ACV準備処理(S21)を継続的に実行する。このように、ECU20,30の各々は、上記切替指示を受けると、アクティブ面の切替え準備を開始する。
ECU10によるACV準備処理が完了すると(S13にてYES)、ECU10は、S14において、当該ECU(ECU10)が切替準備完了状態になったことを示す信号(個別準備完了通知)を送信する。以下、S14でECU10が送信する個別準備完了通知を、「第1準備完了信号」と称する。詳細は後述するが、この実施の形態では、ECU10,20,30が、リング型の通信により、ECU間で個別準備完了通知をやり取りする(図5参照)。ECU10は、第1準備完了信号をECU20へ送信する。
いずれかのターゲットECU(ECU20または30)によるACV準備処理が完了すると(S22にてYES)、そのターゲットECUは、S23において、当該ターゲットECUが切替準備完了状態になったことを示す信号(個別準備完了通知)を送信する。
詳しくは、ECU20は、S23において、上記第1準備完了信号をすでに受信していれば、すぐに個別準備完了通知をECU30に送信する。他方、ECU20は、S23において、上記第1準備完了信号を受信していなければ、上記第1準備完了信号を待って、上記第1準備完了信号を受信してから個別準備完了通知をECU30に送信する。以下、S23でECU20が送信する個別準備完了通知を、「第2準備完了信号」と称する。
ECU30は、S23において、上記第2準備完了信号をすでに受信していれば、すぐに個別準備完了通知をECU10に送信する。他方、ECU30は、S23において、上記第2準備完了信号を受信していなければ、上記第2準備完了信号を待って、上記第2準備完了信号を受信してから個別準備完了通知をECU10に送信する。以下、S23でECU30が送信する個別準備完了通知を、「第3準備完了信号」と称する。
ECU10は、上記第1準備完了信号を送信した後、S15において、ECU10,20,30の全てが切替準備完了状態になったか否かを判断する。ECU10は、例えば上記第3準備完了信号を受信したか否かに基づいてS15の判断を行う。ECU10が上記第3準備完了信号を受信したことは、ECU10,20,30の全てが切替準備完了状態になったことを意味する。
ECU10,20,30のいずれかが切替準備完了状態になっていない場合には(S15にてNO)、ECU10は、S16において、いずれかのターゲットECU(ECU20または30)が電源の瞬断などに起因してアクティベート準備中にシャットダウンしたか否かを判断する。S15およびS16の両方でNOと判断されている間は、S15およびS16の処理が繰り返される。
ECU10,20,30の全てが切替準備完了状態になる前にいずれかのターゲットECUがシャットダウンした場合には、S16においてYESと判断され、処理がS19に進む。そして、ECU10はS19においてシャットダウンする。この場合、シャットダウン時のECU10の切替フラグはOFFである。
ECU10は、上記第1準備完了信号(S14)を送信してから所定時間経過しても、ECU30から上記第3準備完了信号を受信しない場合に、S16においてYESと判断してもよい。あるいは、ECU10は、各ターゲットECUに確認信号を送信し、いずれかのターゲットECUから応答がない場合に、S16においてYESと判断してもよい。なお、ECUがシャットダウンしたか否かの確認方法は、上記に限られず任意の方法を採用可能である。
ECU10,20,30の全てが切替準備完了状態になった場合には(S15にてYES)、ECU10は、S17において、ECU10,20,30の全てが切替準備完了状態になったことを示す信号(全ECU準備完了通知)を送信する。S17でECU10が送信する全ECU準備完了通知は、シャットダウン指示に相当する。ECU10は、S17において全ECU準備完了通知(シャットダウン指示)をECU20,30の各々に送信する。
ECU10は、上記全ECU準備完了通知を送信した後、S18において切替フラグをONにする。続けて、ECU10はS19においてシャットダウンする。この場合、シャットダウン時のECU10の切替フラグはONである。S19の処理が実行されると、S11~S19の一連の処理は終了する。
ターゲットECU(ECU20,30)は、S23で個別準備完了通知を送信した後、S24において、ECU10,20,30の全てが切替準備完了状態になったか否かを判断する。例えば、ターゲットECUは、全ECU準備完了通知(S17)を受信していればS24においてYESと判断し、全ECU準備完了通知(S17)を受信していなければS24においてNOと判断する。ECU10,20,30のいずれかが切替準備完了状態になっていない場合には(S24にてNO)、ターゲットECUは、S25において、他のECUが電源の瞬断などに起因してアクティベート準備中にシャットダウンしたか否かを判断する。ECU20がS25の処理を実行する場合には、ECU10,30が「他のECU」に相当する。ECU30がS25の処理を実行する場合には、ECU10,20が「他のECU」に相当する。ターゲットECUは、S23で個別準備完了通知を送信してから所定時間経過しても、ECU10から全ECU準備完了通知(S17)を受信しない場合に、S25においてYESと判断してもよい。ただし、ECUがシャットダウンしたか否かの確認方法(S25の判断方法)としては、任意の方法を採用可能である。
S24およびS25の両方でNOと判断されている間は、S24およびS25の処理が繰り返される。そして、ECU10,20,30の全てが切替準備完了状態になる前にいずれかのECUがシャットダウンした場合には(S25にてYES)、処理がS27に進む。そして、ターゲットECUはS27においてシャットダウンする。この場合、シャットダウン時のターゲットECU(ECU20,30)の切替フラグはOFFである。
ECU10,20,30の全てが切替準備完了状態になった場合には(S24にてYES)、ターゲットECU(ECU20,30)は、S26において切替フラグをONにする。続けて、ターゲットECUはS27においてシャットダウンする。この場合、シャットダウン時のターゲットECU(ECU20,30)の切替フラグはONである。S27の処理が実行されると、S21~S27の一連の処理は終了する。
図4は、この実施の形態に係るアクティベート方法におけるアクティブ面の切替えに係る処理(ACV切替処理)を示すフローチャートである。このフローチャートに示される処理は、起動スイッチ50のオン操作が行われたときに、起動したECU10,20,30の各々によって実行される。ECU10,20,30の各々による図4に示す一連の処理は並行して実行される。起動スイッチ50のオン操作に応じて起動して図4に示す一連の処理を実行するECU(ECU10、ECU20、またはECU30)を、以下では「起動ECU」と称する。
図1,図2とともに図4を参照して、起動ECUは、S31において、当該ECUの切替フラグがONであるか否かを判断する。そして、切替フラグがONである場合には(S31にてYES)、起動ECUは、S32において、前述したACV切替処理を実行する。例えば、ECU10は、アクティブ面P1を第1記憶領域121から第2記憶領域122に切り替える。これにより、第2記憶領域122がアクティブ面P1として設定される。また、ECU20は、アクティブ面P2を第1記憶領域221から第2記憶領域222に切り替える。これにより、第2記憶領域222がアクティブ面P2として設定される。また、ECU30は、アクティブ面P3を第1記憶領域321から第2記憶領域322に切り替える。これにより、第2記憶領域322がアクティブ面P3として設定される。
起動ECUは、上記ACV切替処理を実行した後、S33において切替フラグをOFFにする。続けて、起動ECUは、S34において、S32で切り替えられた新たなアクティブ面に記憶された更新プログラム(新しいソフトウェア)を起動させる。S34の処理が実行されると、図4に示す一連の処理は終了する。
他方、切替フラグがOFFである場合には(S31にてNO)、起動ECUは、ACV切替処理を実行することなく、S35において、アクティブ面に記憶された制御プログラム(旧ソフトウェア)を起動させる。例えば、電源の瞬断などに起因してアクティベート準備中にECU10,20,30のいずれかがシャットダウンした場合には、図3に示した処理(S18,S26)によって切替フラグがONにならないため、S31においてNOと判断される。この場合、ECU10,20,30の各々はインストール完了状態であるため、次に起動スイッチ50のオフ操作が行われたときに、再び図3に示した処理が実行される。また、起動ECUに更新プログラムがインストールされていない場合にも、S31においてNOと判断される。この場合、当該起動ECUについて図3に示した処理が実行されない。S35の処理が実行されると、図4に示す一連の処理は終了する。
上述のように、この実施の形態に係る制御システム(車両100の制御システム)では、ECU10,20,30の全てが切替準備完了状態になったことに基づいてECU10,20,30の全てがシャットダウンする(図3のS15,S19,S24,S27)。ECU10,20,30の全てが切替準備完了状態でシャットダウンした場合には、ECU10,20,30の各々が、次の起動時に、図4に示した一連の処理を実行し、制御プログラムの更新版がインストールされた記憶領域(第2記憶領域122,222,322)をアクティブ面として設定する(S32)。他方、図3に示した一連の処理において、ECU10,20,30の少なくとも1つが切替準備完了状態になる前にシャットダウンした場合には、ECU10,20,30の各々の切替フラグがOFFになったまま、ECU10,20,30の全てがシャットダウンする(S16,S19,S25,S27)。この場合、各ECUの次の起動時に図4のS31においてNOと判断されるため、ECU10,20,30の全てがアクティブ面を切り替えない。
図5は、ECU10,20,30の各々のインストール完了後の動作の一例について説明するための図である。図5を参照して、ECU10,20,30の各々のアクティブ面以外の記憶領域に更新プログラム(制御プログラムの更新版)がインストールされた状態で起動スイッチ50のオフ操作が行われると、ECU10(OTAマスタ)がECU20(第1ターゲットECU)およびECU30(第2ターゲットECU)の各々に切替指示を送信する。
ECU10によるACV準備処理が完了すると、ECU10は、第1準備完了信号をECU20へ送信する。その後、ECU20によるACV準備処理が完了すると、ECU20は、第2準備完了信号をECU30へ送信する。さらにその後、ECU30によるACV準備処理が完了すると、ECU30は、第3準備完了信号をECU10へ送信する。このように、ECU10,20,30は、一方向のリング型の通信により、ECU間で準備完了信号をやり取りする。
ECU10が第3準備完了信号を受信すると、ECU10は、全ECU準備完了通知(シャットダウン指示)をECU20,30の各々に送信する。これにより、ECU10,20,30の各々の切替フラグがONになる。その後、ECU10,20,30の全てがシャットダウンする。
上記のようにECU10,20,30の全てが切替準備完了状態でシャットダウンした後、起動スイッチ50のオン操作が行われると、ECU10,20,30の各々で更新プログラム(新しいバージョンのソフトウェア)が起動する。
以上説明したように、この実施の形態に係る制御プログラム更新方法は、図2~図4に示した処理を含む。具体的には、ECU10,20,30の各々は、図3に示した一連の処理に先立ち、ECU10,20,30の各々の実行用記憶領域(第1記憶領域121,221,321)に記憶された制御プログラムの更新版を、ECU10,20,30の各々の実行用記憶領域以外の記憶領域(第2記憶領域122,222,322)にインストールする(図2参照)。その後、図3に示した一連の処理において、制御プログラムの更新版がインストールされたECU10,20,30の各々が実行用記憶領域を切り替える準備を行う。また、図3に示した一連の処理においては、ECU10,20,30の全てが実行用記憶領域を切り替える準備を完了したことに基づいてECU10,20,30の全てがシャットダウンする。そして、図3に示した一連の処理により切替準備完了状態でシャットダウンしたECU10,20,30の全てが、次の起動時に、図4に示した一連の処理により、制御プログラムの更新版がインストールされた記憶領域(第2記憶領域122,222,322)に実行用記憶領域を切り替える。
上記制御プログラム更新方法では、複数の制御装置(ECU10,20,30)の全てが切替準備完了状態でシャットダウンした場合に、それら制御装置の各々が、次の起動時にアクティブ面の切替えを行う。起動直後の短期間(アクティブ面の切替えが行われる期間)に電源の瞬断などでいずれかの制御装置がシャットダウンする可能性は低い。このため、上記制御プログラム更新方法によれば、複数の制御装置においてソフトウェアを更新するときにそれら制御装置間でのソフトウェアの不整合を抑制することが可能になる。
上記実施の形態では、ECU10,20,30が、リング型の通信により、ECU間で準備完了信号をやり取りする。リング型の通信により、ECU間における通信の逼迫を抑制しやすくなる。しかしこれに限られず、ECU10,20,30が、スター型の通信により、ECU間で準備完了信号をやり取りしてもよい。
図6は、図5に示した形態の第1変形例を示す図である。図6を参照して、この変形例では、ECU10による切替指示の送信後に、ECU20によるACV準備処理が完了すると、ECU20は、第2準備完了信号をECU10へ送信する。また、ECU30によるACV準備処理が完了すると、ECU30は、第3準備完了信号をECU10へ送信する。このように、ECU10,20,30は、ECU10を中心(基準)とするスター型の通信により、ECU間で準備完了信号をやり取りする。
ECU10が第2および第3準備完了信号の両方を受信すると、ECU10は、全ECU準備完了通知(シャットダウン指示)をECU20,30の各々に送信する。これにより、ECU10,20,30の各々の切替フラグがONになる。その後、ECU10,20,30の全てがシャットダウンする。
上記第1変形例に係る方法によっても、ECU10,20,30の全てが切替準備完了状態になったことに基づいてECU10,20,30の全てをシャットダウンさせることができる。
上記実施の形態では、OTA機能を有する複数の制御装置(ECU10,20,30)の全てがOTAによるソフトウェア更新の対象(OTA対象)になっている。しかしこれに限られず、OTA機能を有する複数の制御装置の一部が、OTA対象となってもよい。
図7は、図5に示した形態の第2変形例を示す図である。図7を参照して、この変形例では、図3のS11において、ECU10(OTAマスタ)がOTA対象を特定する。ECU10は、OTAセンタ1000から受信した配信パッケージ(例えば、ターゲットECUの識別子、または更新データの差分)に基づいてOTA対象を特定してもよい。ECU20,30のいずれかに制御プログラムの更新版がインストールされていない状態でS11~S19の一連の処理が開始された場合には、ECU10は、ECU20とECU30とのいずれに制御プログラムの更新版がインストールされているかを特定する。そして、ECU10は、OTA対象であるターゲットECU(すなわち、制御プログラムの更新版がインストールされているECU)に切替指示を送信し、OTA対象ではないECU(すなわち、制御プログラムの更新版がインストールされていないECU)には切替指示を送信しない。図7に示す例では、ECU10,20の各々がOTA対象であり、ECU30(他のECU)がOTA非対象である。
ECU10による切替指示の送信後に、ECU10によるACV準備処理が完了すると、ECU10は、第1準備完了信号をECU20(ターゲットECU)へ送信する。その後、ECU20によるACV準備処理が完了すると、ECU20は、第2準備完了信号をECU10へ送信する。ECU10が第2準備完了信号を受信すると、ECU10は、全ECU準備完了通知(シャットダウン指示)をECU20に送信する。これにより、ECU10,20の各々の切替フラグがONになる。その後、ECU10,20の各々がシャットダウンする。OTA非対象であるECU30は、ECU10,20と一緒にシャットダウンしてもよいし、起動スイッチ50のオフ操作に応じてシャットダウンしてもよい。
上記第2変形例に係る構成によれば、新しいソフトウェアがインストールされていない制御装置に対しては切替指示が送信されない。これにより、不要な通信が抑制される。
ECU間をつなぐLAN(Local Area Network)の構成は、通信形態に合わせて適宜変更可能である。LAN構成としては、バス型、リング型、スター型のいずれのネットワークトポロジーが採用されてもよい。また、切替指示およびシャットダウン指示を送信する制御装置(ECU)はOTAマスタに限られず、複数のターゲットECUの中から選ばれた代表機であってもよい。車両においてOTA機能を有するECUの数は、3個に限られず、4個以上10個未満であってもよいし、10個以上であってもよい。
更新される制御プログラムは、前述した自動運転制御プログラムのような運転支援系の制御プログラムに限られず任意である。車両が自動運転可能に構成されることは必須ではない。
車両は、BEV以外のxEVであってもよい。車両は、内燃機関(例えば、ガソリンエンジン、バイオ燃料エンジン、または水素エンジン)を備えるPHEVまたはHEVであってもよい。車両は、4輪の乗用車に限られず、バスまたはトラックであってもよいし、3輪のxEVであってもよい。車載バッテリは、接触充電可能に構成されてもよいし、駐車中または走行中に非接触充電(ワイヤレス充電)可能に構成されてもよいし、バッテリ交換可能に構成されてもよい。車両はソーラーパネルを備えてもよい。車両は飛行機能を備えてもよい。車両は、MaaS(Mobility as a Service)車両であってもよい。MaaS車両は、MaaS事業者が管理する車両である。車両は、ユーザの使用目的に応じてカスタマイズされる多目的車両であってもよい。車両は、移動店舗車両、ロボタクシー、無人搬送車(AGV)、または農業機械であってもよい。車両は、無人または1人乗りの小型BEV(例えば、ラストワンマイル用のBEV)であってもよい。
上記の各種変形例は任意に組み合わせて実施されてもよい。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
10,20,30 ECU、11,21,31 プロセッサ、12,22,32 メモリ、50 起動スイッチ、100 車両、121,221,321 第1記憶領域、122,222,322 第2記憶領域、1000 OTAセンタ、P1,P2,P3 アクティブ面。

Claims (5)

  1. 複数の制御装置を含む制御システムであって、
    前記複数の制御装置の各々は、複数の記憶領域を含む記憶部を備え、前記複数の記憶領域のいずれかである実行用記憶領域に記憶された制御プログラムを実行するように構成され、
    前記複数の制御装置の各々の前記実行用記憶領域以外の前記記憶領域に前記制御プログラムの更新版がインストールされた状態で前記複数の制御装置の各々が前記制御プログラムの更新を行う場合には、前記複数の制御装置の各々が前記実行用記憶領域を切り替える準備を行い、前記複数の制御装置の全てが切替準備完了状態になったことに基づいて前記複数の制御装置の全てがシャットダウンし、
    前記複数の制御装置の全てが前記切替準備完了状態でシャットダウンした場合には、前記複数の制御装置の各々が、次の起動時に、前記制御プログラムの更新版がインストールされた前記記憶領域を前記実行用記憶領域として設定し、
    前記複数の制御装置の少なくとも1つが前記切替準備完了状態になる前にシャットダウンした場合には、前記複数の制御装置の全てが、次の起動時に前記実行用記憶領域を切り替えず、
    前記複数の制御装置の各々は、前記実行用記憶領域の切替え準備が完了すると、当該制御装置が前記切替準備完了状態になったことを示す準備完了信号を送信するように構成され、
    前記複数の制御装置は、リング型の通信により、それら制御装置間で前記準備完了信号をやり取りするように構成される、制御システム。
  2. 複数の制御装置を含む制御システムであって、
    前記複数の制御装置の各々は、複数の記憶領域を含む記憶部を備え、前記複数の記憶領域のいずれかである実行用記憶領域に記憶された制御プログラムを実行するように構成され、
    前記複数の制御装置の各々の前記実行用記憶領域以外の前記記憶領域に前記制御プログラムの更新版がインストールされた状態で前記複数の制御装置の各々が前記制御プログラムの更新を行う場合には、前記複数の制御装置の各々が前記実行用記憶領域を切り替える準備を行い、前記複数の制御装置の全てが切替準備完了状態になったことに基づいて前記複数の制御装置の全てがシャットダウンし、
    前記複数の制御装置の全てが前記切替準備完了状態でシャットダウンした場合には、前記複数の制御装置の各々が、次の起動時に、前記制御プログラムの更新版がインストールされた前記記憶領域を前記実行用記憶領域として設定し、
    前記複数の制御装置の少なくとも1つが前記切替準備完了状態になる前にシャットダウンした場合には、前記複数の制御装置の全てが、次の起動時に前記実行用記憶領域を切り替えず、
    前記複数の制御装置の各々は、前記実行用記憶領域の切替え準備が完了すると、当該制御装置が前記切替準備完了状態になったことを示す準備完了信号を送信するように構成され、
    前記複数の制御装置は、スター型の通信により、それら制御装置間で前記準備完了信号をやり取りするように構成される、制御システム。
  3. 複数の制御装置を含む制御システムであって、
    前記複数の制御装置の各々は、複数の記憶領域を含む記憶部を備え、前記複数の記憶領域のいずれかである実行用記憶領域に記憶された制御プログラムを実行するように構成され、
    前記複数の制御装置の各々の前記実行用記憶領域以外の前記記憶領域に前記制御プログラムの更新版がインストールされた状態で前記複数の制御装置の各々が前記制御プログラムの更新を行う場合には、前記複数の制御装置の各々が前記実行用記憶領域を切り替える準備を行い、前記複数の制御装置の全てが切替準備完了状態になったことに基づいて前記複数の制御装置の全てがシャットダウンし、
    前記複数の制御装置の全てが前記切替準備完了状態でシャットダウンした場合には、前記複数の制御装置の各々が、次の起動時に、前記制御プログラムの更新版がインストールされた前記記憶領域を前記実行用記憶領域として設定し、
    前記複数の制御装置は、第1制御装置、第2制御装置、および第3制御装置を含み、
    前記第1制御装置は、ユーザからのシャットダウン要求を受け付け、
    前記第1制御装置は、前記シャットダウン要求を受けたときに、前記第1~第3制御装置の全てに前記制御プログラムの更新版がインストールされている場合には、前記第2制御装置および前記第3制御装置の各々に切替指示を送信した後、前記実行用記憶領域の切替え準備を開始し、
    前記第2制御装置および前記第3制御装置の各々は、前記切替指示を受けると、前記実行用記憶領域の切替え準備を開始する、制御システム。
  4. 前記第2制御装置および前記第3制御装置のいずれかに前記制御プログラムの更新版がインストールされていない状態で前記第1制御装置が前記制御プログラムの更新を行う場合には、前記第1制御装置は、前記第2制御装置と前記第3制御装置とのいずれに前記制御プログラムの更新版がインストールされているかを特定し、前記制御プログラムの更新版がインストールされている制御装置には前記切替指示を送信し、前記制御プログラムの更新版がインストールされていない制御装置には前記切替指示を送信しない、請求項に記載の制御システム。
  5. 前記複数の制御装置の各々は、車両を制御するように構成され、
    前記車両は、ユーザが車両システムを起動させるための起動スイッチを備え、
    ユーザが前記起動スイッチをオフ操作すると、前記シャットダウン要求が前記第1制御装置に入力され、
    前記複数の制御装置の各々は、ユーザによる前記起動スイッチのオン操作に応じて起動する、請求項に記載の制御システム。
JP2022108367A 2022-07-05 2022-07-05 制御システム Active JP7679802B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022108367A JP7679802B2 (ja) 2022-07-05 2022-07-05 制御システム
KR1020230062347A KR102907610B1 (ko) 2022-07-05 2023-05-15 제어 시스템, 제어 장치, 제어 프로그램 갱신 방법, 비일시적 기억 매체
US18/317,135 US12411680B2 (en) 2022-07-05 2023-05-15 Control system, control device, control program update method, and non-transitory storage medium
CN202310685705.0A CN117348897A (zh) 2022-07-05 2023-06-09 控制系统、控制装置、控制程序更新方法以及非暂时性存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022108367A JP7679802B2 (ja) 2022-07-05 2022-07-05 制御システム

Publications (2)

Publication Number Publication Date
JP2024007128A JP2024007128A (ja) 2024-01-18
JP7679802B2 true JP7679802B2 (ja) 2025-05-20

Family

ID=89368003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022108367A Active JP7679802B2 (ja) 2022-07-05 2022-07-05 制御システム

Country Status (4)

Country Link
US (1) US12411680B2 (ja)
JP (1) JP7679802B2 (ja)
KR (1) KR102907610B1 (ja)
CN (1) CN117348897A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198307A (ja) 2009-02-25 2010-09-09 Hitachi Automotive Systems Ltd 自動車用制御装置
JP2013254263A (ja) 2012-06-05 2013-12-19 Denso Corp 電子制御装置
WO2019187535A1 (ja) 2018-03-28 2019-10-03 住友電気工業株式会社 制御装置、制御方法、およびコンピュータプログラム
JP2019168834A (ja) 2018-03-22 2019-10-03 株式会社デンソー 電子制御装置
WO2020080321A1 (ja) 2018-10-15 2020-04-23 株式会社オートネットワーク技術研究所 車載更新装置、更新処理プログラム、プログラムの更新方法及び車載更新システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220391124A1 (en) 2017-06-12 2022-12-08 Pure Storage, Inc. Software Lifecycle Management For A Storage System
US10884636B1 (en) 2017-06-12 2021-01-05 Pure Storage, Inc. Presenting workload performance in a storage system
JP6915500B2 (ja) 2017-11-06 2021-08-04 トヨタ自動車株式会社 更新システム、電子制御装置、更新管理装置、及び更新管理方法
JP7010049B2 (ja) 2018-02-16 2022-01-26 トヨタ自動車株式会社 車両制御装置、プログラムの更新確認方法および更新確認プログラム
JP7188622B2 (ja) 2018-02-16 2022-12-13 トヨタ自動車株式会社 自動運転ecu、プログラムの更新確認方法および更新確認プログラム
JP7408936B2 (ja) * 2018-08-10 2024-01-09 株式会社デンソー センター装置,諸元データの生成方法及び諸元データ生成用プログラム
JP6943903B2 (ja) * 2019-02-22 2021-10-06 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
KR102751277B1 (ko) * 2019-06-10 2025-01-10 현대자동차주식회사 차량 업데이트 제어 장치 및 방법
JP7405033B2 (ja) 2020-07-20 2023-12-26 トヨタ自動車株式会社 サーバ、更新管理方法、更新管理プログラム、ソフトウェア更新装置、サーバ及びソフトウェア更新装置を備えるシステム、センタ、otaマスタ、センタ及びotaマスタを備えるシステム
JP7439720B2 (ja) 2020-10-06 2024-02-28 トヨタ自動車株式会社 更新データを配信するサーバ、方法及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198307A (ja) 2009-02-25 2010-09-09 Hitachi Automotive Systems Ltd 自動車用制御装置
JP2013254263A (ja) 2012-06-05 2013-12-19 Denso Corp 電子制御装置
JP2019168834A (ja) 2018-03-22 2019-10-03 株式会社デンソー 電子制御装置
WO2019187535A1 (ja) 2018-03-28 2019-10-03 住友電気工業株式会社 制御装置、制御方法、およびコンピュータプログラム
WO2020080321A1 (ja) 2018-10-15 2020-04-23 株式会社オートネットワーク技術研究所 車載更新装置、更新処理プログラム、プログラムの更新方法及び車載更新システム

Also Published As

Publication number Publication date
KR102907610B1 (ko) 2026-01-05
US12411680B2 (en) 2025-09-09
US20240012634A1 (en) 2024-01-11
KR20240005580A (ko) 2024-01-12
CN117348897A (zh) 2024-01-05
JP2024007128A (ja) 2024-01-18

Similar Documents

Publication Publication Date Title
US20240143311A1 (en) Mobile terminal and software update system
JP2026015439A (ja) 車両、および、ソフトウェア更新システム
JP2025147052A (ja) サーバ
JP2025096600A (ja) 車両、サーバ、およびソフトウェア更新方法
US12547395B2 (en) Mobile terminal and software distribution system
US20240176612A1 (en) Vehicle, software update method, and non-transitory storage medium
JP7679802B2 (ja) 制御システム
JP7619342B2 (ja) サーバ、ソフトウェア更新システム、ソフトウェア更新方法、プログラム
US12541359B2 (en) Server, vehicle, and software management method
JP7661951B2 (ja) サーバ、ソフトウェア配信システム
JP7722313B2 (ja) ユーザ端末、ソフトウェア更新システム、制御方法およびプログラム
US12619419B2 (en) User equipment, software update system, control method, and non-transitory storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240415

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20241003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250421

R150 Certificate of patent or registration of utility model

Ref document number: 7679802

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150