[go: up one dir, main page]

JP2018181377A - Relay device, program update system, and program update method - Google Patents

Relay device, program update system, and program update method Download PDF

Info

Publication number
JP2018181377A
JP2018181377A JP2018143034A JP2018143034A JP2018181377A JP 2018181377 A JP2018181377 A JP 2018181377A JP 2018143034 A JP2018143034 A JP 2018143034A JP 2018143034 A JP2018143034 A JP 2018143034A JP 2018181377 A JP2018181377 A JP 2018181377A
Authority
JP
Japan
Prior art keywords
update
program
control
ecu
programs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018143034A
Other languages
Japanese (ja)
Other versions
JP6562134B2 (en
Inventor
中野 貴之
Takayuki Nakano
貴之 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2018143034A priority Critical patent/JP6562134B2/en
Publication of JP2018181377A publication Critical patent/JP2018181377A/en
Application granted granted Critical
Publication of JP6562134B2 publication Critical patent/JP6562134B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】制御プログラムの同時更新所要時間を短くする。【解決手段】車載ネットワークに属する複数の制御装置と通信する中継装置が実行するプログラム更新方法は、複数の制御装置に対する同時更新の必要性がある複数の更新プログラムと、車載ネットワークのトポロジーとを記憶するステップ(S4)と、複数の更新プログラムを対応する制御装置にそれぞれ送信するステップ(S9,11,13)と、を含み、送信するステップは、中継装置に個別に接続された互いに独立する複数の車載ネットワークに属する制御装置については、当該制御装置に対応する複数のプログラムを並行して送信することを含む。【選択図】図5The time required for simultaneous update of control programs is shortened. A program update method executed by a relay device that communicates with a plurality of control devices belonging to an in-vehicle network stores a plurality of update programs that require simultaneous update for the plurality of control devices and a topology of the in-vehicle network. And a step (S9, 11, 13) of transmitting a plurality of update programs to the corresponding control devices, respectively, and the steps of transmitting include a plurality of independent units individually connected to the relay device. For a control device belonging to the in-vehicle network, it includes transmitting a plurality of programs corresponding to the control device in parallel. [Selection] Figure 5

Description

この発明は中継装置、プログラム更新システム、およびプログラム更新方法に関し、特に、車載制御装置の制御プログラムの更新を適切に行うための技術に関する。   The present invention relates to a relay device, a program update system, and a program update method, and more particularly to a technique for appropriately updating a control program of an on-vehicle control device.

近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための車載制御装置である、所謂ECU(Electronic Control Unit)が多数搭載されている。
ECUには、たとえば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、EPS(Electric Power Steering)等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じてヘッドライトの点灯/消灯やワイパーON/OFF、ドアロック/アンロック等、運転席近傍に配設されるメータ類の動作を行うものがある。
2. Description of the Related Art In recent years, in the technical field of automobiles, vehicles are becoming more sophisticated, and a wide variety of on-vehicle devices are mounted on the vehicles. Therefore, a large number of so-called ECUs (Electronic Control Units), which are on-vehicle control devices for controlling the on-vehicle devices, are mounted on the vehicle.
For example, ECUs related to a travel system that controls the engine, brakes, EPS (Electric Power Steering), etc. in response to accelerator, brake, and steering wheel operation, headlights on / off according to switch operation by the occupant There are some which perform operations of meters disposed near the driver's seat, such as wiper ON / OFF, door lock / unlock, and the like.

一般的にECUは、マイクロコンピュータ等の演算処理装置によって構成されており、ROM(Read Only Memory)に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ECUの制御プログラムは、車両の仕向け地やグレードなどに応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。
Generally, the ECU is configured by an arithmetic processing unit such as a microcomputer, and the control of the on-vehicle device is realized by reading and executing the control program stored in a ROM (Read Only Memory).
The control program of the ECU may differ depending on the destination or grade of the vehicle, and it is necessary to rewrite the control program of the old version to the control program of the new version in response to the upgrade of the control program.

たとえば、特許文献1および2には、車載通信機などのゲートウェイが管理サーバから更新プログラムを受信し、受信した更新プログラム用いてECUが制御プログラムを旧バージョンから新バージョンに書き換えることにより、車両の各ECUに対するプログラム更新を無線通信によって遠隔で実行する技術が開示されている。   For example, in Patent Documents 1 and 2, each gateway of a vehicle communication device or the like receives an update program from the management server, and the ECU rewrites the control program from the old version to the new version using the received update program. A technique is disclosed that remotely executes program update to an ECU by wireless communication.

特開2007−65856号公報Unexamined-Japanese-Patent No. 2007-65856 特開2011−70307号公報JP, 2011-70307, A

昨今の車両は、多くの機器が連動して動いている。そのため、車両の動作を保証するために、関連する複数のECUそれぞれの制御プログラムである複数のプログラムを同じタイミングで更新することが要求される場合がある。制御プログラムの更新は、ECUに更新用のプログラムを渡し、ECUにおいて制御プログラムを書き換えることによって行われる。そのため、1つのECUにおいて制御プログラムの更新に要する時間である「更新所要時間」は、ECUに更新プログラムを伝送するのに要する時間と制御プログラムを書き換えるのに要する時間とを含む時間である。   In recent vehicles, many devices move in conjunction. Therefore, in order to guarantee the operation of the vehicle, it may be required to update, at the same timing, a plurality of programs which are control programs of the respective associated ECUs. The control program is updated by passing the update program to the ECU and rewriting the control program in the ECU. Therefore, “the required update time”, which is the time required to update the control program in one ECU, is a time including the time required to transmit the update program to the ECU and the time required to rewrite the control program.

同じタイミングで複数のECUそれぞれの制御プログラムを更新する必要性がある場合、複数のECUそれぞれが上記の更新の動作を実行する。車両では、関連する複数のECUについて制御プログラムの更新が開始すると、すべてのECUにおいて制御プログラムの更新が完了するまで、車両を動作させることができない。つまり、同じタイミングに更新する複数の制御プログラム用の複数の更新用のプログラムのうちの最初のプログラムのECUへの伝送の開始から、最後の更新用のプログラムのECUにおける書き換えの完了までの時間(以下、この時間を「同時更新所要時間」と言う)、車両を動作させることができない。   When there is a need to update the control program of each of the plurality of ECUs at the same timing, each of the plurality of ECUs performs the above-described update operation. In the vehicle, when the update of the control program for a plurality of related ECUs is started, the vehicle can not be operated until the update of the control program is completed in all the ECUs. That is, the time from the start of transmission to the ECU of the first program among the plurality of updating programs for the plurality of control programs updated at the same timing to the completion of the rewriting in the ECU of the last updating program ( Hereinafter, this time is referred to as “simultaneous update required time”), and the vehicle can not be operated.

同じタイミングで制御プログラムを更新する上記の複数のECUがそれぞれ順に更新を行うと、同時更新所要時間は複数のECUそれぞれにおける更新所要時間を加えたものとなり、長くなる。同時更新所要時間が長くなるほど、車両を動作させることができない時間が長くなってしまう。   When the plurality of ECUs updating the control program at the same timing perform the update in order, the simultaneous update required time becomes the sum of the required time for the update in each of the plurality of ECUs, and becomes longer. The longer the simultaneous update required time, the longer the time when the vehicle can not be operated.

本発明はかかる問題に鑑みてなされたものであって、複数のプログラムを同じタイミングに更新する場合の同時更新所要時間を短くすることのできる中継装置、プログラム更新システム、およびプログラム更新方法を提供する。   The present invention has been made in view of such problems, and provides a relay device, a program update system, and a program update method capable of shortening the simultaneous update required time when updating a plurality of programs at the same timing. .

ある実施の形態に従うと、中継装置は車載ネットワークに属する複数の制御装置と通信する中継装置であって、複数の制御装置に対する同時更新の必要性がある複数の更新プログラムと、車載ネットワークのトポロジーとを記憶する記憶部と、複数の更新プログラムを対応する制御装置にそれぞれ送信する車内通信部と、自装置に個別に接続された互いに独立する複数の車載ネットワークに属する制御装置については、当該制御装置に対応する複数の更新プログラムを並行して送信するように車内通信部を制御する制御部と、を備える。   According to an embodiment, the relay device is a relay device that communicates with the plurality of control devices belonging to the in-vehicle network, and has a plurality of update programs that require simultaneous updating of the plurality of control devices, and the topology of the in-vehicle network Storage units storing in the vehicle, an in-vehicle communication unit transmitting a plurality of update programs to the corresponding control devices, and control devices belonging to a plurality of independent on-vehicle networks individually connected to the own device And a control unit that controls the in-vehicle communication unit to transmit in parallel a plurality of update programs corresponding to.

他の実施の形態に従うと、プログラム更新システムは、車載ネットワークに属する複数の制御装置と、複数の制御装置と通信する中継装置と、を含み、中継装置は、複数の制御装置に対する同時更新の必要性がある複数の更新プログラムと、車載ネットワークのトポロジーとを記憶する記憶部と、複数の更新プログラムを対応する制御装置にそれぞれ送信する車内通信部と、自装置に個別に接続された互いに独立する複数の車載ネットワークに属する制御装置については、当該制御装置に対応する複数の更新プログラムを並行して送信するように車内通信部を制御する制御部と、を備える。   According to another embodiment, the program update system includes a plurality of control devices belonging to the in-vehicle network and a relay device communicating with the plurality of control devices, and the relay device needs the simultaneous update to the plurality of control devices Storage units for storing a plurality of update programs having different characteristics, the topology of the in-vehicle network, an in-vehicle communication unit for transmitting the plurality of update programs to the corresponding control device, and The control device that belongs to the plurality of in-vehicle networks includes a control unit that controls the in-vehicle communication unit to transmit the plurality of update programs corresponding to the control device in parallel.

他の実施の形態に従うと、プログラム更新方法は車載ネットワークに属する複数の制御装置と通信する中継装置が実行するプログラム更新方法であって、複数の制御装置に対する同時更新の必要性がある複数の更新プログラムと、車載ネットワークのトポロジーとを記憶するステップと、複数の更新プログラムを対応する制御装置にそれぞれ送信するステップと、を含み、送信するステップは、中継装置に個別に接続された互いに独立する複数の車載ネットワークに属する制御装置については、当該制御装置に対応する複数の更新プログラムを並行して送信することを含む。   According to another embodiment, the program updating method is a program updating method executed by a relay device communicating with a plurality of control devices belonging to the in-vehicle network, and a plurality of updates having a need for simultaneous updating of a plurality of control devices Storing the program and the topology of the in-vehicle network; and transmitting each of the plurality of update programs to the corresponding control device, wherein the transmitting includes a plurality of independent transmissions individually connected to the relay device. The control device belonging to the in-vehicle network includes transmitting in parallel a plurality of update programs corresponding to the control device.

この発明によると、車両に搭載された制御装置の制御プログラムの同時更新所要時間を短くすることができる。   According to the present invention, it is possible to shorten the time required for simultaneous updating of the control program of the control device mounted on the vehicle.

本発明の実施形態に係るプログラム更新システムの全体構成図である。BRIEF DESCRIPTION OF THE DRAWINGS It is a whole block diagram of the program update system which concerns on embodiment of this invention. ゲートウェイの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of a gateway. ECUの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of ECU. 管理サーバの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of a management server. 複数のECUに対する制御プログラムの同時更新の一例を示すシーケンス図である。FIG. 7 is a sequence diagram showing an example of simultaneous updating of control programs for a plurality of ECUs. 図5のステップS8のスケジューリング処理の流れを表したフローチャートである。It is a flowchart showing the flow of the scheduling process of step S8 of FIG. 同時更新の必要性がある更新プログラムの第1の具体例を表した図である。It is a figure showing the 1st example of the update program which needs the simultaneous update. スケジューリング処理を行わない場合の更新スケジュール(A)と、スケジューリング処理を行った場合の更新スケジュール(B)とを比較して示した図である。It is the figure which compared and showed the update schedule (A) when not performing a scheduling process, and the update schedule (B) when performing a scheduling process. 同時更新の必要性がある更新プログラムの第2の具体例を表した図である。It is a figure showing the 2nd example of the update program which needs the simultaneous update. スケジューリング処理を行わない場合の更新スケジュール(A)と、スケジューリング処理を行った場合の更新スケジュール(B)とを比較して示した図である。It is the figure which compared and showed the update schedule (A) when not performing a scheduling process, and the update schedule (B) when performing a scheduling process. 同時更新の必要性がある更新プログラムの第3の具体例を表した図である。It is a figure showing the 3rd example of the update program which needs the simultaneous update. スケジューリング処理を行わない場合の更新スケジュール(A)と、スケジューリング条件A〜Cそれぞれに従ったスケジューリング処理を行った場合の更新スケジュール(B)〜(D)とを比較して示した図である。It is the figure which compared and showed the update schedule (A) when not performing a scheduling process, and the update schedule (B)-(D) when performing a scheduling process according to each scheduling conditions AC.

[実施の形態の説明]
本実施の形態には、少なくとも以下のものが含まれる。
すなわち、本実施の形態に含まれる中継装置は、車載ネットワークに属する複数の制御装置と通信する中継装置であって、複数の制御装置に対する同時更新の必要性がある複数の更新プログラムと、車載ネットワークのトポロジーとを記憶する記憶部と、複数の更新プログラムを対応する制御装置にそれぞれ送信する車内通信部と、自装置に個別に接続された互いに独立する複数の車載ネットワークに属する制御装置については、当該制御装置に対応する複数の更新プログラムを並行して送信するように車内通信部を制御する制御部と、を備える。
この構成によれば、同時更新の必要性がある複数の更新プログラムのうちの、中継装置に個別に接続された互いに独立する複数の車載ネットワークに属する制御装置に対する更新プログラムについては、中継装置からの伝送の開始を同時にすることができる。このため、これら複数の更新プログラムを、それぞれ、制御プログラムの書き換えの終了後に順に送信する場合よりも、複数の更新プログラムの伝送時間の合計を短縮することができる。その結果、同時更新所要時間を短くすることができる。
[Description of the embodiment]
The present embodiment includes at least the following.
That is, the relay device included in the present embodiment is a relay device that communicates with a plurality of control devices belonging to the in-vehicle network, and has a plurality of update programs that require simultaneous updating of the plurality of control devices; For the storage unit storing the topology, the in-vehicle communication unit transmitting each of the plurality of update programs to the corresponding control device, and the control devices belonging to the plurality of independent on-vehicle networks individually connected to the own device And a control unit that controls the in-vehicle communication unit to transmit a plurality of update programs corresponding to the control device in parallel.
According to this configuration, the update program for the control device belonging to the plurality of independent on-vehicle networks individually connected to the relay device among the plurality of update programs having the need for simultaneous update from the relay device The start of transmission can be done simultaneously. Therefore, the total transmission time of the plurality of update programs can be shortened compared to the case where the plurality of update programs are sequentially transmitted after the end of the rewrite of the control program. As a result, the simultaneous update required time can be shortened.

好ましくは、中継装置は、制御部は、所定の条件に従って複数の更新プログラムの送信順序を決定する。
適切な条件が中継装置に設定されることによって、同時更新の必要性がある複数の更新プログラムの伝送にかかる時間の合計を短くすることができる。その結果、同時更新所要時間を短くすることができる。
Preferably, in the relay device, the control unit determines the transmission order of the plurality of update programs according to a predetermined condition.
By setting appropriate conditions in the relay device, it is possible to shorten the total time taken to transmit a plurality of update programs that need simultaneous update. As a result, the simultaneous update required time can be shortened.

好ましくは、所定の条件は、各制御装置での、下記の第1時間〜第3時間を含む更新所要時間の組み合わせである同時更新所要時間を最も短くするスケジューリング条件よりなり、同時更新所要時間は、複数の更新プログラムのうちの最初に制御装置に伝送される更新プログラムについての第1時間の開始時から複数の更新プログラムの最後に制御プログラムの書き換えが終了する更新プログラムについての第3時間の終了時までの時間である。
第1時間:更新プログラムの伝送時間
第2時間:更新プログラムのチェックに要する時間
第3時間:更新プログラムを用いた制御プログラムの書き換えに要する時間
この構成によって、同時更新の必要性がある複数の更新プログラムの伝送にかかる時間の合計を短くすることができる。その結果、同時更新所要時間を短くすることができる。
Preferably, the predetermined condition is a scheduling condition for shortening the simultaneous update required time which is a combination of update required times including the following first to third times in each control device, and the simultaneous update required time is The end of the third time for the update program for which the rewriting of the control program ends at the end of the plurality of update programs from the start of the first time for the update program transmitted to the control device first among the plurality of update programs It is time to time.
First time: Transmission time of update program Second time: time required to check update program Third time: time required to rewrite control program using update program With this configuration, multiple updates that require simultaneous update The total time taken to transmit the program can be shortened. As a result, the simultaneous update required time can be shortened.

好ましくは、スケジューリング条件には、バス型トポロジーである1つの車載ネットワークに含まれる複数の制御装置について、第3時間が長い制御装置ほど更新プログラムの送信順序を早めることが含まれる。
この構成によって、制御プログラムの書き換えに要する時間が長い更新プログラムほど先に伝送され、制御プログラムの書き換えが先に開始される。そして、制御プログラムの書き換えと並行して、次の更新プログラムが伝送される。そのため、各制御プログラムの書き換えの終了後に順に更新プログラムを伝送するよりも同時更新所要期間を短縮することができる。
Preferably, the scheduling conditions include, for a plurality of control devices included in one in-vehicle network having a bus topology, a control device having a longer third time has a transmission order of update programs earlier.
With this configuration, the update program with the longer time required to rewrite the control program is transmitted earlier, and the rewriting of the control program is started first. Then, in parallel with the rewriting of the control program, the next update program is transmitted. Therefore, the simultaneous update required period can be shortened rather than transmitting the update program sequentially after the end of the rewriting of each control program.

好ましくは、スケジューリング条件には、バス型トポロジーである1つの車載ネットワークに含まれる複数の制御装置について、第1時間が短い制御装置ほど更新プログラムの送信順序を早めることが含まれる。
この構成によって、各更新プログラムについて対応する制御装置での当該更新プログラムのチェックおよび制御プログラムの書き換えを早く開始できるため、また、当該更新プログラムのチェックおよび制御プログラムの書き換えと並行して次の更新プログラムが伝送される。そのため、各制御プログラムの書き換えの終了後に順に更新プログラムを伝送するよりも同時更新所要期間をより短縮することができる。
Preferably, the scheduling condition includes, for a plurality of control devices included in one in-vehicle network having a bus topology, a control device having a shorter first time has an earlier transmission order of update programs.
According to this configuration, the check of the update program and the rewriting of the control program can be quickly started in the corresponding control device for each update program. Further, in parallel with the check of the update program and the rewriting of the control program, the next update program Is transmitted. Therefore, the simultaneous update required period can be shortened more than transmitting the update program sequentially after the end of the rewriting of each control program.

好ましくは、スケジューリング条件には、バス型トポロジーである1つの車載ネットワークに含まれる複数の制御装置について、制御装置に付与された識別情報に基づいて送信順序を決定することが含まれる。
この構成によって、各制御装置に対して適した名前等の識別情報を予め付与しておくことによって、更新所要期間をより短縮することができる。
Preferably, the scheduling condition includes determining the transmission order of the plurality of control devices included in one in-vehicle network having a bus topology based on the identification information given to the control devices.
According to this configuration, by previously providing identification information such as a name suitable for each control device, the required update period can be further shortened.

好ましくは、1つの車載ネットワークに、自装置に直接接続されたメインネットワークと、メインネットワークに含まれる制御装置を分岐ノードとして分岐するローカルネットワークが含まれる場合は、スケジューリング条件には、ローカルネットワークに属する制御装置への送信順序を、メインネットワークに含まれる制御装置の送信順序よりも早めることが含まれる。
この構成によって、ローカルネットワークでの更新プログラムの伝送と並行して、次の更新プログラムをメインネットワークで送信することができ、複数の更新プログラムの伝送時間の合計を短縮することができる。その結果、同時更新所要時間をより短縮することができる。
Preferably, in the case where one in-vehicle network includes a main network directly connected to the apparatus itself and a local network that branches the control device included in the main network as a branch node, the scheduling condition belongs to the local network The order of transmission to the control device may be earlier than the transmission order of the control devices included in the main network.
With this configuration, in parallel with transmission of the update program on the local network, the next update program can be transmitted on the main network, and the total transmission time of the plurality of update programs can be shortened. As a result, the simultaneous update required time can be further shortened.

好ましくは、制御部は、分岐ノードが、メインネットワークでの伝送速度とローカルネットワークでの伝送速度の差を吸収するバッファ機能を有するか否か応じて、メインネットワークの伝送速度を決定する。
この構成によって、メインネットワークでの更新プログラムの送信を効率的に行うことができ、複数の更新プログラムの伝送時間の合計を短縮することができる。
Preferably, the control unit determines the transmission rate of the main network according to whether or not the branch node has a buffer function to absorb the difference between the transmission rate in the main network and the transmission rate in the local network.
With this configuration, transmission of the update program in the main network can be efficiently performed, and the total transmission time of the plurality of update programs can be shortened.

本実施の形態に含まれるプログラム更新システムは、車載ネットワークに属する複数の制御装置と、複数の制御装置と通信する中継装置と、を含むプログラム更新システムであって、中継装置は、複数の制御装置に対する同時更新の必要性がある複数の更新プログラムと、車載ネットワークのトポロジーとを記憶する記憶部と、複数の更新プログラムを対応する制御装置にそれぞれ送信する車内通信部と、自装置に個別に接続された互いに独立する複数の車載ネットワークに属する制御装置については、当該制御装置に対応する複数の更新プログラムを並行して送信するように車内通信部を制御する制御部と、を備える。
この構成によれば、同時更新の必要性がある複数の更新プログラムのうちの、中継装置に個別に接続された互いに独立する複数の車載ネットワークに属する制御装置に対する更新プログラムについては、中継装置からの伝送の開始を同時にすることができる。このため、これら複数の更新プログラムを、それぞれ、制御プログラムの書き換えの終了後に順に送信する場合よりも、複数の更新プログラムの伝送時間の合計を短縮することができる。その結果、同時更新所要時間を短くすることができる。
The program update system included in the present embodiment is a program update system including a plurality of control devices belonging to the in-vehicle network and a relay device for communicating with the plurality of control devices, and the relay device is a plurality of control devices Storage unit for storing a plurality of update programs that need simultaneous update for the network, topology of the in-vehicle network, in-vehicle communication unit for transmitting the plurality of update programs to corresponding control devices, and individually connected to own device And a control unit configured to control the in-vehicle communication unit to simultaneously transmit a plurality of update programs corresponding to the plurality of control devices belonging to the plurality of in-vehicle networks independent of each other.
According to this configuration, the update program for the control device belonging to the plurality of independent on-vehicle networks individually connected to the relay device among the plurality of update programs having the need for simultaneous update from the relay device The start of transmission can be done simultaneously. Therefore, the total transmission time of the plurality of update programs can be shortened compared to the case where the plurality of update programs are sequentially transmitted after the end of the rewrite of the control program. As a result, the simultaneous update required time can be shortened.

本実施の形態に含まれるプログラム更新方法は車載ネットワークに属する複数の制御装置と通信する中継装置が実行するプログラム更新方法であって、複数の制御装置に対する同時更新の必要性がある複数の更新プログラムと、車載ネットワークのトポロジーとを記憶するステップと、複数の更新プログラムを対応する制御装置にそれぞれ送信するステップと、を含み、送信するステップは、中継装置に個別に接続された互いに独立する複数の車載ネットワークに属する制御装置については、当該制御装置に対応する複数の更新プログラムを並行して送信することを含む。
この構成によれば、同時更新の必要性がある複数の更新プログラムのうちの、中継装置に個別に接続された互いに独立する複数の車載ネットワークに属する制御装置に対する更新プログラムについては、中継装置からの伝送の開始を同時にすることができる。このため、これら複数の更新プログラムを、それぞれ、制御プログラムの書き換えの終了後に順に送信する場合よりも、複数の更新プログラムの伝送時間の合計を短縮することができる。その結果、同時更新所要時間を短くすることができる。
The program update method included in the present embodiment is a program update method executed by a relay device that communicates with a plurality of control devices belonging to the in-vehicle network, and a plurality of update programs having the necessity of simultaneous update for a plurality of control devices. , Storing the topology of the in-vehicle network, and transmitting each of the plurality of update programs to the corresponding control device, wherein the steps of transmitting include a plurality of mutually independent relay devices individually connected to the relay device. The control device belonging to the in-vehicle network includes transmitting in parallel a plurality of update programs corresponding to the control device.
According to this configuration, the update program for the control device belonging to the plurality of independent on-vehicle networks individually connected to the relay device among the plurality of update programs having the need for simultaneous update from the relay device The start of transmission can be done simultaneously. Therefore, the total transmission time of the plurality of update programs can be shortened compared to the case where the plurality of update programs are sequentially transmitted after the end of the rewrite of the control program. As a result, the simultaneous update required time can be shortened.

[実施の形態の詳細]
以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
[Details of the embodiment]
Hereinafter, preferred embodiments will be described with reference to the drawings. In the following description, the same parts and components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, these descriptions will not be repeated.

<第1の実施の形態>
〔システムの全体構成〕
図1は、本発明の実施形態に係るプログラム更新システムの全体構成図である。
図1に示すように、本実施形態のプログラム更新システムは、広域通信網2を介して通信可能な車両1、管理サーバ5およびDL(ダウンロード)サーバ6を含む。
管理サーバ5およびDLサーバ6は、たとえば、車両1のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両1と通信可能である。
First Embodiment
[Whole system configuration]
FIG. 1 is an overall configuration diagram of a program update system according to an embodiment of the present invention.
As shown in FIG. 1, the program update system of the present embodiment includes a vehicle 1 that can communicate via the wide area communication network 2, a management server 5, and a DL (download) server 6.
The management server 5 and the DL server 6 are operated, for example, by a car maker of the vehicle 1 and can communicate with a large number of vehicles 1 owned by a user who has been registered as a member in advance.

車両1には、ゲートウェイ10と、無線通信部15と、複数のECU30と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)とが搭載されている。
車両1には、共通の車内通信線にバス接続された複数のECU30による通信グループ(車載ネットワーク)が存在し、ゲートウェイ10は、通信グループ間の通信やECU30と車外の装置との通信を中継する中継装置として機能する。このため、ゲートウェイ10には、複数の車内通信線が接続されている。
The vehicle 1 is mounted with a gateway 10, a wireless communication unit 15, a plurality of ECUs 30, and various in-vehicle devices (not shown) controlled by the respective ECUs 30.
The vehicle 1 has a communication group (in-vehicle network) by a plurality of ECUs 30 bus-connected to a common in-vehicle communication line, and the gateway 10 relays communication between communication groups and communication between the ECU 30 and devices outside the vehicle. It functions as a relay device. For this reason, a plurality of in-vehicle communication lines are connected to the gateway 10.

詳しくは、ゲートウェイ10には、それぞれに1つ以上のECU30が接続されて通信グループを構成する、複数のバスが接続されて、ネットワークトポロジーを形成している。一例として、図1に示されるように、ゲートウェイ10には、メインバスである、第1のバスNW1と第2のバスNW2とが接続されている。バスNW1には、3つのECU(ECU_A,ECU_B,ECU_C)30が接続されている。バスNW2には、1つのECU(ECU_F)30が接続されている。3つのECU(ECU_A,ECU_B,ECU_C)30がメインバスNW1に接続されたネットワークトポロジーおよび1つのECU(ECU_F)30がメインバスNW2に接続されたネットワークトポロジーは、それぞれバス型トポロジーである。伝送路としてのメインバスNW1,NW2は、それぞれに接続される複数のECUで共有可能される。そのために、信号の衝突、干渉するため、同時に信号の伝送がなされないように制御される必要がある。   Specifically, a plurality of buses, each of which is connected to one or more ECUs 30 to constitute a communication group, are connected to the gateway 10 to form a network topology. As an example, as shown in FIG. 1, the gateway 10 is connected to a first bus NW1 and a second bus NW2 which are main buses. Three ECUs (ECU_A, ECU_B, and ECU_C) 30 are connected to the bus NW1. One ECU (ECU_F) 30 is connected to the bus NW2. The network topology in which three ECUs (ECU_A, ECU_B, and ECU_C) 30 are connected to the main bus NW1 and the network topology in which one ECU (ECU_F) 30 is connected to the main bus NW2 are bus topology. The main buses NW1 and NW2 as transmission paths can be shared by a plurality of ECUs connected to each. Therefore, in order to collide and interfere the signals, it is necessary to control so that the transmission of the signals is not simultaneously performed.

複数のECU30のいずれかは、さらに、ローカルバスに接続されていてもよい。たとえば、図1では、バスNW1は、接続された1つのECU(ECU_C)30を分岐ノードとして、ローカルバスである第3のバスNW3に分岐している。バスNW3には、さらに2つのECU(ECU_E,ECU_D)30が接続されて、バス型トポロジーを形成している。ECU_Cは、バスNW3に接続された2つのECU(ECU_E,ECU_D)30とゲートウェイ10との信号の伝送を中継する。   Any one of the plurality of ECUs 30 may be further connected to the local bus. For example, in FIG. 1, the bus NW1 branches to a third bus NW3 which is a local bus, with one connected ECU (ECU_C) 30 as a branch node. Two more ECUs (ECU_E, ECU_D) 30 are connected to the bus NW3 to form a bus topology. The ECU_C relays the transmission of signals between the two ECUs (ECU_E and ECU_D) 30 connected to the bus NW3 and the gateway 10.

無線通信部15は、携帯電話網などの広域通信網2に通信可能に接続され、車内通信線によりゲートウェイ10に接続されている。ゲートウェイ10は、広域通信網2を通じて管理サーバ5およびDLサーバ6などの車外装置から無線通信部15が受信した情報を、ECU30に送信する。
ゲートウェイ10は、ECU30から取得した情報を無線通信部15に送信し、無線通信部15は、その情報を管理サーバ5などの車外装置に送信する。
The wireless communication unit 15 is communicably connected to a wide area communication network 2 such as a cellular phone network, and is connected to the gateway 10 by an in-vehicle communication line. The gateway 10 transmits the information received by the wireless communication unit 15 from the external device such as the management server 5 and the DL server 6 through the wide area communication network 2 to the ECU 30.
The gateway 10 transmits the information acquired from the ECU 30 to the wireless communication unit 15, and the wireless communication unit 15 transmits the information to an external device such as the management server 5 or the like.

図1では、ゲートウェイ10は、無線通信部15と車内通信線を介して接続されているが、これらは1つの装置で構成してもよい。   In FIG. 1, the gateway 10 is connected to the wireless communication unit 15 via an in-vehicle communication line, but these may be configured by one device.

また、図1のプログラム更新システムでは、管理サーバ5とDLサーバ6とが別個のサーバで構成されているが、これらのサーバ5,6を1つのサーバ装置で構成してもよい。   Moreover, in the program update system of FIG. 1, although the management server 5 and the DL server 6 are comprised by a separate server, you may comprise these servers 5 and 6 by one server apparatus.

〔ゲートウェイの内部構成〕
図2は、ゲートウェイ10の内部構成を示すブロック図である。
図2に示すように、ゲートウェイ10は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、記憶部13、および車内通信部14などを備える。ゲートウェイ10は、無線通信部15と車内通信線とを介して接続されているが、これらは一つの装置で構成してもよい。
[Internal configuration of gateway]
FIG. 2 is a block diagram showing an internal configuration of the gateway 10.
As shown in FIG. 2, the gateway 10 includes a central processing unit (CPU) 11, a random access memory (RAM) 12, a storage unit 13, an in-vehicle communication unit 14, and the like. The gateway 10 is connected via the wireless communication unit 15 and the in-vehicle communication line, but these may be configured by one device.

CPU11は、記憶部13に記憶された一または複数のプログラムをRAM12に読み出して実行することにより、ゲートウェイ10を各種情報の中継装置として機能させる。
CPU11は、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。RAM12は、SRAM(Static RAM)又はDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
The CPU 11 causes the gateway 10 to function as a relay device for various information by reading out one or more programs stored in the storage unit 13 to the RAM 12 and executing the program.
The CPU 11 can execute a plurality of programs in parallel by switching and executing a plurality of programs in time division, for example. The RAM 12 is configured by a memory element such as an SRAM (Static RAM) or a DRAM (Dynamic RAM), and temporarily stores programs executed by the CPU 11 and data required for the execution.

記憶部13は、フラッシュメモリ若しくはEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子などにより構成されている。
記憶部13は、CPU11が実行するプログラムおよび実行に必要なデータ等を記憶する記憶領域を有する。記憶部13は、DLサーバ6から受信した各ECU30の更新プログラムなども記憶する。また、記憶部13には、車載ネットワークである、各ECU30およびバスNW1〜NW3の形成するトポロジーも記憶されている。車載ネットワークのトポロジーは、更新プログラムの伝送および後述するスケジューリング処理において用いられる。
The storage unit 13 is configured by a non-volatile memory element such as a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory).
The storage unit 13 has a storage area for storing a program executed by the CPU 11 and data required for the execution. The storage unit 13 also stores an update program of each ECU 30 received from the DL server 6 and the like. Further, the storage unit 13 also stores a topology formed by each ECU 30 and the buses NW1 to NW3 which are in-vehicle networks. The topology of the in-vehicle network is used in the transmission of the update program and in the scheduling process described later.

車内通信部14には、車両1に配設された車内通信線を介して複数のECU30が接続されている。車内通信部14は、たとえばCAN(Controller Area Network)、CANFD(CAN with Flexible Data Rate)、LIN(Local Interconnect Network)、Ethernet(登録商標)、またはMOST(Media Oriented Systems Transport:MOSTは登録商標)等の規格に応じて、ECU30との通信を行う。
車内通信部14は、CPU11から与えられた情報を対象のECU30へ送信するとともに、ECU30から受信した情報をCPU11に与える。車内通信部14は、上記の通信規格だけでなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
A plurality of ECUs 30 are connected to the in-vehicle communication unit 14 via an in-vehicle communication line disposed in the vehicle 1. The in-vehicle communication unit 14 is, for example, CAN (Controller Area Network), CANFD (CAN with Flexible Data Rate), LIN (Local Interconnect Network), Ethernet (registered trademark), or MOST (Media Oriented Systems Transport: MOST is a registered trademark), etc. The communication with the ECU 30 is performed in accordance with the standard.
The in-vehicle communication unit 14 transmits the information given from the CPU 11 to the target ECU 30 and gives the information received from the ECU 30 to the CPU 11. The in-vehicle communication unit 14 may communicate not only with the above communication standard but also with another communication standard used for the in-vehicle network.

無線通信部15は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部15は、携帯電話網等の広域通信網2に接続されることにより車外装置との通信が可能である。
無線通信部15は、図示しない基地局により形成される広域通信網2を介して、CPU11から与えられた情報を管理サーバ5等の車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
The wireless communication unit 15 is a wireless communication device including an antenna and a communication circuit that performs transmission and reception of a wireless signal from the antenna. The wireless communication unit 15 can communicate with an external device by being connected to a wide area communication network 2 such as a cellular phone network.
The wireless communication unit 15 transmits the information given from the CPU 11 to the device outside the vehicle such as the management server 5 via the wide area communication network 2 formed by the base station (not shown), and sends the information received from the device outside the vehicle to the CPU 11 give.

図2に示す無線通信部15に代えて、車両1内の中継装置として機能する有線通信部を採用してもよい。この有線通信部は、USB(Universal Serial Bus)またはRS232C等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行う。
別の通信装置と管理サーバ5等の車外装置とが広域通信網2を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ10の通信経路により、車外装置とゲートウェイ10とが通信可能になる。
Instead of the wireless communication unit 15 shown in FIG. 2, a wired communication unit functioning as a relay device in the vehicle 1 may be employed. The wired communication unit has a connector to which a communication cable conforming to the standard such as USB (Universal Serial Bus) or RS232C is connected, and performs wired communication with another communication device connected via the communication cable.
When another communication device and an external device such as the management server 5 can wirelessly communicate through the wide area communication network 2, the external device → another communication device → the wired communication unit → the communication path of the gateway 10 Communication between the device and the gateway 10 becomes possible.

〔ECUの内部構成〕
図3は、ECU30の内部構成を示すブロック図である。
図3に示すように、ECU30は、CPU31、RAM32、記憶部33、通信部34などを備える。ECU30は、車両1に搭載された対象機器を個別に制御する車載制御装置である。ECU30の種類には、たとえば、エンジン制御ECU、ステアリング制御ECU、およびドアロック制御ECUなどがある。
[Internal configuration of ECU]
FIG. 3 is a block diagram showing an internal configuration of the ECU 30. As shown in FIG.
As shown in FIG. 3, the ECU 30 includes a CPU 31, a RAM 32, a storage unit 33, a communication unit 34, and the like. The ECU 30 is an on-vehicle control device that individually controls target devices mounted on the vehicle 1. The types of ECUs 30 include, for example, an engine control ECU, a steering control ECU, and a door lock control ECU.

CPU31は、記憶部33に予め記憶された一または複数のプログラムをRAM32に読み出して実行することにより、自身が担当する対象機器の動作を制御する。
RAM32は、SRAMまたはDRAM等のメモリ素子で構成され、CPU31が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
The CPU 31 reads one or more programs stored in advance in the storage unit 33 into the RAM 32 and executes the programs to control the operation of the target device that the CPU 31 takes charge of.
The RAM 32 is configured by a memory element such as an SRAM or a DRAM, and temporarily stores programs executed by the CPU 31 and data necessary for the execution.

記憶部33は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部33が記憶する情報には、たとえば、車内の制御対象である対象機器を制御するための情報処理をCPU31に実行させるためのコンピュータプログラム(以下、「制御プログラム」という。)が含まれる。
The storage unit 33 is configured by a non-volatile memory element such as a flash memory or an EEPROM, or a magnetic storage device such as a hard disk.
The information stored in the storage unit 33 includes, for example, a computer program (hereinafter, referred to as “control program”) for causing the CPU 31 to execute information processing for controlling a target device to be controlled in the vehicle.

通信部34には、車両1に配設された車内通信線を介してゲートウェイ10が接続されている。通信部34は、たとえばCAN、Ethernet、またはMOST等の規格に応じて、ゲートウェイ10との通信を行う。
通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信するとともに、ゲートウェイ10から受信した情報をCPU31に与える。通信部34は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
A gateway 10 is connected to the communication unit 34 via an in-vehicle communication line disposed in the vehicle 1. Communication unit 34 communicates with gateway 10 in accordance with a standard such as CAN, Ethernet, or MOST, for example.
The communication unit 34 transmits the information given from the CPU 31 to the gateway 10, and gives the information received from the gateway 10 to the CPU 31. The communication unit 34 may communicate not only with the above communication standard but also with another communication standard used for the in-vehicle network.

ECU30のCPU31には、当該CPU31による制御モードを、「通常モード」または「リプログラミングモード」(以下、「リプロモード」ともいう。)のいずれかに切り替える起動部35が含まれる。
ここで、通常モードとは、ECU30のCPU31が、対象機器に対する本来的な制御(たとえば、燃料エンジンに対するエンジン制御や、ドアロックモータに対するドアロック制御など)を実行する制御モードのことである。
The CPU 31 of the ECU 30 includes an activation unit 35 that switches the control mode of the CPU 31 to either the “normal mode” or the “reprogramming mode” (hereinafter also referred to as “repro mode”).
Here, the normal mode refers to a control mode in which the CPU 31 of the ECU 30 executes the inherent control (for example, engine control for the fuel engine, door lock control for the door lock motor, etc.) for the target device.

リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
すなわち、リプログラミングモードは、CPU31が、記憶部33のROM領域に対して、制御プログラムの消去や書き換えを行う制御モードのことである。CPU31は、この制御モードのときにのみ、記憶部33のROM領域に格納された制御プログラムを新バージョンに更新することが可能となる。
The reprogramming mode is a control mode in which a control program used to control a target device is updated.
That is, the reprogramming mode is a control mode in which the CPU 31 erases or rewrites the control program with respect to the ROM area of the storage unit 33. The CPU 31 can update the control program stored in the ROM area of the storage unit 33 to a new version only in this control mode.

リプロモードにおいてCPU31が新バージョンの制御プログラムを記憶部33に書き込むと、起動部35は、ECU30をいったん再起動(リセット)させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
起動部35は、上記のベリファイ処理の完了後に、CPU31を更新後の制御プログラムによって動作させる。
When the CPU 31 writes the control program of the new version in the storage unit 33 in the repro mode, the activation unit 35 once restarts (resets) the ECU 30 and executes verification processing on the storage area in which the control program of the new version is written. .
The start-up unit 35 operates the CPU 31 with the control program after the update after the completion of the verification process.

〔管理サーバの内部構成〕
図4は、管理サーバ5の内部構成を示すブロック図である。
図4に示すように、管理サーバ5は、CPU51、ROM52、RAM53、記憶部54、および通信部55などを備える。
[Internal configuration of management server]
FIG. 4 is a block diagram showing an internal configuration of the management server 5.
As illustrated in FIG. 4, the management server 5 includes a CPU 51, a ROM 52, a RAM 53, a storage unit 54, a communication unit 55, and the like.

CPU51は、ROM52に予め記憶された一又は複数のプログラムをRAM53に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ5をゲートウェイ10と通信可能な車外装置として機能させる。
RAM53は、SRAM又はDRAM等のメモリ素子で構成され、CPU51が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
The CPU 51 reads one or a plurality of programs stored in advance in the ROM 52 into the RAM 53 and executes them to control the operation of each hardware, and causes the management server 5 to function as an external device capable of communicating with the gateway 10.
The RAM 53 is configured by a memory element such as an SRAM or a DRAM, and temporarily stores programs executed by the CPU 51 and data required for the execution.

記憶部54は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等により構成されている。
通信部55は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網2に接続されて当該通信処理を実行する。通信部55は、CPU51から与えられた情報を、広域通信網2を介して外部装置に送信するとともに、広域通信網2を介して受信した情報をCPU51に与える。
The storage unit 54 is configured of a non-volatile memory element such as a flash memory or an EEPROM, or a magnetic storage device such as a hard disk.
The communication unit 55 is a communication device that executes communication processing in accordance with a predetermined communication standard, and is connected to a wide area communication network 2 such as a mobile telephone network to execute the communication processing. The communication unit 55 transmits the information provided from the CPU 51 to an external device via the wide area communication network 2, and supplies the information received via the wide area communication network 2 to the CPU 51.

図4に示すように、記憶部54が記憶する情報には、車両1に搭載されたECU30(ここでは、VIN=1の車両1に搭載されたECU30の識別番号を1〜3とする。)の制御プログラムのバージョンを記録したリビジョンテーブルRTが含まれる。
リビジョンテーブルRTは、車両1の車両識別番号(VIN)と、車両識別番号ごとのリビジョンアップの履歴を表す識別情報であるリビジョン番号と、各リビジョン番号に対応するECU1〜3のバージョンとを纏めたテーブルよりなる。
As shown in FIG. 4, in the information stored in the storage unit 54, the ECU 30 mounted on the vehicle 1 (here, the identification numbers of the ECU 30 mounted on the vehicle 1 with VIN = 1 are 1 to 3). A revision table RT in which the version of the control program of.
The revision table RT includes a vehicle identification number (VIN) of the vehicle 1, a revision number which is identification information representing a history of revision upgrade for each vehicle identification number, and a version of ECUs 1 to 3 corresponding to each revision number It consists of a table.

図4のリビジョンテーブルRTにおいて、同じリビジョン番号に含まれる各ECU1〜3の制御プログラムのバージョンは、カーメーカーにおいて動作確認が取れていることを示している。
たとえば、現状のリビジョン番号である「R2.0」の場合には、ECU1のバージョン1.0の制御プログラム、ECU2のバージョン1.3の制御プログラム、およびECU3のバージョン2.0の制御プログラムの動作確認が取れている。
In the revision table RT of FIG. 4, the version of the control program of each of the ECUs 1 to 3 included in the same revision number indicates that the operation confirmation has been obtained in the car maker.
For example, in the case of "R 2.0" which is the current revision number, the operation of the control program of version 1.0 of ECU 1, the control program of version 1.3 of ECU 2, and the control program of version 2.0 of ECU 3 Confirmation has been taken.

最新のリビジョン番号である「R2.4」の場合には、ECU1のバージョン1.2の制御プログラム、ECU2のバージョン2.0の制御プログラム、およびECU3のバージョン2.2の制御プログラムの動作確認が取れている。
従って、車両1をR2.0からR2.4にリビジョンアップする場合には、ECU1の1.0から1.2へのバージョンアップ、ECU2の1.3から2.0へのバージョンアップ(更新)、およびECU3の2.0から2.2へのバージョンアップ(更新)を同じタイミングに行う必要がある。ここで、「同じタイミング」とは、複数のECU30がゲートウェイ10からの要求に応じてリプロモードに移行してから、次に、ゲートウェイ10からの要求に応じてリセットされ、ベリファイ処理の完了後に通常モードに復帰するまでのタイミングを指す。以降の説明において、上記の意味で同じタイミングに複数の制御プログラムを更新することを「同時更新」とも言う。
In the case of the latest revision number “R2.4”, the operation check of the control program of version 1.2 of ECU 1, the control program of version 2.0 of ECU 2, and the control program of version 2.2 of ECU 3 I can take it.
Therefore, when upgrading the vehicle 1 from R2.0 to R2.4, the ECU 1 is upgraded from 1.0 to 1.2, and the ECU 2 is upgraded from 1.3 to 2.0 (updated) , And version upgrade (update) of ECU 3 from 2.0 to 2.2 at the same time. Here, “same timing” means that the plurality of ECUs 30 shift to the repro mode in response to the request from the gateway 10, and then are reset in response to the request from the gateway 10, and normally after the verification process is completed. Indicates the timing to return to the mode. In the following description, updating a plurality of control programs at the same timing in the above sense is also referred to as “simultaneous updating”.

図4のリビジョンテーブルRTには、一例として車両識別番号VIN=1の場合のバージョン情報のみが例示されている。
もっとも、管理サーバ5が保持するリビジョンテーブルRTには、管理サーバ5の登録会員が所有するすべての車両1の車両識別番号(VIN)ごとに、上記と同様のバージョン情報が記録されている。また、DLサーバ6には、すべてのECU30に関する複数の更新プログラムが格納されている。
In the revision table RT of FIG. 4, only version information in the case of the vehicle identification number VIN = 1 is illustrated as an example.
However, version information similar to the above is recorded in the revision table RT held by the management server 5 for each vehicle identification number (VIN) of all the vehicles 1 owned by the registered member of the management server 5. Further, the DL server 6 stores a plurality of update programs related to all the ECUs 30.

CPU51は、ゲートウェイ10から車両識別番号と各ECU1〜3の現状の制御プログラムのバージョンとが通知されると、通知されたバージョン情報をリビジョンテーブルRTに含まれる当該車両識別番号の最新バージョンと照合する。
CPU51は、照合の結果、ゲートウェイ10から通知されたECU1〜3のバージョン情報が最新でないと判定した場合には、最新バージョンに更新するための更新プログラムの保存先URLとダウンロード要求とをゲートウェイ10に送信する。
When notified of the vehicle identification number and the current control program version of each ECU 1 to 3 from the gateway 10, the CPU 51 collates the notified version information with the latest version of the vehicle identification number included in the revision table RT. .
When the CPU 51 determines that the version information of the ECUs 1 to 3 notified from the gateway 10 is not the latest as a result of the collation, the storage destination URL of the update program for updating to the latest version and the download request are Send.

〔制御プログラムの同時更新のシーケンス〕
図5は、本実施形態のプログラム更新システムにおいて実行される、複数のECU1〜3に対する制御プログラムの同時更新の一例を示すシーケンス図である。なお、以下においては、図4のリビジョンテーブルRTに従って、各ECU1〜3の制御プログラムを次のように更新する場合を想定する。
リビジョン番号:R2.0→R2.4
ECU1:バージョン1.0→バージョン1.2
ECU2:バージョン1.3→バージョン2.0
ECU3:バージョン2.0→バージョン2.2
Sequence of Simultaneous Update of Control Program
FIG. 5 is a sequence diagram showing an example of simultaneous updating of control programs for a plurality of ECUs 1 to 3 executed in the program updating system of the present embodiment. In addition, below, the case where the control program of each ECU1-3 is updated as follows according to the revision table RT of FIG. 4 is assumed.
Revision number: R2.0 → R2.4
ECU1: Version 1.0 → Version 1.2
ECU 2: Version 1.3 → Version 2.0
ECU3: Version 2.0 → Version 2.2

更新プログラムは、新バージョンのプログラムそのものであってもよいが、本実施形態では、旧バージョンからの差分プログラムである場合を想定する。この場合、旧バージョンと新バージョンとのファイルの差分情報を含む更新プログラムΔが同じ記憶領域にあれば、旧バージョンに更新プログラムΔを適応することで、新バージョンに更新することができる。
ECU1のバージョン1.0からバージョン1.2への更新プログラムを「Δ1」とし、ECU2のバージョン1.3からバージョン2.0への更新プログラムを「Δ2」とし、ECU3のバージョン2.0からバージョン2.2への更新プログラムを「Δ3」とする。
The update program may be a new version of the program itself, but in this embodiment, it is assumed that it is a difference program from the old version. In this case, if the update program Δ including the difference information between the files of the old version and the new version is in the same storage area, the update version Δ can be updated to the new version by applying the update program Δ to the old version.
The update program from version 1.0 to version 1.2 of ECU1 is “Δ1”, the update program from version 1.3 to version 2.0 of ECU 2 is “Δ2”, the version from version 2.0 of ECU 3 is The update program to 2.2 is called "Δ3".

図5に示すように、本実施形態の制御プログラムの同時更新においては、一例として、ゲートウェイ10が、各ECU1〜3の制御プログラムの現状のバージョン情報を収集する(ステップS1)。
図示の例では、ECU1の制御プログラムの現バージョンは「1.0」であり、ECU2の制御プログラムの現バージョンは「1.3」であり、ECU3の制御プログラムの現バージョンは「2.0」である。
As shown in FIG. 5, in the simultaneous updating of the control program of the present embodiment, as an example, the gateway 10 collects the current version information of the control program of each of the ECUs 1 to 3 (step S1).
In the illustrated example, the current version of the control program of the ECU 1 is "1.0", the current version of the control program of the ECU 2 is "1.3", and the current version of the control program of the ECU 3 is "2.0" It is.

次に、ゲートウェイ10は、収集したECU1〜3の制御プログラムのバージョン情報と、自車両の車両識別番号(VIN)を管理サーバ5に送信する(ステップS2)。
管理サーバ5は、ゲートウェイ10から通知されたバージョン情報と車両識別番号に基づいて、前述のリビジョンテーブルRT(図4参照)を探索することにより、各ECU1〜3について、車両1の各ECU1〜3の制御プログラムを同じタイミングに更新する必要があるか否かを判定する。
Next, the gateway 10 transmits the collected version information of the control programs of the ECUs 1 to 3 and the vehicle identification number (VIN) of the own vehicle to the management server 5 (step S2).
The management server 5 searches each of the ECUs 1 to 3 for each of the ECUs 1 to 3 of the vehicle 1 by searching the above-mentioned revision table RT (see FIG. 4) based on the version information and the vehicle identification number notified from the gateway 10. It is determined whether it is necessary to update the control program of at the same timing.

ここでは、ECU1がバージョン1.0であり、ECU2がバージョン1.3であり、ECU3がバージョン2.0であるから、管理サーバ5は、車両1がリビジョンR2.0で運用中であると判定する。
また、管理サーバ5は、最新版のリビジョンR2.4が存在することから、ECU1のバージョン1.2への更新、ECU2のバージョン2.0への更新、および、ECU3のバージョン2.2への更新を、同じタイミングに行う必要があると判定する。
Here, since the ECU 1 is version 1.0, the ECU 2 is version 1.3, and the ECU 3 is version 2.0, the management server 5 determines that the vehicle 1 is operating at revision R 2.0. Do.
In addition, since the management server 5 has the latest revision R2.4, the update to the version 1.2 of the ECU 1, the update to the version 2.0 of the ECU 2, and the version 2.2 of the ECU 3 It is determined that the update needs to be performed at the same timing.

そこで、管理サーバ5は、バージョン情報を送信してきたゲートウェイ10宛てに、各ECU1〜3の更新プログラムΔ1〜Δ3の保存先URLとダウンロード要求とをゲートウェイ10宛てに送信する(ステップS3)。
これにより、ゲートウェイ10は、各ECU1〜3のための更新プログラムΔ1〜Δ3をDLサーバ6からダウンロードする(ステップS4)。ゲートウェイ10は、受信した更新プログラムΔ1〜Δ3を自装置の記憶部13に一時的に格納して保存する。
Therefore, the management server 5 transmits, to the gateway 10, the storage destination URLs of the update programs Δ1 to Δ3 of the ECUs 1 to 3 and the download request to the gateway 10 that has transmitted the version information (step S3).
Thereby, the gateway 10 downloads the update programs Δ1 to Δ3 for the respective ECUs 1 to 3 from the DL server 6 (step S4). The gateway 10 temporarily stores and stores the received update programs Δ1 to Δ3 in the storage unit 13 of the own device.

更新プログラムΔ1〜Δ3の保存が完了すると、ゲートウェイ10は、DLが正常に完了したことを管理サーバ5に送信する(ステップS5)。引き続き自動で更新を行う場合、DL完了通知を受信した管理サーバ5は、制御プログラムの更新要求をゲートウェイ10に送信する。DL完了後、一時中断し外部から更新要求を受けてから、制御プログラムの更新要求をゲートウェイ10に送信してもよい(ステップS6)。
更新要求を受信したゲートウェイ10は、記憶部13に保存した更新プログラムΔ1〜Δ3を用いて制御プログラムを更新させるべく、各ECU1〜3にリプロモード移行要求をそれぞれ送信する(ステップS7)。
When the storage of the update programs Δ1 to Δ3 is completed, the gateway 10 transmits, to the management server 5, that the DL is normally completed (step S5). If the update is to be performed automatically continuously, the management server 5 that has received the DL completion notification transmits a control program update request to the gateway 10. After the DL is completed, the control program update request may be transmitted to the gateway 10 after being temporarily interrupted and receiving an update request from the outside (step S6).
The gateway 10 having received the update request transmits the repro mode shift request to each of the ECUs 1 to 3 in order to update the control program using the update programs Δ1 to Δ3 stored in the storage unit 13 (step S7).

リプロモード移行要求を受信すると、各ECU1〜3は自身の制御モードを通常モードからリプログラミングモードに切り替える。これにより、各ECU1〜3は、更新プログラムΔ1〜Δ3の展開と、現状の制御プログラムを新バージョンの制御プログラムに書き換える処理とが可能な状態となる。   When receiving the repro mode shift request, each of the ECUs 1 to 3 switches its control mode from the normal mode to the reprogramming mode. As a result, each of the ECUs 1 to 3 is in a state where expansion of the update programs Δ1 to Δ3 and processing for rewriting the current control program into the control program of the new version are possible.

ここで、同時更新する制御プログラムが複数ある場合、ゲートウェイ10は、記憶部13に保存した更新プログラムΔ1〜Δ3の送信順序を決定するためのスケジューリング処理を実行する(ステップS8)。   Here, when there are a plurality of control programs to be simultaneously updated, the gateway 10 executes a scheduling process for determining the transmission order of the update programs Δ1 to Δ3 stored in the storage unit 13 (step S8).

更新プログラムΔがECUに伝送されると、ECUは、当該更新プログラムが伝送経路で欠損していないか、MD(Message Digest)5,CRC(Cyclic Redundancy Code)等を用いて完全性の確認を実施し、デジタル署名等を用いて元ファイルに所有者の確認を実施し改ざんなきことの確認を実施した上で展開し(書き換え)て旧バージョンに適用する。すなわち、制御プログラムの更新には、ゲートウェイ10から該当するECUまでの伝送(第1のタスク)、更新ファイルのチェック(第2のタスク)、およびECUでの当該プログラムの展開(アップデート)(第3のタスク)の3つのタスクがある。各ECUでの制御プログラムの更新に要する時間である「更新所要時間」は、上記第1のタスクに要する時間(第1時間)と第2のタスクに要する時間(第2時間)と第3のタスクに要する時間(第3時間)を含む。制御プログラムの更新のための動作が上記第1〜第3のタスクのみである場合には、更新所要時間は、第1〜第3時間を加えたもの(更新所要時間=第1時間+第2時間+第3時間)となる。   When the update program Δ is transmitted to the ECU, the ECU performs integrity check using the message digest (MD) 5, cyclic redundancy code (CRC), etc. Then, the original file is confirmed using the digital signature, etc., and after confirmation that no alteration is made, the file is expanded (rewritten) and applied to the old version. That is, for updating the control program, transmission from the gateway 10 to the corresponding ECU (first task), checking of the update file (second task), and development (update) of the program in the ECU (third) There are three tasks: The “time required for updating”, which is the time required to update the control program in each ECU, is the time required for the first task (first time), the time required for the second task (second time), and the third Includes the time taken for the task (third time). When the operation for updating the control program is only the first to third tasks, the update required time is the sum of the first to third time (update required time = first time + second time) Time + third time).

複数のECUそれぞれの複数の制御プログラムを同時に更新する場合、最初の更新プログラムの該当するECUへの伝送の開始から最後の更新プログラムによって該当するECUで制御プログラムの書き換えが完了するまでが、同じタイミングで制御プログラムを更新するために要する「同時更新所要時間」となる。言い換えると、同時更新所要時間は、上記複数の更新プログラムのうちの最初にECUに伝送される更新プログラムの第1時間の開始時から、最後に制御プログラムの書き換えが終了する更新プログラムの第3時間の終了時までの時間である。   When simultaneously updating a plurality of control programs for each of a plurality of ECUs, the same timing is from the start of transmission of the first update program to the corresponding ECU to the completion of the rewriting of the control program in the corresponding ECU by the last update program. And “simultaneous update required time” required to update the control program. In other words, the simultaneous update required time is the third time of the update program at the end of the rewrite of the control program from the start of the first time of the update program transmitted to the ECU at the beginning of the plurality of update programs. The time until the end of the

同時更新する制御プログラムが複数ある場合、すべての制御プログラムの更新が完了するまで、すべてのECUではリプロモードが維持される。すなわち、該当する複数のECUのうち1つでも制御プログラムの更新中であると、複数のECUすべてのリプロモードが維持される。従って、同時更新所要時間が長くなるとリプロモードから通常モードへの復帰が遅れる。リプロモード中は車両1の使用ができないため、たとえばユーザが運転したいときにリプロモードが長く継続する場合など、ユーザに不都合、不利益を生じさせることになる。そこで、本実施の形態にかかるプログラム更新システムでは、複数の制御プログラムを同時更新する場合に、同時更新所要時間を短くするようにスケジューリング処理が行われる。   When there are multiple control programs to be updated simultaneously, all ECUs maintain the repro mode until all control programs have been updated. That is, if at least one of the corresponding plurality of ECUs is updating the control program, the repro mode of all the plurality of ECUs is maintained. Therefore, the return from the repro mode to the normal mode is delayed as the simultaneous update required time lengthens. Since the vehicle 1 can not be used during the repro mode, for example, when the repro mode continues for a long time when the user wants to drive, it causes inconvenience and disadvantage for the user. Therefore, in the program update system according to the present embodiment, when simultaneously updating a plurality of control programs, scheduling processing is performed so as to shorten the required simultaneous update time.

スケジューリング処理には、各更新プログラムの上記第1時間〜第3時間、および車載ネットワークのトポロジーが用いられる。各更新プログラムの各タスクに要する時間は管理サーバ5からゲートウェイ10に渡されてもよい。この場合、管理サーバ5はDLサーバ6から更新プログラムに関する情報を得、当該情報に基づいて各タスクに要する時間を計算する。更新プログラムに関する情報は、たとえば、更新プログラムのデータサイズなどである。または、上記第1時間〜第3時間は、DLサーバ6から送信された更新プログラムと、各ECU30から得られる情報、または予め記憶している車両1の各部の情報とを用いて、ゲートウェイ10において計算されてもよい。ゲートウェイ10は、ステップS8のスケジューリング処理によって決定された送信順序に従って、記憶部13に保存した更新プログラムを各ECUに送信する(ステップS9,11,13)。   The scheduling process uses the first to third times of each update program and the topology of the in-vehicle network. The time required for each task of each update program may be passed from the management server 5 to the gateway 10. In this case, the management server 5 obtains information on the update program from the DL server 6, and calculates the time required for each task based on the information. The information on the update program is, for example, the data size of the update program. Alternatively, in the gateway 10, using the update program transmitted from the DL server 6 and the information obtained from each ECU 30, or the information of each part of the vehicle 1 stored in advance, It may be calculated. The gateway 10 transmits the update program stored in the storage unit 13 to each ECU in accordance with the transmission order determined by the scheduling process of step S8 (steps S9, 11, 13).

すなわち、ゲートウェイ10は、最初に送信すると決定した更新プログラムΔ1を該当するECU1に送信する(ステップS9)。
ECU1は、受信した更新プログラムΔ1を展開して旧バージョン1.0に適用することにより、制御プログラムを旧バージョン1.0から新バージョン1.2に書き換える。書き換えが完了すると、ECU1は、書き換えの完了通知をゲートウェイ10に送信する(ステップS10)。
That is, the gateway 10 transmits the update program Δ1 determined to be transmitted first to the corresponding ECU 1 (step S9).
The ECU 1 rewrites the control program from the old version 1.0 to the new version 1.2 by expanding the received update program Δ1 and applying it to the old version 1.0. When the rewrite is completed, the ECU 1 transmits a rewrite completion notification to the gateway 10 (step S10).

次に、ゲートウェイ10は、次に送信すると決定した更新プログラムΔ2を該当するECU2に送信する(ステップS11)。
ECU2は、受信した更新プログラムΔ2を展開して旧バージョン1.3に適用することにより、制御プログラムを旧バージョン1.3から新バージョン2.0に書き換える。書き換えが完了すると、ECU2は、書き換えの完了通知をゲートウェイ10に送信する(ステップS12)。
Next, the gateway 10 transmits the update program Δ2 determined to be transmitted next to the corresponding ECU 2 (step S11).
The ECU 2 rewrites the control program from the old version 1.3 to the new version 2.0 by expanding the received update program Δ2 and applying it to the old version 1.3. When the rewriting is completed, the ECU 2 transmits a notification of completion of the rewriting to the gateway 10 (step S12).

次に、ゲートウェイ10は、次に送信すると決定した更新プログラムΔ3を該当するECU3に送信する(ステップS13)。
ECU3は、受信した更新プログラムΔ3を展開して旧バージョン2.0に適用することにより、制御プログラムを旧バージョン2.0から新バージョン2.2に書き換える。書き換えが完了すると、ECU3は、書き換えの完了通知をゲートウェイ10に送信する(ステップS14)。
Next, the gateway 10 transmits the update program Δ3 determined to be transmitted next to the corresponding ECU 3 (step S13).
The ECU 3 rewrites the control program from the old version 2.0 to the new version 2.2 by expanding the received update program Δ3 and applying it to the old version 2.0. When the rewrite is completed, the ECU 3 transmits a rewrite completion notification to the gateway 10 (step S14).

なお、上記ステップS9,11,13の、複数のECU30それぞれに対する更新プログラムΔの送信は、上記したように、ステップS8のスケジューリング処理によって決定された送信順序に従って行われる。決定された送信順序は、必ずしも複数のECU301つずつに送信することのみではない。つまり、複数のECU30に同時にそれぞれの更新プログラムΔを送信する送信順序も決定され得る。すなわち、上記ステップS9,11,13はこの順に実行されることを意味するものではなく、それぞれの処理が、規定された送信順序で行われ、その規定された送信順序によっては同時に実行される場合もあり得る。   The transmission of the update program Δ to each of the plurality of ECUs 30 in steps S9, 11, 13 is performed according to the transmission order determined by the scheduling process in step S8 as described above. The determined transmission order is not necessarily limited to transmission to each of the plurality of ECUs 301. That is, the transmission order in which the respective update programs Δ are simultaneously transmitted to the plurality of ECUs 30 may also be determined. That is, the above steps S9, 11, and 13 do not mean to be executed in this order, but the respective processes are performed in a prescribed transmission order, and are simultaneously executed according to the prescribed transmission order. It is also possible.

ゲートウェイ10は、すべてのECU1〜3から書き換えの完了通知を受信すると、各ECU1〜3に通常モード移行要求とリセット要求を送信する(ステップS15)。
通常モード移行要求を受信した各ECU1〜3は、自身の制御モードをリプロモードから通常モードに切り替え、リセット要求に応じてシステムを再起動する。これにより、各ECU1〜3が、新バージョンの制御プログラムによりそれぞれ動作する。
When the gateway 10 receives the notification of completion of rewriting from all the ECUs 1 to 3, it transmits a normal mode shift request and a reset request to the respective ECUs 1 to 3 (step S15).
Each of the ECUs 1 to 3 which has received the normal mode shift request switches its control mode from the repro mode to the normal mode, and restarts the system in response to the reset request. Thus, each of the ECUs 1 to 3 operates with the control program of the new version.

また、ゲートウェイ10は、書き換えの完了通知をすべてのECU1〜3から受信すると、更新完了通知を管理サーバ5に送信する(ステップS16)。
これにより、管理サーバ5は、車両1の各ECU1〜3について、制御プログラムの更新がすべて完了したことを察知する。
In addition, when the gateway 10 receives the notification of completion of rewriting from all the ECUs 1 to 3, the gateway 10 transmits an update completion notification to the management server 5 (step S16).
Thus, the management server 5 detects that all the control programs have been updated for each of the ECUs 1 to 3 of the vehicle 1.

〔スケジューリング処理〕
図6は、ステップS8のスケジューリング処理の流れを表したフローチャートである。図6のフローチャートに表されたスケジューリング処理は、ゲートウェイ10のCPU11が記憶部13に記憶されているスケジューリング処理実行用のプログラムをRAM12上に読み出して実行することによって実現される。このとき、図2に示されるようにCPU11は、該プログラムを実行することによって実現される機能であるスケジューリング部111および更新制御部112を含む。CPU11がこれら機能を発揮することによってスケジューリング処理が実現される。図6のフローチャートに表された動作は、複数の更新プログラムをDLサーバ6から取得し、同時更新する制御プログラムが複数ある場合に開始される。
Scheduling process
FIG. 6 is a flowchart showing the flow of the scheduling process of step S8. The scheduling process shown in the flowchart of FIG. 6 is realized by the CPU 11 of the gateway 10 reading out a program for scheduling process execution stored in the storage unit 13 on the RAM 12 and executing the program. At this time, as shown in FIG. 2, the CPU 11 includes a scheduling unit 111 and an update control unit 112 which are functions realized by executing the program. Scheduling processing is realized by the CPU 11 exerting these functions. The operation represented in the flowchart of FIG. 6 is started when a plurality of update programs are obtained from the DL server 6 and there are a plurality of control programs to be updated simultaneously.

図6を参照して、ゲートウェイ10のCPU11は、記憶部13に記憶されている車載ネットワークのトポロジーに基づいてゲートウェイ10に接続されている複数のメインバスNW1,NW2を特定し、それぞれに対して並行して以降のスケジューリング処理を実行する(ステップS101)。   Referring to FIG. 6, CPU 11 of gateway 10 identifies a plurality of main buses NW1 and NW2 connected to gateway 10 based on the topology of the in-vehicle network stored in storage unit 13. The following scheduling processes are executed in parallel (step S101).

はじめに、CPU11は、同時更新の必要性がある複数の更新プログラムそれぞれの宛先と、記憶部13に記憶されている車載ネットワークのトポロジーとに基づいて、該複数の更新プログラムにローカルバスに属するECU用の更新プログラムが含まれるか否かを判断する。図1の例では、CPU11は、該複数の更新プログラムにECU_DまたはECU_E用の更新プログラムが含まれるか否かを判断する。   First, based on the destinations of each of the plurality of update programs that need simultaneous update and the topology of the in-vehicle network stored in the storage unit 13, the CPU 11 uses the plurality of update programs for the ECU belonging to the local bus Determine if the update program is included. In the example of FIG. 1, the CPU 11 determines whether the plurality of update programs include an update program for ECU_D or ECU_E.

同時更新の必要性がある複数の更新プログラムにローカルバスを介して接続されたECU用の更新プログラムが含まれる場合(ステップS103でYES)、CPU11は、さらに、メインバスをローカルバスに分岐する分岐ノードであるECU(ECU_C)が更新プログラムの伝送を中継するための中継バッファを使用可能であるか、すなわちバッファ機能を有するか否かを判断する。中継バッファは、メインバスとローカルバスとの伝送能力(伝送速度)差を吸収するために用いられる。図1の例では、ECU_Cが中継バッファを使用可能であるか否かを判断する。   When the update programs for the ECUs connected via the local bus are included in the plurality of update programs having the need for simultaneous update (YES in step S103), the CPU 11 further branches the main bus to the local bus The node ECU (ECU_C) determines whether the relay buffer for relaying the transmission of the update program can be used, that is, whether it has a buffer function. The relay buffer is used to absorb the difference in transmission capability (transmission speed) between the main bus and the local bus. In the example of FIG. 1, it is determined whether the ECU_C can use the relay buffer.

分岐ノードであるECUが中継バッファを使用可能である(バッファ機能を有する)場合には(ステップS105でYES)、ローカルバスでの伝送速度を考慮せずにメインバスにて、ローカルバスに属するECUの更新プログラムを伝送することができる。この場合、CPU11は、ローカルバスに分岐するメインバス(NW1)での更新プログラムの伝送が排他的なもの、つまり、同時に複数の伝送のために伝送路を共有できないことを前提として、以降のスケジューリング処理を実行する(ステップS107)。なお、メインバスとローカルバスとの伝送速度差がない、または、ローカルバスでの伝送速度がメインバスでの伝送速度よりも速い場合には、分岐ノードであるECUが中継バッファを使用可能である場合と同様のスケジューリング処理を行う。具体的には、CPU11は、ECU_Cが中継バッファを使用可能である場合に、メインバスNW1を、同時に複数の更新プログラムの伝送に共有できないものとして、以降のスケジューリング処理を行う。   If the ECU that is a branch node can use the relay buffer (has a buffer function) (YES in step S105), the ECU belonging to the local bus in the main bus without considering the transmission speed on the local bus It can transmit updates. In this case, on the premise that transmission of the update program on the main bus (NW1) branched to the local bus is exclusive, that is, the transmission path can not be shared simultaneously for multiple transmissions, the CPU 11 performs subsequent scheduling. A process is performed (step S107). If there is no difference in transmission speed between the main bus and the local bus, or if the transmission speed on the local bus is faster than the transmission speed on the main bus, the ECU that is the branch node can use the relay buffer. Perform the same scheduling process as in the case. Specifically, when the ECU_C can use the relay buffer, the CPU 11 performs the following scheduling processing on the assumption that the main bus NW1 can not be shared for transmission of a plurality of update programs at the same time.

ローカルバスでの伝送速度がメインバスでの伝送速度よりも遅く、かつ、分岐ノードであるECUが中継バッファを使用可能でない(バッファ機能を有しない)場合には(ステップS105でNO)、ローカルバスでの伝送速度を考慮して、つまり、ローカルバスでの伝送速度に応じた速度でメインバスで更新プログラムを伝送する必要がある。この場合、CPU11は、当該メインバス(NW1)において更新プログラムを並列して伝送可能である、つまり、ローカルバスに属するECUへの更新プログラムの伝送と他の更新プログラムの伝送とが同時にメインバスを共有可能であることを前提として、以降のスケジューリング処理を実行する(ステップS109)。具体的には、CPU11は、ローカルバスNW3での伝送速度がメインバスNW1での伝送速度よりも遅く、かつ、ECU_Cが中継バッファを使用可能でない場合には、メインバスNW1においては、ローカルバスNW3での更新プログラムの伝送と他の更新プログラムの伝送とを並列に行うことができるものとして、以降のスケジューリング処理を行う。   If the transmission speed on the local bus is slower than the transmission speed on the main bus, and the ECU that is the branch node can not use the relay buffer (does not have a buffer function) (NO in step S105), the local bus Therefore, it is necessary to transmit the update program on the main bus at a speed corresponding to the transmission speed on the local bus in consideration of the transmission speed on the local bus. In this case, the CPU 11 can transmit the update program in parallel on the main bus (NW1), that is, the transmission of the update program to the ECU belonging to the local bus and the transmission of another update program simultaneously On the premise that sharing is possible, the following scheduling process is executed (step S109). Specifically, when the transmission speed on the local bus NW3 is lower than the transmission speed on the main bus NW1 and the ECU_C can not use the relay buffer, the CPU 11 operates the local bus NW3 on the main bus NW1. The following scheduling process is performed on the assumption that the transmission of the update program in step (c) and the transmission of another update program can be performed in parallel.

なお、いずれのスケジューリング処理においても、あるバスでの更新プログラムの伝送が終了した時点で、当該バスに空き帯域を生じないように次の更新プログラムの伝送を開始するものとする。   In any of the scheduling processes, when the transmission of the update program on a certain bus is completed, the transmission of the next update program is started so as not to generate an idle band in the bus.

具体的に、CPU11は、予め規定されている複数のスケジューリング条件それぞれに従って同時更新の必要性がある複数の制御プログラムの送信順序を決定する(ステップS111〜S115)。たとえば、条件Aとして「更新時間が長い更新プログラムを優先してスケジューリングする」という条件が規定されている場合、CPU11は、各更新プログラムについて上記の第1時間〜第3時間の総和である更新所要時間の順に基づいて送信順序を決定する(ステップS111)。条件Aであるスケジューリング条件に従って決定された送信順序を送信順序Aとする。   Specifically, the CPU 11 determines the transmission order of a plurality of control programs that need to be updated simultaneously according to each of a plurality of scheduling conditions defined in advance (steps S111 to S115). For example, in the case where the condition “schedule with priority the update program having a long update time” is defined as the condition A, the CPU 11 requires the update requiring the sum of the first time to the third time described above for each update program. The transmission order is determined based on the order of time (step S111). The transmission order determined according to the scheduling condition which is the condition A is set as the transmission order A.

条件Bとして「伝送時間が短い更新プログラムを優先してスケジューリングする」という条件が規定されている場合、CPU11は、各更新プログラムについて上記第1時間の順に基づいて送信順序を決定する(ステップS113)。条件Bであるスケジューリング条件に従って決定された送信順序を送信順序Bとする。   When the condition “schedule the update program having a short transmission time with priority” is defined as the condition B, the CPU 11 determines the transmission order for each update program based on the order of the first time (step S113). . The transmission order determined according to the scheduling condition which is the condition B is set as the transmission order B.

条件Cとして「ECUに付与された識別情報(たとえば名前やID等)順でスケジューリングする」という条件が規定されている場合、CPU11は、各更新プログラムについて、当該更新プログラムの該当するECUのたとえば名前順に基づいて送信順序を決定する(ステップS115)。条件Cであるスケジューリング条件に従って決定された送信順序を送信順序Cとする。   In the case where the condition C “scheduling in the order of identification information (for example, name, ID, etc.) given to the ECU” is defined as the condition C, the CPU 11 determines, for each update program, for example, the name The transmission order is determined based on the order (step S115). The transmission order determined according to the scheduling condition which is the condition C is set as the transmission order C.

CPU11は、予め規定されている複数のスケジューリング条件(条件A〜C)それぞれに従ってスケジューリング処理を実行し、送信順序を決定した後に、その結果(送信順序A〜C)を比較して、同時更新所要期間が最も短い送信順序をこれら複数の更新プログラムの送信順序とする(ステップS117)。CPU11は、以上のスケジューリング処理をメインバスNW1,NW2それぞれに対して並行して実行して(ステップS119)、ステップS8の一連の処理を終了する。   The CPU 11 executes the scheduling process according to each of a plurality of scheduling conditions (conditions A to C) defined in advance, determines the transmission order, compares the result (transmission order A to C), and requires simultaneous updating The transmission order with the shortest period is taken as the transmission order of the plurality of update programs (step S117). The CPU 11 executes the above scheduling process in parallel on each of the main buses NW1 and NW2 (step S119), and terminates the series of processes in step S8.

ステップS8で以上のスケジューリング処理を実行した後、ステップS9,11,13でCPU11は、決定した送信順序にて更新プログラムを各ECUに送信して更新を指示する、更新制御を実行する。上記のスケジューリング処理および更新制御を実行するために、CPU11は、スケジューリング部111および更新制御部112を含む(図2)。これらは、CPU11が記憶部13に記憶されているプログラムを読み出してRAM12上で実行することによってCPU11において実現される機能である。   After executing the above-described scheduling process in step S8, the CPU 11 executes update control in step S9, 11, 13 to transmit an update program to each ECU in the determined transmission order and instruct update. In order to execute the above-described scheduling process and update control, the CPU 11 includes a scheduling unit 111 and an update control unit 112 (FIG. 2). These are functions implemented by the CPU 11 when the CPU 11 reads a program stored in the storage unit 13 and executes the program on the RAM 12.

〔スケジューリング処理の具体例1〕
図7は、同時更新の必要性がある複数の更新プログラムの第1の具体例を表した図である。図7を参照して、第1の例において、第1の更新プログラムΔ1はECU_A用の更新プログラムであって、第1のメインバスNW1でECU_Aに伝送されて(第1のタスク)、ECU_Aにおいて更新ファイルのチェックが実行され(第2のタスク)、ECU_Aで制御プログラムが書き換えられる(第3のタスク)。第1時間〜第3時間は、30[s(秒)]、10[s]および30[s]である。第2の更新プログラムΔ2はECU_F用の更新プログラムであって、第2のメインバスNW2でECU_Fに伝送されて(第1のタスク)、ECU_Fにおいて更新ファイルのチェックが実行され(第2のタスク)、ECU_Fで制御プログラムが書き換えられる(第3のタスク)。第1時間〜第3時間は、10[s]、10[s]および30[s]である。第3の更新プログラムΔ3はECU_D用の更新プログラムであって、第1のメインバスNW1でECU_Cまで伝送され、ECU_Cを介してローカルバスNW3でECU_Dに伝送されて(第1のタスク)、ECU_Dにおいて更新ファイルのチェックが実行され(第2のタスク)、ECU_Dで制御プログラムが書き換えられる(第3のタスク)。第1時間〜第3時間は、60[s]、10[s]および30[s]である。なお、更新プログラムΔ3の伝送(第1のタスク)については、さらに、第1のメインバスNW1での伝送に要する時間は30[s]およびローカルバスNW3での伝送に要する時間は30[s]である。また、メインバスNW1からローカルバスNW3への伝送を中継するECU_Cは中継バッファを使用可能であって、メインバスNW1からローカルバスNW3への伝送の中継時間が10[s]である。
[Specific Example 1 of Scheduling Process]
FIG. 7 is a diagram showing a first specific example of a plurality of update programs that need simultaneous update. Referring to FIG. 7, in the first example, the first update program Δ1 is an update program for ECU_A, and is transmitted to ECU_A by the first main bus NW1 (first task), and The update file check is executed (second task), and the control program is rewritten in ECU_A (third task). The first to third times are 30 s (seconds), 10 s, and 30 s. The second update program Δ2 is an update program for the ECU_F, and is transmitted to the ECU_F through the second main bus NW2 (first task), and the check of the update file is executed in the ECU_F (second task) , ECU_F rewrites the control program (third task). The first to third times are 10 [s], 10 [s] and 30 [s]. The third update program Δ3 is an update program for ECU_D, transmitted to the ECU_C by the first main bus NW1, transmitted to the ECU_D by the local bus NW3 via the ECU_C (first task), and The update file check is executed (second task), and the control program is rewritten in ECU_D (third task). The first to third times are 60 [s], 10 [s] and 30 [s]. Furthermore, with regard to transmission of the update program Δ3 (first task), the time required for transmission on the first main bus NW1 is 30 [s] and the time required for transmission on the local bus NW3 is 30 [s]. It is. Further, the ECU_C relaying transmission from the main bus NW1 to the local bus NW3 can use a relay buffer, and the relay time of transmission from the main bus NW1 to the local bus NW3 is 10 [s].

同時更新の必要性がある複数の更新プログラムΔ1〜Δ3が図7のものである場合、ゲートウェイ10のCPU11は、上記ステップS103でYES、かつステップS107でYESと判断する。そのため、メインバスNW1での更新プログラムの伝送が排他的なものであることを前提として(ステップS107)、予め規定されている各スケジューリング条件(条件A〜C)それぞれを用いたスケジューリング処理を実行する。   When a plurality of update programs Δ1 to Δ3 having the need for simultaneous update are those shown in FIG. 7, the CPU 11 of the gateway 10 determines YES in step S103 and YES in step S107. Therefore, on the premise that transmission of the update program on the main bus NW1 is exclusive (step S107), scheduling processing using each of the predetermined scheduling conditions (conditions A to C) is executed. .

図8は、ステップS8のスケジューリング処理を行わない場合の更新スケジュール(A)と、スケジューリング処理を行った場合の更新スケジュール(B)とを比較して示した図である。横軸は時間[s]を表して、(A),(B)の1ブロックが10[s]を表している。   FIG. 8 is a diagram showing the update schedule (A) when the scheduling process of step S8 is not performed and the update schedule (B) when the scheduling process is performed. The horizontal axis represents time [s], and one block of (A) and (B) represents 10 [s].

はじめに(A)を参照して、一例として、CPU11が、更新プログラムの順(Δ1→Δ2→Δ3)に1プログラムずつ更新処理が完了するように更新制御を行った場合、同時更新所要時間は各ECUでの更新所要時間を加えた時間、つまり、図7に示された各タスクに要する時間を加えた時間である230[s]となる。   First, referring to (A), as an example, when the CPU 11 performs update control so that the update process is completed one program at a time in the order of update programs (Δ1 → Δ2 → Δ3), the simultaneous update required time is The time obtained by adding the required time for updating in the ECU, that is, the time obtained by adding the time required for each task shown in FIG. 7 is 230 [s].

これに対して、ステップS8のスケジュール処理が実行されると、メインバスNW1についてはローカルバスNW3で(分岐して)伝送する更新プログラムΔ3の伝送をローカルバスNW3を用いない(分岐しない)更新プログラムΔ1よりも優先し、更新プログラムΔ3,Δ1を連続してメインバスNW1で伝送するよう送信順序が決定される。また、メインバスNW1と並列して伝送可能なメインバスNW2についてはメインバスNW1での更新プログラムの伝送と並行して更新プログラムΔ2を伝送するよう送信順序が決定される(B)。これは、車載ネットワークのトポロジーに基づいて、独立するメインバスNW1,NW2に並行して更新プログラムを伝送し、同一のメインバスについては複数の更新プログラム1つずつ順に伝送せざるを得ないためである。このため、ローカルバスに分岐するメインバス(NW1)については、さらにローカルバス(NW3)に分岐して伝送する更新プログラムを先に伝送する。これにより、ローカルバス(NW3)に分岐して伝送しない更新プログラムのメインバスでの伝送と、ローカルバス(NW3)での更新プログラムの伝送とを並行して行わせることができる。このようにすることで、同時更新所要時間のうちの伝送に要する時間を、複数の更新プログラムそれぞれの第1時間の合計よりも短くすることができ、その結果、同時更新所要時間を短くすることができる。なお、伝送(第1のタスク)に続く更新ファイルのチェック(第2のタスク)およびアップデート(第3のタスク)は、伝送終了後に連続して実行される。これは、以降のスケジューリング処理の具体例でも同じとする。   On the other hand, when the schedule processing in step S8 is executed, the transmission of the update program Δ3 transmitted (branched) on the local bus NW3 for the main bus NW1 is not updated (does not branch) on the local bus NW3 The transmission order is determined so as to transmit the update programs Δ3 and Δ1 continuously over the main bus NW1 in preference to Δ1. Further, for the main bus NW2 that can be transmitted in parallel with the main bus NW1, the transmission order is determined so as to transmit the update program Δ2 in parallel with the transmission of the update program on the main bus NW1 (B). This is because the update program is transmitted in parallel to the independent main buses NW1 and NW2 based on the topology of the in-vehicle network, and for the same main bus, a plurality of update programs must be transmitted one by one in order. is there. Therefore, for the main bus (NW1) branched to the local bus, the update program to be branched and transmitted to the local bus (NW3) is transmitted first. As a result, transmission of the update program on the main bus that is not branched and transmitted to the local bus (NW3) can be performed in parallel with transmission of the update program on the local bus (NW3). By doing this, the time required for transmission among the simultaneous update required time can be made shorter than the sum of the first time of each of the plurality of update programs, and as a result, the simultaneous update required time can be shortened. Can. The check (second task) and the update (third task) of the update file following the transmission (first task) are continuously executed after the end of transmission. This is assumed to be the same in the specific example of the subsequent scheduling process.

同時更新の必要性がある複数の更新プログラムΔ1〜Δ3が図7の場合、CPU11がステップS8のスケジューリング処理を実行して図8の(B)に表されたスケジュールを決定することによって、同時更新所要時間は230[s]から110[s]に大幅に短縮される。   When the plurality of update programs Δ1 to Δ3 having the need for simultaneous update are as shown in FIG. 7, the CPU 11 executes the scheduling process of step S8 to determine the schedule shown in FIG. The required time is greatly reduced from 230 s to 110 s.

〔スケジューリング処理の具体例2〕
図9は、同時更新の必要性がある更新プログラムの第2の具体例を表した図である。図9を参照して、第2の例において、第1の更新プログラムΔ1はECU_A用の更新プログラムであって、第1のメインバスNW1でECU_Aに伝送されて(第1のタスク)、ECU_Aにおいて更新ファイルのチェックが実行され(第2のタスク)、ECU_Aで制御プログラムが書き換えされる(第3のタスク)。第1時間〜第3時間は、30[s]、10[s]および30[s]である。第2の更新プログラムΔ2はECU_F用の更新プログラムであって、第2のメインバスNW2でECU_Fに伝送されて(第1のタスク)、ECU_Fにおいて更新ファイルのチェックが実行され(第2のタスク)、ECU_Fで制御プログラムが書き換えされる(第3のタスク)。第1時間〜第3時間は、10[s]、10[s]および30[s]である。第3の更新プログラムΔ3はECU_D用の更新プログラムであって、第1のメインバスNW1でECU_Cまで伝送され、ECU_Cを介してローカルバスNW3でECU_Dに伝送されて(第1のタスク)、ECU_Dにおいて更新ファイルのチェックが実行され(第2のタスク)、ECU_Dで制御プログラムが書き換えられる(第3のタスク)。第1時間〜第3時間は、120[s]、10[s]および20[s]である。なお、第2の例では、メインバスNW1からローカルバスNW3への伝送を中継するECU_Cは中継バッファを使用不可である(バッファ機能を有さない)。そのため、ECU_D用の更新プログラムΔ3の伝送においては、ローカルバスNW3での伝送速度と同じ速度で第1のメインバスNW1で伝送されるため、第1のメインバスNW1での伝送に要する時間が、ローカルバスNW3での伝送に要する時間と同じ120[s]となる。
[Specific Example 2 of Scheduling Process]
FIG. 9 is a diagram showing a second specific example of the update program that needs simultaneous update. Referring to FIG. 9, in the second example, the first update program Δ1 is an update program for ECU_A, and is transmitted to ECU_A through the first main bus NW1 (first task), and The updated file check is executed (second task), and the control program is rewritten in ECU_A (third task). The first to third times are 30 [s], 10 [s] and 30 [s]. The second update program Δ2 is an update program for the ECU_F, and is transmitted to the ECU_F through the second main bus NW2 (first task), and the check of the update file is executed in the ECU_F (second task) , ECU_F rewrites the control program (third task). The first to third times are 10 [s], 10 [s] and 30 [s]. The third update program Δ3 is an update program for ECU_D, transmitted to the ECU_C by the first main bus NW1, transmitted to the ECU_D by the local bus NW3 via the ECU_C (first task), and The update file check is executed (second task), and the control program is rewritten in ECU_D (third task). The first to third times are 120 s, 10 s, and 20 s. In the second example, the ECU_C relaying transmission from the main bus NW1 to the local bus NW3 can not use the relay buffer (does not have a buffer function). Therefore, in the transmission of the update program Δ3 for ECU_D, since the transmission is performed on the first main bus NW1 at the same speed as the transmission speed on the local bus NW3, the time required for transmission on the first main bus NW1 is It is 120 [s] which is the same as the time required for transmission on the local bus NW3.

同時更新の必要性がある複数の更新プログラムΔ1〜Δ3が図9のものである場合、ゲートウェイ10のCPU11は、上記ステップS103でYES、かつステップS107でNOと判断する。そのため、メインバスNW1においてローカルバスNW3に分岐して伝送する更新プログラムに関しては他の更新プログラムを並列して伝送可能であることを前提として(ステップS109)、予め規定されている各スケジューリング条件(条件A〜C)を用いたスケジューリング処理を実行する。   If a plurality of update programs Δ1 to Δ3 having the need for simultaneous update are those shown in FIG. 9, the CPU 11 of the gateway 10 determines YES in step S103 and NO in step S107. Therefore, with regard to the update program branched and transmitted to the local bus NW3 on the main bus NW1, it is premised that other update programs can be transmitted in parallel (step S109), each scheduling condition (condition is defined in advance) Execute scheduling processing using A to C).

図10は、ステップS8のスケジューリング処理を行わない場合の更新スケジュール(A)と、スケジューリング処理を行った場合の更新スケジュール(B)とを比較して示した図である。横軸は時間[s]を表して、(A),(B)の1ブロックが10[s]を表している。   FIG. 10 is a diagram showing the update schedule (A) when the scheduling process of step S8 is not performed and the update schedule (B) when the scheduling process is performed. The horizontal axis represents time [s], and one block of (A) and (B) represents 10 [s].

はじめに(A)を参照して、一例として、CPU11が、更新プログラムの順(Δ1→Δ2→Δ3)に1プログラムずつ更新処理が完了するように更新制御を行った場合、同時更新所要時間は各ECUでの更新所要時間を加えた時間、つまり、図9に示された各タスクに要する時間を加えた時間である270[s]となる。   First, referring to (A), as an example, when the CPU 11 performs update control so that the update process is completed one program at a time in the order of update programs (Δ1 → Δ2 → Δ3), the simultaneous update required time is The time obtained by adding the required time for updating in the ECU, that is, the time obtained by adding the time required for each task shown in FIG. 9 is 270 [s].

これに対して、ステップS8のスケジュール処理が実行されると、メインバスNW1についてはローカルバスNW3に分岐して伝送する更新プログラムΔ3の伝送を優先する。また、メインバスNW1と並列して伝送可能なメインバスNW2についてはメインバスNW1での更新プログラムの伝送と並行して更新プログラムΔ2を伝送するよう送信順序が決定される。これらは、図8に示されたスケジューリング処理の第1の具体例でのスケジューリング処理と同じ思想に基づく。さらに、メインバスNW1については、更新プログラムΔ3の伝送と並行して更新プログラムΔ1を伝送するよう送信順序が決定される(B)。これは、メインバスNW1で更新プログラムΔ3を伝送する際に、ローカルバスNW3の伝送速度にあわせた伝送速度あるいは伝送タイミングとすることにより、伝送路であるメインバスNW1に生じた空き帯域を更新プログラムΔ1の伝送に用いるようにしたためである。この場合、更新プログラムΔ1の伝送には、更新プログラムΔ3がメインバスNW1で伝送される際のメインバスNW1の空き帯域が用いられる。つまり、メインバスNW1の伝送帯域を更新プログラムΔ1と更新プログラムΔ3とで共有することになる。そのため、通常であれば更新プログラムΔ1の伝送は30[s]で完了するところ、更新プログラムΔ3と共有によって伝送帯域が半減するために60[s]が必要となる。このようにすることで、同時更新所要時間のうちの伝送に要する時間を、複数の更新プログラムそれぞれの伝送に要する時間の合計よりも短くすることができ、その結果、同時更新所要時間を短くすることができる。   On the other hand, when the schedule processing of step S8 is executed, the transmission of the update program Δ3 which branches and transmits the main bus NW1 to the local bus NW3 is prioritized. Further, for the main bus NW2 that can be transmitted in parallel with the main bus NW1, the transmission order is determined so as to transmit the update program Δ2 in parallel with the transmission of the update program on the main bus NW1. These are based on the same idea as the scheduling process in the first specific example of the scheduling process shown in FIG. Further, for the main bus NW1, the transmission order is determined so as to transmit the update program Δ1 in parallel with the transmission of the update program Δ3 (B). This is because, when transmitting the update program Δ3 through the main bus NW1, the transmission speed or transmission timing according to the transmission speed of the local bus NW3 is used to update the free bandwidth generated on the main bus NW1 which is a transmission path. This is because it is used for transmission of Δ1. In this case, for transmission of the update program Δ1, an available bandwidth of the main bus NW1 when the update program Δ3 is transmitted through the main bus NW1 is used. That is, the transmission band of the main bus NW1 is shared by the update program Δ1 and the update program Δ3. Therefore, normally, the transmission of the update program Δ1 is completed in 30 [s], but 60 [s] is necessary in order to reduce the transmission band by half by sharing with the update program Δ3. By doing this, the time required for transmission of the simultaneous update required time can be made shorter than the total of the times required for transmission of each of the plurality of update programs, and as a result, the simultaneous update required time can be shortened. be able to.

同時更新の必要性がある複数の更新プログラムΔ1〜Δ3が図9の場合、CPU11がステップS8のスケジューリング処理を実行して図10の(B)に表されたスケジュールを決定することによって、同時更新所要時間は270[s]から150[s]に大幅に短縮される。   When a plurality of update programs Δ1 to Δ3 having the need for simultaneous update are as shown in FIG. 9, the CPU 11 executes the scheduling process of step S8 to determine the schedule shown in (B) of FIG. The required time is greatly reduced from 270 s to 150 s.

〔スケジューリング処理の具体例3〕
図11は、同時更新の必要性がある更新プログラムの第3の具体例を表した図である。図11を参照して、第3の例において、第1の更新プログラムΔ1はECU_A用の更新プログラムであって、第1のメインバスNW1でECU_Aに伝送されて(第1のタスク)、ECU_Aにおいて更新ファイルのチェックが実行され(第2のタスク)、ECU_Aで制御プログラムが書き換えられる(第3のタスク)。第1時間〜第3時間は、30[s]、20[s]および40[s]である。第2の更新プログラムΔ2はECU_B用の更新プログラムであって、第1のメインバスNW1でECU_Bに伝送されて(第1のタスク)、ECU_Bにおいて更新ファイルのチェックが実行され(第2のタスク)、ECU_Bで制御プログラムが書き換えられる(第3のタスク)。第1時間〜第3時間は、10[s]、10[s]および20[s]である。第3の更新プログラムΔ3はECU_C用の更新プログラムであって、第1のメインバスNW1でECU_Cに伝送されて(第1のタスク)、ECU_Cにおいて更新ファイルのチェックが実行され(第2のタスク)、ECU_Cで制御プログラムが書き換えられる(第3のタスク)。第1時間〜第3時間は、20[s]、10[s]および50[s]である。すなわち、これら複数の更新プログラムΔ1〜Δ3は、すべて、第1のメインバスNW1に属するECU用であって、メインバスNW1のみで各ECUに伝送される。
[Specific Example 3 of Scheduling Process]
FIG. 11 is a diagram illustrating a third specific example of the update program that needs simultaneous update. Referring to FIG. 11, in the third example, the first update program Δ1 is an update program for ECU_A, and is transmitted to ECU_A through the first main bus NW1 (first task), and The update file check is executed (second task), and the control program is rewritten in ECU_A (third task). The first to third times are 30 [s], 20 [s] and 40 [s]. The second update program Δ2 is an update program for the ECU_B, and is transmitted to the ECU_B through the first main bus NW1 (first task), and a check of the update file is executed in the ECU_B (second task) , ECU_B rewrites the control program (third task). The first to third times are 10 [s], 10 [s] and 20 [s]. The third update program Δ3 is an update program for the ECU_C, and is transmitted to the ECU_C through the first main bus NW1 (first task), and the check of the update file is executed in the ECU_C (second task) , ECU_C rewrites the control program (third task). The first to third times are 20 [s], 10 [s] and 50 [s]. That is, the plurality of update programs Δ1 to Δ3 are all for the ECUs belonging to the first main bus NW1, and are transmitted to the respective ECUs only by the main bus NW1.

同時更新の必要性がある複数の更新プログラムΔ1〜Δ3が図11のものである場合、ゲートウェイ10のCPU11は、上記ステップS103でNOと判断するため、上記ステップS107,S109のいずれも前提とせずに予め規定されている各スケジューリング条件(条件A〜C)を用いたスケジューリング処理を実行する。   In the case where the plurality of update programs Δ1 to Δ3 having the necessity of simultaneous update are those of FIG. 11, the CPU 11 of the gateway 10 determines that the above step S103 is NO, and therefore neither step S107 nor S109 is assumed. The scheduling process is performed using each of the scheduling conditions (conditions A to C) defined in advance.

図12は、ステップS8のスケジューリング処理を行わない場合の更新スケジュール(A)と、上記の条件A〜Cそれぞれに従ったスケジューリング処理を行った場合の更新スケジュール(B)〜(D)とを比較して示した図である。横軸は時間[s]を表して、(A)〜(D)の1ブロックが10[s]を表している。   FIG. 12 compares the update schedule (A) when the scheduling process in step S8 is not performed with the update schedules (B) through (D) when the scheduling process according to each of the above conditions A through C is performed. Are shown. The horizontal axis represents time [s], and one block of (A) to (D) represents 10 [s].

はじめに(A)を参照して、一例として、CPU11が、更新プログラムの順(Δ1→Δ2→Δ3)に1プログラムずつ更新処理が完了するように更新制御を行った場合、同時更新所要時間は各ECUでの更新所要時間を加えた時間、つまり、図11に示された各タスクに要する時間を加えた時間である210[s]となる。   First, referring to (A), as an example, when the CPU 11 performs update control so that the update process is completed one program at a time in the order of update programs (Δ1 → Δ2 → Δ3), the simultaneous update required time is The time obtained by adding the update required time in the ECU, that is, the time obtained by adding the time required for each task shown in FIG. 11 is 210 [s].

これに対して、上記条件Aに従ってスケジューリング処理が実行されると、第3時間の長い順(Δ3→Δ1→Δ2)に、これら更新プログラムを連続してメインバスNW1で伝送するよう送信順序Aが決定される(B)。なお、上記条件Aを、「受信したECUでの処理時間が長い更新プログラムを優先してスケジューリングする」と解釈することもできる。受信したECUでの処理は、更新ファイルのチェック(第2のタスク)および制御プログラムの書き換え(第3のタスク)である。上記解釈を採用すると、送信順序Aは、これらタスクに要する時間である第2時間と第3時間との合計時間の長い順(Δ1→Δ3→Δ2)に決定されてもよい。この場合、他の更新プログラムが該当するECUにおいて更新ファイルのチェック(第2のタスク)および制御プログラムの書き換え(第3のタスク)が行われている間に並行してメインバスNW1で伝送されることになる。そして、条件Aの場合には、第3時間、または第2時間と第3時間との合計時間の長いものほど先に第2のタスクおよび第3のタスクが開始されることになるため、最後の更新プログラムを用いた制御プログラムの更新の完了が早くなる可能性が高い。図12(B)の送信順序Aの場合、同時更新所要時間は110[s]となる。   On the other hand, when the scheduling process is executed according to the above-mentioned condition A, the transmission order A is such that the update programs are continuously transmitted through the main bus NW1 in order of increasing third time (Δ3 → Δ1 → Δ2). It is determined (B). The above condition A can also be interpreted as “schedule with priority the update program having a long processing time in the received ECU”. The processing in the received ECU is the check of the update file (second task) and the rewriting of the control program (third task). Adopting the above interpretation, the transmission order A may be determined in the descending order (Δ1 → Δ3 → Δ2) of the total time of the second time and the third time which is the time required for these tasks. In this case, while the update file check (second task) and the control program rewrite (third task) are being performed in the corresponding ECU, the other update programs are transmitted in parallel over the main bus NW1. It will be. And in the case of the condition A, the second task and the third task are started earlier as the third time or the total of the second time and the third time is longer. It is likely that the update of the control program using the update program will be completed sooner. In the case of the transmission order A in FIG. 12B, the simultaneous update required time is 110 [s].

上記条件Bに従ってスケジューリング処理が実行されると、第1時間の短い順(Δ2→Δ3→Δ1)に、これら更新プログラムを連続してメインバスNW1で伝送するよう送信順序Bが決定される(C)。この場合もまた、他の更新プログラムが該当するECUにおいて更新ファイルのチェック(第2のタスク)および制御プログラムの書き換え(第3のタスク)が行われている間に並行してメインバスNW1で伝送されることになる。そして、条件Bの場合には、各更新プログラムについて、伝送(第1のタスク)の後に第2のタスクの開始を最も早くすることができる。図12(C)の送信順序Bの場合、同時更新所要時間は120[s]となる。   When the scheduling process is executed according to the above-mentioned condition B, the transmission order B is determined so that these update programs are continuously transmitted on the main bus NW1 in the order of shorter first time (Δ2 → Δ3 → Δ1) (C ). Also in this case, while the update file check (second task) and the control program rewrite (third task) are being performed in the ECU to which another update program applies, transmission is simultaneously performed via the main bus NW1. It will be done. Then, in the case of the condition B, for each update program, the start of the second task can be made the earliest after the transmission (the first task). In the case of the transmission order B of FIG. 12C, the simultaneous update required time is 120 [s].

上記条件Cに従ってスケジューリング処理が実行されると、対応するECUの名前順(Δ1→Δ2→Δ3)に、これら更新プログラムを連続してメインバスNW1で伝送するよう送信順序Cが決定される(D)。この場合もまた、他の更新プログラムが該当するECUにおいて更新ファイルのチェック(第2のタスク)および制御プログラムの書き換え(第3のタスク)が行われている間に並行してメインバスNW1で伝送されることになる。図12(D)の送信順序Cの場合、同時更新所要時間は120[s]となる。   When the scheduling process is executed according to the above-mentioned condition C, the transmission order C is determined so that these update programs are continuously transmitted by the main bus NW1 in the order of names of corresponding ECUs (Δ1 → Δ2 → Δ3) (D ). Also in this case, while the update file check (second task) and the control program rewrite (third task) are being performed in the ECU to which another update program applies, transmission is simultaneously performed via the main bus NW1. It will be done. In the case of transmission order C in FIG. 12D, the simultaneous update required time is 120 [s].

以上のスケジューリング処理の結果、同時更新の必要性がある複数の更新プログラムΔ1〜Δ3が図11の場合、上記送信順序A〜Cのうちの同時更新所要時間が最も短くなるスケジュール条件は条件Aであるため、ゲートウェイ10はステップS8で図12の(B)に表された送信順序Aを更新プログラムΔ1〜Δ3の送信順序として決定する。これによって、同時更新所要時間は210[s]から110[s]に大幅に短縮される。   As a result of the above scheduling process, in the case where a plurality of update programs Δ1 to Δ3 having the necessity of simultaneous update are as shown in FIG. Therefore, the gateway 10 determines the transmission order A shown in FIG. 12B in step S8 as the transmission order of the update programs Δ1 to Δ3. By this, the simultaneous update required time is greatly reduced from 210 [s] to 110 [s].

<第1の実施の形態の効果>
第1の実施の形態にかかるプログラム更新システムによれば、複数のECUそれぞれの制御プログラムを同時更新する場合に、更新プログラムを提供する車外装置であるDLサーバ6からECU30への更新プログラムの送信を中継する中継装置であるゲートウェイ10において、複数の更新プログラムの送信順序を決定するスケジューリング処理が実行される。
<Effect of First Embodiment>
According to the program update system of the first embodiment, when the control programs of the plurality of ECUs are simultaneously updated, transmission of the update program from the DL server 6, which is an external device providing the update program, to the ECU 30 is performed. In the gateway 10 which is a relay apparatus to relay, a scheduling process is performed to determine the transmission order of a plurality of update programs.

同時更新する必要性がある複数の更新プログラムに、ゲートウェイ10に個別に接続された互いに独立する車載ネットワークそれぞれに属するECU用の更新プログラムが含まれる場合、ゲートウェイ10は、これら更新プログラムをメインバス(NW1,NW2)に並行して送信する。   When a plurality of update programs that need to be updated simultaneously include update programs for ECUs belonging to each of the mutually independent in-vehicle networks individually connected to the gateway 10, the gateway 10 carries out these update programs on the main bus ( Send in parallel to NW1 and NW2).

また、同一の車載ネットワークに属する複数のECU用の複数の更新プログラムが含まれる場合、ゲートウェイ10は、予め規定された所定の条件(複数のスケジューリング条件)それぞれに従ってスケジューリング処理を実行する。そして、その結果得られた複数の送信順序のうちの同時更新所要時間を最も短くする送信順序をこれら複数の更新プログラムの送信順序として決定する。たとえば、同一のメインバス(NW1)で伝送される更新プログラムが複数あり、かつ、その複数の更新プログラムにさらにローカルバスに分岐して伝送されるものが含まれる場合、ゲートウェイ10は、メインバスに属するECUに伝送する更新プログラムよりも、当該メインバスに属するECUを分岐ノードとしてローカルバスに属するECUに伝送する更新プログラムを優先的に送信する。このとき、ゲートウェイ10は、分岐ノードであるECUがバッファ機能を有するか否かに応じて、上記同一のメインバス(NW1)での更新プログラムの伝送を排他的とするか並列可能とするかのいずれかを前提とする。
これにより、同時更新所要時間を短くすることができる。
In addition, when a plurality of update programs for a plurality of ECUs belonging to the same in-vehicle network are included, the gateway 10 executes the scheduling process according to each of predetermined conditions (a plurality of scheduling conditions) defined in advance. Then, the transmission order that minimizes the simultaneous update required time among the plurality of transmission orders obtained as a result is determined as the transmission order of the plurality of update programs. For example, when there are a plurality of update programs transmitted by the same main bus (NW1) and the plurality of update programs further include one to be branched and transmitted to the local bus, the gateway 10 is connected to the main bus The update program transmitted to the ECU belonging to the local bus is preferentially transmitted as the branch node to the ECU belonging to the main bus than the update program transmitted to the belonging ECU. At this time, the gateway 10 determines whether transmission of the update program on the same main bus (NW1) is exclusive or parallel-enabled depending on whether or not the branch node ECU has a buffer function. One of them is assumed.
Thereby, the simultaneous update required time can be shortened.

同時更新する複数の制御プログラムの更新処理中は該当するすべてのECUがリプロモードとなり、すべての更新処理が完了して再起動されるまで通常モードに復帰しない。そのため、同時更新所要期間が長くなるほど、たとえば運転したいタイミングで運転できないなどユーザの不都合、不利益がより生じやすくなる。したがって、上記のようにゲートウェイ10においてスケジューリング処理が実行されて同時更新所要期間を最も早く終了させる送信順序が決定されることによって、ユーザに生じる不都合、不利益を抑えることができる。   During the updating process of a plurality of control programs to be simultaneously updated, all the corresponding ECUs are in the repro mode, and do not return to the normal mode until all the updating processes are completed and restarted. Therefore, as the simultaneous update required period becomes longer, for example, it becomes more likely to cause inconveniences and disadvantages of the user, such as being unable to drive at the timing when the user wants to drive. Therefore, as described above, the scheduling process is performed in the gateway 10 to determine the transmission order for terminating the simultaneous update required period earliest, thereby suppressing the inconvenience and disadvantage caused to the user.

<第2の実施の形態>
なお、上記したスケジューリング処理は、DLサーバ6からECU30へ送信される更新プログラムを中継するいずれの中継装置で行われてもよい。たとえば、DLサーバ6からECU30へ送信される更新プログラムが、ゲートウェイ10に加えて、図1に示されていないさらなる中継装置によって中継される場合、当該さらなる中継装置において上記のスケジューリング処理が実行されてもよい。または、ゲートウェイ10と当該さらなる中継装置との協働によってスケジューリング処理が実現されてもよい。
Second Embodiment
The above-described scheduling process may be performed by any relay device that relays the update program transmitted from the DL server 6 to the ECU 30. For example, when the update program transmitted from the DL server 6 to the ECU 30 is relayed by a further relay device not shown in FIG. 1 in addition to the gateway 10, the above-mentioned scheduling process is executed in the further relay device It is also good. Alternatively, the scheduling process may be realized by cooperation between the gateway 10 and the additional relay device.

また、図5に表されたように、DLサーバ6からECU30へ更新プログラムが伝送される際に、管理サーバ5がゲートウェイ10にダウンロードを要求し(ステップS3)、当該要求に従ってゲートウェイ10がDLサーバ6に更新プログラムを要求することによって、DLサーバ6からゲートウェイ10に更新プログラムが送信される(ステップS4)。そして、管理サーバ5がゲートウェイ10に各ECU30での更新を要求し(ステップS6)、当該要求に従ってゲートウェイ10が各ECU30に更新を要求することによって、ゲートウェイ10からECU30に更新プログラムが伝送されて制御プログラムが更新される(ステップS7,9,11,13)。従って、この流れに従うと、管理サーバ5もDLサーバ6からECU30への更新プログラムの伝送を中継する中継装置の一部として機能していると言える。   Further, as shown in FIG. 5, when the update program is transmitted from the DL server 6 to the ECU 30, the management server 5 requests the gateway 10 to download (step S3), and the gateway 10 transmits the DL server according to the request. The update program is sent from the DL server 6 to the gateway 10 by requesting the update program to 6 (step S4). Then, the management server 5 requests the gateway 10 to update the ECUs 30 (step S6), and the gateway 10 requests the ECUs 30 to update according to the request, whereby the gateway 10 transmits the update program to the ECU 30 for control. The program is updated (steps S7, 9, 11, 13). Therefore, according to this flow, it can be said that the management server 5 also functions as a part of a relay apparatus that relays the transmission of the update program from the DL server 6 to the ECU 30.

従って、上記したスケジューリング処理は、中継装置の一種と言える管理サーバ5において実行され、上記ステップS4で更新プログラムと共に決定された送信順序を示す情報がゲートウェイ10に送信されてもよい。あるいは、上記のように管理サーバ5とDLサーバ6とは同一のサーバ装置で実現されてもよいため、サーバ5,6の機能を有するサーバにおいてスケジューリング処理が実行されてもよい。この場合、上記のスケジューリング処理を実行するための機能であるスケジューリング部111および更新処理部112(図2)は、管理サーバ5のCPU51がROM52に記憶されているプログラムをRAM53上に読み出して実行することによってCPU51によって実現される。すなわち、管理サーバ5は、更新プログラムまたは上記の更新プログラムに関する情報をDLサーバ6から得て、記憶部54に記憶する。管理サーバ5のスケジューリング部111は、記憶部54に記憶された更新プログラムに関する情報を用いてスケジューリング処理を行う。更新処理部112は、スケジューリング部111によって決定された送信順序をゲートウェイ10に渡してECU30での更新処理を要求する。ゲートウェイ10の更新処理部112は、管理サーバ5から渡された送信順序で更新プログラムを送信して各ECU30に更新処理を要求することによって、同時更新での更新処理を制御する。   Therefore, the above-described scheduling process may be executed in the management server 5 which can be said to be a kind of relay device, and information indicating the transmission order determined together with the update program in step S4 may be transmitted to the gateway 10. Alternatively, as described above, since the management server 5 and the DL server 6 may be realized by the same server device, the scheduling process may be executed in a server having the functions of the servers 5 and 6. In this case, the scheduling unit 111 and the update processing unit 112 (FIG. 2), which are functions for executing the above-mentioned scheduling process, read the program stored in the ROM 52 onto the RAM 53 and execute it Are realized by the CPU 51. That is, the management server 5 obtains the update program or the information on the update program from the DL server 6 and stores the information in the storage unit 54. The scheduling unit 111 of the management server 5 performs a scheduling process using the information on the update program stored in the storage unit 54. The update processing unit 112 passes the transmission order determined by the scheduling unit 111 to the gateway 10 and requests the ECU 30 to perform an update process. The update processing unit 112 of the gateway 10 transmits the update program in the transmission order received from the management server 5 and requests the ECUs 30 to perform the update process, thereby controlling the update process in the simultaneous update.

第2の実施の形態にかかるプログラム更新システムにおいても、同時更新の必要性がある更新プログラムが複数ある場合に同時更新所要時間を短くすることができる。これによりユーザに生じる不都合、不利益を抑えることができる。   Also in the program update system according to the second embodiment, the simultaneous update required time can be shortened when there are a plurality of update programs that need simultaneous update. This makes it possible to reduce the inconvenience and disadvantage caused to the user.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   It should be understood that the embodiments disclosed herein are illustrative and non-restrictive in every respect. The scope of the present invention is indicated not by the above description but by the claims, and is intended to include all the modifications within the meaning and scope equivalent to the claims.

1 車両
2 広域通信網
5 管理サーバ(中継装置)
6 DLサーバ
10 ゲートウェイ(中継装置)
11 CPU
12 RAM
13 記憶部
14 車内通信部
15 無線通信部
30 ECU(制御装置)
31 CPU
32 RAM
33 記憶部
34 通信部
35 起動部
51 CPU
52 ROM
53 RAM
54 記憶部
55 通信部
NW1〜NW3 バス(車載ネットワーク)
111 スケジューリング部
112 更新制御部
1 vehicle 2 wide area communication network 5 management server (relay device)
6 DL server 10 Gateway (relay device)
11 CPU
12 RAM
13 storage unit 14 in-vehicle communication unit 15 wireless communication unit 30 ECU (control device)
31 CPU
32 RAM
33 storage unit 34 communication unit 35 activation unit 51 CPU
52 ROM
53 RAM
54 storage unit 55 communication unit NW1 to NW3 bus (vehicle-mounted network)
111 scheduling unit 112 update control unit

Claims (10)

車載ネットワークに属する複数の制御装置と通信する中継装置であって、
複数の前記制御装置に対する同時更新の必要性がある複数の更新プログラムと、前記車載ネットワークのトポロジーとを記憶する記憶部と、
複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、
自装置に個別に接続された互いに独立する複数の前記車載ネットワークに属する前記制御装置については、当該制御装置に対応する複数の前記更新プログラムを並行して送信するように前記車内通信部を制御する制御部と、を備える、中継装置。
A relay device that communicates with a plurality of control devices belonging to an in-vehicle network,
A storage unit that stores a plurality of update programs that require simultaneous update to a plurality of the control devices, and a topology of the in-vehicle network;
An in-vehicle communication unit for transmitting a plurality of the update programs to the corresponding control device;
For the control devices belonging to the plurality of independent in-vehicle networks individually connected to the own device, the in-vehicle communication unit is controlled to transmit in parallel the plurality of update programs corresponding to the control devices. And a control unit.
前記制御部は、所定の条件に従って複数の前記更新プログラムの送信順序を決定する、請求項1に記載の中継装置。   The relay device according to claim 1, wherein the control unit determines a transmission order of the plurality of update programs according to a predetermined condition. 前記所定の条件は、各前記制御装置での、下記の第1時間〜第3時間を含む更新所要時間の組み合わせである同時更新所要時間を最も短くするスケジューリング条件よりなり、
前記同時更新所要時間は、前記複数の更新プログラムのうちの最初に前記制御装置に伝送される更新プログラムについての前記第1時間の開始時から、前記複数の更新プログラムの最後に制御プログラムの書き換えが終了する更新プログラムについての前記第3時間の終了時までの時間である、請求項2に記載の中継装置。
第1時間:更新プログラムの伝送時間
第2時間:更新プログラムのチェックに要する時間
第3時間:更新プログラムを用いた制御プログラムの書き換えに要する時間
The predetermined condition is a scheduling condition that minimizes the simultaneous update required time, which is a combination of update required times including the following first to third times, in each of the control devices,
Among the plurality of update programs, the simultaneous update required time is from the start of the first time of the update program to be transmitted to the control device, to the end of the plurality of update programs. The relay apparatus according to claim 2, which is a time until the end of the third time for the update program to end.
First time: Transmission time of update program Second time: time required to check update program Third time: time required to rewrite control program using update program
前記スケジューリング条件には、
バス型トポロジーである1つの前記車載ネットワークに含まれる複数の前記制御装置について、前記第3時間が長い前記制御装置ほど前記更新プログラムの送信順序を早めることが含まれる、請求項3に記載の中継装置。
The scheduling condition is:
4. The relay according to claim 3, which includes, for the plurality of control devices included in one in-vehicle network having a bus topology, the control device having a longer third time period has a transmission order of the update program earlier. apparatus.
前記スケジューリング条件には、
バス型トポロジーである1つの前記車載ネットワークに含まれる複数の前記制御装置について、前記第1時間が短い前記制御装置ほど前記更新プログラムの送信順序を早めることが含まれる、請求項3または請求項4に記載の中継装置。
The scheduling condition is:
5. The plurality of control devices included in one in-vehicle network having a bus topology, wherein the transmission order of the update program is advanced as the control device in which the first time is shorter is shorter. The relay device described in.
前記スケジューリング条件には、
バス型トポロジーである1つの前記車載ネットワークに含まれる複数の前記制御装置について、前記制御装置に付与された識別情報に基づいて送信順序を決定することが含まれる、請求項3〜請求項5のいずれか1項に記載の中継装置。
The scheduling condition is:
6. The transmission order determination method according to claim 3, further comprising: determining a transmission order of the plurality of control devices included in one in-vehicle network having a bus topology based on identification information given to the control devices. The relay device according to any one of the above.
1つの前記車載ネットワークに、自装置に直接接続されたメインネットワークと、前記メインネットワークに含まれる前記制御装置を分岐ノードとして分岐するローカルネットワークが含まれる場合は、前記スケジューリング条件には、前記ローカルネットワークに属する前記制御装置への送信順序を、前記メインネットワークに含まれる前記制御装置の送信順序よりも早めることが含まれる、請求項3〜請求項6のいずれか1項に記載の中継装置。   In the case where one in-vehicle network includes a main network directly connected to the apparatus itself and a local network that branches the control device included in the main network as a branch node, the scheduling condition includes the local network The relay apparatus according to any one of claims 3 to 6, further comprising: advancing the transmission order to the control apparatus belonging to at least the transmission order of the control apparatuses included in the main network. 前記制御部は、前記分岐ノードが、前記メインネットワークでの伝送速度と前記ローカルネットワークでの伝送速度の差を吸収するバッファ機能を有するか否か応じて、前記メインネットワークの伝送速度を決定する、請求項7に記載の中継装置。   The control unit determines the transmission rate of the main network according to whether or not the branch node has a buffer function to absorb the difference between the transmission rate in the main network and the transmission rate in the local network. The relay device according to claim 7. 車載ネットワークに属する複数の制御装置と、前記複数の制御装置と通信する中継装置と、を含むプログラム更新システムであって、
前記中継装置は、
複数の前記制御装置に対する同時更新の必要性がある複数の更新プログラムと、前記車載ネットワークのトポロジーとを記憶する記憶部と、
複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、
自装置に個別に接続された互いに独立する複数の前記車載ネットワークに属する前記制御装置については、当該制御装置に対応する複数の前記更新プログラムを並行して送信するように前記車内通信部を制御する制御部と、を備える、プログラム更新システム。
A program updating system, comprising: a plurality of control devices belonging to an on-vehicle network; and a relay device communicating with the plurality of control devices,
The relay device is
A storage unit that stores a plurality of update programs that require simultaneous update to a plurality of the control devices, and a topology of the in-vehicle network;
An in-vehicle communication unit for transmitting a plurality of the update programs to the corresponding control device;
For the control devices belonging to the plurality of independent in-vehicle networks individually connected to the own device, the in-vehicle communication unit is controlled to transmit in parallel the plurality of update programs corresponding to the control devices. A program update system comprising: a control unit.
車載ネットワークに属する複数の制御装置と通信する中継装置が実行するプログラム更新方法であって、
複数の前記制御装置に対する同時更新の必要性がある複数の更新プログラムと、前記車載ネットワークのトポロジーとを記憶するステップと、
複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、を含み、
前記送信するステップは、前記中継装置に個別に接続された互いに独立する複数の前記車載ネットワークに属する前記制御装置については、当該制御装置に対応する複数の前記更新プログラムを並行して送信することを含む、プログラム更新方法。
A program updating method executed by a relay device communicating with a plurality of control devices belonging to an in-vehicle network,
Storing a plurality of update programs that require simultaneous update for a plurality of the control devices, and the topology of the in-vehicle network;
Sending a plurality of the update programs to the corresponding control device, respectively.
In the transmission step, transmission of the plurality of update programs corresponding to the control device in parallel is performed for the control devices belonging to the plurality of independent on-vehicle networks individually connected to the relay device. Including program update methods.
JP2018143034A 2018-07-31 2018-07-31 Relay device, program update system, and program update method Active JP6562134B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018143034A JP6562134B2 (en) 2018-07-31 2018-07-31 Relay device, program update system, and program update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018143034A JP6562134B2 (en) 2018-07-31 2018-07-31 Relay device, program update system, and program update method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016110623A Division JP6380461B2 (en) 2016-06-02 2016-06-02 Relay device, program update system, and program update method

Publications (2)

Publication Number Publication Date
JP2018181377A true JP2018181377A (en) 2018-11-15
JP6562134B2 JP6562134B2 (en) 2019-08-21

Family

ID=64275725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018143034A Active JP6562134B2 (en) 2018-07-31 2018-07-31 Relay device, program update system, and program update method

Country Status (1)

Country Link
JP (1) JP6562134B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020161355A (en) * 2019-03-27 2020-10-01 三菱電機株式会社 Lighting device and lighting equipment
JP2020161356A (en) * 2019-03-27 2020-10-01 三菱電機株式会社 Lighting device and lighting equipment
EP3933576A1 (en) 2020-06-30 2022-01-05 Toyota Jidosha Kabushiki Kaisha Server, managing method, non-transitory storage medium, software updating device, center, and over-the-air master
EP3944073A1 (en) 2020-07-20 2022-01-26 Toyota Jidosha Kabushiki Kaisha Server, update management method, non-transitory storage medium, software update device, and system including server and software update device
EP3982254A1 (en) 2020-10-06 2022-04-13 Toyota Jidosha Kabushiki Kaisha Server, software update system, distribution method, and non-transitory storage medium
US11340888B2 (en) 2019-09-30 2022-05-24 Toyota Jidosha Kabushiki Kaisha Relay device and external device
DE102022107393A1 (en) 2021-04-06 2022-10-06 Toyota Jidosha Kabushiki Kaisha CENTER, DISTRIBUTION CONTROL METHOD AND NON-TRANSITORY STORAGE MEDIUM
DE102022106827A1 (en) 2021-04-01 2022-10-06 Toyota Jidosha Kabushiki Kaisha CENTRE, DISTRIBUTION CONTROL METHOD AND NON-TRANSITORY STORAGE MEDIUM
DE102022106659A1 (en) 2021-03-30 2022-10-06 Toyota Jidosha Kabushiki Kaisha OTA MASTER, UPDATE CONTROL METHOD AND NON-TRANSITORY STORAGE MEDIUM
US11693645B2 (en) 2018-08-10 2023-07-04 Denso Corporation Vehicle information communication system
JP2025000707A (en) * 2020-09-27 2025-01-07 華為技術有限公司 Data transmission system, data transmission method, intelligent vehicle, and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195766A (en) * 2005-01-14 2006-07-27 Mitsubishi Electric Corp Firmware update method and firmware update system
JP2010049464A (en) * 2008-08-21 2010-03-04 Riso Kagaku Corp Electronic equipment, and method for downloading program for updating in the same
JP2010271891A (en) * 2009-05-21 2010-12-02 Fujitsu Ten Ltd Gateway device and data transmission method
JP2011008660A (en) * 2009-06-29 2011-01-13 Kyocera Mita Corp Electronic apparatus, and electronic apparatus control program
JP2012091755A (en) * 2010-10-29 2012-05-17 Honda Motor Co Ltd Program rewriting system for vehicle
JP2015099547A (en) * 2013-11-20 2015-05-28 日本電気株式会社 Software update method, software update apparatus, software update program, and software update system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195766A (en) * 2005-01-14 2006-07-27 Mitsubishi Electric Corp Firmware update method and firmware update system
JP2010049464A (en) * 2008-08-21 2010-03-04 Riso Kagaku Corp Electronic equipment, and method for downloading program for updating in the same
JP2010271891A (en) * 2009-05-21 2010-12-02 Fujitsu Ten Ltd Gateway device and data transmission method
JP2011008660A (en) * 2009-06-29 2011-01-13 Kyocera Mita Corp Electronic apparatus, and electronic apparatus control program
JP2012091755A (en) * 2010-10-29 2012-05-17 Honda Motor Co Ltd Program rewriting system for vehicle
JP2015099547A (en) * 2013-11-20 2015-05-28 日本電気株式会社 Software update method, software update apparatus, software update program, and software update system

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11907698B2 (en) 2018-08-10 2024-02-20 Denso Corporation Vehicle electronic control system, vehicle master device, method for controlling transmission of data storage bank information and computer program product for controlling transmission of data storage bank information
US11693645B2 (en) 2018-08-10 2023-07-04 Denso Corporation Vehicle information communication system
JP7310208B2 (en) 2019-03-27 2023-07-19 三菱電機株式会社 Lighting devices and lighting fixtures
JP2020161356A (en) * 2019-03-27 2020-10-01 三菱電機株式会社 Lighting device and lighting equipment
JP2020161355A (en) * 2019-03-27 2020-10-01 三菱電機株式会社 Lighting device and lighting equipment
JP7298235B2 (en) 2019-03-27 2023-06-27 三菱電機株式会社 Lighting devices and lighting fixtures
US11340888B2 (en) 2019-09-30 2022-05-24 Toyota Jidosha Kabushiki Kaisha Relay device and external device
EP3933576A1 (en) 2020-06-30 2022-01-05 Toyota Jidosha Kabushiki Kaisha Server, managing method, non-transitory storage medium, software updating device, center, and over-the-air master
EP3944073A1 (en) 2020-07-20 2022-01-26 Toyota Jidosha Kabushiki Kaisha Server, update management method, non-transitory storage medium, software update device, and system including server and software update device
US11736577B2 (en) 2020-07-20 2023-08-22 Toyota Jidosha Kabushiki Kaisha Server, update management method, non-transitory storage medium, software update device, and system including server and software update device
JP2025000707A (en) * 2020-09-27 2025-01-07 華為技術有限公司 Data transmission system, data transmission method, intelligent vehicle, and device
EP3982254A1 (en) 2020-10-06 2022-04-13 Toyota Jidosha Kabushiki Kaisha Server, software update system, distribution method, and non-transitory storage medium
US11853742B2 (en) 2020-10-06 2023-12-26 Toyota Jidosha Kabushiki Kaisha Server, software update system, distribution method, and non-transitory storage medium
DE102022106659A1 (en) 2021-03-30 2022-10-06 Toyota Jidosha Kabushiki Kaisha OTA MASTER, UPDATE CONTROL METHOD AND NON-TRANSITORY STORAGE MEDIUM
DE102022106827A1 (en) 2021-04-01 2022-10-06 Toyota Jidosha Kabushiki Kaisha CENTRE, DISTRIBUTION CONTROL METHOD AND NON-TRANSITORY STORAGE MEDIUM
US11995437B2 (en) 2021-04-01 2024-05-28 Toyota Jidosha Kabushiki Kaisha Center, distribution control method, and non-transitory storage medium
US11947951B2 (en) 2021-04-06 2024-04-02 Toyota Jidosha Kabushiki Kaisha Center, distribution control method, and non-transitory storage medium
DE102022107393A1 (en) 2021-04-06 2022-10-06 Toyota Jidosha Kabushiki Kaisha CENTER, DISTRIBUTION CONTROL METHOD AND NON-TRANSITORY STORAGE MEDIUM
US12248777B2 (en) 2021-04-06 2025-03-11 Toyota Jidosha Kabushiki Kaisha Center, distribution control method, and non-transitory storage medium

Also Published As

Publication number Publication date
JP6562134B2 (en) 2019-08-21

Similar Documents

Publication Publication Date Title
JP6380461B2 (en) Relay device, program update system, and program update method
JP6562134B2 (en) Relay device, program update system, and program update method
JP6376312B1 (en) Control device, program update method, and computer program
JP6361671B2 (en) Program update system, program update method, relay device, and computer program
JP6525105B2 (en) CONTROL DEVICE, PROGRAM UPDATE METHOD, AND COMPUTER PROGRAM
JP6665728B2 (en) In-vehicle update device, in-vehicle update system and communication device update method
JP6562133B2 (en) Relay device, program update system, and program update method
CN108369505B (en) Control apparatus, program update method, and computer program
JP6897417B2 (en) Control devices, control methods, and computer programs
JP6525109B2 (en) Control device, transfer method, and computer program
CN112136106B (en) Electronic control device and storage medium
JP7207301B2 (en) Update controller, control method and computer program
JP6358286B2 (en) Control device, program update method, and computer program
JP2019034652A (en) Control device, control method, and computer program
JP6394678B2 (en) Control device, control program update determination method, and computer program
JPWO2018142749A1 (en) Control device, program update method, and computer program
US12175817B2 (en) Center device and vehicle information communication system
JP2019199122A (en) On-vehicle relay device, communication system, bus determination method and computer program
CN120051763A (en) Update management device, in-vehicle system, control method, and computer program
JP2023118653A (en) Program management apparatus, program management method, and recording medium
WO2019221118A1 (en) Electronic control unit and session establishment program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180823

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190614

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190708

R150 Certificate of patent or registration of utility model

Ref document number: 6562134

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250