JP6631676B2 - In-vehicle update device, update system and update processing program - Google Patents

In-vehicle update device, update system and update processing program Download PDF

Info

Publication number
JP6631676B2
JP6631676B2 JP2018202945A JP2018202945A JP6631676B2 JP 6631676 B2 JP6631676 B2 JP 6631676B2 JP 2018202945 A JP2018202945 A JP 2018202945A JP 2018202945 A JP2018202945 A JP 2018202945A JP 6631676 B2 JP6631676 B2 JP 6631676B2
Authority
JP
Japan
Prior art keywords
update
communication
vehicle
data
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018202945A
Other languages
Japanese (ja)
Other versions
JP2019023931A (en
Inventor
剛史 紺谷
剛史 紺谷
真也 伊東
真也 伊東
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
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 Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2018202945A priority Critical patent/JP6631676B2/en
Publication of JP2019023931A publication Critical patent/JP2019023931A/en
Application granted granted Critical
Publication of JP6631676B2 publication Critical patent/JP6631676B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、車載通信装置に対して更新用のプログラム又はデータを送信することによって、この車載通信装置の更新処理を行う車載更新装置、更新システム及び更新処理プログラムに関する。   The present invention relates to an in-vehicle update device, an update system, and an update processing program for performing an update process of an in-vehicle communication device by transmitting an update program or data to the in-vehicle communication device.

従来、車両には複数のECU(Electronic Control Unit)などの車載通信装置が搭載され、複数のECUがCAN(Controller Area Network)バスなどの通信線を介して接続されて相互に情報の送受信を行うことが可能とされている。各ECUは、フラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の記憶部に記憶されたプログラムをCPU(Central Processing Unit)などの処理装置が読み出して実行することにより、車両の制御などの種々の処理を行っている。ECUの記憶部に記憶されたプログラム又はデータは、例えば機能追加、不具合の修正又はバージョンアップ等の必要が生じた際には、新たなプログラム又はデータに書き換える更新処理を行う必要がある。この場合、更新処理の対象となるECUに対して、通信線を介して更新用のプログラム又はデータを送信することが行われている。   2. Description of the Related Art Conventionally, a vehicle is equipped with a plurality of in-vehicle communication devices such as a plurality of ECUs (Electronic Control Units), and the plurality of ECUs are connected via a communication line such as a CAN (Controller Area Network) bus to mutually transmit and receive information. It is possible. Each ECU reads out and executes a program stored in a storage unit such as a flash memory or an electrically erasable programmable read only memory (EEPROM) by a processing device such as a CPU (Central Processing Unit), thereby controlling various types of vehicle control and the like. Is being processed. The program or data stored in the storage unit of the ECU needs to be updated with a new program or data when it is necessary to add a function, correct a defect, or upgrade the version. In this case, an update program or data is transmitted via a communication line to an ECU to be updated.

特許文献1においては、書換装置と複数の書換対象ECUとが同一のネットワークバスで接続された構成を持ち、書換装置は予め定められた特定のIDを使用して全ての書換対象ECUに対して同時にデータを送信し、書換対象ECUは個体識別データを使用してそれぞれ異なったIDを生成し、生成したIDを使用して書換装置へデータを送信するプログラム書換方法が提案されている。   In Patent Document 1, a rewriting device and a plurality of rewriting target ECUs have a configuration in which they are connected by the same network bus, and the rewriting device uses a predetermined specific ID for all rewriting target ECUs. A program rewriting method has been proposed in which data is transmitted at the same time, the rewriting target ECU generates individual IDs using the individual identification data, and transmits data to the rewriting device using the generated IDs.

特開2014−194688号公報JP 2014-194688 A

近年、車両において重要な機能を担うECUについて、このECUを複数の通信線に接続し、車両の信頼性を向上させることが試みられている。例えば2つの通信線に接続されたECUは、いずれか一方の通信線が何らかの要因で通信不可能な状態となった場合であっても、他方の通信線を介して通信を行うことが可能であるため、このECUが担う機能が利用不可能となることを防止できる。   2. Description of the Related Art In recent years, it has been attempted to improve reliability of a vehicle by connecting the ECU to a plurality of communication lines with respect to an ECU having an important function in a vehicle. For example, the ECU connected to the two communication lines can perform communication via the other communication line even if one of the communication lines becomes incapable of communication for some reason. Therefore, it is possible to prevent the function of the ECU from being unavailable.

このような複数の通信線に接続されたECUについて、プログラム又はデータの更新処理をどのように行うかについて、これまで検討されていなかった。   Up to now, there has been no study on how to update a program or data for an ECU connected to such a plurality of communication lines.

本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、複数の通信線に接続された車載通信装置の更新処理を効率よく行うことができる車載更新装置、更新システム及び更新処理プログラムを提供することにある。   The present invention has been made in view of such circumstances, and an object of the present invention is to provide an in-vehicle updating apparatus capable of efficiently performing an updating process of an in-vehicle communication apparatus connected to a plurality of communication lines. A system and an update processing program are provided.

本発明に係る車載更新装置は、少なくとも2つの通信線を介して車載通信装置との通信を行い、該車載通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置であって、前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶する記憶部と、前記記憶部に記憶された複数の更新用分割データを、前記少なくとも2つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部とを備え、前記送信処理部は、通信線毎の通信負荷に応じて、前記少なくとも2つの通信線に前記複数の更新用分割データを分配することを特徴とする。 An in-vehicle update device according to the present invention is an in-vehicle update device that performs communication with an in-vehicle communication device via at least two communication lines and performs a process of updating a program or data stored in a storage unit of the in-vehicle communication device. A storage unit for storing a plurality of update division data obtained by dividing the update program or data to be transmitted to the on-vehicle communication device; and a plurality of update division data stored in the storage unit, A transmission processing unit that performs a process of distributing and transmitting to the in-vehicle communication device via one communication line , wherein the transmission processing unit transmits the plurality of communication lines to the at least two communication lines according to a communication load of each communication line. It is characterized in that the divided data for update is distributed .

また、本発明に係る車載更新装置は、前記更新用分割データを記憶した記憶装置との間で通信を行う通信部と、前記通信部を介して前記記憶装置から受信した前記更新用分割データを、前記記憶部に記憶する処理を行う記憶処理部とを更に備える。   Further, the in-vehicle update device according to the present invention includes a communication unit that communicates with a storage device storing the update division data, and the update division data received from the storage device via the communication unit. And a storage processing unit that performs a process of storing in the storage unit.

また、本発明に係る更新システムは、プログラム又はデータを記憶する第1記憶部を有する車載通信装置と、少なくとも2つの通信線を介して前記車載通信装置との通信を行い、前記車載通信装置の前記第1記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置とを備える更新システムであって、前記車載更新装置は、前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶する記憶部と、前記記憶部に記憶された複数の更新用分割データを、前記少なくとも2つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部とを有し、前記送信処理部は、通信線毎の通信負荷に応じて、前記少なくとも2つの通信線に前記複数の更新用分割データを分配することを特徴とする。 Further, the update system according to the present invention performs communication between the in-vehicle communication device via at least two communication lines and the in-vehicle communication device having the first storage unit for storing a program or data, An in-vehicle update device that performs a process of updating a program or data stored in the first storage unit, wherein the in-vehicle update device transmits an update program or data to be transmitted to the in-vehicle communication device. A storage unit for storing the divided plurality of update division data, and a process of distributing and transmitting the update division data stored in the storage unit to the on-vehicle communication device via the at least two communication lines It has a transmission processing unit, the transmission processing unit, in response to the communication load of each communication line, for distributing the at least two divided data of the plurality of update to the communication line And wherein the door.

また、本発明に係る更新システムは、前記更新用分割データを記憶した記憶装置を更に備え、前記車載更新装置は、前記更新用分割データを記憶した記憶装置との間で通信を行う通信部と、前記通信部を介して前記記憶装置から受信した前記更新用分割データを、前記記憶部に記憶する処理を行う記憶処理部とを更に有する。   Further, the update system according to the present invention further includes a storage device storing the update division data, wherein the in-vehicle update device communicates with a storage device storing the update division data, A storage processing unit that performs a process of storing the update division data received from the storage device via the communication unit in the storage unit.

また、本発明に係る更新システムは、前記記憶装置が、前記更新用分割データに順序情報を付して前記車載更新装置へ送信し、前記車載更新装置の前記記憶処理部は、前記順序情報が付された前記更新用分割データを前記記憶部に記憶する。   Further, in the update system according to the present invention, the storage device attaches order information to the update divided data and transmits the data to the in-vehicle update device, and the storage processing unit of the in-vehicle update device stores the The attached divided data for update is stored in the storage unit.

また、本発明に係る更新システムは、前記車載通信装置が、前記少なくとも2つの通信線を介して前記車載更新装置から受信した前記更新用分割データを一時的に記憶する第2記憶部と、前記第2記憶部に記憶された前記更新用分割データに付された前記順序情報に基づいて、前記第2記憶部に記憶された前記更新用分割データを用いて、前記第1記憶部に記憶されたプログラム又はデータを更新する処理を行う更新処理部とを有する。   Also, the update system according to the present invention, the in-vehicle communication device, the second storage unit that temporarily stores the update divided data received from the in-vehicle update device via the at least two communication lines, On the basis of the order information added to the update division data stored in the second storage unit, the update division data stored in the first storage unit is stored using the update division data stored in the second storage unit. Update processing unit for performing a process of updating the program or data.

また、本発明に係る更新処理プログラムは、少なくとも2つの通信線を介して車載通信装置との通信を行い、該車載通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置を、前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶部に記憶する処理を行う記憶処理部と、前記記憶部に記憶された複数の更新用分割データを、前記少なくとも2つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部として動作させ、前記送信処理部は、通信線毎の通信負荷に応じて、前記少なくとも2つの通信線に前記複数の更新用分割データを分配することを特徴とする。 Further, the update processing program according to the present invention communicates with the in-vehicle communication device via at least two communication lines, and performs an in-vehicle update that performs a process of updating a program or data stored in a storage unit of the in-vehicle communication device. A storage processing unit that performs a process of storing, in a storage unit, a plurality of update division data obtained by dividing an update program or data to be transmitted to the in-vehicle communication device; and a plurality of update programs stored in the storage unit. The divided data is operated as a transmission processing unit that performs a process of distributing and transmitting the divided data to the in-vehicle communication device via the at least two communication lines, and the transmission processing unit operates according to a communication load of each communication line. The plurality of update division data are distributed to one communication line .

本発明においては、少なくとも2つの通信線に接続された車載通信装置に対して、この2つの通信線に接続された車載更新装置が更新用のプログラム又はデータを送信することによって、車載通信装置の更新処理を行う。車載更新装置は、更新用のプログラム又はデータを複数に分割したものを更新用分割データとして記憶部に記憶する。車載更新装置は、通信線毎の通信状態を判定し、判定した通信状態に応じて複数の更新用分割データを複数の通信線へ適宜に分配し、複数の更新用分割データを複数の通信線を介して車載通信装置へ送信する。これにより車載更新装置は、複数の通信線を有効活用して、車載通信装置への複数の更新用分割データの送信を効率よく高速に行うことが可能となる。   In the present invention, the in-vehicle update device connected to the at least two communication lines transmits an updating program or data to the in-vehicle communication device connected to at least two communication lines, whereby the in-vehicle communication device is connected to the at least two communication lines. Perform update processing. The in-vehicle update device stores an update program or data obtained by dividing the update program or data into a plurality of update data in the storage unit. The in-vehicle update device determines a communication state for each communication line, appropriately distributes the plurality of update division data to the plurality of communication lines according to the determined communication state, and transfers the plurality of update division data to the plurality of communication lines. To the in-vehicle communication device via the. As a result, the in-vehicle update device can efficiently utilize the plurality of communication lines to transmit the plurality of update division data to the in-vehicle communication device efficiently and at high speed.

また本発明において車載更新装置は、更新対象となる車載通信装置が接続された複数の通信線について、通信線毎の通信負荷を判定する。車載更新装置は、例えば低負荷の通信線に対して優先的に更新用分割データを分配するなど、判定した通信負荷に応じた更新用分割データの分配を行うことができる。これにより車載更新装置は、複数の通信線を効率よく利用することができる。   In the present invention, the in-vehicle update device determines the communication load of each communication line for a plurality of communication lines to which the in-vehicle communication device to be updated is connected. The in-vehicle update device can distribute the update division data according to the determined communication load, for example, preferentially distribute the update division data to a low-load communication line. This allows the in-vehicle updating device to efficiently use the plurality of communication lines.

また本発明においては、車載更新装置とは異なる記憶装置が、更新用分割データを記憶しておく。更新処理を行う際には、記憶装置から車載更新装置へ更新用分割データが送信され、この更新用分割データが車載更新装置から車載通信装置へ与えられる。これにより車載更新装置は、更新用分割データを記憶しておく必要がなく、記憶装置から与えられた更新用分割データを一時的に記憶しておけばよい。なお車載更新装置及び記憶装置は、有線又は無線のいずれの通信を行ってもよく、有線通信の場合に記憶装置は通信ケーブルなどを介して車載更新装置に着脱可能な構成であってよい。   Further, in the present invention, a storage device different from the in-vehicle update device stores the update division data. When performing the update process, the update division data is transmitted from the storage device to the vehicle-mounted update device, and the update division data is provided from the vehicle-mounted update device to the vehicle-mounted communication device. Thus, the in-vehicle update device does not need to store the update division data, and only needs to temporarily store the update division data provided from the storage device. The in-vehicle update device and the storage device may perform either wired or wireless communication, and in the case of wired communication, the storage device may be configured to be detachable from the in-vehicle update device via a communication cable or the like.

また本発明において記憶装置は、更新のためのプログラム又はデータを分割した更新用分割データに対して、これを復元するための順序情報を付して車載更新装置へ送信する。車載更新装置は、記憶装置から更新用分割データを受信した場合、順序情報と共に更新用分割データを記憶部に記憶しておく。また車載更新装置は、順序情報が付された更新用分割データを車載通信装置に対して送信する。これにより、複数の通信線を介して更新用分割データを受信した車載通信装置は、更新用分割データの順序と受信順序とが異なる場合であっても、複数の更新用分割データから元のプログラム又はデータを復元することができる。   Further, in the present invention, the storage device attaches order information for restoring the update program or data obtained by dividing the update program or data, and transmits the data to the vehicle-mounted update device. When receiving the update division data from the storage device, the in-vehicle update device stores the update division data in the storage unit together with the order information. The in-vehicle update device transmits the update division data to which the order information is added to the in-vehicle communication device. With this, the in-vehicle communication device that has received the update division data via the plurality of communication lines can transmit the original program from the plurality of update division data even if the order of the update division data and the reception order are different. Alternatively, data can be restored.

また本発明において車載通信装置は、自身の処理に用いるプログラム又はデータを記憶した第1記憶部とは別に、複数の通信線を介して車載更新装置から受信した更新用分割データを一時的に記憶する第2記憶部を有する。車載通信装置は、更新用分割データに付された順序情報に基づき、第2記憶部に記憶された更新用分割データを用いて、第1記憶部に記憶されたプログラム又はデータを更新する処理を行う。これにより、複数の通信線を介して順不同に受信される更新用分割データを用いて、プログラム又はデータの更新処理を確実に行うことができる。   Further, in the present invention, the in-vehicle communication device temporarily stores the update divided data received from the in-vehicle update device via a plurality of communication lines, separately from the first storage unit storing the program or data used for its own processing. A second storage unit for performing the operation. The in-vehicle communication device performs a process of updating a program or data stored in the first storage unit using the update division data stored in the second storage unit based on the order information attached to the update division data. Do. Thereby, the update process of the program or data can be reliably performed using the update division data received out of order through the plurality of communication lines.

本発明による場合は、車載更新装置が通信線毎の通信状態に応じて複数の更新用分割データを複数の通信線へ適宜に分配し、更新対象の車載通信装置へ更新用分割データを送信する構成とすることにより、複数の通信線を有効活用して更新用分割データの送信を効率よく高速に行うことができるため、複数の通信線に接続された車載通信装置の更新処理を効率よく行うことができる。   According to the present invention, the in-vehicle update device appropriately distributes the plurality of update division data to the plurality of communication lines according to the communication state of each communication line, and transmits the update division data to the in-vehicle communication device to be updated. With this configuration, the transmission of the update divided data can be performed efficiently and at high speed by effectively utilizing the plurality of communication lines, so that the in-vehicle communication device connected to the plurality of communication lines can be efficiently updated. be able to.

本実施の形態に係る更新システムの構成例を示す模式図である。FIG. 1 is a schematic diagram illustrating a configuration example of an update system according to the present embodiment. ECUの構成を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration of an ECU. ゲートウェイの構成を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of a gateway. リプロツールの構成を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of a repro tool. リプロツールによるリプロデータの送信を説明するための模式図である。FIG. 7 is a schematic diagram for explaining transmission of repro data by a repro tool. リプロツールが行うリプロデータの送信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the repro data transmission process which a repro tool performs. ゲートウェイが行うリプロデータの受信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the repro data reception process which a gateway performs. ゲートウェイが行うリプロデータの送信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the repro data transmission process which a gateway performs. ECUが行うリプロデータの受信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the repro data reception process which ECU performs. ECUが行うアプリケーションプログラムの更新処理の手順を示すフローチャートである。5 is a flowchart illustrating a procedure of an application program update process performed by an ECU. 変形例に係る更新システムの構成例を示す模式図である。It is a schematic diagram which shows the example of a structure of the update system concerning a modification.

<システム構成>
図1は、本実施の形態に係る更新システムの構成例を示す模式図である。本実施の形態に係る更新システムは、車両1に搭載された複数のECU3a〜3d,10が、通信線2a〜2c及びゲートウェイ30を介して相互に通信を行うことが可能な通信システムにおいて、各ECU3a〜3d,10が記憶しているプログラム又はデータの更新をゲートウェイ30が行う構成である。図示の例では、車両1には4つのECU3a〜3dと、1つのECU10とが備えられている。ECU3aは通信線2aに接続され、ECU3bは通信線2bに接続され、ECU3c及び3dは通信線2cに接続されている。各ECU3a〜3dは、自身が接続されている1つの通信線2a〜2cに対する情報の送受信を行うことができる。これに対してECU10は、通信線2a及び2bの2つに接続されており、両方の通信線2a及び2bに対する情報の送受信を行うことができる。例えばECU10は、ECU3aとの通信を行う際には通信線2aを使用し、ECU3bとの通信を行う際には通信線2bを使用することができる。
<System configuration>
FIG. 1 is a schematic diagram illustrating a configuration example of an update system according to the present embodiment. The update system according to the present embodiment includes a communication system in which a plurality of ECUs 3a to 3d and 10 mounted on vehicle 1 can communicate with each other via communication lines 2a to 2c and gateway 30. The configuration is such that the gateway 30 updates the programs or data stored in the ECUs 3a to 3d and 10. In the illustrated example, the vehicle 1 is provided with four ECUs 3a to 3d and one ECU 10. The ECU 3a is connected to the communication line 2a, the ECU 3b is connected to the communication line 2b, and the ECUs 3c and 3d are connected to the communication line 2c. Each of the ECUs 3a to 3d can transmit and receive information to and from one communication line 2a to 2c to which the ECU 3a to 3d is connected. On the other hand, the ECU 10 is connected to the two communication lines 2a and 2b, and can transmit and receive information to and from both the communication lines 2a and 2b. For example, the ECU 10 can use the communication line 2a when performing communication with the ECU 3a, and can use the communication line 2b when performing communication with the ECU 3b.

ECU3a〜3d,10が接続された通信線2a〜2cは、ゲートウェイ30にそれぞれ接続されている。ゲートウェイ30は、通信線2a〜2c間の通信を中継する装置である。ゲートウェイ30は、3つの通信線2a〜2cのいずれかにて受信した情報を、他の通信線2a〜2cから送信することにより通信を中継する。これにより例えばECU3aは、通信線2a、ゲートウェイ30及び通信線2bを介してECU3bとの通信を行うことが可能となる。   The communication lines 2a to 2c to which the ECUs 3a to 3d and 10 are connected are connected to the gateway 30, respectively. The gateway 30 is a device that relays communication between the communication lines 2a to 2c. The gateway 30 relays information by transmitting information received on any of the three communication lines 2a to 2c from the other communication lines 2a to 2c. Thus, for example, the ECU 3a can communicate with the ECU 3b via the communication line 2a, the gateway 30, and the communication line 2b.

またゲートウェイ30は、車両1の適所に配されたOBD(On-Board Diagnostics)コネクタ5に通信線6を介して接続されている。OBDコネクタ5は、車両1の自己診断機能による種々の情報を外部の装置が取得するためのコネクタである。本実施の形態のおいては、例えば車両1のディーラ又は整備工場等に備えられたリプログラミングツール(以下、リプロツールという)50を、車両1のOBDコネクタ5に専用の通信ケーブルを介して接続することにより、ゲートウェイ30及びリプロツール50の間で通信を行うことができる。リプロツール50は、ECU3a〜3d,10の更新用のプログラム又はデータをゲートウェイ30へ与え、ゲートウェイ30は与えられた更新用のプログラム又はデータを対象のECU3a〜3d,10へ送信し、これを受信したECU3a〜3d,10にて更新が行われる。   The gateway 30 is connected via a communication line 6 to an OBD (On-Board Diagnostics) connector 5 arranged at an appropriate position of the vehicle 1. The OBD connector 5 is a connector for an external device to obtain various information by the self-diagnosis function of the vehicle 1. In the present embodiment, for example, a reprogramming tool (hereinafter referred to as a repro tool) 50 provided at a dealer or a maintenance shop of the vehicle 1 is connected to the OBD connector 5 of the vehicle 1 via a dedicated communication cable. By doing so, communication between the gateway 30 and the repro tool 50 can be performed. The repro tool 50 gives a program or data for updating the ECUs 3a to 3d and 10 to the gateway 30, and the gateway 30 transmits the given program or data for updating to the target ECUs 3a to 3d and 10 and receives it. The update is performed by the ECUs 3a to 3d and 10 that have been performed.

図2は、ECU10の構成を示すブロック図である。本実施の形態に係るECU10は、処理部11、2つの通信部12a,12b、フラッシュメモリ13及びRAM(Random Access Memory)14等を備えて構成されている。処理部11は、CPUなどの演算処理装置を用いて構成されている。処理部11は、フラッシュメモリ13に記憶されたアプリケーションプログラム(図中ではアプリケーションと記載している)13bを読み出して実行することにより、車両1の制御処理及び種々の演算処理等を行う。また処理部11は、フラッシュメモリ13に記憶されたブートローダプログラム(図中ではブートローダと記載している)13aを読み出して実行することにより、ECU10の初期設定処理及びアプリケーションプログラム13bの更新処理等を行う。処理部11には、ブートローダプログラム13aを実行することによって、アプリケーションプログラム13bの更新処理を行う更新処理部11aがソフトウェア的な機能ブロックとして実現される。   FIG. 2 is a block diagram illustrating a configuration of the ECU 10. The ECU 10 according to the present embodiment includes a processing unit 11, two communication units 12a and 12b, a flash memory 13, a RAM (Random Access Memory) 14, and the like. The processing unit 11 is configured using an arithmetic processing device such as a CPU. The processing unit 11 reads out and executes an application program (described as an application in the figure) 13b stored in the flash memory 13 to perform control processing of the vehicle 1 and various arithmetic processing. Further, the processing unit 11 reads out and executes a boot loader program (denoted as a boot loader in the figure) 13a stored in the flash memory 13, thereby performing initial setting processing of the ECU 10, update processing of the application program 13b, and the like. . By executing the boot loader program 13a, the processing unit 11 implements an update processing unit 11a that performs an update process of the application program 13b as a software functional block.

本実施の形態に係るECU10は2つの通信部12a,12bを有しており、2つの通信線2a,2bを介して他のECU3a〜3dとの通信を行うことができる。通信部12aは、通信線2aに接続されており、通信線2aを介した通信を行う。通信部12bは、通信線2bに接続されており、通信線2bを介した通信を行う。通信部12a,12bは、処理部11から与えられた送信用の情報を電気信号に変換して通信線2a,2bへ出力することにより情報送信を行うと共に、通信線2a,2bの信号をサンプリングして取得することにより情報受信を行い、受信した情報を処理部11へ与える。処理部11は、情報送信を行う場合、いずれの通信部12a,12bにて送信を行うかを適宜に判断すればよい。   The ECU 10 according to the present embodiment has two communication units 12a and 12b, and can communicate with the other ECUs 3a to 3d via the two communication lines 2a and 2b. The communication unit 12a is connected to the communication line 2a and performs communication via the communication line 2a. The communication unit 12b is connected to the communication line 2b and performs communication via the communication line 2b. The communication units 12a and 12b perform information transmission by converting the transmission information given from the processing unit 11 into electric signals and outputting the electric signals to the communication lines 2a and 2b, and sample the signals of the communication lines 2a and 2b. By receiving the information, the information is received, and the received information is provided to the processing unit 11. When performing information transmission, the processing unit 11 may appropriately determine which of the communication units 12a and 12b performs transmission.

なお本実施の形態においては、ECU3a〜3d,10及びゲートウェイ30は、通信線2a〜2cを介して例えばCANの通信プロトコルに従った通信を行う。この場合、通信線2a〜2cはいわゆるCANバスであり、通信部12a,12bはCANコントローラを用いて構成することができる。   In the present embodiment, the ECUs 3a to 3d and 10 and the gateway 30 perform communication according to, for example, a CAN communication protocol via the communication lines 2a to 2c. In this case, the communication lines 2a to 2c are so-called CAN buses, and the communication units 12a and 12b can be configured using a CAN controller.

フラッシュメモリ13は、データ書き換え可能な不揮発性のメモリ素子であり、ブートローダプログラム13a及びアプリケーションプログラム13b等のプログラムを記憶している。また図示は省略するが、これらのプログラムの実行に必要なデータがフラッシュメモリ13に記憶されている。処理部11は、フラッシュメモリ13からこれらのプログラムを読み出して実行することにより、種々の処理を行うことができる。また処理部11は、フラッシュメモリ13に対するデータの消去及び書き込みを行うことができる。   The flash memory 13 is a data rewritable nonvolatile memory element, and stores programs such as a boot loader program 13a and an application program 13b. Although not shown, data necessary for executing these programs is stored in the flash memory 13. The processing unit 11 can perform various processes by reading and executing these programs from the flash memory 13. Further, the processing unit 11 can erase and write data in the flash memory 13.

RAM14は、例えばSRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)等のメモリ素子を用いて構成されている。処理部11は、RAM14に対してデータの読み出し及び書き込みを行うことができる。例えばRAM14は、処理部11が行う演算処理の過程で生成された情報を一時的に記憶する。また例えばRAM14は、通信部12a,12bが受信した情報を一時的に記憶する。   The RAM 14 is configured using a memory element such as an SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory). The processing unit 11 can read and write data from and to the RAM 14. For example, the RAM 14 temporarily stores information generated in the course of the arithmetic processing performed by the processing unit 11. Further, for example, the RAM 14 temporarily stores information received by the communication units 12a and 12b.

図3は、ゲートウェイ30の構成を示すブロック図である。本実施の形態に係るゲートウェイ30は、処理部31、通信部32a〜32c、フラッシュメモリ33、RAM34及びOBD通信部35等を備えて構成されている。処理部31は、CPUなどの演算処理装置を用いて構成されている。処理部31は、フラッシュメモリ33に記憶されたアプリケーションプログラム33bを読み出して実行することにより、通信線2a〜2c間の通信を中継する処理及びECU3a〜3d,10のアプリケーションプログラム13bを更新する処理等を行う。処理部31には、アプリケーションプログラム33bを実行することによって、通信の中継に係る処理を行う中継処理部31a及びECU3a〜3d,10の更新に係る処理を行う更新処理部31bがソフトウェア的な機能ブロックとして実現される。また処理部31は、フラッシュメモリ33に記憶されたブートローダプログラム33aを読み出して実行することにより、ゲートウェイ30の初期設定処理及び自身のアプリケーションプログラム33bの更新処理等を行う。   FIG. 3 is a block diagram showing a configuration of the gateway 30. The gateway 30 according to the present embodiment includes a processing unit 31, communication units 32a to 32c, a flash memory 33, a RAM 34, an OBD communication unit 35, and the like. The processing unit 31 is configured using an arithmetic processing device such as a CPU. The processing unit 31 reads out and executes the application program 33b stored in the flash memory 33, thereby processing for relaying communication between the communication lines 2a to 2c and processing for updating the application program 13b of the ECUs 3a to 3d and 10. I do. The processing unit 31 includes a relay processing unit 31a that executes processing related to communication relay and an update processing unit 31b that performs processing related to updating of the ECUs 3a to 3d and 10 by executing the application program 33b. It is realized as. Further, the processing unit 31 reads out and executes the boot loader program 33a stored in the flash memory 33, thereby performing an initial setting process of the gateway 30, a process of updating its own application program 33b, and the like.

ゲートウェイ30は3つの通信部32a〜32cを有しており、通信部32a〜32cは例えばCANコントローラを用いて構成されている。通信部32aは、通信線2aに接続されており、通信線2aを介した通信を行う。通信部32bは、通信線2bに接続されており、通信線2bを介した通信を行う。通信部32cは、通信線2cに接続されており、通信線2cを介した通信を行う。通信部32a〜32cは、処理部31から与えられた送信用の情報を電気信号に変換して通信線2a〜2cへ出力することにより情報送信を行うと共に、通信線2a〜2cの信号をサンプリングして取得することにより情報受信を行い、受信した情報を処理部31へ与える。処理部31の中継処理部31aは、いずれかの通信部32a〜32cにて情報を受信した場合に、この情報を他の通信部32a〜32cから送信することによって、通信を中継する。   The gateway 30 has three communication units 32a to 32c, and the communication units 32a to 32c are configured using, for example, a CAN controller. The communication unit 32a is connected to the communication line 2a and performs communication via the communication line 2a. The communication unit 32b is connected to the communication line 2b and performs communication via the communication line 2b. The communication unit 32c is connected to the communication line 2c and performs communication via the communication line 2c. The communication units 32a to 32c perform information transmission by converting the transmission information given from the processing unit 31 into electric signals and outputting the electric signals to the communication lines 2a to 2c, and sample the signals of the communication lines 2a to 2c. Then, the information is received, and the received information is given to the processing unit 31. When information is received in any of the communication units 32a to 32c, the relay processing unit 31a of the processing unit 31 relays the communication by transmitting the information from the other communication units 32a to 32c.

フラッシュメモリ33は、データ書き換え可能な不揮発性のメモリ素子であり、ブートローダプログラム33a及びアプリケーションプログラム33b等のプログラムを記憶している。また図示は省略するが、これらのプログラムの実行に必要なデータがフラッシュメモリ33に記憶されている。処理部31は、フラッシュメモリ33からこれらのプログラムを読み出して実行することにより、種々の処理を行うことができる。また処理部31は、フラッシュメモリ33に対するデータの消去及び書き込みを行うことができる。   The flash memory 33 is a data rewritable nonvolatile memory element, and stores programs such as a boot loader program 33a and an application program 33b. Although not shown, data necessary for executing these programs is stored in the flash memory 33. The processing unit 31 can perform various processes by reading and executing these programs from the flash memory 33. Further, the processing unit 31 can erase and write data in the flash memory 33.

RAM34は、例えばSRAM又はDRAM等のメモリ素子を用いて構成されている。処理部31は、RAM34に対してデータの読み出し及び書き込みを行うことができる。例えばRAM34は、処理部31が行う演算処理の過程で生成された情報を一時的に記憶する。また例えばRAM34は、通信部32a〜32cが受信した情報を一時的に記憶する。また例えばRAM34は、OBDコネクタ5を介してリプロツール50から受信した情報を一時的に記憶する。   The RAM 34 is configured using a memory element such as an SRAM or a DRAM. The processing unit 31 can read and write data from and to the RAM 34. For example, the RAM 34 temporarily stores information generated in the course of the arithmetic processing performed by the processing unit 31. Further, for example, the RAM 34 temporarily stores information received by the communication units 32a to 32c. Further, for example, the RAM 34 temporarily stores information received from the repro tool 50 via the OBD connector 5.

OBD通信部35は、通信線6を介してOBDコネクタ5に接続されている。OBD通信部35は、OBDコネクタ5に接続されたリプロツール50との間で通信を行う。なおOBDコネクタ5を介したゲートウェイ30のOBD通信部35とリプロツール50との通信は、CANの通信プロトコルに従うものであってもよく、これ以外の通信プロトコルに従うものであってもよい。OBD通信部35は、処理部31から与えられた送信用の情報を電気信号に変換して通信線6へ出力することにより情報送信を行うと共に、通信線6の信号をサンプリングして取得することにより情報受信を行い、受信した情報を処理部31へ与える。   The OBD communication unit 35 is connected to the OBD connector 5 via the communication line 6. The OBD communication unit 35 performs communication with the repro tool 50 connected to the OBD connector 5. Communication between the OBD communication unit 35 of the gateway 30 and the repro tool 50 via the OBD connector 5 may follow a CAN communication protocol or may follow another communication protocol. The OBD communication unit 35 performs information transmission by converting the transmission information provided from the processing unit 31 into an electric signal and outputting the electric signal to the communication line 6, and samples and acquires the signal of the communication line 6. , And gives the received information to the processing unit 31.

図4は、リプロツール50の構成を示すブロック図である。本実施の形態に係るリプロツール50は、例えば車両1のディーラ又は整備工場等に備えられた可搬型の装置であり、車両1のECU3a〜3d,10のアプリケーションプログラム13b,33bを更新する(リプログラミングする)ための装置である。作業者は、車両1の整備又は点検等の際、サーバ装置などから更新用のデータをリプロツール50にダウンロードして記憶させ、リプロツール50を専用の通信ケーブルを介して車両1のOBDコネクタ5に接続する。リプロツール50とゲートウェイ30との間で例えば認証処理などの所定の処理を行った後、リプロツール50はダウンロードした更新用のデータをゲートウェイ30へ送信し、ECU3a〜3d,10のアプリケーションプログラム13b,33bの更新を開始する。   FIG. 4 is a block diagram showing the configuration of the repro tool 50. The repro tool 50 according to the present embodiment is a portable device provided in, for example, a dealer or a maintenance shop of the vehicle 1, and updates the application programs 13b and 33b of the ECUs 3a to 3d and 10 of the vehicle 1 (reproduced). Programming). At the time of maintenance or inspection of the vehicle 1, the operator downloads update data from a server device or the like to the repro tool 50 and stores it, and connects the repro tool 50 to the OBD connector 5 of the vehicle 1 via a dedicated communication cable. Connect to After performing a predetermined process such as an authentication process between the repro tool 50 and the gateway 30, the repro tool 50 transmits the downloaded update data to the gateway 30, and executes the application programs 13b and 10b of the ECUs 3a to 3d and 10. 33b is started to be updated.

リプロツール50は、処理部51、記憶部52及びOBD通信部53等を備えて構成されている。処理部51は、CPUなどの演算処理装置を用いて構成されている。処理部51は、記憶部52又は図示しないROM(Read Only Memory)等に記憶されたプログラムを読み出して実行することにより、ECU3a〜3d,10の更新に係る種々の処理を行う。処理部51には、プログラムの実行によって、ECU3a〜3d,10の更新処理を行う更新処理部51aがソフトウェア的な機能ブロックとして実現される。   The repro tool 50 includes a processing unit 51, a storage unit 52, an OBD communication unit 53, and the like. The processing unit 51 is configured using an arithmetic processing device such as a CPU. The processing unit 51 performs various processes related to updating the ECUs 3a to 3d and 10 by reading and executing a program stored in the storage unit 52 or a ROM (Read Only Memory) not shown. In the processing unit 51, an update processing unit 51a that performs an update process of the ECUs 3a to 3d and 10 is realized as a software functional block by executing a program.

記憶部52は、フラッシュメモリ又はEEPROM等の不揮発性のメモリ素子を用いて構成されていてもよく、SRAM又はDRAM等の揮発性のメモリ素子を用いて構成されていてもよく、ハードディスクなどの磁気記憶装置を用いて構成されていてもよい。記憶部52は、ECU3a〜3d,10の更新に用いられるリプログラミングデータ(以下、リプロデータという)52aが記憶されている。本実施の形態に係る更新処理は、例えばECU10のフラッシュメモリ13に記憶されたアプリケーションプログラム13bの一部又は全部を、新たなアプリケーションプログラムにて置き換える(上書きする)処理である。リプロツール50の記憶部52にダウンロードされて記憶されるリプロデータ52aは、置き換えられる新たなアプリケーションプログラムそのものである。   The storage unit 52 may be configured using a nonvolatile memory element such as a flash memory or an EEPROM, may be configured using a volatile memory element such as an SRAM or a DRAM, and may be configured using a magnetic memory such as a hard disk. It may be configured using a storage device. The storage unit 52 stores reprogramming data (hereinafter referred to as repro data) 52a used for updating the ECUs 3a to 3d and 10. The update process according to the present embodiment is, for example, a process of replacing (overwriting) a part or all of the application program 13b stored in the flash memory 13 of the ECU 10 with a new application program. The repro data 52a downloaded and stored in the storage unit 52 of the repro tool 50 is the new application program itself to be replaced.

OBD通信部53は、車両1のOBDコネクタ5に接続される通信ケーブルを有している。なおこの通信ケーブルは、OBD通信部53に着脱可能な構成であってもよく、OBD通信部53に固定された構成であってもよい。OBD通信部53は、車両1のOBDコネクタ5に通信ケーブルを介して接続された状態において、車両1のゲートウェイ30との間で通信を行う。OBD通信部53は、処理部51から与えられた送信用の情報を電気信号に変換して通信ケーブルへ出力することにより情報送信を行うと共に、通信ケーブル上の信号をサンプリングして取得することにより情報受信を行い、受信した情報を処理部51へ与える。   The OBD communication unit 53 has a communication cable connected to the OBD connector 5 of the vehicle 1. This communication cable may be configured to be detachable from the OBD communication unit 53 or may be configured to be fixed to the OBD communication unit 53. The OBD communication unit 53 communicates with the gateway 30 of the vehicle 1 while being connected to the OBD connector 5 of the vehicle 1 via a communication cable. The OBD communication unit 53 performs information transmission by converting the transmission information provided from the processing unit 51 into an electric signal and outputting the electric signal to a communication cable, and also obtains a signal on the communication cable by sampling the signal. Information is received, and the received information is provided to the processing unit 51.

<更新処理>
車両1のECU10の更新処理を行う場合、例えばディーラ又は整備工場等の作業者は、リプロツール50の記憶部52に所望のリプロデータ52aを記憶する作業を行う。リプロデータ52aは、例えば無線又は有線の通信によりサーバ装置などからリプロツール50へダウンロードされるものであってもよく、また例えばメモリカード又は光ディスク等の記録媒体を介してリプロツール50に取得されるものであってもよい。リプロデータ52aを記憶部52に記憶した後、作業者は、リプロツール50の通信ケーブルを車両1のOBDコネクタ5に接続する。これによりリプロツール50と車両1のゲートウェイ30との間で認証処理が行われ、認証処理に成功した場合にリプロツール50とゲートウェイ30との通信が可能となり、更新処理を行うことが可能な状態となる。
<Update processing>
When the update process of the ECU 10 of the vehicle 1 is performed, for example, an operator such as a dealer or a maintenance shop performs an operation of storing desired repro data 52 a in the storage unit 52 of the repro tool 50. The repro data 52a may be downloaded to the repro tool 50 from a server device or the like by wireless or wired communication, for example, or acquired by the repro tool 50 via a recording medium such as a memory card or an optical disk. It may be something. After storing the repro data 52a in the storage unit 52, the operator connects the communication cable of the repro tool 50 to the OBD connector 5 of the vehicle 1. As a result, the authentication process is performed between the repro tool 50 and the gateway 30 of the vehicle 1, and when the authentication process is successful, the communication between the repro tool 50 and the gateway 30 becomes possible, and the update process can be performed. It becomes.

例えば作業者がリプロツール50に対して更新処理の開始操作を行った場合に、リプロツール50による更新処理が開始される。リプロツール50の更新処理部51aは、更新処理を行う要求をOBD通信部53から車両1のゲートウェイ30へ送信する。この要求に対してゲートウェイ30からの更新処理を許可する旨の応答をOBD通信部53にて受信した場合、リプロツール50の更新処理部51aは、更新処理を開始する。更新処理部51aは、記憶部52に記憶されたリプロデータ52aを読み出して、OBD通信部53からゲートウェイ30へ送信する。   For example, when the worker performs an operation of starting the update process on the repro tool 50, the update process by the repro tool 50 is started. The update processing unit 51a of the repro tool 50 transmits a request for performing an update process from the OBD communication unit 53 to the gateway 30 of the vehicle 1. When the OBD communication unit 53 receives a response to the request from the gateway 30 indicating that the update process is permitted, the update processing unit 51a of the repro tool 50 starts the update process. The update processing unit 51a reads out the repro data 52a stored in the storage unit 52, and transmits the repro data 52a from the OBD communication unit 53 to the gateway 30.

図5は、リプロツール50によるリプロデータ52aの送信を説明するための模式図である。上述のように更新処理ではECU10のフラッシュメモリ13に記憶されたアプリケーションプログラム13bが新たなアプリケーションプログラムに置き換えられるため、リプロツール50はこの置き換えるアプリケーションプログラムをゲートウェイ30へ送信する必要がある。リプロツール50の記憶部52に記憶されるリプロデータ52aは、置き換えられるアプリケーションプログラムを所定長(例えば数バイトから数十バイト程度)のデータに分割したものを集めたデータ群である。図5においてはアプリケーションプログラムをN個に分割し、リプロデータ1〜Nとして図示してある。なお本実施の形態においては、アプリケーションプログラムが予め分割されたものをリプロツール50の記憶部52に記憶する構成とするが、これに限るものではなく、リプロツール50がアプリケーションプログラムを分割する処理を行ってもよい。   FIG. 5 is a schematic diagram for explaining transmission of the repro data 52a by the repro tool 50. As described above, in the updating process, the application program 13b stored in the flash memory 13 of the ECU 10 is replaced with a new application program. Therefore, the repro tool 50 needs to transmit the replaced application program to the gateway 30. The repro data 52a stored in the storage unit 52 of the repro tool 50 is a data group obtained by dividing the application program to be replaced into data of a predetermined length (for example, about several bytes to several tens of bytes). In FIG. 5, the application program is divided into N pieces and is shown as repro data 1 to N. In the present embodiment, a configuration in which the application program is divided in advance is stored in the storage unit 52 of the repro tool 50. However, the present invention is not limited to this. May go.

リプロツール50の更新処理部51aは、記憶部52から分割されたリプロデータ(以下、分割データという)を順に読み出してOBD通信部53へ与えることにより、分割データをゲートウェイ30へ順に送信する。このときに更新処理部51aは、分割データに対して順序情報を付与する。付与された順序情報は、例えばヘッダ又はフッタ等に格納されて、分割データと共にリプロツール50からゲートウェイ30へ送信される。なおリプロツール50は、分割データの送信に先立って、更新用のアプリケーションプログラムが何個に分割されて送信されるか、即ち図5においてNの値をゲートウェイ30へ通知してもよい。   The update processing unit 51 a of the repro tool 50 sequentially reads the divided repro data (hereinafter, referred to as “divided data”) from the storage unit 52 and supplies the repro data to the OBD communication unit 53, thereby sequentially transmitting the divided data to the gateway 30. At this time, the update processing unit 51a adds order information to the divided data. The assigned order information is stored in, for example, a header or a footer, and transmitted from the repro tool 50 to the gateway 30 together with the divided data. Prior to the transmission of the divided data, the repro tool 50 may notify the gateway 30 of how many update application programs are divided and transmitted, that is, the value of N in FIG.

図6は、リプロツール50が行うリプロデータ52aの送信処理の手順を示すフローチャートである。リプロツール50の更新処理部51aは、OBD通信部53からゲートウェイ30へ更新処理を行う要求を送信する(ステップS1)。更新処理部51aは、この要求に対してゲートウェイ30から与えられる応答が更新処理を許可するものであるか否かを判定する(ステップS2)。更新処理を許可しない旨の応答である場合(S2:NO)、更新処理部51aは、更新処理を終了する。   FIG. 6 is a flowchart illustrating a procedure of the transmission process of the repro data 52a performed by the repro tool 50. The update processing unit 51a of the repro tool 50 transmits a request for performing an update process from the OBD communication unit 53 to the gateway 30 (Step S1). The update processing unit 51a determines whether or not the response given from the gateway 30 to this request permits the update process (step S2). If the response is that the update process is not permitted (S2: NO), the update processing unit 51a ends the update process.

更新処理を行う許可がゲートウェイ30から与えられた場合(S2:YES)、更新処理部51aは、記憶部52から分割データの1つを読み出す(ステップS3)。更新処理部51aは、読み出した分割データに順序情報を付与する(ステップS4)。更新処理部51aは、順序情報と共に分割データをOBD通信部53へ与えることにより、分割データをゲートウェイ30へ送信する(ステップS5)。更新処理部51aは、記憶部52に記憶したリプロデータ52aの全ての分割データの送信を終了したか否かを判定する(ステップS6)。全ての分割データの送信を終了していない場合(S6:NO)、更新処理部51aは、ステップS3へ処理を戻し、次の分割データの送信を行う。全ての分割データの送信を終了した場合(S6:YES)、更新処理部51aは、更新処理を終了する。   When permission to perform the update process is given from the gateway 30 (S2: YES), the update processing unit 51a reads one of the divided data from the storage unit 52 (Step S3). The update processing unit 51a adds order information to the read divided data (step S4). The update processing unit 51a transmits the divided data to the gateway 30 by providing the divided data together with the order information to the OBD communication unit 53 (Step S5). The update processing unit 51a determines whether transmission of all the divided data of the repro data 52a stored in the storage unit 52 has been completed (Step S6). If the transmission of all the divided data has not been completed (S6: NO), the update processing unit 51a returns the process to step S3, and transmits the next divided data. When the transmission of all the divided data ends (S6: YES), the update processing unit 51a ends the update processing.

OBDコネクタ5を介してリプロツール50から更新処理の要求を与えられたゲートウェイ30は、例えば車両1のイグニッションスイッチの状態又は各種のセンサの検知結果等に基づいて、更新処理を許可するか否かを判定し、判定結果を応答としてリプロツール50へ送信する。ゲートウェイ30は、例えば車両1が走行していると判定される場合に更新処理を許可せず、走行していないと判定される場合に更新処理を許可する構成とすることができる。   The gateway 30 that has received the update processing request from the repro tool 50 via the OBD connector 5 determines whether to permit the update processing based on, for example, the state of the ignition switch of the vehicle 1 or the detection results of various sensors. And transmits the result of the determination to the repro tool 50 as a response. For example, the gateway 30 may be configured not to permit the update process when it is determined that the vehicle 1 is traveling, and to allow the update process when it is determined that the vehicle 1 is not traveling.

更新処理を許可する応答がゲートウェイ30からリプロツール50へ送信された場合、上述のようにリプロツール50はリプロデータ52aの分割データの送信を開始する。ゲートウェイ30の更新処理部31bは、リプロツール50から送信される分割データをOBD通信部35にて受信し、受信した分割データをRAM34に記憶する。   When a response permitting the update process is transmitted from the gateway 30 to the repro tool 50, the repro tool 50 starts transmitting the divided data of the repro data 52a as described above. The update processing unit 31b of the gateway 30 receives the divided data transmitted from the repro tool 50 by the OBD communication unit 35, and stores the received divided data in the RAM.

またゲートウェイ30の更新処理部31bは、更新処理の対象が複数の通信線2a,2bに接続されたECU10である場合、リプロツール50からの分割データの受信処理と並行して、各通信線2a,2bの通信状態を判定する処理を行う。本実施の形態において更新処理部31bは、通信状態として各通信線2a,2bの負荷率を算出し、算出した負荷率に応じて更新処理に利用する通信線2a,2bの利用率を決定する。更新処理部31bは、所定時間内において通信線2a,2bが使用されていた(メッセージが送受信された)時間を調べ、所定時間に対する使用時間の割合を負荷率として算出する。   When the update processing target is the ECU 10 connected to the plurality of communication lines 2a and 2b, the update processing unit 31b of the gateway 30 performs the processing of each communication line 2a in parallel with the process of receiving the divided data from the repro tool 50. , 2b are determined. In the present embodiment, the update processing unit 31b calculates the load ratio of each of the communication lines 2a and 2b as the communication state, and determines the utilization ratio of the communication lines 2a and 2b to be used for the update process according to the calculated load ratio. . The update processing unit 31b checks the time during which the communication lines 2a and 2b have been used (messages have been transmitted / received) within the predetermined time, and calculates the ratio of the usage time to the predetermined time as a load factor.

例えば更新処理部31bの算出結果が、通信線2aの負荷率が20%であり、通信線2bの負荷率が40%であったとする。また各通信線2a,2bの負荷率の上限が50%と設定されているものとする。この場合に更新処理部31bは、通信線2aの余裕度は50%−20%=30%であり、通信線2bの余裕度は50%−40%=10%であると判断する。これらの結果から更新処理部31bは、RAM14に蓄積された複数の分割データを、通信線2a:通信線2b=3:1の比率で分配して送信する。即ち更新処理部31bは、RAM14に4つの分割データが蓄積されている場合、このうちの3つを通信線2aから送信し、1つを通信線2bから送信する。   For example, it is assumed that the calculation result of the update processing unit 31b indicates that the load factor of the communication line 2a is 20% and the load factor of the communication line 2b is 40%. It is also assumed that the upper limit of the load factor of each communication line 2a, 2b is set to 50%. In this case, the update processing unit 31b determines that the margin of the communication line 2a is 50% -20% = 30% and the margin of the communication line 2b is 50% -40% = 10%. From these results, the update processing unit 31b distributes and transmits the plurality of divided data items stored in the RAM 14 at a ratio of communication line 2a: communication line 2b = 3: 1. That is, when four divided data are stored in the RAM 14, the update processing unit 31b transmits three of the four divided data from the communication line 2a and transmits one of the divided data from the communication line 2b.

通信線2aの負荷率がX%であり、通信線2bの負荷率がY%であり、各通信線2a,2bの負荷率の上限がQ%に設定されている場合、更新処理部31bは、通信線2a:通信線2b=(Q−X):(Q−Y)の比率で分割データを分配する。また例えば、更新対象のECUが3つの通信線2a〜2cに接続されており、通信線2aの負荷率がX%であり、通信線2bの負荷率がY%であり、通信線2cの負荷率がZ%であり、各通信線2a〜2cの負荷率の上限がQ%に設定されている場合、更新処理部31bは、通信線2a:通信線2b:通信線2c=(Q−X):(Q−Y):(Q−Z)の比率で分割データを分配すればよい。更新対象のECUが4つ以上の通信線に接続されている場合も同様であるため、説明は省略する。   When the load factor of the communication line 2a is X%, the load factor of the communication line 2b is Y%, and the upper limit of the load factor of each of the communication lines 2a and 2b is set to Q%, the update processing unit 31b , Communication line 2a: communication line 2b = (QX) :( QY). Further, for example, the ECU to be updated is connected to the three communication lines 2a to 2c, the load factor of the communication line 2a is X%, the load factor of the communication line 2b is Y%, and the load of the communication line 2c. When the rate is Z% and the upper limit of the load rate of each of the communication lines 2a to 2c is set to Q%, the update processing unit 31b sets the communication line 2a: the communication line 2b: the communication line 2c = (Q-X ): The divided data may be distributed at a ratio of (QY) :( QZ). The same applies to the case where the ECU to be updated is connected to four or more communication lines, and a description thereof will be omitted.

図7は、ゲートウェイ30が行うリプロデータ52aの受信処理の手順を示すフローチャートである。ゲートウェイ30の更新処理部31bは、リプロツール50から更新処理を行う要求をOBD通信部35にて受信したか否かを判定する(ステップS11)。更新処理の要求を受信していない場合(S11:NO)、更新処理部31bは、要求を受信するまで待機する。更新処理の要求を受信した場合(S11:YES)、更新処理部31bは、更新処理を許可する旨の応答を、OBD通信部35からリプロツール50へ送信する(ステップS12)。なお本フローチャートにおいては、更新処理を許可しない場合の処理手順を省略する。   FIG. 7 is a flowchart illustrating a procedure of the reception processing of the repro data 52a performed by the gateway 30. The update processing unit 31b of the gateway 30 determines whether the OBD communication unit 35 has received a request for performing an update process from the repro tool 50 (step S11). When the update processing request has not been received (S11: NO), the update processing unit 31b waits until the request is received. When the update processing request is received (S11: YES), the update processing unit 31b transmits a response to the effect that the update processing is permitted from the OBD communication unit 35 to the repro tool 50 (step S12). Note that, in this flowchart, the processing procedure when the update processing is not permitted is omitted.

その後、更新処理部31bは、OBD通信部35にてリプロツール50からリプロデータ52aの分割データを受信したか否かを判定する(ステップS13)。分割データを受信していない場合(S13:NO)、更新処理部31bは、分割データを受信するまで待機する。分割データを受信した場合(S13:YES)、更新処理部31bは、受信した分割データを(この分割データに付された順序情報と共に)RAM34に記憶する(ステップS14)。更新処理部31bは、リプロデータ52aの全ての分割データを受信したか否かを判定する(ステップS15)。全ての分割データを受信していない場合(S15:NO)、更新処理部31bは、ステップS13へ処理を戻し、分割データの受信を継続する。全ての分割データを受信した場合(S15:YES)、更新処理部31bは、受信処理を終了する。   Thereafter, the update processing unit 31b determines whether or not the OBD communication unit 35 has received the divided data of the repro data 52a from the repro tool 50 (Step S13). If the divided data has not been received (S13: NO), the update processing unit 31b waits until the divided data is received. If the divided data is received (S13: YES), the update processing unit 31b stores the received divided data in the RAM 34 (along with the order information added to the divided data) (step S14). The update processing unit 31b determines whether or not all the divided data of the repro data 52a have been received (step S15). If all the divided data have not been received (S15: NO), the update processing unit 31b returns the process to step S13 and continues to receive the divided data. When all the divided data have been received (S15: YES), the update processing unit 31b ends the reception processing.

図8は、ゲートウェイ30が行うリプロデータ52aの送信処理の手順を示すフローチャートであり、リプロツール50からの更新処理要求に対する許可応答を行った後、上述の受信処理と並行して行われる処理である。ゲートウェイ30の更新処理部31bは、更新対象のECU10が接続されている複数の通信線2a,2bについて所定時間中に通信が行われた時間を調べることにより、各通信線2a,2bの負荷率を算出する(ステップS21)。更新処理部31bは、予め定められた負荷率の上限を読み出す(ステップS22)。更新処理部31bは、ステップS21にて算出した負荷率とステップS22にて読み出した上限とに基づいて、各通信線2a,2bの余裕度を算出する(ステップS23)。更新処理部31bは、算出した各通信線2a,2bの余裕度に基づいて、複数の通信線2a,2bに対する分割データの分配比率を決定する(ステップS24)。   FIG. 8 is a flowchart showing the procedure of the transmission process of the repro data 52a performed by the gateway 30. The process is performed in parallel with the above-described reception process after a permission response to the update process request from the repro tool 50 is performed. is there. The update processing unit 31b of the gateway 30 checks the time during which communication has been performed within a predetermined time for the plurality of communication lines 2a and 2b to which the ECU 10 to be updated is connected, and thereby determines the load factor of each of the communication lines 2a and 2b. Is calculated (step S21). The update processing unit 31b reads a predetermined upper limit of the load factor (Step S22). The update processing unit 31b calculates the margin of each of the communication lines 2a and 2b based on the load factor calculated in step S21 and the upper limit read in step S22 (step S23). The update processing unit 31b determines the distribution ratio of the divided data to the plurality of communication lines 2a, 2b based on the calculated margin of each of the communication lines 2a, 2b (step S24).

更新処理部31bは、RAM34に分割データが記憶されているか否かを判定する(ステップS25)。分割データが記憶されていない場合(S25:NO)、更新処理部31bは、リプロツール50から分割データを受信してRAM34に記憶するまで待機する。分割データが記憶されている場合(S25:YES)、更新処理部31bは、RAM34から1つの分割データを読み出す(ステップS26)。なおこのときに更新処理部31bは、分割データに付された順序情報を調べ、最も順序が早い分割データを読み出すことが好ましい。更新処理部31bは、ステップS24にて決定した分配比率に基づいて、複数の通信線2a,2bのうち、今回の分割データの送信先とする通信線2a,2bを1つ決定する(ステップS27)。更新処理部31bは、ステップS26にて読み出した分割データを、ステップS27にて決定した通信線2a,2bにて送信する(ステップS28)。   The update processing unit 31b determines whether or not the divided data is stored in the RAM 34 (Step S25). When the divided data is not stored (S25: NO), the update processing unit 31b waits until the divided data is received from the repro tool 50 and stored in the RAM. When the divided data is stored (S25: YES), the update processing unit 31b reads one divided data from the RAM 34 (Step S26). At this time, it is preferable that the update processing unit 31b examines the order information added to the divided data and reads out the divided data having the earliest order. The update processing unit 31b determines one of the communication lines 2a, 2b to be the transmission destination of the current divided data among the plurality of communication lines 2a, 2b based on the distribution ratio determined in step S24 (step S27). ). The update processing unit 31b transmits the divided data read in step S26 through the communication lines 2a and 2b determined in step S27 (step S28).

更新処理部31bは、ECU10へ送信すべきリプロデータ52aの全ての分割データを送信したか否かを判定する(ステップS29)。全ての分割データを送信していない場合(S29:NO)、更新処理部31bは、ステップS25へ処理を戻し、分割データの送信を継続して行う。全ての分割データを送信した場合(S29:YES)、更新処理部31bは、送信処理を終了する。   The update processing unit 31b determines whether or not all the divided data of the repro data 52a to be transmitted to the ECU 10 has been transmitted (step S29). If not all the divided data has been transmitted (S29: NO), the update processing unit 31b returns the process to step S25 and continues to transmit the divided data. When all the divided data have been transmitted (S29: YES), the update processing unit 31b ends the transmission processing.

ゲートウェイ30により複数の通信線2a,2bを介して送信されたリプロデータ52aの分割データは、この通信線2a,2bに接続されたECU10にて受信される。分割データを受信したECU10は、受信した分割データをRAM14に記憶する。なお、ゲートウェイ30が順序情報に示される順序で分割データを送信した場合であっても、複数の通信線2a,2bを介して分割データを受信するECU10では、必ずしも順序情報に示される順序で分割データが受信されるとは限らない。   The divided data of the repro data 52a transmitted by the gateway 30 via the plurality of communication lines 2a and 2b is received by the ECU 10 connected to the communication lines 2a and 2b. The ECU 10 that has received the divided data stores the received divided data in the RAM 14. Even if the gateway 30 transmits the divided data in the order shown in the order information, the ECU 10 that receives the divided data via the plurality of communication lines 2a and 2b does not necessarily split the data in the order shown in the order information. Data is not necessarily received.

ECU10の更新処理部11aは、全ての分割データを受信した後でリプロデータ52aを復元し、フラッシュメモリ13に記憶されたアプリケーションプログラム13bを、リプロデータ52aとして与えられたアプリケーションプログラムに置き換える処理を行うことで更新処理を行うことができる。ただし更新処理部11aは、全ての分割データを受信し終える前であっても、受信済みの分割データを用いて部分的にアプリケーションプログラム13bの置き換えを行ってもよく、これにより更新処理を高速化することが可能である。   The update processing unit 11a of the ECU 10 restores the repro data 52a after receiving all the divided data, and performs a process of replacing the application program 13b stored in the flash memory 13 with the application program given as the repro data 52a. Thus, the updating process can be performed. However, the update processing unit 11a may partially replace the application program 13b using the received divided data even before the reception of all the divided data, thereby speeding up the update processing. It is possible to do.

図9は、ECU10が行うリプロデータ52aの受信処理の手順を示すフローチャートである。ECU10の更新処理部11aは、通信部12a,12bのいずれかにてゲートウェイ30からのリプロデータ52aの分割データを受信したか否かを判定する(ステップS41)。いずれの通信部12a,12bも分割データを受信していない場合(S41:NO)、更新処理部11aは、分割データを受信するまで待機する。分割データを受信した場合(S41:YES)、更新処理部11aは、受信したデータをRAM14に記憶する(ステップS42)。更新処理部11aは、リプロデータ52aの全ての分割データを受信したか否かを判定する(ステップS43)。全ての分割データを受信していない場合(S43:NO)、更新処理部11aは、ステップS41へ処理を戻し、分割データの受信を継続する。全ての分割データを受信した場合(S43:YES)、更新処理部11aは、受信処理を終了する。   FIG. 9 is a flowchart illustrating a procedure of a process of receiving the repro data 52a performed by the ECU 10. The update processing unit 11a of the ECU 10 determines whether one of the communication units 12a and 12b has received the divided data of the repro data 52a from the gateway 30 (Step S41). When neither of the communication units 12a and 12b has received the divided data (S41: NO), the update processing unit 11a waits until receiving the divided data. When the divided data is received (S41: YES), the update processing unit 11a stores the received data in the RAM 14 (Step S42). The update processing unit 11a determines whether or not all the divided data of the repro data 52a have been received (Step S43). When all the divided data have not been received (S43: NO), the update processing unit 11a returns the process to step S41 and continues to receive the divided data. When all the divided data have been received (S43: YES), the update processing unit 11a ends the reception processing.

図10は、ECU10が行うアプリケーションプログラム13bの更新処理の手順を示すフローチャートである。なお本処理では、書き込み対象とする分割データの順序情報を記憶する変数nを用いるが、この変数は例えば処理部11内のレジスタなどを用いて実現され得る。ECU10の更新処理部11aは、まず変数nの値を1に初期化する(ステップS51)。次いで更新処理部11aは、n番目を示す順序情報が付された分割データがRAM14に記憶されているか否かを判定する(ステップS52)。n番目の分割データが記憶されていない場合(S52:NO)、更新処理部11aは、n番目の分割データがRAM14に記憶されるまで待機する。   FIG. 10 is a flowchart illustrating a procedure of an update process of the application program 13b performed by the ECU 10. In this processing, a variable n for storing the order information of the divided data to be written is used. This variable can be realized by using, for example, a register in the processing unit 11. The update processing unit 11a of the ECU 10 first initializes the value of the variable n to 1 (Step S51). Next, the update processing unit 11a determines whether or not the divided data to which the n-th order information is added is stored in the RAM 14 (Step S52). If the n-th divided data is not stored (S52: NO), the update processing unit 11a waits until the n-th divided data is stored in the RAM 14.

n番目の分割データがRAM14に記憶されている場合(S52:YES)、更新処理部11aは、フラッシュメモリ13に記憶されたアプリケーションプログラム13bの一部を、RAM14に記憶されたn番目の分割データで置き換える処理を行う(ステップS53)。このときに更新処理部11aは、フラッシュメモリ13からアプリケーションプログラム13bの該当箇所を消去し、消去した個所にn番目の分割データを書き込むことで置き換えを行うことができる。ただし更新処理部11aは、最初にアプリケーションプログラム13bの全てを消去し、フラッシュメモリ13の空き領域にn番目の分割データを書き込んでもよい。   When the n-th divided data is stored in the RAM 14 (S52: YES), the update processing unit 11a replaces a part of the application program 13b stored in the flash memory 13 with the n-th divided data stored in the RAM 14. (Step S53). At this time, the update processing unit 11a can perform the replacement by erasing the relevant portion of the application program 13b from the flash memory 13 and writing the n-th divided data in the erased location. However, the update processing unit 11a may first erase the entire application program 13b and write the n-th divided data in a free area of the flash memory 13.

フラッシュメモリ13への分割データの書き込み完了後、更新処理部11aは、変数nの値に1を加算する(ステップS54)。更新処理部11aは、変数nの値が分割データの数Nを超えるか否かを判定する(ステップS55)。変数nの値が分割データの数Nを超えない場合(S55:NO)、更新処理部11aは、ステップS52へ処理を戻し、分割データの書き込みを継続して行う。変数nの値が分割データの数Nを超えた場合(S55:YES)、更新処理部11aは、更新処理を終了する。   After the completion of writing the divided data into the flash memory 13, the update processing unit 11a adds 1 to the value of the variable n (Step S54). The update processing unit 11a determines whether the value of the variable n exceeds the number N of divided data (Step S55). If the value of the variable n does not exceed the number N of the divided data (S55: NO), the update processing unit 11a returns the process to step S52 and continues to write the divided data. When the value of the variable n exceeds the number N of divided data (S55: YES), the update processing unit 11a ends the update processing.

<まとめ>
以上の構成の本実施の形態に係る更新システムは、2つの通信線2a、2bに接続されたECU10に対して、この2つの通信線2a,2bに接続されたゲートウェイ30が更新用のリプロデータ52aを送信することによって、ECU10の更新処理を行う。ゲートウェイ30は、リプロデータ52aを複数に分割した分割データをRAM34に記憶する。ゲートウェイ30は、通信線2a,2b毎の通信状態を判定し、判定した通信状態に応じて複数の分割データを複数の通信線2a,2bに適宜に分配し、複数の分割データを複数の通信線2a,2bを介してECU10へ送信する。これによりゲートウェイ30は、複数の通信線2a,2bを有効活用して、ECU10への複数の分割データの送信を効率よく高速に行うことが可能となる。
<Summary>
In the updating system according to the present embodiment having the above-described configuration, the gateway 30 connected to the two communication lines 2a and 2b transmits renewal data to the ECU 10 connected to the two communication lines 2a and 2b. By transmitting 52a, the update process of the ECU 10 is performed. The gateway 30 stores the divided data obtained by dividing the repro data 52a into a plurality of pieces in the RAM. The gateway 30 determines a communication state for each of the communication lines 2a and 2b, appropriately distributes a plurality of divided data to the plurality of communication lines 2a and 2b in accordance with the determined communication state, and divides the plurality of divided data into a plurality of communication lines. The signal is transmitted to the ECU 10 via the lines 2a and 2b. Thereby, the gateway 30 can efficiently utilize the plurality of communication lines 2a and 2b to transmit the plurality of divided data to the ECU 10 efficiently and at high speed.

またゲートウェイ30は、更新対象となるECU10が接続された複数の通信線2a,2bについて、通信線毎の負荷率を算出する。ゲートウェイ30は、例えば低負荷の通信線2a,2bに対して優先的に分割データを分配するなど、判定した負荷率に応じた分割データの分配を行うことができる。これによりゲートウェイ30は、複数の通信線2a,2bを効率よく利用することができる。   The gateway 30 calculates a load factor for each of the communication lines 2a and 2b to which the ECU 10 to be updated is connected. The gateway 30 can distribute the divided data according to the determined load factor, for example, preferentially distributing the divided data to the low-load communication lines 2a and 2b. Thereby, the gateway 30 can efficiently use the plurality of communication lines 2a and 2b.

また本実施の形態に係る更新システムは、ゲートウェイ30とは異なるリプロツール50が、リプロデータ52aの分割データを記憶部52に記憶しておく。更新処理を行う際には、リプロツール50からゲートウェイ30へリプロデータ52aの分割データが送信され、この分割データがゲートウェイ30からECU10へ与えられる。これによりゲートウェイ30は、リプロデータ52aを記憶しておく必要がなく、リプロツール50から与えられたリプロデータ52aの分割データをRAM34に一時的に記憶しておけばよい。   In the update system according to the present embodiment, a repro tool 50 different from the gateway 30 stores the divided data of the repro data 52a in the storage unit 52. When performing the update process, the divided data of the repro data 52 a is transmitted from the repro tool 50 to the gateway 30, and the divided data is provided from the gateway 30 to the ECU 10. This eliminates the need for the gateway 30 to store the repro data 52a, and may temporarily store the divided data of the repro data 52a given from the repro tool 50 in the RAM 34.

またリプロツール50は、リプロデータ52aを分割した分割データに対して、これらを復元するための順序情報を付してゲートウェイ30へ送信する。ゲートウェイ30は、リプロツール50から分割データを受信した場合、順序情報と共に分割データをRAM34に記憶しておく。またゲートウェイ30は、順序情報が付された分割データをECU10に対して送信する。これにより、複数の通信線2a,2bを介してリプロデータ52aの分割データを受信したECU10は、分割データの順序と受信順序とが異なる場合であっても、複数の分割データから元のリプロデータ52aを復元することができる。   In addition, the repro tool 50 transmits the divided data obtained by dividing the repro data 52a to the gateway 30 with order information for restoring them. When receiving the divided data from the repro tool 50, the gateway 30 stores the divided data in the RAM 34 together with the order information. The gateway 30 transmits the divided data to which the order information is added to the ECU 10. Thus, the ECU 10 that has received the divided data of the repro data 52a via the plurality of communication lines 2a and 2b can regenerate the original repro data from the plurality of divided data even when the order of the divided data and the receiving order are different. 52a can be restored.

またECU10は、自身の処理に用いるアプリケーションプログラム13bを記憶したフラッシュメモリ13とは別に、複数の通信線2a,2bを介してゲートウェイ30から受信したリプロデータ52aの分割データを一時的に記憶するRAM14を有する。ECU10は、分割データに付された順序情報に基づいて、RAM14に記憶された分割データを用いてフラッシュメモリ13に記憶されたアプリケーションプログラム13bを更新する処理を行う。これにより、複数の通信線2a,2bを介して順不同に受信される分割データを用いて、ECU10がアプリケーションプログラム13bの更新処理を確実に行うことができる。   In addition to the flash memory 13 storing the application program 13b used for its own processing, the ECU 10 temporarily stores the divided data of the repro data 52a received from the gateway 30 via the plurality of communication lines 2a, 2b. Having. The ECU 10 performs a process of updating the application program 13b stored in the flash memory 13 using the divided data stored in the RAM 14 based on the order information attached to the divided data. Thus, the ECU 10 can reliably perform the update process of the application program 13b using the divided data received in any order via the plurality of communication lines 2a and 2b.

なお本実施の形態においては、更新対象のECU10に対してゲートウェイ30がリプロデータ52aの分割データを送信する構成としたが、これに限るものではない。例えば他のECU3a〜3dがリプロデータ52aの分割データをECU10に対して送信する構成としてもよく、更には車両1に搭載されたカーナビゲーション装置などの他の装置が分割データをECU10に送信する構成としてもよい。また更新対象の装置をECU10としたが、これに限るものではなく、車両1に搭載されたECU10以外の種々の装置が更新処理の対象となり得る。またゲートウェイ30へリプロデータ52aの分割データを送信する装置をリプロツール50としたが、これに限るものではなく、例えばノートパソコン、スマートフォン又はタブレット型端末等のような汎用の可搬型装置を用いてもよく、車両1のディーラ又は整備工場等に設置された可搬型ではない据置型の装置であってもよい。   In the present embodiment, the gateway 30 transmits the divided data of the repro data 52a to the ECU 10 to be updated. However, the present invention is not limited to this. For example, the other ECUs 3a to 3d may be configured to transmit the divided data of the repro data 52a to the ECU 10, and further the other device such as a car navigation device mounted on the vehicle 1 transmits the divided data to the ECU 10. It may be. Although the device to be updated is the ECU 10, the present invention is not limited to this, and various devices other than the ECU 10 mounted on the vehicle 1 may be subjected to the update process. The device for transmitting the divided data of the repro data 52a to the gateway 30 is the repro tool 50, but is not limited to this. For example, a general-purpose portable device such as a notebook computer, a smartphone, or a tablet terminal is used. Alternatively, the device may be a non-portable stationary device installed at a dealer or a maintenance shop of the vehicle 1 or the like.

また本実施の形態においては、ECU10のフラッシュメモリ13に記憶されたアプリケーションプログラム13bを更新する構成としたが、これに限るものではない。例えばECU10のフラッシュメモリ13に記憶されたデータ、例えばECU10の動作に係る設定値などのデータを更新する構成としてもよく、アプリケーションプログラム13bとデータとを共に更新する構成であってもよい。またゲートウェイ30及びECU10の間で2本の通信線2a,2bを介した通信を行う構成としたが、これに限るものではなく、3本以上の通信線を介して通信を行う構成としてもよい。   Further, in the present embodiment, the application program 13b stored in the flash memory 13 of the ECU 10 is configured to be updated, but the present invention is not limited to this. For example, data stored in the flash memory 13 of the ECU 10, for example, data such as set values relating to the operation of the ECU 10 may be updated, or both the application program 13b and data may be updated. In addition, although the communication is performed between the gateway 30 and the ECU 10 via the two communication lines 2a and 2b, the communication is not limited to this, and the communication may be performed via three or more communication lines. .

またゲートウェイ30の更新処理部31bは、各通信線2a,2bの負荷率を算出し、この負荷率に基づいて分割データを複数の通信線2a,2bに分配する構成としたが、これに限るものではない。更新処理部31bは、例えば各通信線2a,2bに対して送信されるメッセージに付された優先度を調べ、優先度が高いメッセージが多く送信される通信線2a,2bに対する分割データの分配比率を低くするなど、負荷率以外の通信状態に基づいて分割データを分配する構成としてよい。   The update processing unit 31b of the gateway 30 calculates the load factor of each of the communication lines 2a and 2b, and distributes the divided data to the plurality of communication lines 2a and 2b based on the load factor. Not something. The update processing unit 31b checks, for example, the priority assigned to the message transmitted to each of the communication lines 2a and 2b, and determines the distribution ratio of the divided data to the communication lines 2a and 2b to which many messages with high priority are transmitted. For example, the divided data may be distributed based on a communication state other than the load factor, such as lowering the load factor.

また本実施の形態においては、車両1に搭載された通信システムにて更新処理を行う構成としたが、これに限るものではなく、車載以外の通信システムにて更新処理を行う構成であってもよい。   Further, in the present embodiment, the configuration is such that the update process is performed by the communication system mounted on the vehicle 1. However, the configuration is not limited to this, and the configuration may be such that the update process is performed by a communication system other than the vehicle. Good.

また車両1のOBDコネクタ5に通信ケーブルを接続することによってゲートウェイ30とリプロツール50とが通信を行う構成としたが、これに限るものではない。リプロツール50と車両1との接続はOBD以外の規格によるものであってもよい。また更に、以下の変形例に示すように、ゲートウェイ30とリプロツール50とが有線接続されるのではなく、無線接続される構成であってもよい。   The gateway 30 and the repro tool 50 communicate with each other by connecting a communication cable to the OBD connector 5 of the vehicle 1. However, the configuration is not limited to this. The connection between the repro tool 50 and the vehicle 1 may be based on a standard other than OBD. Furthermore, as shown in the following modified examples, the configuration may be such that the gateway 30 and the repro tool 50 are wirelessly connected instead of being connected by wire.

(変形例)
図11は、変形例に係る更新システムの構成例を示す模式図である。変形例に係る更新システムは、ゲートウェイ30が通信線6を介して無線通信装置105に接続されている。無線通信装置105は、例えば携帯電話通信網又は無線LAN(Local Area Network)等の無線ネットワークを介して、リプロツール150との間で無線通信を行うことができる。変形例に係るリプロツール150は、図4に示したリプロツール50と略同じ構成であるが、OBD通信部53に代えて無線通信部を備えており、無線ネットワークを介して車両1のゲートウェイ30との間で無線通信を行うことができる。これにより変形例に係る更新システムでは、リプロデータ52aの分割データをリプロツール50が無線通信により車両1の無線通信装置105へ送信し、無線通信装置105が受信した分割データをゲートウェイ30へ送信することができる。
(Modification)
FIG. 11 is a schematic diagram illustrating a configuration example of an update system according to a modification. In the updating system according to the modification, the gateway 30 is connected to the wireless communication device 105 via the communication line 6. The wireless communication device 105 can perform wireless communication with the repro tool 150 via a wireless network such as a mobile phone communication network or a wireless LAN (Local Area Network). The repro tool 150 according to the modification has substantially the same configuration as the repro tool 50 shown in FIG. 4, but includes a wireless communication unit instead of the OBD communication unit 53, and the gateway 30 of the vehicle 1 via a wireless network. Wireless communication can be performed with the device. Thereby, in the update system according to the modification, the repro tool 50 transmits the divided data of the repro data 52a to the wireless communication device 105 of the vehicle 1 by wireless communication, and transmits the divided data received by the wireless communication device 105 to the gateway 30. be able to.

なお変形例に係る更新システムでは、ゲートウェイ30が無線通信装置105を利用してリプロツール150との間で無線通信を行う構成としたが、無線通信の相手はリプロツール150に限らない。例えばゲートウェイ30は、リプロツール150を介すことなく、リプロデータ52aを配信するサーバ装置などと直接的に通信を行ってリプロデータ52aを取得してもよい。   In the updating system according to the modified example, the gateway 30 is configured to perform wireless communication with the repro tool 150 using the wireless communication device 105, but the partner of wireless communication is not limited to the repro tool 150. For example, the gateway 30 may obtain the repro data 52a by directly communicating with a server device that distributes the repro data 52a without passing through the repro tool 150.

1 車両
2a〜2c 通信線
3a〜3d ECU
5 OBDコネクタ
6 通信線
10 ECU(車載通信装置)
11 処理部
11a 更新処理部
12a,12b 通信部
13 フラッシュメモリ(記憶部、第1記憶部)
13a ブートローダプログラム
13b アプリケーションプログラム
14 RAM(第2記憶部)
30 ゲートウェイ(車載更新装置)
31 処理部
31a 中継処理部
31b 更新処理部(通信状態判定部、送信処理部、記憶処理部)
32a〜32c 通信部
33 フラッシュメモリ
33a ブートローダプログラム
33b アプリケーションプログラム
34 RAM(記憶部)
35 OBD通信部(通信部)
50 リプロツール(記憶装置)
51 処理部
51a 更新処理部
52 記憶部
52a リプロデータ
53 OBD通信部
105 無線通信装置
150 リプロツール
DESCRIPTION OF SYMBOLS 1 Vehicle 2a-2c Communication line 3a-3d ECU
5 OBD connector 6 Communication line 10 ECU (in-vehicle communication device)
Reference Signs List 11 processing unit 11a update processing unit 12a, 12b communication unit 13 flash memory (storage unit, first storage unit)
13a Boot loader program 13b Application program 14 RAM (second storage unit)
30 Gateway (in-vehicle update device)
31 processing unit 31a relay processing unit 31b update processing unit (communication state determination unit, transmission processing unit, storage processing unit)
32a to 32c Communication unit 33 Flash memory 33a Boot loader program 33b Application program 34 RAM (storage unit)
35 OBD communication unit (communication unit)
50 Repro Tools (storage device)
Reference Signs List 51 processing unit 51a update processing unit 52 storage unit 52a repro data 53 OBD communication unit 105 wireless communication device 150 repro tool

Claims (7)

少なくとも2つの通信線を介して車載通信装置との通信を行い、該車載通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置であって、
前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶する記憶部と、
前記記憶部に記憶された複数の更新用分割データを、前記少なくとも2つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部と
を備え
前記送信処理部は、通信線毎の通信負荷に応じて、前記少なくとも2つの通信線に前記複数の更新用分割データを分配すること
を特徴とする車載更新装置。
An in-vehicle update device that performs communication with the in-vehicle communication device via at least two communication lines and performs a process of updating a program or data stored in a storage unit of the in-vehicle communication device,
A storage unit that stores a plurality of update division data obtained by dividing the update program or data to be transmitted to the in-vehicle communication device,
A transmission processing unit that performs a process of distributing and transmitting the plurality of update division data stored in the storage unit to the in-vehicle communication device via the at least two communication lines ,
The in-vehicle update device , wherein the transmission processing unit distributes the plurality of update division data to the at least two communication lines according to a communication load of each communication line .
前記更新用分割データを記憶した記憶装置との間で通信を行う通信部と、
前記通信部を介して前記記憶装置から受信した前記更新用分割データを、前記記憶部に記憶する処理を行う記憶処理部と
を更に備えることを特徴とする請求項1に記載の車載更新装置。
A communication unit that communicates with a storage device that stores the update division data;
The in-vehicle update device according to claim 1, further comprising: a storage processing unit that performs a process of storing the update division data received from the storage device via the communication unit in the storage unit.
プログラム又はデータを記憶する第1記憶部を有する車載通信装置と、少なくとも2つの通信線を介して前記車載通信装置との通信を行い、前記車載通信装置の前記第1記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置とを備える更新システムであって、
前記車載更新装置は、
前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶する記憶部と、
前記記憶部に記憶された複数の更新用分割データを、前記少なくとも2つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部と
を有し、
前記送信処理部は、通信線毎の通信負荷に応じて、前記少なくとも2つの通信線に前記複数の更新用分割データを分配すること
を特徴とする更新システム。
A program stored in the first storage unit of the in-vehicle communication device that performs communication with the in-vehicle communication device via at least two communication lines and the in-vehicle communication device having a first storage unit that stores a program or data. Or an in-vehicle update device that performs a process of updating data,
The in-vehicle update device,
A storage unit that stores a plurality of update division data obtained by dividing the update program or data to be transmitted to the in-vehicle communication device,
A plurality of updating the divided data stored in the storage unit, to have the said at least two transmission processing unit via the communication line performs a process of distributing sent to the vehicle communication device,
The update system , wherein the transmission processing unit distributes the plurality of update division data to the at least two communication lines according to a communication load of each communication line .
前記更新用分割データを記憶した記憶装置を更に備え、
前記車載更新装置は、
前記更新用分割データを記憶した記憶装置との間で通信を行う通信部と、
前記通信部を介して前記記憶装置から受信した前記更新用分割データを、前記記憶部に記憶する処理を行う記憶処理部と
を更に有すること
を特徴とする請求項に記載の更新システム。
Further comprising a storage device storing the update divided data,
The in-vehicle update device,
A communication unit that communicates with a storage device that stores the update division data;
The update system according to claim 3 , further comprising: a storage processing unit configured to store the update division data received from the storage device via the communication unit in the storage unit.
前記記憶装置は、前記更新用分割データに順序情報を付して前記車載更新装置へ送信し、
前記車載更新装置の前記記憶処理部は、前記順序情報が付された前記更新用分割データを前記記憶部に記憶すること
を特徴とする請求項に記載の更新システム。
The storage device transmits the update division data to the in-vehicle update device by attaching order information to the update divided data,
The update system according to claim 4 , wherein the storage processing unit of the in-vehicle update device stores the update division data to which the order information is added in the storage unit.
前記車載通信装置は、
前記少なくとも2つの通信線を介して前記車載更新装置から受信した前記更新用分割データを一時的に記憶する第2記憶部と、
前記第2記憶部に記憶された前記更新用分割データに付された前記順序情報に基づいて、前記第2記憶部に記憶された前記更新用分割データを用いて、前記第1記憶部に記憶されたプログラム又はデータを更新する処理を行う更新処理部と
を有することを特徴とする請求項に記載の更新システム。
The in-vehicle communication device,
A second storage unit that temporarily stores the update division data received from the in-vehicle update device via the at least two communication lines;
Based on the order information attached to the update division data stored in the second storage unit, store the update division data in the first storage unit using the update division data stored in the second storage unit. The update system according to claim 5 , further comprising: an update processing unit that performs a process of updating the program or data obtained.
少なくとも2つの通信線を介して車載通信装置との通信を行い、該車載通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置を、
前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶部に記憶する処理を行う記憶処理部と、
前記記憶部に記憶された複数の更新用分割データを、前記少なくとも2つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部
として動作させ
前記送信処理部は、通信線毎の通信負荷に応じて、前記少なくとも2つの通信線に前記複数の更新用分割データを分配すること
を特徴とする更新処理プログラム。
An in-vehicle update device that performs communication with the in-vehicle communication device via at least two communication lines and performs a process of updating a program or data stored in a storage unit of the in-vehicle communication device,
A storage processing unit that performs a process of storing a plurality of update divided data obtained by dividing the update program or data to be transmitted to the in-vehicle communication device in a storage unit,
Operating as a transmission processing unit that performs a process of distributing and transmitting the plurality of update division data stored in the storage unit to the in-vehicle communication device via the at least two communication lines ;
An update processing program , wherein the transmission processing unit distributes the plurality of update division data to the at least two communication lines according to a communication load of each communication line .
JP2018202945A 2018-10-29 2018-10-29 In-vehicle update device, update system and update processing program Active JP6631676B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018202945A JP6631676B2 (en) 2018-10-29 2018-10-29 In-vehicle update device, update system and update processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018202945A JP6631676B2 (en) 2018-10-29 2018-10-29 In-vehicle update device, update system and update processing program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016001107A Division JP6428652B2 (en) 2016-01-06 2016-01-06 In-vehicle update device, update system, and update processing program

Publications (2)

Publication Number Publication Date
JP2019023931A JP2019023931A (en) 2019-02-14
JP6631676B2 true JP6631676B2 (en) 2020-01-15

Family

ID=65368924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018202945A Active JP6631676B2 (en) 2018-10-29 2018-10-29 In-vehicle update device, update system and update processing program

Country Status (1)

Country Link
JP (1) JP6631676B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022168981A (en) * 2021-04-27 2022-11-09 トヨタ自動車株式会社 Update control system, update control method, update control program, and on-vehicle control apparatus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000124927A (en) * 1998-10-15 2000-04-28 Harness Syst Tech Res Ltd On-vehicle data communication equipment and on-vehicle data communication method
JP2007065856A (en) * 2005-08-30 2007-03-15 Fujitsu Ten Ltd Information rewriting system and information rewriting device
JP5451705B2 (en) * 2011-09-21 2014-03-26 日立オートモティブシステムズ株式会社 Electronic control device for automobile and data communication method
JP6115482B2 (en) * 2014-01-21 2017-04-19 株式会社デンソー Electronic control unit

Also Published As

Publication number Publication date
JP2019023931A (en) 2019-02-14

Similar Documents

Publication Publication Date Title
JP6428652B2 (en) In-vehicle update device, update system, and update processing program
JP6696468B2 (en) In-vehicle update device and in-vehicle update system
WO2017149823A1 (en) Program update system, program update method, and computer program
JP6897630B2 (en) In-vehicle update device, update processing method and update processing program
WO2018025685A1 (en) On-board update device, on-board update system, and communication device update method
WO2014148003A1 (en) Program rewrite system for onboard electronic control device and onboard relay device
JP6992667B2 (en) In-vehicle update device, in-vehicle update system, update processing method and update processing program
US11061659B2 (en) Control apparatus, transfer method, and computer program
JP2018072920A (en) In-vehicle device determination system and information collection device
JP7207301B2 (en) Update controller, control method and computer program
JP6620891B2 (en) Relay device, relay method, and computer program
WO2018043107A1 (en) On-board update device and on-board update system
WO2018154949A1 (en) Program updating system, control device, program updating method and computer program
JP6631676B2 (en) In-vehicle update device, update system and update processing program
WO2018142749A1 (en) Control device, program updating method, and computer program
WO2019221058A1 (en) Vehicle-mounted relay device, communication system, bus determination method, and computer program
JP2019074847A (en) Electronic control unit
JP7415756B2 (en) In-vehicle device, information processing method and computer program
WO2020195034A1 (en) Vehicle-mounted update device, update processing system, update processing method, and processing program
US20230036444A1 (en) System, method, and non-transitory storage medium
US11861354B2 (en) Update control system, update control method, non-transitory storage medium, and in-vehicle control device
US20230032451A1 (en) Center, method, and non-transitory storage medium
US20220405083A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US20220405080A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
JP2017228033A (en) On-vehicle storage device, vehicle information storage method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190903

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191125

R150 Certificate of patent or registration of utility model

Ref document number: 6631676

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150