JP6390644B2 - Program update system, program update method, and computer program - Google Patents

Program update system, program update method, and computer program Download PDF

Info

Publication number
JP6390644B2
JP6390644B2 JP2016039891A JP2016039891A JP6390644B2 JP 6390644 B2 JP6390644 B2 JP 6390644B2 JP 2016039891 A JP2016039891 A JP 2016039891A JP 2016039891 A JP2016039891 A JP 2016039891A JP 6390644 B2 JP6390644 B2 JP 6390644B2
Authority
JP
Japan
Prior art keywords
update
program
control
vehicle
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016039891A
Other languages
Japanese (ja)
Other versions
JP2017157004A (en
JP2017157004A5 (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 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 JP2016039891A priority Critical patent/JP6390644B2/en
Priority to PCT/JP2016/080067 priority patent/WO2017149825A1/en
Publication of JP2017157004A publication Critical patent/JP2017157004A/en
Publication of JP2017157004A5 publication Critical patent/JP2017157004A5/ja
Application granted granted Critical
Publication of JP6390644B2 publication Critical patent/JP6390644B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、プログラム更新システム、プログラム更新方法及びコンピュータプログラムに関する。具体的には、本発明は、複数の制御装置に対する制御プログラムの同時更新を適切に行うための技術に関する。   The present invention relates to a program update system, a program update method, and a computer program. Specifically, the present invention relates to a technique for appropriately performing simultaneous update of control programs for a plurality of control devices.

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

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

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

特開2007−65856号公報JP 2007-65856 A 特開2010−198155号公報JP 2010-198155 A

管理サーバから受信した更新プログラムを用いて、ECUが制御プログラムを更新する最中に、電源失陥やファイル欠損などの何らかの障害が発生することがある。この場合、ECUが旧バーションへの復元が可能ならば、障害がなくなった後に新バーションの制御プログラムの書き込みを最初からやり直すようにすればよい。
しかし、車両に搭載された複数のECUの制御プログラムを同時に更新する場合には、1つECUの書き込み中に障害が生じた時に、他のECUが既に新バーションへの更新を完了している場合がある。
While the ECU updates the control program using the update program received from the management server, some trouble such as power failure or file loss may occur. In this case, if the ECU can be restored to the old version, the control program for the new version may be rewritten from the beginning after the failure is eliminated.
However, when simultaneously updating the control programs of a plurality of ECUs mounted on the vehicle, when a failure occurs during writing of one ECU, another ECU has already completed the update to the new version. There is a case.

この場合、障害が生じたECUが旧バージョンで動作すると、旧バーションで動作するECUと新バーションで動作するECUが混在し、新旧バーションの制御プログラムの相性問題などによりECUが動作不良に陥る可能性がある。
本発明は、かかる従来の問題点に鑑み、複数の制御装置の制御プログラムを同時に更新する場合に、制御装置に動作不良が生じる事態を未然に防止することができる、プログラム更新システム等を提供することを目的とする。
In this case, if the failed ECU operates in the old version, the ECU that operates in the old version and the ECU that operates in the new version coexist, and the ECU malfunctions due to a compatibility problem of the control program of the old and new versions. There is a possibility of falling.
In view of such conventional problems, the present invention provides a program update system or the like that can prevent a situation in which a malfunction occurs in a control device when the control programs of a plurality of control devices are updated simultaneously. For the purpose.

(1) 本発明の一態様に係るシステムは、車両に搭載された複数の制御装置と、複数の前記制御装置と車内通信可能に接続された中継装置と、前記中継装置と車外通信可能に接続された管理サーバと、を含むプログラム更新システムであって、前記中継装置は、複数の前記制御装置に関する制御プログラムの現状のバージョン情報と、自車両の車両識別番号を前記管理サーバに送信し、制御プログラムを前記管理サーバから通知された新バージョンに更新するための複数の更新プログラムを受信する車外通信部と、受信した複数の前記更新プログラムを記憶する記憶部と、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、前記更新プログラムを受信したすべての前記制御装置が前記更新プログラムを用いた制御プログラムの更新を完了するまで、当該制御装置に制御プログラムの更新を継続させる、更新継続処理を実行する処理部と、を備える。
(1) A system according to an aspect of the present invention includes a plurality of control devices mounted on a vehicle, a plurality of control devices connected to the control devices so as to be capable of in-vehicle communication, and the relay devices connected to be able to communicate outside the vehicle. A management server , wherein the relay device transmits current version information of a control program related to a plurality of the control devices and a vehicle identification number of the host vehicle to the management server, and performs control. An out-of-vehicle communication unit that receives a plurality of update programs for updating the program to the new version notified from the management server, a storage unit that stores the plurality of received update programs, and the plurality of stored update programs a vehicle communication unit that transmits, respectively to a corresponding said control device, said update all of the control device before Symbol updated programming that has received the And a processing unit that executes an update continuation process that causes the control device to continue to update the control program until the update of the control program using the ram is completed.

(5) 本発明の一態様に係る方法は、車両に搭載された複数の制御装置と車内通信可能に接続された中継装置が実行するプログラム更新方法であって、複数の前記制御装置に関する制御プログラムの現状のバージョン情報と、自車両の車両識別番号を前記管理サーバに送信し、制御プログラムを前記管理サーバから通知された新バージョンに更新するための複数の更新プログラムを受信するステップと、受信した複数の前記更新プログラムを記憶するステップと、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、前記更新プログラムを受信したすべての前記制御装置が前記更新プログラムを用いた制御プログラムの更新を完了するまで、当該制御装置に制御プログラムの更新を継続させる、更新継続処理を実行するステップと、を含む。
(5) A method according to an aspect of the present invention is a program update method executed by a relay device connected to a plurality of control devices mounted on a vehicle so as to be capable of in-vehicle communication, the control program relating to the plurality of control devices Receiving a plurality of update programs for transmitting the current version information and the vehicle identification number of the host vehicle to the management server and updating the control program to the new version notified from the management server; and use storing a plurality of the update, and transmitting to each of the controller corresponding to the stored plurality of the updates were all of the control apparatus that has received the update the previous SL update Update the control program to continue until the control program update is completed Executing continuation processing.

(6) 本発明の一態様に係るコンピュータプログラムは、車両に搭載された複数の制御装置と車内通信可能に接続された中継装置として、コンピュータを機能させるためのコンピュータプログラムであって、複数の前記制御装置に関する制御プログラムの現状のバージョン情報と、自車両の車両識別番号を前記管理サーバに送信し、制御プログラムを前記管理サーバから通知された新バージョンに更新するための複数の更新プログラムを受信するステップと、受信した複数の前記更新プログラムを記憶するステップと、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、前記更新プログラムを受信したすべての前記制御装置が前記更新プログラムを用いた制御プログラムの更新を完了するまで、当該制御装置に制御プログラムの更新を継続させる、更新継続処理を実行するステップと、を含む。
(6) a computer program according to an embodiment of the present invention, as a plurality of control devices and vehicle communicatively connected relay device installed in a vehicle, a computer program for causing a computer to function, a plurality of the The current version information of the control program related to the control device and the vehicle identification number of the host vehicle are transmitted to the management server, and a plurality of update programs for updating the control program to the new version notified from the management server are received. steps and, the steps of: storing a plurality of said update received, and transmitting to each of the controller corresponding to the stored plurality of the update has been said all receiving updates the control device before Until the update of the control program using the update program is completed, And executing an update continuation process for causing the control device to continue updating the control program.

本発明によれば、複数の制御装置の制御プログラムを同時に更新する場合に、制御装置に動作不良が生じる事態を未然に防止することができる。   ADVANTAGE OF THE INVENTION According to this invention, when updating the control program of a some control apparatus simultaneously, the situation where a malfunction occurs in a control apparatus can be prevented beforehand.

本発明の実施形態に係るプログラム更新システムの全体構成図である。1 is an overall configuration diagram of a program update system according to an embodiment of the present 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に対する制御プログラムの同時更新の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the simultaneous update of the control program with respect to several ECU. 制御プログラムの動作領域を複数有するECUが実行する制御プログラムの書き換え処理を示す状態遷移図である。It is a state transition diagram which shows the rewriting process of the control program which ECU which has multiple operation area | regions of a control program performs. 複数領域ECUに対してゲートウェイが実行するロールバック処理の説明図である。It is explanatory drawing of the rollback process which a gateway performs with respect to multiple area | region ECU. 制御プログラムの動作領域を1つ有するECUが実行する制御プログラムの書き換え処理を示す状態遷移図である。It is a state transition diagram which shows the rewriting process of the control program which ECU which has one operation area | region of a control program performs. 単独領域ECUに対してゲートウェイが実行する更新復帰処理の一例を示すフローチャートである。It is a flowchart which shows an example of the update return process which a gateway performs with respect to single area | region ECU. 更新プログラムを自身で適用できないECUを含む場合の、制御プログラムの同時更新の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the simultaneous update of a control program in case the ECU which cannot apply an update program by itself is included.

<本発明の実施形態の概要>
以下、本発明の実施形態の概要を列記して説明する。
(1) 本実施形態のプログラム更新システムは、車両に搭載された複数の制御装置と、複数の前記制御装置と車内通信可能に接続された中継装置と、前記中継装置と車外通信可能に接続された管理サーバと、を含むプログラム更新システムであって、前記中継装置は、複数の前記制御装置に関する制御プログラムの現状のバージョン情報と、自車両の車両識別番号を前記管理サーバに送信し、制御プログラムを前記管理サーバから通知された新バージョンに更新するための複数の更新プログラムを受信する車外通信部と、受信した複数の前記更新プログラムを記憶する記憶部と、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、前記更新プログラムを受信したすべての前記制御装置が前記更新プログラムを用いた制御プログラムの更新を完了するまで、当該制御装置に制御プログラムの更新を継続させる、更新継続処理を実行する処理部と、を備える。
<Outline of Embodiment of the Present Invention>
Hereinafter, an outline of embodiments of the present invention will be listed and described.
(1) The program update system of the present embodiment is connected to a plurality of control devices mounted on a vehicle, a relay device connected to the plurality of control devices to enable in-vehicle communication, and connected to the relay device so as to be able to communicate outside the vehicle. A management server , wherein the relay device transmits the current version information of the control program related to the plurality of control devices and the vehicle identification number of the host vehicle to the management server, and the control program A vehicle external communication unit that receives a plurality of update programs for updating to a new version notified from the management server, a storage unit that stores the plurality of received update programs, and a plurality of the stored update programs a vehicle communication unit that transmits to the corresponding said control device, said all of the control device which has received the update before Symbol update A processing unit that executes an update continuation process that causes the control device to continue updating the control program until the control program is updated using the program.

本実施形態のプログラム更新システムによれば、中継装置の処理部が、更新プログラムを受信したすべての制御装置が更新プログラムを用いた制御プログラムの更新を完了するまで、当該制御装置に制御プログラムの更新を継続させる、更新継続処理を実行するので、旧バーションで動作する制御装置と新バーションで動作する制御装置が混在しない。
このため、複数の制御装置の制御プログラムを同時に更新する場合に、制御装置に動作不良が生じる事態を未然に防止することができる。
According to the program update system of the present embodiment, the processing unit of the relay apparatus until all of the control apparatus that has received the update is completed the update of the control program using the update program, the control program to the control unit Since the update continuation process for continuing the update is executed, the control device operating in the old version and the control device operating in the new version are not mixed.
For this reason, when updating the control programs of a plurality of control devices at the same time, it is possible to prevent a situation in which a malfunction occurs in the control devices.

(2) 本実施形態のプログラム更新システムにおいて、複数の前記制御装置が、前記制御プログラムの動作領域が複数存在する記憶装置を有する複数領域タイプである場合には、前記更新継続処理として、いずれかの前記制御装置において途中で更新が中断した場合に、中断した当該制御装置に中断点から更新を再開させる更新復帰処理を採用すればよい。また、旧バージョンを他領域にバックアップとして確保しているため、リプロ対象のECUを一斉に復帰させる(「ロールバック」という)こともできる。   (2) In the program update system of the present embodiment, when the plurality of control devices are a plurality of area types having a storage device in which a plurality of operation areas of the control program exist, any of the update continuation processes is When the update is interrupted in the middle of the control device, an update return process may be employed in which the interrupted control device restarts the update from the interruption point. In addition, since the old version is secured as a backup in another area, it is also possible to return the ECUs to be reproposed all at once (referred to as “rollback”).

本実施形態のプログラム更新システムではこの場合、基本的に中断点から再開させるが、場合によっては、すぐに車両を動かす必要がある事態が生じる。中継装置の処理部が上記のロールバック処理を実行すると、短時間で復帰できる。いずれも旧バーションで動作する制御装置と新バーションで動作する制御装置が混在しない。
このため、複数の制御装置の制御プログラムを同時に更新する場合に、制御装置に動作不良が生じる事態を未然に防止することができる。
In this case, the program update system according to the present embodiment basically restarts from the point of interruption. However, in some cases, it may be necessary to move the vehicle immediately. When the processing unit of the relay device executes the above rollback processing, it can be restored in a short time. In either case, a control device operating in the old version and a control device operating in the new version are not mixed.
For this reason, when updating the control programs of a plurality of control devices at the same time, it is possible to prevent a situation in which a malfunction occurs in the control devices.

(3) 本実施形態のプログラム更新システムにおいて、複数の前記制御装置が、前記制御プログラムの動作領域が1つ存在する記憶装置を有する単独領域タイプである場合には、前記更新継続処理として、いずれかの前記制御装置において途中で更新が中断した場合に、中断した当該制御装置に中断点から更新を再開させる更新復帰処理を採用すればよい。   (3) In the program update system of the present embodiment, when the plurality of control devices are a single region type having a storage device in which one operation region of the control program exists, In the case where the update is interrupted in the middle of the control device, update return processing may be employed in which the interrupted control device restarts the update from the interruption point.

この場合、中継装置の処理部が上記の更新復帰処理を実行すると、更新を中断した制御装置が中断点から更新を再開するので、旧バーションで動作する制御装置と新バーションで動作する制御装置が混在しない。
このため、複数の制御装置の制御プログラムを同時に更新する場合に、制御装置に動作不良が生じる事態を未然に防止することができる。
In this case, when the processing unit of the relay device executes the above update recovery processing, the control device that interrupted the update restarts the update from the point of interruption, so the control device that operates with the old version and the control that operates with the new version The devices are not mixed.
For this reason, when updating the control programs of a plurality of control devices at the same time, it is possible to prevent a situation in which a malfunction occurs in the control devices.

(4) 本実施形態のプログラム更新システムにおいて、前記管理サーバは、前記バージョン情報と前記車両識別番号を前記中継装置から受信する通信部と、動作確認が取れている前記制御プログラムのバーションの組み合わせごとに識別番号が付与されたテーブル(例えば、図4のリビジョンテーブルRT)を、前記車両識別番号ごとに記憶する記憶部と、受信した前記バージョン情報と前記車両識別番号に基づいて、1つの前記識別番号に対応する前記制御プログラムのバーションの組み合わせを、前記車両に搭載された複数の前記制御装置に適用する新バーションとして抽出する処理部と、を備え、前記通信部は、抽出された前記制御プログラムの新バーションの組み合わせを前記中継装置に通知することが好ましい。
(4) In the program update system of the present embodiment, before SL management server, the version information and the vehicle identification number the relay device communication unit for receiving from, operation check taken to have a version of the control program A table (for example, the revision table RT in FIG. 4) to which an identification number is assigned for each combination is stored on the basis of the storage unit for each vehicle identification number , the received version information, and the vehicle identification number . A processing unit that extracts a combination of versions of the control program corresponding to the identification number as a new version to be applied to the plurality of control devices mounted on the vehicle, and the communication unit is extracted the combination of the new version of the control program and Turkey be notified to the relay apparatus is preferred.

本実施形態のプログラム更新システムによれば、管理サーバの処理部が、受信したバージョン情報と車両識別番号に基づいて、1つの識別番号(リビジョン番号)に対応する制御プログラムのバーションの組み合わせを、車両に搭載された複数の制御装置に適用する新バーションとして抽出し、管理サーバの通信部が、抽出された制御プログラムの新バーションの組み合わせを中継装置に通知する。
このため、管理サーバから通知された新バーションの組み合わせ通りに複数の制御装置が更新を実行すれば、複数の制御装置について相性問題などに伴う動作不良が発生するのを未然に防止することができる。
According to the program update system of the present embodiment , based on the received version information and the vehicle identification number, the processing unit of the management server determines a combination of control program versions corresponding to one identification number (revision number), A new version to be applied to a plurality of control devices mounted on the vehicle is extracted, and the communication unit of the management server notifies the relay device of a combination of the new version of the extracted control program.
For this reason, if a plurality of control devices perform an update according to the combination of new versions notified from the management server, it is possible to prevent a malfunction due to a compatibility problem or the like from occurring in the plurality of control devices. it can.

(5) 本実施形態のプログラム更新方法は、上述の(1)〜(4)のいずれかに記載のプログラム更新システムに含まれる中継装置が実行するプログラム更新方法に関する。
従って、本実施形態のプログラム更新方法は、上述の(1)〜(4)のいずれかに記載のプログラム更新システムと同様の作用効果を奏する。
(5) The program update method of this embodiment is related with the program update method which the relay apparatus contained in the program update system in any one of said (1)-(4) performs.
Therefore, the program update method of the present embodiment has the same effects as the program update system described in any of the above (1) to (4).

(6) 本実施形態のコンピュータプログラムは、上述の(1)〜(4)のいずれかに記載のプログラム更新システムに含まれる中継装置として、コンピュータを機能させるためのコンピュータプログラムに関する。
従って、本実施形態のコンピュータプログラムは、上述の(1)〜(4)のいずれかに記載のプログラム更新システムと同様の作用効果を奏する。
(6) The computer program of this embodiment is related with the computer program for functioning a computer as a relay apparatus contained in the program update system in any one of said (1)-(4).
Therefore, the computer program of this embodiment has the same operational effects as the program update system described in any of the above (1) to (4).

<本発明の実施形態の詳細>
以下、図面を参照して、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
<Details of Embodiment of the Present Invention>
Hereinafter, details of embodiments of the present invention will be described with reference to the drawings. In addition, you may combine arbitrarily at least one part of embodiment described below.

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

車両1には、ゲートウェイ10及び複数のECU30と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)が搭載されている。
車両1には、共通の車内通信線にバス接続された複数のECU30による通信グループが存在し、ゲートウェイ10は、通信グループ間の通信を中継している。このため、ゲートウェイ10には、複数の車内通信線が接続されている。
The vehicle 1 is equipped with a gateway 10, a plurality of ECUs 30, and various in-vehicle devices (not shown) controlled by the respective ECUs 30.
In the vehicle 1, there is a communication group including a plurality of ECUs 30 that are bus-connected to a common in-vehicle communication line, and the gateway 10 relays communication between the communication groups. Therefore, a plurality of in-vehicle communication lines are connected to the gateway 10.

ゲートウェイ10は、携帯電話網などの広域通信網2に通信可能に接続されている。ゲートウェイ10は、広域通信網2を通じて管理サーバ5及びDLサーバ6などの車外装置から受信した情報をECU30に送信する。
ゲートウェイ10は、ECU30から取得した情報を、広域通信網2を介して管理サーバ5などの車外装置に送信する。
The gateway 10 is communicably connected to a wide area communication network 2 such as a mobile phone network. The gateway 10 transmits information received from an external device such as the management server 5 and the DL server 6 to the ECU 30 through the wide area communication network 2.
The gateway 10 transmits information acquired from the ECU 30 to an external device such as the management server 5 via the wide area communication network 2.

図1では、ゲートウェイ10が車外装置と直接通信を行う場合が例示されている。もっとも、ゲートウェイ10に別の通信装置を接続し、別の通信装置を介して車外装置と通信を行う構成としてもよい。
ゲートウェイ10に接続される別の通信装置としては、例えば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置が考えられる。
FIG. 1 illustrates a case where the gateway 10 directly communicates with an external device. But it is good also as a structure which connects another communication apparatus to the gateway 10 and communicates with an external apparatus via another communication apparatus.
As another communication apparatus connected to the gateway 10, for example, an apparatus such as a mobile phone, a smartphone, a tablet terminal, or a notebook PC (Personal Computer) owned by the user can be considered.

図1のプログラム更新システムでは、管理サーバ5とDLサーバ6が別個のサーバで構成されているが、これらのサーバ5,6を1つのサーバ装置で構成してもよい。   In the program update system of FIG. 1, the management server 5 and the DL server 6 are configured as separate servers, but the servers 5 and 6 may be configured as one server device.

〔ゲートウェイの内部構成〕
図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 the internal configuration of the gateway 10.
As shown in FIG. 2, the gateway 10 includes a CPU (Central Processing Unit) 11, a RAM (Random Access Memory) 12, a storage unit 13, an in-vehicle communication unit 14, and the like. The gateway 10 is connected to the wireless communication unit 15 via the in-vehicle communication line, but these may be configured by a single 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 one or more programs stored in the storage unit 13 into the RAM 12 and executing them.
The CPU 11 can execute a plurality of programs in parallel, for example, by switching and executing a plurality of programs in a time division manner. The RAM 12 is composed of a memory element such as SRAM (Static RAM) or DRAM (Dynamic RAM), and temporarily stores programs executed by the CPU 11, data necessary for execution, and the like.

記憶部13は、フラッシュメモリ若しくはEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子などにより構成されている。
記憶部13は、CPU11が実行するプログラム及び実行に必要なデータ等を記憶する記憶領域を有する。記憶部13は、DLサーバ6から受信した各ECU30の更新プログラムなども記憶する。
The storage unit 13 includes a nonvolatile 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 programs executed by the CPU 11, data necessary for execution, and the like. The storage unit 13 also stores an update program for each ECU 30 received from the DL server 6.

車内通信部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). Communication with the ECU 30 is performed according to 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 according to other communication standards used for the in-vehicle network as well as the above communication standards.

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

ゲートウェイ10において、無線通信部15に代えて、上述の別の通信装置が接続される有線通信部を採用してもよい。この有線通信部は、USB(Universal Serial Bus)又はRS232C等の規格に応じた通信ケーブルを介して通信装置を接続するコネクタを有し、通信ケーブルを介して接続された別の通信装置と通信を行う。
有線通信部は、CPU11から与えられた情報を別の通信装置により車外装置へ送信するとともに、広域通信網2を通じて車外装置から受信した情報をCPU11に与える。
In the gateway 10, instead of the wireless communication unit 15, a wired communication unit to which another communication device described above is connected may be employed. This wired communication unit has a connector for connecting a communication device via a communication cable conforming to a standard such as USB (Universal Serial Bus) or RS232C, and communicates with another communication device connected via the communication cable. Do.
The wired communication unit transmits the information given from the CPU 11 to the outside device by another communication device, and gives the information received from the outside device through the wide area communication network 2 to the CPU 11.

〔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 the internal configuration of the ECU 30.
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 a control device that individually controls a plurality of in-vehicle devices mounted on the vehicle 1. Examples of the ECU 30 include an engine control ECU, a steering control ECU, and a door lock control ECU.

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

記憶部33は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部33が記憶する情報には、例えば、制御対象である車載装置を制御するための処理をCPU31に実行させるためのコンピュータプログラム(以下、「制御プログラム」という。)が含まれる。
The storage unit 33 is configured by a nonvolatile 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 processing for controlling the in-vehicle device that is the control target.

通信部34には、車両1に配設された車内通信線を介してゲートウェイ10が接続されている。通信部34は、例えばCAN、Ethernet、又はMOST等の規格に応じて、ゲートウェイ10との通信を行う。
通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信するとともに、ゲートウェイ10から受信した情報をCPU31に与える。通信部34は、上記通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
The communication unit 34 is connected to the gateway 10 via an in-vehicle communication line disposed in the vehicle 1. The communication unit 34 communicates with the gateway 10 according to a standard such as CAN, Ethernet, or MOST.
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 according to other communication standards used for the in-vehicle network as well as the above communication standards.

ECU30のCPU31には、当該CPU31による制御モードを、「通常モード」又は「リプログラミングモード」(以下、「リプロモード」ともいう。)のいずれかに切り替える起動部35が含まれる。
通常モードとは、ECU30のCPU31が本来の制御内容(例えば、エンジン制御やステアリング制御など)を実行する制御モードのことである。リプログラミングモードとは、CPU31が制御プログラムのROM領域に対して消去、書き換えの権限が付与されるモードのことである。本モードのときにのみ、制御プログラムを新バージョンに更新することが可能となる。
The CPU 31 of the ECU 30 includes an activation unit 35 that switches the control mode by the CPU 31 to either “normal mode” or “reprogramming mode” (hereinafter also referred to as “repro mode”).
The normal mode is a control mode in which the CPU 31 of the ECU 30 executes original control contents (for example, engine control, steering control, etc.). The reprogramming mode is a mode in which the CPU 31 is given the authority to erase and rewrite the ROM area of the control program. Only in this mode, the control program can be updated to a new version.

起動部35は、リプログラミングモードにおいて新バーションの制御プログラムを記憶部33に書き込むと、いったん再起動(リセット)して新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行し、ベリファイ処理の完了後にCPU31を更新後の制御プログラムによって動作させる。   When the activation unit 35 writes the new version control program in the storage unit 33 in the reprogramming mode, the activation unit 35 restarts (resets) once, executes the verification process on the storage area in which the new version control program is written, After the process is completed, the CPU 31 is operated by the updated control program.

〔管理サーバの内部構成〕
図4は、管理サーバ5の内部構成を示すブロック図である。
図4に示すように、管理サーバ5は、CPU51、ROM52、RAM53、記憶部54、及び通信部55などを備える。
[Management Server internal configuration]
FIG. 4 is a block diagram showing the internal configuration of the management server 5.
As shown 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 more programs stored in advance in the ROM 52 into the RAM 53 and executes them, thereby controlling the operation of each hardware and causing the management server 5 to function as an external device that can communicate with the gateway 10.
The RAM 53 is configured by a memory element such as SRAM or DRAM, and temporarily stores programs executed by the CPU 51 and data necessary for execution.

記憶部54は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等により構成されている。
通信部55は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網2に接続されて当該通信処理を実行する。通信部55は、CPU51から与えられた情報を、広域通信網2を介して外部装置に送信するとともに、広域通信網2を介して受信した情報をCPU51に与える。
The storage unit 54 includes a nonvolatile memory element such as a flash memory or an EEPROM, or a magnetic storage device such as a hard disk.
The communication unit 55 includes a communication device that executes communication processing in accordance with a predetermined communication standard, and is connected to the wide area communication network 2 such as a mobile phone network to execute the communication processing. The communication unit 55 transmits the information given from the CPU 51 to the external device via the wide area communication network 2 and gives 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, the information stored in the storage unit 54 includes 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 versions of the control programs are recorded is included.
The revision table RT summarizes the vehicle identification number (VIN) of the vehicle 1, the revision number that is identification information indicating the revision history for each vehicle identification number, and the versions of the 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 versions of the control programs of the ECUs 1 to 3 included in the same revision number indicate that the operation of the car manufacturer has been confirmed.
For example, in the case of “R2.0”, which is the current revision number, a control program for version 1.0 of ECU1, a control program for version 1.3 of ECU2, and a control program for version 2.0 of ECU3 Has been confirmed.

最新のリビジョン番号である「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へのバーションアップを同時に行う必要がある。
In the case of the latest revision number “R2.4”, the operation of the control program of version 1.2 of ECU1, the control program of version 2.0 of ECU2, and the control program of version 2.2 of ECU3 Confirmed.
Therefore, when the vehicle 1 is upgraded from R2.0 to R2.4, the ECU 1 version is increased from 1.0 to 1.2, the ECU 2 version is increased from 1.3 to 2.0, In addition, it is necessary to simultaneously upgrade the ECU 3 from 2.0 to 2.2.

図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 vehicles 1 owned by registered members of the management server 5. 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 the vehicle identification number and the current control program version of each ECU 1 to 3 are notified from the gateway 10, the CPU 51 updates the notified version information to the latest version of the vehicle identification number included in the revision table RT. Match.
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 CPU 51 sends the update program storage destination URL and the download request for updating to the latest version. Send to.

〔制御プログラムの同時更新のシーケンス〕
図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 illustrating an example of simultaneous update of control programs for the plurality of ECUs 1 to 3 executed in the program update system of the present embodiment. In the following, it is assumed that the control programs of the ECUs 1 to 3 are updated as follows according to the revision table RT of FIG.
Revision number: R2.0 → R2.4
ECU1: Version 1.0-> Version 1.2
ECU2: 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 the program of the new version, but in the present embodiment, it is assumed that the update program is a differential program from the old version. In this case, if Δ including the difference information of the file between the old version and the new version is in the same storage area, it can be updated to the new version by applying Δ to the old version.
The update program from version 1.0 of ECU 1 to version 1.2 is set to “Δ1”, and the update program from version 1.3 to version 2.0 of ECU 2 is set to “Δ2”. An update program from 2.0 to version 2.2 is set to “Δ3”.

図5に示すように、本実施形態の制御プログラムの同時更新においては、まず、ゲートウェイ10が、各ECU1〜3の制御プログラムの現状のバージョン情報を収集する(ステップS1)。
図示の例では、ECU1の制御プログラムの現バーションは「1.0」であり、ECU2の制御プログラムの現バーションは「1.3」であり、ECU3の制御プログラムの現バーションは「2.0」である。
As shown in FIG. 5, in the simultaneous update of the control program of the present embodiment, first, the gateway 10 collects the current version information of the control programs 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 ".

次に、ゲートウェイ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 host vehicle to the management server 5 (step S2).
The management server 5 searches the above-described revision table RT (see FIG. 4) based on the version information and the vehicle identification number notified from the gateway 10, so that each ECU 1 to ECU 3 of the vehicle 1 is searched. It is determined whether it is necessary to update the control program at the same time.

ここでは、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 is operating the vehicle 1 at revision R2.0. Judge that there is.
Further, since the latest revision R2.4 exists, the management server 5 updates the ECU 1 to the version 1.2, updates the ECU 2 to the version 2.0, and updates the ECU 3 to the version 2. It is determined that the update to 2 needs to be performed simultaneously.

そこで、管理サーバ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 the storage destination URLs and download requests for the update programs Δ1 to Δ3 of the ECUs 1 to 3 to the gateway 10 that has transmitted the version information to the gateway 10 (step S3).
Thereby, the gateway 10 downloads the update programs Δ1 to Δ3 for the 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 its own device.

更新プログラムΔ1〜Δ3の保存が完了すると、ゲートウェイ10は、DLが正常に完了したことを管理サーバ5に送信する(ステップS5)。引き続き自動で更新を行う場合、DL完了通知を受信した管理サーバ5は、制御プログラムの更新要求をゲートウェイ10に送信する。DL完了後、一時中断し外部から更新要求を受けてから、制御プログラムの更新要求をゲートウェイ10に送信してもよい(ステップS6)。
更新要求を受信したゲートウェイ10は、記憶部13に保存した更新プログラムΔ1〜Δ3を用いて制御プログラムを更新させるべく、各ECU1〜3にリプロモード移行要求をそれぞれ送信する(ステップS7)。
When the saving of the update programs Δ1 to Δ3 is completed, the gateway 10 transmits to the management server 5 that the DL has been normally completed (step S5). When the update is continuously performed automatically, 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 that has received the update request transmits a repro mode transition 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 transition request, each of the ECUs 1 to 3 switches its control mode from the normal mode to the reprogramming mode. Thereby, each ECU1-3 will be in the state which can expand the update program (DELTA) 1- (DELTA) 3 and the process which rewrites the present control program to the control program of a new version.

ゲートウェイ10は、記憶部13に保存した更新プログラムΔ1をECU1に送信する(ステップS8)。
ECU1は、受信した更新プログラムΔ1を展開して旧バーション1.0に適用することにより、制御プログラムを旧バーション1.0から新バーション1.2に書き換える。書き換えが完了すると、ECU1は、書き換えの完了通知をゲートウェイ10に送信する(ステップS9)。
The gateway 10 transmits the update program Δ1 stored in the storage unit 13 to the ECU 1 (step S8).
The ECU 1 develops the received update program Δ1 and applies it to the old version 1.0, thereby rewriting the control program from the old version 1.0 to the new version 1.2. When the rewriting is completed, the ECU 1 transmits a rewriting completion notification to the gateway 10 (step S9).

ゲートウェイ10は、記憶部13に保存した更新プログラムΔ2をECU2に送信する(ステップS10)。
ECU2は、受信した更新プログラムΔ2を展開して旧バーション1.3に適用することにより、制御プログラムを旧バーション1.3から新バーション2.0に書き換える。書き換えが完了すると、ECU2は、書き換えの完了通知をゲートウェイ10に送信する(ステップS11)。
The gateway 10 transmits the update program Δ2 stored in the storage unit 13 to the ECU 2 (step S10).
The ECU 2 rewrites the control program from the old version 1.3 to the new version 2.0 by developing the received update program Δ2 and applying it to the old version 1.3. When the rewriting is completed, the ECU 2 transmits a rewriting completion notification to the gateway 10 (step S11).

ゲートウェイ10は、記憶部13に保存した更新プログラムΔ3をECU3に送信する(ステップS12)。
ECU3は、受信した更新プログラムΔ3を展開して旧バーション2.0に適用することにより、制御プログラムを旧バーション2.0から新バーション2.2に書き換える。書き換えが完了すると、ECU3は、書き換えの完了通知をゲートウェイ10に送信する(ステップS13)。
The gateway 10 transmits the update program Δ3 stored in the storage unit 13 to the ECU 3 (step S12).
The ECU 3 rewrites the received update program Δ3 and applies it to the old version 2.0, thereby rewriting the control program from the old version 2.0 to the new version 2.2. When the rewriting is completed, the ECU 3 transmits a rewriting completion notification to the gateway 10 (step S13).

なお、図5に例示するシーケンスでは、ステップS8〜ステップS13までの処理が時系列に表現されているが、これらの処理は同時並行的に行われるので、前後の順番が入れ替わってもよい。   In the sequence illustrated in FIG. 5, the processing from step S8 to step S13 is expressed in time series. However, since these processing are performed in parallel, the order before and after may be switched.

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

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

〔複数領域ECUによる書き換え処理〕
図6は、制御プログラムの動作領域を複数(図例では2つ)有するECU30(以下、「複数領域ECU」という。)が実行する制御プログラムの書き換え処理を示す状態遷移図である。
図6では、ECU30の制御プログラムのバーションを「1.0」から「1.2」に更新する場合を例示しているが、その他のバージョン番号の場合も以下と同様の書き換え処理が実行される。
[Rewriting process by multiple area ECU]
FIG. 6 is a state transition diagram showing a control program rewriting process executed by an ECU 30 (hereinafter referred to as “multiple area ECU”) having a plurality (two in the illustrated example) of operation areas of the control program.
FIG. 6 illustrates the case where the version of the control program of the ECU 30 is updated from “1.0” to “1.2”, but the rewriting process similar to the following is executed for other version numbers as well. The

ECU30の記憶部33は、制御プログラムが動作可能な2つ主領域1,2と、更新プログラムΔ1が格納される1つのワークスペースとに区分されている。
ECU30の起動部35は、起動時において制御プログラムの動作領域を主領域1,2のいずれかに選択可能である。ここでは、プログラム更新前の通常モードにおいて、動作領域として主領域1が選択されているものとする。なお、図6中のハッチング付きの領域は制御プログラムが実行されるアクティブな領域を示す。
The storage unit 33 of the ECU 30 is divided into two main areas 1 and 2 in which the control program can operate, and one work space in which the update program Δ1 is stored.
The activation unit 35 of the ECU 30 can select the operation area of the control program as one of the main areas 1 and 2 at the time of activation. Here, it is assumed that the main area 1 is selected as the operation area in the normal mode before the program update. The hatched area in FIG. 6 indicates an active area where the control program is executed.

起動部35は、リプログラミングモードにおいてゲートウェイ10から更新プログラムΔ1を受信すると、更新プログラムΔ1をワークスペースに格納するとともに、主領域2に旧バーション1.0の制御プログラムのバックアップを作成する(図6(a))。
次に、起動部35は、更新プログラムΔ1を展開して主領域2のバーション1.0のバックアップに適用し(図6(b))、主領域2の制御プログラムをバーション1.0からバーション1.2に書き換える(図6(c))。
When the activation unit 35 receives the update program Δ1 from the gateway 10 in the reprogramming mode, the activation unit 35 stores the update program Δ1 in the workspace and creates a backup of the control program of the old version 1.0 in the main area 2 (see FIG. 6 (a)).
Next, the activation unit 35 develops the update program Δ1 and applies it to the backup of the version 1.0 of the main area 2 (FIG. 6B), and the control program for the main area 2 is changed from the version 1.0. The data is rewritten to version 1.2 (FIG. 6C).

上記の書き換えが完了すると、起動部35は、動作領域を主領域2に切り替えて主領域2のベリファイ処理を実行したあと(図6(d))、主領域2に格納されたバーション1.2の制御プログラムにてCPU31を動作させる(図6(e))。
上記のようにして主領域2に対する制御プログラムの書き換えが完了すると、起動部35は、通常モードにおける起動時の動作領域を主領域2に切り替えるとともに、書き換えの完了通知をゲートウェイ10に送信する。
When the above rewriting is completed, the activation unit 35 switches the operation area to the main area 2 and executes the verify process of the main area 2 (FIG. 6D), and then the version 1. The CPU 31 is operated by the control program 2 (FIG. 6E).
When the rewriting of the control program for the main area 2 is completed as described above, the activation unit 35 switches the operation area at the time of activation in the normal mode to the main area 2 and transmits a rewriting completion notification to the gateway 10.

〔複数領域ECUに対するロールバック処理〕
図7は、複数領域ECU30に対してゲートウェイ10が実行するロールバック処理の説明図である。
図7において縦横に配列された各ボックスは、各ECU1〜3の記憶部33内の時間経過ごとのメモリ状態R1〜R5の変遷を示す。各ボックスの上段部分は図6の「主領域1」に対応し、下段部分は図6の「主領域2」に対応している。
[Rollback processing for multiple area ECU]
FIG. 7 is an explanatory diagram of a rollback process executed by the gateway 10 for the multi-region ECU 30.
In FIG. 7, the boxes arranged vertically and horizontally indicate the transition of the memory states R1 to R5 over time in the storage units 33 of the ECUs 1 to 3. The upper part of each box corresponds to “main area 1” in FIG. 6, and the lower part corresponds to “main area 2” in FIG.

図7において、時間tは下向きに進行する。時刻t0は、ゲートウェイ10によるリプロモード移行要求S7の送信時点である。
時刻t9は、ゲートウェイ10による完了通知S9の受信時点であり、時刻t11は、ゲートウェイ10による完了通知S11の受信時点であり、時刻t13は、ゲートウェイ10による完了通知S13の受信時点である。
In FIG. 7, time t progresses downward. Time t0 is the time when the gateway 10 transmits the repro mode transition request S7.
Time t9 is the time of reception of the completion notification S9 by the gateway 10, time t11 is the time of reception of the completion notification S11 by the gateway 10, and time t13 is the time of reception of the completion notification S13 by the gateway 10.

メモリ状態R1は、各ECU1〜3がリプロモード移行要求S7を受信したあと、主領域2に旧バーションのバックアップが作成された状態を示している。
メモリ状態R1では、各ECU1〜3が書き換え処理を未だ実行していないので、主領域1,2の双方ともに旧バーションの制御プログラムが格納されている。
メモリ状態R2は、各ECU1〜3が主領域2について書き換え処理を実行中である状態を示している。
The memory state R1 indicates a state in which a backup of the old version is created in the main area 2 after each of the ECUs 1 to 3 receives the repro mode transition request S7.
In the memory state R1, since the ECUs 1 to 3 have not yet executed the rewriting process, the old version control program is stored in both the main areas 1 and 2.
The memory state R <b> 2 indicates a state in which each of the ECUs 1 to 3 is executing the rewriting process for the main area 2.

メモリ状態R3は、ECU1が主領域2の書き換えを完了して完了通知S9を送信し、ECU2,3が未だ書き換え処理を実行中である状態を示している。
メモリ状態R4は、更にECU2が主領域2の書き換えを完了して完了通知S11を送信し、ECU3が未だ書き換え処理を実行中である状態を示している。
メモリ状態R5は、更にECU3が主領域2の書き換えを完了して完了通知S13を送信し、すべてのECU1〜3が新バーションに書き換えられた状態を示している。
The memory state R3 indicates a state in which the ECU 1 completes the rewriting of the main area 2 and transmits a completion notification S9, and the ECUs 2 and 3 are still executing the rewriting process.
The memory state R4 indicates a state in which the ECU 2 completes the rewriting of the main area 2 and transmits a completion notification S11, and the ECU 3 is still executing the rewriting process.
The memory state R5 indicates a state in which the ECU 3 completes the rewriting of the main area 2 and transmits a completion notification S13, and all the ECUs 1 to 3 are rewritten to the new version.

ここで、例えばt9≦t<t11の期間中に、車両1の電源失陥などの何らかの障害により、ECU3の書き換え処理が中断時点tpにおいて中断したと仮定する。
この場合、ゲートウェイ10は、上記の障害がなくなったあとに、リプロモード移行要求S7をすべてのECU1〜3に再送信する。これがロールバック処理である。これにより、書き換え中であったECU2,3だけでなく、書き換え済みであったECU1についても、当初のメモリ状態R1から新バーションへの書き換え処理を再度実行する。
Here, for example, during the period of t9 ≦ t <t11, it is assumed that the rewriting process of the ECU 3 is interrupted at the interruption time tp due to some trouble such as power failure of the vehicle 1.
In this case, the gateway 10 resends the repro mode transition request S7 to all the ECUs 1 to 3 after the above-described failure is eliminated. This is a rollback process. Thereby, not only the ECUs 2 and 3 that are being rewritten but also the rewritten process from the initial memory state R1 to the new version is executed again for the ECU1 that has been rewritten.

なお、t9≦t<t11の期間中だけでなく、t0≦t<t9或いはt11≦t<t13の期間中に、電源失陥などの障害に伴う中断時点tpを検出した場合でも、ゲートウェイ10は同様のロールバック処理を実行する。
すなわち、ゲートウェイ10は、リプロモード移行要求S7の送信時点t0から、すべての完了通知S9,S11,S13の受信を検出するまでの間は、制御プログラムの書き込みを阻害する障害を検出した場合にロールバック処理を実行する。
Note that the gateway 10 does not detect during the period of t9 ≦ t <t11 but also during the period of t0 ≦ t <t9 or t11 ≦ t <t13, even when the interruption time tp due to a failure such as a power failure is detected. A similar rollback process is executed.
That is, when the gateway 10 detects a failure that hinders writing of the control program from the transmission time t0 of the repro mode transition request S7 until the reception of all completion notifications S9, S11, S13 is detected, the gateway 10 rolls. Perform back processing.

このように、本実施形態のプログラム更新システムでは、いずれかのECU1〜3において途中で更新が中断した場合に、すべてのECU1〜3に更新をやり直させるロールバック処理を実行する。
従って、複数領域ECU1〜3の同時更新中においていずれかのECU1〜3における書き換え処理が中断した場合に、すべてのECU1〜3を動作保障されている現状の旧バージョンに戻すことができる。
As described above, in the program update system of the present embodiment, when the update is interrupted in the middle of any of the ECUs 1 to 3, a rollback process is executed to cause all the ECUs 1 to 3 to perform the update again.
Therefore, when the rewriting process in any of the ECUs 1 to 3 is interrupted during the simultaneous update of the multiple areas ECUs 1 to 3, all the ECUs 1 to 3 can be returned to the current old version in which the operation is guaranteed.

このため、旧バーションの制御プログラムで動作するECU30と新バーションの制御プログラムで動作するECU30とが混在することにより、動作保障されていない制御プログラムが同時に動作して動作不良となるのを未然に防止することができる。
なお、上記のロールバック処理は、同時更新の必要性があるすべてのECU1〜3が更新プログラムΔ1〜Δ3を用いた制御プログラムの更新を完了するまで、当該ECU1〜3に制御プログラムの更新を継続させる「更新継続処理」の一種である。
For this reason, the ECU 30 that operates with the control program of the old version and the ECU 30 that operates with the control program of the new version coexist, so that it is possible that the control program that is not guaranteed to operate simultaneously operates and malfunctions. Can be prevented.
The above rollback processing continues to update the ECU 1 to 3 until all the ECUs 1 to 3 that need to be updated simultaneously complete the update of the control program using the update programs Δ1 to Δ3. This is a kind of “update continuation process”.

〔単独領域ECUによる書き換え処理〕
図8は、制御プログラムの動作領域を1つ有するECU30(以下、「単独領域ECU」という。)が実行する制御プログラムの書き換え処理を示す状態遷移図である。
図8では、ECU30の制御プログラムのバーションを「1.0」から「1.2」に更新する場合を例示しているが、その他のバージョン番号の場合も以下と同様の書き換え処理が実行される。
[Rewriting process by single area ECU]
FIG. 8 is a state transition diagram showing a rewrite process of the control program executed by the ECU 30 having one operation area of the control program (hereinafter referred to as “single area ECU”).
FIG. 8 illustrates the case where the version of the control program of the ECU 30 is updated from “1.0” to “1.2”, but the rewriting process similar to the following is executed for other version numbers as well. The

ECU30の記憶部33は、制御プログラムが動作可能な1つ主領域1と、更新プログラムΔ1が格納される1つのワークスペースとに区分されている。
起動部35は、リプロモードにおいてゲートウェイ10から更新プログラムΔ1を受信すると、更新フラグをONに切り替えて、更新プログラムΔ1をワークスペースに格納する(図8(a))。
The storage unit 33 of the ECU 30 is divided into one main area 1 in which the control program can operate and one work space in which the update program Δ1 is stored.
When receiving the update program Δ1 from the gateway 10 in the repro mode, the activation unit 35 switches the update flag to ON and stores the update program Δ1 in the workspace (FIG. 8A).

次に、起動部35は、更新プログラムΔ1を展開して主領域1のバーション1.0のバックアッププログラムに適用し、主領域1の制御プログラムをバーション1.0からバーション1.2に書き換える(図6(b))。
ワークスペースには、書き込み状況の記録部が設けられている。起動部35は、バーション1.0の制御プログラムのデータを書き換えるごとに、書き込みみ先のブロックアドレスとデータのチェックサム値などを記録部に記載する。
Next, the activation unit 35 expands the update program Δ1 and applies the update program Δ1 to the backup program of version 1.0 of the main area 1, and changes the control program of the main area 1 from version 1.0 to version 1.2. Rewrite (FIG. 6B).
The workspace is provided with a writing status recording unit. Each time the starter 35 rewrites the data of the version 1.0 control program, it writes the block address of the write destination and the checksum value of the data in the recording part.

上記の書き換えが完了すると、起動部35は、更新フラグをOFFにするとともに、書き換えられた主領域1のベリファイ処理を実行し(図6(c))、主領域1に格納されたバーション1.2の制御プログラムにてCPU31を動作させる(図6(d))。
上記のようにして主領域1に対する制御プログラムの書き換えが完了すると、起動部35は、書き換えの完了通知をゲートウェイ10に送信する。
When the above rewriting is completed, the activation unit 35 turns off the update flag, executes the verification processing of the rewritten main area 1 (FIG. 6C), and the version 1 stored in the main area 1 The CPU 31 is operated by the control program (2) (FIG. 6D).
When the rewriting of the control program for the main area 1 is completed as described above, the activation unit 35 transmits a rewriting completion notification to the gateway 10.

ここで、主領域1の制御プログラムをバーション1.0からバーション1.2に書き換え中である場合(図6(b)の場合)に、ECU30が電源失陥などにより停止した場合を想定する。
この場合、起動部35は、電源回復によって再起動すると、記録部のデータ内容に基づいて主領域1に対する書き込みの中断点Pを検出し、検出した中断点Pから主領域1に対する制御プログラムの書き換えを再開することができる(図6(e))。
Here, it is assumed that when the control program for the main area 1 is being rewritten from version 1.0 to version 1.2 (in the case of FIG. 6B), the ECU 30 is stopped due to power failure or the like. To do.
In this case, when the activation unit 35 is restarted due to power recovery, the activation unit 35 detects the interruption point P for writing to the main area 1 based on the data content of the recording unit, and rewrites the control program for the main area 1 from the detected interruption point P. Can be resumed (FIG. 6E).

〔単独領域ECUに対する更新復帰処理〕
図8の単独領域ECU30の場合には、いったん新バーションへの書き換え処理が実行されると、旧バーションの制御プログラムでは動作することができない。従って、単独領域ECU30の場合には、前述のロールバック処理(図7)を採用できない。
そこで、車両1のECUが単独領域ECU30である場合には、ゲートウェイ10は、いずれかのECU1〜3において途中で更新が中断した場合に、中断した当該ECU1〜3の中断点Pから更新を再開させる「更新復帰処理」を実行する。
[Update return processing for single area ECU]
In the case of the single area ECU 30 in FIG. 8, once the rewriting process to the new version is executed, the old version control program cannot operate. Therefore, in the case of the single area ECU 30, the above-described rollback process (FIG. 7) cannot be employed.
Therefore, when the ECU of the vehicle 1 is the single region ECU 30, the gateway 10 resumes the update from the interrupt point P of the ECU 1 to 3 when the update is interrupted in the middle of any of the ECUs 1 to 3. The “update return processing” is executed.

図9は、単独領域ECU30に対してゲートウェイ10が実行する更新復帰処理の一例を示すフローチャートである。
図9の更新復帰処理は、複数の単独領域ECU1〜3の同時更新中に電源失陥などの障害が発生したあと、障害から復帰した場合にゲートウェイ10により実行される。
FIG. 9 is a flowchart showing an example of the update return process executed by the gateway 10 for the single area ECU 30.
The update recovery process of FIG. 9 is executed by the gateway 10 when a failure such as a power failure occurs during the simultaneous update of the plurality of single areas ECU1 to ECU3, and then returns from the failure.

図9に示すように、ゲートウェイ10は、まず、リプログラミングモードのECU1〜3が存在する否かを判定する(ステップST1)。
ステップST1の判定結果が否定的である場合は、ゲートウェイ10は、管理サーバ5に更新完了通知を送信する(ステップST5)。
ステップST1の判定結果が肯定的である場合は、ゲートウェイ10は、ECU1〜3ごとに更新完了通知があったか否かを判定する(ステップST2)。
As shown in FIG. 9, the gateway 10 first determines whether or not the ECUs 1 to 3 in the reprogramming mode exist (step ST1).
If the determination result in step ST1 is negative, the gateway 10 transmits an update completion notification to the management server 5 (step ST5).
If the determination result in step ST1 is affirmative, the gateway 10 determines whether or not there has been an update completion notification for each of the ECUs 1 to 3 (step ST2).

ステップST2の判定結果が否定的である場合は、ゲートウェイ10は、障害発生による中断点Pが存在するか否かを判定する(ステップST6)。
ステップST2の判定結果が肯定的である場合は、ゲートウェイ10は、すべてのECU1〜3についてのチェックが終了したか否かを判定する(ステップST3)。
If the determination result of step ST2 is negative, the gateway 10 determines whether or not there is an interruption point P due to the occurrence of a failure (step ST6).
When the determination result of step ST2 is affirmative, the gateway 10 determines whether or not all the ECUs 1 to 3 have been checked (step ST3).

ステップST6の判定結果が否定的である場合は、ゲートウェイ10は、当該ECU1〜3に対して、メモリ領域の開始時点からリプログラムを開始するように指示する(ステップST6)。
ステップST6の判定結果が肯定的である場合は、ゲートウェイ10は、中断があった当該ECU1〜3に対して、前回の中断点Pから新バージョンの書き込みを再開するように指示する(ステップST7)。
If the determination result in step ST6 is negative, the gateway 10 instructs the ECUs 1 to 3 to start reprogramming from the start time of the memory area (step ST6).
If the determination result in step ST6 is affirmative, the gateway 10 instructs the ECUs 1 to 3 that have been interrupted to resume writing the new version from the previous interruption point P (step ST7). .

ステップST3の判定結果が否定的である場合は、ゲートウェイ10は、ステップST2の前に戻って処理を繰り返す。
ステップST3の判定結果が肯定的である場合は、ゲートウェイ10は、通常モード移行要求とリセット要求を、各ECU1〜3に送信したあと、管理サーバ5に更新完了通知を送信する(ステップST5)。
When the determination result of step ST3 is negative, the gateway 10 returns to before step ST2 and repeats the process.
If the determination result in step ST3 is affirmative, the gateway 10 transmits a normal mode transition request and a reset request to each of the ECUs 1 to 3, and then transmits an update completion notification to the management server 5 (step ST5).

このように、ゲートウェイ10は、障害からの復帰後に新バーションの書き換えを途中で中断したECU1〜3がどれかを探索し(ステップST1,ST2,ST6)、当該ECU1〜3に対して中断点Pからの新バーションの書き換え再開を指示する(ステップST7)。   As described above, the gateway 10 searches for the ECUs 1 to 3 that interrupted the rewriting of the new version after the recovery from the failure (steps ST1, ST2, and ST6). An instruction to resume rewriting the new version from P is given (step ST7).

従って、単独領域ECU1〜3の同時更新中においていずれかのECU1〜3における書き換え処理が何らかの障害で中断した場合に、中断した書き換え処理を再開させることができる。
このため、旧バーションの制御プログラムで動作するECU30と新バーションの制御プログラムで動作するECU30とが混在することにより、動作保障されていない制御プログラムが同時に動作して動作不良となるのを未然に防止することができる。
Therefore, when the rewriting process in any of the ECUs 1 to 3 is interrupted due to some trouble during the simultaneous update of the single areas ECU 1 to 3, the interrupted rewriting process can be resumed.
For this reason, the ECU 30 that operates with the control program of the old version and the ECU 30 that operates with the control program of the new version coexist, so that it is possible that the control program that is not guaranteed to operate simultaneously operates and malfunctions. Can be prevented.

なお、上記の更新復帰処理も、同時更新の必要性があるすべてのECU1〜3が更新プログラムΔ1〜Δ3を用いた制御プログラムの更新を完了するまで、当該ECU1〜3に制御プログラムの更新を継続させる「更新継続処理」の一種である。   Note that the above-described update return processing also continues to update the ECU 1 to 3 until all the ECUs 1 to 3 that need to be updated simultaneously complete the update of the control program using the update programs Δ1 to Δ3. This is a kind of “update continuation process”.

〔自身でΔを適用できないECUに対する更新処理〕
上述の実施形態では、ECU1〜3がΔを自身で展開可能である場合を例示したが、中にはΔを自身で適応できないECU1も存在する。この場合、図10に示すように、まずECU1からファームを吸出してゲートウェイ10に転送する。
その後、ゲートウェイ10上でΔ1を展開する。Δ1が適応されたファームは、ECU1に転送され、ECU1のROMが書き換えられる。ECU1は、書き換え終了後にゲートウェイ10に完了通知を行う。
[Update process for ECUs that cannot apply Δ by themselves]
In the above-described embodiment, the case where the ECUs 1 to 3 can develop Δ by themselves is exemplified, but there is also an ECU 1 in which Δ cannot be applied by itself. In this case, as shown in FIG. 10, the farm is first sucked out from the ECU 1 and transferred to the gateway 10.
Thereafter, Δ1 is developed on the gateway 10. The firmware to which Δ1 is applied is transferred to the ECU 1 and the ROM of the ECU 1 is rewritten. The ECU 1 notifies the gateway 10 of completion after the rewriting is completed.

〔自身でΔを適用できないECUに対する更新復帰処理〕
ゲートウェイ10は、Δ1を展開中の場合には、図8(e)の場合と同様に中断点Pからの再開を試みる。転送状態をゲートウェイ10で記録しておき、転送途中の場合は、転送のやり直しを試みる。
[Update return processing for ECUs for which Δ cannot be applied by themselves]
When Δ1 is being developed, the gateway 10 tries to resume from the interruption point P as in the case of FIG. The transfer state is recorded by the gateway 10, and if the transfer is in progress, the transfer is tried again.

〔その他の変形例〕
今回開示した実施形態はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態に限定されるものではなく、特許請求の範囲に記載された構成と均等の範囲内でのすべての変更が含まれる。
[Other variations]
The embodiments disclosed herein are illustrative and non-restrictive in every respect. The scope of rights of the present invention is not limited to the above-described embodiments, but includes all modifications within the scope equivalent to the configurations described in the claims.

例えば、上述の実施形態において、制御プログラムの動作領域が複数存在する記憶装置を有する複数領域ECU30に対する更新継続処理として、いずれかのECU30において途中で更新が中断した場合に、中断した当該ECU20に中断点Pから更新を再開させる更新復帰処理を実行させることにしてもよい。   For example, in the above-described embodiment, as the update continuation process for the multi-region ECU 30 having a storage device in which a plurality of operation regions of the control program exist, if the update is interrupted in the middle of any ECU 30, the interrupted ECU 20 is interrupted. An update return process for restarting the update from the point P may be executed.

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 通信部
1 Vehicle 2 Wide Area Communication Network 5 Management Server 6 DL Server 10 Gateway (Relay Device)
11 CPU (Processor)
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 Start-up Unit 51 CPU (Processing Unit)
52 ROM
53 RAM
54 storage unit 55 communication unit

Claims (4)

車両に搭載された複数の制御装置と、複数の前記制御装置と車内通信可能に接続された中継装置と、前記中継装置と車外通信可能に接続された管理サーバと、を含むプログラム更新システムであって、
前記中継装置は、
複数の前記制御装置に関する制御プログラムの現状のバージョン情報と、自車両の車両識別番号を前記管理サーバに送信し、制御プログラムを前記管理サーバから通知された新バージョンに更新するための複数の更新プログラムを受信する車外通信部と、
受信した複数の前記更新プログラムを記憶する記憶部と、
記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、
前記更新プログラムを受信したすべての前記制御装置が前記更新プログラムを用いた制御プログラムの更新を完了するまで、当該制御装置に制御プログラムの更新を継続させる、更新継続処理を実行する処理部と、を備え
前記更新継続処理は、
いずれかの前記制御装置において途中で更新が中断した場合に、中断した当該制御装置に中断点から更新を再開させる更新復帰処理であり、
前記更新復帰処理は、
障害からの復帰後に、複数の前記制御装置のうち新バージョンへの書き換えを途中で中断した制御装置がどれかを探索する処理と、
途中で中断した制御装置に中断点からの書き換えの再開を指示する処理と、
途中で中断しなかった制御装置に当初からの書き換えを指示する処理と、を含むプログラム更新システム。
A program update system comprising: a plurality of control devices mounted on a vehicle; a relay device connected to the plurality of control devices so as to enable in-vehicle communication; and a management server connected to the relay device so as to be able to communicate outside the vehicle. And
The relay device is
A plurality of update programs for transmitting the current version information of the control program related to the plurality of control devices and the vehicle identification number of the host vehicle to the management server, and updating the control program to the new version notified from the management server An external communication unit that receives
A storage unit for storing the plurality of received update programs;
An in-vehicle communication unit for transmitting each of the stored update programs to the corresponding control device;
A processing unit that executes an update continuation process that causes the control device to continue to update the control program until all the control devices that have received the update program have completed updating the control program using the update program; Prepared ,
The update continuation process
In the case where the update is interrupted in the middle of any of the control devices, it is an update return process for causing the interrupted control device to restart the update from the interruption point,
The update return process
After returning from a failure, a process of searching for a control device that interrupted rewriting to a new version among the plurality of control devices, and
A process for instructing the control device suspended in the middle to resume rewriting from the interruption point;
And a process for instructing a control device that has not been interrupted on the way to rewrite from the beginning .
前記管理サーバは、
前記バージョン情報と前記車両識別番号を前記中継装置から受信する通信部と、
動作確認が取れている前記制御プログラムのバーションの組み合わせごとに識別番号が付与されたテーブルを、前記車両識別番号ごとに記憶する記憶部と、
受信した前記バージョン情報と前記車両識別番号に基づいて、1つの前記識別番号に対応する前記制御プログラムのバーションの組み合わせを、前記車両に搭載された複数の前記制御装置に適用する新バーションとして抽出する処理部と、を備え、
前記通信部は、抽出された前記制御プログラムの新バーションの組み合わせを前記中継装置に通知する請求項1に記載のプログラム更新システム。
The management server
A communication unit that receives the version information and the vehicle identification number from the relay device;
A storage unit that stores a table in which an identification number is assigned for each combination of versions of the control program whose operation is confirmed; and for each vehicle identification number;
Based on the received version information and the vehicle identification number, a combination of versions of the control program corresponding to one identification number is applied as a new version to be applied to the plurality of control devices mounted on the vehicle. A processing unit for extracting,
The program update system according to claim 1, wherein the communication unit notifies the relay apparatus of a combination of the extracted new versions of the control program.
車両に搭載された複数の制御装置と車内通信可能に接続された中継装置が実行するプログラム更新方法であって、
複数の前記制御装置に関する制御プログラムの現状のバージョン情報と、自車両の車両識別番号を管理サーバに送信し、制御プログラムを前記管理サーバから通知された新バージョンに更新するための複数の更新プログラムを受信するステップと、
受信した複数の前記更新プログラムを記憶するステップと、
記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、
前記更新プログラムを受信したすべての前記制御装置が前記更新プログラムを用いた制御プログラムの更新を完了するまで、当該制御装置に制御プログラムの更新を継続させる、更新継続処理を実行するステップと、を含み、
前記更新継続処理は、
いずれかの前記制御装置において途中で更新が中断した場合に、中断した当該制御装置に中断点から更新を再開させる更新復帰処理であり、
前記更新復帰処理は、
障害からの復帰後に、複数の前記制御装置のうち新バージョンへの書き換えを途中で中断した制御装置がどれかを探索する処理と、
途中で中断した制御装置に中断点からの書き換えの再開を指示する処理と、
途中で中断しなかった制御装置に当初からの書き換えを指示する処理と、を含むプログラム更新方法。
A program update method executed by a relay device connected to a plurality of control devices mounted on a vehicle so as to be capable of in-vehicle communication,
And current status of the version information of the control program for a plurality of said control device, and transmits the vehicle identification number of the vehicle to the management server, a plurality of update program for updating the control program to the new version notified from the management server Receiving the step,
Storing a plurality of received update programs;
Transmitting each of the plurality of stored update programs to the corresponding control device;
Executing update continuation processing for causing the control device to continue to update the control program until all the control devices that have received the update program have completed updating the control program using the update program. See
The update continuation process
In the case where the update is interrupted in the middle of any of the control devices, it is an update return process for causing the interrupted control device to restart the update from the interruption point,
The update return process
After returning from a failure, a process of searching for a control device that interrupted rewriting to a new version among the plurality of control devices, and
A process for instructing the control device suspended in the middle to resume rewriting from the interruption point;
A program update method comprising: instructing a control device that has not been interrupted halfway to rewrite from the beginning .
車両に搭載された複数の制御装置と車内通信可能に接続された中継装置として、コンピュータを機能させるためのコンピュータプログラムであって、
複数の前記制御装置に関する制御プログラムの現状のバージョン情報と、自車両の車両識別番号を管理サーバに送信し、制御プログラムを前記管理サーバから通知された新バージョンに更新するための複数の更新プログラムを受信するステップと、
受信した複数の前記更新プログラムを記憶するステップと、
記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、
前記更新プログラムを受信したすべての前記制御装置が前記更新プログラムを用いた制御プログラムの更新を完了するまで、当該制御装置に制御プログラムの更新を継続させる、更新継続処理を実行するステップと、を含み、
前記更新継続処理は、
いずれかの前記制御装置において途中で更新が中断した場合に、中断した当該制御装置に中断点から更新を再開させる更新復帰処理であり、
前記更新復帰処理は、
障害からの復帰後に、複数の前記制御装置のうち新バージョンへの書き換えを途中で中断した制御装置がどれかを探索する処理と、
途中で中断した制御装置に中断点からの書き換えの再開を指示する処理と、
途中で中断しなかった制御装置に当初からの書き換えを指示する処理と、を含むプログラム更新方法。
A computer program for causing a computer to function as a relay device connected to a plurality of control devices mounted on a vehicle so as to be capable of in-vehicle communication,
And current status of the version information of the control program for a plurality of said control device, and transmits the vehicle identification number of the vehicle to the management server, a plurality of update program for updating the control program to the new version notified from the management server Receiving the step,
Storing a plurality of received update programs;
Transmitting each of the plurality of stored update programs to the corresponding control device;
Executing update continuation processing for causing the control device to continue to update the control program until all the control devices that have received the update program have completed updating the control program using the update program. See
The update continuation process
In the case where the update is interrupted in the middle of any of the control devices, it is an update return process for causing the interrupted control device to restart the update from the interruption point,
The update return process
After returning from a failure, a process of searching for a control device that interrupted rewriting to a new version among the plurality of control devices, and
A process for instructing the control device suspended in the middle to resume rewriting from the interruption point;
A program update method comprising: instructing a control device that has not been interrupted halfway to rewrite from the beginning .
JP2016039891A 2016-03-02 2016-03-02 Program update system, program update method, and computer program Active JP6390644B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016039891A JP6390644B2 (en) 2016-03-02 2016-03-02 Program update system, program update method, and computer program
PCT/JP2016/080067 WO2017149825A1 (en) 2016-03-02 2016-10-11 Program update system, program update method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016039891A JP6390644B2 (en) 2016-03-02 2016-03-02 Program update system, program update method, and computer program

Publications (3)

Publication Number Publication Date
JP2017157004A JP2017157004A (en) 2017-09-07
JP2017157004A5 JP2017157004A5 (en) 2018-05-31
JP6390644B2 true JP6390644B2 (en) 2018-09-19

Family

ID=59742792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016039891A Active JP6390644B2 (en) 2016-03-02 2016-03-02 Program update system, program update method, and computer program

Country Status (2)

Country Link
JP (1) JP6390644B2 (en)
WO (1) WO2017149825A1 (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6940365B2 (en) * 2017-10-12 2021-09-29 日立Astemo株式会社 Information updater
JP6915500B2 (en) * 2017-11-06 2021-08-04 トヨタ自動車株式会社 Update system, electronic control device, update management device, and update management method
JP6958308B2 (en) * 2017-12-11 2021-11-02 株式会社オートネットワーク技術研究所 In-vehicle update device, program, and how to update the program or data
JP7331989B2 (en) * 2018-03-07 2023-08-23 トヨタ自動車株式会社 Apparatus for verifying consistency of software, vehicle equipped with the same, method and program for verifying consistency of software
JP7225596B2 (en) 2018-07-30 2023-02-21 トヨタ自動車株式会社 Program update system, program update server and vehicle
JP7427879B2 (en) * 2018-08-10 2024-02-06 株式会社デンソー Vehicle master device, group management method to be rewritten, and group management program to be rewritten
WO2020032115A1 (en) * 2018-08-10 2020-02-13 株式会社デンソー Vehicular master device, rollback execution control method, rollback execution control program, and data structure of specification data
JP7115429B2 (en) * 2018-08-10 2022-08-09 株式会社デンソー VEHICLE MASTER DEVICE, ROLLBACK EXECUTION CONTROL METHOD AND ROLLBACK EXECUTION CONTROL PROGRAM
US10592231B2 (en) 2018-08-10 2020-03-17 Denso Corporation Vehicle information communication system
JP7003975B2 (en) 2018-08-10 2022-01-21 株式会社デンソー Vehicle information communication system, center device and message transmission method of center device
WO2020032118A1 (en) * 2018-08-10 2020-02-13 株式会社デンソー Vehicular master device, vehicular electronic control system, activation request instruction method, and activation request instruction program
US11163549B2 (en) 2018-08-10 2021-11-02 Denso Corporation Vehicle information communication system
US11579865B2 (en) 2018-08-10 2023-02-14 Denso Corporation Vehicle information communication system
WO2020032200A1 (en) * 2018-08-10 2020-02-13 株式会社デンソー Central device, specification data generation method, and program for generating specification data
WO2020032122A1 (en) * 2018-08-10 2020-02-13 株式会社デンソー Electronic control device, vehicular electronic control system, rewriting execution control method, rewriting execution control program, and data structure of specification data
WO2020032045A1 (en) * 2018-08-10 2020-02-13 株式会社デンソー Vehicular master device, group management method for objects for which rewriting is to be carried out, group management program for objects for which rewriting is to be carried out, and data structure of specification data
JP6742381B2 (en) * 2018-10-15 2020-08-19 本田技研工業株式会社 Vehicle control device, vehicle control method, and program
US11507365B2 (en) * 2018-10-15 2022-11-22 Autonetworks Technologies, Ltd. On-board update device, update processing program, program update method, and on-board update system
JP7124627B2 (en) * 2018-10-16 2022-08-24 株式会社オートネットワーク技術研究所 In-vehicle update device, update processing program, and program update method
JP7192415B2 (en) * 2018-11-06 2022-12-20 株式会社オートネットワーク技術研究所 Program update system and update processing program
WO2020111090A1 (en) * 2018-11-28 2020-06-04 株式会社オートネットワーク技術研究所 Monitoring device, monitoring program, and monitoring method
WO2020170407A1 (en) * 2019-02-22 2020-08-27 本田技研工業株式会社 Software update device, vehicle, and software update method
WO2020170406A1 (en) * 2019-02-22 2020-08-27 本田技研工業株式会社 Software update device, vehicle, and software update method
JP7111030B2 (en) * 2019-03-04 2022-08-02 株式会社オートネットワーク技術研究所 In-vehicle update device, update processing program, and program update method
KR102204581B1 (en) * 2019-10-07 2021-01-20 주식회사 오비고 Method for updating of service module in extension service framework and the server using the same
JP7220397B2 (en) * 2019-12-09 2023-02-10 パナソニックIpマネジメント株式会社 Information processing device and information processing method
JP7426886B2 (en) 2020-04-03 2024-02-02 河村電器産業株式会社 Delivery locker system
JP6935826B1 (en) 2020-04-30 2021-09-15 ダイキン工業株式会社 Software update method, software update system and software update program
JP7484791B2 (en) 2021-03-30 2024-05-16 トヨタ自動車株式会社 OTA master, update control method, and update control program

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4942261B2 (en) * 2001-07-31 2012-05-30 株式会社デンソー Vehicle relay device and in-vehicle communication system
JP2004192278A (en) * 2002-12-10 2004-07-08 Sumitomo Electric Ind Ltd Communication system and onboard gateway device
JP2004287993A (en) * 2003-03-24 2004-10-14 Fuji Xerox Co Ltd Management method of system version, device, and information processing system
JP4593095B2 (en) * 2003-08-29 2010-12-08 株式会社デンソー Program writing device, program writing system, transmission device, and program
US20050216902A1 (en) * 2004-03-23 2005-09-29 General Motors Corporation Method and system for vehicle software configuration update management
JP4639934B2 (en) * 2005-05-06 2011-02-23 株式会社デンソー Vehicle control system
JP2007022300A (en) * 2005-07-15 2007-02-01 Sumitomo Electric Ind Ltd Apparatus and method for distributing control program and computer program
JP2009053920A (en) * 2007-08-27 2009-03-12 Auto Network Gijutsu Kenkyusho:Kk Program management system for on-vehicle electronic control unit
JP2010146257A (en) * 2008-12-18 2010-07-01 Fujitsu Ten Ltd Information processor, program update method, and information processing system
JP2010272971A (en) * 2009-05-19 2010-12-02 Nagoya Univ Control system and method for rewriting control program
JP5363192B2 (en) * 2009-05-21 2013-12-11 富士通テン株式会社 Gateway device and data transmission method
JP2011128702A (en) * 2009-12-15 2011-06-30 Sharp Corp Image forming apparatus and update method for firmware to be used for the same apparatus
US9464905B2 (en) * 2010-06-25 2016-10-11 Toyota Motor Engineering & Manufacturing North America, Inc. Over-the-air vehicle systems updating and associate security protocols
JP2012091755A (en) * 2010-10-29 2012-05-17 Honda Motor Co Ltd Program rewriting system for vehicle
US9229704B2 (en) * 2014-04-01 2016-01-05 Ford Global Technologies, Llc Smart vehicle reflash with battery state of charge (SOC) estimator
US9722781B2 (en) * 2014-07-09 2017-08-01 Livio, Inc. Vehicle software update verification

Also Published As

Publication number Publication date
JP2017157004A (en) 2017-09-07
WO2017149825A1 (en) 2017-09-08

Similar Documents

Publication Publication Date Title
JP6390644B2 (en) Program update system, program update method, and computer program
JP6380461B2 (en) Relay device, program update system, and program update method
JP6665728B2 (en) In-vehicle update device, in-vehicle update system and communication device update method
US20180341476A1 (en) Software updating device, software updating system, and software updating method
JP6361671B2 (en) Program update system, program update method, relay device, and computer program
JP6376312B1 (en) Control device, program update method, and computer program
CN107531198B (en) Program rewriting device and program rewriting method
US20190138296A1 (en) Updating system, electronic control unit, updating management device, and updating management method
JP2009053920A (en) Program management system for on-vehicle electronic control unit
JP2017157003A5 (en)
US20190256109A1 (en) Control apparatus, control method, and computer program
JP6562133B2 (en) Relay device, program update system, and program update method
JPWO2018230084A1 (en) Update control device, control method, and computer program
JP2007092621A (en) Electronic control unit
CN107102849B (en) Method and apparatus for file replacement with periodic ignition switch off
CN106095474A (en) For the method and apparatus updating the software in means of transport
US11853742B2 (en) Server, software update system, distribution method, and non-transitory storage medium
JP6547904B2 (en) CONTROL DEVICE, PROGRAM UPDATE METHOD, AND COMPUTER PROGRAM
JP7230768B2 (en) Electronic controller, session establishment program and control program
EP4036712A1 (en) Ota master, update control method, non-transitory storage medium, and vehicle
JP7484791B2 (en) OTA master, update control method, and update control program
WO2020195034A1 (en) Vehicle-mounted update device, update processing system, update processing method, and processing program
JP7363853B2 (en) OTA master, center, system, update method, update program, and vehicle
US20220391193A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
JP7491765B2 (en) Firmware update system and firmware update method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180411

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180411

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180411

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180705

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180806

R150 Certificate of patent or registration of utility model

Ref document number: 6390644

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