An automobile OTA upgrade breakpoint continuation method, a vehicle-mounted ECU, and a vehicle-mounted networked terminal

By sending a breakpoint resume address command to the ECU and comparing it with the verification value, the problem of low OTA upgrade efficiency for different ECU versions is solved, achieving efficient breakpoint resume and improving the efficiency of vehicle OTA upgrades.

CN116527649BActive Publication Date: 2026-07-07ZHENGZHOU YUTONG BUS CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHENGZHOU YUTONG BUS CO LTD
Filing Date
2022-01-21
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

In existing technologies, it is difficult to achieve efficient resume transmission when dealing with various versions of vehicle ECUs, resulting in low efficiency of OTA upgrades.

Method used

By sending a command to the ECU to be upgraded to read the address of the breakpoint resume transmission, the system determines whether breakpoint resume transmission is supported based on the feedback content, and performs breakpoint resume transmission or full transmission if necessary. Combined with verification value comparison, the system ensures the consistency of the upgrade package and avoids erroneous transmission.

Benefits of technology

It enables the efficient transmission of upgrade packages regardless of the ECU version, avoiding duplicate transmissions and transmission errors, thus improving the efficiency of OTA upgrades.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116527649B_ABST
    Figure CN116527649B_ABST
Patent Text Reader

Abstract

The application relates to a kind of automobile OTA upgrade breakpoint continuation methods, vehicle-mounted ECU and vehicle-mounted network terminal, belong to intelligent vehicle technical field, especially in the field of OTA upgrade. The initiator sends the instruction of reading address to the acceptor, if the initiator receives valid address, then send the continuation request with verification value and continuation flag to the acceptor, the acceptor judges whether the verification value in the continuation request is consistent with the verification value stored by itself, if consistent, then send the positive response to the ECU of initiating upgrade, the ECU of initiating upgrade receives the positive response and carries out upgrade package continuation according to valid address;If the initiator does not receive valid address, then send the continuation request with verification value and complete transmission flag to the acceptor, and send the instruction of erasing upgrade package storage area and executing complete upgrade package transmission. Whether the receiver supports breakpoint continuation or not, the application can quickly and accurately determine whether the receiver has stored data and the accurate breakpoint address of the data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for resuming interrupted data transmission during automotive OTA upgrades, an in-vehicle ECU, and an in-vehicle network terminal, belonging to the field of intelligent vehicle technology, and particularly to the field of OTA upgrades. Background Technology

[0002] With the development of automotive intelligence and connectivity technologies, OTA (Over-The-Air) updates have become widely used in vehicles. OTA refers to the technology of managing the software of the vehicle's ECU (Electrical Control Unit) through a mobile communication interface. To ensure the safety of the vehicle and its occupants, certain prerequisites must be met when performing OTA upgrades on the ECU.

[0003] In recent years, the development of intelligent vehicle technology has led to increasingly larger software packages contained in automotive ECUs. The data packet download process now accounts for a larger proportion of the overall OTA (Over-The-Air) update process, becoming a key factor restricting OTA upgrade efficiency. Furthermore, automotive usage scenarios are diverse, and external factors may interfere with the OTA upgrade process, causing interruptions. If data transmission is interrupted and the ECU lacks the ability to resume transmission, the entire data packet needs to be retransmitted from its starting point after the fault is cleared. This results in repeated data packet transmission, leading to low OTA upgrade efficiency.

[0004] The functions and roles of various ECUs in existing vehicles differ greatly, resulting in a wide variety of ECU versions and models. Consequently, the support for OTA upgrade resume functionality varies among ECUs. For vehicle manufacturers, the challenge lies in ensuring that upgrade packages can be transmitted with maximum efficiency across various versions and types of onboard ECUs. Summary of the Invention

[0005] The purpose of this invention is to provide a method for resuming interrupted data transmission during automotive OTA upgrades, an in-vehicle ECU, and an in-vehicle network terminal, to solve the problem in the prior art that it is difficult to achieve resuming interrupted data transmission for in-vehicle ECUs of various versions.

[0006] To achieve the above objectives, the present invention provides a method for resuming interrupted transmission during automotive OTA upgrades, comprising the following steps: 1) The ECU initiating the upgrade sends an instruction to the ECU to be upgraded to read the interrupted transmission address; 2) When the ECU initiating the upgrade receives a valid address, it sends a transmission request with a verification value and a transmission flag to the corresponding ECU to be upgraded; when the ECU initiating the upgrade does not receive a valid address, it sends a transmission request with a verification value and a complete transmission flag to the corresponding ECU to be upgraded; the verification value is used to verify whether the upgrade package data to be resumed belongs to the same upgrade package as the upgrade package data already received stored in its own memory; 3) If the ECU to be upgraded receives a transmission request with a transmission flag, it determines whether the verification value in the transmission request is consistent with the verification value stored in its own memory; if consistent, it sends a positive response to the ECU initiating the upgrade, and the ECU initiating the upgrade resumes the upgrade package transmission according to the valid address after receiving the positive response; after sending a transmission request with a complete transmission flag to the corresponding ECU to be upgraded, the ECU initiating the upgrade continues to send an instruction to erase the upgrade package storage area to the ECU to be upgraded and executes the complete upgrade package transmission.

[0007] There are many different versions of vehicle ECUs. Some ECUs support resumeable data transfer, while others do not, cannot recognize, or cannot respond effectively to resumeable data transfer commands. This invention eliminates the need to identify whether the target ECU supports resumeable data transfer. It directly sends a command to read the start address of the resumeable data transfer. If a valid address is received, the resumeable data transfer is executed; otherwise, the data is transmitted completely. Regardless of whether the corresponding ECU supports resumeable data transfer, or even if an ECU that supports resumeable data transfer is undergoing a complete upgrade and does not require a resumeable data transfer, the upgrade can still be performed, and the resumeable data transfer will be executed when it is possible.

[0008] This invention determines whether the ECU to be upgraded supports breakpoint resume and whether breakpoint resume is required based on whether the content fed back by the ECU is a valid address. If it is a valid address, the transmission continues from that address; otherwise, a command is sent to the ECU to erase the upgrade package storage area and retransmit the complete upgrade package. A valid address refers to the address of the last interrupted transmission that enables breakpoint resume, thus ensuring that the upgrade package transmission can be completed with maximum efficiency regardless of whether the ECU supports breakpoint resume. Furthermore, the verification values ​​of the upgrade packages before and after the valid address are compared during the resume transmission process to ensure that the resumed upgrade package is the same as the previously incomplete upgrade package, avoiding errors in the upgrade package during transmission.

[0009] Furthermore, in step 1) of the above-mentioned automotive OTA upgrade breakpoint resume method, when the ECU to be upgraded receives the instruction to read the breakpoint resume address, if the ECU supports breakpoint resume and has valid upgrade package data stored inside the ECU, it responds with a resume address; if the ECU supports breakpoint resume, but has no upgrade package data inside the ECU, the data integrity check fails, or the program compatibility check fails, it responds with an invalid address.

[0010] This invention can not only classify ECUs according to whether they support the resume function, but also detect the ECU to be upgraded. If there is no upgrade package data in the ECU storage area, the upgrade package data integrity check fails, or the program compatibility check fails, it indicates that there may be other problems in the transmission process that prevent the resume function from being implemented. In this case, it also responds to the ECU that initiated the upgrade with an invalid address to transmit the complete data packet and avoid upgrade package transmission errors.

[0011] Furthermore, in step 3) of the above-mentioned automotive OTA upgrade breakpoint resume method, when the ECU to be upgraded determines that the verification value in the resume request is inconsistent with the verification value stored in itself, it sends a negative response to the ECU that initiated the upgrade. After receiving the negative response, the ECU that initiated the upgrade returns to step 1) and resends the instruction to read the breakpoint resume address.

[0012] Furthermore, in the above-mentioned method for resuming interrupted data transmission during automotive OTA upgrades, when the ECU to be upgraded sends a negative response to the ECU that initiated the upgrade, and then receives an instruction to read the interrupted data transmission address again, the response is an invalid address.

[0013] In step 3) of this invention, the comparison of verification values ​​determines whether the upgrade package data to be resumed and the received upgrade package data stored in the ECU to be upgraded belong to the same upgrade package. If they match, it means that they belong to the same data packet, and the breakpoint resume transmission process can be performed; otherwise, return to step 1). After returning to step 1), when the ECU to be upgraded rereads the instruction for the breakpoint resume address, it directly responds with an invalid address to avoid the program repeatedly looping when the breakpoint resume address is normal but the verification value is inconsistent.

[0014] Furthermore, in the above-mentioned method for resuming interrupted data transmission during automotive OTA upgrades, a storage area is set in the memory of the ECU to be upgraded; when the ECU to be upgraded receives the verification value sent by the ECU that initiated the upgrade, it stores the verification value in the storage area.

[0015] The verification value used to check whether the upgrade package data to be transmitted belongs to the same upgrade package as the received upgrade package data stored in its own memory is stored in a dedicated storage area that is independently allocated in the memory of the ECU to be upgraded. The advantage of doing this is that the verification value is stored separately from the upgrade package data, which avoids destroying the verification value or accidentally deleting the verification value when erasing the upgrade package storage area.

[0016] The present invention also provides an on-board ECU that supports breakpoint resume transmission: 1) When receiving an instruction from the ECU that initiated the upgrade to read the breakpoint resume transmission address: if upgrade package data is stored internally, then respond to the ECU that initiated the upgrade with a resume transmission address; otherwise, respond with an invalid address, a negative response, or no response; 2) When receiving a resume transmission request with a verification value and a resume transmission flag from the ECU that initiated the upgrade, determine whether the verification value in the resume transmission request is consistent with the verification value stored in itself; if they are consistent, then send a positive response to the ECU that initiated the upgrade.

[0017] Furthermore, in the above-mentioned vehicle ECU step 1) which supports breakpoint resume, data integrity checks and program compatibility checks are also performed on the stored upgrade package data. If the data integrity check fails or the program compatibility check fails, an invalid address is responded to, a negative response is given, or no response is given.

[0018] Furthermore, in step 2) of the above-mentioned vehicle ECU that supports breakpoint resume, if the verification values ​​are inconsistent, a negative response is sent to the ECU that initiated the upgrade. When the instruction to read the breakpoint resume address is received again, the response is an invalid address, a negative response, or no response.

[0019] Furthermore, in the above-mentioned vehicle ECU that supports breakpoint resume, a storage area is set in the memory of the vehicle ECU that supports breakpoint resume; when the ECU to be upgraded receives the verification value sent by the ECU that initiates the upgrade, it stores the verification value in the storage area.

[0020] This invention also provides an in-vehicle connected terminal that achieves breakpoint resume transmission through the following steps: 1) sending an instruction to the ECU to be upgraded to read the breakpoint resume address; 2) when a valid address is received, sending a resume request with a verification value and a resume flag to the corresponding ECU to be upgraded; if a positive response is received from the ECU to be upgraded, resuming the upgrade package transmission according to the valid address; if no valid address is received, sending a resume request with a verification value and a complete transmission flag to the corresponding ECU to be upgraded; then sending an instruction to the ECU to be upgraded to erase the upgrade package storage area and executing the complete upgrade package transmission; the verification value is used to verify whether the upgrade package data to be resumed and the received upgrade package data stored in the terminal belong to the same upgrade package.

[0021] Furthermore, in the aforementioned vehicle-mounted connected terminal, if a negative response is received from the ECU to be upgraded after sending a resume request with a verification value and a complete transmission flag, then return to step 1) and resend the instruction to read the resume address of the breakpoint; or, after receiving a negative response, send a resume request with a verification value and a complete transmission flag to the corresponding ECU to be upgraded, and continue to send the instruction to erase the upgrade package storage area to the ECU to be upgraded and execute the complete upgrade package transmission. Attached Figure Description

[0022] Figure 1 This is a flowchart of the method of the present invention. Detailed Implementation

[0023] To make the objectives, technical solutions, and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments.

[0024] Method Implementation Examples:

[0025] The present invention provides a method for resuming interrupted data transmission during automotive OTA upgrades. Based on the traditional OTA upgrade solution, it adds a method for implementing the interrupted transmission function: if a network failure or human error causes the data packet download to be interrupted during the download process, the server can record the location of the data transmission interruption. After the fault is cleared, the data download can continue from the last interrupted position without having to download the data packet again from the initial position, thereby saving data packet transmission time and improving OTA transmission efficiency.

[0026] The client is the ECU that initiates the OTA upgrade during the vehicle OTA upgrade process. It is usually a smart Internet terminal device and needs to contain OTA upgrade control program and upgrade program, such as UDS protocol stack. The server is the ECU that receives the OTA upgrade package during the vehicle OTA upgrade process. It is usually the ECU in the whole vehicle that needs to be upgraded. It needs to contain application program and upgrade program, such as UDS protocol stack.

[0027] In general, there are many types and versions of vehicle ECUs. In the method of this invention, the client does not determine whether the ECU to be upgraded (i.e., the server) supports breakpoint resume. When preparing for the upgrade, it directly requests the breakpoint resume address from the server. If the ECU does not support breakpoint resume, it obviously cannot correctly respond to the message requesting the breakpoint resume address, and will give an error response, respond with an invalid address, or no response. For ECUs that support breakpoint resume but do not have a "breakpoint" at this time (i.e., no part of the upgrade package data has been transmitted), it can give a negative response or respond with an address of 0 to indicate that there is no "breakpoint" and the complete upgrade package needs to be transmitted. In both cases, the client performs complete data packet transmission. First, it generates and saves a verification value, and sends a transmission request with a complete transmission flag and a verification value. This allows the server to save the verification value for use when verifying whether the upgrade package is consistent during breakpoint resume. At the same time, regardless of the server's response, it directly issues an instruction to erase the data content in the upgrade package storage area (this is to prevent older ECUs that do not support breakpoint resume from giving an incorrect response after receiving a transmission request with a verification value, thus interfering with the upgrade process). As the server for the ECU to be upgraded, if it supports resuming interrupted transmission, it will properly save the received verification value; if it does not support it, it doesn't matter. Regardless of the response, the client will continue to send the erase command. After the server executes the erase command, it will start to execute the transmission of the complete data packet.

[0028] If a transmission interruption occurs, the server supporting breakpoint resumption records the breakpoint and waits for the next upgrade packet transmission. During the next upgrade packet transmission, upon receiving a request from the client for a breakpoint resumption address, the server uploads the recorded breakpoint address. If the address is valid, the client resumes the data packet transmission. First, it sends a resumption request with a resumption flag and the previously generated verification value. Upon receiving the resumption request, the server compares its own stored verification value with the verification value in the received resumption request. If they match, the server responds positively, and the client resumes the data transmission according to the received breakpoint address. If they do not match, the server responds negatively. Upon receiving the negative response, the client resends the request for a breakpoint resumption address. When the server receives the request again, it can respond negatively, not respond, or respond with an invalid address, thus enabling the client to complete the data packet transmission.

[0029] Specifically, the OTA upgrade resume method executed by the vehicle-mounted connected terminal is as follows: Figure 1 As shown, where Figure 1 The definitions of the UDS diagnostic services involved are shown in Table 1 below. Figure 1 The data parameters involved are defined as shown in Table 2 below:

[0030] Table 1. UDS Diagnostic Service Definition Comparison Table

[0031]

[0032] Table 2: Data Parameter Definition Comparison Table

[0033]

[0034] like Figure 1 As shown, before starting the transmission of the upgrade package, the vehicle-mounted connected terminal assigns a random Flag value to the upgrade package. This Flag value is used as a Flag parameter in the subsequent "resumption request," specifically to verify whether the upgrade package data to be resumed belongs to the same upgrade package as the previously received upgrade package data stored in the terminal's own memory. The vehicle ECU has a dedicated Flag area to store the Flag values ​​of the received upgrade packages, with an initial value of 0xFFFFFFFF. After the interrupted transmission resumes, the vehicle-mounted connected terminal first sends "22F0 80" to the vehicle ECU to read the transmission interruption address. Referring to Tables 1 and 2, "22" is the data read command, and "F0 80" is the identifier representing the transmission interruption address of the vehicle ECU. After receiving a request to read the interrupted transmission address, if the vehicle ECU does not support the resume function, it will reply with a negative response; if the vehicle ECU supports the resume function and has already stored some valid upgrade package data, it will respond with a resume address; if the vehicle ECU fails the data integrity check or program compatibility check and needs to retransmit the upgrade package, the response address will be 0; if there is an anomaly in the internal data packet storage area of ​​the vehicle ECU, such as an abnormal power outage or internal storage file corruption caused by a program bug, the response address will be 0xFF. If the vehicle-mounted connected terminal receives a valid address response (not 0 and not 0xFF), it will execute the resume process; if the vehicle-mounted connected terminal receives an invalid address response (e.g., 0 address response, 0xFF address response, negative response, or timeout response), it will execute the complete data packet transmission process.

[0035] like Figure 1In the right-hand branch, when executing the breakpoint resume process, the vehicle-mounted network terminal first sends the command "Resume Request 31 01 2F 80 01Flag" to the vehicle-mounted ECU. Referring to Tables 1 and 2, "31 01" is the command to start the routine sub-function, "2F 80 01" is the command with the resume flag, and "Flag" is the Flag value of the upgrade package that the vehicle-mounted network terminal did not completely send this time. After receiving the above resume request, the vehicle-mounted ECU compares the received Flag value with the value in its own Flag and updates the value in its own Flag area. If the comparison result is inconsistent, a negative response is sent; if the comparison result is consistent, a positive response is sent. After receiving a positive response, the vehicle-mounted connected terminal resumes transmission, continuing to transmit the remaining upgrade packages from the address where the transmission was interrupted. When the vehicle-mounted connected terminal receives a negative response, it resends "22F0 80" to the vehicle ECU to read the address where the transmission was interrupted. After the vehicle ECU receives the request to read the interrupted address again, it directly sends an invalid address response to avoid comparing the Flag again and causing an infinite loop.

[0036] like Figure 1 In the left-hand branch, when executing the complete upgrade package transmission process, the vehicle-mounted connected terminal first sends the command "Continue Transmission Request 31 01 2F 80 00Flag" to the vehicle ECU. Referring to Tables 1 and 2, "31 01" is the command to start the routine sub-function, "2F 80 00" is the command with a complete transmission flag, and "Flag" is the Flag value for the upgrade package that the vehicle-mounted connected terminal did not completely send this time. Regardless of the vehicle ECU's response to the continue transmission request, the vehicle-mounted connected terminal will continue to execute subsequent steps. Next, the vehicle-mounted connected terminal executes the erase routine, sending the command "31 01FF 00" to the vehicle ECU, where "3101" is the command to start the routine sub-function, and "FF 00" is the command for the vehicle-mounted connected terminal to erase the vehicle ECU's data packet storage area. After the vehicle ECU has completely erased the storage area containing the sent upgrade package, the vehicle-mounted connected terminal retransmits the complete upgrade package.

[0037] Example of vehicle-mounted ECU:

[0038] The working logic of the vehicle ECU with breakpoint resume function of the present invention has been clearly described in the above-mentioned method embodiment of vehicle OTA upgrade breakpoint resume, and therefore will not be repeated.

[0039] Example of a vehicle-mounted connected terminal:

[0040] The vehicle-mounted connected terminal of the present invention has the same working logic as the client in the method embodiment. The upgrade interaction process of the client has been clearly described in the above-mentioned vehicle OTA upgrade breakpoint resume method embodiment, so it will not be repeated here.

Claims

1. A method for resuming interrupted data transmission during automotive OTA upgrades, characterized in that, Includes the following steps: 1) When preparing for an upgrade, the ECU initiating the upgrade does not determine whether the ECU to be upgraded supports breakpoint resume, and directly sends a command to the ECU to be upgraded to read the breakpoint resume address; if the ECU to be upgraded does not support breakpoint resume, it gives an error response, a negative response, a response of invalid address, or no response; if it supports breakpoint resume and there is no breakpoint, it responds with address 0; if it supports breakpoint resume and there is a breakpoint, it responds with the resume address. 2) When the ECU that initiates the upgrade receives a valid address, it sends a resume request with a verification value and a resume flag to the corresponding ECU to be upgraded. The verification value is used to verify whether the upgrade package data to be transmitted and the received upgrade package data stored in the ECU to be upgraded belong to the same upgrade package. When the ECU that initiates the upgrade receives a 0 address response, an error response, an invalid address response, a negative response, or a response timeout, it sends a resume request with a verification value and a complete transmission flag to the corresponding ECU to be upgraded. At the same time, it directly sends an instruction to erase the upgrade package storage area and executes the complete upgrade package transmission. 3) If the ECU to be upgraded receives a resume request with a resume flag, it determines whether the verification value in the resume request is consistent with the verification value stored in itself; if they are consistent, it sends a positive response to the ECU that initiated the upgrade, and the ECU that initiated the upgrade resumes the upgrade package according to the valid address after receiving the positive response.

2. The method for resuming interrupted data transmission during automotive OTA upgrades according to claim 1, characterized in that, The upgrade between the ECU that initiates the upgrade and the ECU to be upgraded is implemented based on the UDP protocol.

3. The method for resuming interrupted data transmission during automotive OTA upgrades according to claim 1, characterized in that, In step 3), when the ECU to be upgraded determines that the verification value in the resume request is inconsistent with its own stored verification value, it sends a negative response to the ECU initiating the upgrade. After receiving the negative response, the ECU initiating the upgrade returns to step 1) and resends the instruction to read the resume address. After the ECU to be upgraded receives the instruction to read the resume address again, it directly sends an invalid address response. Alternatively, in step 3), when the ECU to be upgraded determines that the verification value in the resume request is inconsistent with its own stored verification value, it sends a negative response to the ECU initiating the upgrade. After receiving the negative response, the ECU initiating the upgrade sends a resume request with the verification value and a complete transmission flag to the corresponding ECU to be upgraded, and continues to send an instruction to erase the upgrade package storage area to the ECU to be upgraded and execute the complete upgrade package transmission.

4. The method for resuming interrupted data transmission during automotive OTA upgrades according to claim 3, characterized in that, After the ECU to be upgraded sends a negative response to the ECU that initiated the upgrade, when it receives the instruction to read the breakpoint resume address again, it responds that the address is invalid.

5. The method for resuming interrupted data transmission during automotive OTA upgrades according to claim 4, characterized in that, A storage area is set in the memory of the ECU to be upgraded; when the ECU to be upgraded receives the verification value sent by the ECU that initiated the upgrade, it stores the verification value in the storage area.

6. A vehicle-mounted connected terminal, characterized in that; This terminal is used to perform the following functions: 1) When preparing for an upgrade, without checking whether the ECU to be upgraded supports resume transmission, directly send a command to the ECU to be upgraded to read the resume transmission address. 2) When a valid address is received from the ECU to be upgraded that supports breakpoint resume and has a breakpoint, a resume request with a verification value and a resume flag is sent to the corresponding ECU to be upgraded. The verification value is used to verify whether the upgrade package data to be continued and the upgrade package data already received stored in the device belong to the same upgrade package; if a positive response is received from the ECU to be upgraded, the upgrade package is continued to be transmitted according to the valid address. If the ECU to be upgraded does not support resume from where it was interrupted, the ECU to be upgraded will give an error response, a negative response, a response to an invalid address, or no response; if the ECU to be upgraded supports resume from where it was interrupted and there are no interruptions, the ECU to be upgraded will respond with address 0. When the terminal receives a 0 address response, an error response, an invalid address response, a negative response, or a response timeout, it sends a resume request with a verification value and a complete transmission flag to the corresponding ECU to be upgraded. At the same time, it directly sends an instruction to the ECU to be upgraded to erase the upgrade package storage area and executes the complete upgrade package transmission.

7. The vehicle-mounted connected terminal according to claim 6, characterized in that, If the terminal receives a negative response from the ECU to be upgraded after sending a resume request with a verification value and a resume flag, it returns to step 1) and resends the instruction to read the resume address. After the ECU to be upgraded receives the instruction to read the resume address again, it directly sends an invalid address response. Alternatively, if the terminal receives a negative response after sending a resume request with a verification value and a resume flag, it sends a resume request with a verification value and a complete transmission flag to the corresponding ECU to be upgraded, and continues to send the instruction to erase the upgrade package storage area to the ECU to be upgraded and execute the complete upgrade package transmission.