WO2018154949A1 - Program updating system, control device, program updating method and computer program - Google Patents

Program updating system, control device, program updating method and computer program Download PDF

Info

Publication number
WO2018154949A1
WO2018154949A1 PCT/JP2017/045982 JP2017045982W WO2018154949A1 WO 2018154949 A1 WO2018154949 A1 WO 2018154949A1 JP 2017045982 W JP2017045982 W JP 2017045982W WO 2018154949 A1 WO2018154949 A1 WO 2018154949A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
update
control
version
control device
Prior art date
Application number
PCT/JP2017/045982
Other languages
French (fr)
Japanese (ja)
Inventor
勝憲 牛田
竹嶋 進
長村 吉富
陽介 高田
Original Assignee
住友電気工業株式会社
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 住友電気工業株式会社 filed Critical 住友電気工業株式会社
Publication of WO2018154949A1 publication Critical patent/WO2018154949A1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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

Definitions

  • the present invention relates to a program update system, a control device, a program update method, and a computer program.
  • This application claims priority based on Japanese Patent Application No. 2017-031758 filed on Feb. 23, 2017, and incorporates all the content described in the above Japanese application.
  • ECUs Electronic Control Units
  • 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.
  • 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 control program of the ECU needs to rewrite the old version of the control program with the new version of the control program in response to the upgrade of the control program.
  • 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.
  • a system includes a control device mounted on a vehicle, a relay device connected to the control device so as to enable in-vehicle communication, and a management server that performs wireless communication with the relay device.
  • the relay device or the control device transmits a transmission defined as follows until obtaining a plurality of update programs necessary for updating the control program of the control device to a new version of two or more generations.
  • a transmission / reception process for repeating the process and the reception process is executed.
  • Transmission process Process for transmitting a control message requesting an update program for upgrading the control program of the control device one generation at a time to the management server Reception process: Managing an update program transmitted by the management server in response to the control message Processing received from the server
  • An apparatus is a control device mounted on a vehicle, and includes a volatile memory, a storage unit having a rewritable nonvolatile memory that stores a control program, and the control program A control unit that controls a control target in the vehicle, and an acquisition unit that acquires an update program of the control program, and the control unit, when the acquisition unit acquires a plurality of the update programs,
  • the control program is read from the non-volatile memory to the volatile memory, a plurality of the update programs are sequentially applied to the control program on the volatile memory, and the control program is updated to a new version of two or more generations. Then, the updated new version of the control program is written into the nonvolatile memory.
  • a method includes a control device mounted on a vehicle, a relay device connected to the control device so as to enable in-vehicle communication, and a management server that performs wireless communication with the relay device.
  • a method for updating a program executed in a communication system wherein the relay device or the control device acquires a plurality of update programs necessary for updating the control program of the control device to a new new version for two generations or more. , Including the step of repeating the transmission process and the reception process defined above.
  • a computer program includes a control device mounted on a vehicle, a relay device connected to the control device so as to be able to perform in-vehicle communication, and a management server that performs wireless communication with the relay device.
  • 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. 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. It is a sequence diagram which shows the prior art example of the update procedure of a control program. It is a sequence diagram which shows the update procedure of the control program of 1st Embodiment. It is a sequence diagram which shows the update procedure of the control program of 2nd Embodiment. It is a sequence diagram which shows the update procedure of the control program of 3rd Embodiment. It is a sequence diagram which shows the update procedure of the control program of 4th Embodiment. It is a sequence diagram which shows the update procedure of the control program of 5th Embodiment.
  • the management server manages the version history of the control program of the ECU for each vehicle, and in the operation method in which an update program suitable for each vehicle is generated and provided to the vehicle, The server processing load becomes excessive.
  • the vehicle receives the update program by wireless communication, the above-mentioned tendency becomes remarkable because the update timing is diversified as compared with the case of wired communication. Therefore, on the management server side, when there are a plurality of version upgrades for a predetermined ECU, it is a reality that each differential program is prepared, and the ECU of the vehicle that is not the new version sequentially updates the differential program and the control program. Operation.
  • the update program is a differential program
  • the old version of the control program is expanded in the RAM
  • the new version of the control program to which the update program is applied is written in the ROM. Done. Therefore, when the difference between the current version and the new version is two generations or more with respect to the same ECU control program, at least the update process from the current version to the mid version and the update process from the mid version to the new version are at least Since two update processes are required, there is a problem that it takes time to reach the new version.
  • the update program is a differential program
  • it is necessary to perform writing / ROM check of the control program which is the main cause of lengthening the update time, at least twice.
  • the present disclosure has been made in view of such conventional problems, and an object thereof is to shorten the update time of a control program necessary for upgrading two or more generations.
  • a program update system includes a control device mounted on a vehicle, a relay device connected to the control device so that in-vehicle communication is possible, and a management server that wirelessly communicates with the relay device.
  • the relay apparatus or the control apparatus transmits a plurality of update programs necessary for updating the control program of the control apparatus to a new new version for two generations or more until the transmission process defined below The transmission / reception process is repeated to repeat the reception process.
  • Transmission process Process for transmitting a control message requesting an update program for upgrading the control program of the control device one generation at a time to the management server Reception process: Managing an update program transmitted by the management server in response to the control message Processing received from the server
  • the control device since the relay device or the control device executes the transmission / reception process described above, the control device can update a plurality of update programs or new versions required for generating a new version of the control program.
  • a control program can be acquired.
  • control device includes a volatile memory and a storage unit having a rewritable nonvolatile memory for storing the control program, and the control device acquires a plurality of the update programs
  • the control The apparatus reads the control program from the non-volatile memory to the volatile memory, sequentially applies the plurality of update programs to the control program on the volatile memory, and updates the control program to the new version.
  • the updated new version of the control program may be written into the nonvolatile memory.
  • control device only needs to write and check a new version of the control program (skip program) generated by itself once, and shorten the update time required for two or more generations of version upgrades. Can do.
  • control device does not update the control program until a plurality of the update programs are acquired, and after the plurality of the update programs are acquired, It is necessary to update the control program.
  • the control device may transmit a write completion notification when the updated control program is written to the nonvolatile memory after a plurality of the update programs are acquired. preferable. In this way, by sending the above write completion notification to the relay device or management server, it is possible to notify the relay device or management server that the control program has been updated to a new version of two or more generations. it can.
  • the relay device or the control device applies the plurality of acquired update programs to the volatile memory of its own device a plurality of times to generate two generations.
  • the generation process of the skip program which is the new version of the control program is executed, and the control apparatus executes the writing process of writing the generated skip program in the nonvolatile memory of the own apparatus.
  • the control device only needs to write and check a new version of the control program (skip program) that has been generated by itself or provided from the relay device once, and it can be upgraded to two or more generations.
  • the required update time can be shortened.
  • the relay device transfers the acquired plurality of update programs to the control device, and the control The apparatus uses the plurality of transferred update programs to generate a skip program that is a version of the control program that is two or more generations newer than the current version of the apparatus, and stores the generated skip program in the storage unit of the apparatus. Just write it. In this case, if the writing and checking of the skip program are completed successfully, the update to the new version, which is a new version of two generations or more, is completed, so the update time required for the version upgrade of two generations or more can be shortened. .
  • the relay device uses the plurality of acquired update programs to obtain the current version of the control device.
  • a skip program that is a version of the control program that is newer than two generations is generated, the generated skip program is transferred to the control device, and the control device writes the transferred skip program in the storage unit of the own device. You may do it.
  • the writing and checking of the skip program is completed successfully, the update to the new version, which is a new version of 2 generations or more, is completed, so the update time required for the upgrade of 2 generations or more can be shortened. it can.
  • the control device uses the plurality of acquired update programs to determine the current version of the device itself.
  • a skip program that is a new version of the control program of two or more generations may be generated, and the generated skip program may be written in the storage unit of the own device.
  • the update to the new version which is a new version of 2 generations or more, is completed, so the update time required for the upgrade of 2 generations or more can be shortened. it can.
  • control device In the program update system of the present embodiment, the control device generates a next-generation control program from the update program when the write of the skip program fails, and the generated control program It is preferable to perform writing to the storage unit of the own device step by step for each generation. In this way, even if the skip program writing fails, the control program of the control device can be reliably updated to the new version.
  • the control message may include a provisional completion notification requesting the management server to transmit the next update program in response to reception of the update program. preferable.
  • the management server since the management server further transmits the next update program in response to the provisional completion notification, a plurality of update programs necessary for updating to a new version that is a new version of two or more generations are transferred to the relay device or The control device can receive appropriately.
  • the control message includes a write completion notification for notifying the management server of completion of writing of the next generation control program generated from the update program. Also good.
  • the management server since the management server further transmits the next update program in response to the rewriting completion notification, a plurality of update programs necessary for updating to a new version that is a new version of two or more generations are transferred to the relay device or The control device can receive appropriately.
  • the program update system of the present embodiment whether or not the relay device or the control device executes the transmission / reception process based on at least one of a data size and a transmission time of a plurality of the update programs. It is preferable to determine whether or not. In this case, only when the data size and transmission time of a plurality of update programs are equal to or greater than a predetermined threshold, the program update system of the present embodiment can be flexibly operated, for example, by causing the relay device or the control device to execute the transmission / reception process described above become able to.
  • the control device of the present embodiment is a control device mounted on a vehicle, and includes a volatile memory, a storage unit having a rewritable nonvolatile memory for storing a control program, and the vehicle according to the control program.
  • a control unit that controls a control target of the control unit, and an acquisition unit that acquires an update program of the control program, and the control unit is configured such that when the acquisition unit acquires a plurality of the update programs, the nonvolatile unit
  • the control program is read from the volatile memory to the volatile memory, a plurality of the update programs are sequentially applied to the control program on the volatile memory, and the control program is updated to a new new version for two generations or more.
  • the new version of the control program is written into the nonvolatile memory.
  • the control unit reads the control program from the nonvolatile memory to the volatile memory, sequentially applies a plurality of update programs to the control program on the volatile memory, and generates the control program for two generations. Since the new new version is updated and the updated new version of the control program is written to the non-volatile memory, it is only necessary to write and check the generated new version of the control program (skip program) once and for two or more generations. The update time required for version upgrade can be shortened.
  • the program update method of the present embodiment relates to a program update method executed by a relay device included in the program update system described in any of (1) to (12) above. 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 (12).
  • the computer program of the present embodiment relates to a computer program for causing a computer to function as a relay device included in the program update system described in any one of (1) to (12) above. Therefore, the computer program of the present embodiment has the same operational effects as the program update system described in any of the above (1) to (12).
  • FIG. 1 is an overall configuration diagram of a program update system according to an embodiment of the present invention.
  • the program update system of this embodiment includes a vehicle 1 and a management server 5 that can communicate via a wide area communication network 2.
  • the management server 5 is operated, for example, by 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.
  • the vehicle 1 is equipped with a gateway 10, a wireless communication device 15, a plurality of ECUs 30, and various in-vehicle devices (not shown) controlled by the ECUs 30.
  • 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.
  • the gateway 10 is connected to the wireless communication device 15 by an in-vehicle communication line.
  • the wireless communication device 15 wirelessly communicates with the management server 5 through the wide area communication network 2 such as a mobile phone network, and transfers information received from an external device such as the management server 5 to the gateway 10.
  • the gateway 10 transmits information received from the wireless communication device 15 to the ECU 30.
  • the gateway 10 transfers the information acquired from the ECU 30 to the wireless communication device 15, and the wireless communication device 15 transmits the received information to an external device such as the management server 5.
  • the wireless communication device 15 includes a communication device such as a mobile phone, a smartphone, a tablet terminal, or a notebook PC (Personal Computer) owned by the user.
  • the wireless communication device 15 may be a navigation device that is constantly mounted on the vehicle 1.
  • the gateway 10 communicates with an external device via the wireless communication device 15 is illustrated.
  • the gateway 10 includes the management server 5. You may decide to perform radio
  • the management server 5 is configured by one server device, but may be configured by two or more server devices.
  • the management server 5 is configured by a server device that plays a different role, such as an information management server that manages user registration information and control program version information, and a download server that stores control program update programs. Can do.
  • FIG. 2 is a block diagram showing the internal configuration of the gateway 10.
  • 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 device 15 via the in-vehicle communication line, but may include the wireless communication device 15.
  • 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 CPU 11 may represent a plurality of CPU groups. In this case, the functions realized by the CPU 11 are realized by the cooperation of a plurality of CPU groups.
  • the RAM 12 is composed of a volatile memory element such as SRAM (Static RAM) or DRAM (Dynamic RAM).
  • SRAM Static RAM
  • DRAM Dynamic RAM
  • the computer program executed by the CPU 11 can be transferred while being recorded on a known recording medium such as a CD-ROM or DVD-ROM, or can be transferred by information transmission (downloading) from a computer device such as a server computer. You can also. The same applies to a computer program executed by a CPU 31 (see FIG. 3) of an ECU 30 described later and a computer program executed by a CPU 51 (see FIG. 4) of a management server 5 described later.
  • 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 a computer program executed by the CPU 11 and data necessary for execution.
  • the storage unit 13 also stores an update program for each ECU 30 received from the management server 5.
  • 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.
  • the wireless communication device 15 includes a wireless communication device including an antenna and a communication circuit that executes transmission / reception of a wireless signal from the antenna.
  • the wireless communication device 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 device 15 transmits information given from the CPU 11 to an external device such as the management server 5 through 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.
  • FIG. 3 is a block diagram showing the internal configuration of the ECU 30.
  • 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.
  • 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 CPU 31 may also represent a plurality of CPU groups, and the control by the CPU 31 may be control by cooperation of a plurality of CPU groups.
  • the RAM 32 is composed of a volatile memory element such as SRAM or DRAM.
  • the RAM 32 temporarily stores computer programs executed by the CPU 31 and data necessary for execution.
  • 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.
  • 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.
  • the communication unit 34 may be connected to another ECU 30 via an in-vehicle communication line disposed in the vehicle 1. In this case, the communication unit 34 communicates with the gateway 10 via another ECU 30.
  • 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.) by a control program.
  • the reprogramming mode is a mode in which the CPU 31 of the ECU 30 is given the authority to erase and rewrite the control program in the ROM area of the control program. The CPU 31 can update the control program to the new version only in this mode.
  • the activation unit 35 When the activation unit 35 writes the new version control program in the storage unit 33 in the repro mode, the activation unit 35 restarts (resets) the ECU 30 once, and executes the verification process on the storage area in which the new version control program is written.
  • the activation unit 35 causes the CPU 31 to operate according to the updated control program after the above-described verification processing is completed.
  • FIG. 4 is a block diagram showing the internal configuration of the management server 5.
  • 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.
  • the CPU 51 reads out one or more computer programs stored in advance in the ROM 52 to 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 CPU 51 may also represent a plurality of CPU groups, and the functions realized by the CPU 51 may be realized by the cooperation of a plurality of CPU groups.
  • the RAM 53 is composed of a volatile memory element such as SRAM or DRAM.
  • the RAM 53 temporarily stores computer programs executed by the CPU 51 and data necessary for execution.
  • 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 a wide-area communication network 2 such as a mobile phone network. 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.
  • the information stored in the storage unit 54 includes an update management table RT for managing for each vehicle 1 whether or not the control program of the ECU 30 has been updated to the latest version.
  • “EI” is an identification number of the ECU 30.
  • the vehicle 1 that has received the update notification transmits a version notification including the current version (for example, 1.0) of the control program of the ECU 30 to the management server 5.
  • the CPU 51 determines an update program necessary for the vehicle 1 from the current version included in the received version notification, and transmits the determined update program to the vehicle 1.
  • FIG. 5 is a sequence diagram showing a conventional example of a control program update procedure in the program update system of the present embodiment.
  • the current version of the control program is 1.0 (two generations before the latest version).
  • the update program is a “difference program ⁇ ” from an old version one generation before.
  • the new version can be generated by applying ⁇ to the old version.
  • an update program from version 1.0 to version 2.0 of the control program is “ ⁇ 1”
  • an update program from version 2.0 to version 3.0 of the control program is “ ⁇ 2”.
  • current software current version of the control program
  • the starting unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and stores the version 2.0 control program in the storage unit 33. Then, the data content is checked (step S9).
  • the above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 2.0 control program is written.
  • the CPU 31 of the ECU 30 transmits a write completion notification to the gateway 10 (step S10).
  • the gateway 10 transfers the received write completion notification to the management server 5 (step S11).
  • the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and stores the version 3.0 control program in the storage unit 33. After the data is written into the ROM, the data content is checked (step S20).
  • the above check also includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
  • the CPU 31 of the ECU 30 transmits a write completion notification to the gateway 10 (step S21).
  • the gateway 10 transfers the received write completion notification to the management server 5 (step S22).
  • the update program is the difference program ⁇
  • the control program on the ROM in the storage unit 33 is once expanded in the RAM 32
  • the file after the application of the difference program ⁇ is written back on the ROM
  • the ROM check (Verify processing) is performed (steps S9 and S20 in FIG. 5).
  • the control program of the latest version 3.0 is generated step by step using a plurality of update programs ⁇ 1, ⁇ 2. It was made possible to write and check in the ROM of the storage unit 33 in one time. In this case, since the control program needs to be written and checked only once, the update time required for upgrading two or more generations can be shortened.
  • FIG. 6 is a sequence diagram showing the update procedure of the control program of the first embodiment in the program update system of the present embodiment.
  • provisional completion notification is defined as a type of control message for controlling the download process between the management server 5 and the vehicle 1 (the gateway 10 in the first embodiment). Yes. Specifically, the provisional completion notification is a control message defined in advance so that the management server 5 and the gateway 10 of the vehicle 1 execute the following processes (1) to (4). The provisional completion notification is issued without receiving a writing completion notification from the ECU 30.
  • the management server 5 transmits an update program ⁇ i + 1 that is necessary next to the update program ⁇ i to the vehicle 1 (gateway 10).
  • the management server 5 transmits a final notification that the update program ⁇ i is final to the vehicle 1 (gateway 10).
  • the gateway 10 that has received the update program ⁇ 2 transmits a provisional completion notification to the management server 5 (step S108).
  • a control program hereinafter referred to as “skip program” of the new version 3.0 from the current version 1.0 is generated.
  • the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and writes the version 3.0 control program in the ROM of the storage unit 33. After that, the data content is checked (step S115).
  • the above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
  • the CPU 31 of the ECU 30 transmits a write completion notification to the gateway 10 (step S116).
  • the gateway 10 transfers the received write completion notification to the management server 5 (step S117).
  • FIG. 7 is a sequence diagram showing a control program update procedure according to the second embodiment in the program update system of the present embodiment.
  • the update procedure (FIG. 7) of the second embodiment is different from the update procedure (FIG. 6) of the first embodiment in that the latest version of the skip program write permission (step S114 in FIG. There is a point to execute.
  • the gateway 10 that has received the update program ⁇ 2 transmits a provisional completion notification to the management server 5 (step S208).
  • the CPU 31 of the ECU 30 reads version information from the generated skip program, and sends a version notification including the read version information to the gateway 10 (step S213).
  • the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and writes the version 3.0 control program in the ROM of the storage unit 33. Then, the data content is checked (step S216).
  • the above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
  • the CPU 31 of the ECU 30 transmits a write completion notification to the gateway 10 (step S217).
  • the gateway 10 transfers the received write completion notification to the management server 5 (step S218).
  • FIG. 8 is a sequence diagram showing a control program update procedure according to the third embodiment in the program update system of the present embodiment.
  • the update procedure (FIG. 8) of the third embodiment is different from the update procedure (FIG. 6) of the first embodiment in that the management server 5 that cannot recognize the provisional completion notification is adopted, and the gateway 10 replaces the provisional completion notification.
  • a normal write completion notification is transmitted to the management server 5.
  • the gateway 10 transmits a write completion notification to the management server 5 without receiving a write completion notification from the ECU 30.
  • the gateway 10 uses the update program ⁇ i before providing the update program ⁇ i to the ECU 30.
  • a notification to the effect that writing has been completed is transmitted to the management server 5.
  • the gateway 10 that has received the update program ⁇ 1 transmits a write completion notification to the management server 5 (step S306).
  • the gateway 10 that has received the update program ⁇ 2 transmits a write completion notification to the management server 5 (step S308).
  • the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and writes the version 3.0 control program in the ROM of the storage unit 33. After that, the data content is checked (step S315).
  • the above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
  • FIG. 9 is a sequence diagram showing a control program update procedure according to the fourth embodiment in the program update system of the present embodiment.
  • the update procedure (FIG. 9) of the fourth embodiment is different from the update procedure (FIG. 6) of the first embodiment in that the communication entity that exchanges the control message and the update program ⁇ i with the management server 5 is the ECU 30 itself, and the gateway 10 is that it functions as a mere repeater.
  • “temporary completion notification” is defined as a type of control message for controlling the download process between the management server 5 and the vehicle 1 (ECU 30 in the fourth embodiment).
  • the provisional completion notification is a control message defined in advance so that the management server 5 and the ECU 30 of the vehicle 1 execute the following processes (1) to (4).
  • the temporary completion notification is issued without the ECU 30 notifying the completion of writing.
  • the ECU 30 of the vehicle 1 manages the provisional completion notification without generating a next-generation control program using the received update program ⁇ i. Send to server 5.
  • the management server 5 transmits an update program ⁇ i + 1 that is necessary next to the update program ⁇ i to the vehicle 1 (ECU 30).
  • the management server 5 transmits a final notification that the update program ⁇ i is final to the vehicle 1 (gateway 10).
  • the ECU 30 of the vehicle 1 Upon receiving the final notification, the ECU 30 of the vehicle 1 generates a new version of the control program using the acquired one or more update programs ⁇ i, ⁇ i + 1.
  • the ECU 30 that has received the update program ⁇ 1 transmits a provisional completion notification to the management server 5 (step S404).
  • the ECU 30 that has received the update program ⁇ 2 transmits a provisional completion notification to the management server 5 (step S406).
  • the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and writes the version 3.0 control program in the ROM of the storage unit 33. After that, the data content is checked (step S411).
  • the above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
  • FIG. 10 is a sequence diagram showing a control program update procedure according to the fifth embodiment in the program update system of the present embodiment.
  • the update procedure (FIG. 10) of the fifth embodiment is different from the update procedure (FIG. 6) of the first embodiment in that the communication entity that exchanges the control message and the update program ⁇ i with the management server 5 is the ECU 30 itself, and the gateway 10 is that it functions as a mere repeater.
  • the update procedure (FIG. 10) of the fifth embodiment is different from the update procedure (FIG. 9) of the fourth embodiment in that the management server 5 that cannot recognize the provisional completion notification is adopted, and the ECU 30 receives the provisional completion notification. Instead, a normal write completion notification is transmitted to the management server 5.
  • the ECU 30 transmits a write completion notification to the management server 5 even if the writing of the new version of the control program has not been completed.
  • the ECU 30 used for the update procedure (FIG. 10) of the fifth embodiment writes the update program ⁇ i before applying the received update program ⁇ i. Is sent to the management server 5.
  • the ECU 30 that has received the update program ⁇ 1 transmits a write completion notification to the management server 5 (step S504).
  • the ECU 30 that has received the update program ⁇ 2 transmits a write completion notification to the management server 5 (step S506).
  • the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and writes the version 3.0 control program in the ROM of the storage unit 33. After that, the data content is checked (step S511).
  • the above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
  • a version upgrade from version 1.0 using update program ⁇ 1 to version 2.0 and a version upgrade from version 2.0 using update program ⁇ 2 to the latest version 3.0 are sequentially performed. You just have to do it. In this way, even if the writing of the skip program fails, the control program of the ECU 30 can be reliably updated to the latest version 3.0.
  • the gateway 10 or the ECU 30 does not unconditionally execute the update procedures (FIGS. 6 to 10) of the above-described embodiments, but the data sizes of the plurality of update programs ⁇ 1 and ⁇ 2. And transmission processing of a control message such as a provisional completion notification to the management server 5 based on at least one of the transmission time and reception of update programs ⁇ 1 and ⁇ 2 transmitted by the management server 5 in response to the control message, respectively. You may decide whether to perform a process.
  • the gateway 10 or the ECU 30 transmits and updates the control message only when the data size of the plurality of update programs ⁇ 1, ⁇ 2 is equal to or larger than a predetermined threshold or when the transmission time is equal to or larger than the predetermined threshold.
  • the update procedure of the present embodiment in which the reception of the program ⁇ i is repeated is executed.
  • the control program is upgraded one by one using the update programs ⁇ 1 and ⁇ 2 according to the conventional update procedure (FIG. 5). That's fine. In this way, when the update time is relatively long, the update procedure of this embodiment can be adopted, and the program update system of this embodiment can be operated more flexibly.
  • the gateway 10 or the ECU 30 receives three or more update programs ⁇ 1, ⁇ 2, ⁇ 3... From the management server 5, and receives the received update programs ⁇ 1, A skip program may be generated from ⁇ 2, ⁇ 3.
  • the ECU 30 generates a skip program from three or more update programs ⁇ 1, ⁇ 2, ⁇ 3..., And writes the generated skip program and performs a ROM check, thereby rapidly raising the version of the control program to the latest version. .
  • the skip program is not necessarily the latest version of the control program.
  • the gateway 10 may transfer the three update programs ⁇ 1 to ⁇ 3 that can be received to the ECU 30.
  • the ECU 30 uses the three update programs ⁇ 1 to ⁇ 3 transferred from the gateway 10 to generate a skip program of a version one generation before the latest version, and writes the generated skip program and ROM check As a result, the version of the control program is moved up to one generation before the latest version.
  • the gateway 10 can receive the fourth update program ⁇ 4, it may transfer the program ⁇ 4 to the ECU 30.
  • the ECU 30 uses the fourth update program ⁇ 4 transferred from the gateway 10 to generate the latest version of the control program, writes the generated control program, and checks the ROM, thereby controlling the version of the control program. To the latest version.
  • the gateway 10 may generate a skip program using a plurality of update programs ⁇ i received from the management server 5 and transfer the generated skip program to the ECU 30.
  • the ECU 30 since the ECU 30 does not execute the skip program generation process by itself, the ECU 30 writes the skip program transferred from the gateway 10 in the storage unit 33 of its own device.
  • the wireless communication device 15 may execute the processing of the gateway 10 in the above-described embodiment (including modifications). That is, the “relay device” of the present embodiment may be either the gateway 10 or the wireless communication device 15 shown in the figure.

Abstract

The present disclosure relates to a program updating system which includes a control device mounted on a vehicle, a relay device connected to the control device in a manner that enables communication within the vehicle, and a management server that wirelessly communicates with the relay device. The relay device or the control device executes transmission and receiving processing in which the transmission and receiving processes defined below are repeated, until a plurality of update programs required for updating a control program of the control device to a new version that is at least two generations newer are acquired. Transmission process: a process for transmitting, to the management server, a control message requesting an update program for updating, one generation at a time, the version of the control program of the control device. Receiving process: a process for receiving, from the management server, the update program transmitted by the management server in response to the control message.

Description

プログラム更新システム、制御装置、プログラム更新方法、及びコンピュータプログラムProgram update system, control device, program update method, and computer program
 本発明は、プログラム更新システム、制御装置、プログラム更新方法、及びコンピュータプログラムに関する。
 本出願は、2017年2月23日出願の日本出願第2017-031758号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
The present invention relates to a program update system, a control device, a program update method, and a computer program.
This application claims priority based on Japanese Patent Application No. 2017-031758 filed on Feb. 23, 2017, and incorporates all the content described in the above Japanese application.
 近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂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 control program of the ECU needs to rewrite the old version of the control program with the new version of the 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-1981155 A
 (1) 本開示の一態様に係るシステムは、車両に搭載された制御装置と、前記制御装置と車内通信可能に接続された中継装置と、前記中継装置と無線通信する管理サーバと、を含むプログラム更新システムであって、前記中継装置又は前記制御装置は、前記制御装置の制御プログラムを2世代以上新しい新バージョンに更新するのに必要な複数の更新プログラムを取得するまで、下記に定義する送信処理と受信処理を繰り返す送受信処理を実行する。 (1) A system according to an aspect of the present disclosure includes a control device mounted on a vehicle, a relay device connected to the control device so as to enable in-vehicle communication, and a management server that performs wireless communication with the relay device. In the program update system, the relay device or the control device transmits a transmission defined as follows until obtaining a plurality of update programs necessary for updating the control program of the control device to a new version of two or more generations. A transmission / reception process for repeating the process and the reception process is executed.
 送信処理:制御装置の制御プログラムを1世代ずつバージョンアップするための更新プログラムを要求する制御メッセージを、管理サーバに送信する処理
 受信処理:制御メッセージに応じて管理サーバが送信した更新プログラムを、管理サーバから受信する処理
Transmission process: Process for transmitting a control message requesting an update program for upgrading the control program of the control device one generation at a time to the management server Reception process: Managing an update program transmitted by the management server in response to the control message Processing received from the server
 (13) 本開示の一態様に係る装置は、車両に搭載された制御装置であって、揮発性メモリと、制御プログラムを記憶する書き換え可能な不揮発性メモリを有する記憶部と、前記制御プログラムに従って前記車両内の制御対象を制御する制御部と、前記制御プログラムの更新プログラムを取得する取得部と、を備えおり、前記制御部は、前記取得部が複数の前記更新プログラムを取得した場合に、前記不揮発性メモリから前記揮発性メモリに前記制御プログラムを読み出し、前記揮発性メモリ上で複数の前記更新プログラムを前記制御プログラムに順次適用して、前記制御プログラムを2世代以上新しい新バージョンに更新し、更新した前記新バージョンの前記制御プログラムを前記不揮発性メモリに書き込む。 (13) An apparatus according to an aspect of the present disclosure is a control device mounted on a vehicle, and includes a volatile memory, a storage unit having a rewritable nonvolatile memory that stores a control program, and the control program A control unit that controls a control target in the vehicle, and an acquisition unit that acquires an update program of the control program, and the control unit, when the acquisition unit acquires a plurality of the update programs, The control program is read from the non-volatile memory to the volatile memory, a plurality of the update programs are sequentially applied to the control program on the volatile memory, and the control program is updated to a new version of two or more generations. Then, the updated new version of the control program is written into the nonvolatile memory.
 (14) 本開示の一態様に係る方法は、車両に搭載された制御装置と、前記制御装置と車内通信可能に接続された中継装置と、前記中継装置と無線通信する管理サーバと、を含む通信システムにおいて実行されるプログラム更新方法であって、前記中継装置又は前記制御装置が、前記制御装置の制御プログラムを2世代以上新しい新バージョンに更新するのに必要な複数の更新プログラムを取得するまで、上記に定義する送信処理と受信処理を繰り返すステップを含む。 (14) A method according to an aspect of the present disclosure includes a control device mounted on a vehicle, a relay device connected to the control device so as to enable in-vehicle communication, and a management server that performs wireless communication with the relay device. A method for updating a program executed in a communication system, wherein the relay device or the control device acquires a plurality of update programs necessary for updating the control program of the control device to a new new version for two generations or more. , Including the step of repeating the transmission process and the reception process defined above.
 (15) 本開示の一態様に係るコンピュータプログラムは、車両に搭載された制御装置と、前記制御装置と車内通信可能に接続された中継装置と、前記中継装置と無線通信する管理サーバと、を含む通信システムの前記中継装置又は前記制御装置として、コンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータに、前記制御装置の制御プログラムを2世代以上新しい新バージョンに更新するのに必要な複数の更新プログラムを取得するまで、上記に定義する送信処理と受信処理を繰り返すステップを実行させる。 (15) A computer program according to an aspect of the present disclosure includes a control device mounted on a vehicle, a relay device connected to the control device so as to be able to perform in-vehicle communication, and a management server that performs wireless communication with the relay device. A computer program for causing a computer to function as the relay device or the control device of a communication system including the plurality of computers necessary for updating the control program of the control device to a new version more than two generations in the computer Until the update program is acquired, the steps of repeating the transmission process and the reception process defined above are executed.
本発明の実施形態に係るプログラム更新システムの全体構成図である。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. 制御プログラムの更新手順の従来例を示すシーケンス図である。It is a sequence diagram which shows the prior art example of the update procedure of a control program. 第1実施形態の制御プログラムの更新手順を示すシーケンス図である。It is a sequence diagram which shows the update procedure of the control program of 1st Embodiment. 第2実施形態の制御プログラムの更新手順を示すシーケンス図である。It is a sequence diagram which shows the update procedure of the control program of 2nd Embodiment. 第3実施形態の制御プログラムの更新手順を示すシーケンス図である。It is a sequence diagram which shows the update procedure of the control program of 3rd Embodiment. 第4実施形態の制御プログラムの更新手順を示すシーケンス図である。It is a sequence diagram which shows the update procedure of the control program of 4th Embodiment. 第5実施形態の制御プログラムの更新手順を示すシーケンス図である。It is a sequence diagram which shows the update procedure of the control program of 5th Embodiment.
<本開示が解決しようとする課題>
 制御プログラムの更新タイミングは車両ごとに異なるため、ECUの制御プログラムのバージョン履歴を管理サーバが車両ごとに管理し、各車両に適した更新プログラムを逐一生成して車両に提供する運用方法では、管理サーバの処理負荷が過大となる。
 特に、車両が無線通信により更新プログラムを受信する場合は、有線通信の場合と比べて更新タイミングが多様化するため、上記の傾向が顕著になる。
 従って、管理サーバ側では、所定のECUについて複数のバージョンアップがあった場合は、それぞれの差分プログラムを準備しておき、新バージョンでない車両のECUが差分プログラムを順次制御プログラムを更新するのが現実的な運用となる。
<Problems to be solved by the present disclosure>
Since the update timing of the control program is different for each vehicle, the management server manages the version history of the control program of the ECU for each vehicle, and in the operation method in which an update program suitable for each vehicle is generated and provided to the vehicle, The server processing load becomes excessive.
In particular, when the vehicle receives the update program by wireless communication, the above-mentioned tendency becomes remarkable because the update timing is diversified as compared with the case of wired communication.
Therefore, on the management server side, when there are a plurality of version upgrades for a predetermined ECU, it is a reality that each differential program is prepared, and the ECU of the vehicle that is not the new version sequentially updates the differential program and the control program. Operation.
 しかし、更新プログラムが差分プログラムの場合には、旧バージョンの制御プログラムをRAMに展開し、これに更新プログラムを適用した新バージョンの制御プログラムをROMに書き込んでから、ROMに対するベリファイ処理などのチェックが行われる。
 従って、同じECUの制御プログラムに関して、現バージョンと新バージョンとの乖離が2世代以上である場合には、現バージョンから中途バージョンへの更新処理と、中途バージョンから新バージョンへの更新処理の、少なくとも2回の更新処理が必要となるので、新バージョンまで到達するのに時間がかかるという問題がある。
However, if the update program is a differential program, the old version of the control program is expanded in the RAM, and the new version of the control program to which the update program is applied is written in the ROM. Done.
Therefore, when the difference between the current version and the new version is two generations or more with respect to the same ECU control program, at least the update process from the current version to the mid version and the update process from the mid version to the new version are at least Since two update processes are required, there is a problem that it takes time to reach the new version.
 このように、更新プログラムが差分プログラムである場合には、更新時間を長くする主原因である、制御プログラムの書き込み/ROMチェックを少なくとも2回行う必要があり、制御プログラムのデータ容量によっては、現バージョンから新バージョンに更新するのに多大な時間を要する。
 本開示は、かかる従来の問題点に鑑み、2世代以上のバージョンアップに必要な制御プログラムの更新時間を短縮することを目的とする。
Thus, when the update program is a differential program, it is necessary to perform writing / ROM check of the control program, which is the main cause of lengthening the update time, at least twice. Depending on the data capacity of the control program, It takes a lot of time to update from version to new version.
The present disclosure has been made in view of such conventional problems, and an object thereof is to shorten the update time of a control program necessary for upgrading two or more generations.
<本開示の効果>
 本開示によれば、2世代以上のバージョンアップに必要な制御プログラムの更新時間を短縮することができる。
<Effects of the present disclosure>
According to the present disclosure, it is possible to shorten the update time of a control program necessary for upgrading two or more generations.
<本発明の実施形態の概要> 
 以下、本発明の実施形態の概要を列記して説明する。
 (1) 本実施形態のプログラム更新システムは、車両に搭載された制御装置と、前記制御装置と車内通信可能に接続された中継装置と、前記中継装置と無線通信する管理サーバと、を含むプログラム更新システムであって、前記中継装置又は前記制御装置は、前記制御装置の制御プログラムを2世代以上新しい新バージョンに更新するのに必要な複数の更新プログラムを取得するまで、下記に定義する送信処理と受信処理を繰り返す送受信処理を実行する。
<Outline of Embodiment of the Present Invention>
Hereinafter, an outline of embodiments of the present invention will be listed and described.
(1) A program update system according to the present embodiment includes a control device mounted on a vehicle, a relay device connected to the control device so that in-vehicle communication is possible, and a management server that wirelessly communicates with the relay device. In the update system, the relay apparatus or the control apparatus transmits a plurality of update programs necessary for updating the control program of the control apparatus to a new new version for two generations or more until the transmission process defined below The transmission / reception process is repeated to repeat the reception process.
 送信処理:制御装置の制御プログラムを1世代ずつバージョンアップするための更新プログラムを要求する制御メッセージを、管理サーバに送信する処理
 受信処理:制御メッセージに応じて管理サーバが送信した更新プログラムを、管理サーバから受信する処理
Transmission process: Process for transmitting a control message requesting an update program for upgrading the control program of the control device one generation at a time to the management server Reception process: Managing an update program transmitted by the management server in response to the control message Processing received from the server
 本実施形態のプログラム更新システムによれば、中継装置又は制御装置が、上記の送受信処理を実行するので、制御装置は、新バージョンの制御プログラムの生成に必要となる複数の更新プログラム又は新バージョンの制御プログラムを取得することができる。 According to the program update system of the present embodiment, since the relay device or the control device executes the transmission / reception process described above, the control device can update a plurality of update programs or new versions required for generating a new version of the control program. A control program can be acquired.
 (2) 従って、例えば、前記制御装置が、揮発性メモリ、及び前記制御プログラムを記憶する書き換え可能な不揮発性メモリを有する記憶部を備え、複数の前記更新プログラムを取得した場合には、前記制御装置は、前記不揮発性メモリから前記揮発性メモリに前記制御プログラムを読み出し、前記揮発性メモリ上で複数の前記更新プログラムを前記制御プログラムに順次適用して、前記制御プログラムを前記新バージョンに更新し、更新した前記新バージョンの前記制御プログラムを前記不揮発性メモリに書き込めばよい。 (2) Therefore, for example, when the control device includes a volatile memory and a storage unit having a rewritable nonvolatile memory for storing the control program, and the control device acquires a plurality of the update programs, the control The apparatus reads the control program from the non-volatile memory to the volatile memory, sequentially applies the plurality of update programs to the control program on the volatile memory, and updates the control program to the new version. The updated new version of the control program may be written into the nonvolatile memory.
 このようにすれば、制御装置が、自身で生成した新バージョンの制御プログラム(スキッププログラム)の書き込み及びチェックを1回行うだけで済み、2世代以上のバージョンアップに必要な更新時間を短縮することができる。 In this way, the control device only needs to write and check a new version of the control program (skip program) generated by itself once, and shorten the update time required for two or more generations of version upgrades. Can do.
 (3) もっとも、上記の処理を実現するには、前記制御装置が、複数の前記更新プログラムが取得されるまでは前記制御プログラムの更新を行わず、複数の前記更新プログラムが取得されてから前記制御プログラムの更新を行うことが必要となる。 (3) However, in order to realize the above processing, the control device does not update the control program until a plurality of the update programs are acquired, and after the plurality of the update programs are acquired, It is necessary to update the control program.
 (4) 本実施形態のプログラム更新システムにおいて、前記制御装置は、複数の前記更新プログラムが取得されてから、更新した前記制御プログラムを前記不揮発性メモリに書き込むと、書き込み完了通知を送信することが好ましい。
 このようにすれば、上記の書き込み完了通知を中継装置又は管理サーバに送信することにより、制御プログラムを2世代以上新しい新バージョンに更新済みであることを、中継装置又は管理サーバに通知することができる。
(4) In the program update system of the present embodiment, the control device may transmit a write completion notification when the updated control program is written to the nonvolatile memory after a plurality of the update programs are acquired. preferable.
In this way, by sending the above write completion notification to the relay device or management server, it is possible to notify the relay device or management server that the control program has been updated to a new version of two or more generations. it can.
 (5) 本実施形態のプログラム更新システムでは、より具体的には、前記中継装置又は前記制御装置が、取得した複数の前記更新プログラムを自装置の揮発性メモリに複数回適用して、2世代以上新しい新バージョンの前記制御プログラムであるスキッププログラムの生成処理を実行し、前記制御装置が、生成された前記スキッププログラムを自装置の不揮発性メモリに書き込む書き込み処理を実行する。
 このため、制御装置が、自身で飛び級的に生成した或いは中継装置から提供された新バージョンの制御プログラム(スキッププログラム)の書き込み及びチェックを1回行うだけで済み、2世代以上のバージョンアップに必要な更新時間を短縮することができる。
(5) In the program update system of the present embodiment, more specifically, the relay device or the control device applies the plurality of acquired update programs to the volatile memory of its own device a plurality of times to generate two generations. As described above, the generation process of the skip program which is the new version of the control program is executed, and the control apparatus executes the writing process of writing the generated skip program in the nonvolatile memory of the own apparatus.
For this reason, the control device only needs to write and check a new version of the control program (skip program) that has been generated by itself or provided from the relay device once, and it can be upgraded to two or more generations. The required update time can be shortened.
 (6) 本実施形態のプログラム更新システムにおいて、前記送受信処理の実行主体が前記中継装置である場合には、前記中継装置は、取得した複数の前記更新プログラムを前記制御装置に転送し、前記制御装置は、転送された複数の前記更新プログラムを用いて、自装置の現バージョンより2世代以上新しいバージョンの前記制御プログラムであるスキッププログラムを生成し、生成した前記スキッププログラムを自装置の記憶部に書き込むようにすればよい。
 この場合、スキッププログラムの書き込み及びチェックが無事に完了すれば、2世代以上新しいバージョンである新バージョンへの更新が完了するので、2世代以上のバージョンアップに必要な更新時間を短縮することができる。
(6) In the program update system of the present embodiment, when the execution subject of the transmission / reception process is the relay device, the relay device transfers the acquired plurality of update programs to the control device, and the control The apparatus uses the plurality of transferred update programs to generate a skip program that is a version of the control program that is two or more generations newer than the current version of the apparatus, and stores the generated skip program in the storage unit of the apparatus. Just write it.
In this case, if the writing and checking of the skip program are completed successfully, the update to the new version, which is a new version of two generations or more, is completed, so the update time required for the version upgrade of two generations or more can be shortened. .
 (7) 本実施形態のプログラム更新システムにおいて、前記送受信処理の実行主体が前記中継装置である場合には、前記中継装置は、取得した複数の前記更新プログラムを用いて、前記制御装置の現バージョンより2世代以上新しいバージョンの前記制御プログラムであるスキッププログラムを生成し、生成した前記スキッププログラムを前記制御装置に転送し、前記制御装置は、転送された前記スキッププログラムを自装置の記憶部に書き込むようにしてもよい。
 この場合も、スキッププログラムの書き込み及びチェックが無事に完了すれば、2世代以上新しいバージョンである新バージョンへの更新が完了するので、2世代以上のバージョンアップに必要な更新時間を短縮することができる。
(7) In the program update system of the present embodiment, when the execution subject of the transmission / reception process is the relay device, the relay device uses the plurality of acquired update programs to obtain the current version of the control device. A skip program that is a version of the control program that is newer than two generations is generated, the generated skip program is transferred to the control device, and the control device writes the transferred skip program in the storage unit of the own device. You may do it.
In this case as well, if the writing and checking of the skip program is completed successfully, the update to the new version, which is a new version of 2 generations or more, is completed, so the update time required for the upgrade of 2 generations or more can be shortened. it can.
 (8) 本実施形態のプログラム更新システムにおいて、前記送受信処理の実行主体が前記制御装置である場合には、前記制御装置は、取得した複数の前記更新プログラムを用いて、自装置の現バージョンより2世代以上新しいバージョンの前記制御プログラムであるスキッププログラムを生成し、生成した前記スキッププログラムを自装置の記憶部に書き込むようにすればよい。
 この場合も、スキッププログラムの書き込み及びチェックが無事に完了すれば、2世代以上新しいバージョンである新バージョンへの更新が完了するので、2世代以上のバージョンアップに必要な更新時間を短縮することができる。
(8) In the program update system of the present embodiment, when the execution subject of the transmission / reception process is the control device, the control device uses the plurality of acquired update programs to determine the current version of the device itself. A skip program that is a new version of the control program of two or more generations may be generated, and the generated skip program may be written in the storage unit of the own device.
In this case as well, if the writing and checking of the skip program is completed successfully, the update to the new version, which is a new version of 2 generations or more, is completed, so the update time required for the upgrade of 2 generations or more can be shortened. it can.
 (9) 本実施形態のプログラム更新システムにおいて、前記制御装置は、前記スキッププログラムの書き込みに失敗した場合に、前記更新プログラムから次世代の前記制御プログラムを生成する処理と、生成した前記制御プログラムの自装置の記憶部への書き込みとを、1世代ごとに段階的に行うことが好ましい。
 このようにすれば、スキッププログラムの書き込みに失敗しても、制御装置の制御プログラムを確実に新バージョンに更新することができる。
(9) In the program update system of the present embodiment, the control device generates a next-generation control program from the update program when the write of the skip program fails, and the generated control program It is preferable to perform writing to the storage unit of the own device step by step for each generation.
In this way, even if the skip program writing fails, the control program of the control device can be reliably updated to the new version.
 (10) 本実施形態のプログラム更新システムにおいて、前記制御メッセージには、前記更新プログラムの受信に応じて、更に次の前記更新プログラムの送信を前記管理サーバに要求する仮完了通知が含まれることが好ましい。
 このようにすれば、管理サーバが、仮完了通知に応じて更に次の更新プログラムを送信するので、2世代以上新しいバージョンである新バージョンへの更新に必要な複数の更新プログラムを、中継装置又は制御装置が適切に受信できるようになる。
(10) In the program update system of the present embodiment, the control message may include a provisional completion notification requesting the management server to transmit the next update program in response to reception of the update program. preferable.
In this way, since the management server further transmits the next update program in response to the provisional completion notification, a plurality of update programs necessary for updating to a new version that is a new version of two or more generations are transferred to the relay device or The control device can receive appropriately.
 (11) 本実施形態のプログラム更新システムにおいて、前記制御メッセージには、前記更新プログラムから生成した次世代の前記制御プログラムの書き込みの完了を、前記管理サーバに通知する書き込み完了通知が含まれていてもよい。
 このようにすれば、管理サーバが、書き換え完了通知に応じて更に次の更新プログラムを送信するので、2世代以上新しいバージョンである新バージョンへの更新に必要な複数の更新プログラムを、中継装置又は制御装置が適切に受信できるようになる。
(11) In the program update system of the present embodiment, the control message includes a write completion notification for notifying the management server of completion of writing of the next generation control program generated from the update program. Also good.
In this way, since the management server further transmits the next update program in response to the rewriting completion notification, a plurality of update programs necessary for updating to a new version that is a new version of two or more generations are transferred to the relay device or The control device can receive appropriately.
 (12) 本実施形態のプログラム更新システムにおいて、前記中継装置又は前記制御装置は、複数の前記更新プログラムのデータサイズ及び伝送時間のうちの少なくとも1つに基づいて、前記送受信処理を実行するか否かを判定することが好ましい。
 この場合、複数の更新プログラムのデータサイズ及び伝送時間が所定の閾値以上の場合に限り、中継装置又は制御装置に上述の前記送受信処理を実行させるなど、本実施形態のプログラム更新システムを柔軟に運用できるようになる。
(12) In the program update system of the present embodiment, whether or not the relay device or the control device executes the transmission / reception process based on at least one of a data size and a transmission time of a plurality of the update programs. It is preferable to determine whether or not.
In this case, only when the data size and transmission time of a plurality of update programs are equal to or greater than a predetermined threshold, the program update system of the present embodiment can be flexibly operated, for example, by causing the relay device or the control device to execute the transmission / reception process described above become able to.
 (13) 本実施形態の制御装置は、車両に搭載された制御装置であって、揮発性メモリと、制御プログラムを記憶する書き換え可能な不揮発性メモリを有する記憶部と、前記制御プログラムに従って前記車両内の制御対象を制御する制御部と、前記制御プログラムの更新プログラムを取得する取得部と、を備えおり、前記制御部は、前記取得部が複数の前記更新プログラムを取得した場合に、前記不揮発性メモリから前記揮発性メモリに前記制御プログラムを読み出し、前記揮発性メモリ上で複数の前記更新プログラムを前記制御プログラムに順次適用して、前記制御プログラムを2世代以上新しい新バージョンに更新し、更新した前記新バージョンの前記制御プログラムを前記不揮発性メモリに書き込む。 (13) The control device of the present embodiment is a control device mounted on a vehicle, and includes a volatile memory, a storage unit having a rewritable nonvolatile memory for storing a control program, and the vehicle according to the control program. A control unit that controls a control target of the control unit, and an acquisition unit that acquires an update program of the control program, and the control unit is configured such that when the acquisition unit acquires a plurality of the update programs, the nonvolatile unit The control program is read from the volatile memory to the volatile memory, a plurality of the update programs are sequentially applied to the control program on the volatile memory, and the control program is updated to a new new version for two generations or more. The new version of the control program is written into the nonvolatile memory.
 本実施形態の制御装置によれば、制御部が、不揮発性メモリから揮発性メモリに制御プログラムを読み出し、揮発性メモリ上で複数の更新プログラムを制御プログラムに順次適用して、制御プログラムを2世代以上新しい新バージョンに更新し、更新した新バージョンの制御プログラムを不揮発性メモリに書き込むので、生成した新バージョンの制御プログラム(スキッププログラム)の書き込み及びチェックを1回行うだけで済み、2世代以上のバージョンアップに必要な更新時間を短縮することができる。 According to the control device of the present embodiment, the control unit reads the control program from the nonvolatile memory to the volatile memory, sequentially applies a plurality of update programs to the control program on the volatile memory, and generates the control program for two generations. Since the new new version is updated and the updated new version of the control program is written to the non-volatile memory, it is only necessary to write and check the generated new version of the control program (skip program) once and for two or more generations. The update time required for version upgrade can be shortened.
 (14) 本実施形態のプログラム更新方法は、上述の(1)~(12)のいずれかに記載のプログラム更新システムに含まれる中継装置が実行するプログラム更新方法に関する。
 従って、本実施形態のプログラム更新方法は、上述の(1)~(12)のいずれかに記載のプログラム更新システムと同様の作用効果を奏する。
(14) The program update method of the present embodiment relates to a program update method executed by a relay device included in the program update system described in any of (1) to (12) above.
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 (12).
 (15) 本実施形態のコンピュータプログラムは、上述の(1)~(12)のいずれかに記載のプログラム更新システムに含まれる中継装置として、コンピュータを機能させるためのコンピュータプログラムに関する。
 従って、本実施形態のコンピュータプログラムは、上述の(1)~(12)のいずれかに記載のプログラム更新システムと同様の作用効果を奏する。
(15) The computer program of the present embodiment relates to a computer program for causing a computer to function as a relay device included in the program update system described in any one of (1) to (12) above.
Therefore, the computer program of the present embodiment has the same operational effects as the program update system described in any of the above (1) to (12).
<本発明の実施形態の詳細> 
 以下、図面を参照して、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
<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とを備える。
 管理サーバ5は、例えば、車両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 and a management server 5 that can communicate via a wide area communication network 2.
The management server 5 is operated, for example, by 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、無線通信機15及び複数のECU30と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)が搭載されている。
 車両1には、共通の車内通信線にバス接続された複数のECU30による通信グループが存在し、ゲートウェイ10は、通信グループ間の通信を中継している。このため、ゲートウェイ10には、複数の車内通信線が接続されている。
The vehicle 1 is equipped with a gateway 10, a wireless communication device 15, a plurality of ECUs 30, and various in-vehicle devices (not shown) controlled by the 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は、車内通信線により無線通信機15と接続されている。無線通信機15は、携帯電話網などの広域通信網2を通じて管理サーバ5と無線通信し、管理サーバ5などの車外装置から受信した情報をゲートウェイ10に転送する。ゲートウェイ10は、無線通信機15から受信した情報をECU30に送信する。
 ゲートウェイ10は、ECU30から取得した情報を無線通信機15に転送し、無線通信機15は、受信した情報を管理サーバ5などの車外装置に送信する。
The gateway 10 is connected to the wireless communication device 15 by an in-vehicle communication line. The wireless communication device 15 wirelessly communicates with the management server 5 through the wide area communication network 2 such as a mobile phone network, and transfers information received from an external device such as the management server 5 to the gateway 10. The gateway 10 transmits information received from the wireless communication device 15 to the ECU 30.
The gateway 10 transfers the information acquired from the ECU 30 to the wireless communication device 15, and the wireless communication device 15 transmits the received information to an external device such as the management server 5.
 無線通信機15は、例えば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)などの通信装置よりなる。無線通信機15は、車両1に恒常的に搭載されたナビゲーション装置などであってもよい。
 図1の車両1では、ゲートウェイ10が無線通信機15を介して車外装置と通信する場合が例示されているが、ゲートウェイ10自身が無線通信機能を有する場合には、ゲートウェイ10が、管理サーバ5などの車外装置と無線通信を行うことにしてもよい。
The wireless communication device 15 includes a communication device such as a mobile phone, a smartphone, a tablet terminal, or a notebook PC (Personal Computer) owned by the user. The wireless communication device 15 may be a navigation device that is constantly mounted on the vehicle 1.
In the vehicle 1 of FIG. 1, a case where the gateway 10 communicates with an external device via the wireless communication device 15 is illustrated. However, when the gateway 10 itself has a wireless communication function, the gateway 10 includes the management server 5. You may decide to perform radio | wireless communication with external apparatuses, such as.
 図1のプログラム更新システムでは、管理サーバ5が1つのサーバ装置で構成されているが、2つ以上のサーバ装置で構成してもよい。
 例えば、管理サーバ5は、ユーザの登録情報や制御プログラムのバーション情報などを管理する情報管理サーバと、制御プログラムの更新プログラムを格納するダウンロードサーバなど、別の役割を担うサーバ装置で構成することができる。
In the program update system of FIG. 1, the management server 5 is configured by one server device, but may be configured by two or more server devices.
For example, the management server 5 is configured by a server device that plays a different role, such as an information management server that manages user registration information and control program version information, and a download server that stores control program update programs. Can do.
 〔ゲートウェイの内部構成〕
 図2はゲートウェイ10の内部構成を示すブロック図である。
 図2に示すように、ゲートウェイ10は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、記憶部13、及び車内通信部14などを備える。ゲートウェイ10は、無線通信機15と車内通信線を介して接続されているが、無線通信機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 device 15 via the in-vehicle communication line, but may include the wireless communication device 15.
 CPU11は、記憶部13に記憶された1又は複数のプログラムをRAM12に読み出して実行することにより、ゲートウェイ10を各種情報の中継装置として機能させる。
 CPU11は、例えば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。CPU11は複数のCPU群を代表するものであってもよい。この場合、CPU11の実現する機能は、複数のCPU群が協働して実現する。
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 CPU 11 may represent a plurality of CPU groups. In this case, the functions realized by the CPU 11 are realized by the cooperation of a plurality of CPU groups.
 RAM12は、SRAM(Static RAM)又はDRAM(Dynamic RAM)などの揮発性のメモリ素子で構成されている。
 RAM12には、CPU11が実行するコンピュータプログラム及び実行に必要なデータが一時的に記憶される。
The RAM 12 is composed of a volatile memory element such as SRAM (Static RAM) or DRAM (Dynamic RAM).
The RAM 12 temporarily stores computer programs executed by the CPU 11 and data necessary for execution.
 CPU11が実行するコンピュータプログラムは、CD-ROMやDVD-ROMなどの周知の記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からの情報伝送(ダウンロード)によって譲渡することもできる。
 この点は、後述のECU30のCPU31(図3参照)が実行するコンピュータプログラム、及び、後述の管理サーバ5のCPU51(図4参照)が実行するコンピュータプログラムについても同様である。
The computer program executed by the CPU 11 can be transferred while being recorded on a known recording medium such as a CD-ROM or DVD-ROM, or can be transferred by information transmission (downloading) from a computer device such as a server computer. You can also.
The same applies to a computer program executed by a CPU 31 (see FIG. 3) of an ECU 30 described later and a computer program executed by a CPU 51 (see FIG. 4) of a management server 5 described later.
 記憶部13は、フラッシュメモリ若しくはEEPROM(Electrically Erasable Programmable Read Only Memory)などの不揮発性のメモリ素子により構成されている。
 記憶部13は、CPU11が実行するコンピュータプログラム及び実行に必要なデータを記憶する記憶領域を有する。記憶部13は、管理サーバ5から受信した各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 a computer program executed by the CPU 11 and data necessary for execution. The storage unit 13 also stores an update program for each ECU 30 received from the management server 5.
 車内通信部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との通信を行う。
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.
 車内通信部14は、CPU11から与えられた情報を対象のECU30へ送信するとともに、ECU30から受信した情報をCPU11に与える。
 車内通信部14は、上記通信規格だけでなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
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 device 15 includes a wireless communication device including an antenna and a communication circuit that executes transmission / reception of a wireless signal from the antenna. The wireless communication device 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 device 15 transmits information given from the CPU 11 to an external device such as the management server 5 through 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.
 〔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に読み出して実行することにより、自身が担当する車載機器の動作を制御する。CPU31もまた複数のCPU群を代表するものであってもよく、CPU31による制御は、複数のCPU群が協働することによる制御であってもよい。 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 CPU 31 may also represent a plurality of CPU groups, and the control by the CPU 31 may be control by cooperation of a plurality of CPU groups.
 RAM32は、SRAM又はDRAMなどの揮発性のメモリ素子で構成されている。
 RAM32には、CPU31が実行するコンピュータプログラム及び実行に必要なデータが一時的に記憶される。
The RAM 32 is composed of a volatile memory element such as SRAM or DRAM.
The RAM 32 temporarily stores computer programs executed by the CPU 31 and data necessary for execution.
 記憶部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.
 通信部34は、車両1に配設された車内通信線を介して他のECU30と接続されていてもよい。この場合、通信部34は、他のECU30を中継して、ゲートウェイ10と通信することになる。
 ECU30のCPU31には、当該CPU31による制御モードを、「通常モード」又は「リプログラミングモード」(以下、「リプロモード」ともいう。)のいずれかに切り替える起動部35が含まれる。
The communication unit 34 may be connected to another ECU 30 via an in-vehicle communication line disposed in the vehicle 1. In this case, the communication unit 34 communicates with the gateway 10 via another ECU 30.
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”).
 通常モードとは、ECU30のCPU31が、制御プログラムにより本来の制御内容(例えば、エンジン制御やステアリング制御など)を実行する制御モードのことである。
 リプログラミングモードとは、ECU30のCPU31が、制御プログラムのROM領域に対して、当該制御プログラムの消去及び書き換えの権限が付与されるモードのことである。CPU31は、このモードのときにのみ、制御プログラムを新バージョンに更新することができる。
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.) by a control program.
The reprogramming mode is a mode in which the CPU 31 of the ECU 30 is given the authority to erase and rewrite the control program in the ROM area of the control program. The CPU 31 can update the control program to the new version only in this mode.
 起動部35は、リプロモードにおいて新バーションの制御プログラムを記憶部33に書き込むと、ECU30をいったん再起動(リセット)し、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
 起動部35は、上記のベリファイ処理の完了後に、CPU31を更新後の制御プログラムによって動作させる。
When the activation unit 35 writes the new version control program in the storage unit 33 in the repro mode, the activation unit 35 restarts (resets) the ECU 30 once, and executes the verification process on the storage area in which the new version control program is written.
The activation unit 35 causes the CPU 31 to operate according to the updated control program after the above-described verification processing is completed.
 〔管理サーバの内部構成〕
 図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に予め記憶された1又は複数のコンピュータプログラムをRAM53に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ5をゲートウェイ10と通信可能な車外装置として機能させる。CPU51もまた複数のCPU群を代表するものであってもよく、CPU51の実現する機能は、複数のCPU群が協働して実現するものであってもよい。 The CPU 51 reads out one or more computer programs stored in advance in the ROM 52 to 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 CPU 51 may also represent a plurality of CPU groups, and the functions realized by the CPU 51 may be realized by the cooperation of a plurality of CPU groups.
 RAM53は、SRAM又はDRAMなどの揮発性のメモリ素子で構成されている。
 RAM53には、CPU51が実行するコンピュータプログラム及び実行に必要なデータが一時的に記憶される。
The RAM 53 is composed of a volatile memory element such as SRAM or DRAM.
The RAM 53 temporarily stores computer 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 a wide-area communication network 2 such as a mobile phone network. 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が記憶する情報には、ECU30の制御プログラムが最新バーションに更新済みか否かを、車両1ごとに管理する更新管理テーブルRTが含まれる。図4の更新管理テーブルRTにおいて、「EI」はECU30の識別番号である。
 更新管理テーブルRTは、ECU30の識別番号(図4では「EI=1」)と、当該識別番号の制御プログラムの最新バージョン(図4では「3.0」)と、登録会員の車両識別番号(VIN)ごとのECU30の更新状態とを纏めたテーブルよりなる。
As shown in FIG. 4, the information stored in the storage unit 54 includes an update management table RT for managing for each vehicle 1 whether or not the control program of the ECU 30 has been updated to the latest version. In the update management table RT of FIG. 4, “EI” is an identification number of the ECU 30.
The update management table RT includes the identification number of the ECU 30 (“EI = 1” in FIG. 4), the latest version of the control program of the identification number (“3.0” in FIG. 4), and the vehicle identification number of the registered member ( It consists of a table that summarizes the updated state of the ECU 30 for each (VIN).
 図4の更新管理テーブルRTにおいて、VIN=3の車両1では、更新状態が「完了」であるから、EI=1のECU30の制御プログラムの最新バージョン(=3.0)への更新が既に完了している。
 従って、VIN=3の車両1については、制御プログラムの最新バージョンが、例えば「4.0」などにアップデートされない限り、EI=1であるECU30の制御プログラムを更新する必要がない。
In the update management table RT of FIG. 4, since the update state is “complete” in the vehicle 1 with VIN = 3, the update to the latest version (= 3.0) of the control program of the ECU 30 with EI = 1 has already been completed. is doing.
Therefore, for the vehicle 1 with VIN = 3, it is not necessary to update the control program of the ECU 30 with EI = 1 unless the latest version of the control program is updated to, for example, “4.0”.
 VIN=1及び2の車両1では、更新状態が「未完了」であるから、EI=1のECU30の制御プログラムについて、制御プログラムの最新バージョン(=3.0)への更新が未だ完了していない。
 従って、VIN=1及び2の車両1については、EI=1のECU30が自機の制御プログラムを最新バージョン(=3.0)に更新するために必要となる更新プログラムを提供する必要がある。
In the vehicle 1 with VIN = 1 and 2, since the update state is “incomplete”, the control program of the ECU 30 with EI = 1 has not yet been updated to the latest version (= 3.0) of the control program. Absent.
Therefore, for the vehicle 1 with VIN = 1 and 2, it is necessary to provide an update program necessary for the ECU 30 with EI = 1 to update its own control program to the latest version (= 3.0).
 そこで、管理サーバ5のCPU51は、更新状態が未完了である車両1(VIN=1及び2の車両1)に、所定時間おきに更新通知を送信し、EI=1であるECU30の制御プログラムの更新を促す。更新通知を受信した車両1は、ECU30の制御プログラムの現バージョン(例えば1.0)を含むバージョン通知を、管理サーバ5に送信する。
 CPU51は、受信したバーション通知に含まれる現バージョンから、車両1に必要な更新プログラムを決定し、決定した更新プログラムを当該車両1に送信する。
Therefore, the CPU 51 of the management server 5 transmits an update notification to the vehicle 1 (the vehicle 1 with VIN = 1 and 2) whose update state is not completed at predetermined time intervals, and the control program of the ECU 30 with EI = 1. Encourage updates. The vehicle 1 that has received the update notification transmits a version notification including the current version (for example, 1.0) of the control program of the ECU 30 to the management server 5.
The CPU 51 determines an update program necessary for the vehicle 1 from the current version included in the received version notification, and transmits the determined update program to the vehicle 1.
 〔制御プログラムの更新手順の従来例〕
 図5は、本実施形態のプログラム更新システムにおける、制御プログラムの更新手順の従来例を示すシーケンス図である。ここでは、管理サーバ5の通信相手は、図4の更新管理テーブルRTにおけるVIN=1の車両1であるとする。
 また、EI=1であるECU30の制御プログラムのバージョン履歴は、「1.0」→「2.0」→「3.0(最新)」であるとし、VIN=1の車両1のECU30では、制御プログラムの現バージョンが1.0(最新バージョンの2世代前)であるとする。
[Conventional example of control program update procedure]
FIG. 5 is a sequence diagram showing a conventional example of a control program update procedure in the program update system of the present embodiment. Here, it is assumed that the communication partner of the management server 5 is the vehicle 1 with VIN = 1 in the update management table RT of FIG.
Further, the version history of the control program of the ECU 30 with EI = 1 is “1.0” → “2.0” → “3.0 (latest)”. In the ECU 30 of the vehicle 1 with VIN = 1, Assume that the current version of the control program is 1.0 (two generations before the latest version).
 本実施形態では、更新プログラムが、1世代前の旧バーションからの「差分プログラムΔ」である場合を想定する。この場合、旧バージョンと新バージョンとのファイルの差分情報を含むΔが同じ記憶領域にあれば、旧バージョンにΔを適応することで、新バージョンを生成することができる。
 なお、以下において、制御プログラムのバーション1.0からバーション2.0への更新プログラムを「Δ1」とし、制御プログラムのバーション2.0からバーション3.0への更新プログラムを「Δ2」とする。
In the present embodiment, it is assumed that the update program is a “difference program Δ” from an old version one generation before. 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, the new version can be generated by applying Δ to the old version.
In the following description, an update program from version 1.0 to version 2.0 of the control program is “Δ1”, and an update program from version 2.0 to version 3.0 of the control program is “Δ2”. "
 図5に示すように、管理サーバ5は、EI=1であるECU30の制御プログラムの更新を促す更新通知を、VIN=1の車両1に送信する(ステップS1)。
 更新通知を受信した車両1のゲートウェイ10は、EI=1のECU30に制御プログラムのバージョン確認を送信する(ステップS2)。バージョン確認を受信したECU30は、制御プログラムの現バージョン(=1.0)を含むバージョン通知をゲートウェイ10に返信する(ステップS3)。
As shown in FIG. 5, the management server 5 transmits an update notification that prompts an update of the control program of the ECU 30 with EI = 1 to the vehicle 1 with VIN = 1 (step S1).
The gateway 10 of the vehicle 1 that has received the update notification transmits a control program version confirmation to the ECU 30 with EI = 1 (step S2). The ECU 30 that has received the version confirmation returns a version notification including the current version (= 1.0) of the control program to the gateway 10 (step S3).
 バージョン通知を受信したゲートウェイ10は、ECU30の現バージョン(=1.0)を含むバージョン通知を管理サーバ5に送信する(ステップS4)。
 バージョン通知を受信した管理サーバ5のCPU51は、制御プログラムのバージョンを1.0から2.0に更新するのに必要な更新プログラムΔ1を、VIN=1の車両1に送信する(ステップS5)。車両1のゲートウェイ10は、受信した更新プログラムΔ1をEI=1のECU30に転送する(ステップS6)。
The gateway 10 that has received the version notification transmits a version notification including the current version (= 1.0) of the ECU 30 to the management server 5 (step S4).
The CPU 51 of the management server 5 that has received the version notification transmits to the vehicle 1 with VIN = 1 the update program Δ1 necessary for updating the version of the control program from 1.0 to 2.0 (step S5). The gateway 10 of the vehicle 1 transfers the received update program Δ1 to the ECU 30 with EI = 1 (step S6).
 次に、ECU30のCPU31は、現時点の旧バージョンの制御プログラム(以下、「現ソフトウェア」ともいう。)を、記憶部33のROMからRAM32にコピーし(ステップS7)、RAM32に展開した現ソフトウェア(Ver=1.0)に更新プログラムΔ1を適用する(ステップS8)。これにより、現バージョン1.0から1つ次の世代である、バージョン2.0の制御プログラムが生成される。 Next, the CPU 31 of the ECU 30 copies the current version of the control program (hereinafter also referred to as “current software”) from the ROM of the storage unit 33 to the RAM 32 (step S7), and develops the current software ( Ver = 1.0), the update program Δ1 is applied (step S8). As a result, a version 2.0 control program, which is the next generation from the current version 1.0, is generated.
 バージョン2.0の制御プログラムが生成されると、ECU30の起動部35(図3参照)は、CPU31の制御モードを通常モードからリプロモードに切り替えて、バージョン2.0の制御プログラムを記憶部33のROMに書き込んだあと、そのデータ内容をチェックする(ステップS9)。 When the version 2.0 control program is generated, the starting unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and stores the version 2.0 control program in the storage unit 33. Then, the data content is checked (step S9).
 上記のチェックは、例えば、ECU30をいったん再起動し、バージョン2.0の制御プログラムが書き込まれた記憶領域について行われるベリファイ処理よりなる。
 上記のチェックが完了すると、ECU30の起動部35は、CPU31の制御モードを通常モードに切り替えて、CPU31を更新後の新たな制御プログラム(Ver=2.0)によって動作させる。
The above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 2.0 control program is written.
When the above check is completed, the activation unit 35 of the ECU 30 switches the control mode of the CPU 31 to the normal mode, and causes the CPU 31 to operate according to the updated new control program (Ver = 2.0).
 次に、ECU30のCPU31は、書き込み完了通知をゲートウェイ10に送信する(ステップS10)。ゲートウェイ10は、受信した書き込み完了通知を管理サーバ5に転送する(ステップS11)。
 上記の書き込み完了通知には、書き込み後の制御プログラムのバージョン情報(この場合は、Ver=2.0)が含まれる。
Next, the CPU 31 of the ECU 30 transmits a write completion notification to the gateway 10 (step S10). The gateway 10 transfers the received write completion notification to the management server 5 (step S11).
The write completion notification includes the version information of the control program after writing (in this case, Ver = 2.0).
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、ECU30の制御プログラムがバージョン2.0に更新されても、ECU30の制御プログラムは未だ最新ではない。
 従って、書き込み完了通知を受信した管理サーバ5は、所定期間の経過後に、EI=1であるECU30の制御プログラムの更新を促す更新通知を、VIN=1の車両1に送信する(ステップS12)。
Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), even if the control program for the ECU 30 is updated to version 2.0, the control program for the ECU 30 is not yet the latest.
Therefore, the management server 5 that has received the write completion notification transmits an update notification for urging the update of the control program of the ECU 30 with EI = 1 to the vehicle 1 with VIN = 1 after the lapse of a predetermined period (step S12).
 更新通知を受信した車両1のゲートウェイ10は、EI=1のECU30にソフトウェアのバージョン確認を送信する(ステップS13)。バージョン確認を受信したECU30は、制御プログラムの現バージョン(=2.0)を含むバージョン通知をゲートウェイ10に返信する(ステップS14)。 The gateway 10 of the vehicle 1 that has received the update notification transmits a software version confirmation to the ECU 30 with EI = 1 (step S13). The ECU 30 that has received the version confirmation returns a version notification including the current version (= 2.0) of the control program to the gateway 10 (step S14).
 バージョン通知を受信したゲートウェイ10は、ECU30の現バージョン(=2.0)を含むバージョン通知を管理サーバ5に送信する(ステップS15)。
 バージョン通知を受信した管理サーバ5は、制御プログラムのバージョンを2.0から3.0に更新するのに必要な更新プログラムΔ2を、VIN=1の車両1に送信する(ステップS16)。車両1のゲートウェイ10は、受信した更新プログラムΔ2をEI=1のECU30に転送する(ステップS17)。
The gateway 10 that has received the version notification transmits a version notification including the current version (= 2.0) of the ECU 30 to the management server 5 (step S15).
The management server 5 that has received the version notification transmits to the vehicle 1 with VIN = 1 the update program Δ2 required to update the version of the control program from 2.0 to 3.0 (step S16). The gateway 10 of the vehicle 1 transfers the received update program Δ2 to the ECU 30 with EI = 1 (step S17).
 次に、ECU30のCPU31は、現ソフトウェア(この場合は、バージョン2.0の制御プログラム)を記憶部33のROMからRAM32にコピーし(ステップS18)、RAM32に展開した現ソフトウェア(Ver=2.0)に更新プログラムΔ2を適用する(ステップS19)。これにより、現バージョン2.0から1つ次の世代である、バージョン3.0の制御プログラムが生成される。 Next, the CPU 31 of the ECU 30 copies the current software (in this case, the control program of version 2.0) from the ROM of the storage unit 33 to the RAM 32 (step S18), and develops the current software (Ver = 2. 0), the update program Δ2 is applied (step S19). As a result, a version 3.0 control program that is the next generation from the current version 2.0 is generated.
 バージョン3.0の制御プログラムが生成されると、ECU30の起動部35(図3参照)は、CPU31の制御モードを通常モードからリプロモードに切り替えて、バージョン3.0の制御プログラムを記憶部33のROMに書き込んだあと、そのデータ内容をチェックする(ステップS20)。 When the version 3.0 control program is generated, the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and stores the version 3.0 control program in the storage unit 33. After the data is written into the ROM, the data content is checked (step S20).
 上記のチェックも、例えば、ECU30をいったん再起動し、バージョン3.0の制御プログラムが書き込まれた記憶領域について行われるベリファイ処理よりなる。
 上記のチェックが完了すると、ECU30の起動部35は、CPU31の制御モードを通常モードに切り替えて、CPU31を更新後の新たな制御プログラム(Ver=3.0)によって動作させる。
The above check also includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
When the above check is completed, the activation unit 35 of the ECU 30 switches the control mode of the CPU 31 to the normal mode, and causes the CPU 31 to operate according to the updated new control program (Ver = 3.0).
 次に、ECU30のCPU31は、書き込み完了通知をゲートウェイ10に送信する(ステップS21)。ゲートウェイ10は、受信した書き込み完了通知を管理サーバ5に転送する(ステップS22)。
 上記の書き込み完了通知には、書き込み後の制御プログラムのバージョン情報(この場合は、Ver=3.0)が含まれる。
Next, the CPU 31 of the ECU 30 transmits a write completion notification to the gateway 10 (step S21). The gateway 10 transfers the received write completion notification to the management server 5 (step S22).
The write completion notification includes version information of the control program after writing (in this case, Ver = 3.0).
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、ECU30の制御プログラムがバージョン3.0に更新されると、ECU30の制御プログラムは最新となる。
 従って、書き込み完了通知を受信した管理サーバ5は、EI=1であるECU30の制御プログラムが最新である旨の最新通知を、VIN=1の車両1に送信する(ステップS23)。
Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), when the control program for the ECU 30 is updated to version 3.0, the control program for the ECU 30 becomes the latest.
Therefore, the management server 5 that has received the write completion notification transmits the latest notification that the control program of the ECU 30 with EI = 1 is the latest to the vehicle 1 with VIN = 1 (step S23).
 〔従来の更新手順の問題点とその解決策〕
 ECU30の制御プログラムの更新に必要な更新プログラムを、管理サーバ5から無線通信にてダウンロードするFOTA(Firmware On-The-Air)において、例えば、更新頻度が少ないユーザの場合には、所定のECU30の制御プログラムに関して、現バージョンと最新バージョンとの乖離が2世代以上となる可能性がある。
[Problems and solutions of conventional update procedures]
In a FOTA (Firmware On-The-Air) that downloads an update program necessary for updating the control program of the ECU 30 from the management server 5 by wireless communication, for example, in the case of a user with a low update frequency, a predetermined ECU 30 Regarding the control program, the difference between the current version and the latest version may be two generations or more.
 例えば、現バージョンが1.0でかつ最新バージョンが2世代後の3.0である場合には、図5に示すように、バージョン1.0からバージョン2.0への更新処理(図5のステップS7~S9)と、バージョン2.0から最新バージョン3.0への更新処理(図5のステップS18~S20)とが必要となり、現バージョン1.0から最新バージョン3.0まで到達するのに時間がかかるという問題がある。 For example, when the current version is 1.0 and the latest version is 3.0 after two generations, as shown in FIG. 5, an update process from version 1.0 to version 2.0 (FIG. 5). Steps S7 to S9) and update processing from version 2.0 to latest version 3.0 (steps S18 to S20 in FIG. 5) are required, and the current version 1.0 is reached to the latest version 3.0. There is a problem that it takes time.
 特に、更新プログラムが差分プログラムΔである場合、記憶部33のROM上の制御プログラムをいったんRAM32に展開し、差分プログラムΔを適用した後のファイルをROM上に書き戻してから、ROMのチェック(ベリファイ処理)が行われる(図5のステップS9,S20)。
 このため、更新プログラムΔ1,Δ2に基づく制御プログラムの書き換え/ROMチェックを2回行う必要があり、制御プログラムのデータ容量によっては、現バージョン1.0から最新バージョン3.0に更新するのに多大な時間を要する。
In particular, when the update program is the difference program Δ, the control program on the ROM in the storage unit 33 is once expanded in the RAM 32, the file after the application of the difference program Δ is written back on the ROM, and the ROM check ( (Verify processing) is performed (steps S9 and S20 in FIG. 5).
For this reason, it is necessary to perform rewriting / ROM check of the control program based on the update programs Δ1 and Δ2 twice, and depending on the data capacity of the control program, it is very large to update the current version 1.0 to the latest version 3.0 Takes a lot of time.
 そこで、本実施形態では、同じECU30の制御プログラムについて2世代以上のバージョンアップが必要となる場合に、複数の更新プログラムΔ1,Δ2を用いて最新バージョン3.0の制御プログラムを飛び級的に生成できるようにし、記憶部33のROMへの書き込み及びチェックを1回で済ませるようにした。
 この場合、制御プログラムの書き込み及びチェックが1回で済むので、2世代以上のバージョンアップに必要な更新時間を短縮することができる。
Therefore, in the present embodiment, when two or more generations of the control program of the same ECU 30 are required, the control program of the latest version 3.0 is generated step by step using a plurality of update programs Δ1, Δ2. It was made possible to write and check in the ROM of the storage unit 33 in one time.
In this case, since the control program needs to be written and checked only once, the update time required for upgrading two or more generations can be shortened.
 〔第1実施形態の更新手順〕
 図6は、本実施形態のプログラム更新システムにおける、第1実施形態の制御プログラムの更新手順を示すシーケンス図である。
 ここでは、管理サーバ5の通信相手は、図4の更新管理テーブルRTにおけるVIN=1の車両1であるとする。この点は、後述する第2~第5実施形態の更新手順(図7~図10)において同様である。
[Update Procedure of First Embodiment]
FIG. 6 is a sequence diagram showing the update procedure of the control program of the first embodiment in the program update system of the present embodiment.
Here, it is assumed that the communication partner of the management server 5 is the vehicle 1 with VIN = 1 in the update management table RT of FIG. This is the same in the update procedure (FIGS. 7 to 10) of the second to fifth embodiments described later.
 EI=1であるECU30の制御プログラムのバージョン履歴は、「1.0」→「2.0」→「3.0(最新)」を辿るものとし、VIN=1の車両1のECU30では、制御プログラムの現バージョンが1.0(最新バージョンの2世代前)であるとする。この点についても、後述する第2~第5実施形態の更新手順(図7~図10)において同様である。 The version history of the control program of the ECU 30 with EI = 1 follows “1.0” → “2.0” → “3.0 (latest)”. In the ECU 30 of the vehicle 1 with VIN = 1, Assume that the current version of the program is 1.0 (two generations before the latest version). This also applies to the update procedure (FIGS. 7 to 10) of the second to fifth embodiments described later.
 本実施形態のプログラム更新システムでは、管理サーバ5と車両1(第1実施形態ではゲートウェイ10)との間のダウンロード処理を制御するための制御メッセージの一種として、「仮完了通知」が定義されている。
 上記の仮完了通知は、具体的には、管理サーバ5と車両1のゲートウェイ10が次の処理(1)~(4)を実行するように予め定義された制御メッセージである。仮完了通知は、ECU30からの書き込み完了通知を受けることなく発行される。
In the program update system of the present embodiment, “provisional completion notification” is defined as a type of control message for controlling the download process between the management server 5 and the vehicle 1 (the gateway 10 in the first embodiment). Yes.
Specifically, the provisional completion notification is a control message defined in advance so that the management server 5 and the gateway 10 of the vehicle 1 execute the following processes (1) to (4). The provisional completion notification is issued without receiving a writing completion notification from the ECU 30.
 (1) 車両1のゲートウェイ10は、更新プログラムΔi(i=1,2,…)を受信すると、受信した更新プログラムΔiをECU30に提供する前に、仮完了通知を管理サーバ5に送信する。
 (2) 管理サーバ5は、車両1から仮完了通知を受信すると、仮完了通知の送信元の車両1(図例では、VIN=1の車両1)の、EI=1であるECU30について、更新プログラムΔiの次の更新プログラムΔi+1が必要か否かを判定する。
(1) Upon receipt of the update program Δi (i = 1, 2,...), The gateway 10 of the vehicle 1 transmits a provisional completion notification to the management server 5 before providing the received update program Δi to the ECU 30.
(2) When the management server 5 receives the temporary completion notification from the vehicle 1, the management server 5 updates the ECU 30 with EI = 1 of the vehicle 1 that is the transmission source of the temporary completion notification (the vehicle 1 with VIN = 1 in the illustrated example). It is determined whether or not the next update program Δi + 1 of the program Δi is necessary.
 (3) 管理サーバ5は、(2)の判定結果が肯定的である場合は、更新プログラムΔiの次に必要となる更新プログラムΔi+1を車両1(ゲートウェイ10)に送信する。
 (4) 管理サーバ5は、(2)の判定結果が否定的である場合は、更新プログラムΔiが最終である旨の最終通知を車両1(ゲートウェイ10)に送信する。
(3) When the determination result of (2) is affirmative, the management server 5 transmits an update program Δi + 1 that is necessary next to the update program Δi to the vehicle 1 (gateway 10).
(4) When the determination result of (2) is negative, the management server 5 transmits a final notification that the update program Δi is final to the vehicle 1 (gateway 10).
 図6に示すように、管理サーバ5は、EI=1であるECU30の制御プログラムの更新を促す更新通知を、VIN=1の車両1に送信する(ステップS101)。
 更新通知を受信した車両1のゲートウェイ10は、EI=1のECU30にソフトウェアのバージョン確認を送信する(ステップS102)。バージョン確認を受信したECU30は、制御プログラムの現バージョン(=1.0)を含むバージョン通知をゲートウェイ10に返信する(ステップS103)。
As shown in FIG. 6, the management server 5 transmits an update notification for urging the update of the control program of the ECU 30 with EI = 1 to the vehicle 1 with VIN = 1 (step S101).
The gateway 10 of the vehicle 1 that has received the update notification transmits a software version confirmation to the ECU 30 with EI = 1 (step S102). The ECU 30 that has received the version confirmation returns a version notification including the current version (= 1.0) of the control program to the gateway 10 (step S103).
 バージョン通知を受信したゲートウェイ10は、ECU30の現バージョン(=1.0)を含むバージョン通知を管理サーバ5に送信する(ステップS104)。
 バージョン通知を受信した管理サーバ5のCPU51は、制御プログラムのバージョンを1.0から2.0に更新するのに必要な更新プログラムΔ1を、VIN=1の車両1に送信する(ステップS105)。
The gateway 10 that has received the version notification transmits a version notification including the current version (= 1.0) of the ECU 30 to the management server 5 (step S104).
Receiving the version notification, the CPU 51 of the management server 5 transmits an update program Δ1 necessary for updating the version of the control program from 1.0 to 2.0 to the vehicle 1 with VIN = 1 (step S105).
 更新プログラムΔ1を受信したゲートウェイ10は、仮完了通知を管理サーバ5に送信する(ステップS106)。
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、更新プログラムΔ1によりECU30の制御プログラムがバージョン2.0に更新されても、ECU30の制御プログラムは未だ最新ではない。
The gateway 10 that has received the update program Δ1 transmits a provisional completion notification to the management server 5 (step S106).
Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), even if the control program for the ECU 30 is updated to version 2.0 by the update program Δ1, the control program for the ECU 30 is not yet the latest.
 従って、ステップS106の仮完了通知を受信した管理サーバ5は、更新プログラムΔ1の次の更新プログラムΔ2、すなわち、制御プログラムのバージョンを2.0から3.0に更新するのに必要な更新プログラムΔ2を、VIN=1の車両1に送信する(ステップS107)。
 更新プログラムΔ2を受信したゲートウェイ10は、仮完了通知を管理サーバ5に送信する(ステップS108)。
Therefore, the management server 5 that has received the provisional completion notification in step S106, the update program Δ2 next to the update program Δ1, that is, the update program Δ2 necessary for updating the version of the control program from 2.0 to 3.0. Is transmitted to the vehicle 1 with VIN = 1 (step S107).
The gateway 10 that has received the update program Δ2 transmits a provisional completion notification to the management server 5 (step S108).
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、更新プログラムΔ2によりECU30の制御プログラムがバージョン3.0に更新されると、ECU30の制御プログラムは最新となる。
 従って、ステップS108の仮完了通知を受信した管理サーバ5は、更新プログラムΔ2が最終である旨の最終通知を、VIN=1の車両1に送信する(ステップS109)。最終通知には、最終バージョンのバージョン情報(Ver=3.0)が含まれる。
Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), when the control program for the ECU 30 is updated to version 3.0 by the update program Δ2, the control program for the ECU 30 becomes the latest.
Therefore, the management server 5 that has received the temporary completion notification in step S108 transmits a final notification that the update program Δ2 is final to the vehicle 1 with VIN = 1 (step S109). The final notification includes version information (Ver = 3.0) of the final version.
 最終通知を受信したゲートウェイ10は、自機の記憶部33に一時的に記憶した更新プログラムΔ1,Δ2を、EI=1のECU30に転送する(ステップS110)。
 また、ゲートウェイ10は、2つの更新プログラムΔ1,Δ2を適用すると生成される制御プログラムの最終バージョン(=3.0)を、EI=1のECU30に通知する(ステップS111)。
Receiving the final notification, the gateway 10 transfers the update programs Δ1, Δ2 temporarily stored in the storage unit 33 of the own device to the ECU 30 with EI = 1 (step S110).
Further, the gateway 10 notifies the ECU 30 with EI = 1 of the final version (= 3.0) of the control program generated when the two update programs Δ1, Δ2 are applied (step S111).
 次に、ECU30のCPU31は、現ソフトウェアを記憶部33のROMからRAM32にコピーし(ステップS112)、RAM32に展開した現ソフトウェア(Ver=1.0)に2つの更新プログラムΔ1,Δ2を順次適用する(ステップS113)。
 これにより、現バージョン1.0から2世代新しいバージョン3.0の制御プログラム(以下、「スキッププログラム」という。)が生成される。
Next, the CPU 31 of the ECU 30 copies the current software from the ROM of the storage unit 33 to the RAM 32 (step S112), and sequentially applies the two update programs Δ1 and Δ2 to the current software (Ver = 1.0) developed in the RAM 32. (Step S113).
As a result, a control program (hereinafter referred to as “skip program”) of the new version 3.0 from the current version 1.0 is generated.
 ECU30のCPU31は、生成したスキッププログラムが、ゲートウェイ10から通知された最終バージョン(=3.0)であるか確認した上で、スキッププログラムの書き込みを許可する(ステップS114)。
 スキッププログラムの書き込みが許可されると、ECU30の起動部35(図3参照)は、CPU31の制御モードを通常モードからリプロモードに切り替え、バージョン3.0の制御プログラムを記憶部33のROMに書き込んだあと、そのデータ内容をチェックする(ステップS115)。
The CPU 31 of the ECU 30 confirms whether the generated skip program is the final version (= 3.0) notified from the gateway 10, and then permits writing of the skip program (step S114).
When writing of the skip program is permitted, the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and writes the version 3.0 control program in the ROM of the storage unit 33. After that, the data content is checked (step S115).
 上記のチェックは、例えば、ECU30をいったん再起動し、バージョン3.0の制御プログラムが書き込まれた記憶領域について行われるベリファイ処理よりなる。
 上記のチェックが完了すると、ECU30の起動部35は、CPU31の制御モードを通常モードに切り替えて、CPU31を更新後の新たな制御プログラム(=3.0)によって動作させる。
The above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
When the above check is completed, the starting unit 35 of the ECU 30 switches the control mode of the CPU 31 to the normal mode, and causes the CPU 31 to operate according to the updated control program (= 3.0).
 次に、ECU30のCPU31は、書き込み完了通知をゲートウェイ10に送信する(ステップS116)。ゲートウェイ10は、受信した書き込み完了通知を管理サーバ5に転送する(ステップS117)。
 上記の書き込み完了通知には、書き込み後の制御プログラムのバージョン情報(この場合は、Ver=3.0)が含まれる。
Next, the CPU 31 of the ECU 30 transmits a write completion notification to the gateway 10 (step S116). The gateway 10 transfers the received write completion notification to the management server 5 (step S117).
The write completion notification includes version information of the control program after writing (in this case, Ver = 3.0).
 〔第2実施形態の更新手順〕
 図7は、本実施形態のプログラム更新システムにおける、第2実施形態に係る制御プログラムの更新手順を示すシーケンス図である。
 第2実施形態の更新手順(図7)が第1実施形態の更新手順(図6)と異なる点は、最新バージョンのスキッププログラムの書き込み許可(図6のステップS114)を、ECU30ではなくゲートウェイ10が実行する点にある。
[Update Procedure of Second Embodiment]
FIG. 7 is a sequence diagram showing a control program update procedure according to the second embodiment in the program update system of the present embodiment.
The update procedure (FIG. 7) of the second embodiment is different from the update procedure (FIG. 6) of the first embodiment in that the latest version of the skip program write permission (step S114 in FIG. There is a point to execute.
 図7に示すように、管理サーバ5は、EI=1であるECU30の制御プログラムの更新を促す更新通知を、VIN=1の車両1に送信する(ステップS201)。
 更新通知を受信した車両1のゲートウェイ10は、EI=1のECU30にソフトウェアのバージョン確認を送信する(ステップS202)。バージョン確認を受信したECU30は、制御プログラムの現バージョン(=1.0)を含むバージョン通知をゲートウェイ10に返信する(ステップS203)。
As shown in FIG. 7, the management server 5 transmits an update notification for urging the update of the control program of the ECU 30 with EI = 1 to the vehicle 1 with VIN = 1 (step S201).
The gateway 10 of the vehicle 1 that has received the update notification transmits a software version confirmation to the ECU 30 with EI = 1 (step S202). The ECU 30 that has received the version confirmation returns a version notification including the current version (= 1.0) of the control program to the gateway 10 (step S203).
 バージョン通知を受信したゲートウェイ10は、ECU30の現バージョン(=1.0)を含むバージョン通知を管理サーバ5に送信する(ステップS204)。
 バージョン通知を受信した管理サーバ5のCPU51は、制御プログラムのバージョンを1.0から2.0に更新するのに必要な更新プログラムΔ1を、VIN=1の車両1に送信する(ステップS205)。
The gateway 10 that has received the version notification transmits a version notification including the current version (= 1.0) of the ECU 30 to the management server 5 (step S204).
The CPU 51 of the management server 5 that has received the version notification transmits to the vehicle 1 with VIN = 1 the update program Δ1 necessary for updating the version of the control program from 1.0 to 2.0 (step S205).
 更新プログラムΔ1を受信したゲートウェイ10は、仮完了通知を管理サーバ5に送信する(ステップS206)。
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、更新プログラムΔ1によりECU30の制御プログラムがバージョン2.0に更新されても、ECU30の制御プログラムは未だ最新ではない。
The gateway 10 that has received the update program Δ1 transmits a provisional completion notification to the management server 5 (step S206).
Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), even if the control program for the ECU 30 is updated to version 2.0 by the update program Δ1, the control program for the ECU 30 is not yet the latest.
 従って、ステップS206の仮完了通知を受信した管理サーバ5は、更新プログラムΔ1の次の更新プログラムΔ2、すなわち、制御プログラムのバージョンを2.0から3.0に更新するのに必要な更新プログラムΔ2を、VIN=1の車両1に送信する(ステップS207)。
 更新プログラムΔ2を受信したゲートウェイ10は、仮完了通知を管理サーバ5に送信する(ステップS208)。
Therefore, the management server 5 that has received the temporary completion notification in step S206 updates the update program Δ2 next to the update program Δ1, that is, the update program Δ2 necessary to update the version of the control program from 2.0 to 3.0. Is transmitted to the vehicle 1 with VIN = 1 (step S207).
The gateway 10 that has received the update program Δ2 transmits a provisional completion notification to the management server 5 (step S208).
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、更新プログラムΔ2によりECU30の制御プログラムがバージョン3.0に更新されると、ECU30の制御プログラムは最新となる。
 従って、ステップS108の仮完了通知を受信した管理サーバ5は、更新プログラムΔ2が最終である旨の最終通知を、VIN=1の車両1に送信する(ステップS209)。
Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), when the control program for the ECU 30 is updated to version 3.0 by the update program Δ2, the control program for the ECU 30 becomes the latest.
Accordingly, the management server 5 that has received the temporary completion notification in step S108 transmits a final notification that the update program Δ2 is final to the vehicle 1 with VIN = 1 (step S209).
 最終通知を受信したゲートウェイ10は、自機の記憶部33に一時的に記憶した更新プログラムΔ1,Δ2を、EI=1のECU30に転送する(ステップS210)。
 また、ゲートウェイ10は、2つの更新プログラムΔ1,Δ2を適用すると生成される制御プログラムの最終バージョン(=3.0)を、自機の記憶部13に一時的に記憶しておく。
Receiving the final notification, the gateway 10 transfers the update programs Δ1, Δ2 temporarily stored in the storage unit 33 of the own device to the ECU 30 with EI = 1 (step S210).
Further, the gateway 10 temporarily stores the final version (= 3.0) of the control program generated when the two update programs Δ1 and Δ2 are applied in the storage unit 13 of the own device.
 次に、ECU30のCPU31は、現ソフトウェアを記憶部33のROMからRAM32にコピーし(ステップS211)、RAM32に展開した現ソフトウェア(Ver=1.0)に2つの更新プログラムΔ1,Δ2を順次適用する(ステップS212)。
 これにより、現バージョン1.0から2世代新しいバージョン3.0のスキッププログラムが生成される。
Next, the CPU 31 of the ECU 30 copies the current software from the ROM of the storage unit 33 to the RAM 32 (step S211), and sequentially applies the two update programs Δ1 and Δ2 to the current software (Ver = 1.0) expanded in the RAM 32. (Step S212).
As a result, a skip program of version 3.0 that is two generations new from the current version 1.0 is generated.
 ECU30のCPU31は、生成したスキッププログラムからバージョン情報を読み取り、読み取ったバージョン情報を含むバージョン通知をゲートウェイ10に送信する(ステップS213)。
 バージョン通知を受信したゲートウェイ10は、通知されたバージョン情報が記憶中の最終バージョン(=3.0)であるか確認した上で、スキッププログラムの書き込み許可を生成し(ステップS214)、生成した書き込み許可をECU30に送信する(ステップS215)。
The CPU 31 of the ECU 30 reads version information from the generated skip program, and sends a version notification including the read version information to the gateway 10 (step S213).
Upon receiving the version notification, the gateway 10 confirms whether the notified version information is the last version (= 3.0) being stored, generates a skip program write permission (step S214), and generates the generated write The permission is transmitted to the ECU 30 (step S215).
 スキッププログラムの書き込み許可を受信すると、ECU30の起動部35(図3参照)は、CPU31の制御モードを通常モードからリプロモードに切り替え、バージョン3.0の制御プログラムを記憶部33のROMに書き込んだあと、そのデータ内容をチェックする(ステップS216)。 When receiving the permission to write the skip program, the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and writes the version 3.0 control program in the ROM of the storage unit 33. Then, the data content is checked (step S216).
 上記のチェックは、例えば、ECU30をいったん再起動し、バージョン3.0の制御プログラムが書き込まれた記憶領域について行われるベリファイ処理よりなる。
 上記のチェックが完了すると、ECU30の起動部35は、CPU31の制御モードを通常モードに切り替えて、CPU31を更新後の新たな制御プログラム(=3.0)によって動作させる。
The above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
When the above check is completed, the starting unit 35 of the ECU 30 switches the control mode of the CPU 31 to the normal mode, and causes the CPU 31 to operate according to the updated control program (= 3.0).
 次に、ECU30のCPU31は、書き込み完了通知をゲートウェイ10に送信する(ステップS217)。ゲートウェイ10は、受信した書き込み完了通知を管理サーバ5に転送する(ステップS218)。
 上記の書き込み完了通知には、書き込み後の制御プログラムのバージョン情報(この場合は、Ver=3.0)が含まれる。
Next, the CPU 31 of the ECU 30 transmits a write completion notification to the gateway 10 (step S217). The gateway 10 transfers the received write completion notification to the management server 5 (step S218).
The write completion notification includes version information of the control program after writing (in this case, Ver = 3.0).
 〔第3実施形態の更新手順〕
 図8は、本実施形態のプログラム更新システムにおける、第3実施形態に係る制御プログラムの更新手順を示すシーケンス図である。
 第3実施形態の更新手順(図8)が第1実施形態の更新手順(図6)と異なる点は、仮完了通知を認識できない管理サーバ5が採用され、ゲートウェイ10が、仮完了通知に代えて通常の書き込み完了通知を管理サーバ5に送信する点にある。しかし、ゲートウェイ10は、ECU30からの書き込み完了通知を受けずに管理サーバ5に書き込み完了通知を送信する。
[Update Procedure of Third Embodiment]
FIG. 8 is a sequence diagram showing a control program update procedure according to the third embodiment in the program update system of the present embodiment.
The update procedure (FIG. 8) of the third embodiment is different from the update procedure (FIG. 6) of the first embodiment in that the management server 5 that cannot recognize the provisional completion notification is adopted, and the gateway 10 replaces the provisional completion notification. Thus, a normal write completion notification is transmitted to the management server 5. However, the gateway 10 transmits a write completion notification to the management server 5 without receiving a write completion notification from the ECU 30.
 すなわち、第3実施形態の更新手順(図8)に用いるゲートウェイ10は、更新プログラムΔi(i=1,2,…)を受信すると、更新プログラムΔiをECU30に提供する前に、更新プログラムΔiの書き込みが完了した旨の通知を管理サーバ5に送信する。
 書き込み完了通知には、更新プログラムΔiを適用した場合のバージョン情報(=i+1)が含まれる。従って、通知された制御プログラムのバージョンが最新でない場合には、管理サーバ5は、次の更新プログラムΔi+1を車両1に送信する。
That is, when the gateway 10 used for the update procedure (FIG. 8) of the third embodiment receives the update program Δi (i = 1, 2,...), The gateway 10 uses the update program Δi before providing the update program Δi to the ECU 30. A notification to the effect that writing has been completed is transmitted to the management server 5.
The write completion notification includes version information (= i + 1) when the update program Δi is applied. Therefore, when the notified version of the control program is not the latest, the management server 5 transmits the next update program Δi + 1 to the vehicle 1.
 図8に示すように、管理サーバ5は、EI=1であるECU30の制御プログラムの更新を促す更新通知を、VIN=1の車両1に送信する(ステップS301)。
 更新通知を受信した車両1のゲートウェイ10は、EI=1のECU30にソフトウェアのバージョン確認を送信する(ステップS302)。バージョン確認を受信したECU30は、制御プログラムの現バージョン(=1.0)を含むバージョン通知をゲートウェイ10に返信する(ステップS303)。
As illustrated in FIG. 8, the management server 5 transmits an update notification that prompts an update of the control program of the ECU 30 with EI = 1 to the vehicle 1 with VIN = 1 (step S301).
The gateway 10 of the vehicle 1 that has received the update notification transmits a software version confirmation to the ECU 30 with EI = 1 (step S302). The ECU 30 that has received the version confirmation returns a version notification including the current version (= 1.0) of the control program to the gateway 10 (step S303).
 バージョン通知を受信したゲートウェイ10は、ECU30の現バージョン(=1.0)を含むバージョン通知を管理サーバ5に送信する(ステップS304)。
 バージョン通知を受信した管理サーバ5のCPU51は、制御プログラムのバージョンを1.0から2.0に更新するのに必要な更新プログラムΔ1を、VIN=1の車両1に送信する(ステップS305)。
The gateway 10 that has received the version notification transmits a version notification including the current version (= 1.0) of the ECU 30 to the management server 5 (step S304).
The CPU 51 of the management server 5 that has received the version notification transmits an update program Δ1 necessary for updating the version of the control program from 1.0 to 2.0 to the vehicle 1 with VIN = 1 (step S305).
 更新プログラムΔ1を受信したゲートウェイ10は、書き込み完了通知を管理サーバ5に送信する(ステップS306)。この書き込み完了通知には、更新プログラムΔ1を適用した後の制御プログラムのバージョン(Ver=2.0)が含まれる。
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、更新プログラムΔ1によりECU30の制御プログラムがバージョン2.0に更新されても、ECU30の制御プログラムは未だ最新ではない。
The gateway 10 that has received the update program Δ1 transmits a write completion notification to the management server 5 (step S306). This write completion notification includes the version (Ver = 2.0) of the control program after applying the update program Δ1.
Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), even if the control program for the ECU 30 is updated to version 2.0 by the update program Δ1, the control program for the ECU 30 is not yet the latest.
 従って、ステップS306の書き込み完了通知を受信した管理サーバ5は、更新プログラムΔ1の次の更新プログラムΔ2、すなわち、制御プログラムのバージョンを2.0から3.0に更新するのに必要な更新プログラムΔ2を、VIN=1の車両1に送信する(ステップS307)。
 更新プログラムΔ2を受信したゲートウェイ10は、書き込み完了通知を管理サーバ5に送信する(ステップS308)。この書き込み完了通知には、更新プログラムΔ2を適用した後の制御プログラムのバージョン(Ver=3.0)が含まれる。
Accordingly, the management server 5 that has received the write completion notification in step S306, the update program Δ2 next to the update program Δ1, that is, the update program Δ2 required to update the version of the control program from 2.0 to 3.0. Is transmitted to the vehicle 1 with VIN = 1 (step S307).
The gateway 10 that has received the update program Δ2 transmits a write completion notification to the management server 5 (step S308). This write completion notification includes the version of the control program (Ver = 3.0) after applying the update program Δ2.
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、更新プログラムΔ2によりECU30の制御プログラムがバージョン3.0に更新されると、ECU30の制御プログラムは最新となる。
 従って、ステップS308の仮完了通知を受信した管理サーバ5は、通知されたバージョン(=3.0)が最新である旨の最新通知を、VIN=1の車両1に送信する(ステップS309)。
Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), when the control program for the ECU 30 is updated to version 3.0 by the update program Δ2, the control program for the ECU 30 becomes the latest.
Accordingly, the management server 5 that has received the provisional completion notification in step S308 transmits the latest notification that the notified version (= 3.0) is the latest to the vehicle 1 with VIN = 1 (step S309).
 最新通知を受信したゲートウェイ10は、自機の記憶部33に一時的に記憶した更新プログラムΔ1,Δ2を、EI=1のECU30に転送する(ステップS110)。
 また、ゲートウェイ10は、2つの更新プログラムΔ1,Δ2を適用すると生成される制御プログラムの最終バージョン(=3.0)を、EI=1のECU30に通知する(ステップS311)。
The gateway 10 that has received the latest notification transfers the update programs Δ1 and Δ2 temporarily stored in the storage unit 33 of the own device to the ECU 30 with EI = 1 (step S110).
Further, the gateway 10 notifies the ECU 30 with EI = 1 of the final version (= 3.0) of the control program generated when the two update programs Δ1, Δ2 are applied (step S311).
 次に、ECU30のCPU31は、現ソフトウェアを記憶部33のROMからRAM32にコピーし(ステップS312)、RAM32に展開した現ソフトウェア(Ver=1.0)に2つの更新プログラムΔ1,Δ2を順次適用する(ステップS313)。
 ECU30のCPU31は、更新プログラムΔ1,Δ2を適用して生成した制御プログラムが、ゲートウェイ10から通知された最終バージョン(=3.0)であるか確認した上で、制御プログラムの書き込みを許可する(ステップS314)。
Next, the CPU 31 of the ECU 30 copies the current software from the ROM of the storage unit 33 to the RAM 32 (step S312), and sequentially applies the two update programs Δ1 and Δ2 to the current software (Ver = 1.0) expanded in the RAM 32. (Step S313).
The CPU 31 of the ECU 30 confirms whether or not the control program generated by applying the update programs Δ1 and Δ2 is the final version (= 3.0) notified from the gateway 10, and then permits writing of the control program ( Step S314).
 制御プログラムの書き込みが許可されると、ECU30の起動部35(図3参照)は、CPU31の制御モードを通常モードからリプロモードに切り替え、バージョン3.0の制御プログラムを記憶部33のROMに書き込んだあと、そのデータ内容をチェックする(ステップS315)。 When writing of the control program is permitted, the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and writes the version 3.0 control program in the ROM of the storage unit 33. After that, the data content is checked (step S315).
 上記のチェックは、例えば、ECU30をいったん再起動し、バージョン3.0の制御プログラムが書き込まれた記憶領域について行われるベリファイ処理よりなる。
 上記のチェックが完了すると、ECU30の起動部35は、CPU31の制御モードを通常モードに切り替えて、CPU31を更新後の新たな制御プログラム(=3.0)によって動作させる。
The above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
When the above check is completed, the starting unit 35 of the ECU 30 switches the control mode of the CPU 31 to the normal mode, and causes the CPU 31 to operate according to the updated control program (= 3.0).
 なお、第3実施形態の更新手順(図8)では、ゲートウェイ10が、最新バージョン(=3.0)の書き込み完了通知の送信を、ECU30に更新プログラムΔ1,Δ2を転送する前に既に実行している。
 従って、ECU30のCPU31は、ステップS315の処理後の書き込み完了通知をゲートウェイ10に送信する必要はない。
In the update procedure (FIG. 8) of the third embodiment, the gateway 10 has already transmitted the writing completion notification of the latest version (= 3.0) before transferring the update programs Δ 1 and Δ 2 to the ECU 30. ing.
Therefore, the CPU 31 of the ECU 30 does not need to send the write completion notification after the process of step S315 to the gateway 10.
 〔第4実施形態の更新手順〕
 図9は、本実施形態のプログラム更新システムにおける、第4実施形態に係る制御プログラムの更新手順を示すシーケンス図である。
 第4実施形態の更新手順(図9)が第1実施形態の更新手順(図6)と異なる点は、制御メッセージ及び更新プログラムΔiを管理サーバ5とやり取りする通信主体がECU30自身であり、ゲートウェイ10が単なるリピータとして機能する点にある。
[Update procedure of the fourth embodiment]
FIG. 9 is a sequence diagram showing a control program update procedure according to the fourth embodiment in the program update system of the present embodiment.
The update procedure (FIG. 9) of the fourth embodiment is different from the update procedure (FIG. 6) of the first embodiment in that the communication entity that exchanges the control message and the update program Δi with the management server 5 is the ECU 30 itself, and the gateway 10 is that it functions as a mere repeater.
 本実施形態の更新システムでは、管理サーバ5と車両1(第4実施形態ではECU30)との間のダウンロード処理を制御するための制御メッセージの一種として、「仮完了通知」が定義されている。
 上記の仮完了通知は、具体的には、管理サーバ5と車両1のECU30が次の処理(1)~(4)を実行するように予め定義された制御メッセージである。仮完了通知は、ECU30が書き込み完了通知を行うことなく発行される。
In the update system of the present embodiment, “temporary completion notification” is defined as a type of control message for controlling the download process between the management server 5 and the vehicle 1 (ECU 30 in the fourth embodiment).
Specifically, the provisional completion notification is a control message defined in advance so that the management server 5 and the ECU 30 of the vehicle 1 execute the following processes (1) to (4). The temporary completion notification is issued without the ECU 30 notifying the completion of writing.
 (1) 車両1のECU30は、更新プログラムΔi(i=1,2,…)を受信すると、受信した更新プログラムΔiを用いた次世代の制御プログラムの生成を行わずに、仮完了通知を管理サーバ5に送信する。
 (2) 管理サーバ5は、車両1から仮完了通知を受信すると、仮完了通知の送信元の車両1(図例では、VIN=1の車両1)の、EI=1であるECU30について、更新プログラムΔiの次の更新プログラムΔi+1が必要か否かを判定する。
(1) Upon receiving the update program Δi (i = 1, 2,...), The ECU 30 of the vehicle 1 manages the provisional completion notification without generating a next-generation control program using the received update program Δi. Send to server 5.
(2) When the management server 5 receives the temporary completion notification from the vehicle 1, the management server 5 updates the ECU 30 with EI = 1 of the vehicle 1 that is the transmission source of the temporary completion notification (the vehicle 1 with VIN = 1 in the illustrated example). It is determined whether or not the next update program Δi + 1 of the program Δi is necessary.
 (3) 管理サーバ5は、(2)の判定結果が肯定的である場合は、更新プログラムΔiの次に必要となる更新プログラムΔi+1を車両1(ECU30)に送信する。
 (4) 管理サーバ5は、(2)の判定結果が否定的である場合は、更新プログラムΔiが最終である旨の最終通知を車両1(ゲートウェイ10)に送信する。
 (5) 車両1のECU30は、最終通知を受信すると、取得した1又は複数の更新プログラムΔi,Δi+1……を用いて新バージョンの制御プログラムを生成する。
(3) When the determination result of (2) is affirmative, the management server 5 transmits an update program Δi + 1 that is necessary next to the update program Δi to the vehicle 1 (ECU 30).
(4) When the determination result of (2) is negative, the management server 5 transmits a final notification that the update program Δi is final to the vehicle 1 (gateway 10).
(5) Upon receiving the final notification, the ECU 30 of the vehicle 1 generates a new version of the control program using the acquired one or more update programs Δi, Δi + 1.
 図9に示すように、管理サーバ5は、EI=1であるECU30の制御プログラムの更新を促す更新通知を、VIN=1の車両1に送信する(ステップS401)。
 更新通知を受信した車両1のECU30(EI=1のECU30)は、自装置の制御プログラムの現バージョン(=1.0)を含むバージョン通知を管理サーバ5に返信する(ステップS402)。
As illustrated in FIG. 9, the management server 5 transmits an update notification that prompts an update of the control program of the ECU 30 with EI = 1 to the vehicle 1 with VIN = 1 (step S401).
Upon receiving the update notification, the ECU 30 of the vehicle 1 (ECU 30 with EI = 1) returns a version notification including the current version (= 1.0) of the control program of the own device to the management server 5 (step S402).
 バージョン通知を受信した管理サーバ5のCPU51は、制御プログラムのバージョンを1.0から2.0に更新するのに必要な更新プログラムΔ1を、VIN=1の車両1に送信する(ステップS403)。
 更新プログラムΔ1を受信したECU30は、仮完了通知を管理サーバ5に送信する(ステップS404)。
The CPU 51 of the management server 5 that has received the version notification transmits an update program Δ1 necessary for updating the version of the control program from 1.0 to 2.0 to the vehicle 1 with VIN = 1 (step S403).
The ECU 30 that has received the update program Δ1 transmits a provisional completion notification to the management server 5 (step S404).
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、更新プログラムΔ1によりECU30の制御プログラムがバージョン2.0に更新されても、ECU30の制御プログラムは未だ最新ではない。 Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), even if the control program for the ECU 30 is updated to version 2.0 by the update program Δ1, the control program for the ECU 30 is not yet the latest.
 従って、ステップS404の仮完了通知を受信した管理サーバ5は、更新プログラムΔ1の次の更新プログラムΔ2、すなわち、制御プログラムのバージョンを2.0から3.0に更新するのに必要な更新プログラムΔ2を、VIN=1の車両1に送信する(ステップS405)。
 更新プログラムΔ2を受信したECU30は、仮完了通知を管理サーバ5に送信する(ステップS406)。
Therefore, the management server 5 that has received the provisional completion notification in step S404 updates the update program Δ2 next to the update program Δ1, that is, the update program Δ2 required to update the version of the control program from 2.0 to 3.0. Is transmitted to the vehicle 1 with VIN = 1 (step S405).
The ECU 30 that has received the update program Δ2 transmits a provisional completion notification to the management server 5 (step S406).
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、更新プログラムΔ2によりECU30の制御プログラムがバージョン3.0に更新されると、ECU30の制御プログラムは最新となる。
 従って、ステップS406の仮完了通知を受信した管理サーバ5は、更新プログラムΔ2が最終である旨の最終通知を、VIN=1の車両1に送信する(ステップS407)。最終通知には、最終バージョンのバージョン情報(Ver=3.0)が含まれる。
Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), when the control program for the ECU 30 is updated to version 3.0 by the update program Δ2, the control program for the ECU 30 becomes the latest.
Accordingly, the management server 5 that has received the provisional completion notification in step S406 transmits a final notification that the update program Δ2 is final to the vehicle 1 with VIN = 1 (step S407). The final notification includes version information (Ver = 3.0) of the final version.
 次に、ECU30のCPU31は、現ソフトウェアを記憶部33のROMからRAM32にコピーし(ステップS408)、RAM32に展開した現ソフトウェア(Ver=1.0)に2つの更新プログラムΔ1,Δ2を順次適用する(ステップS409)。
 これにより、現バージョン1.0から2世代新しいバージョン3.0のスキッププログラムが生成される。
Next, the CPU 31 of the ECU 30 copies the current software from the ROM of the storage unit 33 to the RAM 32 (step S408), and sequentially applies the two update programs Δ1 and Δ2 to the current software (Ver = 1.0) expanded in the RAM 32. (Step S409).
As a result, a skip program of version 3.0 that is two generations new from the current version 1.0 is generated.
 ECU30のCPU31は、更新プログラムΔ1,Δ2を適用して生成したスキッププログラムが、管理サーバ5から通知された最終バージョン(=3.0)であるか確認した上で、スキッププログラムの書き込みを許可する(ステップS410)。
 スキッププログラムの書き込みが許可されると、ECU30の起動部35(図3参照)は、CPU31の制御モードを通常モードからリプロモードに切り替え、バージョン3.0の制御プログラムを記憶部33のROMに書き込んだあと、そのデータ内容をチェックする(ステップS411)。
The CPU 31 of the ECU 30 confirms whether or not the skip program generated by applying the update programs Δ1 and Δ2 is the final version (= 3.0) notified from the management server 5, and then allows the skip program to be written. (Step S410).
When writing of the skip program is permitted, the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and writes the version 3.0 control program in the ROM of the storage unit 33. After that, the data content is checked (step S411).
 上記のチェックは、例えば、ECU30をいったん再起動し、バージョン3.0の制御プログラムが書き込まれた記憶領域について行われるベリファイ処理よりなる。
 上記のチェックが完了すると、ECU30の起動部35は、CPU31の制御モードを通常モードに切り替えて、CPU31を更新後の新たな制御プログラム(=3.0)によって動作させる。
The above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
When the above check is completed, the starting unit 35 of the ECU 30 switches the control mode of the CPU 31 to the normal mode, and causes the CPU 31 to operate according to the updated control program (= 3.0).
 次に、ECU30のCPU31は、書き込み完了通知を管理サーバ5に送信する(ステップS412)。この書き込み完了通知には、書き込み後の制御プログラムのバージョン情報(この場合は、Ver=3.0)が含まれる。 Next, the CPU 31 of the ECU 30 transmits a write completion notification to the management server 5 (step S412). This writing completion notification includes version information of the control program after writing (in this case, Ver = 3.0).
 〔第5実施形態の更新手順〕
 図10は、本実施形態のプログラム更新システムにおける、第5実施形態に係る制御プログラムの更新手順を示すシーケンス図である。
 第5実施形態の更新手順(図10)が第1実施形態の更新手順(図6)と異なる点は、制御メッセージ及び更新プログラムΔiを管理サーバ5とやり取りする通信主体がECU30自身であり、ゲートウェイ10が単なるリピータとして機能する点にある。
[Update Procedure of Fifth Embodiment]
FIG. 10 is a sequence diagram showing a control program update procedure according to the fifth embodiment in the program update system of the present embodiment.
The update procedure (FIG. 10) of the fifth embodiment is different from the update procedure (FIG. 6) of the first embodiment in that the communication entity that exchanges the control message and the update program Δi with the management server 5 is the ECU 30 itself, and the gateway 10 is that it functions as a mere repeater.
 また、第5実施形態の更新手順(図10)が第4実施形態の更新手順(図9)と異なる点は、仮完了通知を認識できない管理サーバ5が採用され、ECU30が、仮完了通知に代えて通常の書き込み完了通知を管理サーバ5に送信する点にある。
 ECU30は、新バージョンの制御プログラムの書き込みを完了していなくても、管理サーバ5に書き込み完了通知を送信する。
Further, the update procedure (FIG. 10) of the fifth embodiment is different from the update procedure (FIG. 9) of the fourth embodiment in that the management server 5 that cannot recognize the provisional completion notification is adopted, and the ECU 30 receives the provisional completion notification. Instead, a normal write completion notification is transmitted to the management server 5.
The ECU 30 transmits a write completion notification to the management server 5 even if the writing of the new version of the control program has not been completed.
 すなわち、第5実施形態の更新手順(図10)に用いるECU30は、更新プログラムΔi(i=1,2,…)を受信すると、受信した更新プログラムΔiを適用する前に、更新プログラムΔiの書き込みが完了した旨の通知を管理サーバ5に送信する。
 書き込み完了通知には、更新プログラムΔiを適用した場合のバージョン情報(=i+1)が含まれる。従って、通知された制御プログラムのバージョンが最新でない場合には、管理サーバ5は、次の更新プログラムΔi+1を車両1に送信する。
That is, when receiving the update program Δi (i = 1, 2,...), The ECU 30 used for the update procedure (FIG. 10) of the fifth embodiment writes the update program Δi before applying the received update program Δi. Is sent to the management server 5.
The write completion notification includes version information (= i + 1) when the update program Δi is applied. Therefore, when the notified version of the control program is not the latest, the management server 5 transmits the next update program Δi + 1 to the vehicle 1.
 図10に示すように、管理サーバ5は、EI=1であるECU30の制御プログラムの更新を促す更新通知を、VIN=1の車両1に送信する(ステップS501)。
 更新通知を受信した車両1のECU30(EI=1のECU30)は、自装置の制御プログラムの現バージョン(=1.0)を含むバージョン通知を管理サーバ5に返信する(ステップS502)。
As illustrated in FIG. 10, the management server 5 transmits an update notification that prompts an update of the control program of the ECU 30 with EI = 1 to the vehicle 1 with VIN = 1 (step S501).
The ECU 30 of the vehicle 1 that has received the update notification (the ECU 30 with EI = 1) returns a version notification including the current version (= 1.0) of the control program of its own device to the management server 5 (step S502).
 バージョン通知を受信した管理サーバ5のCPU51は、制御プログラムのバージョンを1.0から2.0に更新するのに必要な更新プログラムΔ1を、VIN=1の車両1に送信する(ステップS503)。 The CPU 51 of the management server 5 that has received the version notification transmits the update program Δ1 necessary for updating the version of the control program from 1.0 to 2.0 to the vehicle 1 with VIN = 1 (step S503).
 更新プログラムΔ1を受信したECU30は、書き込み完了通知を管理サーバ5に送信する(ステップS504)。この書き込み完了通知には、更新プログラムΔ1を適用した後の制御プログラムのバージョン(Ver=2.0)が含まれる。
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、更新プログラムΔ1によりECU30の制御プログラムがバージョン2.0に更新されても、ECU30の制御プログラムは未だ最新ではない。
The ECU 30 that has received the update program Δ1 transmits a write completion notification to the management server 5 (step S504). This write completion notification includes the version (Ver = 2.0) of the control program after applying the update program Δ1.
Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), even if the control program for the ECU 30 is updated to version 2.0 by the update program Δ1, the control program for the ECU 30 is not yet the latest.
 従って、ステップS504の書き込み完了通知を受信した管理サーバ5は、更新プログラムΔ1の次の更新プログラムΔ2、すなわち、制御プログラムのバージョンを2.0から3.0に更新するのに必要な更新プログラムΔ2を、VIN=1の車両1に送信する(ステップS505)。
 更新プログラムΔ2を受信したECU30は、書き込み完了通知を管理サーバ5に送信する(ステップS506)。この書き込み完了通知には、更新プログラムΔ2を適用した後の制御プログラムのバージョン(Ver=3.0)が含まれる。
Therefore, the management server 5 that has received the write completion notification in step S504 updates the update program Δ2 next to the update program Δ1, that is, the update program Δ2 required to update the version of the control program from 2.0 to 3.0. Is transmitted to the vehicle 1 with VIN = 1 (step S505).
The ECU 30 that has received the update program Δ2 transmits a write completion notification to the management server 5 (step S506). This write completion notification includes the version of the control program (Ver = 3.0) after applying the update program Δ2.
 EI=1のECU30の最新バージョンは3.0であるから(図4参照)、更新プログラムΔ2によりECU30の制御プログラムがバージョン3.0に更新されると、ECU30の制御プログラムは最新となる。
 従って、ステップS506の仮完了通知を受信した管理サーバ5は、通知されたバージョン(=3.0)が最新である旨の最新通知を、VIN=1の車両1に送信する(ステップS507)。最終通知には、最終バージョンのバージョン情報(Ver=3.0)が含まれる。
Since the latest version of the ECU 30 with EI = 1 is 3.0 (see FIG. 4), when the control program for the ECU 30 is updated to version 3.0 by the update program Δ2, the control program for the ECU 30 becomes the latest.
Therefore, the management server 5 that has received the provisional completion notification in step S506 transmits the latest notification that the notified version (= 3.0) is the latest to the vehicle 1 with VIN = 1 (step S507). The final notification includes version information (Ver = 3.0) of the final version.
 次に、ECU30のCPU31は、現ソフトウェアを記憶部33のROMからRAM32にコピーし(ステップS508)、RAM32に展開した現ソフトウェア(Ver=1.0)に2つの更新プログラムΔ1,Δ2を順次適用する(ステップS509)。
 これにより、現バージョン1.0から2世代新しいバージョン3.0のスキッププログラムが生成される。
Next, the CPU 31 of the ECU 30 copies the current software from the ROM of the storage unit 33 to the RAM 32 (step S508), and sequentially applies the two update programs Δ1 and Δ2 to the current software (Ver = 1.0) expanded in the RAM 32. (Step S509).
As a result, a skip program of version 3.0 that is two generations new from the current version 1.0 is generated.
 ECU30のCPU31は、更新プログラムΔ1,Δ2を適用して生成したスキッププログラムが、管理サーバ5から通知された最終バージョン(=3.0)であるか確認した上で、制御プログラムの書き込みを許可する(ステップS510)。
 スキッププログラムの書き込みが許可されると、ECU30の起動部35(図3参照)は、CPU31の制御モードを通常モードからリプロモードに切り替え、バージョン3.0の制御プログラムを記憶部33のROMに書き込んだあと、そのデータ内容をチェックする(ステップS511)。
The CPU 31 of the ECU 30 confirms whether or not the skip program generated by applying the update programs Δ1 and Δ2 is the final version (= 3.0) notified from the management server 5, and then permits writing of the control program. (Step S510).
When writing of the skip program is permitted, the activation unit 35 (see FIG. 3) of the ECU 30 switches the control mode of the CPU 31 from the normal mode to the repro mode, and writes the version 3.0 control program in the ROM of the storage unit 33. After that, the data content is checked (step S511).
 上記のチェックは、例えば、ECU30をいったん再起動し、バージョン3.0の制御プログラムが書き込まれた記憶領域について行われるベリファイ処理よりなる。
 上記のチェックが完了すると、ECU30の起動部35は、CPU31の制御モードを通常モードに切り替えて、CPU31を更新後の新たな制御プログラム(=3.0)によって動作させる。
The above check includes, for example, a verify process performed on the storage area in which the ECU 30 is once restarted and the version 3.0 control program is written.
When the above check is completed, the starting unit 35 of the ECU 30 switches the control mode of the CPU 31 to the normal mode, and causes the CPU 31 to operate according to the updated control program (= 3.0).
 なお、第5実施形態の更新手順(図10)では、ECU30が、最新バージョン(=3.0)の書き込み完了通知の送信を、更新プログラムΔ1,Δ2からスキッププログラムを生成する前に既に実行している。
 従って、ECU30のCPU31は、ステップS511の処理後の書き込み完了通知を管理サーバ5に送信する必要はない。
In the update procedure (FIG. 10) of the fifth embodiment, the ECU 30 has already transmitted the latest version (= 3.0) write completion notification before generating the skip program from the update programs Δ1 and Δ2. ing.
Therefore, it is not necessary for the CPU 31 of the ECU 30 to transmit the write completion notification after the processing in step S511 to the management server 5.
 〔第1の変形例〕
 上述の各実施形態の更新手順(図6~図10)において、ECU30は、生成したスキッププログラムの書き込みに失敗した場合(ステップS115,ステップS216,ステップS315,ステップ411,ステップ511でのROMチェックにより、書き込みが不成功と判定された場合)に、制御プログラムのバージョンアップを1世代ごとに段階的に行うことにしてもよい。
[First Modification]
In the update procedure (FIGS. 6 to 10) of each of the above-described embodiments, the ECU 30 fails to write the generated skip program (by the ROM check in step S115, step S216, step S315, step 411, and step 511). If the writing is determined to be unsuccessful), the version of the control program may be upgraded step by step for each generation.
 具体的には、更新プログラムΔ1を用いたバージョン1.0からバージョン2.0へのバージョンアップと、更新プログラムΔ2を用いたバージョン2.0から最新バージョン3.0へのバージョンアップとを、順に行うようにすればよい。
 このようにすれば、スキッププログラムの書き込みに失敗しても、ECU30の制御プログラムを確実に最新バージョン3.0に更新することができる。
Specifically, a version upgrade from version 1.0 using update program Δ1 to version 2.0 and a version upgrade from version 2.0 using update program Δ2 to the latest version 3.0 are sequentially performed. You just have to do it.
In this way, even if the writing of the skip program fails, the control program of the ECU 30 can be reliably updated to the latest version 3.0.
 〔第2の変形例〕
 本実施形態のプログラム更新システムにおいて、ゲートウェイ10又はECU30は、上述の各実施形態の更新手順(図6~図10)を無条件に実行するのではなく、複数の更新プログラムΔ1,Δ2のデータサイズ及び伝送時間のうちの少なくとも1つに基づいて、管理サーバ5への仮完了通知などの制御メッセージの送信処理、及び、制御メッセージに応じて管理サーバ5がそれぞれ送信する更新プログラムΔ1,Δ2の受信処理を実行するか否かを判定することにしてもよい。
[Second Modification]
In the program update system of the present embodiment, the gateway 10 or the ECU 30 does not unconditionally execute the update procedures (FIGS. 6 to 10) of the above-described embodiments, but the data sizes of the plurality of update programs Δ1 and Δ2. And transmission processing of a control message such as a provisional completion notification to the management server 5 based on at least one of the transmission time and reception of update programs Δ1 and Δ2 transmitted by the management server 5 in response to the control message, respectively. You may decide whether to perform a process.
 具体的には、ゲートウェイ10又はECU30は、複数の更新プログラムΔ1,Δ2のデータサイズが所定の閾値以上の場合、或いは、その伝送時間が所定の閾値以上の場合に限り、制御メッセージの送信と更新プログラムΔiの受信を繰り返す本実施形態の更新手順を実行し、それ以外の場合には、従来の更新手順(図5)に従い、更新プログラムΔ1,Δ2を用いて制御プログラムを1つずつバージョンアップすればよい。
 このようにすれば、更新時間が比較的大きい場合に本実施形態の更新手順を採用することができ、本実施形態のプログラム更新システムをより柔軟に運用できる。
Specifically, the gateway 10 or the ECU 30 transmits and updates the control message only when the data size of the plurality of update programs Δ1, Δ2 is equal to or larger than a predetermined threshold or when the transmission time is equal to or larger than the predetermined threshold. The update procedure of the present embodiment in which the reception of the program Δi is repeated is executed. In other cases, the control program is upgraded one by one using the update programs Δ1 and Δ2 according to the conventional update procedure (FIG. 5). That's fine.
In this way, when the update time is relatively long, the update procedure of this embodiment can be adopted, and the program update system of this embodiment can be operated more flexibly.
 〔第3の変形例〕
 上述の各実施形態の更新手順(図6~図10)において、ゲートウェイ10又はECU30は、3つ以上の更新プログラムΔ1,Δ2,Δ3……を管理サーバ5から受信し、受信した更新プログラムΔ1,Δ2,Δ3……からスキッププログラムを生成してもよい。
 この場合、ECU30は、3つ以上の更新プログラムΔ1,Δ2,Δ3……からスキッププログラムを生成し、生成したスキッププログラムの書き込み及びROMチェックを行うことにより、制御プログラムのバージョンを一気に最新バージョンまで繰り上げる。
[Third Modification]
In the update procedure (FIGS. 6 to 10) of the above-described embodiments, the gateway 10 or the ECU 30 receives three or more update programs Δ1, Δ2, Δ3... From the management server 5, and receives the received update programs Δ1, A skip program may be generated from Δ2, Δ3.
In this case, the ECU 30 generates a skip program from three or more update programs Δ1, Δ2, Δ3..., And writes the generated skip program and performs a ROM check, thereby rapidly raising the version of the control program to the latest version. .
 もっとも、上記のスキッププログラムは、必ずしも最新バージョンの制御プログラムでなくてもよい。例えば、最新バージョンのスキッププログラムを生成するには4つの更新プログラムΔ1~Δ4が必要である場合において、通信状況の悪化のために3つの更新プログラムΔ1~Δ3しか受信できなかった場合が想定される。
 この場合、ゲートウェイ10は、受信できた3つの更新プログラムΔ1~Δ3をECU30に転送することにしてもよい。
However, the skip program is not necessarily the latest version of the control program. For example, when four update programs Δ1 to Δ4 are necessary to generate the latest version of the skip program, it is assumed that only three update programs Δ1 to Δ3 could be received due to deterioration of the communication situation. .
In this case, the gateway 10 may transfer the three update programs Δ1 to Δ3 that can be received to the ECU 30.
 このようにすれば、ECU30は、ゲートウェイ10から転送された3つの更新プログラムΔ1~Δ3を用いて、最新バージョンの1世代前のバージョンのスキッププログラムを生成し、生成したスキッププログラムの書き込み及びROMチェックを行うことにより、制御プログラムのバージョンを最新バージョンの1世代前まで繰り上げる。 In this way, the ECU 30 uses the three update programs Δ1 to Δ3 transferred from the gateway 10 to generate a skip program of a version one generation before the latest version, and writes the generated skip program and ROM check As a result, the version of the control program is moved up to one generation before the latest version.
 その後、ゲートウェイ10は、4つ目の更新プログラムΔ4を受信できれば、そのプログラムΔ4をECU30に転送すればよい。
 この場合、ECU30は、ゲートウェイ10から転送された4つ目の更新プログラムΔ4を用いて、最新バージョンの制御プログラムを生成し、生成した制御プログラムの書き込み及びROMチェックを行うことにより、制御プログラムのバージョンを最新バージョンまで繰り上げる。
Thereafter, if the gateway 10 can receive the fourth update program Δ4, it may transfer the program Δ4 to the ECU 30.
In this case, the ECU 30 uses the fourth update program Δ4 transferred from the gateway 10 to generate the latest version of the control program, writes the generated control program, and checks the ROM, thereby controlling the version of the control program. To the latest version.
 〔第4の変形例〕
 上述の第1~第3実施形態の更新手順(図6~図8)において、複数の更新プログラムΔi(i=1,2,……)を用いたスキッププログラムの生成処理(図6のステップS112~S113、図7のステップS211~S212、図8のステップS312~S313)を、ゲートウェイ10が実行することにしてもよい。
[Fourth Modification]
In the update procedure (FIGS. 6 to 8) of the first to third embodiments described above, a skip program generation process using a plurality of update programs Δi (i = 1, 2,...) (Step S112 in FIG. 6). To S113, steps S211 to S212 in FIG. 7, and steps S312 to S313 in FIG. 8 may be executed by the gateway 10.
 すなわち、ゲートウェイ10は、管理サーバ5から受信した複数の更新プログラムΔiを用いてスキッププログラムを生成し、生成したスキッププログラムをECU30に転送することにしてもよい。
 この場合、ECU30は、スキッププログラムの生成処理を自身では実行しないので、ゲートウェイ10から転送されたスキッププログラムを自装置の記憶部33に書き込むことになる。
That is, the gateway 10 may generate a skip program using a plurality of update programs Δi received from the management server 5 and transfer the generated skip program to the ECU 30.
In this case, since the ECU 30 does not execute the skip program generation process by itself, the ECU 30 writes the skip program transferred from the gateway 10 in the storage unit 33 of its own device.
 〔その他の変形例〕
 今回開示した実施形態はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態に限定されるものではなく、特許請求の範囲に記載された構成と均等の範囲内でのすべての変更が含まれる。
 例えば、上述の実施形態(変形例を含む。)におけるゲートウェイ10の処理を無線通信機15が実行することにしてもよい。すなわち、本実施形態の「中継装置」は、図示のゲートウェイ10及び無線通信機15のいずれであってもよい。
[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.
For example, the wireless communication device 15 may execute the processing of the gateway 10 in the above-described embodiment (including modifications). That is, the “relay device” of the present embodiment may be either the gateway 10 or the wireless communication device 15 shown in the figure.
  1 車両
  2 広域通信網
  5 管理サーバ
 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 通信部
 RT 更新管理テーブル
 
1 Vehicle 2 Wide Area Communication Network 5 Management Server 10 Gateway (Relay Device)
11 CPU
12 RAM
13 Storage Unit 14 In-Vehicle Communication Unit 15 Wireless Communication Device (Relay Device)
30 ECU (control device)
31 CPU
32 RAM
33 Storage Unit 34 Communication Unit 35 Start-up Unit 51 CPU
52 ROM
53 RAM
54 storage unit 55 communication unit RT update management table

Claims (15)

  1.  車両に搭載された制御装置と、前記制御装置と車内通信可能に接続された中継装置と、前記中継装置と無線通信する管理サーバと、を含むプログラム更新システムであって、
     前記中継装置又は前記制御装置は、
     前記制御装置の制御プログラムを2世代以上新しい新バージョンに更新するのに必要な複数の更新プログラムを取得するまで、下記に定義する送信処理と受信処理を繰り返す送受信処理を実行するプログラム更新システム。
     送信処理:制御装置の制御プログラムを1世代ずつバージョンアップするための更新プログラムを要求する制御メッセージを、管理サーバに送信する処理
     受信処理:制御メッセージに応じて管理サーバが送信した更新プログラムを、管理サーバから受信する処理
    A program update system comprising: a control device mounted on a vehicle; a relay device connected to the control device so as to enable in-vehicle communication; and a management server wirelessly communicating with the relay device,
    The relay device or the control device is
    A program update system that executes transmission / reception processing that repeats transmission processing and reception processing defined below until a plurality of update programs necessary for updating a control program of the control device to a new version that is two generations or more is acquired.
    Transmission process: Process for transmitting a control message requesting an update program for upgrading the control program of the control device one generation at a time to the management server Reception process: Managing an update program transmitted by the management server in response to the control message Processing received from the server
  2.  前記制御装置は、揮発性メモリ、及び前記制御プログラムを記憶する書き換え可能な不揮発性メモリを有する記憶部を備え、
     前記制御装置は、複数の前記更新プログラムを取得した場合に、前記不揮発性メモリから前記揮発性メモリに前記制御プログラムを読み出し、前記揮発性メモリ上で複数の前記更新プログラムを前記制御プログラムに順次適用して、前記制御プログラムを前記新バージョンに更新し、更新した前記新バージョンの前記制御プログラムを前記不揮発性メモリに書き込む請求項1に記載のプログラム更新システム。
    The control device includes a volatile memory, and a storage unit having a rewritable nonvolatile memory that stores the control program,
    When the control device acquires a plurality of the update programs, the control device reads the control program from the nonvolatile memory to the volatile memory, and sequentially applies the plurality of update programs to the control program on the volatile memory. The program update system according to claim 1, wherein the control program is updated to the new version, and the updated new version of the control program is written to the nonvolatile memory.
  3.  前記制御装置は、複数の前記更新プログラムが取得されるまでは前記制御プログラムの更新を行わず、複数の前記更新プログラムが取得されてから前記制御プログラムの更新を行う請求項2に記載のプログラム更新システム。 The program update according to claim 2, wherein the control device does not update the control program until a plurality of the update programs are acquired, and updates the control program after the plurality of the update programs are acquired. system.
  4.  前記制御装置は、複数の前記更新プログラムが取得されてから、更新した前記制御プログラムを前記不揮発性メモリに書き込むと、書き込み完了通知を送信する請求項2又は請求項3に記載のプログラム更新システム。 4. The program update system according to claim 2, wherein the control device transmits a write completion notification when the updated control program is written in the nonvolatile memory after a plurality of the update programs are acquired.
  5.  前記中継装置又は前記制御装置は、
     取得した複数の前記更新プログラムを自装置の揮発性メモリに複数回適用して、2世代以上新しい新バージョンの前記制御プログラムであるスキッププログラムの生成処理を実行し、
     前記制御装置は、生成された前記スキッププログラムを自装置の不揮発性メモリに書き込む書き込み処理を実行する請求項1に記載のプログラム更新システム。
    The relay device or the control device is
    Applying the acquired plurality of update programs to the volatile memory of its own device a plurality of times, and executing a generation process of a skip program that is a new version of the control program of two or more generations,
    The program update system according to claim 1, wherein the control device executes a writing process for writing the generated skip program in a nonvolatile memory of the control device.
  6.  前記送受信処理の実行主体が前記中継装置である場合に、
     前記中継装置は、
     取得した複数の前記更新プログラムを前記制御装置に転送し、
     前記制御装置は、
     転送された複数の前記更新プログラムを用いて、自装置の現バージョンより2世代以上新しいバージョンの前記制御プログラムであるスキッププログラムを生成し、生成した前記スキッププログラムを自装置の記憶部に書き込む請求項1又は請求項5に記載のプログラム更新システム。
    When the execution subject of the transmission / reception processing is the relay device,
    The relay device is
    Transferring the obtained plurality of update programs to the control device;
    The control device includes:
    A skip program that is a version of the control program that is two or more generations newer than the current version of the own device is generated using the plurality of transferred update programs, and the generated skip program is written in a storage unit of the own device. The program update system according to claim 1 or 5.
  7.  前記送受信処理の実行主体が前記中継装置である場合に、
     前記中継装置は、
     取得した複数の前記更新プログラムを用いて、前記制御装置の現バージョンより2世代以上新しいバージョンの前記制御プログラムであるスキッププログラムを生成し、生成した前記スキッププログラムを前記制御装置に転送し、
     前記制御装置は、
     転送された前記スキッププログラムを自装置の記憶部に書き込む請求項1又は請求項5に記載のプログラム更新システム。
    When the execution subject of the transmission / reception processing is the relay device,
    The relay device is
    Using the obtained plurality of update programs, generate a skip program that is a version of the control program that is two or more generations newer than the current version of the control device, and transfer the generated skip program to the control device,
    The control device includes:
    6. The program update system according to claim 1, wherein the transferred skip program is written in a storage unit of the device itself.
  8.  前記送受信処理の実行主体が前記制御装置である場合に、
     前記制御装置は、
     取得した複数の前記更新プログラムを用いて、自装置の現バージョンより2世代以上新しいバージョンの前記制御プログラムであるスキッププログラムを生成し、生成した前記スキッププログラムを自装置の記憶部に書き込む請求項1又は請求項5に記載のプログラム更新システム。
    When the execution subject of the transmission / reception processing is the control device,
    The control device includes:
    2. A skip program that is a version of the control program that is two or more generations newer than the current version of the own device is generated using the plurality of acquired update programs, and the generated skip program is written in a storage unit of the own device. Or the program update system of Claim 5.
  9.  前記制御装置は、
     前記スキッププログラムの書き込みに失敗した場合に、
     前記更新プログラムから次世代の前記制御プログラムを生成する処理と、生成した前記制御プログラムの自装置の記憶部への書き込みとを、1世代ごとに段階的に行う請求項5から請求項8のいずれか1項に記載のプログラム更新システム。
    The control device includes:
    When writing the skip program fails,
    The process of generating the next-generation control program from the update program and writing the generated control program to the storage unit of the own device is performed step by step for each generation. The program update system according to claim 1.
  10.  前記制御メッセージには、
     前記更新プログラムの受信に応じて、更に次の前記更新プログラムの送信を前記管理サーバに要求する仮完了通知が含まれる請求項1から請求項9のいずれか1項に記載のプログラム更新システム。
    The control message includes
    10. The program update system according to claim 1, further comprising a provisional completion notification requesting the management server to transmit the next update program in response to reception of the update program. 11.
  11.  前記制御メッセージには、
     前記更新プログラムから生成した次世代の前記制御プログラムの書き込みの完了を、前記管理サーバに通知する書き込み完了通知が含まれる請求項1から請求項9のいずれか1項に記載のプログラム更新システム。
    The control message includes
    10. The program update system according to claim 1, further comprising: a write completion notification for notifying the management server of completion of writing of the next generation control program generated from the update program. 11.
  12.  前記中継装置又は前記制御装置は、
     複数の前記更新プログラムのデータサイズ及び伝送時間のうちの少なくとも1つに基づいて、前記送受信処理を実行するか否かを判定する請求項1から請求項11のいずれか1項に記載のプログラム更新システム。
    The relay device or the control device is
    The program update according to any one of claims 1 to 11, wherein it is determined whether or not to execute the transmission / reception processing based on at least one of a data size and a transmission time of the plurality of update programs. system.
  13.  車両に搭載された制御装置であって、
     揮発性メモリと、
     制御プログラムを記憶する書き換え可能な不揮発性メモリを有する記憶部と、
     前記制御プログラムに従って前記車両内の制御対象を制御する制御部と、
     前記制御プログラムの更新プログラムを取得する取得部と、を備えおり、
     前記制御部は、前記取得部が複数の前記更新プログラムを取得した場合に、前記不揮発性メモリから前記揮発性メモリに前記制御プログラムを読み出し、前記揮発性メモリ上で複数の前記更新プログラムを前記制御プログラムに順次適用して、前記制御プログラムを2世代以上新しい新バージョンに更新し、更新した前記新バージョンの前記制御プログラムを前記不揮発性メモリに書き込む制御装置。
    A control device mounted on a vehicle,
    Volatile memory,
    A storage unit having a rewritable nonvolatile memory for storing a control program;
    A control unit for controlling a control target in the vehicle according to the control program;
    An acquisition unit for acquiring an update program of the control program,
    The control unit reads the control program from the nonvolatile memory to the volatile memory when the acquisition unit acquires the plurality of update programs, and controls the plurality of update programs on the volatile memory. A control apparatus that sequentially applies to a program, updates the control program to a new version of two or more generations, and writes the updated new version of the control program to the nonvolatile memory.
  14.  車両に搭載された制御装置と、前記制御装置と車内通信可能に接続された中継装置と、前記中継装置と無線通信する管理サーバと、を含む通信システムにおいて実行されるプログラム更新方法であって、
     前記中継装置又は前記制御装置が、前記制御装置の制御プログラムを2世代以上新しい新バージョンに更新するのに必要な複数の更新プログラムを取得するまで、下記に定義する送信処理と受信処理を繰り返すステップを含むプログラム更新方法。
     送信処理:制御装置の制御プログラムを1世代ずつバージョンアップするための更新プログラムを要求する制御メッセージを、管理サーバに送信する処理
     受信処理:制御メッセージに応じて管理サーバが送信した更新プログラムを、管理サーバから受信する処理
    A program update method executed in a communication system including a control device mounted on a vehicle, a relay device connected to the control device so as to enable in-vehicle communication, and a management server wirelessly communicating with the relay device,
    The relay device or the control device repeats the transmission processing and the reception processing defined below until a plurality of update programs necessary for updating the control program of the control device to a new new version for two generations or more are acquired. Program update method including:
    Transmission process: Process for transmitting a control message requesting an update program for upgrading the control program of the control device one generation at a time to the management server Reception process: Managing an update program transmitted by the management server in response to the control message Processing received from the server
  15.  車両に搭載された制御装置と、前記制御装置と車内通信可能に接続された中継装置と、前記中継装置と無線通信する管理サーバと、を含む通信システムの前記中継装置又は前記制御装置として、コンピュータを機能させるためのコンピュータプログラムであって、
     前記コンピュータに、
     前記制御装置の制御プログラムを2世代以上新しい新バージョンに更新するのに必要な複数の更新プログラムを取得するまで、下記に定義する送信処理と受信処理を繰り返すステップを実行させるためのコンピュータプログラム。
     送信処理:制御装置の制御プログラムを1世代ずつバージョンアップするための更新プログラムを要求する制御メッセージを、管理サーバに送信する処理
     受信処理:制御メッセージに応じて管理サーバが送信した更新プログラムを、管理サーバから受信する処理
     
    A computer as the relay device or the control device of a communication system including a control device mounted on a vehicle, a relay device connected to the control device so as to enable in-vehicle communication, and a management server that communicates wirelessly with the relay device A computer program for functioning,
    In the computer,
    A computer program for executing a step of repeating a transmission process and a reception process defined below until a plurality of update programs necessary for updating the control program of the control device to a new new version for two generations or more is acquired.
    Transmission process: Process for transmitting a control message requesting an update program for upgrading the control program of the control device one generation at a time to the management server Reception process: Managing an update program transmitted by the management server in response to the control message Processing received from the server
PCT/JP2017/045982 2017-02-23 2017-12-21 Program updating system, control device, program updating method and computer program WO2018154949A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-031758 2017-02-23
JP2017031758A JP2018136816A (en) 2017-02-23 2017-02-23 Program updating system, control apparatus, program updating method, and computer program

Publications (1)

Publication Number Publication Date
WO2018154949A1 true WO2018154949A1 (en) 2018-08-30

Family

ID=63253777

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/045982 WO2018154949A1 (en) 2017-02-23 2017-12-21 Program updating system, control device, program updating method and computer program

Country Status (2)

Country Link
JP (1) JP2018136816A (en)
WO (1) WO2018154949A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020062936A (en) * 2018-10-16 2020-04-23 株式会社オートネットワーク技術研究所 On-vehicle update device, update processing program, and program update method
CN112733132A (en) * 2021-01-05 2021-04-30 潍柴动力股份有限公司 Method and system for upgrading ECU (electronic control Unit) data
CN112783521A (en) * 2019-11-08 2021-05-11 丰田自动车株式会社 Program update system and vehicle management server
CN115208868A (en) * 2021-04-06 2022-10-18 丰田自动车株式会社 Center, distribution control method, and non-transitory storage medium
CN115885256A (en) * 2020-10-16 2023-03-31 Lg电子株式会社 Software update gateway and method for updating software of IOT devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011044039A (en) * 2009-08-21 2011-03-03 Hitachi Solutions Ltd Update data generation device, information device, and program
JP2013054426A (en) * 2011-09-01 2013-03-21 Nidec Sankyo Corp Peripheral device, control method of peripheral device, and firmware download system
JP2013125517A (en) * 2011-12-16 2013-06-24 Clarion Co Ltd On-vehicle device, update system, and server
JP2016170740A (en) * 2015-03-16 2016-09-23 日立オートモティブシステムズ株式会社 Software updating device and software updating method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011044039A (en) * 2009-08-21 2011-03-03 Hitachi Solutions Ltd Update data generation device, information device, and program
JP2013054426A (en) * 2011-09-01 2013-03-21 Nidec Sankyo Corp Peripheral device, control method of peripheral device, and firmware download system
JP2013125517A (en) * 2011-12-16 2013-06-24 Clarion Co Ltd On-vehicle device, update system, and server
JP2016170740A (en) * 2015-03-16 2016-09-23 日立オートモティブシステムズ株式会社 Software updating device and software updating method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HASHIZUME, TOSHIO: "What does it mean that computer does not work?", NIKKEI SOFTWARE, vol. 12, no. 1, 24 December 2008 (2008-12-24), pages 22 - 33, ISSN: 1347-4685 *
SATO, MICHITOSHI, INSTALLATION AND UNTILIZATION OF MAIL AND SERVER [PART 2, vol. 9, no. 7, 1 July 1999 (1999-07-01), pages 072 - 077, ISSN: 0918-5453 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020062936A (en) * 2018-10-16 2020-04-23 株式会社オートネットワーク技術研究所 On-vehicle update device, update processing program, and program update method
WO2020080273A1 (en) * 2018-10-16 2020-04-23 株式会社オートネットワーク技術研究所 In-vehicle update device, update processing program, and program update method
CN113631429A (en) * 2018-10-16 2021-11-09 株式会社自动网络技术研究所 Vehicle-mounted updating device, update processing program, and program updating method
JP7124627B2 (en) 2018-10-16 2022-08-24 株式会社オートネットワーク技術研究所 In-vehicle update device, update processing program, and program update method
US11967188B2 (en) 2018-10-16 2024-04-23 Autonetworks Technologies, Ltd. Vehicle mounted update apparatus, update processing program, and program update method
CN112783521A (en) * 2019-11-08 2021-05-11 丰田自动车株式会社 Program update system and vehicle management server
CN115885256A (en) * 2020-10-16 2023-03-31 Lg电子株式会社 Software update gateway and method for updating software of IOT devices
CN112733132A (en) * 2021-01-05 2021-04-30 潍柴动力股份有限公司 Method and system for upgrading ECU (electronic control Unit) data
CN115208868A (en) * 2021-04-06 2022-10-18 丰田自动车株式会社 Center, distribution control method, and non-transitory storage medium

Also Published As

Publication number Publication date
JP2018136816A (en) 2018-08-30

Similar Documents

Publication Publication Date Title
WO2018154949A1 (en) Program updating system, control device, program updating method and computer program
JP6376312B1 (en) Control device, program update method, and computer program
WO2017149823A1 (en) Program update system, program update method, and computer program
JP6323480B2 (en) Program update system, program update method, and computer program
JP6380461B2 (en) Relay device, program update system, and program update method
CN110214308B (en) Control device, program update method, and computer program
WO2017149825A1 (en) Program update system, program update method, and computer program
JP6562134B2 (en) Relay device, program update system, and program update method
JP2017157003A5 (en)
CN111034132B (en) Control apparatus, control method, and computer program
JP7207301B2 (en) Update controller, control method and computer program
JP6620891B2 (en) Relay device, relay method, and computer program
JPWO2018185994A1 (en) Control device, transfer method, and computer program
JP6562133B2 (en) Relay device, program update system, and program update method
JP6547904B2 (en) CONTROL DEVICE, PROGRAM UPDATE METHOD, AND COMPUTER PROGRAM
JP7439720B2 (en) Server, method and program for distributing update data
JP2019074847A (en) Electronic control unit
JP6631676B2 (en) In-vehicle update device, update system and update processing program
JP7211189B2 (en) Update processing system and update processing method
JP6904067B2 (en) Software management system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17897604

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17897604

Country of ref document: EP

Kind code of ref document: A1