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

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

Info

Publication number
WO2019216330A1
WO2019216330A1 PCT/JP2019/018328 JP2019018328W WO2019216330A1 WO 2019216330 A1 WO2019216330 A1 WO 2019216330A1 JP 2019018328 W JP2019018328 W JP 2019018328W WO 2019216330 A1 WO2019216330 A1 WO 2019216330A1
Authority
WO
WIPO (PCT)
Prior art keywords
update
vehicle
program
version
programs
Prior art date
Application number
PCT/JP2019/018328
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 株式会社オートネットワーク技術研究所
Priority to US17/044,406 priority Critical patent/US11354112B2/en
Priority to CN201980027538.2A priority patent/CN112020456B/zh
Priority to DE112019002411.6T priority patent/DE112019002411T5/de
Publication of WO2019216330A1 publication Critical patent/WO2019216330A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Definitions

  • the present disclosure relates to an in-vehicle update device, an update processing method, and an update processing program for updating a program or data of an in-vehicle device mounted on a vehicle.
  • in-vehicle devices such as a plurality of ECUs (Electronic Control Units) are mounted on a vehicle, and a plurality of ECUs are connected via communication lines such as a CAN (Controller Area Network) bus to transmit and receive information to and from each other.
  • a CAN Controller Area Network
  • Each ECU reads and executes a program stored in a storage unit such as a flash memory or an EEPROM (ElectricallyrasErasable Programmable Read Only Memory) by a processing device such as a CPU (Central Processing Unit), thereby performing various control such as vehicle control Is being processed.
  • a storage unit such as a flash memory or an EEPROM (ElectricallyrasErasable Programmable Read Only Memory)
  • CPU Central Processing Unit
  • the program or data stored in the storage unit of the ECU needs to be updated to be rewritten with a new program or data, for example, when it becomes necessary to add a function, correct a defect, or upgrade a version.
  • an update program or data is transmitted to the ECU to be updated by a communication line.
  • Patent Document 1 the current version information read from all rewritable ECUs included in the network is compared with the latest version information corresponding to the current version information, and the ECU whose version information does not match is set as the target ECU.
  • a program rewriting apparatus that extracts and executes program rewriting operations continuously in the priority order stored in the order DB (database) for the extracted target ECU.
  • the program rewriting device described in Patent Document 1 is a device provided in, for example, a vehicle dealer or a maintenance factory, and is connected to a connector provided on the vehicle by wire, and then is used to update the ECU with respect to the vehicle gateway. It is the structure which transmits a program.
  • a technology in which the vehicle and the server device perform wireless communication and the server device transmits an ECU update program to the vehicle to update the ECU of the vehicle, so-called remote reprogramming technology. has been researched and developed.
  • a function for performing an update process by remote programming and a function for performing an update process by wired connection such as a program rewriting device are installed in a vehicle, there is a possibility that requests for performing both update processes may be performed simultaneously. . For example, there is a possibility that a request to perform an update process with the other function may be given while an update process with one function is being performed. Conventionally, a countermeasure for such a case has not been studied.
  • the present disclosure has been made in view of such circumstances, and an object of the present disclosure is to update a plurality of in-vehicle devices mounted on a vehicle when a plurality of update processes are given from different routes. Is to provide an in-vehicle update device, an update processing method, and an update processing program.
  • the in-vehicle update device includes a plurality of out-of-vehicle communication units that communicate with a device outside the vehicle, an in-vehicle communication unit that performs communication with a plurality of in-vehicle devices mounted on the vehicle, and storage of the in-vehicle device.
  • In-vehicle provided with an update processing unit that receives an update program for updating the program stored in the unit from the external device at the external communication unit and transmits the program to the in-vehicle device at the in-vehicle communication unit
  • An update device that uses each update program based on version information of the update program when different update programs are received from different external devices at the plurality of external communication units.
  • the execution determination unit determines that the update process can be performed on a plurality of update programs
  • the execution determination unit determines whether the update process can be performed. Performed in parallel update processing using said plurality of update program.
  • the update processing method receives an update program for updating a program stored in a storage unit of an in-vehicle device from an external device of the vehicle, and transmits the received update program to the in-vehicle device.
  • the update processing program receives an update program for updating a program stored in the storage unit of the in-vehicle device in a computer from a device outside the vehicle, and the received update program is transmitted to the in-vehicle device.
  • the present application can be realized not only as an in-vehicle update device including such a characteristic processing unit, but also as an update processing method including such a characteristic process as a step, or executing such a step on a computer. It can be realized as an update processing program. Further, it can be realized as a semiconductor integrated circuit that realizes part or all of the in-vehicle update device, or can be realized as another device or system including the in-vehicle update device.
  • the in-vehicle update device includes a plurality of in-vehicle communication units that communicate with a device outside the vehicle, an in-vehicle communication unit that performs communication with a plurality of in-vehicle devices mounted on the vehicle, and the in-vehicle device.
  • An update processing unit for receiving an update program for updating a program stored in a storage unit of the device from the external device by the external communication unit and transmitting the update program to the in-vehicle device by the in-vehicle communication unit; And when each of the plurality of external communication units receives different update programs from different external devices, each update program is used based on the version information of the update program.
  • An execution determination unit that determines whether or not the update process can be performed, and the update processing unit determines that the execution determination unit can execute the update process for a plurality of update programs. To be performed in parallel update process using the plurality of update program.
  • the in-vehicle update device that performs processing for updating the programs of a plurality of in-vehicle devices mounted on the vehicle can communicate with devices outside the vehicle through a plurality of wired or wireless communication paths.
  • the in-vehicle update device receives an update program for the in-vehicle device from an external device, and transmits the update program to the in-vehicle device through in-vehicle communication, thereby performing update processing of the program stored in the in-vehicle device.
  • the in-vehicle update device acquires version information of the update program together with the update program from an external device.
  • the in-vehicle update device determines whether or not the update process using each update program can be performed based on the version information. When it is determined that an update process using a plurality of update programs can be performed, the in-vehicle update device performs an update process using the plurality of update programs in parallel. As a result, when the in-vehicle update device receives a plurality of update programs from different external devices, it can appropriately determine whether or not the update process using each update program can be performed based on the version information. Can perform a plurality of update processes in parallel.
  • the version information includes a system version attached to an in-vehicle system including a plurality of cooperating in-vehicle devices as a group, and a device version attached individually to each in-vehicle device,
  • a storage unit that stores a correspondence relationship between the version and the device version, and the execution determination unit is configured to update the plurality of update programs when the plurality of update programs are for updating an in-vehicle device included in different in-vehicle systems. It is preferable to determine that the update process using can be performed.
  • the version information acquired from the external device together with the update program includes the system version attached to the in-vehicle system including a plurality of cooperating in-vehicle devices as a group, and the in-vehicle device. Device version attached individually.
  • the in-vehicle update device stores the correspondence between the system version and the device version. Accordingly, the in-vehicle update device can appropriately grasp the correspondence between the system version and the device version, and can appropriately determine whether or not the update process using the update program can be performed.
  • the in-vehicle update device when a plurality of update programs given from a plurality of external devices are for updating an in-vehicle device included in different in-vehicle systems, the in-vehicle update device performs an update process using the plurality of update programs in parallel. And implement. Since there is no version dependency between in-vehicle devices included in different in-vehicle systems, update processing can be performed in parallel regardless of the system version and the device version.
  • the execution determination unit determines that an update process using a plurality of update programs having the same system version can be performed.
  • the in-vehicle update device when a plurality of update programs given from a plurality of external devices are for updating an in-vehicle device included in a common in-vehicle system, the in-vehicle update device includes a plurality of update programs. Compare system versions. When the system versions of the plurality of update programs are the same, the in-vehicle update device performs update processing using the plurality of update programs in parallel. Since it is preferable that the programs executed by a plurality of in-vehicle devices included in the in-vehicle system have the same system version, the in-vehicle update device determines that an update program having the same system version can be updated in parallel. Can do.
  • the execution determination unit prioritizes the update process of one update program that has started the update process, and does not perform the update process of another update program. It is preferable to determine that it is possible.
  • the in-vehicle update device preferentially performs the update process of the update program that started the process, It is determined that the update process of the update program received later cannot be performed. As a result, it is possible to prevent the update process that has already been started from being forcibly terminated in the middle and causing a problem or the like.
  • the execution determination unit prioritizes update processing of the update program having the latest system version and cannot execute update processing of other update programs. It is preferable to determine.
  • the in-vehicle update device gives priority to the update process of the update program with the latest system version, and the like. It is determined that the update process of the update program is not executable. Thereby, the vehicle-mounted update device can update the program of the vehicle-mounted device to the latest system version.
  • the execution determination unit updates using the other update program It is preferable to determine that the processes can be performed in parallel.
  • this update program device When the version is the same as the device version corresponding to the system version determined to be able to be implemented with priority on the update process, the update process using the update program can be performed in parallel. In the exceptional case where the corresponding device versions are the same even if the system versions are different, the update processing can be performed more efficiently by determining that the in-vehicle update device can perform the update processing.
  • an update program for updating a program stored in the storage unit of the in-vehicle device is received from a device outside the vehicle, and the received update program is transmitted to the in-vehicle device.
  • An update processing method for transmitting, when different update programs are respectively received from a plurality of different external devices, the update processing using each update program is performed based on the version information of the update program.
  • the update process using the plurality of update programs is performed in parallel.
  • the update processing program receives an update program for updating a program stored in the storage unit of the in-vehicle device from a device outside the vehicle, and the received update program is stored in the computer.
  • a process for determining whether or not the update process used can be executed and performing an update process using the plurality of update programs in parallel when it is determined that the update process can be executed for a plurality of update programs. To do.
  • FIG. 1 is a schematic diagram showing a configuration of an in-vehicle update system according to the present embodiment.
  • the in-vehicle update system 100 includes a plurality of ECUs 2a to 2e mounted on the vehicle 1, one radio communication device 3, and one gateway 10.
  • Each of the ECUs 2a to 2e is connected to either the communication line 1a or 1b, and can perform communication via the connected communication line 1a or 1b.
  • two ECUs 2a and 2b are connected to the communication line 1a
  • three ECUs 2c to 2e are connected to the communication line 1b
  • the two communication lines 1a and 1b are connected to the gateway 10.
  • the gateway 10 relays communication between the communication lines 1a and 1b, whereby the plurality of ECUs 2a to 2e can perform communication via the communication lines 1a and 1b and the gateway 10.
  • the wireless communication device 3 is connected to the gateway 10 via the communication line 1c.
  • the gateway 10 can communicate with the server device 9 installed outside the vehicle 1 via the wireless communication device 3.
  • a connector 4 for connecting an external device in a wired manner is provided at an appropriate position of the vehicle 1, and the gateway 10 is connected to the connector 4 via a communication line 1d.
  • the diagnostic tool 8 is detachably connected to the connector 4 via a communication cable 8a.
  • the gateway 10 can communicate with the diagnosis tool 8 via the communication line 1d, the connector 4, and the communication cable 8a.
  • the ECUs 2a to 2e are, for example, an ECU that controls the operation of the engine of the vehicle 1, an ECU that controls the locking / unlocking of the door, an ECU that controls the turning on / off of the light, an ECU that controls the operation of the airbag, and an ABS.
  • Various ECUs such as an ECU that controls the operation of (Antilock Brake System) may be included.
  • Each of the ECUs 2a to 2e is connected to a communication line 1a or 1b arranged in the vehicle 1, and can exchange data with the other ECUs 2a to 2e and the gateway 10 via the communication lines 1a and 1b.
  • functions such as engine control, door lock control, or light control are realized by the cooperation of a plurality of ECUs 2a to 2e.
  • two ECUs 2a and 2b connected to the communication line 1a constitute an in-vehicle system 2A that realizes one function by cooperation, and the three ECUs 2c to 2e connected to the communication line 1b cooperate.
  • the vehicle-mounted system 2B which implement
  • the ECUs 2a and 2b of the in-vehicle system 2A perform the respective processes, exchange the information of the processing results by communication, and perform the respective processes based on the information obtained by the information exchange, thereby realizing a function by cooperation.
  • the in-vehicle systems 2A and 2B are provided for each of the communication lines 1a and 1b.
  • the present invention is not limited to this, and a plurality of ECUs included in one in-vehicle system are connected to different communication lines. Also good.
  • the wireless communication device 3 can communicate with the server device 9 installed outside the vehicle 1 by performing wireless communication such as a mobile phone communication network or a wireless local area network (LAN).
  • the wireless communication device 3 can relay communication between the gateway 10 and the server device 9, transmits data provided from the gateway 10 to the server device 9, and transmits data received from the server device 9 to the gateway 10. give.
  • the gateway 10 is connected to a plurality of communication lines 1a to 1d constituting the in-vehicle network of the vehicle 1, and performs a process of relaying data transmission / reception between the communication lines.
  • the gateway 10 has four communication lines 1a to 1d, that is, a first communication line 1a to which two ECUs 2a and 2b are connected, and a second communication to which three ECUs 2c to 2e are connected.
  • the line 1b, the third communication line 1c to which the wireless communication device 3 is connected, and the fourth communication line 1d connected to the connector are connected.
  • the gateway 10 relays data by transmitting data received from any one of the communication lines 1a to 1d to the other communication lines 1a to 1d.
  • the server device 9 manages and stores programs and data executed by the ECUs 2a to 2e mounted on the vehicle 1.
  • the server device 9 notifies whether or not the program or the like needs to be updated in response to an inquiry from the vehicle 1, and when the update is necessary, the server device 9 updates the program and data (hereinafter simply referred to as “update”).
  • update A program
  • the server device 9 distributes version information of the update program together with the update program.
  • the diagnostic tool 8 is an apparatus provided in a dealer of a vehicle 1 or a maintenance factory, for example, and is an apparatus for an operator to inspect a defect of the vehicle 1 or change a setting.
  • the diagnostic tool 8 is a portable device having, for example, an operation unit and a display unit. After the operator connects the communication cable 8a of the diagnostic tool 8 to the connector 4 of the vehicle 1 and undergoes an appropriate authentication process, the diagnostic tool 8 and the gateway 10 of the vehicle 1 can communicate.
  • the diagnostic tool 8 can transmit an update program for updating a program executed by the ECUs 2a to 2e mounted on the vehicle 1 to the vehicle 1.
  • the diagnostic tool 8 transmits version information of the update program together with the update program.
  • the gateway 10 periodically communicates with the server device 9 via the wireless communication device 3 to check whether the programs or data stored in the ECUs 2a to 2e are updated. Check. When there is an update, the gateway 10 acquires the update program from the server device 9 and stores it in its own memory. After the acquisition of the update program is completed, the gateway 10 updates the ECUs 2a to 2e by transmitting the update program to the ECUs 2a to 2e to be updated via the communication lines 1a and 1b. The ECUs 2a to 2e receive the update program transmitted from the gateway 10 and store it in its own memory, and after receiving all the update programs, change the program to be executed to the update program stored therein To update the program.
  • the in-vehicle update system 100 performs update processing using the update program acquired from the diagnostic tool 8 in addition to the update processing using the update program acquired from the server device 9 described above.
  • the update is performed from the diagnosis tool 8.
  • the ECU 2a to 2e can be updated.
  • the diagnostic tool 8 transmits an update program to the vehicle 1 and the gateway 10 receives the update program.
  • the subsequent update processing is the same as when the update program is acquired from the server device 9.
  • the gateway 10 acquires an update program for updating the programs of the ECUs 2a to 2e from the server device 9 using the wireless communication device 3, and the connector 4 There may be a case of obtaining from the connected diagnosis tool 8.
  • an update process using an update program received from the server device 9 is started when the user goes to the dealer for the purpose of vehicle inspection or the like, and the operator performs a diagnosis tool at the dealer before the update process is completed.
  • update processing using 8 is performed.
  • the vehicle 1 and the server device 9 may be automatically communicated to perform the update process.
  • the in-vehicle update system 100 satisfies an update process using the update program acquired from the server device 9 and an update process using the update program acquired from the diagnosis tool 8 under specific conditions. Can be implemented in parallel.
  • the in-vehicle update system 100 acquires version information of the update program when the gateway 10 acquires the update program from the server device 9 or the diagnostic tool 8.
  • the gateway 10 performs update processing using both update programs in parallel by comparing the version information of the update program acquired from the server device 9 and the version information of the update program acquired from the diagnosis tool 8. Determine whether it is possible. Further, when it is determined that the gateway 10 cannot be performed in parallel, the gateway 10 determines which update program using the update program is to be preferentially performed.
  • FIG. 2 is a block diagram showing a configuration of the gateway 10 according to the present embodiment.
  • the gateway 10 includes a processing unit (processor) 11, a storage unit (storage) 12, communication units (transceivers) 13a to 13d, and the like.
  • the processing unit 11 is configured by using an arithmetic processing device such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), for example, and by reading and executing the program 12a stored in the storage unit 12, various processing units 11 can be used. Perform arithmetic processing.
  • the processing unit 11 performs arithmetic processing necessary for relaying data transmission / reception between the communication lines 1a to 1d of the in-vehicle network, update processing of the ECUs 2a to 2e, and the like.
  • the storage unit 12 is configured using a non-volatile memory element such as a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory).
  • the storage unit 12 stores various programs executed by the processing unit 11 and various data necessary for the processing of the processing unit 11.
  • the storage unit 12 stores a program 12a executed by the processing unit 11 and version correspondence information 12b as data necessary for the execution of the program 12a.
  • the program 12a may be written in the storage unit 12 at the manufacturing stage of the gateway 10, for example, and the gateway 10 may acquire, for example, what is distributed by a remote server device by communication.
  • what is recorded on the recording medium 101 such as an optical disk may be read by the gateway 10 and stored in the storage unit 12.
  • the program 12a may be provided in a form of distribution via a network, or may be provided in a form recorded on the recording medium 101.
  • the storage unit 12 stores version correspondence information 12b.
  • the version correspondence information 12b includes a system version given to each in-vehicle system 2A, 2B provided in the vehicle 1 and a device version given to each ECU 2a-2e included in the in-vehicle systems 2A, 2B.
  • FIG. 3 is a schematic diagram illustrating an example of the version correspondence information 12b of the in-vehicle system 2A.
  • the in-vehicle system 2A includes two ECUs 2a and 2b
  • the version correspondence information 12b includes the device version 1 of the ECU 2a and the device of the ECU 2b with respect to the system version 1 of the in-vehicle system 2A.
  • Version 1 is associated. Further, in the version correspondence information 12b, the system version 2 of the in-vehicle system 2A is associated with the device version 2 of the ECU 2a and the device version 1 of the ECU 2b. As for the system version and the device version, the larger the numerical value, the more the new program is used, and the latest version of the program stored in the version correspondence information 12b is applied to each ECU 2a to 2e of the vehicle 1. To do.
  • the gateway 10 acquires version information related to the update program.
  • the version information acquired by the gateway 10 together with the update program of the ECU 2a is shown in the middle part of FIG.
  • the version information acquired by the gateway 10 includes, in addition to the device version of the ECU 2a that acquired the update program, the system version of the in-vehicle system 2A that includes the ECU 2a and the device versions of other ECUs 2b that are included in the in-vehicle system 2A. Information is included.
  • the gateway 10 that acquired the version information together with the update program from the server device 9 or the diagnostic tool 8 performs update processing using the update program, and adds the acquired version information to the version correspondence information 12b of the storage unit 12.
  • Store (refer to the lower part of FIG. 3).
  • the gateway 10 acquires version information having the same contents together with the update program of the ECU 2b. However, when the contents overlap, the acquired version information may be discarded.
  • the version information acquired by the gateway 10 from the server device 9 or the diagnostic tool 8 includes the system version and the device versions of the plurality of ECUs 2a and 2b.
  • the present invention is not limited to this. A configuration that includes a system version and a device version of one ECU 2a and does not include a device version of another ECU 2b may be employed.
  • the gateway 10 includes four communication units 13a to 13d.
  • the communication units 13a to 13d are connected to any of the communication lines 1a to 1d constituting the in-vehicle network, and transmit and receive data according to a predetermined communication protocol.
  • the communication units 13a to 13d transmit and receive data based on the CAN communication standard, but the communication standard may be anything other than CAN.
  • the communication units 13a to 13d transmit information by converting the data supplied from the processing unit 11 into electrical signals and output the signals to the communication lines 1a to 1d, and also sample and acquire the potentials of the communication lines 1a to 1d As a result, the data is received, and the received data is given to the processing unit 11.
  • the four communication units 13a to 13d included in the gateway 10 may perform communication according to different communication protocols.
  • the processing unit 11 executes the program 12a stored in the storage unit 12 so that the update processing unit 11a, the version information acquisition unit 11b, the update execution determination unit 11c, the relay processing unit 11d, and the like function as software. Realized as a block.
  • the update processing unit 11a performs a process of updating the programs stored in the ECUs 2a to 2e by transmitting the update program acquired from the server device 9 or the diagnosis tool 8 to the ECUs 2a to 2e to be updated.
  • the update processing unit 11a makes an inquiry as to whether or not it is necessary to periodically update the programs of the ECUs 2a to 2e mounted on the vehicle 1 by communicating with the server device 9 using the wireless communication device 3. I do.
  • the update processing unit 11 a acquires the update program from the server device 9 and stores it in the storage unit 12. Further, the update processing unit 11 a acquires an update program from the diagnostic tool 8 and stores it in the storage unit 12 when an instruction to update the programs of the ECUs 2 a to 2 e is given from the diagnostic tool 8 connected to the connector 4. To do. Thereafter, the update processing unit 11a transmits the update program stored in the storage unit 12 to the communication line 1a or 1b to which the ECUs 2a to 2e to be updated are connected, and causes the ECUs 2a to 2e to update the program.
  • the version information acquisition unit 11b When the version information acquisition unit 11b acquires an update program from the server device 9 or the diagnosis tool 8, the version information acquisition unit 11b performs a process of acquiring version information related to the update program.
  • the version information acquisition unit 11b adds the version information acquired from the server device 9 or the diagnosis tool 8 to the version correspondence information 12b of the storage unit 12 and stores it.
  • the update execution determination unit 11c performs a process of determining whether or not the update process of the ECUs 2a to 2e using the update program acquired from the server device 9 or the diagnostic tool 8 can be performed.
  • the update execution determination unit 11c performs an update process using this update program. Is determined to be possible.
  • the update execution determination unit 11c performs both update processing in parallel based on the version correspondence information 12b stored in the storage unit 12. It is determined whether or not it is possible. Further, when it is determined that the update execution determination unit 11c cannot be performed in parallel, the update execution determination unit 11c determines which update process is to be performed with priority.
  • the relay processing unit 11d performs a process of relaying data transmission / reception between the communication lines 1a to 1d by transmitting data received on any of the communication lines 1a to 1d from the other communication lines 1a to 1d.
  • the relay processing unit 11d does not need to relay all received data, and performs processing such as determining whether or not to relay the received data and determining a data relay destination.
  • the relay processing unit 11d transmits the received data that needs to be relayed to the communication lines 1a to 1d to which the devices that require this data are connected.
  • FIG. 4 is a block diagram showing a configuration of the ECU 2a according to the present embodiment.
  • the ECU 2a includes a processing unit (processor) 21, a storage unit (storage) 22, a communication unit (transceiver) 23, and the like.
  • the processing unit 21 is configured by using an arithmetic processing device such as a CPU or MPU, for example, and performs various arithmetic processing by reading and executing the program 22a stored in the storage unit 22.
  • the content of the program 22a stored in the storage unit 22 is different for each of the ECUs 2a to 2e.
  • the storage unit 22 is configured using a nonvolatile memory element such as a flash memory or an EEPROM.
  • the storage unit 22 stores a program 22a executed by the processing unit 21 and data necessary for executing the program 22a.
  • program 22a may include program 22a and data necessary for execution of program 22a.
  • the initial program 22a may be written in the storage unit 22 at the manufacturing stage of the ECU 2a, for example, and the ECU 2a reads out and stores the program recorded in a recording medium such as a memory card or an optical disk in the storage unit 22, for example.
  • the recording device may read out what is recorded on the recording medium and write it in the storage unit 22 of the ECU 2a.
  • the ECU 2a after the ECU 2a is mounted on the vehicle 1, the ECU 2a receives the update program transmitted from the gateway 10 via the communication line 1a, and the ECU 2a stores the storage unit 22 by the received update program.
  • the program 22a is updated.
  • the storage unit 22 of the ECU 2a is provided with two areas for storing the program 22a. Each of the two areas has a sufficient storage capacity for storing the program 22a.
  • the processing unit 21 reads the program 22 a from one area of the storage unit 22 and performs processing, and the update program received from the gateway 10 is stored in the other area of the storage unit 22. After completing the reception of all the update programs from the gateway 10, the ECU 2a updates the program 22a by switching the area from which the processing unit 21 reads the program 22a.
  • the communication unit 23 is connected to the communication line 1a constituting the in-vehicle network, and performs data transmission / reception according to a CAN communication protocol, for example.
  • the communication unit 23 transmits the data by converting the data given from the processing unit 21 into an electrical signal and outputs it to the communication line 1a, and receives the data by sampling and acquiring the potential of the communication line 1a. The received data is given to the processing unit 21.
  • the processing unit 21 of the ECU 2a is provided with an update information receiving unit 21a and an update processing unit 21b.
  • the update information receiving unit 21 a and the update processing unit 21 b are functional blocks for updating the program 22 a stored in the storage unit 22.
  • the update information receiving unit 21a and the update processing unit 21b are software functional blocks realized by the processing unit 21 executing a program (not shown) that is different from the program 22a to be updated. is there.
  • the update information receiving unit 21 a receives an update program transmitted via the communication line 1 a or 1 b by the communication unit 23 and stores the received update program in an unused area of the storage unit 22. Process.
  • the update processing unit 21b After the update processing unit 21b completes storage of all the update programs in the unused area of the storage unit 22, the program 22a that is currently executing the area of the storage unit 22 where the processing unit 21 executes the program 22a. A process of switching from the stored area to the area storing the update program is performed. As a result, the processing unit 21 reads and executes the new program 22a acquired from the gateway 10 as an update program from the storage unit 22, and the update of the program 22a is completed. After completion of the update, the ECU 2a may perform data erasure processing on the area of the storage unit 22 where the previous program 22a was stored.
  • the gateway 10 is provided with update programs for the ECUs 2a to 2e from the server device 9 and the diagnostic tool 8, respectively, and a request for updating the ECUs 2a to 2e is given.
  • a request to perform update processing is given only from either the server device 9 or the diagnostic tool 8, the gateway 10 determines that the update processing according to this request can be performed, and performs this update processing. carry out.
  • the gateway 10 determines whether or not both update processing can be performed.
  • the server device 9 when a request to perform update processing is given from both the server device 9 and the diagnostic tool 8”, when a request is given simultaneously from the server device 9 and the diagnostic tool 8, the server device 9 When another request is given from the diagnosis tool 8 after the request from the diagnosis tool 8 is completed until the update processing related to this request is completed, and after the request from the diagnosis tool 8 is given, This may include a case where another request is given from the server device 9 until the update process is completed.
  • the gateway 10 determines that the update processing related to both update requests can be performed in parallel. For example, when the update program for the ECU 2a of the in-vehicle system 2A is received from the server device 9 and the update program for the ECU 2c of the in-vehicle system 2B is received from the diagnosis tool 8, the gateway 10 stores both update programs. It is determined that the update processing used can be performed in parallel, and the transmission of the update program to the ECU 2a via the communication line 1a and the transmission of the update program to the ECU 2c via the communication line 1b are performed in parallel. To do.
  • the gateway 10 includes the system version and the device version included in the version information of both update programs acquired from the server device 9 and the diagnostic tool 8, the system version of the in-vehicle systems 2A and 2B at that time, and the devices of the ECUs 2a to 2e. Compare the version. 5 to 7 are schematic diagrams for explaining whether or not the update process can be performed.
  • the update program for the ECU 2a of the in-vehicle system 2A is received from the server device 9, and the ECU 2b of the in-vehicle system 2A is received from the diagnosis tool 8. Shows an example of version information when the update program is received. 5 to 7, it is assumed that the in-vehicle system 2A is the system version 2, the ECU 2a is the device version 2, and the ECU 2b is the device version 1 before the update process is performed.
  • the example shown in FIG. 5 is a version in the case where an update program for the system version 3 and the device version 3 of the ECU 2a is given from the server device 9, and an update program for the system version 3 and the device version 2 is given from the diagnosis tool 8. Correspondence information 12b.
  • the gateway 10 performs an update process using these update programs. It is determined that it can be performed in parallel.
  • the gateway 10 transmits the update program to the ECU 2a and the update program to the ECU 2b in parallel.
  • the gateway 10 may alternately transmit the update program to both the ECUs 2a and 2b, for example, or one of the ECUs 2a and 2b, for example.
  • the update program may be transmitted to the other ECU 2a, 2b.
  • the method of performing the plurality of update processes by the gateway 10 in parallel does not necessarily have to perform the plurality of update processes simultaneously, and may perform the update processes substantially in parallel as described above.
  • Correspondence information 12b the system version of the update program of the ECU 2a is 3, whereas the system version of the update program of the ECU 2b is 4, and the two system versions do not match.
  • the gateway 10 determines that it is impossible to execute update processing using these update programs in parallel.
  • the gateway 10 determines which update program using the update program is to be executed with priority.
  • the gateway 10 preferentially implements the update program to which a request for performing update processing is given first. For example, if the gateway 10 is first given a request to update the ECU 2a from the server device 9, and then is given a request to update the ECU 2b from the diagnostic tool 8, the gateway 10 has a request to perform the updating process first.
  • the given update process of the ECU 2a is preferentially performed.
  • the gateway 10 may perform the update process of the ECU 2b, for example, or the update process of the ECU 2b is not performed, and when the request to perform the update process is given again from the diagnosis tool 8 Update processing may be performed.
  • the gateway 10 may prioritize update processing using an update program with a new system version. That is, in the example shown in FIG. 6, the gateway 10 may preferentially perform the update process of the ECU 2b because the update program of the ECU 2b has a newer system version. Note that the gateway 10 may interrupt the update process of the ECU 2a and perform the update process of the ECU 2b, for example, when a request to perform the update process of the ECU 2b is given after the update process of the ECU 2a is started.
  • the gateway 10 may be determined in advance which of the server device 9 and the diagnostic tool 8 is given priority. For example, the gateway 10 may be determined in advance to implement an update request from the diagnosis tool 8 with priority. In this case, the gateway 10 preferentially performs the update process of the ECU 2b in the example shown in FIG. The gateway 10 may be determined to prioritize the update process from the server device 9.
  • the example shown in FIG. 7 is a version in the case where an update program for the system version 3 and the device version 3 of the ECU 2a is given from the server device 9, and an update program for the system version 4 and the device version 3 is given from the diagnosis tool 8. Correspondence information 12b.
  • the device version of the ECU 2a corresponding to the system version 4 is 3, and the system versions 3 and 4 have the same device version of the ECU 2a.
  • the gateway 10 determines that the update processing using these update programs can be performed in parallel. That is, even if the system version of the update program of the ECU 2a and the system version of the update program of the ECU 2b do not match, the gateway 10 updates the device version included in both system versions if they match.
  • the gateway 10 compares the system version of the update program of the ECU 2a with the system version of the update program of the ECU 2b, the gateway 10 compares the system version of the update program of the ECU 2a as 3 or 4, and If one matches the system version of the update program of the ECU 2b, it may be determined that the update process can be performed in parallel.
  • FIG. 8 is a flowchart showing a procedure of update processing performed by the gateway 10 according to the present embodiment.
  • the update processing unit 11a of the processing unit 11 of the gateway 10 according to the present embodiment determines whether an update request has been received from either the server device 9 or the diagnostic tool 8 (step S1). Note that the update processing unit 11a periodically inquires the server device 9 about whether or not the ECUs 2a to 2e are updated by the wireless communication device 3, and when a response with an update is obtained in response to this inquiry, the server device It is determined that the update request from 9 has been received.
  • the update processing unit 11a receives an update request from the diagnostic tool 8 when the diagnostic tool 8 is connected to the connector 4 of the vehicle 1 and an instruction to update the ECUs 2a to 2e is given from the diagnostic tool 8. Judge. When the update request from the server apparatus 9 or the diagnostic tool 8 is not received together (S1: NO), the update processing unit 11a waits until an update request is received from either the server apparatus 9 or the diagnostic tool 8. .
  • the update processing unit 11a receives the update program transmitted from the server device 9 or the diagnostic tool 8 that is the transmission source of the update request.
  • an update program used for the update process is acquired (step S2).
  • the version information acquisition unit 11b of the processing unit 11 acquires version information related to the update program from the server device 9 or the diagnostic tool 8 that has transmitted the update program (step S3), and the version of the storage unit 12 In addition to the correspondence information 12b, it is stored.
  • the update processing unit 11a transmits the update program acquired in step S2 to the ECUs 2a to 2e to be updated through the communication units 13a and 13b (step S4).
  • the update processing unit 11a determines whether or not an update request has been received from the server device 9 or the diagnosis tool 8 that has received the update request in step S1 and the other one (step S5).
  • the update processing unit 11a advances the process to step S7.
  • the update processing unit 11a starts a parallel update process in which a plurality of update processes are performed in parallel (step S6), and the process proceeds to step S7.
  • the processing unit 11 performs the parallel update process in step S6 in parallel with the process of this flowchart.
  • the update processing unit 11a determines whether or not the transmission of the update program to the ECUs 2a to 2e that deal with the update has been completed (step S7).
  • the update processing unit 11a returns the process to step S4 and continues to transmit the update program.
  • the update processing unit 11a ends the update process related to the update request received in step S1.
  • FIG. 9 is a flowchart showing the procedure of the update process performed by the gateway 10 according to the present embodiment, and shows the details of the parallel update process started in step S6 of the flowchart shown in FIG.
  • the update processing unit 11a that has started the parallel update process in step S6 acquires an update program from the server device 9 or the diagnostic tool 8 that is the transmission source of the update request received in step S5 (step S11).
  • the version information acquisition unit 11b acquires version information related to the update program from the server device 9 or the diagnostic tool 8 that has transmitted the update program (step S12), and stores the version information in the version correspondence information 12b of the storage unit 12. Add and remember.
  • the update execution determination unit 11c of the processing unit 11 uses the in-vehicle systems 2A and 2B targeted by the update process already performed (update process shown in FIG. 8) and the update program acquired in step S11.
  • the in-vehicle systems 2A and 2B targeted by the update process are compared, and it is determined whether or not both in-vehicle systems 2A and 2B match (step S13). If the in-vehicle systems 2A and 2B do not match (S13: NO), the update execution determination unit 11c determines that the update process using the update program acquired in step S11 can be performed (step S17).
  • the update execution determination unit 11c is used for the update processing that has already been performed based on the version correspondence information 12b stored in the storage unit 12.
  • the system version of the update program is compared with the system version of the update program acquired in step S11, and it is determined whether or not both system versions match (step S14). If the two system versions match (S14: YES), the update execution determination unit 11c determines that the update process using the update program acquired in step S11 can be performed (step S17).
  • the update execution determination unit 11c is based on the version correspondence information 12b stored in the storage unit 12 and is used for the update process that has already been performed.
  • the apparatus version of the update program acquired in step S11 corresponding to the system version of the program is compared with the apparatus version of the update program acquired in step S11, and it is determined whether or not both apparatus versions match (Ste S15).
  • the update execution determination unit 11c determines that the update process using the update program acquired in step S11 can be performed (step S17).
  • the update execution determination unit 11c determines that the update process using the update program acquired in step S11 cannot be performed (step S16).
  • the update process that has been started first is given priority, and the update processing unit 11a performs the update process in parallel.
  • the update processing unit 11a may be configured to preferentially perform update processing using an update program with a new system version when it is determined that update processing cannot be executed in parallel.
  • the update processing unit 11a may compare the system version after step S16 to determine which is the new update program, and perform update processing using the update program with the new system version. .
  • the update processing unit 11a After determining in step S17 that the update processing can be performed in parallel, the update processing unit 11a transmits the update program acquired in step S11 to the ECUs 2a to 2e to be updated in the communication units 13a and 13b. Transmit (step S18).
  • the update processing unit 11a determines whether or not the transmission of the update program to the ECUs 2a to 2e that deal with the update has been completed (step S19). When the transmission of the update program is not completed (S19: NO), the update processing unit 11a returns the process to step S18 and continues to transmit the update program.
  • the update processing unit 11a ends the update process using the update program acquired in step S11.
  • FIG. 10 is a flowchart showing a procedure of update processing performed by the gateway 10 according to the present embodiment, and is processing performed after the processing of FIGS. 8 and 9.
  • the update processing unit 11a of the gateway 10 according to the present embodiment determines whether or not transmission of all update programs related to the update request given from the server device 9 or the diagnostic tool 8 to the ECUs 2a to 2e has been completed. (Step S31). If transmission of all update programs has not been completed (S31: NO), the update processing unit 11a continues to transmit update programs until transmission of all update programs is completed.
  • the update processing unit 11a When the transmission of all the update programs is completed (S31: YES), the update processing unit 11a is updated based on the version correspondence information 12b stored in the storage unit 12 and the current versions of the ECUs 2a to 2e. It is determined whether or not the system version of the in-vehicle systems 2A and 2B and the device versions of the ECUs 2a to 2e included in the in-vehicle systems 2A and 2B have an appropriate correspondence (step S32). When the correspondence between the system version and the device version is appropriate (S32: YES), the update processing unit 11a applies the update program to the ECUs 2a to 2e included in the in-vehicle systems 2A and 2B that have performed the update process.
  • step S33 an update command for performing the update process for each piece is transmitted (step S33), and the process ends.
  • the update processing unit 11a ends the process without transmitting an update command in order to wait for the further update process to be performed.
  • FIG. 11 is a flowchart showing a procedure of update processing performed by the ECUs 2a to 2e according to the present embodiment.
  • the update information receiving unit 21a of the processing unit 21 of the ECUs 2a to 2e according to the present embodiment receives the update program transmitted from the gateway 10 by the communication unit 23 (step S41), and updates it in the storage unit 22. Memorize the program.
  • the update information receiving unit 21a determines whether or not reception of all the update programs has been completed (step S42). When the reception of the update program has not been completed (S42: NO), the update information receiving unit 21a returns the process to step S41, and continues to receive the update program.
  • the update processing unit 21b of the processing unit 21 determines whether or not an update command transmitted from the gateway 10 has been received (step S43). When the update command has not been received (S43: NO), the update processing unit 21b waits until the update command is received. When an update command is received (S43: YES), the update processing unit 21b performs a process of switching the program 22a executed by the processing unit 21 from the currently executing program 22a to the update program received from the gateway 10 ( Step S44) and the updating process is terminated.
  • the gateway 10 performs a process of updating the programs 22a of the plurality of ECUs 2a to 2e mounted on the vehicle 1.
  • the gateway 10 can communicate with devices outside the vehicle 1 such as the server device 9 and the diagnostic tool 8 through a plurality of communication paths of wireless communication using the wireless communication device 3 and wired communication via the connector 4. .
  • the gateway 10 receives the update program for the ECUs 2a to 2e from the server device 9 or the diagnostic tool 8, and transmits the update program to the ECUs 2a to 2e by in-vehicle communication, whereby the ECUs 2a to 2e store the update program in the storage unit 22.
  • the update process of the program 22a is performed.
  • the gateway 10 acquires version information from the server device 9 or the diagnostic tool 8 together with the update program. When different update programs are received from the server device 9 and the diagnostic tool 8, the gateway 10 determines whether or not update processing using each update program can be performed based on the version information. When it is determined that the update process using the plurality of update programs can be performed, the gateway 10 performs the update process using the plurality of update programs in parallel.
  • the gateway 10 when the gateway 10 receives a plurality of update programs from different external devices, the gateway 10 can appropriately determine whether or not the update process using each update program can be performed based on the version information. A plurality of update processes can be performed in parallel.
  • the version information acquired by the gateway 10 from the server device 9 or the diagnostic tool 8 together with the update program includes an in-vehicle system 2A in which a plurality of cooperating ECUs 2a to 2e are grouped. , 2B, and system versions individually attached to the ECUs 2a to 2e.
  • the gateway 10 stores the correspondence relationship between the system version and the device version in the storage unit 12 as version correspondence information 12b. Accordingly, the gateway 10 can appropriately grasp the correspondence between the system version and the device version, and can appropriately determine whether or not the update process using the update program can be performed.
  • the gateway 10 when the gateway 10 according to the present embodiment is for updating ECUs 2a to 2e included in different in-vehicle systems 2A and 2B, a plurality of update programs given from the server device 9 and the diagnosis tool 8 are used. Update processing using a plurality of update programs is performed in parallel. Since there is no version dependency between the ECUs 2a to 2e included in the different in-vehicle systems 2A and 2B, update processing can be performed in parallel regardless of the system version and the device version.
  • the gateway 10 when a plurality of update programs given from the server device 9 and the diagnostic tool 8 are for updating the ECUs 2a to 2e included in the common in-vehicle systems 2A and 2B, Compare the system versions of multiple update programs. When the system versions of the plurality of update programs are the same, the gateway 10 performs update processing using the plurality of update programs in parallel. Since it is preferable that the programs 22a executed by the plurality of ECUs 2a to 2e included in the common in-vehicle systems 2A and 2B have the same system version, the gateway 10 performs the update process in parallel for the update program having the same system version. It can be determined that implementation is possible.
  • the gateway 10 gives priority to the update process of the update program started first when the system versions of the plurality of update programs given from the server device 9 and the diagnosis tool 8 are different. It is determined that the update process for the update program received later cannot be performed. As a result, the gateway 10 can prevent the update process that has already been started from being forcibly terminated in the middle and causing a malfunction.
  • the gateway 10 gives priority to the update processing of the update program with the latest system version when the system versions of the plurality of update programs given from the server device 9 and the diagnosis tool 8 are different. It may be determined that the update process of another update program cannot be performed. Thereby, the gateway 10 can update the program 22a of the ECUs 2a to 2e to the latest system version.
  • the gateway 10 is different in that the system versions of the plurality of update programs given from the server device 9 and the diagnosis tool 8 are different, and the update that should be determined to be impossible to execute the update process in parallel. Even if the program version is the same as the system version corresponding to the system version of the update program that is determined to prioritize the update process, the update program is The used update process can be executed in parallel. For exceptional cases where the corresponding device versions are the same even if the system versions are different, it is possible to perform the update process more efficiently by determining that the gateway 10 can execute the update process in parallel. Become.
  • the target device for updating the program or data is the ECUs 2a to 2e.
  • the present invention is not limited to this, and the program or data is updated for various in-vehicle devices other than the ECUs 2a to 2e. It may be a configuration.
  • the gateway 10 is the device that performs the update processing of the ECUs 2a to 2e.
  • the present invention is not limited to this.
  • any one of the ECUs 2a to 2e acquires update data of the other ECUs 2a to 2e.
  • the transmission may be configured, and various devices other than the gateway 10 and the ECUs 2a to 2e may perform the update process.
  • the apparatus which transmits the program for an update to the vehicle 1 was made into the server apparatus 9 and the diagnosis tool 8, it is not restricted to this, Other apparatuses transmit the program for an update to the vehicle 1 by wired or wireless communication. It is good as composition.
  • the gateway 10 is configured to communicate with the server device 9 using the wireless communication device 3, but the present invention is not limited to this, and the gateway 10 may be configured to have a wireless communication function.
  • the gateway 10 is configured to perform wired communication with the diagnostic tool 8 via the connector 4, but is not limited thereto, and performs wireless communication such as wireless LAN (Local Area Network) or Bluetooth (registered trademark). It is good also as a structure.
  • update processing in the present embodiment may include not only updating the program executed by the ECUs 2a to 2e, but also processing for updating data used for processing performed by executing the program, and the program code ( A process of updating only the data without updating the instruction) may also be included.
  • the “update program” may be any one that includes only the code of the program to be updated, one that includes both the program code and data, and one that includes only the data without including the program code.
  • Each device in the in-vehicle update system includes a computer including a microprocessor, a ROM, a RAM, and the like.
  • An arithmetic processing unit such as a microprocessor reads and executes a computer program including a part or all of each step of a sequence diagram or flowchart as shown in FIGS. 8 to 11 from a storage unit such as a ROM or a RAM.
  • Each of the computer programs of the plurality of apparatuses can be installed from an external server apparatus or the like.
  • the computer programs of the plurality of devices are distributed in a state where they are stored in a recording medium such as a CD-ROM, a DVD-ROM, or a semiconductor memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

異なる経路から複数の更新処理が与えられた場合に、車両に搭載された複数の車載装置の更新処理を適切に行うことができる車載更新装置、更新処理方法及び更新処理プログラムを提供する。 本実施の形態に係る車載更新装置は、車外通信部にて通信を行い、複数の車外通信部にて異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定する実施判定部とを備え、更新処理部は、実施判定部が複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。

Description

車載更新装置、更新処理方法及び更新処理プログラム
 本開示は、車両に搭載された車載装置のプログラム又はデータを更新する車載更新装置、更新処理方法及び更新処理プログラムに関する。
 従来、車両には複数のECU(Electronic Control Unit)などの車載装置が搭載され、複数のECUがCAN(Controller Area Network)バスなどの通信線を介して接続されて相互に情報の送受信を行うことが可能とされている。各ECUは、フラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の記憶部に記憶されたプログラムをCPU(Central Processing Unit)などの処理装置が読み出して実行することにより、車両の制御などの種々の処理を行っている。ECUの記憶部に記憶されたプログラム又はデータは、例えば機能追加、不具合の修正又はバージョンアップ等の必要が生じた際には、新たなプログラム又はデータに書き換える更新処理を行う必要がある。この場合、更新処理の対象となるECUに対して、通信線を介して更新用のプログラム又はデータを送信することが行われている。
 特許文献1においては、ネットワークに含まれる書換可能な全てのECUから読み出した現在バージョン情報と、この現在バージョン情報に対応する最新バージョン情報とを比較し、両バージョン情報が一致しないECUを対象ECUとして抽出し、抽出した対象ECUに対して順番DB(データベース)に記憶されている優先順番でプログラム書換動作を連続して実行するプログラム書換装置が提案されている。
特開2016-188016号公報
 特許文献1に記載のプログラム書換装置は、例えば車両のディーラ又は整備工場等に備えられる装置であり、車両に設けられたコネクタに有線接続された後、車両のゲートウェイに対してECUの更新用のプログラムを送信する構成である。これに対して近年では、車両とサーバ装置とが無線通信を行い、サーバ装置がECUの更新用プログラムを車両へ送信することで車両のECUの更新処理を行う技術、いわゆるリモートリプログラミングの技術が研究開発されている。リモートプログラミングによる更新処理を行う機能と、プログラム書換装置などの有線接続による更新処理を行う機能とが共に車両に搭載された場合、両更新処理を実施する要求が同時的に行われる可能性がある。例えば、一方の機能による更新処理を行っている途中に、他方の機能による更新処理を行う要求が与えられる可能性がある。このような場合の対処法について、従来は検討がなされていなかった。
 本開示は、斯かる事情に鑑みてなされたものであって、その目的とするところは、異なる経路から複数の更新処理が与えられた場合に、車両に搭載された複数の車載装置の更新処理を適切に行うことができる車載更新装置、更新処理方法及び更新処理プログラムを提供することにある。
 本態様に係る車載更新装置は、車両の外部の装置と通信を行う複数の車外通信部と、前記車両に搭載された複数の車載装置との通信を行う車内通信部と、前記車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを、前記車外通信部にて前記外部の装置から受信して、前記車内通信部にて前記車載装置へ送信する更新処理部とを備える車載更新装置であって、複数の前記車外通信部にて異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定する実施判定部を備え、前記更新処理部は、前記実施判定部が複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。
 本態様に係る更新処理方法は、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する更新処理方法であって、複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。
 本態様に係る更新処理プログラムは、コンピュータに、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する処理を行わせる更新処理プログラムであって、複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する処理を行わせる。
 なお、本願は、このような特徴的な処理部を備える車載更新装置として実現することができるだけでなく、かかる特徴的な処理をステップとする更新処理方法として実現したり、かかるステップをコンピュータに実行させるための更新処理プログラムとして実現したりすることができる。また、車載更新装置の一部又は全部を実現する半導体集積回路として実現したり、車載更新装置を含むその他の装置又はシステムとして実現したりすることができる。
 上記によれば、異なる経路から複数の更新処理が与えられた場合に、車両に搭載された複数の車載装置の更新処理を適切に行うことが可能となる。
本実施の形態に係る車載更新システムの構成を示す模式図である。 本実施の形態に係るゲートウェイの構成を示すブロック図である。 車載システムのバージョン対応情報の一例を示す模式図である。 本実施の形態に係るECUの構成を示すブロック図である。 更新処理の実施の可否判定を説明するための模式図である。 更新処理の実施の可否判定を説明するための模式図である。 更新処理の実施の可否判定を説明するための模式図である。 本実施の形態に係るゲートウェイが行う更新処理の手順を示すフローチャートである。 本実施の形態に係るゲートウェイが行う更新処理の手順を示すフローチャートである。 本実施の形態に係るゲートウェイが行う更新処理の手順を示すフローチャートである。 本実施の形態に係るECUが行う更新処理の手順を示すフローチャートである。
[本開示の実施の形態の説明]
 最初に本開示の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本態様に係る車載更新装置は、車両の外部の装置と通信を行う複数の車外通信部と、前記車両に搭載された複数の車載装置との通信を行う車内通信部と、前記車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを、前記車外通信部にて前記外部の装置から受信して、前記車内通信部にて前記車載装置へ送信する更新処理部とを備える車載更新装置であって、複数の前記車外通信部にて異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定する実施判定部を備え、前記更新処理部は、前記実施判定部が複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。
 本態様にあっては、車両に搭載された複数の車載装置のプログラムを更新する処理を行う車載更新装置が、有線又は無線による複数の通信経路で車両の外部の装置と通信を行うことができる。車載更新装置は、外部の装置から車載装置の更新用プログラムを受信し、車内通信にて更新用プログラムを車載装置へ送信することで、この車載装置が記憶しているプログラムの更新処理を行う。車載更新装置は、外部の装置から更新用プログラムと共に、更新用プログラムのバージョン情報を取得する。異なる外部の装置から異なる更新用プログラムを受信した場合、車載更新装置は、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施の可否を判定する。複数の更新用プログラムを用いた更新処理が実施可能であると判定した場合、車載更新装置は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。
 これにより車載更新装置は、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
(2)前記バージョン情報は、協働する複数の車載装置を一群とした車載システムに対して付されるシステムバージョンと、各車載装置に対して個別に付される装置バージョンとを含み、前記システムバージョン及び前記装置バージョンの対応関係を記憶する記憶部を備え、前記実施判定部は、複数の更新用プログラムが異なる車載システムに含まれる車載装置の更新用である場合に、当該複数の更新用プログラムを用いた更新処理を実施可能と判定することが好ましい。
 本態様にあっては、更新用プログラムと共に外部の装置から取得するバージョン情報には、協働する複数の車載装置を一群とした車載システムに対して付されるシステムバージョンと、車載装置に対して個別に付される装置バージョンとが含まれる。車載更新装置は、システムバージョンと装置バージョンとの対応関係を記憶しておく。これにより車載更新装置は、システムバージョン及び装置バージョンの対応関係を適切に把握し、更新用プログラムを用いた更新処理の実施の可否を適切に判定することができる。
 例えば複数の外部装置から与えられた複数の更新用プログラムが異なる車載システムに含まれる車載装置の更新用のものである場合、車載更新装置は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。異なる車載システムに含まれる車載装置の間にはバージョンの依存関係がないため、システムバージョン及び装置バージョンに関わらず更新処理を並行して実施することが可能である。
(3)前記実施判定部は、システムバージョンが同じ複数の更新用プログラムを用いた更新処理を実施可能と判定することが好ましい。
 本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムが、共通の車載システムに含まれる車載装置の更新用のものである場合、車載更新装置は、複数の更新用プログラムのシステムバージョンを比較する。複数の更新用プログラムのシステムバージョンが同じである場合、車載更新装置は、この複数の更新用プログラムを用いた更新処理を並行して実施する。車載システムに含まれる複数の車載装置が実行するプログラムはシステムバージョンが一致することが好ましいため、車載更新装置は、システムバージョンが同じ更新用プログラムについては更新処理を並行して実施可能と判定することができる。
(4)前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、先に更新処理を開始した一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定することが好ましい。
 本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、車載更新装置は、処理を先に開始した更新用プログラムの更新処理を優先して行い、後から受信した更新用プログラムの更新処理を実施不可能と判定する。これにより、既に開始されている更新処理が途中で強制的に終了されて不具合などが発生することを防止できる。
(5)前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、システムバージョンが最新の一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定することが好ましい。
 本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、車載更新装置は、システムバージョンが最新の更新用プログラムの更新処理を優先して行い、他の更新用プログラムの更新処理を実施不可能と判定する。これにより車載更新装置は、車載装置のプログラムを最新のシステムバージョンへ更新することができる。
(6)前記実施判定部は、前記他の更新用プログラムの装置バージョンが、更新処理を優先したシステムバージョンに対応する装置バージョンと同じである場合には、前記他の更新用プログラムを用いた更新処理を並列して実施可能と判定することが好ましい。
 本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムのシステムバージョンが異なり、更新処理が実施不可能と判定すべき更新用プログラムであっても、この更新用プログラムの装置バージョンが、更新処理を優先して実施可能と判定したシステムバージョンに対応する装置バージョンと同じである場合には、この更新用プログラムを用いた更新処理を並列して実施可能とする。システムバージョンが異なっていても対応する装置バージョンが同じという例外的な場合については、車載更新装置が更新処理を実施可能と判定することによって、更新処理をより効率的に行うことが可能となる。
(7)本態様に係る更新処理方法は、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する更新処理方法であって、複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。
 本態様にあっては、態様(1)と同様に、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
(8)本態様に係る更新処理プログラムは、コンピュータに、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する処理を行わせる更新処理プログラムであって、複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する処理を行わせる。
 本態様にあっては、態様(1)と同様に、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
[本開示の実施形態の詳細]
 本開示の実施形態に係る車載更新システムの具体例を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 <システム概要>
 図1は、本実施の形態に係る車載更新システムの構成を示す模式図である。本実施の形態に係る車載更新システム100は、車両1に搭載された複数のECU2a~2eと、1つの無線通信装置3と、1つのゲートウェイ10とを備えている。各ECU2a~2eは、通信線1a又は1bのいずれかに接続されており、接続された通信線1a又は1bを介した通信を行うことができる。図示の例においては、通信線1aに2つのECU2a,2bが接続され、通信線1bに3つのECU2c~2eが接続されており、2つの通信線1a,1bはゲートウェイ10に接続されている。ゲートウェイ10は通信線1a,1b間の通信を中継し、これにより複数のECU2a~2eは通信線1a,1b及びゲートウェイ10を介して通信を行うことができる。
 また本実施の形態に係る車載更新システム100では、ゲートウェイ10に通信線1cを介して無線通信装置3が接続されている。ゲートウェイ10は、無線通信装置3を介して車両1の外部に設置されたサーバ装置9との通信を行うことができる。また車両1の適所には外部の機器を有線で接続するためのコネクタ4が設けられており、ゲートウェイ10は通信線1dを介してコネクタ4に接続されている。コネクタ4には、例えば通信ケーブル8aを介してダイアグツール8が着脱可能に接続される。これによりゲートウェイ10は、通信線1d、コネクタ4及び通信ケーブル8aを介してダイアグツール8との通信を行うことができる。
 ECU2a~2eは、例えば車両1のエンジンの動作を制御するECU、ドアのロック/アンロックを制御するECU、ライトの点灯/消灯を制御するECU、エアバッグの動作を制御するECU、及び、ABS(Antilock Brake System)の動作を制御するECU等の種々のECUが含まれ得る。各ECU2a~2eは、車両1に配された通信線1a又は1bに接続され、通信線1a,1bを介して他のECU2a~2e及びゲートウェイ10との間でデータの送受信を行うことができる。
 また本実施の形態に係る車両1においては、エンジンの制御、ドアロックの制御又はライトの制御等の機能が、複数のECU2a~2eの協働により実現されている。図示の例では、通信線1aに接続された2つのECU2a、2bは協働により1つの機能を実現する車載システム2Aを構成しており、通信線1bに接続された3つのECU2c~2eは協働により1つの機能を実現する車載システム2Bを構成している。例えば車載システム2AのECU2a,2bは、各々の処理を行って処理結果を通信により情報交換し、情報交換により得られた情報を基に各々の処理を行うことで、協働による機能を実現している。なお本例では、通信線1a,1b毎に車載システム2A,2Bを設ける構成としているが、これに限るものではなく、1つの車載システムに含まれる複数のECUが異なる通信線に接続されていてもよい。
 無線通信装置3は、例えば携帯電話通信網又は無線LAN(Local Area Network)等の無線通信を行うことによって、車両1の外部に設置されたサーバ装置9との間で通信を行うことができる。無線通信装置3は、ゲートウェイ10及びサーバ装置9の間の通信を中継することができ、ゲートウェイ10から与えられたデータをサーバ装置9へ送信すると共に、サーバ装置9から受信したデータをゲートウェイ10へ与える。
 ゲートウェイ10は、車両1の車内ネットワークを構成する複数の通信線1a~1dが接続され、通信線間のデータの送受信を中継する処理を行う。図1に示す例においては、ゲートウェイ10には4つの通信線1a~1d、即ち2つのECU2a,2bが接続された第1の通信線1a、3つのECU2c~2eが接続された第2の通信線1b、無線通信装置3が接続された第3の通信線1c、並びに、コネクタに接続された第4の通信線1dが接続されている。ゲートウェイ10は、いずれかの通信線1a~1dから受信したデータを他の通信線1a~1dへ送信することによって、データの中継を行う。
 サーバ装置9は、車両1に搭載されるECU2a~2eにて実行されるプログラム及びデータを管理及び記憶している。サーバ装置9は、車両1からの問合わせに応じてプログラムなどの更新が必要であるか否かを通知すると共に、更新が必要である場合には更新用のプログラム及びデータ(以下、単に更新用プログラムという)を車両1へ配信する処理を行う。またサーバ装置9は、更新用プログラムのバージョン情報を更新用プログラムと共に配信する。
 ダイアグツール8は、例えば車両1のディーラ又は整備工場等に備えられる装置であり、車両1の不具合の検査又は設定変更等を作業者が行うための装置である。ダイアグツール8は、例えば操作部及び表示部等を有する可搬型の装置である。作業者がダイアグツール8の通信ケーブル8aを車両1のコネクタ4に接続し、適宜の認証処理などを経た後で、ダイアグツール8及び車両1のゲートウェイ10が通信可能となる。本実施の形態においてダイアグツール8は、車両1に搭載されたECU2a~2eが実行するプログラムを更新するための更新用プログラムを車両1へ送信することができる。またダイアグツール8は、更新用プログラムのバージョン情報を更新用プログラムと共に送信する。
 本実施の形態に係る車載更新システム100では、ゲートウェイ10が無線通信装置3を介して定期的にサーバ装置9との通信を行い、ECU2a~2eが記憶しているプログラム又はデータの更新の有無を確認する。更新がある場合、ゲートウェイ10は、更新用プログラムをサーバ装置9から取得して自身のメモリに記憶する。更新用プログラムの取得が完了した後、ゲートウェイ10は、通信線1a,1bを介して更新対象のECU2a~2eへ更新用プログラムを送信することによって、ECU2a~2eの更新処理を行う。ECU2a~2eは、ゲートウェイ10から送信された更新用プログラムを受信して自身のメモリに蓄積し、更新用プログラムを全て受信し終えた後に自身の実行するプログラムを蓄積した更新用プログラムに変更することによって、プログラムの更新を行う。
 また本実施の形態に係る車載更新システム100は、上述のサーバ装置9から取得した更新用プログラムを用いた更新処理の他に、ダイアグツール8から取得した更新用プログラムを用いた更新処理を行うことが可能である。例えば車両1のディーラ又は整備工場等の作業者は、ダイアグツール8を接続して車両1の検査を行い、ECU2a~2eのプログラムを更新する必要があると判断した場合に、ダイアグツール8から更新用プログラムを車両1へ送信してECU2a~2eの更新処理を行わせることができる。作業者の操作に応じてダイアグツール8は更新用プログラムを車両1へ送信し、この更新用プログラムをゲートウェイ10が受信する。以降の更新処理は、サーバ装置9から更新用プログラムを取得した場合と同様である。
 本実施の形態に係る車載更新システム100では、ゲートウェイ10がECU2a~2eのプログラムの更新するための更新用プログラムを、無線通信装置3を利用してサーバ装置9から取得する場合と、コネクタ4に接続されたダイアグツール8から取得する場合とがあり得る。例えば、ユーザが車両1を車検などの目的でディーラへ向かう際にサーバ装置9から受信した更新プログラムを用いた更新処理が開始され、この更新処理が終了する前にディーラにて作業者がダイアグツール8を用いた更新処理を実施する可能性がある。また例えば、ディーラにて作業者がダイアグツール8を用いた更新処理を開始した後に、車両1及びサーバ装置9の自動的な通信が行われて更新処理が行われる可能性がある。
 本実施の形態に係る車載更新システム100は、サーバ装置9から取得した更新用プログラムを用いた更新処理と、ダイアグツール8から取得した更新用プログラムを用いた更新処理とを、特定の条件が成立する場合に、並列して実施することが可能である。車載更新システム100は、ゲートウェイ10がサーバ装置9又はダイアグツール8から更新用プログラムを取得する際に、更新用プログラムのバージョン情報を取得する。ゲートウェイ10は、サーバ装置9から取得した更新用プログラムのバージョン情報と、ダイアグツール8から取得した更新用プログラムのバージョン情報を比較することで、両更新用プログラムを用いた更新処理を並行して実施可能であるか否かを判定する。またゲートウェイ10は、並行して実施することができないと判定した場合、いずれの更新用プログラムを用いた更新処理を優先して行うかを判定する。
 <装置構成>
 図2は、本実施の形態に係るゲートウェイ10の構成を示すブロック図である。本実施の形態に係るゲートウェイ10は、処理部(プロセッサ)11、記憶部(ストレージ)12及び通信部(トランシーバ)13a~13d等を備えて構成されている。処理部11は、例えばCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を用いて構成され、記憶部12に記憶されたプログラム12aを読み出して実行することにより、種々の演算処理を行う。本実施の形態において処理部11は、車内ネットワークの通信線1a~1d間のデータ送受信を中継する処理、及び、ECU2a~2eの更新処理等に必要な演算処理を行う。
 記憶部12は、フラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子を用いて構成されている。記憶部12は、処理部11が実行する各種のプログラム、及び、処理部11の処理に必要な各種のデータを記憶する。本実施の形態において記憶部12は、処理部11が実行するプログラム12aと、このプログラム12aの実行に必要なデータとしてバージョン対応情報12bとを記憶している。なおプログラム12aは、例えばゲートウェイ10の製造段階において記憶部12に書き込まれてもよく、また例えば遠隔のサーバ装置などが配信するものをゲートウェイ10が通信にて取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体101に記録されたものをゲートウェイ10が読み出して記憶部12に記憶してもよく、また例えば記録媒体101に記録されたものを書込装置が読み出してゲートウェイ10の記憶部12に書き込んでもよい。プログラム12aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体101に記録された態様で提供されてもよい。
 本実施の形態において記憶部12には、バージョン対応情報12bが記憶される。バージョン対応情報12bは、車両1に備えられた各車載システム2A,2Bに対して付与されたシステムバージョンと、車載システム2A,2Bに含まれる各ECU2a~2eに対して付与された装置バージョンとの対応が記憶されている。図3は、車載システム2Aのバージョン対応情報12bの一例を示す模式図である。図3の上段に示すように、車載システム2Aには2つのECU2a,2bが含まれており、バージョン対応情報12bには車載システム2Aのシステムバージョン1に対してECU2aの装置バージョン1及びECU2bの装置バージョン1が対応付けられている。またバージョン対応情報12bには、車載システム2Aのシステムバージョン2に対してECU2aの装置バージョン2及びECU2bの装置バージョン1が対応付けられている。なおシステムバージョン及び装置バージョンは、数値が大きいほど新しいプログラムが用いられているものとし、バージョン対応情報12bに記憶された最新のバージョンのプログラムが車両1の各ECU2a~2eに適用されているものとする。
 ゲートウェイ10は、サーバ装置9又はダイアグツール8から更新用プログラムを取得した際に、この更新用プログラムに関するバージョン情報を取得する。例えばゲートウェイ10がECU2aの更新用プログラムと共に取得したバージョン情報を図3の中段に示す。ゲートウェイ10が取得するバージョン情報には、更新用プログラムを取得したECU2aの装置バージョンの他に、このECU2aが含まれる車載システム2Aのシステムバージョンと、この車載システム2Aに含まれる他のECU2bの装置バージョンとの情報が含まれる。
 サーバ装置9又はダイアグツール8から更新用プログラムと共にバージョン情報を取得したゲートウェイ10は、更新用プログラムを用いた更新処理を行うと共に、取得したバージョン情報を記憶部12のバージョン対応情報12bに追加して記憶する(図3の下段参照)。なおゲートウェイ10は、ECU2bの更新用プログラムと共に同じ内容のバージョン情報を取得するが、内容が重複する場合には取得したバージョン情報を破棄してよい。また本実施の形態においては、ゲートウェイ10がサーバ装置9又はダイアグツール8から取得するバージョン情報に、システムバージョンと共に複数のECU2a,2bの装置バージョンを含む構成としたが、これに限るものではなく、システムバージョンと1つのECU2aの装置バージョンを含み、他のECU2bの装置バージョンを含まない構成であってもよい。
 また、本実施の形態においてゲートウェイ10は、4つの通信部13a~13dを備えている。通信部13a~13dは、車内ネットワークを構成する通信線1a~1dのいずれかに接続され、所定の通信プロトコルに従ってデータの送受信を行う。本実施の形態において、通信部13a~13dはCANの通信規格に基づくデータの送受信を行うものとするが、通信規格はCAN以外のどのようなものであってもよい。通信部13a~13dは、処理部11から与えられたデータを電気信号に変換して通信線1a~1dへ出力することによって情報を送信すると共に、通信線1a~1dの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部11へ与える。なおゲートウェイ10が備える4つの通信部13a~13dは、それぞれ異なる通信プロトコルに従って通信を行うものであってもよい。
 また処理部11には、記憶部12に記憶されたプログラム12aが実行されることによって、更新処理部11a、バージョン情報取得部11b、更新実施判定部11c及び中継処理部11d等がソフトウェア的な機能ブロックとして実現される。更新処理部11aは、サーバ装置9又はダイアグツール8から取得した更新用プログラムを更新対象のECU2a~2eへ送信することによって、ECU2a~2eが記憶しているプログラムを更新する処理を行う。更新処理部11aは、無線通信装置3を用いたサーバ装置9との通信を行うことにより、定期的に車両1に搭載されたECU2a~2eのプログラムを更新する必要があるか否かの問合わせを行う。更新の必要がある場合、更新処理部11aは、サーバ装置9から更新用プログラムを取得して記憶部12に記憶する。また更新処理部11aは、コネクタ4に接続されたダイアグツール8からECU2a~2eのプログラムを更新する旨の命令が与えられた場合、ダイアグツール8から更新用プログラムを取得して記憶部12に記憶する。その後、更新処理部11aは、記憶部12に記憶した更新用プログラムを、更新対象のECU2a~2eが接続された通信線1a又は1bへ送信し、ECU2a~2eにプログラムの更新を行わせる。
 バージョン情報取得部11bは、サーバ装置9又はダイアグツール8から更新用プログラムを取得する際に、この更新用プログラムに関するバージョン情報を取得する処理を行う。バージョン情報取得部11bは、サーバ装置9又はダイアグツール8から取得したバージョン情報を、記憶部12のバージョン対応情報12bに追加して記憶する。
 更新実施判定部11cは、サーバ装置9又はダイアグツール8から取得した更新用プログラムを用いたECU2a~2eの更新処理の実施の可否を判定する処理を行う。サーバ装置9又はダイアグツール8のいずれか一方のみから更新用プログラムが与えられてECU2a~2eを更新する要求が与えられている場合、更新実施判定部11cは、この更新用プログラムを用いた更新処理の実施が可能であると判定する。サーバ装置9及びダイアグツール8の両方から更新処理の要求が与えられている場合、更新実施判定部11cは、記憶部12に記憶したバージョン対応情報12bに基づいて、両更新処理を並行して実施することが可能であるか否かを判定する。また更新実施判定部11cは、並行して実施することが可能ではないと判定した場合、いずれの更新処理を優先して実施するかを判定する。
 中継処理部11dは、いずれかの通信線1a~1dにて受信したデータを、他の通信線1a~1dから送信することによって、通信線1a~1d間のデータ送受信を中継する処理を行う。中継処理部11dは、受信した全てのデータを中継する必要はなく、受信したデータについて中継の要否の判定、及び、データの中継先の決定等の処理を行う。中継処理部11dは、中継が必要な受信データを、このデータを必要とする装置が接続された通信線1a~1dへ送信する。
 図4は、本実施の形態に係るECU2aの構成を示すブロック図である。なお本図においては、車両1に搭載された複数のECU2a~2eのうち、1つのECU2aの構成を図示しているが、他のECU2b~2eについても同様の構成である。また図4に示すブロック図は、複数のECU2a~2eに共通の機能ブロックを抜き出して示しており、ECU2a~2e毎に異なる機能ブロックについては図示を省略している。本実施の形態に係るECU2aは、処理部(プロセッサ)21、記憶部(ストレージ)22及び通信部(トランシーバ)23等を備えて構成されている。処理部21は、例えばCPU又はMPU等の演算処理装置を用いて構成され、記憶部22に記憶されたプログラム22aを読み出して実行することにより、種々の演算処理を行う。なお記憶部22に記憶されるプログラム22aは、ECU2a~2e毎にその内容が異なっている。
 記憶部22は、フラッシュメモリ又はEEPROM等の不揮発性のメモリ素子を用いて構成されている。記憶部22は、処理部21が実行するプログラム22aと、このプログラム22aの実行に必要なデータとを記憶する。なお以下において"プログラム22a"との記載には、プログラム22aと、このプログラム22aの実行に必要なデータとを含み得る。最初期のプログラム22aは、例えばECU2aの製造段階において記憶部22に書き込まれてもよく、また例えばメモリカード又は光ディスク等の記録媒体に記録されたものをECU2aが読み出して記憶部22に記憶してもよく、また例えば記録媒体に記録されたものを書込装置が読み出してECU2aの記憶部22に書き込んでもよい。ただし本実施の形態においては、ECU2aが車両1に搭載された後、ゲートウェイ10から通信線1aを介して送信された更新用プログラムをECU2aが受信し、受信した更新用プログラムによりECU2aが記憶部22のプログラム22aを更新する。
 本実施の形態においてECU2aの記憶部22は、プログラム22aを記憶するための2つの領域が設けられている。2つの領域は、いずれもプログラム22aを記憶する十分な記憶容量を有している。処理部21は記憶部22の一方の領域からプログラム22aを読み出して処理を行い、ゲートウェイ10から受信した更新用プログラムが記憶部22の他方の領域に記憶される。ECU2aは、ゲートウェイ10から更新用プログラムの全ての受信を完了した後、処理部21がプログラム22aを読み出す領域を切り替えることによって、プログラム22aの更新を行う。
 通信部23は、車内ネットワークを構成する通信線1aに接続され、例えばCANの通信プロトコルに従ってデータの送受信を行う。通信部23は、処理部21から与えられたデータを電気信号に変換して通信線1aへ出力することによってデータを送信すると共に、通信線1aの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部21へ与える。
 また本実施の形態に係るECU2aの処理部21には、更新用情報受信部21a及び更新処理部21bが設けられている。更新用情報受信部21a及び更新処理部21bは、記憶部22に記憶されたプログラム22aの更新を行うための機能ブロックである。更新用情報受信部21a及び更新処理部21bは、更新処理の対象となるプログラム22aとは別のプログラム(図示は省略する)を処理部21が実行することにより実現されるソフトウェア的な機能ブロックである。更新用情報受信部21aは、通信線1a又は1bを介して送信される更新用のプログラムを通信部23にて受信し、受信した更新用のプログラムを記憶部22の未使用の領域に記憶する処理を行う。
 更新処理部21bは、記憶部22の未使用領域に更新用プログラムの全ての記憶を完了した後、処理部21がプログラム22aを実行する記憶部22の領域を、現在実行しているプログラム22aが記憶されている領域から、更新用プログラムを記憶した領域へ切り替える処理を行う。これにより処理部21は、ゲートウェイ10から更新用プログラムとして取得した新たなプログラム22aを記憶部22から読み出して実行し、プログラム22aの更新が完了する。更新完了後、ECU2aは、以前のプログラム22aが記憶されていた記憶部22の領域に対して、データの消去処理を行ってもよい。
 <更新処理>
 本実施の形態に係る車載更新システム100では、ゲートウェイ10がサーバ装置9及びダイアグツール8からそれぞれECU2a~2eの更新用プログラムを与えられ、ECU2a~2eの更新処理を行う要求が与えられる。サーバ装置9又はダイアグツール8のいずれか一方のみから更新処理を行う要求が与えられた場合、ゲートウェイ10は、この要求に係る更新処理を実施することが可能であると判定し、この更新処理を実施する。
 これに対して、サーバ装置9及びダイアグツール8の両方から更新処理を行う要求が与えられた場合、ゲートウェイ10は、両更新処理の実施の可否を判定する。なお、上記の「サーバ装置9及びダイアグツール8の両方から更新処理を行う要求が与えられた場合」には、サーバ装置9及びダイアグツール8から同時的に要求が与えられた場合、サーバ装置9からの要求が与えられてからこの要求に係る更新処理が完了するまでの間にダイアグツール8から別の要求が与えられた場合、並びに、ダイアグツール8からの要求が与えられてからこの要求に係る更新処理が完了するまでの間にサーバ装置9から別の要求が与えられた場合を含み得る。
 サーバ装置9から与えられた更新要求の対象となるECU2a~2eが含まれる車載システム2A,2Bと、ダイアグツール8から与えられた更新要求の対象となるECU2a~2eが含まれる車載システム2A,2Bとが異なる場合、ゲートウェイ10は、両更新要求に係る更新処理を並列して実施可能と判定する。例えば、サーバ装置9から車載システム2AのECU2aのための更新用プログラムを受信し、ダイアグツール8から車載システム2BのECU2cのための更新用プログラムを受信した場合、ゲートウェイ10は、両更新用プログラムを用いた更新処理を並列して実施可能と判定し、通信線1aを介したECU2aへの更新用プログラムの送信と、通信線1bを介したECU2cへの更新用プログラムの送信とを並列して実施する。
 サーバ装置9からの更新要求の対象となる車載システム2A,2Bと、ダイアグツール8からの更新要求の対象となる車載システム2A,2Bとが同じであり、更新対象となるECU2a~2eが異なる場合、ゲートウェイ10は、サーバ装置9及びダイアグツール8から取得した両更新用プログラムのバージョン情報に含まれるシステムバージョン及び装置バージョンと、その時点における車載システム2A,2Bのシステムバージョン及び各ECU2a~2eの装置バージョンとを比較する。図5~図7は、更新処理の実施の可否判定を説明するための模式図であり、サーバ装置9から車載システム2AのECU2aの更新用プログラムを受信し、ダイアグツール8から車載システム2AのECU2bの更新用プログラムを受信した場合におけるバージョン情報の一例を示してある。図5~図7のいずれの例においても、更新処理の実施前は車載システム2Aがシステムバージョン2であり、ECU2aが装置バージョン2であり、ECU2bが装置バージョン1であるものとする。
 図5に示す例は、サーバ装置9からシステムバージョン3且つ装置バージョン3のECU2aの更新用プログラムが与えられ、ダイアグツール8からシステムバージョン3且つ装置バージョン2の更新用プログラムが与えられた場合のバージョン対応情報12bである。両更新用プログラムを用いてECU2a、2bの更新処理を行った場合、更新処理後のシステムバージョンは共に3である。このように、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムについて、複数の更新用プログラムのシステムバージョンが一致する場合、ゲートウェイ10は、これらの更新用プログラムを用いた更新処理を並行して実施可能であると判定する。
 判定結果に基づいてゲートウェイ10は、ECU2aへの更新用プログラムの送信と、ECU2bへの更新用プログラムの送信とを並行して行う。ただしECU2a、2bは同一の通信線1aに接続されているため、ゲートウェイ10は、例えば両ECU2a,2bへの更新用プログラムの送信を交互に行ってもよく、また例えばいずれか一方のECU2a,2bへの更新用プログラムの送信を終えた後に他方のECU2a,2bへの更新用プログラムの送信を行ってもよい。ゲートウェイ10による複数の更新処理を並行して実施する方法は、必ずしも複数の更新処理を同時に行うものでなくてよく、上記のような実質的に並行して更新処理を行うものであってよい。
 図6に示す例は、サーバ装置9からシステムバージョン3且つ装置バージョン3のECU2aの更新用プログラムが与えられ、ダイアグツール8からシステムバージョン4且つ装置バージョン3の更新用プログラムが与えられた場合のバージョン対応情報12bである。この例では、ECU2aの更新用プログラムのシステムバージョンが3であるのに対し、ECU2bの更新用プログラムのシステムバージョンが4であり、両システムバージョンが一致しない。このように複数の更新用プログラムのシステムバージョンが一致しない場合、ゲートウェイ10は、これらの更新用プログラムを用いた更新処理を並行して実施することは不可能であると判定する。
 並行して実施することが不可能と判定した場合、ゲートウェイ10は、いずれの更新用プログラムを用いた更新処理を優先して実施するかを判定する。本実施の形態に係るゲートウェイ10は、先に更新処理を行う要求が与えられた更新用プログラムを優先して実施する。例えばゲートウェイ10は、先にサーバ装置9からECU2aの更新処理を行う要求が与えられ、その後にダイアグツール8からECU2bの更新処理を行う要求が与えられていた場合、先に更新処理を行う要求が与えられたECU2aの更新処理を優先して行う。ECU2aの更新処理が完了した後、ゲートウェイ10は、例えばECU2bの更新処理を行ってもよく、また例えばECU2bの更新処理は行わず、ダイアグツール8から更新処理を行う要求が再び与えられた場合に更新処理を行ってもよい。
 あるいは、ゲートウェイ10は、システムバージョンが新しい更新用プログラムを用いた更新処理を優先して実施してもよい。即ち、図6に示す例においてゲートウェイ10は、ECU2bの更新用プログラムの方がシステムバージョンは新しいため、ECU2bの更新処理を優先して行ってもよい。なおゲートウェイ10は、例えばECU2aの更新処理を開始した後にECU2bの更新処理を行う要求を与えられた場合、ECU2aの更新処理を中断してECU2bの更新処理を行ってもよい。
 あるいは、ゲートウェイ10は、更新処理を並行した実施することが不可能であると判定した場合に、サーバ装置9又はダイアグツール8のいずれを優先するかが予め定められていてもよい。ゲートウェイ10は、例えばダイアグツール8からの更新要求を優先して実施すると予め定められていてよい。この場合にゲートウェイ10は、図6に示す例では、ECU2bの更新処理を優先して行うこととなる。ゲートウェイ10は、サーバ装置9からの更新処理を優先して実施すると定められていてもよい。
 図7に示す例は、サーバ装置9からシステムバージョン3且つ装置バージョン3のECU2aの更新用プログラムが与えられ、ダイアグツール8からシステムバージョン4且つ装置バージョン3の更新用プログラムが与えられた場合のバージョン対応情報12bである。ただしこの例では、システムバージョン4に対応するECU2aの装置バージョンは3であり、システムバージョン3と4とでECU2aの装置バージョンが同じである。このような場合にゲートウェイ10は、これらの更新用プログラムを用いた更新処理を並行して実施することが可能であると判定する。即ちゲートウェイ10は、ECU2aの更新用プログラムのシステムバージョンとECU2bの更新用プログラムのシステムバージョンとが一致しない場合であっても、両システムバージョンに含まれる装置バージョンが一致している場合には、更新処理を並行して実施することが可能であると判定してよい。換言すれば、ゲートウェイ10は、ECU2aの更新用プログラムのシステムバージョンをECU2bの更新用プログラムのシステムバージョンと比較する場合に、ECU2aの更新用プログラムのシステムバージョンを3又は4として比較を行い、いずれか一方がECU2bの更新用プログラムのシステムバージョンと一致すれば更新処理を並行して実施することが可能であると判定すればよい。
 <フローチャート>
 図8、本実施の形態に係るゲートウェイ10が行う更新処理の手順を示すフローチャートである。本実施の形態に係るゲートウェイ10の処理部11の更新処理部11aは、サーバ装置9又はダイアグツール8のうちのいずれか一方から更新要求を受信したか否かを判定する(ステップS1)。なお更新処理部11aは、定期的にECU2a~2eの更新の有無を無線通信装置3にてサーバ装置9に問い合わせており、この問い合わせに対して更新ありの応答が得られた場合に、サーバ装置9からの更新要求を受信したと判断する。また更新処理部11aは、車両1のコネクタ4にダイアグツール8が接続され、ダイアグツール8からECU2a~2eの更新処理を行う命令が与えられた場合に、ダイアグツール8からの更新要求を受信したと判断する。サーバ装置9又はダイアグツール8からの更新要求を共に受信していない場合(S1:NO)、更新処理部11aは、サーバ装置9又はダイアグツール8のいずれか一方から更新要求を受信するまで待機する。
 サーバ装置9又はダイアグツール8からの更新要求を受信した場合(S1:YES)、更新処理部11aは、更新要求の送信元のサーバ装置9又はダイアグツール8から送信される更新用プログラムを受信することにより、更新処理に用いる更新用プログラムを取得する(ステップS2)。またこのときに処理部11のバージョン情報取得部11bは、更新用プログラムを送信したサーバ装置9又はダイアグツール8から、この更新用プログラムに関するバージョン情報を取得し(ステップS3)、記憶部12のバージョン対応情報12bに追加して記憶する。
 更新処理部11aは、ステップS2にて取得した更新用プログラムを通信部13a,13bにて更新対象のECU2a~2eへ送信する(ステップS4)。ここで更新処理部11aは、ステップS1にて更新要求を受信したサーバ装置9又はダイアグツール8の一方とは異なる他方から更新要求を受け付けたか否かを判定する(ステップS5)。他方の更新要求を受け付けていない場合(S5:NO)、更新処理部11aは、ステップS7へ処理を進める。他方の更新要求を受け付けた場合(S5:YES)、更新処理部11aは、複数の更新処理を並列して実施する並列更新処理を開始し(ステップS6)、ステップS7へ処理を進める。なお処理部11は、ステップS6の並列更新処理を、本フローチャートの処理と並列して実施する。
 その後、更新処理部11aは、更新対処のECU2a~2eへの更新用プログラムの送信を完了したか否かを判定する(ステップS7)。更新用プログラムの送信が完了していない場合(S7:NO)、更新処理部11aは、ステップS4へ処理を戻し、更新用プログラムの送信を継続して行う。更新用プログラムの送信を完了した場合(S7:YES)、更新処理部11aは、ステップS1にて受信した更新要求に係る更新処理を終了する。
 図9は、本実施の形態に係るゲートウェイ10が行う更新処理の手順を示すフローチャートであり、図8に示したフローチャートのステップS6にて開始される並列更新処理の詳細である。ステップS6にて並列更新処理を開始した更新処理部11aは、ステップS5にて受信した更新要求の送信元のサーバ装置9又はダイアグツール8から更新用プログラムを取得する(ステップS11)。またこのときにバージョン情報取得部11bは、更新用プログラムを送信したサーバ装置9又はダイアグツール8から、この更新用プログラムに関するバージョン情報を取得し(ステップS12)、記憶部12のバージョン対応情報12bに追加して記憶する。
 次いで処理部11の更新実施判定部11cは、既に実施している更新処理(図8に示す更新処理)が対象とする車載システム2A,2Bと、ステップS11にて取得した更新用プログラムを用いた更新処理が対象とする車載システム2A,2Bとを比較し、両車載システム2A,2Bが一致するか否かを判定する(ステップS13)。両車載システム2A,2Bが一致しない場合(S13:NO)、更新実施判定部11cは、ステップS11にて取得した更新用プログラムを用いた更新処理を実施可能と判定する(ステップS17)。
 両車載システム2A,2Bが一致する場合(S13:YES)、更新実施判定部11cは、記憶部12に記憶されたバージョン対応情報12bに基づいて、既に実施している更新処理に用いられている更新用プログラムのシステムバージョンと、ステップS11にて取得した更新用プログラムのシステムバージョンとを比較し、両システムバージョンが一致するか否かを判定する(ステップS14)。両システムバージョンが一致する場合(S14:YES)、更新実施判定部11cは、ステップS11にて取得した更新用プログラムを用いた更新処理を実施可能と判定する(ステップS17)。
 両システムバージョンが一致しない場合(S14:NO)、更新実施判定部11cは、記憶部12に記憶されたバージョン対応情報12bに基づいて、既に実施している更新処理に用いられている更新用プログラムのシステムバージョンに対応するステップS11にて取得した更新用プログラムの装置バージョンと、ステップS11にて取得した更新用プログラムの装置バージョンとを比較し、両装置バージョンが一致するか否かを判定する(ステップS15)。両装置バージョンが一致する場合(S15:YES)、更新実施判定部11cは、ステップS11にて取得した更新用プログラムを用いた更新処理を実施可能と判定する(ステップS17)。
 両システムバージョンが一致しない場合(S15:NO)、更新実施判定部11cは、ステップS11にて取得した更新用プログラムを用いた更新処理を実施不可能と判定する(ステップS16)。本フローチャートでは、更新処理を並列して実行することが不可能と判定した場合、先に処理を開始していた更新処理を優先するものとし、更新処理部11aは、並列して更新処理を行うことなく処理を終了する。ただし更新処理部11aは、更新処理を並列して実行することが不可能と判定した場合にシステムバージョンが新しい更新用プログラムを用いる更新処理を優先して行う構成としてもよい。この場合に更新処理部11aは、ステップS16の後にシステムバージョンの比較を行って新しい更新用プログラムがいずれであるかを判定し、システムバージョンが新しい更新用プログラムを用いた更新処理を行ってもよい。
 ステップS17にて並列して更新処理を実施することが可能と判定した後、更新処理部11aは、ステップS11にて取得した更新用プログラムを通信部13a,13bにて更新対象のECU2a~2eへ送信する(ステップS18)。更新処理部11aは、更新対処のECU2a~2eへの更新用プログラムの送信を完了したか否かを判定する(ステップS19)。更新用プログラムの送信が完了していない場合(S19:NO)、更新処理部11aは、ステップS18へ処理を戻し、更新用プログラムの送信を継続して行う。更新用プログラムの送信を完了した場合(S19:YES)、更新処理部11aは、ステップS11にて取得した更新用プログラムを用いた更新処理を終了する。
 図10は、本実施の形態に係るゲートウェイ10が行う更新処理の手順を示すフローチャートであり、図8及び図9の処理の後で行われる処理である。本実施の形態に係るゲートウェイ10の更新処理部11aは、サーバ装置9又はダイアグツール8から与えられた更新要求に係る全ての更新用プログラムのECU2a~2eへの送信を完了したか否かを判定する(ステップS31)。全ての更新用プログラムの送信を完了していない場合(S31:NO)、更新処理部11aは、全ての更新用プログラムの送信を完了するまで、更新用プログラムの送信を継続して行う。
 全ての更新用プログラムの送信を完了した場合(S31:YES)、更新処理部11aは、記憶部12に記憶したバージョン対応情報12bと、現状のECU2a~2eのバージョンとに基づいて、更新処理対象の車載システム2A,2Bのシステムバージョンと、この車載システム2A,2Bに含まれる各ECU2a~2eの装置バージョンとが適切な対応関係となったか否かを判定する(ステップS32)。システムバージョン及び装置バージョンの対応関係が適切である場合(S32:YES)、更新処理部11aは、更新処理を行った車載システム2A,2Bに含まれるECU2a~2eに対して、更新プログラムを適用して更新処理を各個に行う更新命令を送信し(ステップS33)、処理を終了する。システムバージョン及び装置バージョンの対応関係が適切でない場合(S32:NO)、更新処理部11aは、更なる更新処理が行われることを待機すべく、更新命令を送信せずに処理を終了する。
 図11は、本実施の形態に係るECU2a~2eが行う更新処理の手順を示すフローチャートである。本実施の形態に係るECU2a~2eの処理部21の更新用情報受信部21aは、通信部23にてゲートウェイ10から送信される更新用プログラムを受信し(ステップS41)、記憶部22に更新用プログラムを記憶する。更新用情報受信部21aは、更新用プログラムの全てについて受信を完了したか否かを判定する(ステップS42)。更新用プログラムの受信を完了していない場合(S42:NO)、更新用情報受信部21aは、ステップS41へ処理を戻し、更新用プログラムの受信を継続して行う。
 更新用プログラムの受信を完了した場合(S42:YES)、処理部21の更新処理部21bは、ゲートウェイ10から送信される更新命令を受信したか否かを判定する(ステップS43)。更新命令を受信していない場合(S43:NO)、更新処理部21bは、更新命令を受信するまで待機する。更新命令を受信した場合(S43:YES)、更新処理部21bは、処理部21が実行するプログラム22aを、現在実行中のプログラム22aから、ゲートウェイ10から受信した更新用プログラムへ切り替える処理を行い(ステップS44)、更新処理を終了する。
 <まとめ>
 以上の構成の本実施の形態に係る車載更新システム100は、車両1に搭載された複数のECU2a~2eのプログラム22aを更新する処理をゲートウェイ10が行う。ゲートウェイ10は、無線通信装置3を利用した無線通信及びコネクタ4を介した有線通信の複数の通信経路で、サーバ装置9及びダイアグツール8等の車両1の外部の装置と通信を行うことができる。ゲートウェイ10は、サーバ装置9又はダイアグツール8からECU2a~2eの更新用プログラムを受信し、車内通信にて更新用プログラムをECU2a~2eへ送信することで、ECU2a~2eが記憶部22に記憶しているプログラム22aの更新処理を行う。
 ゲートウェイ10は、サーバ装置9又はダイアグツール8から更新用プログラムと共にバージョン情報を取得する。サーバ装置9及びダイアグツール8から異なる更新用プログラムを受信した場合、ゲートウェイ10は、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施の可否を判定する。複数の更新用プログラムを用いた更新処理が実施可能であると判定した場合、ゲートウェイ10は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。
 これによりゲートウェイ10は、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
 また本実施の形態に係る車載更新システム100では、更新用プログラムと共にサーバ装置9又はダイアグツール8からゲートウェイ10が取得するバージョン情報には、協働する複数のECU2a~2eを一群とした車載システム2A,2Bに対して付されるシステムバージョンと、ECU2a~2eに対して個別に付される装置バージョンとが含まれる。ゲートウェイ10は、システムバージョン及び装置バージョンの対応関係を記憶部12にバージョン対応情報12bとして記憶しておく。これによりゲートウェイ10は、システムバージョン及び装置バージョンの対応関係を適切に把握し、更新用プログラムを用いた更新処理の実施の可否を適切に判定することができる。
 また本実施の形態に係るゲートウェイ10は、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムが異なる車載システム2A,2Bに含まれるECU2a~2eの更新用のものである場合、これら複数の更新用プログラムを用いた更新処理を並行して実施する。異なる車載システム2A,2Bに含まれるECU2a~2eの間にはバージョンの依存関係がないため、システムバージョン及び装置バージョンに関わらず、更新処理を並行して実施することが可能である。
 また本実施の形態に係るゲートウェイ10は、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムが共通の車載システム2A,2Bに含まれるECU2a~2eの更新用のものである場合、複数の更新用プログラムのシステムバージョンを比較する。複数の更新用プログラムのシステムバージョンが同じである場合、ゲートウェイ10は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。共通の車載システム2A,2Bに含まれる複数のECU2a~2eが実行するプログラム22aはシステムバージョンが一致することが好ましいため、ゲートウェイ10は、システムバージョンが同じ更新用プログラムについては更新処理を並行して実施可能と判定することができる。
 また本実施の形態に係るゲートウェイ10は、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、処理を先に開始した更新用プログラムの更新処理を優先して行い、後から受信した更新用プログラムの更新処理を実施不可能と判定する。これによりゲートウェイ10は、既に開始されている更新処理が途中で強制的に終了されて不具合などが発生することを防止できる。
 又は、本実施の形態に係るゲートウェイ10は、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、システムバージョンが最新の更新用プログラムの更新処理を優先して行い、他の更新用プログラムの更新処理を実施不可能と判定してもよい。これによりゲートウェイ10は、ECU2a~2eのプログラム22aを最新のシステムバージョンのものに更新することができる。
 また本実施の形態に係るゲートウェイ10は、サーバ装置9及びダイアグツール8から与えられた複数の更新用プログラムのシステムバージョンが異なり、更新処理を並列して実施することが不可能と判定すべき更新用プログラムであっても、この更新用プログラムの装置バージョンが、更新処理を優先して実施すると判定した更新用プログラムのシステムバージョンに対応する装置バージョンと同じである場合には、この更新用プログラムを用いた更新処理を並行して実施可能とする。システムバージョンが異なっていても対応する装置バージョンが同じという例外的な場合については、ゲートウェイ10が更新処理を並行して実施可能と判定することによって、更新処理をより効率的に行うことが可能となる。
 なお本実施の形態においては、プログラム又はデータの更新を行う対象の装置をECU2a~2eとしたが、これに限るものではなく、ECU2a~2e以外の種々の車載装置についてプログラム又はデータの更新を行う構成であってよい。また車載更新システム100は、ECU2a~2eの更新処理を行う装置をゲートウェイ10としたが、これに限るものではなく、例えばいずれかのECU2a~2eが他のECU2a~2eの更新データを取得して送信する構成であってもよく、ゲートウェイ10及びECU2a~2e以外の種々の装置が更新処理を行う構成であってよい。また更新用プログラムを車両1へ送信する装置をサーバ装置9及びダイアグツール8としたが、これに限るものではなく、これ以外の装置が更新用プログラムを有線又は無線の通信により車両1へ送信する構成としてよい。
 またゲートウェイ10は無線通信装置3を利用してサーバ装置9との通信を行う構成としたが、これに限るものではなく、ゲートウェイ10が無線通信の機能を有する構成としてもよい。またゲートウェイ10はコネクタ4を介してダイアグツール8との有線通信を行う構成としたが、これに限るものではなく、例えば無線LAN(Local Area Network)又はBluetooth(登録商標)等の無線通信を行う構成としてもよい。
 なお本実施の形態における更新処理には、ECU2a~2eが実行するプログラムを更新するのみでなく、プログラムを実行して行われる処理に用いられるデータを更新する処理を含み得ると共に、プログラムのコード(命令)を更新せずにデータのみを更新する処理をも含み得る。「更新用プログラム」は、更新されるプログラムのコードのみを含むもの、プログラムのコード及びデータを共に含むもの、プログラムのコードを含まずにデータのみを含むものいずれであってもよい。
 車載更新システムにおける各装置は、マイクロプロセッサ、ROM及びRAM等を含んで構成されるコンピュータを備える。マイクロプロセッサ等の演算処理部は、図8~図11に示すような、シーケンス図又はフローチャートの各ステップの一部又は全部を含むコンピュータプログラムを、ROM、RAM等の記憶部からそれぞれ読み出して実行する。これら複数の装置のコンピュータプログラムは、それぞれ、外部のサーバ装置等からインストールすることができる。また、これら複数の装置のコンピュータプログラムは、それぞれ、CD-ROM、DVD-ROM、半導体メモリ等の記録媒体に格納された状態で流通する。
 今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 1 車両
 1a~1d 通信線
 2a~2e ECU
 2A,2B 車載システム
 3 無線通信装置
 4 コネクタ
 8 ダイアグツール
 8a 通信ケーブル
 9 サーバ装置
 10 ゲートウェイ(車載更新装置)
 11 処理部
 11a 更新処理部
 11b バージョン情報取得部
 11c 更新実施判定部(実施判定部)
 11d 中継処理部
 12 記憶部
 12a プログラム
 12b バージョン対応情報
 13a,13b 通信部(車内通信部)
 13c,13d 通信部(車外通信部)
 21 処理部
 21a 更新用情報受信部
 21b 更新処理部
 22 記憶部
 22a プログラム
 23 通信部
 100 車載更新システム
 101 記録媒体
 

Claims (8)

  1.  車両の外部の装置と通信を行う複数の車外通信部と、前記車両に搭載された複数の車載装置との通信を行う車内通信部と、前記車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを、前記車外通信部にて前記外部の装置から受信して、前記車内通信部にて前記車載装置へ送信する更新処理部とを備える車載更新装置であって、
     複数の前記車外通信部にて異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定する実施判定部を備え、
     前記更新処理部は、前記実施判定部が複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する、車載更新装置。
  2.  前記バージョン情報は、協働する複数の車載装置を一群とした車載システムに対して付されるシステムバージョンと、各車載装置に対して個別に付される装置バージョンとを含み、
     前記システムバージョン及び前記装置バージョンの対応関係を記憶する記憶部を備え、
     前記実施判定部は、複数の更新用プログラムが異なる車載システムに含まれる車載装置の更新用である場合に、当該複数の更新用プログラムを用いた更新処理を実施可能と判定する、請求項1に記載の車載更新装置。
  3.  前記実施判定部は、システムバージョンが同じ複数の更新用プログラムを用いた更新処理を実施可能と判定する、請求項2に記載の車載更新装置。
  4.  前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、先に更新処理を開始した一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定する、請求項2又は請求項3に記載の車載更新装置。
  5.  前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、システムバージョンが最新の一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定する、請求項2又は請求項3に記載の車載更新装置。
  6.  前記実施判定部は、前記他の更新用プログラムの装置バージョンが、更新処理を優先したシステムバージョンに対応する装置バージョンと同じである場合には、前記他の更新用プログラムを用いた更新処理を並列して実施可能と判定する、請求項4又は請求項5に記載の車載更新装置。
  7.  車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する更新処理方法であって、
     複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、
     複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する、更新処理方法。
  8.  コンピュータに、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する処理を行わせる更新処理プログラムであって、
     複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記
    更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、
     複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する
     処理を行わせる、更新処理プログラム。
     
PCT/JP2019/018328 2018-05-11 2019-05-08 車載更新装置、更新処理方法及び更新処理プログラム WO2019216330A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/044,406 US11354112B2 (en) 2018-05-11 2019-05-08 On-board update device, update process method, and update process program
CN201980027538.2A CN112020456B (zh) 2018-05-11 2019-05-08 车载更新装置、更新处理方法及更新处理程序
DE112019002411.6T DE112019002411T5 (de) 2018-05-11 2019-05-08 Fahrzeuggebundene Aktualisierungseinrichtung, Aktualisierungsprozessverfahren und Aktualisierungsprozessprogramm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018092554A JP6897630B2 (ja) 2018-05-11 2018-05-11 車載更新装置、更新処理方法及び更新処理プログラム
JP2018-092554 2018-05-11

Publications (1)

Publication Number Publication Date
WO2019216330A1 true WO2019216330A1 (ja) 2019-11-14

Family

ID=68468337

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/018328 WO2019216330A1 (ja) 2018-05-11 2019-05-08 車載更新装置、更新処理方法及び更新処理プログラム

Country Status (5)

Country Link
US (1) US11354112B2 (ja)
JP (2) JP6897630B2 (ja)
CN (1) CN112020456B (ja)
DE (1) DE112019002411T5 (ja)
WO (1) WO2019216330A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6915569B2 (ja) * 2018-03-05 2021-08-04 株式会社オートネットワーク技術研究所 保存装置、通信システム、保存方法及びコンピュータプログラム
JP7408936B2 (ja) * 2018-08-10 2024-01-09 株式会社デンソー センター装置,諸元データの生成方法及び諸元データ生成用プログラム
US20200184744A1 (en) * 2018-12-11 2020-06-11 Snap-On Incorporated Vehicle Scan Tool Configured to Receive Automated Initialization Requests
US11238676B2 (en) 2018-12-11 2022-02-01 Snap-On Incorporated Automated vehicle scan tool initialization
US11354944B2 (en) 2018-12-11 2022-06-07 Snap-On Incorporated Supplementing vehicle service content with scan tool initialization links
JP7328928B2 (ja) * 2020-04-06 2023-08-17 株式会社オートネットワーク技術研究所 車載中継装置、情報処理方法及びプログラム
KR20220017051A (ko) * 2020-08-03 2022-02-11 현대자동차주식회사 차량의 무선 충전 인터페이스를 이용한 진단 및 리프로그래밍 시스템을 위한 장치 및 그 방법
JP7194760B2 (ja) * 2021-01-13 2022-12-22 本田技研工業株式会社 制御システム、移動体、制御方法及びプログラム
JP7289867B2 (ja) * 2021-03-30 2023-06-12 本田技研工業株式会社 更新制御装置、移動体、更新制御方法、及びプログラム
JP7540401B2 (ja) * 2021-06-22 2024-08-27 トヨタ自動車株式会社 センタ、otaマスタ、方法、プログラム、及び車両

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017037673A (ja) * 2011-10-21 2017-02-16 ホスピーラ インコーポレイテッド 医療装置更新システム
JP2018046515A (ja) * 2016-09-16 2018-03-22 株式会社オートネットワーク技術研究所 中継装置、通信システム、送信方法及びコンピュータプログラム
JP2019020866A (ja) * 2017-07-12 2019-02-07 クラリオン株式会社 情報配信システム及び車載装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658330B2 (en) * 2000-12-29 2003-12-02 General Electric Co. Method and system for upgrading software for controlling locomotives
US6999871B2 (en) * 2002-10-29 2006-02-14 Honda Giken Kogyo Kabushiki Kaisha Vehicle navigation system adapted to improved system upgrade procedure
JP4654750B2 (ja) * 2005-04-22 2011-03-23 株式会社デンソー 自動車用制御システム
JP2007022300A (ja) * 2005-07-15 2007-02-01 Sumitomo Electric Ind Ltd 制御プログラム配布装置、制御プログラム配布方法及びコンピュータプログラム
JP2008168649A (ja) * 2007-01-05 2008-07-24 Mazda Motor Corp 車両用制御システム
JP2010195111A (ja) * 2009-02-24 2010-09-09 Fujitsu Ten Ltd 車載コンピュータシステム
JP6107710B2 (ja) * 2014-03-10 2017-04-05 株式会社デンソー プログラム管理装置、車両用制御装置及びプログラム管理プログラム
JP6147790B2 (ja) * 2015-03-30 2017-06-14 本田技研工業株式会社 プログラム書換装置及びプログラム書換方法
WO2016158547A1 (ja) 2015-03-30 2016-10-06 本田技研工業株式会社 プログラム書換装置及びプログラム書換方法
JP6197000B2 (ja) * 2015-07-03 2017-09-13 Kddi株式会社 システム、車両及びソフトウェア配布処理方法
JP6361671B2 (ja) * 2016-03-02 2018-07-25 住友電気工業株式会社 プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム
JP6323480B2 (ja) * 2016-03-02 2018-05-16 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6380461B2 (ja) * 2016-06-02 2018-08-29 住友電気工業株式会社 中継装置、プログラム更新システム、およびプログラム更新方法
JP6414568B2 (ja) * 2016-06-09 2018-10-31 株式会社デンソー 車両用装置
US10042629B2 (en) * 2016-07-28 2018-08-07 GM Global Technology Operations LLC Remote vehicle update installation scheduling
WO2019030984A1 (ja) * 2017-08-10 2019-02-14 住友電気工業株式会社 制御装置、制御方法、およびコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017037673A (ja) * 2011-10-21 2017-02-16 ホスピーラ インコーポレイテッド 医療装置更新システム
JP2018046515A (ja) * 2016-09-16 2018-03-22 株式会社オートネットワーク技術研究所 中継装置、通信システム、送信方法及びコンピュータプログラム
JP2019020866A (ja) * 2017-07-12 2019-02-07 クラリオン株式会社 情報配信システム及び車載装置

Also Published As

Publication number Publication date
US20210117177A1 (en) 2021-04-22
DE112019002411T5 (de) 2021-01-21
JP7136278B2 (ja) 2022-09-13
JP2019196158A (ja) 2019-11-14
JP6897630B2 (ja) 2021-07-07
CN112020456B (zh) 2023-12-05
JP2021138368A (ja) 2021-09-16
CN112020456A (zh) 2020-12-01
US11354112B2 (en) 2022-06-07

Similar Documents

Publication Publication Date Title
WO2019216330A1 (ja) 車載更新装置、更新処理方法及び更新処理プログラム
JP6696468B2 (ja) 車載更新装置及び車載更新システム
WO2017119345A1 (ja) 車載更新装置、更新システム及び更新処理プログラム
WO2018079385A1 (ja) 車載機器判定システム及び情報収集装置
WO2018025685A1 (ja) 車載更新装置、車載更新システム及び通信装置の更新方法
US20210237668A1 (en) On-board communication device, on-board communication system, and specific processing prohibition method for a vehicle
CN113873498B (zh) 服务器、管理方法、非临时存储介质及软件更新装置、中心、空中下载主机
WO2019202965A1 (ja) 車載更新装置、車載更新システム、更新処理方法及び更新処理プログラム
WO2018043107A1 (ja) 車載更新装置及び車載更新システム
JP6060782B2 (ja) 中継装置
JP2019009639A (ja) 車載通信システム、車載中継装置及び中継プログラム
WO2019123747A1 (ja) 自動車用電子制御装置及びその制御方法
JP2022168981A (ja) 更新制御システム、更新制御方法、更新制御プログラム、車載制御装置
JP2019109746A (ja) 自動車用電子制御装置
WO2019221058A1 (ja) 車載中継装置、通信システム、バス決定方法及びコンピュータプログラム
JP7087334B2 (ja) 電子制御装置
US20230032451A1 (en) Center, method, and non-transitory storage medium
JP7415756B2 (ja) 車載装置、情報処理方法及びコンピュータプログラム
JP7211189B2 (ja) 更新処理システム及び更新処理方法
JP6631676B2 (ja) 車載更新装置、更新システム及び更新処理プログラム
WO2019208159A1 (ja) 車両用ソフトウェア配信システム、装置、方法及びプログラム
CN113849204A (zh) 服务器、更新管理方法、存储装置及软件更新装置、中心以及ota主机
JP7081415B2 (ja) 通信装置、通信方法、および通信プログラム
WO2017163852A1 (ja) 情報処理装置及び情報処理システム
CN114764340A (zh) 中心、更新管理方法以及非暂时性存储介质

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

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19800031

Country of ref document: EP

Kind code of ref document: A1