A system, method, apparatus, and medium for remote calibration
By bridging the ECU and the cloud server through the calibration device in the remote calibration system, remote calibration of the ECU is achieved using the MQTT and CCP protocols, which solves the problem of limited adaptability of wireless calibration solutions and improves calibration efficiency and flexibility.
Patent Information
- Application Number
- CN202510290767.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-12
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2045-03-12
AI Technical Summary
Existing wireless calibration solutions are limited in their adaptability to specific scenarios and are only applicable to vehicles with networking capabilities. They cannot perform remote calibration of the ECU before the vehicle leaves the factory.
A remote calibration system is provided, which includes an electronic control unit (ECU), a cloud server, and a calibration device with networking capabilities. The calibration device serves as a bridge to enable communication between the ECU and the cloud server, and the MQTT protocol and the CCP protocol are used for data transmission to achieve remote calibration of the ECU.
Communication between the ECU and the cloud server can be achieved without relying on the vehicle's SIM card, which broadens the applicable scenarios of wireless calibration and improves calibration efficiency and flexibility.
Smart Images

Figure CN120017676B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of vehicles, in particular to a remote calibration system, method, device and medium. BACKGROUND
[0002] With the development of vehicle technology, the number of electronic control units (ECUs) is increasing. In order to ensure that each component of the vehicle reaches the best performance state before leaving the factory, the vehicle ECU needs to be measured and calibrated by a large number of manpower in the research and development and testing stages of the host factory.
[0003] The current calibration scheme mainly includes wired calibration and wireless calibration. In wired calibration, calibration engineers need to communicate with each vehicle one by one on site to gradually complete the measurement and calibration of the ECU, which limits the calibration efficiency. Although the wireless calibration scheme can improve the calibration efficiency, it needs to rely on the networking function of the vehicle.
[0004] Calibration usually occurs before the vehicle leaves the factory. Before the vehicle leaves the factory, the SIM card of the vehicle is in an inactive state, and the vehicle does not have networking function before leaving the factory. Therefore, the current wireless calibration scheme is limited in its adaptive scenarios and is only suitable for vehicles with networking function. SUMMARY
[0005] The present application provides a remote calibration system, method, device and medium, which can broaden the adaptive scenarios of the wireless calibration scheme.
[0006] To achieve the above-mentioned purpose, the present application adopts the following technical scheme:
[0007] In a first aspect, the present application provides a remote calibration system, which comprises an electronic control unit (ECU), a cloud server and a calibration device with networking function.
[0008] The cloud server is configured to send first calibration data to the calibration device.
[0009] The calibration device is configured to send the first calibration data to the ECU after encapsulating the first calibration data into a first format, wherein the first format is the data format for communication between the calibration device and the ECU.
[0010] The ECU is configured to calibrate according to the first calibration data.
[0011] In one embodiment, the calibration device is further configured to obtain first address information of a to-be-calibrated parameter of the ECU and a first initial value corresponding to the first address information, and send the first address information and the first initial value to the cloud server.
[0012] The cloud server is further configured to determine a first target address from the first address information according to a difference between the first initial value and a first calibration value, and determine first calibration data according to the first target address and a first target value corresponding to the first target address.
[0013] In one of the embodiments, the cloud server is specifically configured to encrypt the first target address and the first target value by using a first public key corresponding to the ECU to obtain the first calibration data.
[0014] The ECU is specifically configured to decrypt the first calibration data by using a first private key to obtain the first target address and the first target value, and calibrate according to the first target address and the first target value, wherein the first private key and the first public key form a key pair.
[0015] In one of the embodiments, the calibration device is further configured to send a first identification of the calibration device to the cloud server.
[0016] The cloud server is specifically configured to send the first calibration data to the calibration device in a case where the first identification hits in a preset database.
[0017] In one of the embodiments, the calibration device is further configured to send an authentication information obtaining request to the cloud server, wherein the authentication information obtaining request includes a second identification of the ECU.
[0018] The cloud server is further configured to encrypt authentication information by using a second public key corresponding to the second identification to obtain first encrypted data, and send the first encrypted data to the calibration device.
[0019] The calibration device is further configured to send the first encrypted data to the ECU.
[0020] The ECU is specifically configured to decrypt the first encrypted data by using a second private key to obtain the authentication information, perform security authentication by using the authentication information, and perform calibration according to the first calibration data in a case where the authentication passes.
[0021] In one of the embodiments, the ECU is further configured to send calibration failure information to the calibration device in a case where calibration fails.
[0022] The calibration device is further configured to forward the calibration failure information to the cloud server.
[0023] The cloud server is further configured to, after receiving the calibration failure information, generate first backup information according to the first address information and the first initial value, and send the first backup information to the calibration device.
[0024] The calibration device is further configured to send the first backup information to the ECU after encapsulating the first backup information into the first format.
[0025] The ECU is further configured to perform data recovery according to the first backup information.
[0026] In one of the embodiments, the ECU is further configured to send an error code to the calibration device, the error code being used to indicate a calibration failure reason.
[0027] The calibration device transmits the error code to the cloud server.
[0028] In a second aspect, the present application provides a remote calibration method applied to a calibration device with networking function, comprising:
[0029] receiving first calibration data sent by a cloud server;
[0030] After receiving the first calibration data, encapsulating the first calibration data into a first format, and sending the first calibration data to an ECU in the first format, so that the ECU performs calibration according to the first calibration data, wherein the first format is a data format used for communication between the calibration device and the ECU.
[0031] In a third aspect, the present application provides a computing device comprising a memory and a processor.
[0032] One or more computer programs are stored in the memory, and the one or more computer programs comprise instructions; when the instructions are executed by the processor, the computing device performs the method according to any one of the first aspect.
[0033] In a fourth aspect, the present application provides a computer readable storage medium for storing a computer program, the computer program being used to perform the method according to any one of the first aspect.
[0034] According to the above technical solution, the present application has at least the following advantages:
[0035] The application provides a remote calibration system, which comprises an electronic control unit (ECU), a cloud server and a calibration device with networking function; the cloud server is configured to send first calibration data to the calibration device; the calibration device is configured to send the first calibration data to the ECU after encapsulating the first calibration data into a first format after receiving the first calibration data, and the first format is a data format for communication between the calibration device and the ECU; and the ECU is configured to calibrate according to the first calibration data. In the calibration system, the calibration device with networking function serves as a bridge for communication between the cloud server and the ECU, and the communication between the ECU and the cloud server can be realized without relying on the SIM in the vehicle, and even if the vehicle does not have networking function, the ECU of the vehicle can be remotely calibrated, so that the application scenarios of wireless remote calibration of the ECU of the vehicle are widened.
[0036] It should be understood that the description of technical features, technical solutions, advantages or similar language in the present application does not imply that all features and advantages can be realized in any single embodiment. On the contrary, it can be understood that the description of a feature or advantage means that the specific technical feature, technical solution or advantage is included in at least one embodiment. Therefore, the description of technical features, technical solutions or advantages in the specification does not necessarily refer to the same embodiment. Furthermore, the technical features, technical solutions and advantages described in the embodiments can be combined in any appropriate manner. Those skilled in the art will understand that the embodiments can be implemented without one or more specific technical features, technical solutions or advantages of the specific embodiments. In other embodiments, additional technical features and advantages can be identified in specific embodiments that do not embody all embodiments. BRIEF DESCRIPTION OF DRAWINGS
[0037] Figure 1 It is a structural schematic diagram of a remote calibration system;
[0038] Figure 2 It is a communication link schematic diagram of a remote calibration system;
[0039] Figure 3 It is a schematic diagram of generating a key;
[0040] Figure 4 It is a signaling diagram for remotely calibrating the ECU of a vehicle;
[0041] Figure 5 It is a flowchart of a remote calibration method;
[0042] Figure 6 It is a schematic diagram of a computing device. DETAILED DESCRIPTION
[0043] The terms “first”, “second”, and “third” and the like in the specification and the drawings of the present application are used to distinguish different objects, and are not used to define a particular order.
[0044] In the embodiments of the present application, the words “exemplary” or “for example” are used to mean serving as an example, instance, or illustration, in no way limiting. The absence of the words “exemplary” or “for example” should not be taken to mean that the embodiment or designs are in any way preferred or advantageous over other embodiments or designs. Rather, the embodiment or designs are to be understood as simply one of innumerable possibilities.
[0045] For the sake of clear and concise description of each embodiment below, first, a brief introduction of related technologies is given:
[0046] ECU is a miniaturized computer management center, which takes signal (data) acquisition, calculation processing, analysis and judgment, and decision-making as input, and then takes issuing control instructions and commanding actuators to work as output. Sometimes, it also provides stable power supply or reference voltage for sensors. Its overall functions are completed through the sum of various hardware and software, and its core is a microcomputer system with a single-chip microcomputer as the main body.
[0047] Controller Area Network (CAN) is a vehicle bus standard used to allow microcontrollers and devices to communicate without a host computer. It is widely used in the automotive industry to connect various electronic control units (ECUs) in a vehicle. The CAN communication protocol supports distributed control systems and has the advantages of high real-time performance, strong anti-interference ability, long transmission distance, and low cost.
[0048] CAN Calibration Protocol (CCP) is an organic part of the Association for Standardization of Automation and Measuring Systems (ASAP) standard, which belongs to the ASAP1a specification standard, and is an ECU calibration protocol specification based on CAN bus. It is mainly used for the calibration of automotive electronic control units, and realizes the matching calibration of ECUs through data communication through the CAN communication interface.
[0049] Message Queuing Telemetry Transport (MQTT) is a lightweight, publish / subscribe messaging protocol designed for devices in low-bandwidth, high-latency, or unstable network environments. It features efficient message pushing and supports Quality of Service (QoS) levels to ensure reliable message transmission.
[0050] A microcontroller unit (MCU) is a chip-level computer that integrates CPU frequency and specifications, memory, timers, USB, A / D conversion, UART, PLC, DMA, and even LCD driver circuits into a single chip, enabling terminal control functions. It offers high performance, low power consumption, programmability, and flexibility.
[0051] A vehicle SIM card, also known as a Subscriber Identity Module (SIM), is a small integrated circuit card built into a vehicle. It stores user identity information and important data such as encrypted keys, enabling the vehicle to connect to mobile communication networks and implement modern car features like real-time navigation, remote diagnostics, and emergency services.
[0052] Bluetooth Low Energy (BLE) is a low-power Bluetooth technology designed to significantly reduce power consumption and cost while maintaining the same communication range.
[0053] Controller Area Network (CAN) is a serial communication protocol used in automobiles and other industrial environments. It allows microcontrollers and devices to communicate with each other without a host computer, offering real-time performance, long transmission distances, strong electromagnetic interference resistance, and low cost.
[0054] Message Authentication Code (MAC) is a code generated through a specific algorithm to verify the integrity and authenticity of information. It is often used in conjunction with encryption techniques to ensure the confidentiality, integrity, and authenticity of information.
[0055] Transmission Control Protocol (TCP) is a connection-oriented, reliable, byte stream-based transport layer communication protocol. It can provide a reliable transport layer on an unreliable IP network layer, and provide a reliable, connection-oriented communication channel for communication between two computers.
[0056] Before introducing the remote calibration system provided by the embodiments of the present application, the related background is introduced first.
[0057] With the development of vehicle technology, the number of ECUs is increasing. In order to ensure that each component of the vehicle reaches the best performance state before leaving the factory, the host factory needs to invest a lot of manpower to measure and calibrate the ECU of the vehicle during the research and development and testing stage.
[0058] The current calibration scheme mainly includes wired calibration and wireless calibration. Under wired calibration, calibration engineers need to communicate with each vehicle one by one on site, and gradually complete the measurement and calibration of the ECU. This way will limit the calibration efficiency; the wireless calibration scheme can improve the calibration efficiency, but it needs to rely on the networking function of the vehicle.
[0059] Calibration often occurs before the vehicle leaves the factory. Before the vehicle leaves the factory, the SIM of the vehicle is in an inactive state, and the vehicle does not have networking function before leaving the factory. Therefore, the current wireless calibration scheme is limited in the adaptive scene, and is only suitable for vehicles with networking function.
[0060] Based on this, the embodiments of the present application provide a remote calibration system, which comprises an electronic control unit ECU, a cloud server and a calibration device with networking function; the cloud server is used to send first calibration data to the calibration device; the calibration device is used to send the first calibration data to the ECU after encapsulating the first calibration data into a first format after receiving the first calibration data, and the first format is the data format of the communication between the calibration device and the ECU; the ECU is used to calibrate according to the first calibration data. The calibration device in the above calibration system serves as a bridge for communication between the cloud server and the ECU, and can realize the communication between the ECU and the cloud server without relying on the SIM in the vehicle. Even if the vehicle does not have networking function, the ECU of the vehicle can also be remotely calibrated, thereby widening the adaptive scene of remotely calibrating the ECU of the vehicle.
[0061] Next, the remote calibration system provided by the embodiments of the present application is introduced in detail.
[0062] Referring to Figure 1 , Figure 1 A structural schematic diagram of a remote calibration system is provided. Figure 1The figure shows that the remote calibration system includes an ECU, a cloud server, and a calibration device with networking capabilities. The cloud server can communicate with the calibration device through the network, and the calibration device can communicate with the ECU based on Ethernet or CAN channels.
[0063] In some optional implementations, the calibration device can be a device with an in-vehicle SIM card. The cloud server communicates with the calibration device via a network, which can be provided by the in-vehicle SIM card. The cloud server connects to the calibration device via the MQTT protocol to control custom components and upload and download data. The cloud server can be existing or independently developed. The calibration device communicates with the cloud server via the MQTT protocol.
[0064] In some optional implementations, the calibration device can also be a combination of a calibration box and a terminal device. The terminal device is a device that can provide WiFi, such as a mobile phone or watch. The cloud server communicates with the calibration device via a network, which can be connected to WiFi via a wireless network (WiFi) module added to the MCU device on the calibration box. For example, the WiFi module can be used to connect the terminal device, and the terminal device can be connected to the cloud server, thereby achieving communication between the cloud server and the calibration device.
[0065] For example, see Figure 2 , Figure 2 A communication link schematic diagram of a remote calibration system is provided. Figure 2 The communication link of the remote calibration system includes the cloud, calibration box, terminal device and ECU.
[0066] For illustration, the calibration device is a combination of a calibration box and a terminal device. The calibration box primarily consists of an uplink communication module, a central control module, a downlink communication module, and a BLE module. The uplink communication module is primarily responsible for receiving and sending Bluetooth control commands and service data. After parsing and encapsulating these commands and service data, it passes valid information to the central control module for classification and processing. The central control module is primarily responsible for processing the service-classified valid information and sending configuration parameters to the downlink communication module. The downlink communication module is primarily responsible for controlling the operation of the CAN port and sending and receiving communication data for business logic processing via the CCP protocol. The BLE module is primarily responsible for connecting the terminal device's hotspot to the calibration box, as well as managing WiFi accounts and passwords. This ensures that the calibration box is online before the cloud server officially performs ECU calibration. It also transmits the calibration box's online or offline status to the terminal device via heartbeat packets, which then display the calibration box's status in real time.
[0067] For example, during the remote calibration of the ECU of a vehicle, the data types transmitted in the communication link may include control instructions, data streams, and CCP data.
[0068] Control instructions can be initiated by the cloud server and transmitted in sequence to the terminal device, the BLE module of the calibration box, the uplink communication module of the calibration box (parsing control instructions), the central control module of the calibration box (business classification and distribution), and the downlink communication module of the calibration box (starting the CAN port and processing CPP business).
[0069] After the control command successfully configures the CCP service on the CAN port of the calibration box, the calibration data in the CCP protocol format is sent through the data stream. The calibration data is initiated by the cloud server and transmitted to the terminal device, the BLE module of the calibration box, the uplink communication module of the calibration box, and the downlink communication module of the calibration box in sequence (adding or removing the CAN message header of the CCP protocol).
[0070] CCP data is the data transmitted between the calibration box and the ECU based on the CAN channel.
[0071] For example, the process of remotely calibrating a vehicle's ECU can be divided into four stages:
[0072] Phase 1: The connection between the calibration box and the cloud server.
[0073] The cloud server and the terminal device communicate via the MQTT protocol, and the terminal can initiate a Bluetooth connection with the calibration box based on the calibration box's Bluetooth name and enter a password to connect the terminal to the calibrating device and the cloud server, and then connect the calibration box to the cloud server. Optionally, the password for the Bluetooth connection between the calibration box and the terminal can use the password configured for connecting to the cloud server.
[0074] Phase 2: Calibration box and terminal equipment security certification phase.
[0075] To enhance communication security, the calibration box and the terminal device can be authenticated. Optionally, the AES128-CBC encryption algorithm can be used to encrypt the transmitted data, where the key can be implemented in the following ways:
[0076] See also Figure 3 , Figure 3 A schematic diagram of key generation is provided. First, a 48-bit MAC is obtained and split into four 12-bit elements, namely A1, A2, A3, and A4.
[0077] Further, A1, A2, A3, A4 are padded with 0 to the end, extended to 32 bits, to obtain A1', A2', A3', A4'. Then, XOR operation is performed, that is, A1' is XORed with the second element to obtain C (4 bytes), and C is padded with high 4 bytes. Similarly, A2' is XORed with the second element to obtain D (4 bytes), and D is padded with the next high 4 bytes. A3' is XORed with the third element to obtain E (4 bytes), and E is padded with the next low 4 bytes. A4' is XORed with the third element to obtain F (4 bytes), and F is padded with low 4 bytes. Finally, a 16-byte key KEY is generated, and the transmission data is encrypted based on the key KEY using the AES128-CBC encryption algorithm, so as to enhance the security of communication between the calibration box and the terminal device. The second element and the third element can be a pre-set fixed value or a randomly generated value.
[0078] Stage three, calibration box and cloud server communication stage.
[0079] The calibration box can also encrypt the device unique serial number using the AES128-CBC encryption algorithm, and send the encrypted device unique serial number and the connection state to the cloud server. After receiving the device unique serial number, the cloud server queries whether the device unique serial number exists in the database. If it exists, the cloud server sends a security identifier to the terminal device, so that the terminal device displays that the calibration box target is in an online state. If it does not exist, the cloud server sends an alarm identifier to the terminal device to notify the terminal device that the device unique serial number is unknown.
[0080] Stage four, remote calibration of ECU of vehicle.
[0081] Before calibration, the cloud server can clean up the port business of the calibration box in advance, and then send calibration data in CCP protocol format to the terminal device through the MQTT protocol. After receiving the calibration data, the terminal device encrypts the calibration data, and transmits the encrypted calibration data to the calibration box through the TCP protocol. The calibration box analyzes and processes the calibration data, encapsulates the analyzed data into CAN format data, and sends the CAN format data to the ECU. Optionally, during the process of sending the CAN format data, the data can be sent according to the requirements of the CCP protocol. For example, when a connection needs to be initiated, CONNECT (0x01) is sent, that is, the data is packaged according to the connection field specified in the CCP protocol; when steps such as SET_MTA (0x02, setting memory transmission address), DNLOAD (0x03, downloading data) need to be performed, the data can be packaged according to the protocol, and the data is sent in units of 8 bytes.
[0082] After the ECU receives the CAN-formatted data, it performs calibration of the ECU, such as adjusting the control parameters of the ECU to optimize the performance of the vehicle. After completing the calibration, the ECU feeds back the calibrated data to the calibration box. The data fed back by the ECU can include status codes, measurement values, fault information, and calibration results, etc. Among them, the status code is usually used to represent the current working state or processing result of the ECU. For example, status code FF may indicate that a certain operation is successfully completed. The ECU will feed back some key measurement values, such as engine speed, fuel injection amount, exhaust temperature, etc. These measurement values can help calibration engineers understand the current working state of the vehicle. If the ECU detects any faults or abnormal conditions, it will send fault information to the calibration box or cloud server. These fault information usually includes fault codes, time and conditions of fault occurrence, etc. After the calibration is completed, the ECU will feed back the calibration results to the calibration box or cloud server. These results may include performance comparison before and after calibration, adjusted parameter values, etc.
[0083] After the calibration box obtains the data fed back by the ECU, it can determine whether the status code is FF. If not, it needs to report to the cloud server in time. The reporting content can be what instruction is wrong at what address link in the calibration; after all the calibration is completed, the calibration box reports to the cloud server that the calibration is completed.
[0084] The following will introduce in detail the process of remote calibration of the ECU of the vehicle, i.e. the process of the fourth phase mentioned in the above embodiment, in combination with the system for remote calibration.
[0085] For example, the system for remote calibration provided by the embodiments of the present application includes an ECU, a cloud server and a calibration device with networking function. The calibration device with networking function can be a device with a SIM card, or a combination of a calibration box and a terminal device. In the case that the calibration device has a SIM card, it can connect to the network through the SIM card. In the case that the calibration device includes a calibration box and a terminal device, the terminal device has networking function, and the terminal device can provide WIFI network for the calibration box, and then the calibration box can connect to the Internet based on the WIFI network.
[0086] The cloud server is configured to send first calibration data to the calibration device. The first calibration data can be calibration data in a preset format, which can be in CCP format or other formats. The first calibration data can contain key information such as internal parameters and adjustment values of the ECU, which is used to optimize the control strategy and performance of the ECU, for example, the first calibration data can be ignition timing, fuel injection amount and cylinder pressure, etc.
[0087] Since the calibration device has a networking function, the cloud server and the calibration device can be connected in communication through the MQTT protocol, and then the cloud server can issue the first calibration data to the calibration device through the MQTT protocol.
[0088] The calibration device is configured to, after receiving the first calibration data, encapsulate the first calibration data into a first format and send the first calibration data to the ECU, where the first format is a data format for communication between the calibration device and the ECU. For example, the data format for communication between the calibration device and the ECU includes but is not limited to an ASAP2 (A2L) format, a CCP format, a Universal Measurement and Calibration Protocol (XCP) format, and the like.
[0089] If the preset format is a data format for communication between the calibration device and the RCU, the first calibration data does not need to be re-encapsulated.
[0090] For example, after receiving the first calibration data, the calibration device encapsulates the first calibration data into the first format and sends the encapsulated first calibration data to the ECU, thereby realizing the transmission of the first calibration data between the calibration device and the ECU, so as to facilitate the remote calibration of the ECU.
[0091] The ECU is configured to calibrate according to the first calibration data. For example, after receiving the first calibration data, the ECU adjusts the control parameters of the ECU to the first calibration data, for example, the ignition timing, fuel injection amount, cylinder pressure, and the like of the ECU can be adjusted to the values indicated in the first calibration data. Then, after adjusting the control parameters of the ECU, the performance of the ECU is verified and tested to ensure that the calibration effect of the ECU meets the expected requirements.
[0092] In the embodiment of the application, the calibration device in the calibration system above serves as a bridge for communication between the cloud server and the ECU, and the communication between the ECU and the cloud server can be realized without relying on the activation of the SIM card of the vehicle, and even if the vehicle does not have a networking function, the remote calibration of the ECU of the vehicle can be realized, thereby widening the adaptive scenarios for the remote calibration of the ECU of the vehicle.
[0093] In some optional implementations, the to-be-calibrated parameters of the ECU can be multiple, but only one or more of the to-be-calibrated parameters can need to be calibrated, and all the to-be-calibrated parameters do not need to be calibrated, thereby the initial values of the to-be-calibrated parameters can be obtained, the initial values and the calibration values of the to-be-calibrated parameters are compared, and the inconsistent parameters are issued for the calibration of the ECU.
[0094] The calibration device can also be used to obtain first address information of a to-be-calibrated parameter of the ECU and a first initial value corresponding to the first address information, and send the first address information and the first initial value to the cloud server. For example, the calibration device can communicate with the ECU through the CCP protocol to obtain the first address information of the to-be-calibrated parameter of the ECU and the first initial value corresponding to the first address information, and send the first address information of the to-be-calibrated parameter and the first initial value corresponding to the first address information to the cloud server through the MQTT protocol.
[0095] The first address information can be an address where the first initial value is stored, and the first initial value is an initial value of the to-be-calibrated parameter, i.e., a value before calibration. For example, the to-be-calibrated parameter can include ignition timing, fuel injection amount, and cylinder pressure of the ECU, the first initial value is the ignition timing, fuel injection amount, and cylinder pressure of the ECU before calibration, and the first address information is an address where the ignition timing, fuel injection amount, and cylinder pressure of the ECU before calibration are stored.
[0096] After receiving the first address information and the first initial value, the cloud server can compare the first initial value with a first calibration value, which is a value used for calibrating the ECU, and then determine a first target address from the first address information according to the difference between the first initial value and the first calibration value, and determine first calibration data according to the first target address and a first target value corresponding to the first target address.
[0097] For example, the difference between the first initial value and the first calibration value can be used to determine whether the first initial value and the first calibration value are the same. If they are the same, the first calibration value can not be used to calibrate the ECU. If they are not the same, it means that the first calibration value needs to be used to calibrate the ECU. Thus, in the case where the first initial value and the first calibration value are not the same, the address information corresponding to the first calibration value can be queried from the first address information, and the address information is taken as the first target address, the first calibration value is taken as the first target value, and the first target address and the first target value are encapsulated to obtain the first calibration data.
[0098] For example, if the to-be-calibrated parameter includes ignition timing, fuel injection amount, and cylinder pressure of the ECU, and the first initial value corresponding to the ignition timing of the ECU is the same as the first calibration value, the ignition timing of the ECU can not be calibrated. If the first initial value corresponding to the fuel injection amount is not the same as the first calibration value, and the first initial value corresponding to the cylinder pressure is also not the same as the first calibration value, the first calibration value corresponding to the fuel injection amount and the address where the first calibration value corresponding to the fuel injection amount is stored, and the first initial value corresponding to the cylinder pressure and the address where the first calibration value corresponding to the cylinder pressure is stored, can be encapsulated to obtain the first calibration data.
[0099] In the embodiment of the present application, by comparing the difference between the first initial value and the first calibration value, the inconsistent first calibration value and the corresponding first target address are encapsulated to obtain the first calibration data, which can realize the calibration of the ECU only by using the inconsistent first calibration value, avoid repeated calibration of the ECU by using the same data, and further avoid the waste of calibration resources. Since not all contents are calibrated, the time required for calibration is shortened, and the efficiency of ECU calibration is improved.
[0100] In some optional implementations, in order to improve the security of data transmission between the cloud server and the ECU, the cloud server can perform encryption processing on the first calibration data before issuing the first calibration data.
[0101] Based on this, the encryption algorithm and the encryption key can be determined in advance, wherein the encryption algorithm can use an asymmetric encryption algorithm, and the encryption key can include a pair of keys, such as a first public key and a first private key. The first public key is used to encrypt data, and the first private key is used to decrypt data. The first private key and the first public key form a key pair.
[0102] For example, the cloud server can use the first public key corresponding to the ECU to encrypt the first target address and the first target value to obtain the first calibration data. For example, the first target address and the first target value can be encrypted by using an RSA encryption algorithm or an elliptic curve encryption (ECC) algorithm to obtain the first calibration data.
[0103] Correspondingly, the ECU can use the first private key to decrypt the first calibration data to obtain the first target address and the first target value, and perform calibration according to the first target address and the first target value. For example, the first private key can be stored only in the ECU, and only the ECU can use the first private key to decrypt the first calibration data to obtain the first target address and the first target value. Further, assuming that the first target address and the first target value are the first target address and the first target value corresponding to the fuel injection amount and the first target address and the first target value corresponding to the cylinder pressure, the ECU can use the first target address and the first target value to modify the fuel injection amount and the cylinder pressure value, and verify whether the performance of the ECU meets the expected requirements, to realize the calibration of the ECU.
[0104] In the embodiment of the present application, the cloud server encrypts the first target address and the first target value by using the first public key before transmitting the first calibration data, and then transmits the encrypted first calibration data, which can improve the security of the first calibration data transmission, and further accurately calibrate the ECU.
[0105] In some optional implementations, in order to improve the reliability of communication between the cloud server and the calibration device, the calibration device can be subjected to security verification before the cloud server transmits data to the calibration device.
[0106] For example, the calibration device is configured to send a first identifier of the calibration device to the cloud server, and the first identifier can be a unique device serial number of the calibration device, which is used to identify different calibration devices.
[0107] After the cloud server receives the first identifier, it searches the preset database to determine whether the first identifier exists in the preset database. If the first identifier exists in the preset database, it is considered that the first identifier hits in the preset database. If the first identifier hits in the preset database, it means that the calibration device is secure and passes the security verification. The cloud server can send first calibration data to the calibration device.
[0108] In the embodiments of the present application, the calibration device is subjected to security verification before the cloud server transmits the first calibration data to the calibration device, which can improve the security of transmitting the first calibration data.
[0109] In some optional implementations, in order to improve the security of ECU calibration and avoid malicious tampering of ECU parameters, security authentication between the cloud server and the ECU can be performed before the ECU is calibrated. Based on this, the calibration device can also be configured to send an authentication information acquisition request to the cloud server to make the cloud server issue authentication information. The authentication information acquisition request includes a second identifier of the ECU. The authentication information is used for identity authentication between the cloud server and the ECU. The second identifier of the ECU can be a unique device serial number of the ECU, which is used to identify a unique ECU.
[0110] After receiving the authentication information acquisition request, the cloud server can use a second public key corresponding to the second identifier to encrypt the authentication information to obtain first encrypted data, and send the first encrypted data to the calibration device. The authentication information can be a timestamp, a random number, a session key, or other information used to verify the identity of the ECU.
[0111] For example, an encryption algorithm and an encryption key can be determined in advance. The encryption algorithm can use an asymmetric encryption algorithm, and the encryption key can include a pair of keys, such as a second public key and a second private key. The second public key is used to encrypt data, and the second private key is used to decrypt data. The second private key and the second public key form a key pair.
[0112] Exemplarily, the cloud server can be specifically configured to encrypt the authentication information by using a second public key corresponding to the second identity, to obtain first encrypted data. For example, the authentication information can be encrypted by using an RSA encryption algorithm or an ECC algorithm, to obtain the first encrypted data. Then, the first encrypted data is sent to the calibration device. The calibration device can also be configured to send the first encrypted data to the ECU, so that the ECU decrypts the first encrypted data to perform identity authentication with the cloud server.
[0113] After receiving the authentication information, the ECU can decrypt the first encrypted data by using a second private key to obtain the authentication information, and perform security authentication by using the authentication information. Exemplarily, the second private key can be stored only in the ECU, and only the ECU is supported to decrypt the first encrypted data by using the second private key to obtain the authentication information, and perform security authentication by using the authentication information. For example, if the authentication information is a timestamp or a random number, the ECU can check the validity of the authentication information (for example, whether the timestamp is within a reasonable range, etc.), and if the authentication information is valid, it is determined that the authentication is passed. In the case of passing the authentication, the ECU can calibrate according to the first calibration data.
[0114] In the embodiments of the application, the identity of the ECU is verified by using the authentication information, which can improve the security of the calibration of the ECU.
[0115] In some optional implementation manners, in order to avoid the ECU from running interruption or failure after the calibration of the ECU fails, the data before the calibration of the ECU can be backed up, and the version before the calibration of the ECU is run after the calibration of the ECU fails.
[0116] Based on this, the ECU can also send calibration failure information to the calibration device in the case of calibration failure; the calibration failure information can indicate a calibration failure instruction, a failure time, etc.
[0117] The calibration device can also forward the calibration failure information to the cloud server after receiving the calibration failure information; for example, the calibration failure information can be forwarded to the cloud server by using an MQTT protocol.
[0118] The cloud server can generate first backup information according to the first address information and the first initial value and send the first backup information to the calibration device after receiving the calibration failure information; wherein the first address information and the first initial value are address information and parameter values of the ECU parameters stored before the calibration of the ECU. For example, the first address information and the first initial value can be encapsulated, for example, encapsulated into a CCP format, to obtain the first backup information. Then, the first backup information is sent to the calibration device.
[0119] After receiving the first backup information, the calibration device may further encapsulate the first backup information into a first format and send it to the ECU; the first format is a data format for communication between the calibration device and the ECU, for example, it may be a CCP format.
[0120] After receiving the first backup information packaged in the first format, the ECU can perform data recovery based on the first backup information. For example, the ECU parameters included in the first backup information can be adjusted to values consistent with the first backup information to achieve data recovery.
[0121] In the embodiment of the present application, by backing up the data before ECU calibration and sending the data before ECU calibration to the ECU after the ECU calibration fails, the problem of ECU operation interruption or failure after the ECU calibration fails is avoided.
[0122] In some optional implementations, after ECU calibration fails, in order to quickly understand the cause of the calibration failure, the ECU can also report an error code to the cloud server to indicate the cause of the calibration failure, so as to quickly find a strategy to deal with the calibration failure.
[0123] Based on this, after the ECU determines that calibration has failed, it can also send an error code to the calibration device. The error code indicates the reason for the failure. After receiving the error code, the calibration device can transmit it to the cloud server, allowing the cloud server to quickly understand the cause of the calibration failure and develop a response strategy. For example, the response strategy could include adjusting calibration parameters, retrying calibration, or changing the ECU configuration.
[0124] In an embodiment of the present application, after the ECU calibration fails, an error code is reported to the cloud server. The error code can indicate the reason for the calibration failure. In this way, the reason for the calibration failure can be quickly understood, thereby improving the efficiency of dealing with calibration failures.
[0125] Based on the above embodiments, see Figure 4 , Figure 4 This document provides a signaling diagram for remotely calibrating a vehicle's ECU. The calibration process can be divided into three steps: calibration service configuration, calibration startup configuration, and calibration. The calibration service configuration process primarily involves configuring calibration data; the calibration startup configuration process primarily starts or stops port operations; and the calibration process primarily involves calibrating the ECU and reporting calibration success or failure.
[0126] This application embodiment uses the calibration device as a combination of a calibration box and a terminal device as an example for explanation. The specific implementation process is as follows:
[0127] Calibration service configuration process:
[0128] S401, the cloud server sends a request for cleaning the calibration service of the port CCP of the calibration box to the terminal device.
[0129] S402, the terminal device sends a request for cleaning the calibration service of the port CCP of the calibration box to the calibration box.
[0130] S403, the calibration box feeds back response information of cleaning the port to the terminal device after cleaning the port.
[0131] S404, the terminal device sends the response information of cleaning the port to the cloud server.
[0132] S405, the cloud server sends calibration parameters to the terminal device.
[0133] The calibration parameters include calibration address, data length, data content and other information.
[0134] S406, the terminal device sends the calibration parameters to the calibration box.
[0135] The data can be transmitted through Bluetooth or other wireless ways.
[0136] S407, the calibration box feeds back response information of completing the configuration to the terminal device after configuring the ECU data according to the first calibration data.
[0137] S408, the terminal device feeds back the response information of completing the configuration to the cloud server.
[0138] Calibration start configuration process:
[0139] S409, the cloud server sends a request for starting the calibration service of the port CPP to the terminal device.
[0140] S410, the terminal device sends a request for starting the calibration service of the port CPP to the calibration box.
[0141] S411, the calibration box feeds back response information of starting the calibration service of the port CPP to the terminal device after starting the calibration service of the port CPP.
[0142] S412, the terminal device feeds back the response information of starting the calibration service of the port CPP to the cloud server.
[0143] Calibration process:
[0144] S413, the ECU performs parameter calibration.
[0145] S414, in the case of failure of ECU parameter calibration, the calibration box feeds back an error code to the terminal device.
[0146] S415, the terminal device feeds back an error code to the cloud server.
[0147] S416, in the case that the ECU parameter calibration succeeds, the calibration box feeds back a calibration success code to the terminal device.
[0148] S417, the terminal device feeds back the calibration success code to the cloud server.
[0149] The remote ECU calibration is ended.
[0150] The above Figure 1 The remote calibration system provided by the embodiments of the present application is introduced in detail, and the remote calibration method and device provided by the embodiments of the present application will be introduced below with reference to the drawings.
[0151] As Figure 5 shown, this figure is a flow diagram of a remote calibration method provided by the embodiments of the present application, which is taken as an example of the calibration device to be described, and the method comprises the following steps:
[0152] S501, receiving first calibration data sent by a cloud server.
[0153] S502, after receiving the first calibration data, encapsulating the first calibration data into a first format and sending to an ECU, so that the ECU performs calibration according to the first calibration data, wherein the first format is a data format for communication between the calibration device and the ECU.
[0154] The specific process of S501 to S502 above can refer to the description of the system embodiments above, which has similar implementation principles and technical effects, and will not be described here.
[0155] The calibration device in the calibration method above acts as a bridge for communication between the cloud server and the ECU, and can realize communication between the ECU and the cloud server without relying on the SIM in the vehicle, so that the ECU of the vehicle can be remotely calibrated even if the vehicle does not have networking function, thereby widening the adaptive scenarios of remote calibration of the ECU of the vehicle.
[0156] The embodiments of the present application also provide a computing device. As Figure 6 shown, this figure is a schematic diagram of a computing device provided by the embodiments of the present application, which comprises a bus 301, a processor 302, a communication interface 303 and a memory 304. The processor 302, the memory 304 and the communication interface 303 communicate through the bus 301.
[0157] The bus 301 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 6 Only one thick line is used in the figure to represent the bus, but it does not mean that there is only one bus or only one type of bus.
[0158] The processor 302 can be any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), etc.
[0159] The communication interface 303 is configured to communicate with the outside.
[0160] The memory 304 can include a volatile memory, such as a random access memory (RAM), etc. The memory 304 can also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD), etc.
[0161] The memory 304 stores executable code, and the processor 302 executes the executable code to perform the aforementioned remote calibration method.
[0162] The embodiments of the present application also provide a computer readable storage medium. The computer readable storage medium can be any available medium or data storage device that can store data which can be accessed by a computing device, or a data center containing one or more available media or data storage devices. The available medium can be a magnetic medium (e.g., a floppy diskette, a hard disk drive, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state hard drive), etc. The computer readable storage medium includes instructions, which instruct the computing device to perform the aforementioned remote calibration method.
[0163] The embodiments of the present application further provide a computer program product including one or more computer instructions. When the computer instructions are loaded and executed on a computing device, the computer instructions produce, in whole or in part, the processes or functions described in the embodiments of the present application.
[0164] The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website site, computer or data center to another website site, computer or data center through wired (for example, coaxial cable, optical fiber, digital subscriber line) or wireless (for example, infrared, wireless, microwave, etc.).
[0165] When the computer program product is executed by a computer, the computer executes any one of the methods of the remote calibration method described above. The computer program product can be a software installation package, and when any one of the methods of the remote calibration method described above is needed, the computer program product can be downloaded and executed on the computer.
[0166] The descriptions of the corresponding processes or structures of the above respective figures are each focused on, and the parts not described in detail in a certain process or structure can be referred to the related descriptions of other processes or structures.
[0167] The above is merely specific embodiments of the present application, and the protection scope of the present application is not limited thereto, and any changes or replacements within the technical scope disclosed in the present application should be covered within the protection scope of the present application.
Claims
1. A remote calibration system, characterized in that: The system includes: an electronic control unit ECU, a cloud server and a calibration device with networking function; The cloud server is configured to send first calibration data to the calibration device; The calibration device is configured to, after receiving the first calibration data, encapsulate the first calibration data into a first format and then send the first calibration data to the ECU, where the first format is a data format for communication between the calibration device and the ECU; The ECU is configured to perform calibration according to the first calibration data; The calibration device is further configured to obtain first address information of a parameter to be calibrated of the ECU and a first initial value corresponding to the first address information, and send the first address information and the first initial value to the cloud server; The cloud server is further configured to determine a first target address from the first address information based on a difference between the first initial value and the first calibration value, and determine first calibration data based on the first target address and a first target value corresponding to the first target address; The calibration device is further configured to send a first identifier of the calibration device to a cloud server; The cloud server is specifically configured to send the first calibration data to the calibration device when the first identifier matches in a preset database; The ECU is further configured to send calibration failure information to the calibration device in the event of calibration failure; The calibration device is further configured to forward the calibration failure information to the cloud server; The cloud server is further configured to, after receiving the calibration failure information, generate first backup information based on the first address information and the first initial value and send the first backup information to the calibration device; The calibration device is further configured to encapsulate the first backup information into the first format and then send the encapsulated information to the ECU; The ECU is further configured to perform data recovery based on the first backup information; The ECU is further configured to send an error code to the calibration device, wherein the error code is configured to indicate a cause of calibration failure; The calibration device transmits the error code to the cloud server.
2. The system according to claim 1, wherein: The cloud server is specifically configured to encrypt the first target address and the first target value using a first public key corresponding to the ECU to obtain first calibration data; The ECU specifically uses the first private key to decrypt the first calibration data to obtain the first target address and the first target value, and performs calibration according to the first target address and the first target value. The first private key and the first public key form a key pair.
3. The system according to claim 1, wherein: The calibration device is further configured to send an authentication information acquisition request to a cloud server, wherein the authentication information acquisition request includes the second identifier of the ECU; The cloud server is further configured to encrypt the authentication information using the second public key corresponding to the second identifier to obtain first encrypted data, and send the first encrypted data to the calibration device; The calibration device is further configured to send the first encrypted data to the ECU; The ECU is specifically used to decrypt the first encrypted data using the second private key to obtain the authentication information, perform security authentication using the authentication information, and perform calibration according to the first calibration data when the authentication is passed.
4. A remote calibration method, characterized in that: Applied to a calibration device with networking capabilities, the method includes: receiving first calibration data sent by the cloud server; After receiving the first calibration data, encapsulating the first calibration data into a first format and sending it to the ECU, so that the ECU performs calibration according to the first calibration data, wherein the first format is a data format for communication between the calibration device and the ECU; Obtaining first address information of a parameter to be calibrated of the ECU and a first initial value corresponding to the first address information, and sending the first address information and the first initial value to the cloud server, so that the cloud server determines a first target address from the first address information based on a difference between the first initial value and the first calibration value, and determines first calibration data based on the first target address and the first target value corresponding to the first target address; Sending a first identifier of the calibration device to a cloud server, so that the cloud server sends first calibration data to the calibration device when the first identifier matches in a preset database; receiving calibration failure information sent by the ECU when calibration fails, and forwarding the calibration failure information to the cloud server, so that the cloud server generates first backup information according to the first address information and the first initial value after receiving the calibration failure information, and sends the first backup information to the calibration device; encapsulating the first backup information into the first format and sending the first format to the ECU, so that the ECU performs data recovery according to the first backup information; Receive an error code sent by the ECU, where the error code is used to indicate a reason for calibration failure, and transmit the error code to the cloud server.
5. A computing device, characterized in that including memory and processor; One or more computer programs are stored in the memory, and the one or more computer programs include instructions; when the instructions are executed by the processor, the computing device executes the method according to claim 4.
6. A computer-readable storage medium, characterized in that The computer-readable storage medium is used to store a computer program, and the computer program is used to execute the method according to claim 4.
Citation Information
Patent Citations
Control method based on CCP or XCP protocol
CN111781909A
Vehicle calibration method, device and equipment
CN116501014A