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

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

▶ 株式会社アドヴィックスの特許一覧

<>
  • 特開-制御システム 図1
  • 特開-制御システム 図2
  • 特開-制御システム 図3
  • 特開-制御システム 図4
  • 特開-制御システム 図5
  • 特開-制御システム 図6
  • 特開-制御システム 図7
  • 特開-制御システム 図8
  • 特開-制御システム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024048009
(43)【公開日】2024-04-08
(54)【発明の名称】制御システム
(51)【国際特許分類】
   G06F 8/65 20180101AFI20240401BHJP
【FI】
G06F8/65
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022153828
(22)【出願日】2022-09-27
(71)【出願人】
【識別番号】301065892
【氏名又は名称】株式会社アドヴィックス
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】矢船 僚一朗
(72)【発明者】
【氏名】小堀 肇
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA81
5B376GA08
(57)【要約】
【課題】電子制御装置の記憶装置のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制すること。
【解決手段】制御システム15は、情報処理装置30と複数のECU50,60,70とグローバルネットワーク42とを備える。第1制動ECU60の記憶装置62のソフトウェアを更新する場合、情報処理装置30は、更新用ソフトウェアを複数に分割し、分割した更新用ソフトウェアをグローバルネットワーク42に送信する。情報処理装置30が分割して送信した更新用ソフトウェアのうちの1つである第1更新用分割ソフトウェアが実行装置61に復号される。情報処理装置30が分割して送信した更新用ソフトウェアのうちの1つである第2更新用分割ソフトウェアが実行装置71に復号される。復号された第1更新用分割ソフトウェア及び第2更新用分割ソフトウェアの各々が、記憶装置62に書き込まれる。
【選択図】図1
【特許請求の範囲】
【請求項1】
車両の外部から無線通信によって前記車両に送信された更新用ソフトウェアを取得する情報処理装置と、複数の電子制御装置と前記情報処理装置とを通信可能に接続するグローバルネットワークと、を備え、
前記複数の電子制御装置のうちの第1電子制御装置が備える記憶装置のソフトウェアを更新可能に構成された制御システムであって、
第1実行装置及び第2実行装置を備え、
前記第1電子制御装置の前記記憶装置のソフトウェアを、前記情報処理装置が取得した前記第1電子制御装置向けの更新用ソフトウェアに更新する場合、
前記情報処理装置は、前記更新用ソフトウェアを複数に分割し、分割した更新用ソフトウェアを、暗号化された状態で前記グローバルネットワークに送信し、
前記第1実行装置は、前記情報処理装置が分割して前記グローバルネットワークに送信した更新用ソフトウェアのうちの1つである第1更新用分割ソフトウェアを復号し、
前記第2実行装置は、前記情報処理装置が分割して前記グローバルネットワークに送信した更新用ソフトウェアのうちの1つである第2更新用分割ソフトウェアを復号し、
前記第1実行装置が復号した前記第1更新用分割ソフトウェア、及び、前記第2実行装置が復号した前記第2更新用分割ソフトウェアの各々を、前記第1電子制御装置の前記記憶装置に書き込む
制御システム。
【請求項2】
前記第1実行装置は前記第1電子制御装置の実行装置であり、
前記第2実行装置は、前記複数の電子制御装置のうちの第2電子制御装置の実行装置であり、
前記制御システムは、前記第1電子制御装置と前記第2電子制御装置との間のみで情報の送受信を行うためのローカルネットワークをさらに備え、
前記第2実行装置は、前記第2電子制御装置が受信した前記第2更新用分割ソフトウェアを復号し、復号済みの当該第2更新用分割ソフトウェアを、前記ローカルネットワークを介して前記第1電子制御装置に送信し、
前記第1実行装置は、前記第1電子制御装置が受信した前記第1更新用分割ソフトウェアの復号と、復号済みの前記第1更新用分割ソフトウェアの前記記憶装置への書き込みと、前記ローカルネットワークを介して受信した前記第2更新用分割ソフトウェアの前記記憶装置への書き込みと、を実行する
請求項1に記載の制御システム。
【請求項3】
前記情報処理装置は、前記第1更新用分割ソフトウェアを、前記グローバルネットワークを介して前記第1電子制御装置に送信すること、及び、前記第2更新用分割ソフトウェアを、前記グローバルネットワークを介して前記第2電子制御装置に送信することを実行し、
前記第1実行装置は、自身が復号した前記第1更新用分割ソフトウェアを前記記憶装置に書き込んだ後、前記第2電子制御装置が前記ローカルネットワークを介して前記第1電子制御装置に送信した前記第2更新用分割ソフトウェアを前記記憶装置に書き込む
請求項2に記載の制御システム。
【請求項4】
前記情報処理装置は、前記第2更新用分割ソフトウェアの前記記憶装置への書き込みが完了した後、分割した更新用ソフトウェアのうちの1つである第3更新用分割ソフトウェアを、前記グローバルネットワークを介して前記第1電子制御装置に送信し、
前記第1実行装置は、前記第2更新用分割ソフトウェアの前記記憶装置への書き込みが完了した後に、前記第3更新用分割ソフトウェアを復号し、当該第3更新用分割ソフトウェアを前記記憶装置に書き込む
請求項3に記載の制御システム。
【請求項5】
前記情報処理装置は、前記第1更新用分割ソフトウェア及び前記第2更新用分割ソフトウェアの何れをも、前記グローバルネットワークを介して前記第1電子制御装置に送信し、
前記第1実行装置は、
前記グローバルネットワークを介して受信した前記第1更新用分割ソフトウェアを復号し、当該第1更新用分割ソフトウェアを前記記憶装置に書き込み、
前記グローバルネットワークを介して受信した前記第2更新用分割ソフトウェアを、前記ローカルネットワークを介して前記第2電子制御装置に送信し、
前記ローカルネットワークを介して前記第2電子制御装置から受信した前記第2更新用分割ソフトウェアを前記記憶装置に書き込み、
前記第2実行装置は、前記ローカルネットワークを介して前記第1電子制御装置から受信した前記第2更新用分割ソフトウェアを復号し、復号済みの当該第2更新用分割ソフトウェアを、前記ローカルネットワークを介して前記第1電子制御装置に送信する
請求項2に記載の制御システム。
【請求項6】
前記第1電子制御装置が、前記第1実行装置及び前記第2実行装置を有し、
前記第1実行装置は、前記第1更新用分割ソフトウェアを復号し、当該第1更新用分割ソフトウェアを前記記憶装置に書き込み、
前記第2実行装置は、前記第2更新用分割ソフトウェアを復号し、当該第2更新用分割ソフトウェアを前記記憶装置に書き込む
請求項1に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に設けられる制御システムに関する。
【背景技術】
【0002】
特許文献1は、車載の電子制御装置が備える記憶装置のソフトウェアを更新する機能を有するシステムを開示している。当該システムでは、ソフトウェアを更新する際に、複数の電子制御装置が接続されている車載ネットワークにTesterが接続される。Testerには、更新対象の電子制御装置向けの更新用ソフトウェアが予め格納されている。そのため、車載ネットワークにTesterが接続されると、当該Testerが車載ネットワークを介して更新用ソフトウェアを更新対象の電子制御装置に送信する。これにより、当該電子制御装置では、記憶装置のソフトウェアが更新用ソフトウェアに書き換えられる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2018-120438号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、電子制御装置が備える記憶装置のソフトウェアを、車外のデータセンタから無線通信によって車両に送信された更新用ソフトウェアに更新するシステムが開発されている。当該システムは、データセンタから車両に送信された更新用ソフトウェアを取得する情報処理装置を備えている。ソフトウェアを更新する場合、情報処理装置は、車載ネットワークを介して更新対象の電子制御装置に更新用ソフトウェアを送信する。このとき、情報処理装置は、情報の機密性を高めるために、暗号化された更新用ソフトウェアを電子制御装置に送信する。そのため、電子制御装置の実行装置は、受信した更新用ソフトウェアを復号し、復号済みの更新用ソフトウェアを記憶装置に書き込むことになる。本発明の目的は、暗号化された更新用ソフトウェアを情報処理装置が車載ネットワークを介して電子制御装置に送信することによって、当該電子制御装置の記憶装置のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制することである。
【課題を解決するための手段】
【0005】
上記課題を解決するための制御システムは、車両の外部から無線通信によって前記車両に送信された更新用ソフトウェアを取得する情報処理装置と、複数の電子制御装置と前記情報処理装置とを通信可能に接続するグローバルネットワークと、を備え、前記複数の電子制御装置のうちの第1電子制御装置が備える記憶装置のソフトウェアを更新可能に構成されたシステムである。当該制御システムは、第1実行装置及び第2実行装置を備えている。前記第1電子制御装置の前記記憶装置のソフトウェアを、前記情報処理装置が取得した前記第1電子制御装置向けの更新用ソフトウェアに更新する場合、前記情報処理装置は、前記更新用ソフトウェアを複数に分割し、分割した更新用ソフトウェアを、暗号化された状態で前記グローバルネットワークに送信する。前記第1実行装置は、前記情報処理装置が分割して前記グローバルネットワークに送信した更新用ソフトウェアのうちの1つである第1更新用分割ソフトウェアを復号する。記第2実行装置は、前記情報処理装置が分割して前記グローバルネットワークに送信した更新用ソフトウェアのうちの1つである第2更新用分割ソフトウェアを復号する。前記第1実行装置が復号した前記第1更新用分割ソフトウェア、及び、前記第2実行装置が復号した前記第2更新用分割ソフトウェアの各々を、前記第1電子制御装置の前記記憶装置に書き込む。
【0006】
情報処理装置が取得した更新用ソフトウェアを複数に分割し、分割した更新用ソフトウェアである更新用分割ソフトウェアを情報処理装置がグローバルネットワークを介して第1電子制御装置に送信する場合を考える。この場合、第1電子制御装置では、複数の更新用分割ソフトウェアのうち、第1更新用分割ソフトウェアを受信すると、実行装置が当該第1更新用分割ソフトウェアを復号する。そして、当該実行装置が、復号済みの第1更新用分割ソフトウェアを記憶装置に書き込む。この間、第1電子制御装置の実行装置は、次の更新用ソフトウェアである第2更新用分割ソフトウェアが送信されてきても、第2更新用分割ソフトウェアを復号する処理を実行できない。そのため、情報処理装置は、第2更新用分割ソフトウェアを送信できない。つまり、情報処理装置が待機状態になる。このように情報処理装置が待機状態になる時間が長いほど、第1電子制御装置の記憶装置のソフトウェアの更新に要する時間が長くなる。
【0007】
上記制御システムでは、情報処理装置が第1更新用分割ソフトウェアをグローバルネットワークに送信すると、第1実行装置が、第1更新用分割ソフトウェアを復号する。このように第1実行装置が第1更新用分割ソフトウェアを復号している間、第2実行装置は、情報処理装置からの第2更新用分割ソフトウェアを待っている。そのため、第1実行装置が第1更新用分割ソフトウェアを復号している場合に、第2実行装置は、情報処理装置から送信された第2更新用分割ソフトウェアを復号できる。その結果、情報処理装置が上記のような待機状態になる時間を短くできる。
【0008】
したがって、上記制御システムは、第1電子制御装置の記憶装置のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制できる。
【図面の簡単な説明】
【0009】
図1図1は、第1実施形態の制御システムを備える車両と、車両の外部に設けられているデータセンタとを示す概略構成図である。
図2図2において、(A)は第1実施形態の制御システムの情報処理装置で実行される処理の流れの前半部分を示す図であり、(B)は当該制御システムの第1電子制御装置で実行される処理の流れの前半部分を示す図であり、(C)は当該制御システムの第2電子制御装置で実行される処理の流れの前半部分を示す図である。
図3図3において、(A)は当該情報処理装置で実行される処理の流れの後半部分を示す図であり、(B)は当該第1電子制御装置で実行される処理の流れの後半部分を示す図であり、(C)は当該第2電子制御装置で実行される処理の流れの後半部分を示す図である。
図4図4において、(A)~(D)は、当該第1電子制御装置に相当する第1制動ECUが備える記憶装置のソフトウェアを更新する様子を示すタイミングチャートである。
図5図5において、(A)は第2実施形態の制御システムの情報処理装置で実行される処理の流れの一部を示す図であり、(B)は当該制御システムの第1電子制御装置で実行される処理の流れの一部を示す図であり、(C)は当該制御システムの第2電子制御装置で実行される処理の流れの一部を示す図である。
図6図6は、第3実施形態の制御システムを示す概略構成図である。
図7図7において、(A)は第3実施形態の制御システムの情報処理装置で実行される処理の流れを示す図であり、(B)は当該制御システムの第1電子制御装置の第1実行装置が実行する処理の流れを示す図であり、(C)は当該第1電子制御装置の第2実行装置が実行する処理の流れを示す図である。
図8図8は、第4実施形態の制御システムを示す概略構成図である。
図9図9において、(A)は第4実施形態の制御システムの情報処理装置で実行される処理の流れの一部を示す図であり、(B)は当該制御システムの第1電子制御装置で実行される処理の流れの一部を示す図であり、(C)は当該制御システムの第2電子制御装置で実行される処理の流れの一部を示す図である。
【発明を実施するための形態】
【0010】
(第1実施形態)
以下、制御システムの第1実施形態を図1図4に従って説明する。本明細書では、電子制御装置を「ECU」と記載する。「ECU」は「Electronic Control Unit」の略記である。
【0011】
図1は、車両10と、車両10の外部に設けられているデータセンタ100とを図示している。
<データセンタ>
データセンタ100は、車外ネットワーク200を介して車両10と各種の情報の送受信ができるように構成されている。すなわち、データセンタ100は、無線通信によって車両10と各種情報の送受信を行う。
【0012】
詳しくは後述するが、車両10は複数のECUを備えている。複数のECUのうちの何れかのECUの記憶装置のソフトウェアを更新するための更新用ソフトウェアが用意できた場合、データセンタ100は、車外ネットワーク200を介して当該更新用ソフトウェアを車両10に送信する。なお、車両10に設けられている複数のECUのうち、ソフトウェアを更新するECUを「更新対象ECU」という。
【0013】
<車両>
車両10は、制御システム15とアクチュエータとを備えている。車両10は、アクチュエータとして、第1アクチュエータ11と第2アクチュエータ12とを備えている。第1アクチュエータ11及び第2アクチュエータ12は、車両10で発生する制動力を調整すべく作動する。
【0014】
<制御システム>
制御システム15は、通信装置20と情報処理装置30とを備えている。通信装置20は、データセンタ100との情報を送受信するための車両側のインターフェースである。
【0015】
情報処理装置30は、ローカルネットワーク41を介して通信装置20と通信できるように構成されている。ローカルネットワーク41は、情報処理装置30と通信装置20との間のみで情報の送受信を行うためのネットワークである。
【0016】
情報処理装置30は、データセンタ100から無線通信によって車両10に送信された更新用ソフトウェアを取得する。具体的には、情報処理装置30は、実行装置31と、記憶装置32と、格納装置33とを備えている。例えば、実行装置31はCPUであり、記憶装置32は不揮発性のメモリであり、格納装置33は揮発性のメモリである。記憶装置32は、実行装置31によって実行されるソフトウェアを記憶している。格納装置33は、通信装置20からローカルネットワーク41を介して送信された情報を一時的に格納する。すなわち、データセンタ100が、更新対象ECUを特定する情報及び更新用ソフトウェアを車両10に送信すると、通信装置20が、データセンタ100が送信した情報を受信する。そして、通信装置20は、受信した情報を、ローカルネットワーク41を介して情報処理装置30に送信する。すると、情報処理装置30の実行装置31は、ローカルネットワーク41を介して受信した情報、すなわち更新対象ECUを特定する情報及び更新用ソフトウェアを格納装置33に記憶させる。
【0017】
制御システム15は、グローバルネットワーク42と、複数のECUとを備えている。グローバルネットワーク42は、情報処理装置30と複数のECUとを通信可能に接続する車内ネットワークである。例えば、グローバルネットワーク42はCANバスである。CANは「Controller Area Network」の略記である。
【0018】
複数のECUは、第1制動ECU60と、第2制動ECU70とを含んでいる。第1制動ECU60及び第2制動ECU70は、車両10で発生する制動力を調整するECUである。第1制動ECU60は、第1アクチュエータ11を作動させる。第2制動ECU70は、第2アクチュエータ12を作動させる。なお、複数のECUは、制動ECU60以外の他のECU50も含んでいる。
【0019】
制御システム15は、第1制動ECU60と第2制動ECU70との間のみで情報の送受信を行うためのローカルネットワーク43を備えている。ローカルネットワーク43は、その通信速度がグローバルネットワーク42の通信速度よりも高くなるように構成されている。そのため、制御システム15では、第1制動ECU60と第2制動ECU70との間で情報の送受信を行う場合、グローバルネットワーク42を使うこともできるし、ローカルネットワーク43を使うこともできる。
【0020】
<ECU>
複数のECUは、実行装置と記憶装置と格納装置とをそれぞれ備えている。例えば、実行装置はCPUであり、記憶装置は不揮発性のメモリであり、格納装置は揮発性のメモリである。記憶装置には、実行装置が実行するソフトウェアが記憶される。格納装置には、実行装置の演算結果などが一時的に記憶される。
【0021】
詳しくは、第1制動ECU60の実行装置61は、記憶装置62のソフトウェアを実行することによって第1アクチュエータ11を制御する。実行装置61は、第1アクチュエータ11を制御するために演算した結果を格納装置63に一時的に記憶する。
【0022】
第2制動ECU70の実行装置71は、記憶装置72のソフトウェアを実行することによって第2アクチュエータ12を制御する。実行装置71は、第2アクチュエータ12を制御するために演算した結果を格納装置73に一時的に記憶する。
【0023】
<ソフトウェアの更新処理>
本実施形態では、制動ECUが備える記憶装置のソフトウェアを更新する手法について説明する。更新対象ECUが第1制動ECU60である場合、第1制動ECU60が「第1電子制御装置」に対応し、第2制動ECU70が「第2電子制御装置」に対応する。また、第1制動ECU60の実行装置61が「第1実行装置」に対応し、第2制動ECU70の実行装置71が「第2実行装置」に対応する。
【0024】
図2及び図3を参照し、第1制動ECU60の記憶装置62のソフトウェアを更新する際の一連の処理の流れを説明する。図2(A)及び図3(A)は情報処理装置30の実行装置31が実行する処理ルーチンを示している。図2(B)及び図3(B)は第1制動ECU60の実行装置61が実行する処理ルーチンを示している。図2(C)及び図3(C)は第2制動ECU70の実行装置71が実行する処理ルーチンを示している。すなわち、図2(B)及び図3(B)に示す処理ルーチンが第1電子制御装置で実行される処理ルーチンであり、図2(C)及び図3(C)に示す処理ルーチンが第2電子制御装置で実行される処理ルーチンであるとも云える。
【0025】
情報処理装置30の実行装置31は、第1制動ECU60向けの更新用ソフトウェアを取得すると、図2(A)及び図3(A)に示す処理ルーチンの実行を開始する。ステップS11において、実行装置31は、実行装置の制御モードを通常モードから更新モードに変更することを第1制動ECU60及び第2制動ECU70の双方に要求する。通常モードとは、アクチュエータを制御する際の制御モードである。更新モードは、記憶装置のソフトウェアを更新する際の制御モードである。
【0026】
次のステップS13において、情報処理装置30の実行装置31は、モードの変更が完了した旨の通知を第1制動ECU60及び第2制動ECU70の何れもから受信したか否かを判定する。実行装置31は、第1制動ECU60及び第2制動ECU70の何れもから上記通知を受信している場合(S13:YES)、処理をステップS15に移行する。一方、実行装置31は、第1制動ECU60及び第2制動ECU70のうちの少なくとも一方から上記通知を受信していない場合(S13:NO)、処理をステップS11に戻す。すなわち、実行装置31は、第1制動ECU60及び第2制動ECU70の何れもから上記通知を受信するまで、第1制動ECU60及び第2制動ECU70にモード変更を要求し続ける。
【0027】
図2(B)及び図3(B)に示すように、ステップS101において、第1制動ECU60の実行装置61は、モード変更の要求を情報処理装置30から受信したか否かを判定する。実行装置61は、モード変更の要求を受信した場合(S101:YES)、処理をステップS103に移行する。一方、実行装置61は、モード変更の要求を受信していない場合(S101:NO)、要求を受信するまでステップS101の判定を繰り返し実行する。ステップS103において、実行装置61は、自身をリセットし、制御モードを更新モードに変更して再起動する。続いてステップS105において、実行装置61は、通常モードから更新モードへの変更が完了した旨の通知を情報処理装置30に送信する。具体的には、実行装置61は、当該通知を、グローバルネットワーク42を介して情報処理装置30に送信する。次のステップS107において、実行装置61は、記憶装置62から更新前のソフトウェアの消去を開始する。その後、実行装置61は処理をステップS109に移行する。
【0028】
図2(C)及び図3(C)に示すように、ステップS201において、第2制動ECU70の実行装置71は、モード変更の要求を情報処理装置30から受信したか否かを判定する。実行装置71は、モード変更の要求を受信した場合(S201:YES)、処理をステップS203に移行する。一方、実行装置71は、モード変更の要求を受信していない場合(S201:NO)、要求を受信するまでステップS201の判定を繰り返し実行する。ステップS203において、実行装置71は、自身をリセットし、制御モードを更新モードに変更して再起動する。続いてステップS205において、実行装置71は、通常モードから更新モードへの変更が完了した旨の通知を情報処理装置30に送信する。具体的には、実行装置71は、当該通知を、グローバルネットワーク42を介して情報処理装置30に送信する。そして、実行装置71は処理をステップS207に移行する。
【0029】
図2(A)及び図3(A)に示すように、ステップS15において、情報処理装置30の実行装置31は、計数Mとして1を設定する。すると、実行装置31は、第1制動ECU60向けの更新用ソフトウェアをN個に分割する。「N」は3以上の整数である。そして、ステップS17において、実行装置31は、N個に分割した更新用ソフトウェアのうちの1つである第M更新用分割ソフトウェアを、グローバルネットワーク42を介して第1制動ECU60に送信する。この際、実行装置31は、暗号化された第M更新用分割ソフトウェアを、グローバルネットワーク42を介して第1制動ECU60に送信する。なお、計数Mが1である場合、実行装置31は、暗号化された第1更新用分割ソフトウェアを第1制動ECU60に送信する。
【0030】
ステップS19において、情報処理装置30の実行装置31は、計数Mを1だけインクリメントする。次のステップS21において、実行装置31は、N個に分割した更新用ソフトウェアのうちの1つである第M更新用分割ソフトウェアを、グローバルネットワーク42を介して第2制動ECU70に送信する。この際、実行装置31は、暗号化された第M更新用分割ソフトウェアを、グローバルネットワーク42を介して第2制動ECU70に送信する。ここで第2制動ECU70に送信する更新用分割ソフトウェアは、ステップS17で第1制動ECU60に送信した更新用分割ソフトウェアとは別の更新用分割ソフトウェアである。なお、計数Mが2である場合、実行装置31は、暗号化された第2更新用分割ソフトウェアを第2制動ECU70に送信する。
【0031】
ステップS23において、情報処理装置30の実行装置31は、計数Mを1だけインクリメントする。次のステップS25において、実行装置31は、更新用分割ソフトウェアの送信が完了したか否かを判定する。本実施形態では、実行装置31は、計数Mが分割数Nよりも大きい場合、N個の更新用分割ソフトウェアの送信が完了したと判定する。一方、実行装置31は、計数Mが分割数N以下である場合、N個の更新用分割ソフトウェアの中に未だ送信していない更新用分割ソフトウェアがあるため、更新用分割ソフトウェアの送信が完了していないと判定する。そして、実行装置31は、更新用分割ソフトウェアの送信が完了した場合(S25:YES)、処理をステップS27に移行する。一方、実行装置31は、更新用分割ソフトウェアの送信が完了していない場合(S25:NO)、処理をステップS17に戻す。すなわち、実行装置31は、更新用分割ソフトウェアの送信を続行する。
【0032】
図2(B)及び図3(B)に示すように、ステップS109において、第1制動ECU60の実行装置61は、第M更新用分割ソフトウェアをグローバルネットワーク42から受信したか否かを判定する。計数Mが1である場合、実行装置61は、第1更新用分割ソフトウェアを受信したか否かを判定する。実行装置61は、第M更新用分割ソフトウェアを受信した場合(S109:YES)、処理をステップS111に移行する。一方、実行装置61は、第M更新用分割ソフトウェアを受信していない場合(S109:NO)、第M更新用分割ソフトウェアを受信するまでステップS109の判定を繰り返し実行する。
【0033】
ステップS111において、第1制動ECU60の実行装置61は、情報処理装置30から受信した第M更新用分割ソフトウェアを復号する。そしてステップS113において、実行装置61は、自身で復号した第M更新用分割ソフトウェアを記憶装置62に書き込む。例えば計数Mが1である場合、実行装置61は、第1更新用分割ソフトウェアを復号し、復号済みの第1更新用分割ソフトウェアを記憶装置62に書き込む。その後、実行装置61は処理をステップS115に移行する。
【0034】
図2(C)及び図3(C)に示すように、ステップS207において、第2制動ECU70の実行装置71は、第M更新用分割ソフトウェアをグローバルネットワーク42から受信したか否かを判定する。計数Mが2である場合、実行装置71は、第2更新用分割ソフトウェアを受信したか否かを判定する。実行装置71は、第M更新用分割ソフトウェアを受信した場合(S207:YES)、処理をステップS209に移行する。一方、実行装置71は、第M更新用分割ソフトウェアを受信していない場合(S207:NO)、第M更新用分割ソフトウェアを受信するまでステップS207の判定を繰り返し実行する。
【0035】
ステップS209において、第2制動ECU70の実行装置71は、情報処理装置30から受信した第M更新用分割ソフトウェアを復号する。そしてステップS211において、実行装置71は、復号した第M更新用分割ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する。例えば計数Mが2である場合、実行装置71は、第2更新用分割ソフトウェアを復号し、復号済みの第2更新用分割ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する。その後、実行装置71は処理をステップS213に移行する。
【0036】
ステップS213において、第2制動ECU70の実行装置71は、第1制動ECU60の記憶装置62のソフトウェアの更新が完了したか否かを判定する。実行装置71は、更新が完了した場合(S213:YES)、処理をステップS215に移行する。一方、実行装置71は、更新が完了していない場合(S213:NO)、処理をステップS207に戻す。すなわち、実行装置71は、記憶装置62のソフトウェアの更新が完了するまで、ステップS207からステップS211までの処理を繰り返し実行する。
【0037】
図2(B)及び図3(B)に示すように、ステップS115において、第1制動ECU60の実行装置61は、ローカルネットワーク43を介して第2制動ECU70から復号済みの第M更新用分割ソフトウェアを受信したか否かを判定する。実行装置61は、第2制動ECU70から第M更新用分割ソフトウェアを受信した場合(S115:YES)、処理をステップS117に移行する。一方、実行装置61は、第2制動ECU70から第M更新用分割ソフトウェアを受信していない場合(S115:NO)、第2制動ECU70から第M更新用分割ソフトウェアを受信するまでステップS115の判定を繰り返し実行する。ステップS117において、実行装置61は、第2制動ECU70から受信した復号済みの第M更新用分割ソフトウェアを記憶装置62に書き込む。例えば計数Mが2である場合、実行装置61は、復号済みの第2更新用分割ソフトウェアを第2制動ECU70からローカルネットワーク43を介して受信すると、当該第2更新用分割ソフトウェアを記憶装置62に書き込む。その後、実行装置61は処理をステップS119に移行する。
【0038】
ステップS119において、第1制動ECU60の実行装置61は、記憶装置62のソフトウェアの更新が完了したか否かを判定する。実行装置61は、更新が完了した場合(S119:YES)、処理をステップS121に移行する。一方、実行装置61は、更新が完了していない場合(S119:NO)、処理をステップS109に戻す。すなわち、実行装置61は、記憶装置62のソフトウェアの更新が完了するまで、ステップS109からステップS117までの処理を繰り返し実行する。
【0039】
図2(A)及び図3(A)に示すように、ステップS27において、情報処理装置30の実行装置31は、実行装置の制御モードを更新モードから通常モードに変更することを第1制動ECU60及び第2制動ECU70の何れにも要求する。ステップS29において、実行装置31は、モードの変更が完了した旨の通知を第1制動ECU60及び第2制動ECU70の何れもから受信したか否かを判定する。実行装置31は、第1制動ECU60及び第2制動ECU70の何れからも上記通知を受信している場合(S29:YES)、図2(A)及び図3(A)に示す処理ルーチンを終了する。一方、実行装置31は、第1制動ECU60及び第2制動ECU70のうちの少なくとも一方から上記通知を受信していない場合(S29:NO)、処理をステップS27に戻す。すなわち、実行装置31は、第1制動ECU60及び第2制動ECU70の何れからも上記通知を受信するまで、第1制動ECU60及び第2制動ECU70にモード変更を要求し続ける。
【0040】
図2(B)及び図3(B)に示すように、ステップS121において、第1制動ECU60の実行装置61は、モード変更の要求を情報処理装置30から受信したか否かを判定する。実行装置61は、モード変更の要求を受信した場合(S121:YES)、処理をステップS123に移行する。一方、実行装置61は、モード変更の要求を受信していない場合(S121:NO)、要求を受信するまでステップS121の判定を繰り返し実行する。ステップS123において、実行装置61は、自身をリセットし、制御モードを更新モードから通常モードに変更して再起動する。続いてステップS125において、実行装置61は、更新モードから通常モードへの変更が完了した旨の通知を情報処理装置30に送信する。その後、実行装置61は図2(B)及び図3(B)に示す処理ルーチンを終了する。
【0041】
図2(C)及び図3(C)に示すように、ステップS215において、第2制動ECU70の実行装置71は、モード変更の要求を情報処理装置30から受信したか否かを判定する。実行装置71は、モード変更の要求を受信した場合(S215:YES)、処理をステップS217に移行する。一方、実行装置71は、モード変更の要求を受信していない場合(S215:NO)、要求を受信するまでステップS215の判定を繰り返し実行する。ステップS217において、実行装置71は、自身をリセットし、制御モードを更新モードから通常モードに変更して再起動する。続いてステップS219において、実行装置71は、更新モードから通常モードへの変更が完了した旨の通知を情報処理装置30に送信する。その後、実行装置71は図2(C)及び図3(C)に示す処理ルーチンを終了する。
【0042】
なお、制御システム15では、第2制動ECU70の記憶装置72のソフトウェアを更新することもある。この場合、第2制動ECU70が更新対象ECUとなるため、第2制動ECU70が「第1電子制御装置」に対応し、第1制動ECU60が「第2電子制御装置」に対応することになる。また、第2制動ECU70の実行装置71が「第1実行装置」に対応し、第1制動ECU60の実行装置61が「第2実行装置」に対応することになる。そのため、第2制動ECU70の実行装置71が図2(B)及び図3(B)に示す処理ルーチンを実行し、第1制動ECU60の実行装置61が図2(C)及び図3(C)に示す処理ルーチンを実行する。
【0043】
<本実施形態の作用及び効果>
図4を参照し、第1制動ECU60の記憶装置62のソフトウェアを更新する際の作用を説明する。ここでは、説明理解の便宜上、更新用分割ソフトウェアの分割数Nが6であるものとする。
【0044】
記憶装置62のソフトウェアを更新する場合、図4(C)に示すように、第1制動ECU60では、タイミングt11から、更新前のソフトウェアが記憶装置62から消去され始める。すると、情報処理装置30では、更新用ソフトウェアが6個に分割される。すなわち、6個の更新用分割ソフトウェアA1~A6が生成される。そして、図4(A)及び(B)に示すように、タイミングt12から、暗号化された第1更新用分割ソフトウェアA1がグローバルネットワーク42を介して第1制動ECU60に送信される。続いて、図4(A)及び(D)に示すように、情報処理装置30では、タイミングt13から、暗号化された第2更新用分割ソフトウェアA2がグローバルネットワーク42を介して第2制動ECU70に送信される。
【0045】
第1制動ECU60では、第1更新用分割ソフトウェアA1を受信すると、第1更新用分割ソフトウェアA1が復号される。図4に示す例では、更新用分割ソフトウェアを消去する処理がタイミングt15まで実行される。そのため、タイミングt15から、復号済みの第1更新用分割ソフトウェアA1の記憶装置62への書き込みが開始される。
【0046】
一方、第2制動ECU70では、グローバルネットワーク42を介して第2更新用分割ソフトウェアA2を受信すると、第2更新用分割ソフトウェアA2が復号される。すなわち、第1制動ECU60で第1更新用分割ソフトウェアA1を復号している間でも、第2制動ECU70で第2更新用分割ソフトウェアA2の復号を行うことができる。第2制動ECU70では、第2更新用分割ソフトウェアA2が復号されると、図4(B)及び(D)に示すように、タイミングt14から、復号済みの第2更新用分割ソフトウェアA2が、ローカルネットワーク43を介して第1制動ECU60に送信される。図4(C)に示すように、第1制動ECU60では、第1更新用分割ソフトウェアA1が記憶装置62に書き込まれた後、第2更新用分割ソフトウェアA2の記憶装置62への書き込みが開始される。
【0047】
第1制動ECU60での第2更新用分割ソフトウェアA2の記憶装置62への書き込みが完了すると、情報処理装置30では、暗号化された第3更新用分割ソフトウェアA3が第1制動ECU60に送信される。この際も、第3更新用分割ソフトウェアA3は、グローバルネットワーク42を介して第1制動ECU60に送信される。続いて、情報処理装置30では、暗号化された第4更新用分割ソフトウェアA4が第2制動ECU70に送信される。この際も、第4更新用分割ソフトウェアA4は、グローバルネットワーク42を介して第2制動ECU70に送信される。
【0048】
第1制動ECU60では、第3更新用分割ソフトウェアA3を受信すると、第3更新用分割ソフトウェアA3が復号される。そして、復号済みの第3更新用分割ソフトウェアA3が記憶装置62に書き込まれる。
【0049】
第2制動ECU70では、第4更新用分割ソフトウェアA4を受信すると、第4更新用分割ソフトウェアA4が復号される。すなわち、第1制動ECU60で第3更新用分割ソフトウェアA3が復号されている間でも、第2制動ECU70では第4更新用分割ソフトウェアA4の復号を行うことができる。第4更新用分割ソフトウェアA4が復号されると、復号済みの第4更新用分割ソフトウェアA4が、ローカルネットワーク43を介して第1制動ECU60に送信される。第1制動ECU60では、第3更新用分割ソフトウェアA3が記憶装置62に書き込まれた後に、第4更新用分割ソフトウェアA4が記憶装置62に書き込まれる。
【0050】
第1制動ECU60による第4更新用分割ソフトウェアA4の記憶装置62への書き込みが完了すると、情報処理装置30では、暗号化された第5更新用分割ソフトウェアA5が第1制動ECU60に送信される。この際も、第5更新用分割ソフトウェアA5は、グローバルネットワーク42を介して第1制動ECU60に送信される。第5更新用分割ソフトウェアA5が送信されると、情報処理装置30では、暗号化された第6更新用分割ソフトウェアA6が第2制動ECU70に送信される。この際も、第6更新用分割ソフトウェアA6は、グローバルネットワーク42を介して第2制動ECU70に送信される。
【0051】
第1制動ECU60では、第5更新用分割ソフトウェアA5を受信すると、第5更新用分割ソフトウェアA5が復号される。そして、復号済みの第5更新用分割ソフトウェアA5が記憶装置62に書き込まれる。
【0052】
第2制動ECU70では、第6更新用分割ソフトウェアA6を受信すると、第6更新用分割ソフトウェアA6が復号される。すなわち、第1制動ECU60で第5更新用分割ソフトウェアA5が復号されている間でも、第2制動ECU70では第6更新用分割ソフトウェアA6の復号を行うことができる。第6更新用分割ソフトウェアA6が復号されると、復号済みの第6更新用分割ソフトウェアA6が、ローカルネットワーク43を介して第1制動ECU60に送信される。第1制動ECU60では、第5更新用分割ソフトウェアA5が記憶装置62に書き込まれた後に、第6更新用分割ソフトウェアA6が記憶装置62に書き込まれる。これにより、記憶装置62のソフトウェアの更新が完了する。
【0053】
本実施形態では、以下に示す効果を得ることができる。
(1-1)情報処理装置30は、第1更新用分割ソフトウェアA1を第1制動ECU60に送信すると、次の更新用分割ソフトウェア(この場合、第2更新用分割ソフトウェアA2)を第2制動ECU70に送信する。そして、第1制動ECU60の実行装置61が、第1更新用分割ソフトウェアA1を復号している間、第2制動ECU70の実行装置71は、第2更新用分割ソフトウェアA2を復号できる。すなわち、情報処理装置30は、第1更新用分割ソフトウェアA1の復号が完了するまで、第2更新用分割ソフトウェアA2の送信を待たなくてもよい。つまり、情報処理装置30が更新用分割ソフトウェアの送信を待機する状態になる時間を短くできる。したがって、制御システム15は、第1制動ECU60の記憶装置62のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制できる。
【0054】
(1-2)制御システム15では、複数の実行装置61,71で分担して更新用分割ソフトウェアを復号する。そのため、1つの実行装置のみでN個の更新用分割ソフトウェアの復号を行う場合と比較し、ソフトウェアの更新時での実行装置の負担を低減できる。
【0055】
(1-3)第2制動ECU70は、復号済みの更新用分割ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する。そのため、第2制動ECU70と第1制動ECU60との間でグローバルネットワーク42を介して更新用分割ソフトウェアを送信する場合と比較し、送信に要する時間を短くできる。これにより、ソフトウェアの更新に要する時間の短縮に貢献できる。
【0056】
(第2実施形態)
制御システムの第2実施形態を図5に従って説明する。なお、第2実施形態では、情報処理装置から第2電子制御装置に更新用分割ソフトウェアが直接送信されない点などが第1実施形態と異なっている。以下の説明においては、第1実施形態と相違する部分について主に説明するものとし、第1実施形態と同一の部材構成には同一符号を付して重複説明を省略するものとする。
【0057】
図5を参照し、第1制動ECU60の記憶装置62のソフトウェアを更新する際の一連の処理の流れを説明する。図5(A)は情報処理装置30の実行装置31が実行する処理ルーチンの一部を示している。図5(B)は第1制動ECU60の実行装置61が実行する処理ルーチンの一部を示している。図5(C)は第2制動ECU70の実行装置71が実行する処理ルーチンの一部を示している。すなわち、図5(B)に示す処理ルーチンが第1電子制御装置で実行される処理ルーチンの一部であり、図5(C)に示す処理ルーチンが第2電子制御装置で実行される処理ルーチンの一部であるとも云える。
【0058】
情報処理装置30の実行装置31は、第1制動ECU60向けの更新用ソフトウェアを取得すると、図2(A)及び図3(A)に示したステップS11及びステップS13の処理を順に実行する。続いて、図5(A)に示すようにステップS15Aにおいて、情報処理装置30の実行装置31は、計数Mとして1を設定する。すると、実行装置31は、第1制動ECU60向けの更新用ソフトウェアをN個に分割する。「N」は3以上の整数である。そして、ステップS17Aにおいて、実行装置31は、N個に分割した更新用ソフトウェアのうちの1つである第M更新用分割ソフトウェアを、グローバルネットワーク42を介して第1制動ECU60に送信する。この際、実行装置31は、暗号化された第M更新用分割ソフトウェアを、グローバルネットワーク42を介して第1制動ECU60に送信する。なお、計数Mが1である場合、実行装置31は、暗号化された第1更新用分割ソフトウェアを第1制動ECU60に送信する。
【0059】
ステップS19Aにおいて、情報処理装置30の実行装置31は、計数Mを1だけインクリメントする。次のステップS21Aにおいて、実行装置31は、分割した更新用ソフトウェアのうちの1つである第M更新用分割ソフトウェアを、グローバルネットワーク42を介して第1制動ECU60に送信する。この際、実行装置31は、暗号化された第M更新用分割ソフトウェアを、グローバルネットワーク42を介して第1制動ECU60に送信する。ここで第1制動ECU60に送信する更新用分割ソフトウェアは、ステップS17Aで第1制動ECU60に送信した更新用分割ソフトウェアとは別の更新用分割ソフトウェアである。なお、計数Mが2である場合、実行装置31は、暗号化された第2更新用分割ソフトウェアを第2制動ECU70に送信する。
【0060】
ステップS23Aにおいて、情報処理装置30の実行装置31は、計数Mを1だけインクリメントする。次のステップS25Aにおいて、実行装置31は、図2(A)及び図3(A)に示したステップS25と同様に、N個の更新用分割ソフトウェアの送信が完了したか否かを判定する。実行装置31は、N個の更新用分割ソフトウェアの中に未だ送信していない更新用分割ソフトウェアがある場合(S25A:NO)、処理をステップS17Aに戻す。すなわち、実行装置31は、更新用分割ソフトウェアの送信を続行する。一方、実行装置31は、N個の更新用分割ソフトウェアの送信が完了した場合(S25A:YES)、処理を図2(A)及び図3(A)に示したステップS27に移行する。ステップS27以降の処理の流れは、第1実施形態の場合と同様である。
【0061】
第1制動ECU60の実行装置61は、図2(B)及び図3(B)に示したステップS101からステップS107までの処理を順に実行する。そして、図5(B)に示すようにステップS131において、実行装置61は、ステップS17Aで情報処理装置30が送信した第M更新用分割ソフトウェアをグローバルネットワーク42から受信したか否かを判定する。計数Mが1である場合、実行装置61は、第1更新用分割ソフトウェアA1を受信したか否かを判定する。実行装置61は、第M更新用分割ソフトウェアを受信した場合(S131:YES)、処理をステップS133に移行する。一方、実行装置61は、第M更新用分割ソフトウェアを受信していない場合(S131:NO)、第M更新用分割ソフトウェアを受信するまでステップS131の判定を繰り返し実行する。
【0062】
ステップS133において、第1制動ECU60の実行装置61は、ステップS21Aで情報処理装置30が送信した第M更新用分割ソフトウェアをグローバルネットワーク42から受信したか否かを判定する。計数Mが2である場合、実行装置61は、第2更新用分割ソフトウェアA2を受信したか否かを判定する。実行装置61は、第M更新用分割ソフトウェアを受信した場合(S133:YES)、処理をステップS135に移行する。一方、実行装置61は、第M更新用分割ソフトウェアを受信していない場合(S133:NO)、第M更新用分割ソフトウェアを受信するまでステップS133の判定を繰り返し実行する。
【0063】
ステップS135において、第1制動ECU60の実行装置61は、ステップS133で受信した第M更新用分割ソフトウェアを、ローカルネットワーク43を介して第2制動ECU70に送信する。例えば第1制動ECU60が第1更新用分割ソフトウェアA1及び第2更新用分割ソフトウェアA2を受信した場合、実行装置61は、第1更新用分割ソフトウェアA1及び第2更新用分割ソフトウェアA2のうち、第2更新用分割ソフトウェアA2のみをローカルネットワーク43を介して第2制動ECU70に送信する。
【0064】
ステップS137において、第1制動ECU60の実行装置61は、ステップS131で受信した第M更新用分割ソフトウェアを復号する。すなわち、実行装置61は、情報処理装置30から受信した2つの更新用分割ソフトウェアのうち、第2制動ECU70に送信していないほうの更新用分割ソフトウェアを復号する。次のステップS139において、実行装置61は、自身で復号した第M更新用分割ソフトウェアを記憶装置62に書き込む。そして、実行装置61は処理をステップS141に移行する。
【0065】
第2制動ECU70の実行装置71は、図2(C)及び図3(C)に示したステップS201からS205までの処理を順に実行する。そして、図5(C)に示すようにステップS231において、実行装置71は、ローカルネットワーク43を介して第M更新用分割ソフトウェアを受信したか否かを判定する。計数Mが2である場合、実行装置71は、第2更新用分割ソフトウェアA2を受信したか否かを判定する。ここで受信する更新用分割ソフトウェアは、ステップS21Aで情報処理装置30が送信した更新用分割ソフトウェアである。実行装置71は、第M更新用分割ソフトウェアを受信した場合(S231:YES)、処理をステップS233に移行する。一方、実行装置71は、第M更新用分割ソフトウェアを受信していない場合(S231:NO)、第M更新用分割ソフトウェアを受信するまでステップS231の判定を繰り返し実行する。
【0066】
ステップS233において、第2制動ECU70の実行装置71は、受信した第M更新用分割ソフトウェアを復号する。そしてステップS235において、実行装置71は、復号した第M更新用分割ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する。例えば計数Mが2である場合、実行装置71は、第2更新用分割ソフトウェアA2を復号し、復号済みの第2更新用分割ソフトウェアA2を、ローカルネットワーク43を介して第1制動ECU60に送信する。その後、実行装置71は処理をステップS237に移行する。
【0067】
ステップS237において、第2制動ECU70の実行装置71は、第1制動ECU60の記憶装置62のソフトウェアの更新が完了したか否かを判定する。実行装置71は、更新が完了していない場合(S237:NO)、処理をステップS231に戻す。すなわち、実行装置71は、記憶装置62のソフトウェアの更新が完了するまで、ステップS231からステップS235までの処理を繰り返し実行する。一方、実行装置71は、更新が完了した場合(S237:YES)、処理を図2(C)及び図3(C)に示したステップS215に移行する。ステップS215以降の処理の流れは、第1実施形態の場合と同様である。
【0068】
図5(B)に示すように、ステップS141において、第1制動ECU60の実行装置61は、ローカルネットワーク43を介して第M更新用分割ソフトウェアを第2制動ECU70から受信したか否かを判定する。実行装置61は、第M更新用分割ソフトウェアを受信した場合(S141:YES)、処理をステップS143に移行する。一方、実行装置61は、第M更新用分割ソフトウェアを受信していない場合(S141:NO)、第M更新用分割ソフトウェアを受信するまでステップS141の判定を繰り返し実行する。
【0069】
ステップS143において、第1制動ECU60の実行装置61は、ステップS141で受信した第M更新用分割ソフトウェアを記憶装置62に書き込む。すなわち、実行装置61は、第2制動ECU70から送信されてきた復号済みの第M更新用分割ソフトウェアを記憶装置62に書き込む。そしてステップS145において、実行装置61は、記憶装置62のソフトウェアの更新が完了したか否かを判定する。実行装置61は、更新が完了していない場合(S145:NO)、処理をステップS131に戻す。すなわち、実行装置61は、記憶装置62のソフトウェアの更新が完了するまで、ステップS131からステップS143までの処理を繰り返し実行する。一方、実行装置61は、更新が完了した場合(S145:YES)、処理を図2(B)及び図3(B)に示したステップS121に移行する。ステップS121以降の処理の流れは、第1実施形態の場合と同様である。
【0070】
<本実施形態の作用及び効果>
本実施形態の作用及び効果のうち、第1実施形態と相違する部分を中心に説明する。
第1制動ECU60の記憶装置62のソフトウェアを更新する場合、情報処理装置30では、更新用ソフトウェアがN個に分割される。情報処理装置30では、N個の更新用分割ソフトウェアが、グローバルネットワーク42を介して更新対象ECUである第1制動ECU60に送信される。本実施形態では、更新用分割ソフトウェアが2つずつグローバルネットワーク42を介して第1制動ECU60に送信される。
【0071】
第1制動ECU60では、受信した2つの更新用分割ソフトウェアのうちの1つが、ローカルネットワーク43を介して第2制動ECU70に送信される。また、第1制動ECU60では、第2制動ECU70に送信しなかった更新用分割ソフトウェアが復号される。そして、実行装置61が復号した更新用分割ソフトウェアが、記憶装置62に書き込まれる。
【0072】
一方、第2制動ECU70では、ローカルネットワーク43を介して受信した更新用分割ソフトウェアが復号される。そして、復号済みの更新用分割ソフトウェアが、ローカルネットワーク43を介して第1制動ECU60に送信される。第1制動ECU60では、ローカルネットワーク43を介して受信した復号済みの更新用分割ソフトウェアが記憶装置62に書き込まれる。
【0073】
こうした一連の処理を繰り返すことにより、第1制動ECU60の記憶装置62のソフトウェアが更新される。
本実施形態では、第1制動ECU60で第1更新用分割ソフトウェアA1が復号されている間、第2制動ECU70でも第2更新用分割ソフトウェアA2を復号できる。すなわち、情報処理装置30は、第1更新用分割ソフトウェアA1の復号が完了するまで、第2更新用分割ソフトウェアA2の送信を待たなくてもよい。つまり、情報処理装置30が更新用分割ソフトウェアの送信を待機する状態になる時間を短くできる。したがって、制御システム15は、第1制動ECU60の記憶装置62のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制できる。
【0074】
また、本実施形態では、情報処理装置30は、N個の更新用分割ソフトウェアのうちの一部を、更新対象ECUではない第2制動ECU70に直接送信しなくてもよい。
さらに、本実施形態では、上記第1実施形態の効果(1-2)及び(1-3)と同等の効果を得ることができる。
【0075】
(第3実施形態)
制御システムの第3実施形態を図6及び図7に従って説明する。なお、第3実施形態では、更新対象ECUが、複数の実行装置を備えたマルチコアプロセッサである点などが第1実施形態と異なっている。以下の説明においては、上記複数の実施形態と相違する部分について主に説明するものとし、上記複数の実施形態と同一の部材構成には同一符号を付して重複説明を省略するものとする。
【0076】
<制御システム>
図6を参照し、本実施形態の制御システム15Bを説明する。
制御システム15Bは、通信装置20と、情報処理装置30と、複数のECUとを備えている。複数のECUは、グローバルネットワーク42を介して情報処理装置30と通信可能に構成されている。複数のECUは、ECU80及びECU50を含んでいる。例えば、ECU80は、車両10で発生する制動力を調整すべくアクチュエータを制御する制動ECUである。
【0077】
ECU80は、マルチコアプロセッサである。ECU80は、第1実行装置81Aと、第2実行装置81Bと、記憶装置82と、格納装置83とを備えている。例えば、第1実行装置81A及び第2実行装置81BはCPUであり、記憶装置82は不揮発性のメモリであり、格納装置83は揮発性のメモリである。記憶装置82には、第1実行装置81A及び第2実行装置81Bによって実行されるソフトウェアが記憶される。
【0078】
<ソフトウェアの更新処理>
図7を参照し、ECU80が備える記憶装置82のソフトウェアを更新する一連の処理の流れを説明する。図7(A)は情報処理装置30の実行装置31が実行する処理ルーチンを示している。図7(B)はECU80の第1実行装置81Aが実行する処理ルーチンを示している。図7(C)はECU80の第2実行装置81Bが実行する処理ルーチンを示している。
【0079】
情報処理装置30の実行装置31は、ECU80向けの更新用ソフトウェアを取得すると、図7(A)に示す処理ルーチンの実行を開始する。ステップS41において、実行装置31は、実行装置の制御モードを通常モードから更新モードに変更することをECU80に要求する。次のステップS43において、実行装置31は、第1実行装置81Aの制御モードが更新モードに変更された旨の第1通知と、第2実行装置81Bの制御モードが更新モードに変更された旨の第2通知との何れをも受信したか否かを判定する。実行装置31は、第1通知と第2通知との何れをも受信した場合(S43:YES)、処理をステップS45に移行する。一方、実行装置31は、第1通知及び第2通知のうち少なくとも一方を受信していない場合(S43:NO)、処理をステップS41に戻す。すなわち、実行装置31は、第1通知及び第2通知の何れをも受信できるまでモード変更をECU80に要求し続ける。
【0080】
図7(B)に示すように、ステップS151Aにおいて、ECU80の第1実行装置81Aは、モード変更の要求を情報処理装置30からECU80が受信したか否かを判定する。第1実行装置81Aは、モード変更の要求をECU80が受信した場合(S151A:YES)、処理をステップS153Aに移行する。一方、第1実行装置81Aは、モード変更の要求をECU80が受信していない場合(S151A:NO)、要求をECU80が受信するまでステップS151Aの判定を繰り返し実行する。ステップS153Aにおいて、第1実行装置81Aは、自身をリセットし、制御モードを更新モードに変更して再起動する。続いてステップS155Aにおいて、第1実行装置81Aは、通常モードから更新モードへの変更が完了した旨の第1通知を情報処理装置30に送信する。次のステップS157Aにおいて、第1実行装置81Aは、記憶装置82から更新前のソフトウェアの消去を開始する。その後、第1実行装置81Aは処理をステップS159Aに移行する。
【0081】
図7(C)に示すように、ステップS151Bにおいて、ECU80の第2実行装置81Bは、モード変更の要求を情報処理装置30からECU80が受信したか否かを判定する。第2実行装置81Bは、モード変更の要求をECU80が受信した場合(S151B:YES)、処理をステップS153Bに移行する。一方、第2実行装置81Bは、モード変更の要求をECU80が受信していない場合(S151B:NO)、要求をECU80が受信するまでステップS151Bの判定を繰り返し実行する。ステップS153Bにおいて、第2実行装置81Bは、自身をリセットし、制御モードを更新モードに変更して再起動する。続いてステップS155Bにおいて、第2実行装置81Bは、通常モードから更新モードへの変更が完了した旨の第2通知を情報処理装置30に送信する。そして、第2実行装置81Bは処理をステップS159Bに移行する。
【0082】
図7(A)に示すように、ステップS45において、情報処理装置30の実行装置31は、計数Mとして1を設定する。すると、実行装置31は、ECU80向けの更新用ソフトウェアをN個に分割する。「N」は3以上の整数である。そして、ステップS47において、実行装置31は、分割した更新用ソフトウェアのうちの1つである第M更新用分割ソフトウェアを、グローバルネットワーク42を介してECU80に送信する。この際、実行装置31は、暗号化された第M更新用分割ソフトウェアを、グローバルネットワーク42を介してECU80に送信する。なお、計数Mが1である場合、実行装置31は、暗号化された第1更新用分割ソフトウェアA1をECU80に送信する。
【0083】
ステップS49において、情報処理装置30の実行装置31は、計数Mを1だけインクリメントする。次のステップS51において、実行装置31は、分割した更新用ソフトウェアのうちの1つである第M更新用分割ソフトウェアを、グローバルネットワーク42を介してECU80に送信する。この際、実行装置31は、暗号化された第M更新用分割ソフトウェアを、グローバルネットワーク42を介してECU80に送信する。ここでECU80に送信する更新用分割ソフトウェアは、ステップS47でECU80に送信した更新用分割ソフトウェアとは別の更新用分割ソフトウェアである。なお、計数Mが2である場合、実行装置31は、暗号化された第2更新用分割ソフトウェアA2をECU80に送信する。
【0084】
ステップS53において、情報処理装置30の実行装置31は、計数Mを1だけインクリメントする。次のステップS55において、実行装置31は、図2(A)及び図3(A)に示したステップS25と同様に、更新用分割ソフトウェアの送信が完了したか否かを判定する。実行装置31は、更新用分割ソフトウェアの送信が完了した場合(S55:YES)、処理をステップS57に移行する。一方、実行装置31は、更新用分割ソフトウェアの送信が完了していない場合(S55:NO)、処理をステップS47に戻す。すなわち、実行装置31は、更新用分割ソフトウェアのECU80への送信を続行する。
【0085】
図7(B)に示すように、ステップS159Aにおいて、ECU80の第1実行装置81Aは、第M更新用分割ソフトウェアをECU80が受信したか否かを判定する。ここで受信する更新用分割ソフトウェアは、ステップS47で情報処理装置30が送信した第M更新用分割ソフトウェアである。計数Mが1である場合、第1実行装置81Aは、第1更新用分割ソフトウェアを受信したか否かを判定する。第1実行装置81Aは、第M更新用分割ソフトウェアをECU80が受信した場合(S159A:YES)、処理をステップS161Aに移行する。一方、第1実行装置81Aは、第M更新用分割ソフトウェアをECU80が受信していない場合(S159A:NO)、第M更新用分割ソフトウェアを受信するまでステップS159Aの判定を繰り返し実行する。
【0086】
ステップS161Aにおいて、ECU80の第1実行装置81Aは、ステップS159AでECU80が受信した第M更新用分割ソフトウェアを復号する。そしてステップS163Aにおいて、第1実行装置81Aは、自身が復号した第M更新用分割ソフトウェアを記憶装置82に書き込む。例えば計数Mが1である場合、第1実行装置81Aは、第1更新用分割ソフトウェアA1を復号し、復号済みの第1更新用分割ソフトウェアA1を記憶装置82に書き込む。
【0087】
ステップS165Aにおいて、ECU80の第1実行装置81Aは、記憶装置82のソフトウェアの更新が完了したか否かを判定する。第1実行装置81Aは、更新が完了した場合(S165A:YES)、処理をステップS167Aに移行する。一方、第1実行装置81Aは、更新が完了していない場合(S165A:NO)、処理をステップS159Aに戻す。すなわち、第1実行装置81Aは、記憶装置82のソフトウェアの更新が完了するまで、ステップS159AからステップS163Aまでの処理を繰り返し実行する。
【0088】
図7(C)に示すように、ステップS159Bにおいて、ECU80の第2実行装置81Bは、第M更新用分割ソフトウェアをECU80が受信したか否かを判定する。ここで受信する更新用分割ソフトウェアは、ステップS51で情報処理装置30が送信した第M更新用分割ソフトウェアである。計数Mが2である場合、第2実行装置81Bは、第2更新用分割ソフトウェアをECU80が受信したか否かを判定する。第2実行装置81Bは、第M更新用分割ソフトウェアをECU80が受信した場合(S159B:YES)、処理をステップS161Bに移行する。一方、第2実行装置81Bは、第M更新用分割ソフトウェアをECU80が受信していない場合(S159B:NO)、第M更新用分割ソフトウェアをECU80が受信するまでステップS159Bの判定を繰り返し実行する。
【0089】
ステップS161Bにおいて、ECU80の第2実行装置81Bは、ステップS159Bで受信した第M更新用分割ソフトウェアを復号する。そしてステップS161Bにおいて、第2実行装置81Bは、自身が復号した第M更新用分割ソフトウェアを記憶装置62に書き込む。例えば計数Mが2である場合、第2実行装置81Bは、第2更新用分割ソフトウェアA2を復号し、復号済みの第2更新用分割ソフトウェアA2を記憶装置62に書き込む。
【0090】
ステップS165Bにおいて、ECU80の第2実行装置81Bは、記憶装置82のソフトウェアの更新が完了したか否かを判定する。第2実行装置81Bは、更新が完了した場合(S165B:YES)、処理をステップS167Bに移行する。一方、第2実行装置81Bは、更新が完了していない場合(S165B:NO)、処理をステップS159Bに戻す。すなわち、第2実行装置81Bは、記憶装置82のソフトウェアの更新が完了するまで、ステップS159BからステップS163Bまでの処理を繰り返し実行する。
【0091】
図7(A)に示すように、ステップS57において、情報処理装置30の実行装置31は、実行装置の制御モードを更新モードから通常モードに変更することをECU80に要求する。ステップS59において、実行装置31は、第1実行装置81Aの制御モードが通常モードに変更された旨の第3通知、及び、第2実行装置81Bの制御モードが通常モードに変更された旨の第4通知の何れをも受信したか否かを判定する。実行装置31は、第3通知及び第4通知の何れをもECU80から受信している場合(S59:YES)、図7(A)に示す処理ルーチンを終了する。一方、実行装置31は、第3通知及び第4通知のうちの少なくとも一方を受信していない場合(S59:NO)、処理をステップS57に戻す。すなわち、実行装置31は、第3通知及び第4通知の何れをも受信できるまでモード変更をECU80に要求し続ける。
【0092】
図7(B)に示すように、ECU80の第1実行装置81Aは、モード変更の要求をECU80が受信すると、処理をステップS167Aに移行する。ステップS167Aにおいて、第1実行装置81Aは、自身をリセットし、制御モードを更新モードから通常モードに変更して再起動する。続いてステップS169Aにおいて、第1実行装置81Aは、更新モードから通常モードへの変更が完了した旨の第3通知を情報処理装置30に送信する。その後、第1実行装置81Aは図7(B)に示す処理ルーチンを終了する。
【0093】
図7(C)に示すように、ECU80の第2実行装置81Bは、モード変更の要求をECU80が受信すると、処理をステップS167Bに移行する。ステップS167Bにおいて、第2実行装置81Bは、自身をリセットし、制御モードを更新モードから通常モードに変更して再起動する。続いてステップS169Bにおいて、第2実行装置81Bは、更新モードから通常モードへの変更が完了した旨の第4通知を情報処理装置30に送信する。その後、第2実行装置81Bは図7(C)に示す処理ルーチンを終了する。
【0094】
<本実施形態の作用及び効果>
本実施形態の作用及び効果のうち、第1実施形態と相違する部分を中心に説明する。
ECU80の記憶装置82のソフトウェアを更新する場合、情報処理装置30では、更新用ソフトウェアがN個に分割される。情報処理装置30では、N個の更新用分割ソフトウェアが、グローバルネットワーク42を介してECU80に送信される。本実施形態では、更新用分割ソフトウェアが2つずつグローバルネットワーク42を介してECU80に送信される。
【0095】
ECU80では、受信した2つの更新用分割ソフトウェアのうちの1つが第1実行装置81Aによって処理される一方、残りの1つが第2実行装置81Bによって処理される。すなわち、第1実行装置81Aは、2つの更新用分割ソフトウェアのうちの一方を復号し、自身が復号した更新用分割ソフトウェアを記憶装置82に書き込む。第2実行装置81Bは、2つの更新用分割ソフトウェアのうちの他方を復号し、自身が復号した更新用分割ソフトウェアを記憶装置82に書き込む。こうした一連の処理を繰り返すことにより、ECU80の記憶装置82のソフトウェアが更新される。
【0096】
本実施形態では、更新対象ECUであるECU80がマルチコアプロセッサである。そのため、例えば第1実行装置81Aが第1更新用分割ソフトウェアA1を復号している間、第2実行装置81Bが第2更新用分割ソフトウェアA2を更新できる。そのため、情報処理装置30は、第1更新用分割ソフトウェアA1の復号が完了するまで、第2更新用分割ソフトウェアA2の送信を待たなくてもよい。つまり、情報処理装置30が更新用分割ソフトウェアの送信を待機する状態になる時間を短くできる。したがって、制御システム15Bは、ECU80の記憶装置82のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制できる。
【0097】
さらに、本実施形態では、N個の更新用分割ソフトウェアを復号するために複数のECUを用いなくてもよい。そのため、更新対象ECUと、ソフトウェアの更新を補助するECUとの間でのローカルネットワークを用いた通信を行わなくてもよくなる。
【0098】
(第4実施形態)
制御システムの第4実施形態を図8及び図9に従って説明する。以下の説明においては、上記複数の実施形態と相違する部分について主に説明するものとし、上記複数の実施形態と同一の部材構成には同一符号を付して重複説明を省略するものとする。
【0099】
<制御システム>
図8を参照し、本実施形態の制御システム15Cを説明する。
制御システム15Cは、通信装置20と、情報処理装置30と、複数のECUとを備えている。複数のECUは、グローバルネットワーク42を介して情報処理装置30と通信可能に構成されている。複数のECUは、第1制動ECU60と、第2制動ECU90とを含んでいる。第1制動ECU60は第1アクチュエータ11を作動させる。第2制動ECU90は第2アクチュエータ12を作動させる。複数のECUは、第1制動ECU60及び第2制動ECU90以外の他のECUを含んでいてもよい。
【0100】
第1制動ECU60と第2制動ECU90とは、ローカルネットワーク43Cを介して各種の情報を送受信可能である。ローカルネットワーク43Cの通信速度は、グローバルネットワーク42の通信速度よりも高い。
【0101】
第1制動ECU60は、実行装置61と、記憶装置62と、格納装置63とを備えている。
第2制動ECU90は、実行装置91と、記憶装置92と、格納装置93とを備えている。例えば、実行装置91はCPUであり、記憶装置92は不揮発性のメモリであり、格納装置93は揮発性のメモリである。記憶装置92は、第1記憶部921と第2記憶部922とに区分けされている。第1記憶部921には、実行装置91に実行されるソフトウェアが記憶される。第2記憶部922には、実行装置91に実行されるソフトウェアが記憶されていない。
【0102】
<ソフトウェアの更新処理>
本実施形態では、制動ECUが備える記憶装置のソフトウェアを更新する手法について説明する。更新対象ECUが第1制動ECU60である場合、第1制動ECU60が「第1電子制御装置」に対応し、第2制動ECU90が「第2電子制御装置」に対応する。また、第1制動ECU60の実行装置61が「第1実行装置」に対応し、第2制動ECU90の実行装置91が「第2実行装置」に対応する。
【0103】
図9を参照し、第1制動ECU60の記憶装置62のソフトウェアを更新する際の一連の処理の流れを説明する。図9(A)は情報処理装置30の実行装置31が実行する処理ルーチンの一部を示している。図9(B)は第1制動ECU60の実行装置61が実行する処理ルーチンの一部を示している。図9(C)は第2制動ECU90の実行装置91が実行する処理ルーチンの一部を示している。すなわち、図9(B)に示す処理ルーチンが第1電子制御装置で実行される処理ルーチンの一部であり、図9(C)に示す処理ルーチンが第2電子制御装置で実行される処理ルーチンの一部であると云える。
【0104】
情報処理装置30の実行装置31は、第1制動ECU60向けの更新用ソフトウェアを取得すると、図9(A)に示す処理ルーチンの実行を開始する。ステップS81において、実行装置31は、実行装置の制御モードを通常モードから更新モードに変更することを第1制動ECU60及び第2制動ECU90の双方に要求する。
【0105】
次のステップS83において、情報処理装置30の実行装置31は、モードの変更が完了した旨の通知を第1制動ECU60及び第2制動ECU90の何れをもから受信したか否かを判定する。実行装置31は、第1制動ECU60及び第2制動ECU90の何れをもから上記通知を受信している場合(S83:YES)、処理をステップS85に移行する。一方、実行装置31は、第1制動ECU60及び第2制動ECU90のうちの少なくとも一方から上記通知を受信していない場合(S83:NO)、処理をステップS81に戻す。すなわち、実行装置31は、第1制動ECU60及び第2制動ECU90の何れをもから上記通知を受信するまで、第1制動ECU60及び第2制動ECU90にモード変更を要求し続ける。
【0106】
図9(B)に示すように、ステップS181において、第1制動ECU60の実行装置61は、モード変更の要求を情報処理装置30から受信したか否かを判定する。実行装置61は、モード変更の要求を受信した場合(S181:YES)、処理をステップS183に移行する。一方、実行装置61は、モード変更の要求を受信していない場合(S181:NO)、要求を受信するまでステップS181の判定を繰り返し実行する。ステップS183において、実行装置61は、自身をリセットし、制御モードを更新モードに変更して再起動する。続いてステップS185において、実行装置61は、通常モードから更新モードへの変更が完了した旨の通知を情報処理装置30に送信する。次のステップS187において、実行装置61は、記憶装置62から更新前のソフトウェアの消去を開始する。その後、実行装置61は処理をステップS189に移行する。
【0107】
図9(C)に示すように、ステップS281において、第2制動ECU90の実行装置91は、モード変更の要求を情報処理装置30から受信したか否かを判定する。実行装置91は、モード変更の要求を受信した場合(S281:YES)、処理をステップS283に移行する。一方、実行装置91は、モード変更の要求を受信していない場合(S281:NO)、要求を受信するまでステップS281の判定を繰り返し実行する。ステップS283において、実行装置91は、自身をリセットし、制御モードを更新モードに変更して再起動する。続いてステップS285において、実行装置91は、通常モードから更新モードへの変更が完了した旨の通知を情報処理装置30に送信する。そして、実行装置91は処理をステップS287に移行する。
【0108】
図9(A)に示すように、ステップS85において、情報処理装置30の実行装置31は、計数Mとして1を設定する。すると、実行装置31は、第1制動ECU60向けの更新用ソフトウェアをN個に分割する。「N」は3以上の整数である。そして、ステップS87において、実行装置31は、N個に分割した更新用ソフトウェアのうちの1つである第M更新用分割ソフトウェアを、グローバルネットワーク42を介して第2制動ECU90に送信する。この際、実行装置31は、暗号化された第M更新用分割ソフトウェアを、グローバルネットワーク42を介して第2制動ECU90に送信する。
【0109】
ステップS89において、情報処理装置30の実行装置31は、計数Mを1だけインクリメントする。次のステップS91において、実行装置31は、図2(A)及び図3(A)に示したステップS25と同様に、更新用分割ソフトウェアの送信が完了したか否かを判定する。実行装置31は、更新用分割ソフトウェアの送信が完了した場合(S91:YES)、処理を図2(A)及び図3(A)に示したステップS27に移行する。ステップS27以降の処理の流れは、第1実施形態の場合と同様である。一方、実行装置31は、更新用分割ソフトウェアの送信が完了していない場合(S91:NO)、処理をステップS87に戻す。すなわち、実行装置31は、更新用分割ソフトウェアの第2制動ECU90への送信を続行する。
【0110】
図9(C)に示すように、ステップS287において、第2制動ECU90の実行装置91は、第M更新用分割ソフトウェアをグローバルネットワーク42から受信したか否かを判定する。実行装置91は、第M更新用分割ソフトウェアを受信した場合(S287:YES)、当該第M更新用分割ソフトウェアを第2記憶部922に書き込み、処理をステップS289に移行する。一方、実行装置91は、第M更新用分割ソフトウェアを受信していない場合(S287:NO)、第M更新用分割ソフトウェアを受信するまでステップS287の判定を繰り返し実行する。
【0111】
ステップS289において、第2制動ECU90の実行装置91は、第2記憶部922に記憶した第M更新用分割ソフトウェアを復号する。そしてステップS291において、実行装置91は、復号した第M更新用分割ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する。そして、実行装置91は処理をステップS293に移行する。
【0112】
ステップS293において、第2制動ECU90の実行装置91は、第1制動ECU60の記憶装置62のソフトウェアの更新が完了したか否かを判定する。実行装置91は、更新が完了していない場合(S293:NO)、処理をステップS287に戻す。すなわち、実行装置91は、記憶装置62のソフトウェアの更新が完了するまで、ステップS287からステップS291までの処理を繰り返し実行する。一方、実行装置91は、更新が完了した場合(S293:YES)、図2(C)及び図3(C)に示したステップS215に移行する。ステップS215以降の処理の流れは、第1実施形態の場合と同様である。
【0113】
図9(B)に示すように、ステップS189において、第1制動ECU60の実行装置61は、ローカルネットワーク43を介して第2制動ECU90から復号済みの第M更新用分割ソフトウェアを受信したか否かを判定する。実行装置61は、第2制動ECU90から第M更新用分割ソフトウェアを受信した場合(S189:YES)、処理をステップS191に移行する。一方、実行装置61は、第2制動ECU90から第M更新用分割ソフトウェアを受信していない場合(S189:NO)、第2制動ECU90から第M更新用分割ソフトウェアを受信するまでステップS189の判定を繰り返し実行する。ステップS191において、実行装置61は、第2制動ECU90から受信した復号済みの第M更新用分割ソフトウェアを記憶装置62に書き込む。そして、実行装置61は処理をステップS193に移行する。
【0114】
ステップS193において、第1制動ECU60の実行装置61は、記憶装置62のソフトウェアの更新が完了したか否かを判定する。実行装置61は、更新が完了していない場合(S193:NO)、処理をステップS189に戻す。すなわち、実行装置61は、記憶装置62のソフトウェアの更新が完了するまで、ステップS189及びステップS191の処理を繰り返し実行する。一方、実行装置61は、更新が完了した場合(S193:YES)、図2(B)及び図3(B)に示したステップS121に移行する。ステップS121以降の処理の流れは、第1実施形態の場合と同様である。
【0115】
<本実施形態の作用及び効果>
第2電子制御装置に対応する第2制動ECU90は、記憶部として、第1記憶部921だけではなく第2記憶部922をも備えている。そのため、情報処理装置30は、暗号化された更新用ソフトウェアを、グローバルネットワーク42を介して第2制動ECU90に送信する。第2制動ECU90では、受信した更新用ソフトウェアが第2記憶部922に格納される。そして、第1制動ECU60の記憶装置62のソフトウェアを更新する場合、第2制動ECU90の実行装置91は、第2記憶部922に記憶された更新用ソフトウェアを復号し、復号済みの更新用ソフトウェアを、ローカルネットワーク43Cを介して第1制動ECU60に送信する。そして、第1制動ECU60では、ローカルネットワーク43Cを介して受信した復号済みの更新用ソフトウェアが記憶装置62に書き込まれる。
【0116】
ここで、ローカルネットワーク43Cの通信速度は、グローバルネットワーク42の通信速度よりも高い。
そのため、更新用ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する分、第1制動ECU60の記憶装置62のソフトウェアの更新に要する時間を短くできる。
【0117】
<変更例>
上記複数の実施形態は、以下のように変更して実施することができる。上記複数の実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0118】
・第4実施形態において、第2制動ECU90の第2記憶部922の記憶容量が大きいのであれば、情報処理装置30は、更新用ソフトウェアを分割することなく第2制動ECU90に送信してもよい。
【0119】
・上記複数の実施形態において、情報処理装置30が更新用ソフトウェアを分割する数である分割数Nは、2以上の偶数であれば、2以外であってもよい。
・上記複数の実施形態において、情報処理装置30が更新用ソフトウェアを分割する数である分割数Nは、2以上であれば奇数であってもよい。例えば第1実施形態において、第2制動ECU70の実行装置71がステップS207の判定を繰り返している間に、情報処理装置30によるN個の更新用分割ソフトウェアの送信が完了することがある。このような場合、第2制動ECU70の実行装置71は、制御モードを通常モードに戻すことが情報処理装置30から要求されたことを契機に、処理をステップS215に移行するとよい。
【0120】
・第3実施形態において、ECU80が備える実行装置の数は3つ以上であってもよい。例えばECU80が第3実行装置も備えている場合、第1更新用分割ソフトウェアA1を第1実行装置81Aが復号しており、且つ第2更新用分割ソフトウェアA2を第2実行装置81Bが復号している間では、第3実行装置は、第3更新用分割ソフトウェアA3を復号することもできる。
【0121】
・上記第2実施形態では、更新対象ECU(第1ECU)とはローカルネットワークを介して通信できるECUの数は1つのみである。しかし、第1ECUとはローカルネットワークを介して通信できるECUの数は2以上であってもよい。第1ECUとはローカルネットワークを介して通信できるECUとして、第2ECUと第3ECUとが設けられている場合を例にして説明する。この場合、情報処理装置30は、3つの更新用分割ソフトウェアを更新対象ECUに送信することもできる。すると、更新対象ECUは、3つの更新用分割ソフトウェアのうち、第2更新用分割ソフトウェアA2を、ローカルネットワークを介して第2ECUに送信し、第3更新用分割ソフトウェアA3を、ローカルネットワークを介して第3ECUに送信する。第2ECU及び第3ECUでは、ローカルネットワークを介して受信した更新用分割ソフトウェアが復号され、復号済みの更新用分割ソフトウェアがローカルネットワークを介して第1ECUに送信される。第1ECUでは、3つの更新用分割ソフトウェアのうちの第1更新用分割ソフトウェアA1が復号され、当該第1更新用分割ソフトウェアA1が自身の記憶装置に書き込まれる。また、第1ECUでは、ローカルネットワークを介して受信した復号済みの更新用分割ソフトウェアも自身の記憶装置に書き込まれる。
【0122】
・上記第1実施形態では、更新対象ECU(第1ECU)とはローカルネットワークを介して通信できるECUの数は1つのみである。しかし、第1ECUとはローカルネットワークを介して通信できるECUの数は2以上であってもよい。第1ECUとはローカルネットワークを介して通信できるECUとして、第2ECUと第3ECUとが設けられている場合を例にして説明する。この場合、情報処理装置30は、第1更新用分割ソフトウェアA1を第1ECUに送信し、第2更新用分割ソフトウェアA2を第2ECUに送信し、第3更新用分割ソフトウェアA3を第3ECUに送信する。第1ECUでは、第1更新用分割ソフトウェアA1が復号され、当該第1更新用分割ソフトウェアA1が自身の記憶装置に書き込まれる。第2ECU及び第3ECUでは、グローバルネットワーク42を介して受信した更新用分割ソフトウェアが復号され、復号済みの更新用分割ソフトウェアがローカルネットワークを介して第1ECUに送信される。すると、第1ECUでは、ローカルネットワークを介して受信した復号済みの更新用分割ソフトウェアも自身の記憶装置に書き込まれる。
【0123】
・上記複数の実施形態では、更新対象ECUが、車両10で発生する制動力を調整する制動ECUである場合について説明したが、これに限らない。グローバルネットワーク42を介して情報処理装置30と通信できるECUであれば、制動ECU以外のECUを更新対象ECUとしてもよい。例えば、エンジンや走行用モータなどの車両10の動力源を制御する駆動ECUを、更新対象ECUとしてもよいし、車輪の舵角を調整するアクチュエータを制御するECUを更新対象ECUとしてもよい。また、ADASECUを更新対象ECUとしてもよい。「ADAS」とは「先進運転支援システム」である。
【0124】
・制御システムを構成する情報処理装置30及びECUは、CPUとROMとを備えて、ソフトウェア処理を実行するものに限らない。すなわち、情報処理装置30及びECUは、以下(a)~(c)の何れかの構成であればよい。
【0125】
(a)コンピュータプログラムに従って各種処理を実行する一つ以上のプロセッサを備えていること。プロセッサは、CPU並びに、RAM及びROMなどのメモリを含んでいる。メモリは、処理をCPUに実行させるように構成されたプログラムコード又は指令を格納している。メモリ、すなわちコンピュータ可読媒体は、汎用又は専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含んでいる。
【0126】
(b)各種処理を実行する一つ以上の専用のハードウェア回路を備えていること。専用のハードウェア回路としては、例えば、特定用途向け集積回路、すなわちASIC又はFPGAを挙げることができる。なお、ASICは、「Application Specific Integrated Circuit」の略記であり、FPGAは、「Field Programmable Gate Array」の略記である。
【0127】
(c)各種処理の一部をコンピュータプログラムに従って実行するプロセッサと、各種処理のうちの残りの処理を実行する専用のハードウェア回路とを備えていること。
なお、本明細書において使用される「少なくとも1つ」という表現は、所望の選択肢の「1つ以上」を意味する。一例として、本明細書において使用される「少なくとも1つ」という表現は、選択肢の数が2つであれば「1つの選択肢のみ」又は「2つの選択肢の双方」を意味する。他の例として、本明細書において使用される「少なくとも1つ」という表現は、選択肢の数が3つ以上であれば「1つの選択肢のみ」又は「2つ以上の任意の選択肢の組み合わせ」を意味する。
【0128】
<他の技術的思想>
上記複数の実施形態及び変更例から把握できる技術的思想を付記として記載する。
(付記1)車両の外部から無線通信によって当該車両に送信された更新用ソフトウェアを取得する情報処理装置と、
複数の電子制御装置と、
前記複数の電子制御装置と前記情報処理装置とを通信可能な状態で接続するグローバルネットワークと、
前記複数の電子制御装置のうちの第1電子制御装置と第2電子制御装置との間のみで情報の送受信を行うためのローカルネットワークと、を備え、
前記ローカルネットワークの通信速度は、前記グローバルネットワークの通信速度よりも速く、
前記第1電子制御装置は、第1実行装置と、同第1実行装置が実行するソフトウェアが書き込まれた記憶装置と、を有し、
前記第2電子制御装置は、第2実行装置と、同第2実行装置が実行するソフトウェアが書き込まれた第1記憶部と、同第2実行装置が実行するソフトウェアが書き込まれていない第2記憶部と、を有し、
前記第1電子制御装置の前記記憶装置のソフトウェアを、前記情報処理装置が取得した前記第1電子制御装置向けの更新用ソフトウェアに更新する場合、
前記情報処理装置は、前記更新用ソフトウェアを、前記グローバルネットワークを介して前記第2電子制御装置に送信し、
前記第2実行装置は、前記グローバルネットワークを介して受信した前記更新用ソフトウェアを前記第2記憶部に書き込み、当該第2記憶部に書き込んだ前記更新用ソフトウェアを復号し、復号済みの当該更新用ソフトウェアを、前記ローカルネットワークを介して前記第1電子制御装置に送信し、
前記第1実行装置は、前記ローカルネットワークを介して受信した更新用ソフトウェアを前記記憶装置に書き込む、制御システム。
【0129】
第2電子制御装置は、記憶部として、第1記憶部だけではなく第2記憶部をも備えている。そのため、情報処理装置は、暗号化された更新用ソフトウェアを、グローバルネットワークを介して第2電子制御装置に送信する。第2電子制御装置では、受信した更新用ソフトウェアが第2記憶部に格納される。そして、第1電子制御装置の記憶装置のソフトウェアを更新する場合、第2電子制御装置の実行装置は、第2記憶部に記憶された更新用ソフトウェアを復号し、復号済みの更新用ソフトウェアを、ローカルネットワークを介して第1電子制御装置に送信する。ローカルネットワークの通信速度は、グローバルネットワークの通信速度よりも高い。そのため、更新用ソフトウェアを、ローカルネットワークを介して第1電子制御装置に送信する分、第1電子制御装置の記憶装置のソフトウェアの更新に要する時間を短くできる。
【符号の説明】
【0130】
10…車両
15,15B,15C…制御システム
30…情報処理装置
42…グローバルネットワーク
43,43C…ローカルネットワーク
50,60,70,80,90…ECU(電子制御装置)
61,71,81A,81B,91…実行装置
62,72,82,92…記憶装置
921…第1記憶部
922…第2記憶部
100…データセンタ
200…車外ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9