WO2020195034A1 - 車載更新装置、更新処理システム、更新処理方法及び処理プログラム - Google Patents

車載更新装置、更新処理システム、更新処理方法及び処理プログラム Download PDF

Info

Publication number
WO2020195034A1
WO2020195034A1 PCT/JP2020/001290 JP2020001290W WO2020195034A1 WO 2020195034 A1 WO2020195034 A1 WO 2020195034A1 JP 2020001290 W JP2020001290 W JP 2020001290W WO 2020195034 A1 WO2020195034 A1 WO 2020195034A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing circuit
update
data
vehicle
program
Prior art date
Application number
PCT/JP2020/001290
Other languages
English (en)
French (fr)
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 WO2020195034A1 publication Critical patent/WO2020195034A1/ja

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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the present disclosure relates to an in-vehicle update device, an update processing system, an update processing method, and a processing program.
  • This application claims the priority based on Japanese Application No. 2019-055191 filed on March 22, 2019, and incorporates all the contents described in the Japanese application.
  • the vehicle is equipped with in-vehicle devices such as multiple ECUs (Electronic Control Units).
  • a plurality of ECUs are connected via a communication line such as a CAN (Controller Area Network) bus, and can transmit and receive information to and from each other.
  • Each ECU reads and executes a program stored in a storage unit such as a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory) by a processing circuit such as a CPU (Central Processing Unit), thereby controlling a vehicle and the like. Is processed.
  • the ECU program needs to be rewritten or updated with a new program when, for example, it becomes necessary to add a function, correct a defect, or upgrade the version.
  • the in-vehicle update device that executes the process for updating the program of each ECU transmits the command data for instructing the process related to the update, the update program, etc. to the ECU via the communication line, thereby programming the ECU. To update.
  • JP-A-2018-45515 Japanese Unexamined Patent Publication No. 2015-41334 JP-A-2007-2000400
  • the in-vehicle update device includes a communication unit that communicates with an in-vehicle device having a storage unit that stores a program rewritably, and the program that the storage unit stores in an update program for updating the program.
  • the first processing circuit includes a first processing circuit that executes the update process of the above and a second processing circuit that executes a process of creating data that is not created by the processing of the first processing circuit, and the first processing circuit updates the program.
  • a process of adding the data created by the second processing circuit to the command data for instructing the in-vehicle device to perform such processing and transmitting the data from the communication unit to the in-vehicle device is executed.
  • the update processing method includes a communication unit that communicates with an in-vehicle device having a storage unit that stores a program rewritably, and the program that the storage unit stores in an update program for updating the program.
  • This is an update processing method for updating the program using an in-vehicle update device including a first processing circuit for executing the update processing and a second processing circuit, and data that is not created by the processing of the first processing circuit.
  • the data created by the second processing circuit is added to the command data for instructing the in-vehicle device to perform the process related to the update of the program and the step of making the second processing circuit create, and the communication unit adds the data created by the second processing circuit to the in-vehicle device. It includes a step of transmitting to the device.
  • the processing program includes a communication unit that communicates with an in-vehicle device having a storage unit that stores the program in a rewritable manner, and an update program for updating the program, which is stored in the storage unit.
  • Data not created by the processing of the first processing circuit is created in the second processing circuit in the first processing circuit of the vehicle-mounted update device including the first processing circuit for executing the update processing and the second processing circuit.
  • the step of adding the data created by the second processing circuit to the command data for instructing the in-vehicle device to process the update of the program, and the step of transmitting the data from the communication unit to the in-vehicle device are executed. Let me.
  • the present application can be realized not only as an update processing device provided with such a characteristic processing unit, but also as an update processing method in which the characteristic processing is a step, as described above, or such a step.
  • it can be realized as a semiconductor integrated circuit that realizes a part or all of the update processing device, or can be realized as another system including the update processing device.
  • FIG. 1 is a schematic diagram showing a configuration of an update processing system according to the present embodiment.
  • FIG. 2 is a block diagram showing a configuration of an update processing system and a gateway according to the present embodiment.
  • FIG. 3 is a schematic view showing the configuration of the ECU.
  • FIG. 4 is a flowchart showing the procedure of the program update process.
  • FIG. 5 is a flowchart showing a procedure of processing related to activation.
  • FIG. 6 is a flowchart showing a procedure of processing related to activation.
  • FIG. 7 is an explanatory diagram showing a method of creating and transmitting a restart command.
  • An object of the present disclosure is an in-vehicle update device, an update processing system, and an update capable of preventing a command data related to a program update process stored in the in-vehicle device from being erroneously transmitted to the in-vehicle device and causing the vehicle to perform an unexpected operation.
  • the purpose is to provide a processing method and a processing program.
  • a vehicle-mounted update device an update processing system, and an update that can prevent the vehicle from performing unexpected operations due to erroneous transmission of command data related to program update processing stored in the vehicle-mounted device to the vehicle-mounted device.
  • a processing method and a processing program can be provided.
  • the in-vehicle update device is a communication unit that communicates with an in-vehicle device having a storage unit that stores a program rewritably, and the storage unit stores the update program for updating the program.
  • the first processing circuit includes a first processing circuit that executes an update process of the program, and a second processing circuit that executes a process of creating data that is not created by the processing of the first processing circuit.
  • the first processing circuit is the program.
  • a process of adding the data created by the second processing circuit to the command data for instructing the in-vehicle device to perform the process related to the update of the above and transmitting the data from the communication unit to the in-vehicle device is executed.
  • the first processing circuit transmits command data to which the data created by the second processing circuit is added to the in-vehicle device.
  • the in-vehicle device executes the process related to the program update according to the command data. Therefore, even if the command data is transmitted to the in-vehicle device due to a malfunction of the first processing circuit, the in-vehicle device will not operate unless the data created by the second processing circuit is added to the command data. Further, even when the second processing circuit creates the above data due to a malfunction, the command data is not transmitted to the in-vehicle device if the first processing circuit is operating normally. Therefore, it is possible to prevent the vehicle from performing an unexpected operation by transmitting command data related to the update process to the in-vehicle device due to a malfunction.
  • the first processing circuit creates random number data, gives the created random number data to the second processing circuit, and the second processing circuit is based on the random number data created by the first processing circuit.
  • the data is created, the created data is given to the first processing circuit, and the first processing circuit adds the random number data and the data to the command data and causes the communication unit to transmit the data to the in-vehicle device.
  • Such a configuration is preferable.
  • the second processing circuit creates the above data to be added to the command data based on the random number data created by the first processing circuit.
  • the first processing circuit adds the random number data created by itself and the data generated by the second processing circuit based on the random number data to the command data.
  • the first processing circuit transmits random number data and command data to which the data is added from the communication unit to the in-vehicle device.
  • the in-vehicle device confirms whether or not both the first processing circuit and the second processing circuit are operating and transmitted command data. Can be done.
  • the in-vehicle device can confirm whether or not the above data is command data normally created and transmitted by confirming whether or not there is a contradiction as if it was created by the second processing circuit from the random number data. it can. Therefore, it is possible to more effectively prevent the vehicle from performing an unexpected operation by transmitting command data related to the update process to the in-vehicle device due to a malfunction.
  • the data created by the second processing circuit is preferably an error detection data or a hash value created based on the random number data.
  • the second processing circuit creates error detection data or hash value based on the random number data created by the first processing circuit.
  • the first processing circuit adds the random number data created by itself and the error detection data or hash value created based on the random number data to the command data and transmits the command data to the in-vehicle device.
  • the in-vehicle device can confirm whether or not the command data is created and transmitted in normal operation by determining whether or not the random number data added to the command data and the above data are consistent. it can. Therefore, command data related to the update process is transmitted to the in-vehicle device due to a malfunction, and it is possible to more effectively prevent the vehicle from performing an unexpected operation.
  • the first processing circuit When communicating with the plurality of vehicle-mounted devices, the first processing circuit adds the data created based on the random number data different for each vehicle-mounted device to the command data, and the plurality of vehicle-mounted devices. A configuration in which transmission is performed to each device is preferable.
  • the first processing circuit when updating a program for each of a plurality of vehicle-mounted devices, transmits command data to which different data is added to each vehicle-mounted device. Therefore, it is possible to prevent a situation in which a plurality of in-vehicle devices perform unexpected operations at the same time.
  • the update processing system includes an in-vehicle update device according to any one of aspects (1) to (4) and the in-vehicle device having the storage unit in which the program is rewritably stored.
  • the vehicle-mounted update device executes the update process of the program of the vehicle-mounted device.
  • the mode (1) it is possible to prevent the vehicle from performing an unexpected operation by transmitting command data related to the update process to the in-vehicle device due to a malfunction.
  • the update processing system includes an in-vehicle update device according to any one of aspects (2) to (4) and the in-vehicle device having the storage unit that stores the program in a rewritable manner.
  • the in-vehicle device executes the processing related to the update according to the command data.
  • the mode (2) it is possible to prevent the command data related to the update process from being transmitted to the in-vehicle device due to a malfunction.
  • the in-vehicle device can confirm whether or not the command data is created and transmitted in the normal operation of the first processing circuit and the second processing circuit. Therefore, it is possible to more effectively prevent the vehicle from performing an unexpected operation by transmitting command data related to the update process to the in-vehicle device due to a malfunction.
  • the storage unit stores a communication unit that communicates with an in-vehicle device having a storage unit that stores the program rewritably, and an update program for updating the program.
  • An update processing method for updating the program using an in-vehicle update device including a first processing circuit for executing the update processing of the program and a second processing circuit, which is created by the processing of the first processing circuit.
  • the communication unit adds the data created by the second processing circuit to the step of causing the second processing circuit to create the data that is not performed and the command data for instructing the in-vehicle device to perform the processing related to the update of the program. To the in-vehicle device.
  • the mode (1) it is possible to prevent the vehicle from performing an unexpected operation by transmitting command data related to the update process to the in-vehicle device due to a malfunction.
  • the processing program according to the present disclosure is stored in a communication unit that communicates with an in-vehicle device having a storage unit that stores the program rewritably, and an update program for updating the program.
  • the second processing of data not created by the processing of the first processing circuit in the first processing circuit of the vehicle-mounted update device including the first processing circuit for executing the update processing of the program and the second processing circuit.
  • the mode (1) it is possible to prevent the vehicle from performing an unexpected operation by transmitting command data related to the update process to the in-vehicle device due to a malfunction.
  • FIG. 1 is a schematic diagram showing the configuration of the update processing system 100 according to the present embodiment
  • FIG. 2 is a block diagram showing the configuration of the update processing system 100 and the gateway (vehicle-mounted update device) 1 according to the present embodiment.
  • the update processing system 100 according to the present embodiment includes a plurality of ECUs 2 mounted on the vehicle C, a wireless communication device 3, and a gateway 1.
  • Each ECU 2 is connected to the communication line 1a or 1b, and can perform communication via the connected communication line 1a or 1b.
  • the gateway 1 relays the communication between the communication lines 1a and 1b, whereby the plurality of ECUs 2 can communicate with each other via the communication lines 1a and 1b and the gateway 1.
  • the ECU 2 is, for example, an in-vehicle control device that controls the operation of the engine of the vehicle C, an in-vehicle control device that controls the locking / unlocking of the door, an in-vehicle control device that performs user authentication processing, and the like.
  • the wireless communication device 3 is connected to the gateway 1 via the communication line 1c.
  • the gateway 1 can communicate with the server device 9 installed outside the vehicle C via the wireless communication device 3.
  • the wireless communication device 3 can communicate with the server device 9 installed outside the vehicle C by performing wireless communication such as a mobile phone communication network or a wireless LAN (Local Area Network).
  • the wireless communication device 3 can relay the communication between the gateway 1 and the server device 9, transmits the data given from the gateway 1 to the server device 9, and transmits the data received from the server device 9 to the gateway 1. give.
  • the server device 9 manages and stores the program 22a (see FIG. 3) executed by the ECU 2 mounted on the vehicle C. In response to an inquiry from the vehicle C, the server device 9 notifies whether or not the program 22a and the like stored in each ECU 2 need to be updated, and if the update is necessary, the update program 22a Is delivered to the vehicle C.
  • the gateway 1 communicates with the server device 9 and acquires an update program for updating the program 22a described later stored in the ECU 2.
  • the gateway 1 transmits the acquired update program to the ECU 2 and updates the program 22a of the ECU 2 by performing various command data related to the update process.
  • the gateway 1 periodically communicates with the server device 9 via the wireless communication device 3 to confirm whether or not the program 22a stored in the ECU 2 is updated.
  • the gateway 1 acquires the update program from the server device 9 and stores it in its own storage unit 13.
  • the gateway 1 performs the update process of the ECU 2 by transmitting the update program to the ECU 2 to be updated via the communication lines 1a and 1b.
  • the ECU 2 receives the update program transmitted from the gateway 1 and stores it in its own storage unit 22, and after receiving all the update programs, changes the program 22a executed by itself to the update program. ,
  • the program 22a is updated.
  • the gateway 1 includes a first processing circuit (first processor) 11, a second processing circuit (second processor) 12, a storage unit (storage) 13, and first to third processing units.
  • a communication unit (transceiver) 14a, 14b, 14c and the like are provided.
  • the first processing circuit 11 includes, for example, an arithmetic processing unit such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit).
  • the first processing circuit 11 performs various arithmetic processing by reading and executing the processing program 13a stored in the storage unit 13.
  • the first processing circuit 11 performs arithmetic processing necessary for relaying data transmission / reception between communication lines 1a, 1b, and 1c of the in-vehicle network, updating the program 22a of the ECU 2, and the like.
  • the second processing circuit 12 has the same configuration as the first processing circuit 11, and includes an arithmetic processing unit such as a CPU or MPU.
  • the second processing circuit 12 is, for example, a processor of a hardware security module (HSM: Hardware Security Module).
  • HSM Hardware Security Module
  • the first processing circuit 11 and the second processing circuit 12 are separate hardware.
  • the first processing circuit 11 and the second processing circuit 12 can independently execute individual processing.
  • the first processing circuit 11 can exchange data with the second processing circuit 12.
  • the first processing circuit 11 can execute a specific process on the second processing circuit 12 and request that the processing result be returned to the first processing circuit 11.
  • the second processing circuit 12 calculates the error detection data or hash value of the data based on the arbitrary data given from the first processing circuit 11, and the calculated error detection data or hash value. Can be executed for the first processing circuit 11.
  • the storage unit 13 is configured by using a non-volatile memory element such as a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory).
  • the storage unit 13 stores various computer programs executed by the first processing circuit 11 and various data required for processing of the first processing circuit 11.
  • the storage unit 13 stores the processing program 13a executed by the first processing circuit 11.
  • the processing program 13a may be written to the storage unit 13 at the manufacturing stage of the gateway 1, for example, and the gateway 1 may acquire what is distributed by a server (not shown) by communication, for example, a memory card.
  • the gateway 1 may read out what is recorded on the recording medium 101 such as an optical disk and store it in the storage unit 13, and the writing device reads out what is recorded on the recording medium 101 and stores it in the storage unit 13 of the gateway 1. You may write.
  • the processing program 13a may be provided in the form of distribution via the network, or may be provided in the form of being recorded on the recording medium 101.
  • the gateway 1 includes a first communication unit 14a, a second communication unit 14b, and a third communication unit 14c.
  • the first communication unit 14a, the second communication unit 14b, and the third communication unit 14c are connected to the communication lines 1a, 1b, and 1c constituting the in-vehicle network, respectively, and transmit and receive data to and from the ECU 2 and the server device 9 according to a predetermined communication protocol. I do.
  • the first to third communication units 14a, 14b, 14c transmit and receive data based on the communication standard of CAN, but the communication standard may be anything other than CAN.
  • the first to third communication units 14a, 14b, 14c transmit information by converting the data given from the first processing circuit 11 into an electric signal and outputting it to the communication lines 1a, 1b, 1c, and also communicate. Data is received by sampling and acquiring the potentials of the lines 1a, 1b, and 1c, and the received data is given to the first processing circuit 11.
  • the three first to third communication units 14a, 14b, and 14c included in the gateway 1 may communicate according to different communication protocols.
  • FIG. 3 is a schematic diagram showing the configuration of the ECU 2.
  • the ECU 2 includes a control unit (processor) 21, a storage unit (storage) 22, an ECU communication unit (transceiver) 23, and the like.
  • Various sensors, actuators, and the like are connected to the control unit 21 according to the function of the ECU 2.
  • the control unit 21 is configured by using an arithmetic processing unit such as a CPU or an MPU, and performs various arithmetic processing by reading and executing the program 22a stored in the storage unit 22.
  • the contents of the program 22a stored in the storage unit 22 are different for each ECU 2.
  • the storage unit 22 is configured by using a non-volatile memory element such as a flash memory or EEPROM.
  • the storage unit 22 stores the program 22a executed by the control unit 21 and the data necessary for executing the program 22a.
  • the earliest program 22a may be written in the storage unit 22 at the manufacturing stage of the ECU 2, for example, or may be recorded in the recording medium 101 such as a memory card or an optical disk and stored in the storage unit 22 by the ECU 2.
  • the writing device may read out what has been recorded on the recording medium 101 and write it on the storage unit 22 of the ECU 2.
  • the ECU 2 after the ECU 2 is mounted on the vehicle C, the ECU 2 receives the update program transmitted from the gateway 1 via the communication line 1a, and the ECU 2 stores the update program according to the received update program.
  • Program 22a is updated.
  • the storage unit 22 of the ECU 2 is provided with two areas for storing the program 22a. Both of the two regions have a sufficient storage capacity for storing the program 22a.
  • the control unit 21 reads the program 22a from one area of the storage unit 22 and performs processing, and the update program received from the gateway 1 is stored in the other area of the storage unit 22. After completing all reception of the update program from the gateway 1, the ECU 2 updates the program 22a by switching the area in which the control unit 21 reads the program 22a.
  • the ECU communication unit 23 is connected to the communication line 1a constituting the in-vehicle network, and transmits / receives data according to, for example, the CAN communication protocol.
  • the ECU communication unit 23 transmits the data by converting the data given from the control unit 21 into an electric signal and outputting it to the communication line 1a, and collects the data by sampling and acquiring the potential of the communication line 1a. Receive and give the received data to the control unit 21.
  • FIG. 4 is a flowchart showing the procedure of the program update process.
  • the first processing circuit 11 of the gateway 1 determines whether or not an update request for updating the program of the ECU 2 has been received from the server device 9 (step S1). If it is determined that the update request has not been received (step S1: NO), the first processing circuit 11 waits until the update request is received.
  • step S1 When it is determined that the update request has been received (step S1: YES), the first processing circuit 11 receives the update program transmitted from the server device 9 that is the source of the update request, so that the update used for the update process is performed. Acquire the program for use (step S2).
  • the first processing circuit 11 transmits the update program acquired in step S12 to the ECU 2 to be updated by the first communication unit 14a or the second communication unit 14b, and causes the ECU 2 to install the update program (step). S3).
  • the first processing circuit 11 executes the activation process of the update program by restarting the ECU 2 with the update program (step S4), and ends the process.
  • FIG. 4 shows a process of updating the program 22a stored in one ECU 2, but the update processing system 100 may execute the same process when updating the program 22a of another ECU 2.
  • FIGS. 5 and 6 are flowcharts showing the procedure of the process related to activation
  • FIG. 7 is an explanatory diagram showing a method of creating and transmitting a restart command.
  • the flowcharts shown in FIGS. 5 and 6 show the details of the activation process shown in FIG. 4, and show the update process method according to the present embodiment.
  • the activation process of one ECU 2 will be described.
  • the server device 9 transmits a request signal requesting activation of the ECU 2 to the vehicle C (step S11).
  • the first processing circuit 11 of the gateway 1 receives the request signal transmitted from the server device 9 at the third communication unit 14c (step S12).
  • the first processing circuit 11 Upon receiving the activation request signal, the first processing circuit 11 transmits a switching request requesting switching of the activation surface from the first communication unit 14a or the second communication unit 14b to the ECU 2 (step S13). That is, the first processing circuit 11 transmits to the ECU 2 a switching request for switching the area of the storage unit 22 in which the program 22a is read when the ECU 2 is restarted to the area in which the update program is written.
  • the ECU 2 receives the activation surface switching request transmitted from the gateway 1 (step S14). Upon receiving the switching request, the ECU 2 switches the starting surface to the area in which the update program is stored (step S15). The ECU 2 transmits the switching result of the starting surface to the first processing circuit 11 (step S16).
  • the first processing circuit 11 which has confirmed that the start surface has been switched normally, creates the first half of the command for instructing the restart of the ECU 2 as shown in FIG. 7 (1) (step S18). ..
  • the ECU 2 creates, for example, random number data or count value data as the first half of the command.
  • the count value data is data indicating a numerical value whose value is counted up or down each time command data is transmitted from the gateway 1 to the ECU 2.
  • the random number data or count value data is preferably 128 bits or more. Since the first half of the command is random number data or count value data, when the process of updating the program 22a of another ECU 2 is executed, the first half of the command with a different value is created in step S18.
  • the first processing circuit 11 requests the creation of the first half of the command, which is the random number data or the count value data created in step S17, and the second half of the command. 2 Transmission to the processing circuit 12 (step S19).
  • the second processing circuit 12 receives the creation request of the first half of the command and the second half of the command (step S20). As shown in FIG. 7 (3), the second processing circuit 12 creates the second half of the command based on the first half of the command created by the first processing circuit 11 (step S21). The second half of the command is the error detection data or hash value of the first half of the command.
  • the second processing circuit 12 transmits the latter half of the command created in step S21 to the first processing circuit 11 (step S22).
  • the first processing circuit 11 receives the latter half of the command created by the second processing circuit 12 (step S23).
  • the first processing circuit 11 creates a restart command for instructing the restart of the ECU 2 (step S24).
  • the command data including the identifier for identifying the destination ECU 2 and the restart request of the ECU 2 includes the first half of the command created by the first processing circuit 11 and the first half of the command. 2
  • a restart command is created by adding the latter half of the command created by the processing circuit 12.
  • the first processing circuit 11 transmits a restart command to the ECU 2 by the first communication unit 14a or the second communication unit 14b (step S25).
  • the ECU 2 receives the restart command transmitted from the gateway 1 (step S26).
  • the ECU 2 analyzes the restart command (step S27) and determines whether or not the first half of the command and the second half of the command are consistent (step S28). For example, when the latter half of the command is error detection data, when the ECU 2 determines that there is no error in the data of the first half of the command based on the error detection data of the second half of the command, the first half of the command and the second half of the command are determined. Judge that they are consistent.
  • the ECU 2 determines that the first half of the command and the second half of the command are the same when the hash value calculated based on the first half of the command and the hash value of the second half of the command match. Judge that they are consistent.
  • step S29 When it is determined that the first half of the command and the second half of the command are consistent (step S28: YES), the ECU 2 restarts (step S29). By switching the start surface and restarting the ECU 2, the update program is read out, and the update of the program 22a is completed.
  • step S30 the ECU 2 transmits the processing result according to the restart command to the gateway 1.
  • the processing result is data indicating whether or not the restart is executed, whether or not the restart process is completed normally, and the like.
  • the first processing circuit 11 of the gateway 1 receives the processing result transmitted from the ECU 2 (step S31). Then, the first processing circuit 11 transmits the result of the activation processing to the server device 9 by the third communication unit 14c (step S32).
  • the server device 9 receives the activation result transmitted from the gateway 1 of the vehicle C (step S33), and finishes the activation process.
  • the vehicle C from performing an unexpected operation due to an erroneous transmission of a restart command related to the update process of the program 22a stored in the ECU 2 to the ECU 2.
  • a restart command related to the update process of the program 22a stored in the ECU 2 to the ECU 2.
  • the creation request of the latter half of the command is transmitted to the second processing circuit 12 due to the malfunction of the first processing circuit 11
  • the restart command is subsequently issued as long as the first processing circuit 11 is operating normally. It is not transmitted to the ECU 2.
  • the ECU 2 will not restart if the latter half of the command is not created by the second processing circuit 12.
  • the second processing circuit 12 creates the second half data based on the random number data or the count value data of the first half of the command created by the first processing circuit 11.
  • the first processing circuit 11 transmits to the ECU 2 an update command to which the first half of the command and the second half of the command created by the first processing circuit 11 and the second processing circuit 12 are added.
  • the ECU 2 does not execute the process according to the command data unless the first half of the command and the second half of the command created by the first processing circuit 11 and the second processing circuit 12 are added to the command data. Therefore, it is possible to more effectively prevent the vehicle C from performing an unexpected operation by transmitting a restart command related to the update process to the ECU 2 due to a malfunction.
  • the latter half of the command created by the second processing circuit 12 is error detection data or hash value calculated based on the random number data or count value data which is the first half of the command. Therefore, the ECU 2 can restart the ECU 2 after confirming the consistency between the first half of the command and the second half of the command. Therefore, it is possible to more effectively prevent the vehicle C from performing an unexpected operation by transmitting a restart command related to the update process to the ECU 2 due to a malfunction.
  • the first processing circuit 11 when updating the programs 22a of each of the plurality of ECUs 2, the first processing circuit 11 transmits a restart command to which a different command first half and command second half are added to each ECU 2. .. Therefore, it is possible to prevent a situation in which a plurality of ECUs 2 simultaneously perform unexpected operations.
  • the repro master update processing device
  • the repro master may be configured separately from the gateway 1.
  • the program 22a of the ECU 2 may be updated.
  • the command data for instructing the restart of the ECU 2 has been described as the command data to which the first half of the command and the second half of the command created in the first processing circuit 11 and the second processing circuit 12 are added. , Not particularly limited.
  • the present invention can be applied to arbitrary command data related to the update process of the program 22a stored in the ECU 2.
  • the first processing circuit 11 and the second processing circuit 11 and the second are described.
  • the processing is not particularly limited to the processing according to the present embodiment as long as the ECU 2 can confirm that the command is created by the processing of both processing circuits 12.
  • the first processing circuit 11 does not add the data created by the first processing circuit 11, but adds the data created by the second processing circuit 12 to the command data and transmits it to the ECU 2. Is also good.
  • the second processing circuit 12 may calculate the random number data and the data based on the random number data and transmit the data to the first processing circuit 11. In the first processing circuit 11, the first processing circuit 11 can add the random number data created by the second processing circuit 12 and the above data to the command data and transmit the data to the ECU 2.
  • the second processing circuit 12 may create an electronic signature of the first half of the command as the second half of the command. Further, the second processing circuit 12 may create the encrypted data of the first half of the command as the second half of the command. Further, the second processing circuit 12 may be configured to encrypt the first half of the command and the second half of the command. The reliability of communication between the gateway 1 and the ECU 2 can be improved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)

Abstract

車載更新装置は、プログラムを書き換え可能に記憶した記憶部を有する車載装置と通信を行う通信部と、記憶部が記憶したプログラムを更新するための更新用プログラムを外部から取得し、取得した更新用プログラムにて記憶部が記憶するプログラムの更新処理を実行する第1処理回路と、第1処理回路の処理で作成されないデータを作成する処理を実行する第2処理回路とを備え、第1処理回路は、プログラムの更新を車載装置に命令するためのコマンドデータに第2処理回路が作成したデータを付加して通信部から車載装置へ送信させる処理を実行する。

Description

車載更新装置、更新処理システム、更新処理方法及び処理プログラム
 本開示は、車載更新装置、更新処理システム、更新処理方法及び処理プログラムに関する。
 本出願は、2019年3月22日出願の日本出願第2019-055191号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
 車両には複数のECU(Electronic Control Unit)などの車載装置が搭載されている。複数のECUはCAN(Controller Area Network)バスなどの通信線を介して接続されており、相互に情報の送受信を行うことができる。各ECUは、フラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の記憶部に記憶されたプログラムをCPU(Central Processing Unit)などの処理回路が読み出して実行することにより、車両の制御などの種々の処理を行う。ECUのプログラムは、例えば機能追加、不具合の修正又はバージョンアップ等の必要が生じた場合、新たなプログラムに書き換え又は更新する必要がある。各ECUのプログラムを更新するための処理を実行する車載更新装置は、更新に係る処理を命令するコマンドデータ、更新用プログラム等を、通信線を介してECUへ送信することによって、各ECUのプログラムを更新する。
特開2018-45515号公報 特開2015-41334号公報 特開2007-200040号公報
 本開示に係る車載更新装置は、プログラムを書き換え可能に記憶した記憶部を有する車載装置と通信を行う通信部と、前記プログラムを更新するための更新用プログラムにて前記記憶部が記憶する前記プログラムの更新処理を実行する第1処理回路と、前記第1処理回路の処理で作成されないデータを作成する処理を実行する第2処理回路とを備え、前記第1処理回路は、前記プログラムの更新に係る処理を前記車載装置に命令するためのコマンドデータに前記第2処理回路が作成した前記データを付加して前記通信部から前記車載装置へ送信させる処理を実行する。
 本開示に係る更新処理方法は、プログラムを書き換え可能に記憶した記憶部を有する車載装置と通信を行う通信部と、前記プログラムを更新するための更新用プログラムにて前記記憶部が記憶する前記プログラムの更新処理を実行する第1処理回路と、第2処理回路とを備えた車載更新装置を用いて前記プログラムを更新する更新処理方法であって、前記第1処理回路の処理で作成されないデータを、前記第2処理回路に作成させるステップと、前記プログラムの更新に係る処理を前記車載装置に命令するためのコマンドデータに前記第2処理回路が作成したデータを付加して前記通信部から前記車載装置へ送信させるステップとを備える。
 本開示に係る処理プログラムは、プログラムを書き換え可能に記憶した記憶部を有する車載装置と通信を行う通信部と、前記プログラムを更新するための更新用プログラムにて前記記憶部が記憶する前記プログラムの更新処理を実行する第1処理回路と、第2処理回路とを備えた車載更新装置の前記第1処理回路に、前記第1処理回路の処理で作成されないデータを、前記第2処理回路に作成させるステップと、前記プログラムの更新に係る処理を前記車載装置に命令するためのコマンドデータに前記第2処理回路が作成したデータを付加して前記通信部から前記車載装置へ送信させるステップとを実行させる。
 なお、本願は、このような特徴的な処理部を備える更新処理装置として実現することができるだけでなく、上記の通り、かかる特徴的な処理をステップとする更新処理方法として実現したり、かかるステップをコンピュータに実行させるためのプログラムとして実現したりすることができる。また、更新処理装置の一部又は全部を実現する半導体集積回路として実現したり、更新処理装置を含むその他のシステムとして実現したりすることができる。
図1は本実施形態に係る更新処理システムの構成を示す模式図である。 図2は本実施形態に係る更新処理システム及びゲートウェイの構成を示すブロック図である。 図3はECUの構成を示す模式図である。 図4はプログラム更新処理の手順を示すフローチャートである。 図5はアクティベーションに係る処理の手順を示すフローチャートである。 図6はアクティベーションに係る処理の手順を示すフローチャートである。 図7は再起動コマンドの作成及び送信の方法を示す説明図である。
[本開示が解決しようとする課題]
 上記背景技術においては、誤動作により更新処理に係るコマンドデータが車載更新装置から車載装置に送信された場合、車両が予期せぬ動作を行う可能性がある。
 本開示の目的は、車載装置が記憶するプログラムの更新処理に係るコマンドデータが車載装置に誤送信され、車両が予期せぬ動作を行うことを防ぐことができる車載更新装置、更新処理システム、更新処理方法及び処理プログラムを提供することにある。
[本開示の効果]
 本開示によれば、車載装置が記憶するプログラムの更新処理に係るコマンドデータが車載装置に誤送信され、車両が予期せぬ動作を行うことを防ぐことができる車載更新装置、更新処理システム、更新処理方法及び処理プログラムを提供することができる。
[本開示の実施形態の説明]
 最初に本開示の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本開示に係る車載更新装置は、プログラムを書き換え可能に記憶した記憶部を有する車載装置と通信を行う通信部と、前記プログラムを更新するための更新用プログラムにて前記記憶部が記憶する前記プログラムの更新処理を実行する第1処理回路と、前記第1処理回路の処理で作成されないデータを作成する処理を実行する第2処理回路とを備え、前記第1処理回路は、前記プログラムの更新に係る処理を前記車載装置に命令するためのコマンドデータに前記第2処理回路が作成した前記データを付加して前記通信部から前記車載装置へ送信させる処理を実行する。
 本開示によれば、第1処理回路は、第2処理回路で作成されるデータが付加されたコマンドデータを車載装置へ送信する。車載装置は、上記データが付加されたコマンドデータを受信した場合、当該コマンドデータに従ってプログラムの更新に係る処理を実行する。
 従って、第1処理回路の誤動作によりコマンドデータが車載装置へ送信された場合であっても、第2処理回路で作成されるデータがコマンドデータに付加されていないと、車載装置は動作しない。また、誤動作により第2処理回路が上記データを作成した場合であっても、第1処理回路が正常に動作していると、コマンドデータは車載装置へ送信されない。
 従って、誤動作により更新処理に係るコマンドデータが車載装置に送信され、車両が予期せぬ動作を行うことを防ぐことができる。
(2)前記第1処理回路は乱数データを作成し、作成された前記乱数データを前記第2処理回路に与え、前記第2処理回路は前記第1処理回路が作成した前記乱数データに基づいて前記データを作成し、作成された前記データを前記第1処理回路に与え、前記第1処理回路は前記乱数データ及び前記データを前記コマンドデータに付加して前記通信部から前記車載装置へ送信させるようにしてある構成が好ましい。
 本開示によれば、第2処理回路は、第1処理回路が作成した乱数データに基づいて、コマンドデータに付加すべき上記データを作成する。第1処理回路は、自身が作成した乱数データと、第2処理回路が当該乱数データに基づいて生成したデータとをコマンドデータに付加する。第1処理回路は、乱数データ及び当該データが付加されたコマンドデータを通信部から車載装置へ送信する。
 車載装置は、コマンドデータに付加された乱数データ及び上記データを参照することによって、第1処理回路及び第2処理回路の双方が動作して送信されたコマンドデータであるか否かを確認することができる。車載装置は、上記データが乱数データから第2処理回路によって作成されたものとして矛盾が無いかどうかを確認することによって、正常に作成及び送信されたコマンドデータであるか否かを確認することができる。
 従って、誤動作により更新処理に係るコマンドデータが車載装置に送信され、車両が予期せぬ動作を行うことをより効果的に防ぐことができる。
(3)前記第2処理回路が作成する前記データは、前記乱数データに基づいて作成される誤り検出データ又はハッシュ値である構成が好ましい。
 本開示によれば、第2処理回路は、第1処理回路が作成した乱数データに基づく誤り検出データ又はハッシュ値を作成する。第1処理回路は、自身が作成した乱数データと、当該乱数データに基づいて作成された誤り検出データ又はハッシュ値をコマンドデータに付加して車載装置へ送信させる。車載装置は、コマンドデータに付加された乱数データと、上記データとが整合しているか否かを判定することによって、正常動作で作成及び送信されたコマンドデータであるか否かを確認することができる。
 従って、誤動作により更新処理に係るコマンドデータが車載装置に送信され、車両が予期せぬ動作を行うことをより効果的に防ぐことができる。
(4)前記第1処理回路は、複数の前記車載装置と通信を行う場合、前記車載装置毎に異なる前記乱数データに基づいて作成された前記データを前記コマンドデータに付加して前記複数の車載装置それぞれへ送信する構成が好ましい。
 本開示によれば、複数の車載装置それぞれのプログラムを更新する場合、第1処理回路は、車載装置毎に異なるデータが付加されたコマンドデータが車載装置それぞれに送信される。
 従って、複数の車載装置が同時的に予期せぬ動作を行う事態を防ぐことができる。
(5)本開示に係る更新処理システムは、態様(1)から態様(4)のいずれか一つの車載更新装置と、前記プログラムを書き換え可能に記憶した前記記憶部を有する前記車載装置とを備え、前記車載更新装置は、前記車載装置の前記プログラムの更新処理を実行する。
 本開示によれば、態様(1)同様、誤動作により更新処理に係るコマンドデータが車載装置に送信され、車両が予期せぬ動作を行うことを防ぐことができる。
(6)本開示に係る更新処理システムは、態様(2)から態様(4)のいずれか一つの車載更新装置と、前記プログラムを書き換え可能に記憶した前記記憶部を有する前記車載装置とを備え、前記車載装置は、前記コマンドデータに含まれる前記乱数データと、前記データとが整合している場合、前記コマンドデータに従って更新に係る処理を実行する。
 本開示によれば、態様(2)同様、誤動作により更新処理に係るコマンドデータが車載装置に送信されることを防ぐことができる。車載装置は、第1処理回路及び第2処理回路の正常な動作で作成及び送信されたコマンドデータであるか否かを確認することができる。
 従って、誤動作により更新処理に係るコマンドデータが車載装置に送信され、車両が予期せぬ動作を行うことをより効果的に防ぐことができる。
(7)本開示に係る更新処理方法は、プログラムを書き換え可能に記憶した記憶部を有する車載装置と通信を行う通信部と、前記プログラムを更新するための更新用プログラムにて前記記憶部が記憶する前記プログラムの更新処理を実行する第1処理回路と、第2処理回路とを備えた車載更新装置を用いて前記プログラムを更新する更新処理方法であって、前記第1処理回路の処理で作成されないデータを、前記第2処理回路に作成させるステップと、前記プログラムの更新に係る処理を前記車載装置に命令するためのコマンドデータに前記第2処理回路が作成したデータを付加して前記通信部から前記車載装置へ送信させるステップとを備える。
 本開示によれば、態様(1)同様、誤動作により更新処理に係るコマンドデータが車載装置に送信され、車両が予期せぬ動作を行うことを防ぐことができる。
(8)本開示に係る処理プログラムは、プログラムを書き換え可能に記憶した記憶部を有する車載装置と通信を行う通信部と、前記プログラムを更新するための更新用プログラムにて前記記憶部が記憶する前記プログラムの更新処理を実行する第1処理回路と、第2処理回路とを備えた車載更新装置の前記第1処理回路に、前記第1処理回路の処理で作成されないデータを、前記第2処理回路に作成させるステップと、前記プログラムの更新に係る処理を前記車載装置に命令するためのコマンドデータに前記第2処理回路が作成したデータを付加して前記通信部から前記車載装置へ送信させるステップとを実行させる。
 本開示によれば、態様(1)同様、誤動作により更新処理に係るコマンドデータが車載装置に送信され、車両が予期せぬ動作を行うことを防ぐことができる。
[本開示の実施形態の詳細]
 本開示の実施形態に係る車載更新装置、更新処理システム、更新処理方法及び処理プログラムの具体例を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 以下、本開示をその実施形態を示す図面に基づいて具体的に説明する。
 図1は本実施形態に係る更新処理システム100の構成を示す模式図、図2は本実施形態に係る更新処理システム100及びゲートウェイ(車載更新装置)1の構成を示すブロック図である。本実施形態に係る更新処理システム100は、車両Cに搭載された複数のECU2と、無線通信装置3と、ゲートウェイ1とを備える。
 各ECU2は、通信線1a又は1bに接続されており、接続された通信線1a又は1bを介した通信を行うことができる。ゲートウェイ1は通信線1a、1b間の通信を中継し、これにより複数のECU2は通信線1a、1b及びゲートウェイ1を介して通信を行うことができる。ECU2は、例えば車両Cのエンジンの動作を制御する車載制御装置、ドアの施解錠を制御する車載制御装置、使用者の認証処理を行う車載制御装置等である。
 本実施形態に係る更新処理システム100では、ゲートウェイ1に通信線1cを介して無線通信装置3が接続されている。ゲートウェイ1は、無線通信装置3を介して車両Cの外部に設置されたサーバ装置9との通信を行うことができる。
 無線通信装置3は、例えば携帯電話通信網又は無線LAN(Local Area Network)等の無線通信を行うことによって、車両Cの外部に設置されたサーバ装置9との間で通信を行うことができる。無線通信装置3は、ゲートウェイ1及びサーバ装置9の間の通信を中継することができ、ゲートウェイ1から与えられたデータをサーバ装置9へ送信すると共に、サーバ装置9から受信したデータをゲートウェイ1へ与える。
 サーバ装置9は、車両Cに搭載されるECU2にて実行されるプログラム22a(図3参照)を管理及び記憶している。サーバ装置9は、車両Cからの問合わせに応じて、各ECU2が記憶するプログラム22aなどの更新が必要であるか否かを通知すると共に、更新が必要である場合には更新用のプログラム22aを車両Cへ配信する処理を行う。ゲートウェイ1は、サーバ装置9と通信を行い、ECU2が記憶する後述のプログラム22aを更新するための更新用プログラムを取得する。ゲートウェイ1は、取得した更新用プログラムをECU2へ送信し、更新処理に係る各種コマンドデータをすることによって、ECU2のプログラム22aを更新させる。
 本実施形態に係る更新処理システム100では、ゲートウェイ1が無線通信装置3を介して定期的にサーバ装置9との通信を行い、ECU2が記憶しているプログラム22aの更新の有無を確認する。更新がある場合、ゲートウェイ1は、更新用プログラムをサーバ装置9から取得して自身の記憶部13に記憶する。更新用プログラムの取得が完了した後、ゲートウェイ1は、通信線1a、1bを介して更新対象のECU2へ更新用プログラムを送信することによって、ECU2の更新処理を行う。ECU2は、ゲートウェイ1から送信された更新用プログラムを受信して自身の記憶部22に蓄積し、更新用プログラムを全て受信し終えた後に自身の実行するプログラム22aを更新用プログラムに変更することによって、プログラム22aの更新を行う。
 本実施形態に係るゲートウェイ1は、図2に示すように、第1処理回路(第1プロセッサ)11、第2処理回路(第2プロセッサ)12、記憶部(ストレージ)13及び第1ないし第3通信部(トランシーバ)14a、14b、14c等を備える。
 第1処理回路11は、例えばCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を備える。第1処理回路11は、記憶部13に記憶された処理プログラム13aを読み出して実行することにより、種々の演算処理を行う。本実施形態において第1処理回路11は、車内ネットワークの通信線1a、1b、1c間のデータ送受信を中継する処理、ECU2のプログラム22aを更新する処理等に必要な演算処理を行う。
 第2処理回路12は、第1処理回路11と同様の構成であり、CPU又はMPU等の演算処理装置を備える。第2処理回路12は、例えばハードウェアセキュリティモジュール(HSM:Hardware Security Module)のプロセッサである。第1処理回路11と、第2処理回路12とは、別個のハードウェアである。第1処理回路11及び第2処理回路12は独立して個々の処理を実行することができる。第1処理回路11は、第2処理回路12との間でデータをやり取りすることができる。例えば第1処理回路11は、第2処理回路12に特定の処理を実行し、処理結果を第1処理回路11に戻す要求を行うことができる。本実施形態では、第2処理回路12は、第1処理回路11から与えられた任意のデータに基づいて、当該データの誤り検出データ又はハッシュ値を算出し、算出された誤り検出データ又はハッシュ値を第1処理回路11に与える処理を実行することができる。
 記憶部13は、フラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子を用いて構成されている。記憶部13は、第1処理回路11が実行する各種コンピュータプログラム、及び、第1処理回路11の処理に必要な各種のデータを記憶する。本実施形態において記憶部13は、第1処理回路11が実行する処理プログラム13aを記憶している。なお処理プログラム13aは、例えばゲートウェイ1の製造段階において記憶部13に書き込まれてもよく、また例えば図示しないサーバなどが配信するものをゲートウェイ1が通信にて取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体101に記録されたものをゲートウェイ1が読み出して記憶部13に記憶してもよく、記録媒体101に記録されたものを書込装置が読み出してゲートウェイ1の記憶部13に書き込んでもよい。要するに処理プログラム13aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体101に記録された態様で提供されてもよい。
 ゲートウェイ1は、第1通信部14a、第2通信部14b及び第3通信部14cを備える。第1通信部14a、第2通信部14b及び第3通信部14cは、車内ネットワークを構成する通信線1a、1b、1cにそれぞれ接続され、所定の通信プロトコルに従ってECU2、サーバ装置9とデータの送受信を行う。本実施形態において、第1ないし第3通信部14a、14b、14cはCANの通信規格に基づくデータの送受信を行うものとするが、通信規格はCAN以外のどのようなものであってもよい。第1ないし第3通信部14a、14b、14cは、第1処理回路11から与えられたデータを電気信号に変換して通信線1a、1b、1cへ出力することによって情報を送信すると共に、通信線1a、1b、1cの電位をサンプリングして取得することによりデータを受信し、受信したデータを第1処理回路11へ与える。なおゲートウェイ1が備える3つの第1ないし第3通信部14a、14b、14cは、それぞれ異なる通信プロトコルに従って通信を行うものであってもよい。
 図3はECU2の構成を示す模式図である。なお本図においては、車両Cに搭載された複数のECU2のうち、一のECU2の構成を図示しているが、他のECU2も同様の構成である。ECU2は、制御部(プロセッサ)21、記憶部(ストレージ)22及びECU通信部(トランシーバ)23等を備える。制御部21には、ECU2の機能に応じて、各種センサ、アクチュエータ等が接続されている。制御部21は、例えばCPU又はMPU等の演算処理装置を用いて構成され、記憶部22に記憶されたプログラム22aを読み出して実行することにより、種々の演算処理を行う。なお記憶部22に記憶されるプログラム22aは、ECU2毎にその内容が異なる。
 記憶部22は、フラッシュメモリ又はEEPROM等の不揮発性のメモリ素子を用いて構成されている。記憶部22は、制御部21が実行するプログラム22aと、このプログラム22aの実行に必要なデータとを記憶する。最初期のプログラム22aは、例えばECU2の製造段階において記憶部22に書き込まれてもよく、メモリカード又は光ディスク等の記録媒体101に記録されたものをECU2が読み出して記憶部22に記憶してもよく、記録媒体101に記録されたものを書込装置が読み出してECU2の記憶部22に書き込んでもよい。
 また本実施形態においては、ECU2が車両Cに搭載された後、ゲートウェイ1から通信線1aを介して送信された更新用プログラムをECU2が受信し、受信した更新用プログラムによりECU2が記憶部22のプログラム22aを更新する。
 本実施形態においてECU2の記憶部22は、プログラム22aを記憶するための2つの領域が設けられている。2つの領域は、いずれもプログラム22aを記憶する十分な記憶容量を有している。制御部21は記憶部22の一方の領域からプログラム22aを読み出して処理を行い、ゲートウェイ1から受信した更新用プログラムが記憶部22の他方の領域に記憶される。ECU2は、ゲートウェイ1から更新用プログラムの全ての受信を完了した後、制御部21がプログラム22aを読み出す領域を切り替えることによって、プログラム22aの更新を行う。
 ECU通信部23は、車内ネットワークを構成する通信線1aに接続され、例えばCANの通信プロトコルに従ってデータの送受信を行う。ECU通信部23は、制御部21から与えられたデータを電気信号に変換して通信線1aへ出力することによってデータを送信すると共に、通信線1aの電位をサンプリングして取得することによりデータを受信し、受信したデータを制御部21へ与える。
 図4はプログラム更新処理の手順を示すフローチャートである。ゲートウェイ1の第1処理回路11は、サーバ装置9から、ECU2のプログラム更新を求める更新要求を受信したか否かを判定する(ステップS1)。更新要求を受信していないと判定した場合(ステップS1:NO)、第1処理回路11は、更新要求を受信するまで待機する。
 更新要求を受信したと判定した場合(ステップS1:YES)、第1処理回路11は、更新要求の送信元のサーバ装置9から送信される更新用プログラムを受信することにより、更新処理に用いる更新用プログラムを取得する(ステップS2)。
 第1処理回路11は、ステップS12で取得した更新用プログラムを、第1通信部14a又は第2通信部14bにてプログラム更新対象のECU2へ送信し、当該ECU2に更新用プログラムをインストールさせる(ステップS3)。
 更新用プログラムのインストールが完了した場合、第1処理回路11は更新用プログラムにてECU2を再起動させることによって、更新用プログラムのアクティベーション処理を実行し(ステップS4)、処理を終える。
 図4は、一のECU2が記憶するプログラム22aを更新する処理を示したものであるが、更新処理システム100は、他のECU2のプログラム22aを更新する際、同様の処理を実行すれば良い。
 図5及び図6はアクティベーションに係る処理の手順を示すフローチャート、図7は再起動コマンドの作成及び送信の方法を示す説明図である。図5及び図6に示すフローチャートは、図4に示すアクティベーション処理の詳細を示すものであり、本実施形態に係る更新処理方法を示すものである。ここでは、一のECU2のアクティベーション処理を説明する。
 サーバ装置9は、ECU2のアクティベーションを要求する要求信号を車両Cへ送信する(ステップS11)。ゲートウェイ1の第1処理回路11は、サーバ装置9から送信された当該要求信号を第3通信部14cにて受信する(ステップS12)。アクティベーションの要求信号を受信した第1処理回路11は、起動面の切り替えを要求する切替要求を第1通信部14a又は第2通信部14bからECU2へ送信する(ステップS13)。つまり、第1処理回路11は、ECU2の再起動時にプログラム22aが読み出される記憶部22の領域を、更新用プログラムが書き込まれた領域へ切り替えるための切替要求をECU2へ送信する。
 ECU2は、ゲートウェイ1から送信された起動面の切替要求を受信する(ステップS14)。当該切替要求を受信したECU2は起動面を、更新用プログラムを記憶した領域に切り替える(ステップS15)。ECU2は、起動面の切り替え結果を第1処理回路11へ送信する(ステップS16)。
 ECU2から送信された起動面の切替結果を受信する(ステップS17)。正常に起動面の切り替えが行われたことを確認した第1処理回路11は、図7中(1)に示すよう、ECU2の再起動を命令するためのコマンド前半部を作成する(ステップS18)。ECU2はコマンド前半部として、例えば乱数データ又はカウント値データを作成する。カウント値データは、ゲートウェイ1からECU2へコマンドデータが送信される都度、値がカウントアップ又はカウントダウンされる数値を示したデータである。乱数データ又はカウント値データは、128ビット以上が好ましい。コマンド前半部は乱数データ又はカウント値データであるため、他のECU2のプログラム22aを更新する処理が実行された場合、ステップS18では異なる値のコマンド前半部が作成される。
 次いで、第1処理回路11は、図7中(2)に示すように、ステップS17で作成した乱数データ又はカウント値データであるコマンド前半部と、コマンド後半部の作成を要求する作成要求を第2処理回路12へ送信する(ステップS19)。
 第2処理回路12は、コマンド前半部と、コマンド後半部の作成要求を受信する(ステップS20)。第2処理回路12は、図7中(3)に示すように、第1処理回路11が作成したコマンド前半部に基づいて、コマンド後半部を作成する(ステップS21)。コマンド後半部は、コマンド前半部の誤り検出データ又はハッシュ値である。
 第2処理回路12は、図7中(4)に示すように、ステップS21で作成したコマンド後半部を第1処理回路11へ送信する(ステップS22)。第1処理回路11は、第2処理回路12が作成したコマンド後半部を受信する(ステップS23)。第1処理回路11は、図7中(5)に示すように、ECU2の再起動を命令する再起動コマンドを作成する(ステップS24)。具体的には、図7に示すように、送信先のECU2を識別するための識別子と、ECU2の再起動要求とを含むコマンドデータに、第1処理回路11が作成したコマンド前半部と、第2処理回路12が作成したコマンド後半部とを付加することによって、再起動コマンドを作成する。
 第1処理回路11は、図7中(6)に示すように、再起動コマンドを第1通信部14a又は第2通信部14bにてECU2へ送信する(ステップS25)。ECU2は、ゲートウェイ1から送信された再起動コマンドを受信する(ステップS26)。ECU2は、図7中(7)に示すように、再起動コマンドを解析し(ステップS27)、コマンド前半部と、コマンド後半部とが整合しているか否かを判定する(ステップS28)。例えば、コマンド後半部が誤り検出データである場合、ECU2は、コマンド前半部のデータが、コマンド後半部の誤り検出データに基づいて、誤りなしと判定さたとき、コマンド前半部及びコマンド後半部が整合していると判断する。また、コマンド後半部がハッシュ値である場合、ECU2は、コマンド前半部に基づいて算出されるハッシュ値と、コマンド後半部のハッシュ値とが一致しているとき、コマンド前半部及びコマンド後半部が整合していると判断する。
 コマンド前半部及びコマンド後半部が整合していると判定した場合(ステップS28:YES)、ECU2は再起動を実行する(ステップS29)。起動面を切り替えてECU2を再起動することによって、更新用プログラムが読み出され、プログラム22aの更新が完了する。ステップS29の処理を終えた場合、又はコマンド前半部及びコマンド後半部が整合していないと判定した場合(ステップS28:NO)、ECU2は、再起動コマンドに従った処理結果をゲートウェイ1へ送信する(ステップS30)。処理結果は、再起動を実行したか否か、正常に再起動処理が完了したか否か等を示すデータである。
 ゲートウェイ1の第1処理回路11は、ECU2から送信された処理結果を受信する(ステップS31)。そして、第1処理回路11は、アクティベーション処理の結果を第3通信部14cにてサーバ装置9へ送信する(ステップS32)。
 サーバ装置9は、車両Cのゲートウェイ1から送信されたアクティベーション結果を受信し(ステップS33)、アクティベーション処理を終える。
 このように構成された本実施形態によれば、ECU2が記憶するプログラム22aの更新処理に係る再起動コマンドがECU2に誤送信され、車両Cが予期せぬ動作を行うことを防ぐことができる。
 例えば、第1処理回路11の誤動作により、コマンド後半部の作成要求が第2処理回路12に送信されたとしても、その後、第1処理回路11が正常に動作している限り、再起動コマンドはECU2に送信されることはない。
 また、第1処理回路11の誤動作により、再起動コマンドがECU2に送信されたとしても、第2処理回路12によってコマンド後半部が作成されていない場合、ECU2が再起動することはない。
 本実施形態によれば、第2処理回路12は、第1処理回路11が作成したコマンド前半部の乱数データ又はカウント値データに基づいて後半部データを作成する。第1処理回路11は、第1処理回路11及び第2処理回路12にて作成されるコマンド前半部及びコマンド後半部が付加された更新コマンドをECU2へ送信する。ECU2は、第1処理回路11及び第2処理回路12にて作成されたコマンド前半部及びコマンド後半部がコマンドデータに付加されていない限り、コマンドデータに従った処理を実行しない。従って、誤動作により更新処理に係る再起動コマンドがECU2に送信され、車両Cが予期せぬ動作を行うことをより効果的に防ぐことができる。
 本実施形態によれば、第2処理回路12が作成するコマンド後半部は、コマンド前半部である乱数データ又はカウント値データに基づいて算出される誤り検出データ又はハッシュ値である。従って、ECU2は、コマンド前半部及びコマンド後半部の整合性を確認して、ECU2を再起動させることができる。従って、誤動作により更新処理に係る再起動コマンドがECU2に送信され、車両Cが予期せぬ動作を行うことをより効果的に防ぐことができる。
 本実施形態によれば、複数のECU2それぞれのプログラム22aを更新する場合、第1処理回路11は、ECU2毎に異なるコマンド前半部及びコマンド後半部が付加された再起動コマンドをECU2それぞれに送信する。
 従って、複数のECU2が同時的に予期せぬ動作を行う事態を防ぐことができる。
 なお、本実施形態では、ECU2のプログラム更新処理を制御するリプロマスタ(更新処理装置)をゲートウェイ1として構成する例を説明したが、リプロマスタをゲートウェイ1と別体で構成しても良い。また、ECU2のプログラム22aを更新する例を説明したが、車内ネットワークに有線接続又は無線接続される任意のリプロスレーブのプログラム22aを更新するように構成しても良い。
 また、本実施形態では、第1処理回路11及び第2処理回路12にて作成したコマンド前半部及びコマンド後半部が付加されたコマンドデータとして、ECU2の再起動を命令するコマンドデータを説明したが、特に限定されるものではない。ECU2が記憶するプログラム22aの更新処理に係る任意のコマンドデータに本発明を適用することができる。
 更に、本実施形態では、第1処理回路11及び第2処理回路12にて作成されたコマンド前半部及びコマンド後半部をコマンドデータに付加する例を説明したが、第1処理回路11及び第2処理回路12双方の処理によって作成されたコマンドであることをECU2が確認できる態様であれば、特に本実施形態に係る処理に限定されるものではない。
 例えば、第1処理回路11は、当該第1処理回路11にて作成されるデータを付加せず、第2処理回路12にて作成されるデータを、コマンドデータに付加してECU2へ送信しても良い。
 また、第2処理回路12が乱数データと、当該乱数データに基づくデータとを算出し、第1処理回路11に送信しても良い。第1処理回路11は、第1処理回路11は、第2処理回路12で作成された乱数データ及び上記データをコマンドデータに付加し、ECU2へ送信することができる。
 更にまた、本実施形態では、第2処理回路12は、コマンド前半部の電子署名をコマンド後半部として作成しても良い。また、第2処理回路12は、コマンド前半部の暗号化データをコマンド後半部として作成しても良い。更に、第2処理回路12は、コマンド前半部及びコマンド後半部を暗号化するように構成しても良い。ゲートウェイ1及びECU2間の通信の信頼性を向上させることができる。
1 ゲートウェイ
1a、1b、1c 通信線
2 ECU
3 無線通信装置
9 サーバ装置
11 第1処理回路
12 第2処理回路
13 記憶部
13a 処理プログラム
14a 第1通信部
14b 第2通信部
14c 第3通信部
21 制御部
22 記憶部
22a プログラム
23 ECU通信部
100 更新処理システム
101 記録媒体
C 車両
 

Claims (8)

  1.  プログラムを書き換え可能に記憶した記憶部を有する車載装置と通信を行う通信部と、
     前記プログラムを更新するための更新用プログラムにて前記記憶部が記憶する前記プログラムの更新処理を実行する第1処理回路と、
     前記第1処理回路の処理で作成されないデータを作成する処理を実行する第2処理回路と
     を備え、
     前記第1処理回路は、
     前記プログラムの更新に係る処理を前記車載装置に命令するためのコマンドデータに前記第2処理回路が作成した前記データを付加して前記通信部から前記車載装置へ送信させる処理を実行する
     車載更新装置。
  2.  前記第1処理回路は乱数データを作成し、作成された前記乱数データを前記第2処理回路に与え、
     前記第2処理回路は前記第1処理回路が作成した前記乱数データに基づいて前記データを作成し、作成された前記データを前記第1処理回路に与え、
     前記第1処理回路は前記乱数データ及び前記データを前記コマンドデータに付加して前記通信部から前記車載装置へ送信させる
     ようにしてある請求項1に記載の車載更新装置。
  3.  前記第2処理回路が作成する前記データは、前記乱数データに基づいて作成される誤り検出データ又はハッシュ値である
     請求項2に記載の車載更新装置。
  4.  前記第1処理回路は、
     複数の前記車載装置と通信を行う場合、前記車載装置毎に異なる前記乱数データに基づいて作成された前記データを前記コマンドデータに付加して前記複数の車載装置それぞれへ送信する
     請求項2又は請求項3に記載の車載更新装置。
  5.  請求項1から請求項4のいずれか1項に記載の車載更新装置と、
     前記プログラムを書き換え可能に記憶した前記記憶部を有する前記車載装置と
     を備え、
     前記車載更新装置は、
     前記車載装置の前記プログラムの更新処理を実行する
     更新処理システム。
  6.  請求項2から請求項4のいずれか1項に記載の車載更新装置と、
     前記プログラムを書き換え可能に記憶した前記記憶部を有する前記車載装置と
     を備え、
     前記車載装置は、
     前記コマンドデータに含まれる前記乱数データと、前記データとが整合している場合、前記コマンドデータに従って更新に係る処理を実行する
     更新処理システム。
  7.  プログラムを書き換え可能に記憶した記憶部を有する車載装置と通信を行う通信部と、前記プログラムを更新するための更新用プログラムにて前記記憶部が記憶する前記プログラムの更新処理を実行する第1処理回路と、第2処理回路とを備えた車載更新装置を用いて前記プログラムを更新する更新処理方法であって、
     前記第1処理回路の処理で作成されないデータを、前記第2処理回路に作成させるステップと、
     前記プログラムの更新に係る処理を前記車載装置に命令するためのコマンドデータに前記第2処理回路が作成したデータを付加して前記通信部から前記車載装置へ送信させるステップと
     を備える更新処理方法。
  8.  プログラムを書き換え可能に記憶した記憶部を有する車載装置と通信を行う通信部と、前記プログラムを更新するための更新用プログラムにて前記記憶部が記憶する前記プログラムの更新処理を実行する第1処理回路と、第2処理回路とを備えた車載更新装置の前記第1処理回路に、
     前記第1処理回路の処理で作成されないデータを、前記第2処理回路に作成させるステップと、
     前記プログラムの更新に係る処理を前記車載装置に命令するためのコマンドデータに前記第2処理回路が作成したデータを付加して前記通信部から前記車載装置へ送信させるステップと
     を実行させるための処理プログラム。
     
PCT/JP2020/001290 2019-03-22 2020-01-16 車載更新装置、更新処理システム、更新処理方法及び処理プログラム WO2020195034A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019055191A JP7211189B2 (ja) 2019-03-22 2019-03-22 更新処理システム及び更新処理方法
JP2019-055191 2019-03-22

Publications (1)

Publication Number Publication Date
WO2020195034A1 true WO2020195034A1 (ja) 2020-10-01

Family

ID=72559414

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/001290 WO2020195034A1 (ja) 2019-03-22 2020-01-16 車載更新装置、更新処理システム、更新処理方法及び処理プログラム

Country Status (2)

Country Link
JP (1) JP7211189B2 (ja)
WO (1) WO2020195034A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7438924B2 (ja) 2020-12-15 2024-02-27 株式会社東芝 情報処理装置、方法及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086771A (ja) * 2002-08-28 2004-03-18 Ntt Data Corp 処理装置、処理方法、及びプログラム
JP2014138380A (ja) * 2013-01-18 2014-07-28 Toyota Motor Corp 車両不正状態検出方法、車載システムにおける制御方法、およびシステム
JP2016212608A (ja) * 2015-05-08 2016-12-15 セイコーエプソン株式会社 印刷装置、プログラム更新システム、及び、制御方法
JP2017011491A (ja) * 2015-06-22 2017-01-12 トヨタ自動車株式会社 認証システム
JP2018073245A (ja) * 2016-11-01 2018-05-10 パナソニックIpマネジメント株式会社 検査装置、検査システム、情報処理装置、検査方法およびコンピュータプログラム
JP2019036251A (ja) * 2017-08-21 2019-03-07 株式会社東芝 更新制御装置、ソフトウェア更新システムおよび更新制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086771A (ja) * 2002-08-28 2004-03-18 Ntt Data Corp 処理装置、処理方法、及びプログラム
JP2014138380A (ja) * 2013-01-18 2014-07-28 Toyota Motor Corp 車両不正状態検出方法、車載システムにおける制御方法、およびシステム
JP2016212608A (ja) * 2015-05-08 2016-12-15 セイコーエプソン株式会社 印刷装置、プログラム更新システム、及び、制御方法
JP2017011491A (ja) * 2015-06-22 2017-01-12 トヨタ自動車株式会社 認証システム
JP2018073245A (ja) * 2016-11-01 2018-05-10 パナソニックIpマネジメント株式会社 検査装置、検査システム、情報処理装置、検査方法およびコンピュータプログラム
JP2019036251A (ja) * 2017-08-21 2019-03-07 株式会社東芝 更新制御装置、ソフトウェア更新システムおよび更新制御方法

Also Published As

Publication number Publication date
JP7211189B2 (ja) 2023-01-24
JP2020155026A (ja) 2020-09-24

Similar Documents

Publication Publication Date Title
JP7071574B2 (ja) ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP6390644B2 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6665728B2 (ja) 車載更新装置、車載更新システム及び通信装置の更新方法
JP6380461B2 (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP6696468B2 (ja) 車載更新装置及び車載更新システム
WO2014148003A1 (ja) 車載電子制御装置のプログラム書換システム及び車載中継装置
JP7136278B2 (ja) 車載更新装置、更新処理方法及び更新処理プログラム
JP6428652B2 (ja) 車載更新装置、更新システム及び更新処理プログラム
JP6562134B2 (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP7280412B2 (ja) ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP6992667B2 (ja) 車載更新装置、車載更新システム、更新処理方法及び更新処理プログラム
US11126422B2 (en) Program update system, control system, mobile body, program update method, recording medium
WO2018154949A1 (ja) プログラム更新システム、制御装置、プログラム更新方法、及びコンピュータプログラム
CN110574015A (zh) 车载中继装置、控制程序及存储器共有方法
WO2020195034A1 (ja) 車載更新装置、更新処理システム、更新処理方法及び処理プログラム
JPWO2018142749A1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6562133B2 (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP7087334B2 (ja) 電子制御装置
JP6631676B2 (ja) 車載更新装置、更新システム及び更新処理プログラム
JP7081415B2 (ja) 通信装置、通信方法、および通信プログラム
US20220405087A1 (en) Vehicle control device and vehicle control system
WO2021166603A1 (ja) 情報処理装置、プログラム更新システム、及びプログラム更新方法
JP2017157202A (ja) 車載制御装置

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

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

Country of ref document: EP

Kind code of ref document: A1