Software updating device, server, software updating system and software updating method

By using software update information between the outside communication unit and similar equipment in the vehicle to generate and transmit update data, the problem of large data traffic in vehicle software update is solved, and stable updates are achieved when the radio wave environment is poor, reducing the communication costs.

CN114450664BActive Publication Date: 2025-01-14MITSUBISHI ELECTRIC MOBILITY CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN201980100809.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-09-30
Publication Date
2025-01-14
Estimated Expiration
2039-09-30

AI Technical Summary

Technical Problem

During vehicle software update, the data traffic between the server and the vehicle is large, resulting in an increase in wireless communication costs and may not be able to be successfully updated when the radio wave environment is poor.

Method used

By setting up an off-vehicle communication unit in the vehicle, using software update information between similar devices and generating source software, and generating update data, thereby reducing the data traffic generated by the server and performing software updates in the vehicle.

Benefits of technology

Effectively reduces data traffic between servers and vehicles, ensures that software updates can still be performed when the radio wave environment is poor, and reduces communication costs and delay risks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114450664B_ABST
    Figure CN114450664B_ABST
Patent Text Reader

Abstract

In the present invention, the vehicle external communication unit (111) receives update information from a server (200), the update information including: information indicating an update target device that is a software update target from a plurality of devices (100A to 100E); and information indicating a generation source device having generation source software from a plurality of devices (100A to 100E), the generation source software being a source for generating update data used to update the update target software possessed by the update target device. The update data generation unit (112) generates update data based on the update information when the device is the generation source device, using the generation source software possessed by the device. The software update unit (113) updates the update target software possessed by the device based on the update information when the device is the update target device, using the update data generated by the generation source device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a software updating device, a server, a software updating system and a software updating method. Background Art

[0002] In the past, a method of updating the software of a device mounted on a vehicle using OTA (Over The Air) has been proposed. In this method, a server generates update data based on the difference between the latest software and the current software and sends it to the device, and the device uses the update data received from the server to update from the current software to the latest software (for example, refer to Patent Document 1).

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1:

[0006] Japanese Patent No. 5696018 Summary of the invention

[0007] Technical problem to be solved by the invention

[0008] As described above, the device mounted on the vehicle receives update data from the server every time the software is updated. Since the amount of data communication between the server and the vehicle increases, there is a problem that the cost of wireless communication increases.

[0009] The present invention has been made to solve the above-mentioned problem, and an object of the present invention is to reduce the amount of data communication between a server and a vehicle during software update of a device mounted on a vehicle.

[0010] Technical means for solving technical problems

[0011] The software updating device involved in the present invention is a software updating device including multiple devices mounted on a vehicle, at least one of the multiple devices includes an off-vehicle communication unit that receives update information from a server outside the vehicle, the update information includes: information indicating an update target device that is an object of software update among the multiple devices; and information indicating a generation source device that has generation source software among the multiple devices, the generation source software being a source for generating update data used to update the update target software possessed by the update target device, the multiple devices respectively include: an update data generating unit that generates update data based on the update information received by the off-vehicle communication unit, and uses the generation source software possessed by the device to generate update data when the device is the generation source device; and a software updating unit that updates the update target software possessed by the device based on the update information received by the off-vehicle communication unit, and uses the update data generated by the generation source device to update the update target software possessed by the device when the device is the update target device.

[0012] Effects of the Invention

[0013] According to the present invention, since the update data used to update the update target software of the update target device is generated by the generation source device of the vehicle instead of the server, the data communication volume between the server and the vehicle can be reduced compared to the case where the server generates the update data. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Figure 1 This is a diagram showing an overview of the software updating system according to the first embodiment.

[0015] Figure 2 This is a diagram showing a hardware configuration example of the software updating system according to the first embodiment.

[0016] Figure 3 This is a functional block diagram showing a configuration example of the software updating device according to the first embodiment.

[0017] Figure 4 This is a functional block diagram showing a configuration example of a server according to the first embodiment.

[0018] Figure 5 This is a flowchart showing an example of the operation of the server involved in Implementation Example 1.

[0019] Figure 6 This is a diagram showing an example of software information managed by the update data generation determination unit.

[0020] Figure 7 This is a diagram showing an example of update information sent to a generation source device.

[0021] Figure 8 This is a diagram showing an example of update information sent to an update target device.

[0022] Fig. 9 This is a flowchart showing an example of operation of a device including the vehicle external communication unit among the devices of the software updating apparatus according to the first embodiment.

[0023] Fig.10 This refers to the equipment including the external communication unit. Fig. 9 This is a flowchart showing an example of the operation of updating data in the reception waiting state.

[0024] Fig.11 This is a flowchart showing an example of operation of a device that does not include the vehicle external communication unit among the devices of the software updating apparatus according to the first embodiment.

[0025] Fig.12 This means that the device does not include the external communication unit. Fig.11This is a flowchart showing an example of the operation of updating data in the reception waiting state.

[0026] Fig.13 This is a diagram showing an overview of a software updating system according to the second embodiment.

[0027] Fig.14 This is a flowchart showing an example of the operation of the server involved in Implementation Method 2.

[0028] Fig.15 This is a functional block diagram showing a configuration example of a software updating device according to the third embodiment.

[0029] Fig.16 This is a flowchart showing an example of the operation of the server involved in Implementation Method 3. DETAILED DESCRIPTION

[0030] Hereinafter, in order to explain the present invention in more detail, a mode for carrying out the present invention will be described with reference to the accompanying drawings.

[0031] Implementation method 1.

[0032] Figure 1 : This is a diagram showing an overview of the software update system involved in Implementation Example 1. The software update system uses OTA to update the software of the device installed in the vehicle. In the software update system, update data for software update is generated and distributed between devices 100A and 100B with similar systems. At this time, the server 200 is in charge of the software update. Specifically, the server 200 manages information related to the software possessed by the devices 100A and 100B (hereinafter referred to as "software information"), and determines whether the devices 100A and 100B can generate update data.

[0033] In addition, the devices with similar systems are devices with similar software structures or devices with similar hardware for control, etc. For example, when the device 100A and the device 100B have a function of communicating via a communication bus, the software structures of the device 100A and the device 100B with respect to the function are similar. In addition, for example, when the device 100A is a device for controlling an external camera and the device 100B is a device for controlling an internal camera, the hardware controlled by the device 100A and the device 100B is similar.

[0034] Here, we will use Figure 1 The flow of the software update process of the device 100B will be described. Here, in the software update apparatus including the device 100A and the device 100B mounted in the vehicle, the device 100A includes the vehicle external communication unit 111 for communicating with the server 200. In addition, the device 100B is set as the update target device.

[0035] First, the server 200 determines whether or not the update data for the device 100B can be generated using the current software of the device 100A, based on the software information of the devices 100A and 100B to be managed.

[0036] Next, server 200 requests device 100A to generate update data for device 100B. At this time, server 200 generates and sends update information to device 100A based on the software information of device 100A. The update information indicates the memory location of device 100A storing the software used to generate update data for device 100B.

[0037] In addition, the server 200 generates update information for the device 100B indicating a software update procedure, and transmits the update information to the device 100B. The update procedure indicates, for example, applying update data to a certain memory location of the device 100B.

[0038] Next, the vehicle external communication unit 111 of the device 100A receives the update information sent to the device 100A and the update information sent to the device 100B from the server 200, and sends the update information sent to the device 100B to the device 100B. The device 100A generates update data for the device 100B based on the update information sent to the device 100A using the current software of the device 100A, and sends the update data to the device 100B.

[0039] Next, the device 100B applies the update data generated by the device 100A to the current software of the device 100B based on the update information transmitted to the device 100B, thereby updating the current software to the latest software.

[0040] Next, the hardware structure of the software updating system will be described.

[0041] Figure 2 : This is a diagram showing an example of the hardware structure of the software update system involved in Implementation Example 1. The software update device 2 is mounted on the vehicle 1. The software update device 2 includes a plurality of devices 100A-100E connected to each other via a communication bus 3. The devices 100A~100E are ECUs (Electronic Control Units). At least one device 100A among the plurality of devices 100A~100E includes an external network IF (Interface) 103 corresponding to an external communication unit 111. The external network IF103 communicates wirelessly with a server 200 outside the vehicle. As a basic structure, each of the plurality of devices 100A~100E includes a processor 101, a memory 102, and an internal network IF104. The processor 101 performs operations and other processing. The memory 102 stores information used by this device. The internal network IF104 communicates with other devices connected by the communication bus 3.

[0042] The server 200 includes a processor 201, a memory 202, and a server network IF 203. The processor 201, the memory 202, and the server network IF 203 are connected to each other via a communication bus 204. The processor 201 performs processing such as calculations. The memory 102 stores information used by the server 200. The server network IF 203 performs wireless communication with the vehicle 1.

[0043] Here, the processors 101 and 201 refer to a CPU (Central Processing Unit), a processing device, a computing device, a microprocessor, or the like.

[0044] Memories 102 and 202 may be non-volatile or volatile semiconductor memories such as RAM (Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable ROM), or flash memory, or magnetic disks such as hard disks and floppy disks, or optical disks such as CDs (Compact Discs) or DVDs (Digital Versatile Discs).

[0045] Next, each component of the software updating system will be described.

[0046] Figure 3 This is a functional block diagram showing a configuration example of the software updating device 2 according to Embodiment 1. At least one device 100A among the plurality of devices 100A to 100E includes an external vehicle communication unit 111 . Each of the plurality of devices 100A to 100E includes an update data generation unit 112 , a software update unit 113 , and an internal vehicle communication unit 114 .

[0047] The vehicle external communication unit 111 and the server side communication unit 214 (see Figure 4 ) for wireless communication. When the external vehicle communication unit 111 receives data (including update data and update information) sent from the server 200, it outputs the data to the update data generation unit 112 or the software update unit 113 of the own device according to the type and destination of the received data, or sends the data to other devices through the in-vehicle communication unit 114. In addition, when the external vehicle communication unit 111 receives data (including software information) from the software update unit 113 of the own device or from other devices through the in-vehicle communication unit 114, it sends the received data to the server 200.

[0048] The update data generator 112 generates update data for other devices to be updated based on the update information received from the external communication unit 111. The update data generator 112 transmits the generated update data to other devices to be updated via the internal communication unit 114.

[0049] The software update unit 113 receives update data of the device from other devices through the in-vehicle communication unit 114, or receives update data of the device from the server 200 through the external communication unit 111. The software update unit 113 updates the software of the device using the update data based on the update information received from the external communication unit 111. In addition, the software update unit 113 of the device 100A outputs the software information related to the updated software of the device to the external communication unit 111. The software update unit 113 of the devices 100B to 100E outputs the software information related to the updated software of the device to the external communication unit 111 through the in-vehicle communication unit 114.

[0050] The in-vehicle communication unit 114 communicates with other devices via the communication bus 3. When the in-vehicle communication unit 114 receives update information sent from the device 100A to the device, it outputs the update information to the update data generation unit 112 and the software update unit 113 of the device. When the in-vehicle communication unit 114 receives update data for the device sent from other devices, it outputs the update data to the software update unit 113 of the device. In addition, when the in-vehicle communication unit 114 receives update data for other devices from the update data generation unit 112 of the device, it sends the update data to the other devices. In addition, when the in-vehicle communication unit 114 receives software information of the device from the software update unit 113 of the device, it sends the software information to the device 100A, and sends it to the server 200 via the external communication unit 111 of the device 100A.

[0051] The function of the external vehicle communication unit 111 is realized by the external vehicle network IF 103 , and the function of the internal vehicle communication unit 114 is realized by the internal vehicle network IF 104 .

[0052] The functions of the update data generation unit 112 and the software update unit 113 are implemented by the processor 101 executing the program stored in the memory 102. The functions of the update data generation unit 112 and the software update unit 113 are implemented by software. The software is recorded as a program and stored in the memory 102. The processor 101 reads the program stored in the memory 102 and executes it, thereby implementing the functions of each unit. That is, the devices 100A to 100E are equipped with the memory 102, which is used to store the program that is finally executed by the processor 101. Fig. 9The program may be a program that executes the steps shown in the flowcharts of the above-mentioned flowcharts. In addition, the program may be said to cause a computer to execute the steps or methods of the update data generation unit 112 and the software update unit 113.

[0053] Figure 4 This is a functional block diagram showing a configuration example of the server 200 according to Embodiment 1. The server 200 includes an update data generation determination unit 211 , an update information generation unit 212 , an update data generation unit 213 , and a server-side communication unit 214 .

[0054] The server-side communication unit 214 wirelessly communicates with the vehicle-external communication unit 111 of the device 100A. When receiving software information from the vehicle-external communication unit 111, the server-side communication unit 214 outputs the software information to the update data generation determination unit 211. In addition, the server-side communication unit 214 transmits the update information received from the update information generation unit 212 and the update data received from the update data generation unit 213 to the vehicle-external communication unit 111.

[0055] The update data generation determination unit 211 stores and manages the software information of the devices 100A to 100E received from the server-side communication unit 214. The update data generation determination unit 211 determines whether at least one of the devices 100A to 100E can generate update data based on the software information, and outputs the determination result to the update information generation unit 212 and the update data generation unit 213. In addition, the software information is periodically transmitted from the vehicle 1 side, or is transmitted from the vehicle 1 side when the software of the device is updated.

[0056] When the update data generation determination unit 211 determines that the vehicle 1 can generate update data, the update information generation unit 212 generates update information to the generation source device that generates the update data and update information to the update target device that updates the software.

[0057] When the update data generation determination unit 211 determines that the vehicle 1 cannot generate update data, the update information generation unit 212 generates update information to be sent to the update target device, indicating that the software of the update target device is updated using the update data generated by the server 200 .

[0058] The update information generation unit 212 transmits the generated update information to the external vehicle communication unit 111 via the server-side communication unit 214 .

[0059] When the update data generation determination unit 211 determines that the update data cannot be generated by the vehicle 1 side, the update data generation unit 213 generates update data for the update target device based on the software information managed by the update data generation determination unit 211. The update data generation unit 213 transmits the generated update data to the vehicle external communication unit 111 via the server side communication unit 214.

[0060] In addition, the function of the server-side communication unit 214 is realized by the server network IF 203 .

[0061] The functions of the update data generation judgment unit 211, the update information generation unit 212, and the update data generation unit 213 are implemented by the processor 201 executing the program stored in the memory 202. The functions of the update data generation judgment unit 211, the update information generation unit 212, and the update data generation unit 213 are implemented by software. The software is recorded as a program and stored in the memory 202. The processor 201 reads the program stored in the memory 202 and executes it, thereby realizing the functions of each unit. That is, the server 200 has the memory 202, and the memory 202 is used to store the program that is finally executed by the processor 201. Figure 5 The program may be a program that executes the steps shown in the flowcharts of FIG. 21 and the like. In addition, the program may be said to cause a computer to execute the steps or methods of the update data generation determination unit 211, the update information generation unit 212, and the update data generation unit 213.

[0062] Next, a software updating method will be described.

[0063] Figure 5 is a flowchart showing an example of the operation of the server 200 according to the first embodiment. When the server 200 receives an instruction from the outside to update the software of any of the devices 100A to 100E, Figure 5 The operation shown in the flowchart of . Hereinafter, the device 100A is assumed to be the update target device.

[0064] In step ST1, the update data generation determination unit 211 determines whether at least one of the devices other than the update target device can generate update data for the update target device. If the device other than the update target device can generate update data (step ST1 "Yes"), the update information generation unit 212 performs the operation in step ST3, and if the update data cannot be generated (step ST1 "No"), the update data generation unit 213 performs the operation in step ST2.

[0065] Figure 61 is a diagram showing an example of software information managed by the update data generation judgment unit 211. The software information includes, for example, a device ID, a current version of the software, a latest version of the software, a memory map indicating a memory location where the current version of the software is stored, and the software content of the current version. The device ID "DEV_ID_100A" refers to the device 100A that is the target of the software update, and the device ID "DEV_ID_100B" refers to the device 100B that is the source of the update data generated for the device 100A. The update data generation judgment unit 211 generates update data based on the current version of the software of the device 100B by comparing the software information of the device 100A with the software information of the device 100B, and the update data is the difference between the current version of the software of the device 100A and the latest version of the software.

[0066] In step ST2 , the update data generating unit 213 generates update data for the update target device based on the software information managed by the update data generation determination unit 211 .

[0067] In step ST3 , the update information generation unit 212 generates update information to be sent to the generation source device that generates the update data.

[0068] The update information is preferably in a file format with a small amount of data, such as a text file.

[0069] Figure 7 The update information includes a destination, whether it is update information sent to an update target device or update information sent to a generation source device, an update target device, an address or memory location of the generation source software, and an output format of update data. Figure 7 The update information in is update information sent to the device 100B, and indicates that the device 100B is the generation source device and the device 100A is the update target device. The device 100B is based on Figure 7 The update information of the device 100B is extracted, the software content stored in "0x0244~0x0300" of the memory 102 of the device 100B is generated, the update data of the binary file is generated, and the update data is sent to the device 100A.

[0070] In step ST4 , the update information generation unit 212 generates update information to be sent to the update target device.

[0071] Figure 8This is a diagram showing an example of update information sent to an update target device. The update information includes a destination, whether it is update information sent to an update target device or update information sent to a generation source device, the latest version of the software, a list of update data, a generation source device for each update data, an application destination (address or memory location, etc.) of each update data, and an update order indicating the order in which the update data is applied. Figure 8 The update information is the update information sent to the device 100A, and indicates that the device 100A is the update target device. Figure 8 In the update information, device 100A first applies the update data "UpdateData_1" generated by device 100B to "0x01aa to 0x0200" of the memory 102 of device 100A, and then applies the update data "UpdateData_2" generated by device 100C to "0x00av~0x00bb" of the memory 102 of device 100A.

[0072] Although not shown in the figure, the item of the generation source device included in the update information transmitted to the update target device is not limited to the devices 100A to 100E, and may be the server 200 .

[0073] In step ST5, the server-side communication unit 214 transmits the update information generated by the update information generation unit 212 to the vehicle-external communication unit 111. At this time, the server-side communication unit 214 transmits the update information to the update target device and the update information to the generation source device when the vehicle 1 side can generate the update data, and transmits the update information to the update target device when the vehicle 1 side cannot generate the update data.

[0074] When the update data generation unit 213 generates update data in step ST2 (“Yes” in step ST6), in step ST7, the server-side communication unit 214 transmits the update data to the vehicle external communication unit 111. On the other hand, when the update data generation unit 213 does not generate update data (“No” in step ST6), the server-side communication unit 214 skips the operation in step ST7.

[0075] Fig. 9 This is a flowchart showing an operation example of the device 110A including the vehicle external communication unit 111 among the devices 100A to 100E of the software update apparatus 2 according to the first embodiment.

[0076] In step ST11, when the external communication unit 111 receives data sent by the server 200, it confirms the destination of the received data. In addition, when the internal communication unit 114 receives data sent by other devices 100B to 100E, it confirms the destination of the received data. When the received data is sent to the own device 100A (step ST11 "Yes"), the external communication unit 111 and the internal communication unit 114 perform the action of step ST13, and when the received data is sent to any one of the other devices 100B to 100E (step ST11 "No"), the external communication unit 111 and the internal communication unit 114 perform the action of step ST12.

[0077] In step ST12, when the destination of the received data is server 200, the vehicle exterior communication unit 111 transmits the received data to server 200. When the destination of the received data is any of other devices 100B to 100E, the vehicle interior communication unit 114 transmits the received data to the other device at the destination.

[0078] In step ST13, the external communication unit 111 and the internal communication unit 114 confirm whether the received data is update information. If the received data is update information (step ST13 "Yes"), the external communication unit 111 and the internal communication unit 114 perform the operation of step ST14, and if the received data is not update information (step ST13 "No"), the external communication unit 111 and the internal communication unit 114 end the operation. Fig. 9 The actions are shown in the flowchart.

[0079] In step ST14, the external communication unit 111 checks whether the device 100A is an update target device based on the update information as the received data. If the device 100A is an update target device (step ST14 "Yes"), the external communication unit 111 outputs the update information to the software update unit 113, and the software update unit 113 performs the operation of step ST17. If the device 100A is not an update target device (step ST14 "No"), the external communication unit 111 outputs the update information to the update data generation unit 112, and the update data generation unit 112 performs the operation of step ST15.

[0080] In step ST15 , the update data generating unit 112 generates update data for other devices based on the update information.

[0081] In step ST16 , the in-vehicle communication unit 114 transmits the update data for another device generated by the update data generating unit 112 to the other device.

[0082] Fig.10 The device 100A including the vehicle exterior communication unit 111 is shown. Fig. 9 Flowchart of an example of the operation of updating data in the reception waiting state (step ST17).

[0083] In step ST21, when the external communication unit 111 receives data sent by the server 200, it confirms the destination of the received data. In addition, when the internal communication unit 114 receives data sent by other devices 100B to 100E, it confirms the destination of the received data. When the received data is sent to the own device 100A (step ST21 "Yes"), the external communication unit 111 and the internal communication unit 114 perform the action of step ST23, and when the received data is sent to any one of the other devices 100B to 100E (step ST21 "No"), the external communication unit 111 and the internal communication unit 114 perform the action of step ST22.

[0084] In step ST22, when the destination of the received data is server 200, the vehicle exterior communication unit 111 transmits the received data to server 200. When the destination of the received data is any of other devices 100B to 100E, the vehicle interior communication unit 114 transmits the received data to the other device at the destination.

[0085] In step ST23, the external communication unit 111 and the internal communication unit 114 confirm whether the received data is update data. If the received data is update data (step ST23 "Yes"), the external communication unit 111 and the internal communication unit 114 output the update data to the software update unit 113, and the software update unit 113 performs the operation of step ST24. If the received data is not update data (step ST23 "No"), the external communication unit 111 and the internal communication unit 114 perform the operation of step ST21.

[0086] In step ST24 , the software update unit 113 refers to the update information received from the external vehicle communication unit 111 , and checks the number of update data items required to update the software of the own device 100A.

[0087] In step ST25, the software update unit 113 checks whether all the update data required to update the software of the device 100A are complete. If all the update data are complete (step ST25 "Yes"), the software update unit 113 performs the operation of step ST26. If there is unreceived update data (step ST25 "No"), the external communication unit 111 and the internal communication unit 114 perform the operation of step ST21.

[0088] In step ST26, the software update unit 113 updates the software of the own device 100A according to the update order included in the update information using all update data required for updating the software of the own device 100A. After the update is completed, the software update unit 113 transmits the latest software information to the server 200 via the external communication unit 111.

[0089] Fig.11 This is a flowchart showing an operation example of devices 110B to 100E that do not include the vehicle external communication unit 111 among the devices 100A to 100E of the software update apparatus 2 according to Embodiment 1. Since the operations of the devices 100B to 100E are the same, the operation of the device 100B will be described below as a representative.

[0090] In step ST31, the in-vehicle communication unit 114 receives data sent to the own device 100B via the communication bus 3. When the in-vehicle communication unit 114 receives data (step ST31 "Yes"), it performs the operation of step ST32, and when the in-vehicle communication unit 114 does not receive data (step ST31 "No"), it repeats the operation of step ST31.

[0091] In step ST32, the in-vehicle communication unit 114 confirms whether the received data is update information. If the received data is update information (step ST32 "Yes"), the in-vehicle communication unit 114 performs the operation of step ST33, and if the received data is not update information (step ST32 "No"), the in-vehicle communication unit 114 ends the operation. Fig.11 The actions are shown in the flowchart.

[0092] In step ST33, the in-vehicle communication unit 114 checks whether the device 100B is an update target device based on the update information as the received data. If the device 100B is an update target device (step ST33 "Yes"), the in-vehicle communication unit 114 outputs the update information to the software update unit 113, and the software update unit 113 performs the operation of step ST36. If the device 100B is not an update target device (step ST33 "No"), the in-vehicle communication unit 114 outputs the update information to the update data generation unit 112, and the update data generation unit 112 performs the operation of step ST34.

[0093] In step ST34 , the update data generating unit 112 generates update data for other devices based on the update information.

[0094] In step ST35 , the in-vehicle communication unit 114 transmits the update data for other devices generated by the update data generating unit 112 to the other devices.

[0095] Fig.12The devices 100B to 100E that do not include the external vehicle communication unit 111 are shown. Fig.11 Flowchart of an example of the operation of updating data in the reception waiting state (step ST36).

[0096] In step ST41, the in-vehicle communication unit 114 receives data sent to the own device 100B via the communication bus 3. When the in-vehicle communication unit 114 receives data (step ST41 "Yes"), it performs the operation of step ST42, and when the in-vehicle communication unit 114 does not receive data (step ST41 "No"), it repeats the operation of step ST41.

[0097] In step ST42, the in-vehicle communication unit 114 checks whether the received data is update information. If the received data is update data (step ST42 "Yes"), the in-vehicle communication unit 114 outputs the update data to the software update unit 113, and the software update unit 113 performs the operation of step ST43. If the received data is not update data (step ST42 "No"), the in-vehicle communication unit 114 performs the operation of step ST41.

[0098] In step ST43, the software update unit 113 refers to the update information received from the in-vehicle communication unit 114, and checks the number of update data required to update the software of the own device 100B.

[0099] In step ST44, the software update unit 113 checks whether all the update data required to update the software of the own device 100B are complete. If all the update data are complete (step ST25 "Yes"), the software update unit 113 performs the operation of step ST45. If there is unreceived update data (step ST44 "No"), the in-vehicle communication unit 114 performs the operation of step ST41.

[0100] In step ST45, the software update unit 113 uses all the update data required to update the software of the device 100B to update the software of the device 100B according to the update order included in the update information. After the update is completed, the software update unit 113 outputs the latest software information to the in-vehicle communication unit 114. The in-vehicle communication unit 114 sends the software information to the server 200 via the external communication unit 111 of the device 100A.

[0101] As described above, at least one device 100A among the plurality of devices 100A to 100E constituting the software update device 2 according to the first embodiment includes the vehicle-external communication unit 111. The vehicle-external communication unit 111 receives update information from the server 200 outside the vehicle, the update information including: information indicating an update target device that is a target of software update from among the plurality of devices 100A to 100E; and information indicating a generation source device having generation source software among the plurality of devices 100A to 100E, the generation source software being a source for generating update data for updating the update target software possessed by the update target device. Each of the plurality of devices 100A to 100E includes an update data generation unit 112 and a software update unit 113. Based on the update information received by the vehicle-external communication unit 111, the update data generation unit 112 generates update data using the generation source software possessed by the device when the device is the generation source device. Based on the update information received by the off-vehicle communication unit 111, the software update unit 113 uses the update data generated by the source device to update the update target software of the device when the device is the update target device. In this way, since the update data is generated by any one of the devices 100A to 100E of the vehicle 1, the data communication volume between the server 200 and the vehicle 1 can be reduced compared to the case where the server 200 generates the update data in the past. In addition, in the case where the server 200 generates the update data in the past, if the radio wave environment around the vehicle 1 is not good, it takes time for the vehicle 1 to receive the update data from the server 200, or it may not be able to receive the update data, so it may not be possible to perform software update. In contrast, if the vehicle 1 of the first embodiment can receive update information with a smaller data volume than the update data, the software can be updated, so the software can be updated even when the radio wave environment around the vehicle 1 is not good.

[0102] In addition, the server 200 involved in the first embodiment includes an update data generation judgment unit 211, an update information generation unit 212, and a server-side communication unit 214. The update data generation judgment unit 211 compares the update target software of the update target device that is the target of software update among the multiple devices 100A to 100E installed in the vehicle 1 with the software of the other devices, and judges whether the update data used to update the update target software of the update target device can be generated based on the software of the other devices. The update information generation unit 212 regards the device judged by the update data generation judgment unit 211 as being able to generate update data as a generation source device having generation source software, and generates update information including information indicating the generation source device and information indicating the update target device, and the above-mentioned generation source software is the source of generating the update data. The server-side communication unit 214 sends the update information generated by the update information generation unit 212 to the vehicle 1. As described above, since the server 200 generates update data by causing any one of the devices 100A to 100E of the vehicle 1, the amount of data communication between the server 200 and the vehicle 1 can be reduced compared to the case where the server 200 generates update data as in the past. In addition, in the case where the server 200 generates update data in the past, if the radio wave environment around the vehicle 1 is not good, it takes time for the vehicle 1 to receive the update data from the server 200, or the vehicle 1 may not be able to receive the update data from the server 200, and thus the software may not be updated. In contrast, the server 200 of the first embodiment can send update information with a smaller amount of data than the update data, so the vehicle 1 can perform software updates even when the radio wave environment around the vehicle 1 is not good.

[0103] Implementation method 2.

[0104] In the software updating system according to the second embodiment, when any one of the devices 100A to 100E can generate a part of the update data, any one of the devices 100A to 100E generates the part, and the server 200 generates the rest.

[0105] Here, a part of the update data generated by the generation source device is referred to as “first update data”, and the remaining part of the update data generated by the server 200 is referred to as “second update data”.

[0106] Fig.13 FIG. 2 is a diagram showing an overview of a software update system according to Embodiment 2. Fig.13 Zhongyu Figures 1 to 12 The same or corresponding parts are marked with the same reference numerals and the description thereof is omitted. Figure 2 to Figure 4 The structures shown in the drawings are the same, therefore, the following references Figure 2 to Figure 4 .

[0107] Fig.14 is a flowchart showing an example of the operation of the server 200 according to the second embodiment. When the server 200 receives an instruction from the outside to update the software of any of the devices 100A to 100E, Fig.14 The actions are shown in the flowchart. Fig.14 The operations of steps ST2 to ST7 shown in the flowchart are Figure 5 The operations of steps ST2 to ST7 shown in the flowchart are the same.

[0108] In step ST51, the update data generation determination unit 211 determines whether at least one of the devices other than the update target device can generate all the update data of the update target device. If the device other than the update target device can generate all the update data (step ST51 "Yes"), the update information generation unit 212 performs the operation of step ST3, and if all the update data cannot be generated (step ST51 "No"), the update data generation determination unit 211 performs the operation of step ST52.

[0109] In step ST52, the update data generation determination unit 211 determines whether at least one of the devices other than the update target device can generate a part of the update data of the update target device. If the device other than the update target device can generate a part of the update data (step ST52 "Yes"), the update information generation unit 212 performs the operation of step ST53. If the device other than the update target device cannot generate a part of the update data (step ST52 "No"), since only the devices 100A to 100E cannot generate the update data, the update data generation unit 213 performs the operation of step ST2.

[0110] In step ST53, the update information generation unit 212 generates update information to be sent to the generation source device that generates the first update data. Figure 7 The server-side communication unit 214 transmits the update information generated by the update information generation unit 212 and addressed to the generation source device to the vehicle external communication unit 111 .

[0111] In step ST54 , the update data generation unit 213 generates second update data based on the software information managed by the update data generation determination unit 211 . The server-side communication unit 214 transmits the second update data generated by the update data generation unit 213 to the vehicle external communication unit 111 .

[0112] The devices 100A to 100E of the software updating apparatus 2 according to the second embodiment are based on the first embodiment. Figures 9 to 12 The operation is performed according to the flowchart shown.

[0113] As described above, the vehicle external communication unit 111 of the second embodiment receives update information related to the first update data and the remaining part of the update data generated by the server 200, wherein the update information includes information indicating the update target device sent from the server 200 when the server 200 determines that the generation source device can generate a part of the update data, and information indicating the generation source device having the generation source software, wherein the generation source software is a source of generating a part of the update data. Based on the update information received by the vehicle external communication unit 111, the software update unit 113 updates the update target software possessed by the own device using the part of the update data generated by the generation source device and the remaining part of the update data received by the vehicle external communication unit 111. As described above, since at least a part of the update data is generated by any one of the devices 100A to 100E of the vehicle 1, the amount of data communication between the server 200 and the vehicle 1 can be reduced compared to the case where the server 200 generates the update data as in the past.

[0114] In addition, when the update data generation determination unit 211 determines that a part of the update data can be generated based on the software possessed by a device other than the update target device, the update data generation unit 213 of the second embodiment generates the remaining part of the update data. The update information generation unit 212 generates update information, which includes information indicating a generation source device having generation source software, which is a source for generating a part of the update data, and information indicating the update target device. The server-side communication unit 214 sends the update information generated by the update information generation unit 212 and the remaining part of the update data generated by the update data generation unit 213 to the vehicle 1. As described above, since the server 200 causes any one of the devices 100A to 100E of the vehicle 1 to generate at least a part of the update data, the amount of data communication between the server 200 and the vehicle 1 can be reduced compared to the conventional case where the server 200 generates all the update data.

[0115] Implementation method 3.

[0116] In the software updating system according to the third embodiment, the server 200 changes the device for generating the update data based on the communication quality between the vehicle 1 and the server 200 and the data volume of the update data.

[0117] Fig.152 is a functional block diagram showing a configuration example of a software updating device 2 according to Embodiment 3. Fig.15 Zhongyu Figure 1 to Figure 14 The same or corresponding parts are marked with the same reference numerals and the description thereof is omitted. Figure 2 to Figure 4 The structures shown in the drawings are the same, therefore, the following references Figure 2 to Figure 4 .

[0118] Among the plurality of devices 100A to 100E, the device 100A including the external vehicle communication unit 111 includes a communication quality measuring unit 115. The communication quality measuring unit 115 measures the communication quality between the external vehicle communication unit 111 and the server-side communication unit 214, and outputs information indicating the measured communication quality to the external vehicle communication unit 111. The external vehicle communication unit 111 periodically transmits information indicating the communication quality to the server-side communication unit 214. The communication quality is, for example, radio wave strength or a reception bit rate.

[0119] There are the following two methods for software updating in Implementation 3.

[0120] Mode 1: The server 200 generates all update data. Mode 1 is equivalent to Figure 5 and Fig.14 The actions of steps ST2, ST4~ST7.

[0121] Mode 2: At least one of the devices 100A to 100E generates first update data as a part of the update data, and the server 200 generates second update data as the remaining part of the update data. Mode 2 is equivalent to Fig.14 The actions of steps ST53 and ST54.

[0122] The updating data generation determination unit 211 of the server 200 determines which of the two modes to use for software updating based on the communication quality and the amount of the updating data.

[0123] Fig.16 is a flowchart showing an example of the operation of the server 200 according to the third embodiment. When the server 200 receives an instruction from the outside to update the software of any of the devices 100A to 100E, Fig.16 The actions are shown in the flowchart. Fig.16 The operations of steps ST2 to ST7 and ST51 to ST54 shown in the flowchart are Fig.14 The operations of steps ST2 to ST7 and ST51 to ST54 shown in the flowchart are the same.

[0124] When at least one of the devices 100A to 100E is able to generate a portion of the update data (i.e., the first update data) (step ST52 "Yes"), in step ST61, the server-side communication unit 214 receives information indicating the communication quality sent by the vehicle-external communication unit 111, and outputs the information to the update data generation determination unit 211. The update data generation determination unit 211 determines whether the communication quality is above a predetermined threshold. When the communication quality is less than the threshold, that is, when the communication quality is low (step ST61 "No"), the update data generation determination unit 211 selects mode 2. Then, the server 200 performs steps ST53 and ST54. When the communication quality is low, it is desired to suppress the amount of data communication between the server 200 and the vehicle 1, so the server 200 causes any one of the devices 100A to 100E to generate the first update data.

[0125] When the communication quality is equal to or higher than the threshold value, that is, when the communication quality is high (Yes in step ST61 ), the update data generation determination unit 211 performs the operation in step ST62 .

[0126] In step ST62, the update data generation determination unit 211 obtains the data size of the first update data and the data size of the second update data based on the software information. If the data size of the second update data is smaller than the data size of all update data (i.e., the first update data and the second update data) (step ST62: Yes), the update data generation determination unit 211 selects mode 2. Then, the server 200 performs the operations of steps ST53 and ST54.

[0127] When the data volume of the second update data is the same as the data volume of all update data (step ST62: No), the update data generation determination unit 211 selects mode 1. Then, the server 200 performs the operations of steps ST2 and ST4 to ST7. In addition, the data volume of the second update data and the data volume of all update data do not need to be strictly the same, and the update data generation determination unit 211 may regard them as the same as long as the difference between the two data volumes is less than a predetermined value.

[0128] As described above, in the third embodiment, the device 100A including the external communication unit 111 includes the communication quality measuring unit 115 for measuring the communication quality with the server 200. The external communication unit 111 transmits information indicating the communication quality measured by the communication quality measuring unit 115 to the server 200. When the server 200 determines that the communication quality is equal to or higher than a predetermined threshold value and that the data amount of all the update data is equal to the data amount of the remaining part, the external communication unit 111 receives the update data generated by the server 200. On the other hand, when the server 200 determines that the communication quality is equal to or higher than the threshold value and that the data amount of the remaining part is smaller than the data amount of all the update data, the external communication unit 111 receives update information related to a part of the update data and the remaining part of the update data generated by the server 200. When the external communication unit 111 receives the update data, the software update unit 113 updates the update target software possessed by the device using the update data. In addition, when the external communication unit 111 receives update information related to a part of the update data and the remaining part of the update data, the software update unit 113 uses a part of the update data generated by the generation source device and the remaining part of the update data received by the external communication unit 111 to update the update object software possessed by this device. In the case of high communication quality, even if the vehicle 1 is configured to receive the update data generated by the server 200, the reception does not take time, and there is no possibility of failure to receive. Therefore, the vehicle 1 of embodiment 3 can perform software updates. In addition, when the data volume of all the update data is approximately the same as the data volume of the second update data that can be generated only by the server 200, since the vehicle 1 receives all the update data from the server 200, the processing load for generating the update data is not imposed on the generation source device.

[0129] In addition, when it is determined that the communication quality in the server 200 is lower than the above threshold, the external communication unit 111 of the third embodiment receives the update information related to a part of the update data and the remaining part of the update data generated by the server 200, which are transmitted from the server 200. When the external communication unit 111 receives the update information related to a part of the update data and the remaining part of the update data, the software update unit 113 updates the update target software of the own device using the part of the update data generated by the generation source device and the remaining part of the update data received by the external communication unit 111. When the communication quality is low, since the vehicle 1 generates a part of the update data, the data communication volume between the server 200 and the vehicle 1 can be reduced. Therefore, the vehicle 1 of the third embodiment can perform software update even in a state where the radio wave environment around the vehicle 1 is not good.

[0130] In the third embodiment, the server-side communication unit 214 receives information indicating the communication quality measured in the vehicle 1. When the communication quality is equal to or higher than a predetermined threshold value and the data amount of all the update data is the same as the data amount of the remaining part, the update data generation determination unit 211 causes the update data generation unit 213 to generate the update data. On the other hand, when the communication quality is equal to or higher than the threshold value and the data amount of the remaining part is smaller than the data amount of all the update data, the update data generation determination unit 211 causes the update information generation unit 212 to generate update information including information indicating a generation source device having generation source software that is a source of generating a part of the update data and information indicating an update target device, and the update data generation determination unit 211 causes the update data generation unit 213 to generate the remaining part of the update data. When the communication quality is high, even if the vehicle 1 is configured to receive the update data generated by the server 200, it does not take time to receive it, and there is no possibility that it cannot be received. Therefore, the server 200 of the third embodiment can cause the vehicle 1 to perform software update. Furthermore, when the data size of all update data is substantially the same as the data size of the second update data that can be generated only by the server 200, since the server 200 receives all update data, no processing load for generating update data is imposed on the generation source device.

[0131] In the third embodiment, when the communication quality is lower than the threshold, the update data generation determination unit 211 causes the update information generation unit 212 to generate update information including information indicating a source device having source software that is a source for generating a portion of the update data and information indicating an update target device, and the update data generation determination unit 211 causes the update data generation unit 213 to generate the remaining portion of the update data. When the communication quality is low, since the server 200 causes the vehicle 1 to generate a portion of the update data, the data communication volume between the server 200 and the vehicle 1 can be reduced. Therefore, the server 200 of the third embodiment can perform software update even when the radio wave environment around the vehicle 1 is not good.

[0132] In the above description, there is one device to be updated, but there may be multiple devices. For example, when there are multiple devices with the same software in the vehicle 1, the multiple devices with the same software become the devices to be updated.

[0133] The present invention can freely combine the various embodiments, modify the arbitrary components of the various embodiments, or omit the arbitrary components of the various embodiments within the scope of the invention.

[0134] Industrial Applicability

[0135] The software update system according to the present invention reduces the amount of data communication between a server and a vehicle, and is therefore suitable for use in a software update system for performing software updates on vehicle-mounted devices using OTA.

[0136] Description of symbols

[0137] 1 Vehicle

[0138] 2 Software Update Device

[0139] 3.204 communication bus

[0140] 100A~100E Equipment

[0141] 101, 201 processor

[0142] 102, 202 Memory

[0143] 103 External vehicle network IF

[0144] 104 In-car network IF

[0145] 111 External communication department

[0146] 112 Update data generation unit

[0147] 113 Software Update Department

[0148] 114 In-vehicle communication department

[0149] 115 Communication Quality Measurement Department

[0150] 200 Server

[0151] 203 Server Network

[0152] IF, 211 Update data generation judgment unit

[0153] 212 Update information generation department

[0154] 213 Update data generation unit

[0155] 214 Server-side communication unit.

Claims

1. A software updating device, A software update device including a plurality of devices mounted on a vehicle, characterized in that: At least one of the plurality of devices comprises: an off-vehicle communication unit receiving update information from an off-vehicle server, the update information including: information indicating an update target device that is a target of software update among the plurality of devices; and information indicating a generation source device having generation source software among the plurality of devices, the generation source software being a source for generating update data used to update the update target software possessed by the update target device, The plurality of devices respectively include: an update data generating unit that generates the update data based on the update information received by the vehicle external communication unit and, when the own device is the generation source device, uses the generation source software possessed by the own device to generate the update data; and A software updating unit updates the update target software of the own device using the update data generated by the generation source device based on the update information received by the vehicle external communication unit when the own device is the update target device.

2. The software updating device according to claim 1, characterized in that: The vehicle-external communication unit receives update information including information indicating the update target device and information indicating the generation source device having the generation source software, which are sent from the server when the generation source device is determined in the server to be capable of generating a portion of the update data, and the remaining portion of the update data generated by the server, wherein the generation source software is a source for generating a portion of the update data. In this case, The software update unit updates the update target software of the own device using a part of the update data generated by the generation source device and the remaining part of the update data received by the external vehicle communication unit based on the update information received by the external vehicle communication unit.

3. The software updating device according to claim 2, characterized in that: The device including the vehicle external communication unit includes a communication quality measurement unit for measuring the communication quality with the server. The vehicle-external communication unit transmits information indicating the communication quality measured by the communication quality measurement unit to the server, and receives the update data generated by the server and transmitted from the server when the communication quality is determined to be above a predetermined threshold value and when the data volume of all the update data is determined to be the same as the data volume of the remaining part of the update data, and receives update information related to a part of the update data and the remaining part of the update data generated by the server when the communication quality is determined to be above the threshold value and when the data volume of the remaining part of the update data is determined to be smaller than the data volume of all the update data, the vehicle-external communication unit receives update information related to a part of the update data and the remaining part of the update data generated by the server, transmitted from the server, when the communication quality is determined to be above the threshold value and when the data volume of the remaining part of the update data is determined to be smaller than the data volume of all the update data, When the external vehicle communication unit receives the update data, the software update unit uses the update data to update the update target software possessed by the present device. When the external vehicle communication unit receives update information related to a part of the update data and the remaining part of the update data, the software update unit uses a part of the update data generated by the generation source device and the remaining part of the update data received by the external vehicle communication unit to update the update target software possessed by the present device.

4. The software updating device according to claim 3, characterized in that: When the communication quality is determined to be less than the threshold value in the server, the vehicle external communication unit receives update information related to a part of the update data and a remaining part of the update data generated by the server and transmitted from the server, When the external vehicle communication unit receives update information related to a part of the update data and the remaining part of the update data, the software update unit uses the part of the update data generated by the generation source device and the remaining part of the update data received by the external vehicle communication unit to update the update object software possessed by the present device.

5. A server, characterized in that: include: an update data generation determination unit, the update data generation determination unit comparing the update target software of the update target device that is the target of software update among the plurality of devices mounted on the vehicle with the software of the remaining devices, and determining whether update data used to update the update target software of the update target device can be generated based on the software of the remaining devices; an update information generating unit that generates update information including information indicating the generation source device and information indicating the update target device, using the device determined by the update data generation determining unit as being capable of generating the update data as a generation source device having generation source software, wherein the generation source software is a source for generating the update data; as well as A server-side communication unit transmits the update information generated by the update information generation unit to the vehicle.

6. The server according to claim 5, characterized in that include: an update data generating unit, which generates a remaining portion of the update data when the update data generation determining unit determines that a portion of the update data can be generated based on the software possessed by a device other than the update target device, The update information generating unit generates update information including information indicating a generation source device having generation source software and information indicating the update target device, wherein the generation source software is a source for generating a part of the update data, The server-side communication unit transmits the update information generated by the update information generation unit and the remaining portion of the update data generated by the update data generation unit to the vehicle.

7. The server according to claim 6, characterized in that The server-side communication unit receives information indicating the communication quality measured in the vehicle, The update data generation judgment unit causes the update data generation unit to generate the update data when the communication quality is above a predetermined threshold and the data volume of all the update data is the same as the data volume of the remaining update data, and causes the update data generation unit to generate update information including information indicating a generation source device having generation source software and information indicating the update target device and causes the update data generation unit to generate the remaining update data when the communication quality is above the threshold and the data volume of the remaining update data is smaller than the data volume of all the update data, wherein the generation source software is a source for generating a portion of the update data.

8. The server according to claim 7, characterized in that When the communication quality is less than the threshold, the update data generation judgment unit causes the update information generation unit to generate update information including information indicating a generation source device having generation source software and information indicating the update target device, and causes the update data generation unit to generate a remaining portion of the update data, wherein the generation source software is a source for generating a portion of the update data.

9. A software updating system, characterized in that: include: The software updating device according to claim 1; as well as The server as claimed in claim 5.

10. A software updating method, characterized in that: The server performs the following actions: Comparing the update target software of the update target device that is the target of software update among the plurality of devices mounted on the vehicle with the software of the other devices, and determining whether update data used to update the update target software of the update target device can be generated based on the software of the other devices, The device determined to be capable of generating the update data is used as a generation source device having generation source software, and update information including information indicating the generation source device and information indicating the update target device is generated, wherein the generation source software is a source for generating the update data, sending the generated update information to the vehicle, At least one of the plurality of devices performs the following actions: receiving the update information from the server, The plurality of devices respectively perform the following actions: Based on the update information received by at least one of the plurality of devices, the update data is generated using the generation source software possessed by the own device when the own device is the generation source device. Based on the update information received by at least one of the plurality of devices, when the own device is the update target device, the update target software of the own device is updated using the update data generated by the generation source device.

Citation Information

Patent Citations

  • Cooler for tubular object

    JP1981096018A

  • Information processing device, information processing system and information processing method

    CN107193575A

  • Gateway device, firmware update method, and control program

    CN107533491A