JP2024048009A - Control System - Google Patents
Control System Download PDFInfo
- Publication number
- JP2024048009A JP2024048009A JP2022153828A JP2022153828A JP2024048009A JP 2024048009 A JP2024048009 A JP 2024048009A JP 2022153828 A JP2022153828 A JP 2022153828A JP 2022153828 A JP2022153828 A JP 2022153828A JP 2024048009 A JP2024048009 A JP 2024048009A
- Authority
- JP
- Japan
- Prior art keywords
- software
- update
- execution
- divided
- electronic control
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 claims abstract description 136
- 238000004891 communication Methods 0.000 claims description 25
- 238000000034 method Methods 0.000 description 70
- 230000008569 process Effects 0.000 description 68
- 230000008859 change Effects 0.000 description 26
- 238000012508 change request Methods 0.000 description 24
- 230000005540 biological transmission Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 230000007704 transition Effects 0.000 description 18
- 230000000694 effects Effects 0.000 description 9
- 102220531547 39S ribosomal protein L4, mitochondrial_S17A_mutation Human genes 0.000 description 4
- 102220587447 N-acetylserotonin O-methyltransferase-like protein_S21A_mutation Human genes 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 102220241278 rs777474053 Human genes 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 1
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 1
- 102220491467 Matrix metalloproteinase-23_S15A_mutation Human genes 0.000 description 1
- 102220465380 NF-kappa-B inhibitor beta_S23A_mutation Human genes 0.000 description 1
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 102220222144 rs1042391377 Human genes 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
【課題】電子制御装置の記憶装置のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制すること。
【解決手段】制御システム15は、情報処理装置30と複数のECU50,60,70とグローバルネットワーク42とを備える。第1制動ECU60の記憶装置62のソフトウェアを更新する場合、情報処理装置30は、更新用ソフトウェアを複数に分割し、分割した更新用ソフトウェアをグローバルネットワーク42に送信する。情報処理装置30が分割して送信した更新用ソフトウェアのうちの1つである第1更新用分割ソフトウェアが実行装置61に復号される。情報処理装置30が分割して送信した更新用ソフトウェアのうちの1つである第2更新用分割ソフトウェアが実行装置71に復号される。復号された第1更新用分割ソフトウェア及び第2更新用分割ソフトウェアの各々が、記憶装置62に書き込まれる。
【選択図】図1
When updating software in a storage device of an electronic control device, it is possible to suppress an increase in the time required for updating the software.
[Solution] A control system 15 includes an information processing device 30, a plurality of ECUs 50, 60, 70, and a global network 42. When updating software in a storage device 62 of a first brake ECU 60, the information processing device 30 divides the update software into a plurality of pieces and transmits the divided update software to the global network 42. A first update divided software, which is one of the pieces of update software divided and transmitted by the information processing device 30, is decrypted by an execution device 61. A second update divided software, which is one of the pieces of update software divided and transmitted by the information processing device 30, is decrypted by an execution device 71. Each of the decrypted first update divided software and second update divided software is written to the storage device 62.
[Selected Figure] Figure 1
Description
本発明は、車両に設けられる制御システムに関する。 The present invention relates to a control system installed in a vehicle.
特許文献1は、車載の電子制御装置が備える記憶装置のソフトウェアを更新する機能を有するシステムを開示している。当該システムでは、ソフトウェアを更新する際に、複数の電子制御装置が接続されている車載ネットワークにTesterが接続される。Testerには、更新対象の電子制御装置向けの更新用ソフトウェアが予め格納されている。そのため、車載ネットワークにTesterが接続されると、当該Testerが車載ネットワークを介して更新用ソフトウェアを更新対象の電子制御装置に送信する。これにより、当該電子制御装置では、記憶装置のソフトウェアが更新用ソフトウェアに書き換えられる。
近年、電子制御装置が備える記憶装置のソフトウェアを、車外のデータセンタから無線通信によって車両に送信された更新用ソフトウェアに更新するシステムが開発されている。当該システムは、データセンタから車両に送信された更新用ソフトウェアを取得する情報処理装置を備えている。ソフトウェアを更新する場合、情報処理装置は、車載ネットワークを介して更新対象の電子制御装置に更新用ソフトウェアを送信する。このとき、情報処理装置は、情報の機密性を高めるために、暗号化された更新用ソフトウェアを電子制御装置に送信する。そのため、電子制御装置の実行装置は、受信した更新用ソフトウェアを復号し、復号済みの更新用ソフトウェアを記憶装置に書き込むことになる。本発明の目的は、暗号化された更新用ソフトウェアを情報処理装置が車載ネットワークを介して電子制御装置に送信することによって、当該電子制御装置の記憶装置のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制することである。 In recent years, a system has been developed that updates the software in a storage device provided in an electronic control device with update software transmitted to the vehicle by wireless communication from a data center outside the vehicle. The system includes an information processing device that acquires the update software transmitted to the vehicle from the data center. When updating software, the information processing device transmits the update software to the electronic control device to be updated via an in-vehicle network. At this time, the information processing device transmits encrypted update software to the electronic control device to increase the confidentiality of the information. Therefore, the execution device of the electronic control device decrypts the received update software and writes the decrypted update software to the storage device. The object of the present invention is to suppress the time required for software update from becoming long when updating the software in the storage device of the electronic control device by transmitting encrypted update software to the electronic control device via an in-vehicle network by the information processing device.
上記課題を解決するための制御システムは、車両の外部から無線通信によって前記車両に送信された更新用ソフトウェアを取得する情報処理装置と、複数の電子制御装置と前記情報処理装置とを通信可能に接続するグローバルネットワークと、を備え、前記複数の電子制御装置のうちの第1電子制御装置が備える記憶装置のソフトウェアを更新可能に構成されたシステムである。当該制御システムは、第1実行装置及び第2実行装置を備えている。前記第1電子制御装置の前記記憶装置のソフトウェアを、前記情報処理装置が取得した前記第1電子制御装置向けの更新用ソフトウェアに更新する場合、前記情報処理装置は、前記更新用ソフトウェアを複数に分割し、分割した更新用ソフトウェアを、暗号化された状態で前記グローバルネットワークに送信する。前記第1実行装置は、前記情報処理装置が分割して前記グローバルネットワークに送信した更新用ソフトウェアのうちの1つである第1更新用分割ソフトウェアを復号する。記第2実行装置は、前記情報処理装置が分割して前記グローバルネットワークに送信した更新用ソフトウェアのうちの1つである第2更新用分割ソフトウェアを復号する。前記第1実行装置が復号した前記第1更新用分割ソフトウェア、及び、前記第2実行装置が復号した前記第2更新用分割ソフトウェアの各々を、前記第1電子制御装置の前記記憶装置に書き込む。 A control system for solving the above problem includes an information processing device that acquires update software transmitted to the vehicle from outside the vehicle by wireless communication, and a global network that communicably connects a plurality of electronic control devices to the information processing device, and is configured to be able to update software in a storage device included in a first electronic control device among the plurality of electronic control devices. The control system includes a first execution device and a second execution device. When updating the software in the storage device of the first electronic control device to update software for the first electronic control device acquired by the information processing device, the information processing device divides the update software into multiple pieces and transmits the divided update software to the global network in an encrypted state. The first execution device decrypts the first divided update software, which is one of the pieces of update software divided by the information processing device and transmitted to the global network. The second execution device decrypts the second divided update software, which is one of the pieces of update software divided by the information processing device and transmitted to the global network. The first update divided software decrypted by the first execution device and the second update divided software decrypted by the second execution device are each written to the storage device of the first electronic control device.
情報処理装置が取得した更新用ソフトウェアを複数に分割し、分割した更新用ソフトウェアである更新用分割ソフトウェアを情報処理装置がグローバルネットワークを介して第1電子制御装置に送信する場合を考える。この場合、第1電子制御装置では、複数の更新用分割ソフトウェアのうち、第1更新用分割ソフトウェアを受信すると、実行装置が当該第1更新用分割ソフトウェアを復号する。そして、当該実行装置が、復号済みの第1更新用分割ソフトウェアを記憶装置に書き込む。この間、第1電子制御装置の実行装置は、次の更新用ソフトウェアである第2更新用分割ソフトウェアが送信されてきても、第2更新用分割ソフトウェアを復号する処理を実行できない。そのため、情報処理装置は、第2更新用分割ソフトウェアを送信できない。つまり、情報処理装置が待機状態になる。このように情報処理装置が待機状態になる時間が長いほど、第1電子制御装置の記憶装置のソフトウェアの更新に要する時間が長くなる。 Consider a case where the information processing device divides the update software acquired by the information processing device into multiple pieces, and transmits the divided update software, which is the update split software, to the first electronic control device via a global network. In this case, when the first electronic control device receives the first update split software from among the multiple update split software, the execution device decrypts the first update split software. Then, the execution device writes the decrypted first update split software to the storage device. During this time, even if the execution device of the first electronic control device receives the second update split software, which is the next update software, it cannot execute the process of decrypting the second update split software. Therefore, the information processing device cannot transmit the second update split software. In other words, the information processing device goes into a standby state. The longer the time that the information processing device goes into a standby state, the longer it takes to update the software in the storage device of the first electronic control device.
上記制御システムでは、情報処理装置が第1更新用分割ソフトウェアをグローバルネットワークに送信すると、第1実行装置が、第1更新用分割ソフトウェアを復号する。このように第1実行装置が第1更新用分割ソフトウェアを復号している間、第2実行装置は、情報処理装置からの第2更新用分割ソフトウェアを待っている。そのため、第1実行装置が第1更新用分割ソフトウェアを復号している場合に、第2実行装置は、情報処理装置から送信された第2更新用分割ソフトウェアを復号できる。その結果、情報処理装置が上記のような待機状態になる時間を短くできる。 In the above control system, when the information processing device transmits the first update divided software to the global network, the first execution device decrypts the first update divided software. While the first execution device is decrypting the first update divided software in this manner, the second execution device waits for the second update divided software from the information processing device. Therefore, while the first execution device is decrypting the first update divided software, the second execution device can decrypt the second update divided software transmitted from the information processing device. As a result, the time that the information processing device is in the above-mentioned standby state can be shortened.
したがって、上記制御システムは、第1電子制御装置の記憶装置のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制できる。 Therefore, when updating software in the storage device of the first electronic control device, the control system can prevent the time required for software update from becoming long.
(第1実施形態)
以下、制御システムの第1実施形態を図1~図4に従って説明する。本明細書では、電子制御装置を「ECU」と記載する。「ECU」は「Electronic Control Unit」の略記である。
First Embodiment
A first embodiment of the control system will be described below with reference to Figures 1 to 4. In this specification, the electronic control unit is referred to as "ECU.""ECU" is an abbreviation of "Electronic Control Unit."
図1は、車両10と、車両10の外部に設けられているデータセンタ100とを図示している。
<データセンタ>
データセンタ100は、車外ネットワーク200を介して車両10と各種の情報の送受信ができるように構成されている。すなわち、データセンタ100は、無線通信によって車両10と各種情報の送受信を行う。
FIG. 1 illustrates a
<Data Center>
The
詳しくは後述するが、車両10は複数のECUを備えている。複数のECUのうちの何れかのECUの記憶装置のソフトウェアを更新するための更新用ソフトウェアが用意できた場合、データセンタ100は、車外ネットワーク200を介して当該更新用ソフトウェアを車両10に送信する。なお、車両10に設けられている複数のECUのうち、ソフトウェアを更新するECUを「更新対象ECU」という。
As will be described in more detail below, the
<車両>
車両10は、制御システム15とアクチュエータとを備えている。車両10は、アクチュエータとして、第1アクチュエータ11と第2アクチュエータ12とを備えている。第1アクチュエータ11及び第2アクチュエータ12は、車両10で発生する制動力を調整すべく作動する。
<Vehicles>
The
<制御システム>
制御システム15は、通信装置20と情報処理装置30とを備えている。通信装置20は、データセンタ100との情報を送受信するための車両側のインターフェースである。
<Control System>
The
情報処理装置30は、ローカルネットワーク41を介して通信装置20と通信できるように構成されている。ローカルネットワーク41は、情報処理装置30と通信装置20との間のみで情報の送受信を行うためのネットワークである。
The
情報処理装置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に記憶させる。
The
制御システム15は、グローバルネットワーク42と、複数のECUとを備えている。グローバルネットワーク42は、情報処理装置30と複数のECUとを通信可能に接続する車内ネットワークである。例えば、グローバルネットワーク42はCANバスである。CANは「Controller Area Network」の略記である。
The
複数のECUは、第1制動ECU60と、第2制動ECU70とを含んでいる。第1制動ECU60及び第2制動ECU70は、車両10で発生する制動力を調整するECUである。第1制動ECU60は、第1アクチュエータ11を作動させる。第2制動ECU70は、第2アクチュエータ12を作動させる。なお、複数のECUは、制動ECU60以外の他のECU50も含んでいる。
The multiple ECUs include a
制御システム15は、第1制動ECU60と第2制動ECU70との間のみで情報の送受信を行うためのローカルネットワーク43を備えている。ローカルネットワーク43は、その通信速度がグローバルネットワーク42の通信速度よりも高くなるように構成されている。そのため、制御システム15では、第1制動ECU60と第2制動ECU70との間で情報の送受信を行う場合、グローバルネットワーク42を使うこともできるし、ローカルネットワーク43を使うこともできる。
The
<ECU>
複数のECUは、実行装置と記憶装置と格納装置とをそれぞれ備えている。例えば、実行装置はCPUであり、記憶装置は不揮発性のメモリであり、格納装置は揮発性のメモリである。記憶装置には、実行装置が実行するソフトウェアが記憶される。格納装置には、実行装置の演算結果などが一時的に記憶される。
<ECU>
Each of the ECUs includes an execution device, a storage device, and a storage unit. For example, the execution device is a CPU, the storage device is a non-volatile memory, and the storage device is a volatile memory. The storage device stores software executed by the execution device. The storage device temporarily stores the results of calculations by the execution device, etc.
詳しくは、第1制動ECU60の実行装置61は、記憶装置62のソフトウェアを実行することによって第1アクチュエータ11を制御する。実行装置61は、第1アクチュエータ11を制御するために演算した結果を格納装置63に一時的に記憶する。
In more detail, the
第2制動ECU70の実行装置71は、記憶装置72のソフトウェアを実行することによって第2アクチュエータ12を制御する。実行装置71は、第2アクチュエータ12を制御するために演算した結果を格納装置73に一時的に記憶する。
The
<ソフトウェアの更新処理>
本実施形態では、制動ECUが備える記憶装置のソフトウェアを更新する手法について説明する。更新対象ECUが第1制動ECU60である場合、第1制動ECU60が「第1電子制御装置」に対応し、第2制動ECU70が「第2電子制御装置」に対応する。また、第1制動ECU60の実行装置61が「第1実行装置」に対応し、第2制動ECU70の実行装置71が「第2実行装置」に対応する。
<Software update process>
In this embodiment, a method of updating software in a storage device provided in a brake ECU will be described. When the ECU to be updated is the
図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電子制御装置で実行される処理ルーチンであるとも云える。
With reference to Figures 2 and 3, a series of processing steps when updating the software of the
情報処理装置30の実行装置31は、第1制動ECU60向けの更新用ソフトウェアを取得すると、図2(A)及び図3(A)に示す処理ルーチンの実行を開始する。ステップS11において、実行装置31は、実行装置の制御モードを通常モードから更新モードに変更することを第1制動ECU60及び第2制動ECU70の双方に要求する。通常モードとは、アクチュエータを制御する際の制御モードである。更新モードは、記憶装置のソフトウェアを更新する際の制御モードである。
When the
次のステップ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にモード変更を要求し続ける。
In the next step S13, the
図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に移行する。
2(B) and 3(B), in step S101, the
図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に移行する。
2(C) and 3(C), in step S201, the
図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に送信する。
2(A) and 3(A), in step S15, the
ステップ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に送信する。
In step S19, the
ステップS23において、情報処理装置30の実行装置31は、計数Mを1だけインクリメントする。次のステップS25において、実行装置31は、更新用分割ソフトウェアの送信が完了したか否かを判定する。本実施形態では、実行装置31は、計数Mが分割数Nよりも大きい場合、N個の更新用分割ソフトウェアの送信が完了したと判定する。一方、実行装置31は、計数Mが分割数N以下である場合、N個の更新用分割ソフトウェアの中に未だ送信していない更新用分割ソフトウェアがあるため、更新用分割ソフトウェアの送信が完了していないと判定する。そして、実行装置31は、更新用分割ソフトウェアの送信が完了した場合(S25:YES)、処理をステップS27に移行する。一方、実行装置31は、更新用分割ソフトウェアの送信が完了していない場合(S25:NO)、処理をステップS17に戻す。すなわち、実行装置31は、更新用分割ソフトウェアの送信を続行する。
In step S23, the
図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の判定を繰り返し実行する。
As shown in FIG. 2(B) and FIG. 3(B), in step S109, the
ステップS111において、第1制動ECU60の実行装置61は、情報処理装置30から受信した第M更新用分割ソフトウェアを復号する。そしてステップS113において、実行装置61は、自身で復号した第M更新用分割ソフトウェアを記憶装置62に書き込む。例えば計数Mが1である場合、実行装置61は、第1更新用分割ソフトウェアを復号し、復号済みの第1更新用分割ソフトウェアを記憶装置62に書き込む。その後、実行装置61は処理をステップS115に移行する。
In step S111, the
図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の判定を繰り返し実行する。
As shown in FIG. 2(C) and FIG. 3(C), in step S207, the
ステップS209において、第2制動ECU70の実行装置71は、情報処理装置30から受信した第M更新用分割ソフトウェアを復号する。そしてステップS211において、実行装置71は、復号した第M更新用分割ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する。例えば計数Mが2である場合、実行装置71は、第2更新用分割ソフトウェアを復号し、復号済みの第2更新用分割ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する。その後、実行装置71は処理をステップS213に移行する。
In step S209, the
ステップS213において、第2制動ECU70の実行装置71は、第1制動ECU60の記憶装置62のソフトウェアの更新が完了したか否かを判定する。実行装置71は、更新が完了した場合(S213:YES)、処理をステップS215に移行する。一方、実行装置71は、更新が完了していない場合(S213:NO)、処理をステップS207に戻す。すなわち、実行装置71は、記憶装置62のソフトウェアの更新が完了するまで、ステップS207からステップS211までの処理を繰り返し実行する。
In step S213, the
図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に移行する。
2(B) and 3(B), in step S115, the
ステップS119において、第1制動ECU60の実行装置61は、記憶装置62のソフトウェアの更新が完了したか否かを判定する。実行装置61は、更新が完了した場合(S119:YES)、処理をステップS121に移行する。一方、実行装置61は、更新が完了していない場合(S119:NO)、処理をステップS109に戻す。すなわち、実行装置61は、記憶装置62のソフトウェアの更新が完了するまで、ステップS109からステップS117までの処理を繰り返し実行する。
In step S119, the
図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にモード変更を要求し続ける。
2(A) and 3(A), in step S27, the
図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)に示す処理ルーチンを終了する。
2(B) and 3(B), in step S121, the
図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)に示す処理ルーチンを終了する。
2(C) and 3(C), in step S215, the
なお、制御システム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)に示す処理ルーチンを実行する。
In addition, in the
<本実施形態の作用及び効果>
図4を参照し、第1制動ECU60の記憶装置62のソフトウェアを更新する際の作用を説明する。ここでは、説明理解の便宜上、更新用分割ソフトウェアの分割数Nが6であるものとする。
<Actions and Effects of the Present Embodiment>
4, a description will be given of an operation when updating the software in the
記憶装置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に送信される。
When updating the software in the
第1制動ECU60では、第1更新用分割ソフトウェアA1を受信すると、第1更新用分割ソフトウェアA1が復号される。図4に示す例では、更新用分割ソフトウェアを消去する処理がタイミングt15まで実行される。そのため、タイミングt15から、復号済みの第1更新用分割ソフトウェアA1の記憶装置62への書き込みが開始される。
When the
一方、第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への書き込みが開始される。
On the other hand, when the
第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に送信される。
When the writing of the second update divided software A2 to the
第1制動ECU60では、第3更新用分割ソフトウェアA3を受信すると、第3更新用分割ソフトウェアA3が復号される。そして、復号済みの第3更新用分割ソフトウェアA3が記憶装置62に書き込まれる。
When the
第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に書き込まれる。
When the
第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に送信される。
When the
第1制動ECU60では、第5更新用分割ソフトウェアA5を受信すると、第5更新用分割ソフトウェアA5が復号される。そして、復号済みの第5更新用分割ソフトウェアA5が記憶装置62に書き込まれる。
When the
第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のソフトウェアの更新が完了する。
When the
本実施形態では、以下に示す効果を得ることができる。
(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のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制できる。
In this embodiment, the following effects can be obtained.
(1-1) When the
(1-2)制御システム15では、複数の実行装置61,71で分担して更新用分割ソフトウェアを復号する。そのため、1つの実行装置のみでN個の更新用分割ソフトウェアの復号を行う場合と比較し、ソフトウェアの更新時での実行装置の負担を低減できる。
(1-2) In the
(1-3)第2制動ECU70は、復号済みの更新用分割ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する。そのため、第2制動ECU70と第1制動ECU60との間でグローバルネットワーク42を介して更新用分割ソフトウェアを送信する場合と比較し、送信に要する時間を短くできる。これにより、ソフトウェアの更新に要する時間の短縮に貢献できる。
(1-3) The
(第2実施形態)
制御システムの第2実施形態を図5に従って説明する。なお、第2実施形態では、情報処理装置から第2電子制御装置に更新用分割ソフトウェアが直接送信されない点などが第1実施形態と異なっている。以下の説明においては、第1実施形態と相違する部分について主に説明するものとし、第1実施形態と同一の部材構成には同一符号を付して重複説明を省略するものとする。
Second Embodiment
A second embodiment of the control system will be described with reference to Fig. 5. The second embodiment differs from the first embodiment in that the update division software is not directly transmitted from the information processing device to the second electronic control unit. In the following description, the differences from the first embodiment will be mainly described, and the same reference numerals will be used to designate the same components as those in the first embodiment, and duplicated description will be omitted.
図5を参照し、第1制動ECU60の記憶装置62のソフトウェアを更新する際の一連の処理の流れを説明する。図5(A)は情報処理装置30の実行装置31が実行する処理ルーチンの一部を示している。図5(B)は第1制動ECU60の実行装置61が実行する処理ルーチンの一部を示している。図5(C)は第2制動ECU70の実行装置71が実行する処理ルーチンの一部を示している。すなわち、図5(B)に示す処理ルーチンが第1電子制御装置で実行される処理ルーチンの一部であり、図5(C)に示す処理ルーチンが第2電子制御装置で実行される処理ルーチンの一部であるとも云える。
Referring to Figure 5, a series of processing steps when updating software in the
情報処理装置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に送信する。
When the
ステップ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に送信する。
In step S19A, the
ステップ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実施形態の場合と同様である。
In step S23A, the
第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の判定を繰り返し実行する。
The
ステップS133において、第1制動ECU60の実行装置61は、ステップS21Aで情報処理装置30が送信した第M更新用分割ソフトウェアをグローバルネットワーク42から受信したか否かを判定する。計数Mが2である場合、実行装置61は、第2更新用分割ソフトウェアA2を受信したか否かを判定する。実行装置61は、第M更新用分割ソフトウェアを受信した場合(S133:YES)、処理をステップS135に移行する。一方、実行装置61は、第M更新用分割ソフトウェアを受信していない場合(S133:NO)、第M更新用分割ソフトウェアを受信するまでステップS133の判定を繰り返し実行する。
In step S133, the
ステップ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に送信する。
In step S135, the
ステップS137において、第1制動ECU60の実行装置61は、ステップS131で受信した第M更新用分割ソフトウェアを復号する。すなわち、実行装置61は、情報処理装置30から受信した2つの更新用分割ソフトウェアのうち、第2制動ECU70に送信していないほうの更新用分割ソフトウェアを復号する。次のステップS139において、実行装置61は、自身で復号した第M更新用分割ソフトウェアを記憶装置62に書き込む。そして、実行装置61は処理をステップS141に移行する。
In step S137, the
第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の判定を繰り返し実行する。
The
ステップS233において、第2制動ECU70の実行装置71は、受信した第M更新用分割ソフトウェアを復号する。そしてステップS235において、実行装置71は、復号した第M更新用分割ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する。例えば計数Mが2である場合、実行装置71は、第2更新用分割ソフトウェアA2を復号し、復号済みの第2更新用分割ソフトウェアA2を、ローカルネットワーク43を介して第1制動ECU60に送信する。その後、実行装置71は処理をステップS237に移行する。
In step S233, the
ステップ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実施形態の場合と同様である。
In step S237, the
図5(B)に示すように、ステップS141において、第1制動ECU60の実行装置61は、ローカルネットワーク43を介して第M更新用分割ソフトウェアを第2制動ECU70から受信したか否かを判定する。実行装置61は、第M更新用分割ソフトウェアを受信した場合(S141:YES)、処理をステップS143に移行する。一方、実行装置61は、第M更新用分割ソフトウェアを受信していない場合(S141:NO)、第M更新用分割ソフトウェアを受信するまでステップS141の判定を繰り返し実行する。
As shown in FIG. 5(B), in step S141, the
ステップ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実施形態の場合と同様である。
In step S143, the
<本実施形態の作用及び効果>
本実施形態の作用及び効果のうち、第1実施形態と相違する部分を中心に説明する。
第1制動ECU60の記憶装置62のソフトウェアを更新する場合、情報処理装置30では、更新用ソフトウェアがN個に分割される。情報処理装置30では、N個の更新用分割ソフトウェアが、グローバルネットワーク42を介して更新対象ECUである第1制動ECU60に送信される。本実施形態では、更新用分割ソフトウェアが2つずつグローバルネットワーク42を介して第1制動ECU60に送信される。
<Actions and Effects of the Present Embodiment>
Among the functions and effects of this embodiment, the following description will focus on the differences from the first embodiment.
When updating the software in the
第1制動ECU60では、受信した2つの更新用分割ソフトウェアのうちの1つが、ローカルネットワーク43を介して第2制動ECU70に送信される。また、第1制動ECU60では、第2制動ECU70に送信しなかった更新用分割ソフトウェアが復号される。そして、実行装置61が復号した更新用分割ソフトウェアが、記憶装置62に書き込まれる。
The
一方、第2制動ECU70では、ローカルネットワーク43を介して受信した更新用分割ソフトウェアが復号される。そして、復号済みの更新用分割ソフトウェアが、ローカルネットワーク43を介して第1制動ECU60に送信される。第1制動ECU60では、ローカルネットワーク43を介して受信した復号済みの更新用分割ソフトウェアが記憶装置62に書き込まれる。
Meanwhile, the
こうした一連の処理を繰り返すことにより、第1制動ECU60の記憶装置62のソフトウェアが更新される。
本実施形態では、第1制動ECU60で第1更新用分割ソフトウェアA1が復号されている間、第2制動ECU70でも第2更新用分割ソフトウェアA2を復号できる。すなわち、情報処理装置30は、第1更新用分割ソフトウェアA1の復号が完了するまで、第2更新用分割ソフトウェアA2の送信を待たなくてもよい。つまり、情報処理装置30が更新用分割ソフトウェアの送信を待機する状態になる時間を短くできる。したがって、制御システム15は、第1制動ECU60の記憶装置62のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制できる。
By repeating this series of processes, the software in the
In this embodiment, while the first update divided software A1 is being decoded in the
また、本実施形態では、情報処理装置30は、N個の更新用分割ソフトウェアのうちの一部を、更新対象ECUではない第2制動ECU70に直接送信しなくてもよい。
さらに、本実施形態では、上記第1実施形態の効果(1-2)及び(1-3)と同等の効果を得ることができる。
Furthermore, in this embodiment, the
Furthermore, in this embodiment, it is possible to obtain effects equivalent to the effects (1-2) and (1-3) of the first embodiment.
(第3実施形態)
制御システムの第3実施形態を図6及び図7に従って説明する。なお、第3実施形態では、更新対象ECUが、複数の実行装置を備えたマルチコアプロセッサである点などが第1実施形態と異なっている。以下の説明においては、上記複数の実施形態と相違する部分について主に説明するものとし、上記複数の実施形態と同一の部材構成には同一符号を付して重複説明を省略するものとする。
Third Embodiment
A third embodiment of the control system will be described with reference to Figures 6 and 7. The third embodiment differs from the first embodiment in that the ECU to be updated is a multi-core processor equipped with multiple execution devices. In the following description, differences from the above embodiments will be mainly described, and the same reference numerals will be used to designate the same components as those in the above embodiments, and duplicated descriptions will be omitted.
<制御システム>
図6を参照し、本実施形態の制御システム15Bを説明する。
制御システム15Bは、通信装置20と、情報処理装置30と、複数のECUとを備えている。複数のECUは、グローバルネットワーク42を介して情報処理装置30と通信可能に構成されている。複数のECUは、ECU80及びECU50を含んでいる。例えば、ECU80は、車両10で発生する制動力を調整すべくアクチュエータを制御する制動ECUである。
<Control System>
The
The
ECU80は、マルチコアプロセッサである。ECU80は、第1実行装置81Aと、第2実行装置81Bと、記憶装置82と、格納装置83とを備えている。例えば、第1実行装置81A及び第2実行装置81BはCPUであり、記憶装置82は不揮発性のメモリであり、格納装置83は揮発性のメモリである。記憶装置82には、第1実行装置81A及び第2実行装置81Bによって実行されるソフトウェアが記憶される。
The
<ソフトウェアの更新処理>
図7を参照し、ECU80が備える記憶装置82のソフトウェアを更新する一連の処理の流れを説明する。図7(A)は情報処理装置30の実行装置31が実行する処理ルーチンを示している。図7(B)はECU80の第1実行装置81Aが実行する処理ルーチンを示している。図7(C)はECU80の第2実行装置81Bが実行する処理ルーチンを示している。
<Software update process>
A flow of a series of processes for updating software in the
情報処理装置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に要求し続ける。
When the
図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に移行する。
7B, in step S151A, the
図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に移行する。
7(C), in step S151B, the
図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に送信する。
As shown in FIG. 7(A), in step S45, the
ステップS49において、情報処理装置30の実行装置31は、計数Mを1だけインクリメントする。次のステップS51において、実行装置31は、分割した更新用ソフトウェアのうちの1つである第M更新用分割ソフトウェアを、グローバルネットワーク42を介してECU80に送信する。この際、実行装置31は、暗号化された第M更新用分割ソフトウェアを、グローバルネットワーク42を介してECU80に送信する。ここでECU80に送信する更新用分割ソフトウェアは、ステップS47でECU80に送信した更新用分割ソフトウェアとは別の更新用分割ソフトウェアである。なお、計数Mが2である場合、実行装置31は、暗号化された第2更新用分割ソフトウェアA2をECU80に送信する。
In step S49, the
ステップS53において、情報処理装置30の実行装置31は、計数Mを1だけインクリメントする。次のステップS55において、実行装置31は、図2(A)及び図3(A)に示したステップS25と同様に、更新用分割ソフトウェアの送信が完了したか否かを判定する。実行装置31は、更新用分割ソフトウェアの送信が完了した場合(S55:YES)、処理をステップS57に移行する。一方、実行装置31は、更新用分割ソフトウェアの送信が完了していない場合(S55:NO)、処理をステップS47に戻す。すなわち、実行装置31は、更新用分割ソフトウェアのECU80への送信を続行する。
In step S53, the
図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の判定を繰り返し実行する。
As shown in FIG. 7(B), in step S159A, the
ステップS161Aにおいて、ECU80の第1実行装置81Aは、ステップS159AでECU80が受信した第M更新用分割ソフトウェアを復号する。そしてステップS163Aにおいて、第1実行装置81Aは、自身が復号した第M更新用分割ソフトウェアを記憶装置82に書き込む。例えば計数Mが1である場合、第1実行装置81Aは、第1更新用分割ソフトウェアA1を復号し、復号済みの第1更新用分割ソフトウェアA1を記憶装置82に書き込む。
In step S161A, the
ステップS165Aにおいて、ECU80の第1実行装置81Aは、記憶装置82のソフトウェアの更新が完了したか否かを判定する。第1実行装置81Aは、更新が完了した場合(S165A:YES)、処理をステップS167Aに移行する。一方、第1実行装置81Aは、更新が完了していない場合(S165A:NO)、処理をステップS159Aに戻す。すなわち、第1実行装置81Aは、記憶装置82のソフトウェアの更新が完了するまで、ステップS159AからステップS163Aまでの処理を繰り返し実行する。
In step S165A, the
図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の判定を繰り返し実行する。
As shown in FIG. 7(C), in step S159B, the
ステップS161Bにおいて、ECU80の第2実行装置81Bは、ステップS159Bで受信した第M更新用分割ソフトウェアを復号する。そしてステップS161Bにおいて、第2実行装置81Bは、自身が復号した第M更新用分割ソフトウェアを記憶装置62に書き込む。例えば計数Mが2である場合、第2実行装置81Bは、第2更新用分割ソフトウェアA2を復号し、復号済みの第2更新用分割ソフトウェアA2を記憶装置62に書き込む。
In step S161B, the
ステップS165Bにおいて、ECU80の第2実行装置81Bは、記憶装置82のソフトウェアの更新が完了したか否かを判定する。第2実行装置81Bは、更新が完了した場合(S165B:YES)、処理をステップS167Bに移行する。一方、第2実行装置81Bは、更新が完了していない場合(S165B:NO)、処理をステップS159Bに戻す。すなわち、第2実行装置81Bは、記憶装置82のソフトウェアの更新が完了するまで、ステップS159BからステップS163Bまでの処理を繰り返し実行する。
In step S165B, the
図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に要求し続ける。
7(A), in step S57, the
図7(B)に示すように、ECU80の第1実行装置81Aは、モード変更の要求をECU80が受信すると、処理をステップS167Aに移行する。ステップS167Aにおいて、第1実行装置81Aは、自身をリセットし、制御モードを更新モードから通常モードに変更して再起動する。続いてステップS169Aにおいて、第1実行装置81Aは、更新モードから通常モードへの変更が完了した旨の第3通知を情報処理装置30に送信する。その後、第1実行装置81Aは図7(B)に示す処理ルーチンを終了する。
As shown in FIG. 7(B), when the
図7(C)に示すように、ECU80の第2実行装置81Bは、モード変更の要求をECU80が受信すると、処理をステップS167Bに移行する。ステップS167Bにおいて、第2実行装置81Bは、自身をリセットし、制御モードを更新モードから通常モードに変更して再起動する。続いてステップS169Bにおいて、第2実行装置81Bは、更新モードから通常モードへの変更が完了した旨の第4通知を情報処理装置30に送信する。その後、第2実行装置81Bは図7(C)に示す処理ルーチンを終了する。
As shown in FIG. 7(C), when the
<本実施形態の作用及び効果>
本実施形態の作用及び効果のうち、第1実施形態と相違する部分を中心に説明する。
ECU80の記憶装置82のソフトウェアを更新する場合、情報処理装置30では、更新用ソフトウェアがN個に分割される。情報処理装置30では、N個の更新用分割ソフトウェアが、グローバルネットワーク42を介してECU80に送信される。本実施形態では、更新用分割ソフトウェアが2つずつグローバルネットワーク42を介してECU80に送信される。
<Actions and Effects of the Present Embodiment>
Among the functions and effects of this embodiment, the following description will focus on the differences from the first embodiment.
When updating the software in the
ECU80では、受信した2つの更新用分割ソフトウェアのうちの1つが第1実行装置81Aによって処理される一方、残りの1つが第2実行装置81Bによって処理される。すなわち、第1実行装置81Aは、2つの更新用分割ソフトウェアのうちの一方を復号し、自身が復号した更新用分割ソフトウェアを記憶装置82に書き込む。第2実行装置81Bは、2つの更新用分割ソフトウェアのうちの他方を復号し、自身が復号した更新用分割ソフトウェアを記憶装置82に書き込む。こうした一連の処理を繰り返すことにより、ECU80の記憶装置82のソフトウェアが更新される。
In the
本実施形態では、更新対象ECUであるECU80がマルチコアプロセッサである。そのため、例えば第1実行装置81Aが第1更新用分割ソフトウェアA1を復号している間、第2実行装置81Bが第2更新用分割ソフトウェアA2を更新できる。そのため、情報処理装置30は、第1更新用分割ソフトウェアA1の復号が完了するまで、第2更新用分割ソフトウェアA2の送信を待たなくてもよい。つまり、情報処理装置30が更新用分割ソフトウェアの送信を待機する状態になる時間を短くできる。したがって、制御システム15Bは、ECU80の記憶装置82のソフトウェアを更新する場合において、ソフトウェアの更新に要する時間が長くなることを抑制できる。
In this embodiment, the
さらに、本実施形態では、N個の更新用分割ソフトウェアを復号するために複数のECUを用いなくてもよい。そのため、更新対象ECUと、ソフトウェアの更新を補助するECUとの間でのローカルネットワークを用いた通信を行わなくてもよくなる。 Furthermore, in this embodiment, it is not necessary to use multiple ECUs to decrypt N pieces of divided software for updating. Therefore, it is not necessary to communicate using a local network between the ECU to be updated and the ECU that assists in updating the software.
(第4実施形態)
制御システムの第4実施形態を図8及び図9に従って説明する。以下の説明においては、上記複数の実施形態と相違する部分について主に説明するものとし、上記複数の実施形態と同一の部材構成には同一符号を付して重複説明を省略するものとする。
Fourth Embodiment
A fourth embodiment of the control system will be described with reference to Figures 8 and 9. In the following description, differences from the above-described embodiments will be mainly described, and the same components as those in the above-described embodiments will be denoted by the same reference numerals and will not be described again.
<制御システム>
図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を含んでいてもよい。
<Control System>
A
The
第1制動ECU60と第2制動ECU90とは、ローカルネットワーク43Cを介して各種の情報を送受信可能である。ローカルネットワーク43Cの通信速度は、グローバルネットワーク42の通信速度よりも高い。
The
第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に実行されるソフトウェアが記憶されていない。
The
The
<ソフトウェアの更新処理>
本実施形態では、制動ECUが備える記憶装置のソフトウェアを更新する手法について説明する。更新対象ECUが第1制動ECU60である場合、第1制動ECU60が「第1電子制御装置」に対応し、第2制動ECU90が「第2電子制御装置」に対応する。また、第1制動ECU60の実行装置61が「第1実行装置」に対応し、第2制動ECU90の実行装置91が「第2実行装置」に対応する。
<Software update process>
In this embodiment, a method of updating software in a storage device provided in a brake ECU will be described. When the ECU to be updated is the
図9を参照し、第1制動ECU60の記憶装置62のソフトウェアを更新する際の一連の処理の流れを説明する。図9(A)は情報処理装置30の実行装置31が実行する処理ルーチンの一部を示している。図9(B)は第1制動ECU60の実行装置61が実行する処理ルーチンの一部を示している。図9(C)は第2制動ECU90の実行装置91が実行する処理ルーチンの一部を示している。すなわち、図9(B)に示す処理ルーチンが第1電子制御装置で実行される処理ルーチンの一部であり、図9(C)に示す処理ルーチンが第2電子制御装置で実行される処理ルーチンの一部であると云える。
Referring to Figure 9, a series of processing steps when updating software in the
情報処理装置30の実行装置31は、第1制動ECU60向けの更新用ソフトウェアを取得すると、図9(A)に示す処理ルーチンの実行を開始する。ステップS81において、実行装置31は、実行装置の制御モードを通常モードから更新モードに変更することを第1制動ECU60及び第2制動ECU90の双方に要求する。
When the
次のステップ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にモード変更を要求し続ける。
In the next step S83, the
図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に移行する。
9B, in step S181, the
図9(C)に示すように、ステップS281において、第2制動ECU90の実行装置91は、モード変更の要求を情報処理装置30から受信したか否かを判定する。実行装置91は、モード変更の要求を受信した場合(S281:YES)、処理をステップS283に移行する。一方、実行装置91は、モード変更の要求を受信していない場合(S281:NO)、要求を受信するまでステップS281の判定を繰り返し実行する。ステップS283において、実行装置91は、自身をリセットし、制御モードを更新モードに変更して再起動する。続いてステップS285において、実行装置91は、通常モードから更新モードへの変更が完了した旨の通知を情報処理装置30に送信する。そして、実行装置91は処理をステップS287に移行する。
As shown in FIG. 9(C), in step S281, the
図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に送信する。
As shown in FIG. 9 (A), in step S85, the
ステップ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への送信を続行する。
In step S89, the
図9(C)に示すように、ステップS287において、第2制動ECU90の実行装置91は、第M更新用分割ソフトウェアをグローバルネットワーク42から受信したか否かを判定する。実行装置91は、第M更新用分割ソフトウェアを受信した場合(S287:YES)、当該第M更新用分割ソフトウェアを第2記憶部922に書き込み、処理をステップS289に移行する。一方、実行装置91は、第M更新用分割ソフトウェアを受信していない場合(S287:NO)、第M更新用分割ソフトウェアを受信するまでステップS287の判定を繰り返し実行する。
As shown in FIG. 9(C), in step S287, the
ステップS289において、第2制動ECU90の実行装置91は、第2記憶部922に記憶した第M更新用分割ソフトウェアを復号する。そしてステップS291において、実行装置91は、復号した第M更新用分割ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する。そして、実行装置91は処理をステップS293に移行する。
In step S289, the
ステップ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実施形態の場合と同様である。
In step S293, the
図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に移行する。
9B, in step S189, the
ステップS193において、第1制動ECU60の実行装置61は、記憶装置62のソフトウェアの更新が完了したか否かを判定する。実行装置61は、更新が完了していない場合(S193:NO)、処理をステップS189に戻す。すなわち、実行装置61は、記憶装置62のソフトウェアの更新が完了するまで、ステップS189及びステップS191の処理を繰り返し実行する。一方、実行装置61は、更新が完了した場合(S193:YES)、図2(B)及び図3(B)に示したステップS121に移行する。ステップS121以降の処理の流れは、第1実施形態の場合と同様である。
In step S193, the
<本実施形態の作用及び効果>
第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に書き込まれる。
<Actions and Effects of the Present Embodiment>
The
ここで、ローカルネットワーク43Cの通信速度は、グローバルネットワーク42の通信速度よりも高い。
そのため、更新用ソフトウェアを、ローカルネットワーク43を介して第1制動ECU60に送信する分、第1制動ECU60の記憶装置62のソフトウェアの更新に要する時間を短くできる。
Here, the communication speed of the
Therefore, the time required to update the software in the
<変更例>
上記複数の実施形態は、以下のように変更して実施することができる。上記複数の実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
<Example of change>
The above-described embodiments may be modified as follows: The above-described embodiments and the following modifications may be combined with each other to the extent that they are not technically inconsistent.
・第4実施形態において、第2制動ECU90の第2記憶部922の記憶容量が大きいのであれば、情報処理装置30は、更新用ソフトウェアを分割することなく第2制動ECU90に送信してもよい。
- In the fourth embodiment, if the storage capacity of the
・上記複数の実施形態において、情報処理装置30が更新用ソフトウェアを分割する数である分割数Nは、2以上の偶数であれば、2以外であってもよい。
・上記複数の実施形態において、情報処理装置30が更新用ソフトウェアを分割する数である分割数Nは、2以上であれば奇数であってもよい。例えば第1実施形態において、第2制動ECU70の実行装置71がステップS207の判定を繰り返している間に、情報処理装置30によるN個の更新用分割ソフトウェアの送信が完了することがある。このような場合、第2制動ECU70の実行装置71は、制御モードを通常モードに戻すことが情報処理装置30から要求されたことを契機に、処理をステップS215に移行するとよい。
In the above embodiments, the division number N, which is the number into which the
In the above embodiments, the division number N, which is the number into which the
・第3実施形態において、ECU80が備える実行装置の数は3つ以上であってもよい。例えばECU80が第3実行装置も備えている場合、第1更新用分割ソフトウェアA1を第1実行装置81Aが復号しており、且つ第2更新用分割ソフトウェアA2を第2実行装置81Bが復号している間では、第3実行装置は、第3更新用分割ソフトウェアA3を復号することもできる。
- In the third embodiment, the number of execution devices provided in the
・上記第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では、ローカルネットワークを介して受信した復号済みの更新用分割ソフトウェアも自身の記憶装置に書き込まれる。
- In the second embodiment, the number of ECUs that can communicate with the ECU to be updated (first ECU) via the local network is only one. However, the number of ECUs that can communicate with the first ECU via the local network may be two or more. An example will be described in which a second ECU and a third ECU are provided as ECUs that can communicate with the first ECU via the local network. In this case, the
・上記第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では、ローカルネットワークを介して受信した復号済みの更新用分割ソフトウェアも自身の記憶装置に書き込まれる。
- In the first embodiment, the number of ECUs that can communicate with the ECU to be updated (first ECU) via the local network is only one. However, the number of ECUs that can communicate with the first ECU via the local network may be two or more. An example will be described in which a second ECU and a third ECU are provided as ECUs that can communicate with the first ECU via the local network. In this case, the
・上記複数の実施形態では、更新対象ECUが、車両10で発生する制動力を調整する制動ECUである場合について説明したが、これに限らない。グローバルネットワーク42を介して情報処理装置30と通信できるECUであれば、制動ECU以外のECUを更新対象ECUとしてもよい。例えば、エンジンや走行用モータなどの車両10の動力源を制御する駆動ECUを、更新対象ECUとしてもよいし、車輪の舵角を調整するアクチュエータを制御するECUを更新対象ECUとしてもよい。また、ADASECUを更新対象ECUとしてもよい。「ADAS」とは「先進運転支援システム」である。
- In the above embodiments, the ECU to be updated is a braking ECU that adjusts the braking force generated by the
・制御システムを構成する情報処理装置30及びECUは、CPUとROMとを備えて、ソフトウェア処理を実行するものに限らない。すなわち、情報処理装置30及びECUは、以下(a)~(c)の何れかの構成であればよい。
The
(a)コンピュータプログラムに従って各種処理を実行する一つ以上のプロセッサを備えていること。プロセッサは、CPU並びに、RAM及びROMなどのメモリを含んでいる。メモリは、処理をCPUに実行させるように構成されたプログラムコード又は指令を格納している。メモリ、すなわちコンピュータ可読媒体は、汎用又は専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含んでいる。 (a) Having one or more processors that execute various processes according to a computer program. The processor includes a CPU and memory such as RAM and ROM. The memory stores program code or instructions configured to cause the CPU to execute processes. Memory, i.e., computer-readable media, includes any available media that can be accessed by a general-purpose or special-purpose computer.
(b)各種処理を実行する一つ以上の専用のハードウェア回路を備えていること。専用のハードウェア回路としては、例えば、特定用途向け集積回路、すなわちASIC又はFPGAを挙げることができる。なお、ASICは、「Application Specific Integrated Circuit」の略記であり、FPGAは、「Field Programmable Gate Array」の略記である。 (b) Equipped with one or more dedicated hardware circuits that execute various processes. Examples of dedicated hardware circuits include application specific integrated circuits, i.e., ASICs or FPGAs. ASIC is an abbreviation for "Application Specific Integrated Circuit" and FPGA is an abbreviation for "Field Programmable Gate Array."
(c)各種処理の一部をコンピュータプログラムに従って実行するプロセッサと、各種処理のうちの残りの処理を実行する専用のハードウェア回路とを備えていること。
なお、本明細書において使用される「少なくとも1つ」という表現は、所望の選択肢の「1つ以上」を意味する。一例として、本明細書において使用される「少なくとも1つ」という表現は、選択肢の数が2つであれば「1つの選択肢のみ」又は「2つの選択肢の双方」を意味する。他の例として、本明細書において使用される「少なくとも1つ」という表現は、選択肢の数が3つ以上であれば「1つの選択肢のみ」又は「2つ以上の任意の選択肢の組み合わせ」を意味する。
(c) Equipped with a processor that executes part of the various processes in accordance with a computer program, and a dedicated hardware circuit that executes the remaining part of the various processes.
The term "at least one" used in this specification means "one or more" of the desired options. As an example, the term "at least one" used in this specification means "only one option" or "both of two options" if the number of options is two. As another example, the term "at least one" used in this specification means "only one option" or "any combination of two or more options" if the number of options is three or more.
<他の技術的思想>
上記複数の実施形態及び変更例から把握できる技術的思想を付記として記載する。
(付記1)車両の外部から無線通信によって当該車両に送信された更新用ソフトウェアを取得する情報処理装置と、
複数の電子制御装置と、
前記複数の電子制御装置と前記情報処理装置とを通信可能な状態で接続するグローバルネットワークと、
前記複数の電子制御装置のうちの第1電子制御装置と第2電子制御装置との間のみで情報の送受信を行うためのローカルネットワークと、を備え、
前記ローカルネットワークの通信速度は、前記グローバルネットワークの通信速度よりも速く、
前記第1電子制御装置は、第1実行装置と、同第1実行装置が実行するソフトウェアが書き込まれた記憶装置と、を有し、
前記第2電子制御装置は、第2実行装置と、同第2実行装置が実行するソフトウェアが書き込まれた第1記憶部と、同第2実行装置が実行するソフトウェアが書き込まれていない第2記憶部と、を有し、
前記第1電子制御装置の前記記憶装置のソフトウェアを、前記情報処理装置が取得した前記第1電子制御装置向けの更新用ソフトウェアに更新する場合、
前記情報処理装置は、前記更新用ソフトウェアを、前記グローバルネットワークを介して前記第2電子制御装置に送信し、
前記第2実行装置は、前記グローバルネットワークを介して受信した前記更新用ソフトウェアを前記第2記憶部に書き込み、当該第2記憶部に書き込んだ前記更新用ソフトウェアを復号し、復号済みの当該更新用ソフトウェアを、前記ローカルネットワークを介して前記第1電子制御装置に送信し、
前記第1実行装置は、前記ローカルネットワークを介して受信した更新用ソフトウェアを前記記憶装置に書き込む、制御システム。
<Other technical ideas>
The technical ideas that can be understood from the above-described embodiments and modifications will be described as supplementary notes.
(Supplementary Note 1) An information processing device that acquires update software transmitted to the vehicle from outside the vehicle via wireless communication;
A plurality of electronic control units;
a global network that connects the plurality of electronic control devices and the information processing device in a communicable state;
a local network for transmitting and receiving information only between a first electronic control unit and a second electronic control unit among the plurality of electronic control units,
the communication speed of the local network is faster than the communication speed of the global network;
The first electronic control unit has a first execution device and a storage device in which software executed by the first execution device is written,
the second electronic control unit has a second execution device, a first storage unit in which software to be executed by the second execution device is written, and a second storage unit in which the software to be executed by the second execution device is not written,
When updating the software of the storage device of the first electronic control device to update software for the first electronic control device acquired by the information processing device,
The information processing device transmits the update software to the second electronic control device via the global network,
the second execution device writes the update software received via the global network into the second storage unit, decrypts the update software written in the second storage unit, and transmits the decrypted update software to the first electronic control device via the local network;
The first execution device writes the update software received via the local network into the storage device.
第2電子制御装置は、記憶部として、第1記憶部だけではなく第2記憶部をも備えている。そのため、情報処理装置は、暗号化された更新用ソフトウェアを、グローバルネットワークを介して第2電子制御装置に送信する。第2電子制御装置では、受信した更新用ソフトウェアが第2記憶部に格納される。そして、第1電子制御装置の記憶装置のソフトウェアを更新する場合、第2電子制御装置の実行装置は、第2記憶部に記憶された更新用ソフトウェアを復号し、復号済みの更新用ソフトウェアを、ローカルネットワークを介して第1電子制御装置に送信する。ローカルネットワークの通信速度は、グローバルネットワークの通信速度よりも高い。そのため、更新用ソフトウェアを、ローカルネットワークを介して第1電子制御装置に送信する分、第1電子制御装置の記憶装置のソフトウェアの更新に要する時間を短くできる。 The second electronic control device has not only a first storage unit but also a second storage unit as a storage unit. Therefore, the information processing device transmits the encrypted update software to the second electronic control device via the global network. In the second electronic control device, the received update software is stored in the second storage unit. Then, when updating the software in the storage device of the first electronic control device, the execution device of the second electronic control device decrypts the update software stored in the second storage unit and transmits the decrypted update software to the first electronic control device via the local network. The communication speed of the local network is higher than the communication speed of the global network. Therefore, the time required to update the software in the storage device of the first electronic control device can be shortened by the amount of time required to transmit the update software to the first electronic control device via the local network.
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…車外ネットワーク
10: vehicle; 15, 15B, 15C: control system; 30: information processing device; 42: global network; 43, 43C: local network; 50, 60, 70, 80, 90: ECU (electronic control unit)
61, 71, 81A, 81B, 91...
Claims (6)
前記複数の電子制御装置のうちの第1電子制御装置が備える記憶装置のソフトウェアを更新可能に構成された制御システムであって、
第1実行装置及び第2実行装置を備え、
前記第1電子制御装置の前記記憶装置のソフトウェアを、前記情報処理装置が取得した前記第1電子制御装置向けの更新用ソフトウェアに更新する場合、
前記情報処理装置は、前記更新用ソフトウェアを複数に分割し、分割した更新用ソフトウェアを、暗号化された状態で前記グローバルネットワークに送信し、
前記第1実行装置は、前記情報処理装置が分割して前記グローバルネットワークに送信した更新用ソフトウェアのうちの1つである第1更新用分割ソフトウェアを復号し、
前記第2実行装置は、前記情報処理装置が分割して前記グローバルネットワークに送信した更新用ソフトウェアのうちの1つである第2更新用分割ソフトウェアを復号し、
前記第1実行装置が復号した前記第1更新用分割ソフトウェア、及び、前記第2実行装置が復号した前記第2更新用分割ソフトウェアの各々を、前記第1電子制御装置の前記記憶装置に書き込む
制御システム。 An information processing device that acquires update software transmitted to the vehicle from outside the vehicle by wireless communication; and a global network that communicatively connects a plurality of electronic control devices and the information processing device,
A control system configured to be able to update software of a storage device included in a first electronic control device among the plurality of electronic control devices,
A first execution device and a second execution device,
When updating the software of the storage device of the first electronic control device to update software for the first electronic control device acquired by the information processing device,
the information processing device divides the update software into a plurality of pieces, and transmits the divided update software in an encrypted state to the global network;
the first execution device decrypts a first divided update software, which is one of the update software pieces divided and transmitted to the global network by the information processing device;
the second execution device decrypts a second divided update software, which is one of the update software pieces divided and transmitted to the global network by the information processing device;
a control system that writes, into the storage device of the first electronic control device, each of the first update divided software decrypted by the first execution device and the second update divided software decrypted by the second execution device.
前記第2実行装置は、前記複数の電子制御装置のうちの第2電子制御装置の実行装置であり、
前記制御システムは、前記第1電子制御装置と前記第2電子制御装置との間のみで情報の送受信を行うためのローカルネットワークをさらに備え、
前記第2実行装置は、前記第2電子制御装置が受信した前記第2更新用分割ソフトウェアを復号し、復号済みの当該第2更新用分割ソフトウェアを、前記ローカルネットワークを介して前記第1電子制御装置に送信し、
前記第1実行装置は、前記第1電子制御装置が受信した前記第1更新用分割ソフトウェアの復号と、復号済みの前記第1更新用分割ソフトウェアの前記記憶装置への書き込みと、前記ローカルネットワークを介して受信した前記第2更新用分割ソフトウェアの前記記憶装置への書き込みと、を実行する
請求項1に記載の制御システム。 the first execution unit is an execution unit of the first electronic control unit;
the second execution device is an execution device of a second electronic control device among the plurality of electronic control devices;
The control system further includes a local network for transmitting and receiving information only between the first electronic control unit and the second electronic control unit,
the second execution device decrypts the second update divided software received by the second electronic control device and transmits the decrypted second update divided software to the first electronic control device via the local network;
The control system of claim 1, wherein the first execution device decrypts the first update split software received by the first electronic control device, writes the decrypted first update split software to the storage device, and writes the second update split software received via the local network to the storage device.
前記第1実行装置は、自身が復号した前記第1更新用分割ソフトウェアを前記記憶装置に書き込んだ後、前記第2電子制御装置が前記ローカルネットワークを介して前記第1電子制御装置に送信した前記第2更新用分割ソフトウェアを前記記憶装置に書き込む
請求項2に記載の制御システム。 the information processing device transmits the first update divided software to the first electronic control unit via the global network, and transmits the second update divided software to the second electronic control unit via the global network;
The control system described in claim 2, wherein the first execution device writes the first update split software that it has decrypted into the storage device, and then writes the second update split software that the second electronic control device sent to the first electronic control device via the local network into the storage device.
前記第1実行装置は、前記第2更新用分割ソフトウェアの前記記憶装置への書き込みが完了した後に、前記第3更新用分割ソフトウェアを復号し、当該第3更新用分割ソフトウェアを前記記憶装置に書き込む
請求項3に記載の制御システム。 after writing of the second divided software update to the storage device is completed, the information processing device transmits a third divided software update, which is one of the divided software updates, to the first electronic control unit via the global network;
The control system of claim 3 , wherein the first execution device decrypts the third update split software and writes the third update split software to the storage device after writing of the second update split software to the storage device is completed.
前記第1実行装置は、
前記グローバルネットワークを介して受信した前記第1更新用分割ソフトウェアを復号し、当該第1更新用分割ソフトウェアを前記記憶装置に書き込み、
前記グローバルネットワークを介して受信した前記第2更新用分割ソフトウェアを、前記ローカルネットワークを介して前記第2電子制御装置に送信し、
前記ローカルネットワークを介して前記第2電子制御装置から受信した前記第2更新用分割ソフトウェアを前記記憶装置に書き込み、
前記第2実行装置は、前記ローカルネットワークを介して前記第1電子制御装置から受信した前記第2更新用分割ソフトウェアを復号し、復号済みの当該第2更新用分割ソフトウェアを、前記ローカルネットワークを介して前記第1電子制御装置に送信する
請求項2に記載の制御システム。 the information processing device transmits both the first update divided software and the second update divided software to the first electronic control device via the global network;
The first execution device is
decrypting the first update divided software received via the global network and writing the first update divided software into the storage device;
The second update divided software received via the global network is transmitted to the second electronic control unit via the local network;
writing the second update divided software received from the second electronic control unit via the local network into the storage device;
The control system described in claim 2, wherein the second execution device decrypts the second update split software received from the first electronic control device via the local network, and transmits the decrypted second update split software to the first electronic control device via the local network.
前記第1実行装置は、前記第1更新用分割ソフトウェアを復号し、当該第1更新用分割ソフトウェアを前記記憶装置に書き込み、
前記第2実行装置は、前記第2更新用分割ソフトウェアを復号し、当該第2更新用分割ソフトウェアを前記記憶装置に書き込む
請求項1に記載の制御システム。 the first electronic control unit has the first execution unit and the second execution unit,
the first execution device decrypts the first update divided software and writes the first update divided software into the storage device;
The control system according to claim 1 , wherein the second execution device decrypts the second update divided software and writes the second update divided software into the storage device.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022153828A JP2024048009A (en) | 2022-09-27 | 2022-09-27 | Control System |
PCT/JP2023/031869 WO2024070483A1 (en) | 2022-09-27 | 2023-08-31 | Control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022153828A JP2024048009A (en) | 2022-09-27 | 2022-09-27 | Control System |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024048009A true JP2024048009A (en) | 2024-04-08 |
Family
ID=90477359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022153828A Pending JP2024048009A (en) | 2022-09-27 | 2022-09-27 | Control System |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024048009A (en) |
WO (1) | WO2024070483A1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6264066B2 (en) * | 2014-02-03 | 2018-01-24 | 株式会社デンソー | Relay system |
US20240004633A1 (en) * | 2020-12-16 | 2024-01-04 | Hitachi Astemo, Ltd. | Electronic control device |
-
2022
- 2022-09-27 JP JP2022153828A patent/JP2024048009A/en active Pending
-
2023
- 2023-08-31 WO PCT/JP2023/031869 patent/WO2024070483A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024070483A1 (en) | 2024-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180341476A1 (en) | Software updating device, software updating system, and software updating method | |
WO2017046980A1 (en) | Gateway device, vehicle-mounted network system, and firmware update method | |
JP2022550446A (en) | Customized root process for individual applications | |
JP2024015111A (en) | Software update device, update control method, update control program, and ota master | |
EP3809259B1 (en) | Network node firmware update | |
WO2019159715A1 (en) | Vehicle control device and program update system | |
WO2024070483A1 (en) | Control system | |
JP2023108066A (en) | Software update apparatus, update control method, update control program, and server | |
US11947950B2 (en) | Center, OTA master, method, non-transitory storage medium, and vehicle | |
US11995429B2 (en) | Software update device, update control method, non-transitory storage medium, and server | |
US20220391192A1 (en) | Ota master, center, system, method, non-transitory storage medium, and vehicle | |
JP7452452B2 (en) | OTA master, software update control method and update control program, vehicle equipped with OTA master | |
JP2022187646A (en) | Ota master, system, method, program, and vehicle | |
WO2024062897A1 (en) | Control system and software update method | |
US11972248B2 (en) | Controlling software update of electronic control units mounted on a vehicle | |
US20220405083A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
WO2024062898A1 (en) | Brake control device, and software updating method | |
JP7355061B2 (en) | Center, OTA master, system, distribution method, distribution program, and vehicle | |
US20220391193A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
JP2014063350A (en) | Automotive electronic control device | |
JP2023002193A (en) | Center, OTA Master, System, Method, Program, and Vehicle | |
JP2024005741A (en) | Electronic control unit, vehicle control system, and vehicle control method | |
JP2023001993A (en) | Ota master, system, method, program, and vehicle | |
JP2022163396A (en) | Ota master, update control method, update control program, and ota center | |
JP2022126194A (en) | Ota master, center, system, method, program, and vehicle |