Communication system

The communication system addresses interruptions during vehicle reprogramming by using a coordinated approach between the first unit, second unit, and update device to ensure that reprogramming can be completed successfully even if interruptions occur.

JP2025059817APending Publication Date: 2025-04-10SUBARU CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023170138
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-29
Publication Date
2025-04-10

AI Technical Summary

Technical Problem

During vehicle reprogramming, interruptions such as dropping the connection terminal or switching off the ignition power can cause reprogramming to be interrupted, leading to incomplete or failed updates.

Method used

A communication system with a first unit in the vehicle, a second unit, and an update device, where the first unit processor transmits predetermined information to the update device, the second unit processor stores and transmits this information when interruptions occur, and the update device processor determines whether to continue reprogramming based on received information.

Benefits of technology

Ensures that reprogramming can be completed normally even if interruptions occur, by allowing the second unit to relay and store critical information, enabling the update device to resume the process effectively.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025059817000001_ABST
    Figure 2025059817000001_ABST
Patent Text Reader

Abstract

To enable normal execution of reprogramming.SOLUTION: A second unit processor executes processing which includes: storing first prescribed information in a second unit memory before the first prescribed information stored in a first unit memory is deleted; and transmitting the first prescribed information stored in the second unit memory to an update device when the execution of reprogramming is interrupted. An update device processor executes processing which includes: determining whether reprogramming is executable on the basis of the first prescribed information received from a first unit or a second unit; and transmitting the second prescribed information to the first unit when it is determined that the reprogramming is to be executed.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to communication systems. [Background technology]

[0002] 2. Description of the Related Art In recent years, techniques have been proposed for updating programs in various electronic devices installed in a vehicle (hereinafter, also referred to as "reprogramming").

[0003] For example, Patent Document 1 describes a method of connecting an external device to a vehicle to perform reprogramming, and performing reprogramming of a control device mounted on the vehicle. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2020-167573 A Summary of the Invention [Problem to be solved by the invention]

[0005] During the above-mentioned reprogramming, for example, if the connection terminal between the vehicle and the external device is disconnected, the reprogramming may be interrupted. Also, during the reprogramming, for example, if the ignition power supply of the vehicle is switched from IG-ON to IG-OFF by mistake, the reprogramming may be interrupted. Conventionally, when the reprogramming is interrupted unintentionally in this way, there is a risk that the reprogramming may not be performed normally.

[0006] An object of the present invention is to enable reprogramming to be performed normally. [Means for solving the problem]

[0007] In order to solve the above problem, a communication system according to an embodiment of the present invention includes: a first unit having one or more first unit processors and one or more first unit memories connected to the first unit processors, the first unit being provided in a vehicle; a second unit provided in the vehicle, the second unit having one or more second unit processors and one or more second unit memories connected to the second unit processors; an update device connected to the vehicle, the update device having one or more update device processors and one or more update device memories connected to the update device processors; Equipped with The first unit processor, Transmitting first predetermined information stored in the first unit memory to the update device; When reprogramming is performed, after deleting the first predetermined information stored in the first unit memory, storing the second predetermined information received from the update device in the first unit memory; Perform a process including The second unit processor: storing the first predetermined information in the second unit memory before the first predetermined information stored in the first unit memory is deleted; When the execution of the reprogramming is interrupted, transmitting the first predetermined information stored in the second unit memory to the update device; Perform a process including The update device processor: determining whether or not the reprogramming can be performed based on the first predetermined information received from the first unit or the second unit; transmitting the second predetermined information to the first unit when it is determined that the reprogramming is to be performed; Perform the process including: Effect of the Invention

[0008] According to the present invention, reprogramming can be performed normally. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a functional block diagram for explaining a communication system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a diagram for explaining a setting file according to an embodiment of the present invention. [Diagram 3] FIG. 3 is a flowchart showing an update device side process according to an embodiment of the present invention. [Figure 4] FIG. 4 is a flowchart showing the first unit side process according to an embodiment of the present invention. [Diagram 5] FIG. 5 is a flowchart showing the second unit side process according to an embodiment of the present invention. [Figure 6] FIG. 6 is a flowchart showing the second unit side process according to the first modified example of the present invention. [Figure 7] FIG. 7 is a flowchart showing an update device side process according to the first modified example of the present invention. [Figure 8] FIG. 8 is a flowchart showing a stored value request process according to the first modified example of the present invention. [Figure 9] FIG. 9 is a flowchart showing a stored value request process according to the second modified example of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. The specific dimensions, materials, numerical values, etc. shown in the embodiment are merely examples for facilitating understanding of the invention, and do not limit the present invention unless otherwise specified. In this specification and drawings, elements having substantially the same functions and configurations are given the same reference numerals to avoid repeated explanations, and elements not directly related to the present invention are not shown.

[0011] Fig. 1 is a functional block diagram for explaining a communication system 100 according to the present embodiment. As shown in Fig. 1, the communication system 100 includes a vehicle 200 and an update device 300 connected to the vehicle 200. The vehicle 200 is, for example, a hybrid vehicle equipped with an engine and a motor as driving sources.

[0012] Vehicle 200 is equipped with a connection terminal 210, a C-ECU 220, an ECU-A 220, an ECU-B 230, an ECU-C 250, an ECU-D 260, and an ECU-E 270.

[0013] The update device 300 is a dedicated terminal such as a reprogramming device for updating a desired function of the vehicle 200. The update device 300 is, for example, a personal computer. The update device 300 is connected to the vehicle 200 via a connection terminal 210. This enables two-way communication between the update device 300 and the vehicle 200.

[0014] In the following description, any one of the ECUs ECU-A220, ECU-B230, ECU-C250, ECU-D260, and ECU-E270 will be abstractly referred to as a "first unit." In the present embodiment, the case will be described in which five first units, ECU-A220, ECU-B230, ECU-C250, ECU-D260, and ECU-E270, are provided, but the number of first units is not limited to this. In other words, the number of first units may be any number greater than or equal to one.

[0015] These first units may be control units of various electronic devices mounted on the vehicle 200. Specifically, the first unit is, for example, an engine control unit that controls an engine. The first unit is, for example, a motor control unit that controls a motor. The first unit is, for example, a battery control unit that controls a battery. The first unit is, for example, a wireless communication unit that wirelessly communicates with a data center outside the vehicle 200. The first unit is, for example, a car navigation system control unit that controls a car navigation system. The first unit is, for example, an automatic driving control unit that controls automatic driving of the vehicle 200.

[0016] In the following description, the C-ECU 220 is also abstractly referred to as a "second unit." The second unit always relays communication between the update device 300 and the first unit. The second unit also monitors the content of communication between the update device 300 and the first unit.

[0017] 1, the C-ECU 220 has one or more processors 220a and one or more memories 220b connected to the processor 220a. The processor 220a includes, for example, a CPU (Central Processing Unit). The memory 220b includes, for example, a ROM (Read Only Memory) and a RAM (Random Access Memory). The ROM is a storage element that stores programs and computation parameters used by the CPU. The RAM is a storage element that temporarily stores data such as variables and parameters used in processing executed by the CPU.

[0018] 1, the ECU-A 230 has one or more processors 230a and one or more memories 230b connected to the processor 230a. Similarly, the ECU-B 240 has one or more processors 240a and one or more memories 240b connected to the processor 240a. The ECU-C 250 has one or more processors 250a and one or more memories 250b connected to the processor 250a. The ECU-D 260 has one or more processors 260a and one or more memories 260b connected to the processor 260a. The ECU-E 270 has one or more processors 270a and one or more memories 270b connected to the processor 270a.

[0019] The processor 230a, the processor 240a, the processor 250a, and the processor 270a each include, for example, a CPU. Furthermore, the memory 230b, the memory 240b, the memory 250b, the memory 260b, and the memory 270b each include, for example, a ROM and a RAM.

[0020] The memories 230b, 240b, 250b, 260b, and 270b each store programs for operating various electronic devices, and a ROMID indicating version information of the currently stored programs.

[0021] 1, the update device 300 includes one or more processors 300a and one or more memories 300b connected to the processors 300a. The processor 300a includes, for example, a CPU. The memory 300b includes, for example, a ROM and a RAM.

[0022] A setting file is stored in the memory 300b. A setting file may be provided for each vehicle model. Also, a setting file may be provided for each manufacturing year of the vehicle model. FIG. 2 is a diagram for explaining a setting file according to an embodiment of the present invention. As shown in FIG. 2, the setting file stores old version information, latest version information, and an update program for each type of first unit.

[0023] The old version information includes information for identifying the version of the update program of the old version corresponding to the type of the first unit.

[0024] The latest version information includes information for identifying the version of the update program of the latest version corresponding to the type of the first unit.

[0025] The update program includes information for identifying the update program, such as the file name or address of the latest version of the update program according to the type of the first unit.

[0026] That is, when the version of the program currently stored in the first unit is included in the range of old version information in the setting file, the first unit becomes a target for reprogramming.

[0027] First, the program currently stored in the first unit to be reprogrammed is deleted, and the ROMID is deleted accordingly. After that, the update program is written into the first unit to be reprogrammed, thereby executing the reprogramming.

[0028] As described above, when reprogramming is performed, before the update program is written to the first unit to be reprogrammed, it is necessary to delete the program and ROMID currently stored in the first unit. Therefore, if the reprogramming being performed is interrupted before the writing of the update program to the first unit is completed, the ROMID will no longer be stored in the first unit to be reprogrammed.

[0029] The update device 300 determines whether the first unit is a target for reprogramming by comparing the ROM ID of the first unit with the contents of the setting file. Therefore, if the ROM ID is not stored in the first unit as described above, it will not be possible to compare it with the contents of the setting file, and it may become difficult for the update device 300 to identify the first unit to be reprogrammed. This may cause the update device 300 to be unable to resume reprogramming.

[0030] Therefore, in this embodiment, the ROM ID of the first unit is stored in the memory 220b of the C-ECU 220 before the ROM ID of the first unit is deleted, thereby reducing the possibility that the reprogramming cannot be resumed. The process executed by the communication system 100 will be described below.

[0031] First, an update device-side process executed in the update device 300 will be described. Fig. 3 is a flowchart showing the update device-side process according to an embodiment of the present invention. Note that various processes including the processes described below can be executed by the processor 300a of the update device 300. In detail, the processor 300a executes a program stored in the memory 300b of the update device 300, thereby executing various processes.

[0032] The update device-side process is executed, for example, when an operator connects the update device 300 to the vehicle 200. In the following, as an example, the update device-side process when communication is performed between the update device 300 and the ECU-A 230 will be described.

[0033] 3, the update device 300 transmits ROMID request information requesting transmission of the currently stored ROMID to the first unit with which it communicates, here, the ECU-A 230 (S100-1). As described above, the communication between the update device 300 and the first unit is relayed by the C-ECU 220. That is, the ROMID request information transmitted from the update device 300 is transmitted to the ECU-A 230 via the C-ECU 220.

[0034] The update device 300 judges whether or not response information responding to the ROMID request information is received (S100-3). The response information includes the ROMID of the first unit of the communication partner, in this case, the ECU-A230. Note that, as will be described in detail later, when the ECU-A230 receives the ROMID request information, it transmits the response information to the update device 300. Also, as will be described in detail later, if the ECU-A230 is unable to transmit the response information due to some malfunction, the C-ECU220 transmits the response information including the ROMID of the ECU-A230 to the update device 300 on behalf of the ECU-A230.

[0035] If the update device 300 receives response information from the first unit of the communication partner or the C-ECU 220 (YES in S100-3), the process proceeds to step S100-5, which will be described later. If the update device 300 has not received response information (NO in S100-3), the process proceeds to step S100-13, which will be described later. If the update device 300 has not received response information, the update device 300 may execute a so-called retry process of retransmitting the ROMID request information after a preset waiting time has elapsed.

[0036] The update device 300 compares the setting file shown in FIG. 4 stored in the memory 300b with the ROM ID included in the response information (S100-5). Then, the update device 300 judges whether or not a predetermined execution condition is satisfied based on the result of the above step S100-5 (S100-7). Specifically, for example, the update device 300 judges that the execution condition is satisfied when the ROM ID included in the response information corresponds to the old version information stored in the setting file. Also, the update device 300 judges that the execution condition is not satisfied when the ROM ID included in the response information corresponds to the latest version information stored in the setting file. Also, the update device 300 may judge that the execution condition is not satisfied when the ROM ID included in the response information does not correspond to either the latest version information or the old version information stored in the setting file.

[0037] As a result, if the execution condition is met (YES in S100-7), the update device 300 proceeds to step S100-9, which will be described later. If the execution condition is not met (NO in S100-7), the update device 300 proceeds to step S100-13, which will be described later.

[0038] The update device 300 decides to execute reprogramming based on the establishment of the execution condition (S100-9), and executes a reprogramming execution process for executing the reprogramming (S100-11). In the reprogramming execution process, specifically, for example, the update device 300 transmits deletion request information requesting deletion of the currently stored program and ROM ID to the first unit for which the execution of reprogramming has been determined, here, the ECU-A230. Furthermore, when the deletion of the program and ROM ID is completed in the ECU-A230, the update device 300 transmits writing information including the update program for the ECU-A230 to the ECU-A230, and ends the update device-side process.

[0039] Furthermore, if it is determined that no response information has been received (NO in S100-3) and if it is determined that the execution condition is not met (NO in S100-7), the update device 300 decides not to perform reprogramming (S100-9).

[0040] Next, the first unit side processing executed in the first unit will be described. FIG. 4 is a flowchart showing the first unit side processing according to an embodiment of the present invention. Various processes including the processes described below can be executed by each processor of the first unit. In detail, various processes are executed by a processor (e.g., processor 230a, processor 240a, processor 250a, processor 260a, processor 270a) executing a program stored in each memory (e.g., memory 230b, memory 240b, memory 250b, memory 260b, memory 270b) of the first unit (e.g., ECU-A230, ECU-B240, ECU-C250260, ECU-E270).

[0041] In this embodiment, the first unit side process is executed by a timer interrupt that occurs at a predetermined time interval. In the following, as an example, the first unit side process executed in the ECU-A230 when communication is performed between the update device 300 and the ECU-A230 will be described.

[0042] 4, the ECU-A 230 judges whether or not it has received ROMID request information from the update device 300 (S200-1). If it has not received ROMID request information (NO in S200-1), the ECU-A 230 proceeds to step S200-5, which will be described later. If it has received ROMID request information (YES in S200-1), the ECU-A 230 transmits response information including the ROMID stored in the memory 230b to the update device 300 (S200-3).

[0043] Next, the ECU-A 230 determines whether or not deletion request information has been received from the update device 300 (S200-5). If deletion request information has not been received (NO in S200-5), the ECU-A 230 proceeds to step S200-9, which will be described later. If deletion request information has been received (YES in S200-5), the ECU-A 230 executes a deletion process to delete the programs and ROM IDs stored in the memory 230b.

[0044] Next, the ECU-A 230 judges whether or not writing information has been received from the update device 300 (S200-9). If writing information has not been received (NO in S200-9), the ECU-A 230 ends the first unit side process. If writing information has been received (YES in S200-9), the ECU-A 230 executes a writing process to store the update program and the updated ROM ID in the memory 230b based on the received writing information (S200-11). When the writing process ends, the ECU-A 230 ends the first unit side process.

[0045] Next, the second unit side processing executed in the second unit will be described. FIG. 5 is a flowchart showing the second unit side processing according to an embodiment of the present invention. Various processing including the processing described below can be executed by the processor of the second unit. In detail, the processor 220a executes a program stored in the memory 220b of the C-ECU 220, thereby executing various processing. In addition to the second unit side processing described later, the second unit executes a relay processing for relaying all communication between the update device 300 and the first unit as needed. In the relay processing, the C-ECU 220 stores in the memory 220b the history of various messages transmitted from the update device 300 to the first unit and various messages transmitted from the first unit to the update device 300.

[0046] In this embodiment, the second unit side process is executed by a timer interrupt that occurs at a predetermined time interval. In the following, as an example, the second unit side process executed in the C-ECU 220 when communication is performed between the update device 300 and the ECU-A 230 will be described.

[0047] 5, the C-ECU 220 executes a monitoring process (S300-1) for monitoring the communication between the update device 300 and the first unit. Specifically, as the monitoring process, the C-ECU 220 checks the contents of various messages stored in the memory 220b in the relay process described above.

[0048] The C-ECU 220 determines whether or not a predetermined backup condition is satisfied based on the result of the monitoring process in the above step S300-1 (S300-3). Specifically, for example, the C-ECU 220 determines that the backup condition is satisfied when response information is transmitted from the first unit to the update device 300 in the above step S200-3. Here, the C-ECU 220 determines that the backup condition is satisfied when response information is transmitted from the ECU-A 230 to the update device 300. If the backup condition is not satisfied (NO in S300-3), the C-ECU 220 proceeds to step S300-9, which will be described later.

[0049] Also, if the backup condition is met (YES in S300-3), C-ECU 220 executes a type identification information storage process to store in memory 220b the type of the first unit that transmitted the response information, in this case, type identification information for identifying ECU-A 230 (S300-5).

[0050] Next, the C-ECU 220 executes a response information storage process in which the response information transmitted from the ECU-A 230 to the update device 300 is associated with the type identification information stored in the above step S300-5, and stored in the memory 220b (S300-7).

[0051] The C-ECU 220 may collectively store the ROM IDs of all the first units of the vehicle 200 in the memory 220b every time the update device 300 is connected to the vehicle 200. The C-ECU 220 may collectively store the ROM IDs of all the first units of the vehicle 200 in the memory 220b every time the ignition power of the vehicle 200 is switched from IG-OFF to IG-ON.

[0052] The C-ECU 220 judges whether or not a predetermined status update condition is satisfied based on the monitoring result of the above step S300-1 (S300-9). Specifically, for example, the C-ECU 220 judges that the status update condition is satisfied when the update device 300 transmits deletion request information to the first unit in the above step S100-11. Here, the C-ECU 220 judges that the status update condition is satisfied when the update device 300 transmits deletion request information to the ECU-A 230. Also, the C-ECU 220 judges that the status update condition is satisfied when the ECU-A 230 completes the writing process of the above step S200-11. If the status update condition is not satisfied (NO in S300-9), the C-ECU 220 proceeds to step S300-13, which will be described later.

[0053] Also, when the status update condition is satisfied (YES in S300-9), the C-ECU 220 executes a status update process to update the status of the ECU-A 230 in association with the type identification information stored in the above step S300-5 (S300-11). Specifically, for example, when deletion request information is transmitted from the update device 300 to the first unit, the C-ECU 220 stores a status indicating that the ROM ID has been deleted in the memory 220b in association with the type identification information stored in the above step S300-5. Also, when the write process in the above step S200-11 is completed in the ECU-A 230, the C-ECU 220 stores a status indicating that the reprogramming has been completed in the memory 220b in association with the type identification information stored in the above step S300-5.

[0054] The C-ECU 220 determines whether or not a predetermined proxy response condition is satisfied based on the monitoring result of the above step S300-1 (S300-13). The predetermined proxy response condition may be satisfied when the ongoing reprogramming is interrupted and the first unit (ECU-A 230) is in a state where the ROMID is not stored. For example, the C-ECU 220 may determine that the proxy response condition is satisfied when a status indicating that the ROMID has been deleted is stored in the above step S300-11 and ROMID request information is transmitted from the update device 300 to the first unit (ECU-A 230).

[0055] If the proxy response condition is not met (NO in S300-13), C-ECU 220 ends the second unit side process.

[0056] Furthermore, when the proxy response condition is met (YES in S300-13), the C-ECU 220 executes a proxy response process (S300-15) to transmit the response information stored in step S300-7 to the update device 300 on behalf of the ECU-A 230. This allows the C-ECU 220 to transmit the response information to the update device 300 on behalf of the first unit (ECU-A 230) even if the ongoing reprogramming is interrupted and the ROMID is no longer stored in the first unit (ECU-A 230).

[0057] After the reprogramming is interrupted, when the update device 300 is connected to the vehicle 200 again, the update device side process shown in Fig. 3 is executed again. At this time, even if the ROMID is not stored in the first unit, the C-ECU 220 transmits the response information in place of the ECU-A 230, so that the update device 300 can receive the response information in the above step S100-3. This makes it possible to resume the interrupted reprogramming.

[0058] Also, as described above, even if the ROMID is not stored in the first unit, the update device 300 can properly receive the response information. Therefore, the update device 300 can execute a common process regardless of whether the ROMID is not stored in the first unit. This eliminates the need to make design changes to the update device 300, making it possible to suppress an increase in design costs.

[0059] As described above, the communication system 100 of this embodiment has one or more first unit processors (e.g., processor 230a) and one or more first unit memories (e.g., memory 230b) connected to the first unit processors, and is equipped with a first unit (e.g., ECU-A 230) provided in the vehicle 200. The communication system 100 also includes a second unit (e.g., C-ECU 220) having one or more second unit processors (e.g., processor 220a) and one or more second unit memories (e.g., memory 220b) connected to the second unit processors, and is provided in the vehicle 200. The communication system 100 also includes an update device 300 connected to the vehicle 200, the update device 300 having one or more update device processors (e.g., processor 300a) and one or more update device memories (e.g., memory 300b) connected to the update device processors. The first unit processor (e.g., processor 230a) executes processing including transmitting the first predetermined information (e.g., ROM ID) stored in the first unit memory (e.g., memory 230b) to the update device 300 (steps S200-1 to S200-3 as an example in the above embodiment). When reprogramming is performed, the first unit processor (e.g., processor 230a) executes a process including deleting first predetermined information (e.g., ROM ID) stored in the first unit memory (e.g., memory 230b) and then storing second predetermined information (e.g., an update program and the updated ROM ID) in the first unit memory (steps S200-5 to S200-11 as an example in the above embodiment). The second unit processor (e.g., processor 220a) executes processing including storing the first specified information (e.g., ROM ID) in the second unit memory (e.g., memory 220b) before the first specified information (e.g., ROM ID) stored in the first unit memory (e.g., memory 230b) is deleted (steps S300-3 to S300-7 as an example in the above embodiment). When the execution of the reprogramming is interrupted, the second unit processor (e.g., processor 220a) executes a process including transmitting the first predetermined information (e.g., ROM ID) stored in the second unit memory (e.g., memory 220b) to the update device 300 (steps S300-9 to S300-15 as an example in the above embodiment). The update device processor (e.g., processor 300a) executes processing including determining whether or not reprogramming can be performed based on first predetermined information (e.g., ROM ID) received from the first unit (e.g., ECU-A 230) or the second unit (e.g., C-ECU 220) (as an example in the above embodiment, steps S100-1 to S100-7). When the update device processor (e.g., processor 300a) decides to execute reprogramming, it executes processing including transmitting second predetermined information (e.g., the update program and the updated ROM ID) to the first unit (e.g., ECU-A 230) (steps S100-7 to S100-11 as an example in the above embodiment).

[0060] In the communication system 100 of this embodiment, even if reprogramming is unintentionally interrupted, it is possible to perform reprogramming normally.

[0061] Furthermore, the second unit (e.g., C-ECU 220) may be a central unit that relays and monitors communication between the update device 300 and the first unit (e.g., ECU-A 230) (step S300-1 as an example in the above embodiment). In this way, if the central unit relays and monitors the communication between the update device 300 and the first unit (for example, the ECU-A 230), it is possible to appropriately back up the first predetermined information.

[0062] In addition, the second unit processor (e.g., processor 220a) may execute processing including storing the first specified information (e.g., ROM ID) in the second unit memory (e.g., memory 220b) when the first specified information (e.g., ROM ID) stored in the first unit memory (e.g., memory 230b) is transmitted from the first unit (e.g., ECU-A 230) to the update device 300 (steps S300-1 to S300-7 as an example in the above embodiment). In addition, when execution of reprogramming is interrupted, the second unit processor (e.g., processor 220a) may execute processing including transmitting first predetermined information (e.g., ROM ID) to update device 300 on behalf of the first unit (e.g., ECU-A 230) (as an example in the above embodiment, steps S300-13 to S300-15). By doing this, even if reprogramming is unintentionally interrupted, the second unit (e.g., C-ECU 220) can transmit the first specified information (e.g., ROM ID) to the update device 300 on behalf of the first unit (e.g., ECU-A 230), so that reprogramming can be performed normally.

[0063] In addition, the second unit processor (e.g., processor 220a) may execute a process including transmitting the first specified information (e.g., ROM ID) stored in the second unit memory (e.g., memory 220b) to the update device 300 when the execution of the reprogram is interrupted during the period after the first specified information (e.g., ROM ID) stored in the first unit memory (e.g., memory 230b) is deleted and before the execution of the reprogram is completed (steps S300-13 to S300-15 as an example in the above embodiment). By doing this, even if reprogramming is unintentionally interrupted after the first specified information (e.g., ROM ID) is deleted from the first unit (e.g., ECU-A230), reprogramming can be performed normally.

[0064] <First Modification> In the above embodiment, a case has been described in which, when ECU-A230 is unable to transmit the response information due to some malfunction, C-ECU220 automatically takes the place of ECU-A230 and transmits the response information, which includes the ROM ID of ECU-A230, to update device 300. In the first modified example, a case has been described in which, when ECU-A230 is unable to transmit the response information due to some malfunction, update device 300 transmits stored value request information, which includes the ROM ID of ECU-A230 and requests transmission of the response information, to C-ECU220.

[0065] In the first modified example, the second unit side process shown in Fig. 6 is executed instead of the second unit side process shown in Fig. 5. Also, in the first modified example, the case where the update device side process shown in Fig. 7 is executed instead of the update device side process shown in Fig. 3 will be described.

[0066] Fig. 6 is a flow chart showing the second unit side processing according to the first modified example of the present invention. Note that, in the following, only the changes from the second unit side processing shown in Fig. 5 will be explained.

[0067] The C-ECU 220 determines whether or not stored value request information has been received from the update device 300 (S300-17). If stored value request information has not been received (NO in S300-17), the C-ECU 220 ends the second unit side process.

[0068] When the stored value request information is received (YES in S300-17), the C-ECU 220 transmits the response information stored in the above step S300-7 to the update device 300 (S300-19). This makes it possible to transmit the response information to the update device 300 instead of the first unit (e.g., ECU-A 230) even if the ongoing reprogramming is interrupted and the ROMID is no longer stored in the first unit (e.g., ECU-A 230).

[0069] 7 is a flowchart showing the update device side process according to the first modified example of the present invention. Note that, in the following, only changes from the update device side process shown in FIG.

[0070] If no response information has been received (NO in S100-3), the update device 300 executes a stored value request process (S120) and ends the update device-side process.

[0071] 8 is a flowchart showing a stored value request process (S120) according to the first modified example of the present invention. When the update device 300 cannot receive response information from the ECU-A 230, the update device 300 transmits stored value request information requesting transmission of a stored value (the response information stored in the above step S300-7) to the second unit (C-ECU 220) (S120-1).

[0072] As a result of executing step S120-1, the update device 300 judges whether or not response information has been received from the C-ECU 220 (S120-3). If response information has been received from the C-ECU 220 (YES in S120-3), the update device 300 moves the process to step S120-5, which will be described later. If response information has not been received from the C-ECU 220 (NO in S120-3), the update device 300 moves the process to step S120-13, which will be described later. If response information cannot be received from the C-ECU 220 (NO in S120-3), for example, reprogramming being performed is interrupted, and the ROMID is not stored in the first unit (e.g., ECU-A 230).

[0073] The update device 300 compares the setting file stored in the memory 300b shown in FIG. 4 with the ROM ID included in the response information received from the C-ECU 220 in the above step S120-3 (S120-5). Then, the update device 300 judges whether or not a predetermined execution condition is satisfied based on the result of the above step S120-5 (S120-7). Specifically, for example, the update device 300 judges that the execution condition is satisfied when the ROM ID included in the response information received from the C-ECU 220 corresponds to the old version information stored in the setting file. As a result, if the execution condition is satisfied (YES in S120-7), the update device 300 transfers the process to step S120-9 described later. On the other hand, if the execution condition is not satisfied (NO in S120-7), the update device 300 transfers the process to step S120-13 described later.

[0074] The update device 300 determines whether or not to execute reprogramming based on the establishment of the execution condition (S120-9), and executes a reprogramming execution process for executing the reprogramming (S120-11). Here, the reprogramming process is executed in the same manner as in step S100-11 described above.

[0075] In addition, if it is determined that no response information has been received from C-ECU 220 (NO in S120-3) and if it is determined that the execution condition is not met (NO in S120-7), the update device 300 decides not to perform reprogramming (S120-9).

[0076] <Second Modification> In the second modified example, a stored value request process shown in Fig. 9 is executed instead of the stored value request process shown in Fig. 8 according to the first modified example. The second modified example differs from the first modified example mainly in that, when determining the execution conditions for reprogramming, it becomes possible to use the ROMID included in the stored value stored in memory 300b, which will be described in detail later.

[0077] 9 is a flowchart showing a stored value request process (S122) according to the second modified example of the present invention. When the update device 300 cannot receive response information from the ECU-A 230, the update device 300 transmits stored value request information requesting transmission of a stored value (the response information stored in the above step S300-7) to the second unit (C-ECU 220) (S122-1).

[0078] As a result of execution of step S122-1, the update device 300 determines whether or not response information has been received from the C-ECU 220 (S122-3). If response information has been received from the C-ECU 220 (YES in S122-3), the update device 300 proceeds to step S122-5, which will be described later. If response information has not been received from the C-ECU 220 (NO in S122-3), the update device 300 proceeds to step S122-19, which will be described later.

[0079] In the second modification, when the update device 300 receives the response information in the above step S100-3, the update device 300 temporarily stores the received response information as a saved value in the memory 300b. For example, when the power supply of the update device 300 is turned off, there is no problem even if the saved value saved in the memory 300b is deleted.

[0080] The update device 300 checks whether or not the saved value stored in the above step S100-3 exists in the memory 300b (S122-5).

[0081] Based on the result of the check in step S122-5, the update device 300 determines whether or not there is a stored value in the memory 300b. If there is a stored value in the memory 300b (YES in S122-7), the update device 300 compares the setting file shown in Fig. 4, the ROM ID included in the response information received from the C-ECU 220 in step S122-3, and the ROM ID included in the stored value stored in the memory 300b (S122-9).

[0082] Furthermore, if there is no stored value in the memory 300b (NO in S122-7), the update device 300 compares the setting file shown in FIG. 4 with the ROM ID included in the response information received from the C-ECU 220 in the above step S122-3 (S122-11).

[0083] The update device 300 judges whether or not a predetermined execution condition is satisfied based on the result of the above step S122-9 or the above step S122-11 (S122-13). Specifically, for example, the update device 300 judges that the execution condition is satisfied when the ROM ID included in the response information received from the C-ECU 220 corresponds to the old version information stored in the setting file. The update device 300 also judges that the execution condition is satisfied when the ROM ID included in the response information received from the C-ECU 220 matches the ROM ID included in the saved value stored in the memory 300b and the ROM ID corresponds to the old version information stored in the setting file.

[0084] As a result, if the execution condition is met (YES in S122-13), the update device 300 proceeds to step S122-15, which will be described later. If the execution condition is not met (NO in S122-13), the update device 300 proceeds to step S122-19, which will be described later.

[0085] The update device 300 determines whether or not to perform reprogramming based on the establishment of the execution condition (S122-15), and executes a reprogramming execution process for executing the reprogramming (S122-17). Here, the reprogramming process is executed in the same manner as in step S100-11 described above.

[0086] In addition, if it is determined that no response information has been received from C-ECU 220 (NO in S122-3) and if it is determined that the execution condition is not met (NO in S122-13), the update device 300 decides not to perform reprogramming (S122-9).

[0087] Although the embodiment and modified examples of the present invention have been described above with reference to the attached drawings, it goes without saying that the present invention is not limited to such embodiment and modified examples. It is clear that a person skilled in the art can think of various modified or amended examples within the scope of the claims, and it is understood that these also naturally belong to the technical scope of the present invention.

[0088] In the above embodiment and modified example, the vehicle 200 is a hybrid vehicle, but the present invention is not limited to this. The present invention can be applied to various vehicle types, such as gasoline vehicles, electric vehicles (EVs), plug-in hybrid vehicles (PHEVs), and non-plug-in hybrid vehicles (hybrid vehicles).

[0089] The series of processes performed by the communication system 100 according to the above-described embodiment and modified examples may be realized using any of software, hardware, or a combination of software and hardware. The programs constituting the software are stored in advance in, for example, a non-transitory storage medium provided inside or outside each device. The programs are then read from, for example, the non-transitory storage medium (for example, ROM) to a transitory storage medium (for example, RAM) and executed by a processor such as a CPU.

[0090] Moreover, according to the above embodiment and the modified example, it is possible to provide a program for executing the processing of each function of the communication system 100. Furthermore, it is also possible to provide a non-transitory storage medium readable by a computer in which the program is stored. The non-transitory storage medium may be, for example, a disk-type storage medium such as an optical disk, a magnetic disk, or a magneto-optical disk, or may be a semiconductor memory such as a flash memory or a USB memory. [Explanation of symbols]

[0091] 100 Communication Systems 200 vehicles 220 C-ECU (2nd unit) 220a processor (second unit processor) 220b memory (second unit memory) 230 ECU-A (1st unit) 230a processor (first unit processor) 230b Memory (1st unit memory) 240 ECU-B (1st unit) 240a Processor (First Unit Processor) 240b memory (first unit memory) 250 ECU-C (first unit) 250a processor (first unit processor) 250b memory (first unit memory) 260 ECU-D (1st unit) 260a Processor (First Unit Processor) 260b memory (first unit memory) 270 ECU-E (1st unit) 270a Processor (First Unit Processor) 270b Memory (1st unit memory) 300 Update device 300a Processor (update device processor) 300b Memory (update device memory)

Claims

1. a first unit provided in a vehicle, the first unit having one or more first unit processors and one or more first unit memories connected to the first unit processors; a second unit provided in the vehicle, the second unit having one or more second unit processors and one or more second unit memories connected to the second unit processors; an update device connected to the vehicle, the update device having one or more update device processors and one or more update device memories connected to the update device processors; Equipped with The first unit processor comprises: transmitting first predetermined information stored in the first unit memory to the update device; When reprogramming is performed, after deleting the first predetermined information stored in the first unit memory, storing second predetermined information received from the update device in the first unit memory; Perform a process including The second unit processor: storing the first predetermined information in the second unit memory before the first predetermined information stored in the first unit memory is deleted; transmitting the first predetermined information stored in the second unit memory to the update device when the execution of the reprogramming is interrupted; Perform a process including The update device processor: determining whether or not the reprogramming can be performed based on the first predetermined information received from the first unit or the second unit; transmitting the second predetermined information to the first unit when it is determined that the reprogramming is to be performed; A communication system that performs a process including the steps of:

2. The second unit is 2. The communication system according to claim 1, further comprising a central unit which relays and monitors communication between said update device and said first unit.

3. The second unit processor: storing the first predetermined information in the second unit memory when the first predetermined information stored in the first unit memory is transmitted from the first unit to the update device; When the execution of the reprogramming is interrupted, transmitting the first predetermined information to the update device instead of the first unit; The communication system of claim 2 , further comprising:

4. The second unit processor: transmitting the first predetermined information stored in the second unit memory to the update device when the execution of the reprogramming is interrupted during a period after the first predetermined information stored in the first unit memory is deleted and before the execution of the reprogramming is completed; The communication system according to claim 1 , further comprising:

Citation Information

Patent Citations

  • Vehicle network system

    JP2020167573A