A method, system and computer device for calibrating automobile ECU data

By generating and backing up verification codes in automotive ECUs, identifying and using valid calibration data, the problems of long data corruption and reprogramming time in the prior art are solved, and higher calibration data security and reliability of ECU software system are achieved.

CN118550569BActive Publication Date: 2025-04-11ZHONGKE YICHUANG (GUANGZHOU) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410855543.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-28
Publication Date
2025-04-11
Estimated Expiration
2044-06-28

AI Technical Summary

Technical Problem

The existing automotive ECU calibration methods cannot recognize the wrong parameter data when the data is accidentally tampered with or damaged, resulting in the system being unable to run smoothly and efficiently. When the main FLASH data is abnormal, erasing and reprogramming will take significant time, affecting the system startup.

Method used

The first burned file of calibration data is generated by the compiler, and two different verification codes are added to the upper computer to generate the second burned file. The file is imported into the electronic control unit for verification, and the verification result is stored in the data control description module. When a calibration request from the application is received, calibration data or backup data are used based on the verification result to modify the optimal calibration data.

Benefits of technology

The complete backup of the calibration data is realized, corrupt data is identified and valid data is used, which reduces the safety risks of reprogramming FLASH inside the electronic control unit ECU, eliminates the limitations of power-on time performance, and improves the storage security of calibration data and the reliability of the electronic control unit ECU software system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118550569B_ABST
    Figure CN118550569B_ABST
Patent Text Reader

Abstract

The present application belongs to the field of automotive electronic technology, and discloses a calibration method, system and computer equipment for automotive ECU data. A first burn file of calibration data is generated by a compiler and sent to a host computer; the host computer adds two different check codes in the check segment area reserved in the first burn file, and backs up the calibration data and the check code to generate a second burn file; the second burn file is sent to an electronic control unit, and the electronic control unit verifies the calibration data in the second burn file and stores the verification result in a data control description module; when a calibration request from an application is received, the data control description module retrieves the calibration data based on the verification result and sends the calibration data to the application; the calibration data is modified according to the operation of the application. The present application method improves the storage security of the calibration data, enables the automotive software system to operate more stably and reliably, and ensures the driving safety of the vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of automotive electronic technology, and in particular to a method, system and computer equipment for calibrating automotive ECU data. Background Art

[0002] ECU (Electronic Control Unit) is the core component of the automotive electronic system, which is equivalent to a microcomputer management center. It commands the actuator to work by signal acquisition, calculation, analysis and judgment, and output control instructions. In order to ensure that the vehicle can operate normally under different working conditions and meet the design requirements, the ECU needs to be accurately calibrated, that is, to adjust the control parameters in the ECU. These parameters involve the working status of the engine, transmission system, chassis system, etc. At present, there are two main schemes for calibrating automotive ECUs. One is a no-backup scheme, which uses a FLASH and a RAM mapping method inside the ECU to realize the calibration function. During the software development process, the data to be calibrated is allocated to the calibration FLASH; in the calibration stage, the calibration FLASH and the calibration RAM are mapped to each other; after the calibration is completed, the modified parameter data is re-burned to the calibration FALSH, and the mapping with the calibration RAM is disconnected, so that the parameter data in the calibration FALSH acts on the software and supports the normal operation of the software system. When the calibration data is accidentally tampered with or damaged, the software cannot identify the wrong parameter data; or even if the software recognizes that the parameter data is damaged, due to the lack of backup data, only the system default parameters can be used, and the system cannot continue to run smoothly and efficiently. Another solution is to add a backup FLASH area on the basis of the no-backup solution to backup the calibration data. In normal functional software, additional FALSH driver codes need to be stored to manage this backup area. These FLASH driver codes may be called by other software logic exceptions, which may cause unexpected FALSH areas to be erased, and do not meet the requirements of some software projects with high functional safety requirements; and when the main FLASH data is abnormal, it usually takes hundreds of milliseconds to erase and reprogram the main FLASH area. In the automotive ECU software system, this time will have a significant impact on the system startup. Therefore, there is an urgent need for a calibration method that can ensure the safe and smooth operation of automotive electronic systems. Summary of the invention

[0003] To this end, the embodiments of the present application provide a method, system and computer device for calibrating automobile ECU data, which ensure the security of the calibration data and enable the automobile software system to run more safely and smoothly.

[0004] In a first aspect, the present application provides a method for calibrating automobile ECU data.

[0005] This application is achieved through the following technical solutions:

[0006] A method for calibrating automobile ECU data, the method comprising:

[0007] Generate a first burning file of calibration data by using a compiler, and send the first burning file to a host computer;

[0008] The host computer adds two different check codes in the check segment area reserved in the first burning file, and backs up the calibration data and the check code to generate a second burning file;

[0009] The second burning file is imported into the electronic control unit, the electronic control unit verifies the calibration data in the second burning file and the backup calibration data to obtain a verification result, and sends the verification result to the data control description module;

[0010] When receiving a calibration request from an application, the data control description module uses the calibration data or the backed-up calibration data based on the verification result, and sends the calibration data or the backed-up calibration data to the application;

[0011] According to the running status of the application program, the extracted calibration data is modified to obtain the optimal calibration data;

[0012] The calibration data carries address information of a reference page area, and the backup calibration data carries address information of a reference page backup area.

[0013] In a preferred example of the present application, it can be further configured to generate a third burning file with optimal calibration data, and import the third burning file into the host computer to add two different verification codes.

[0014] In a preferred example of the present application, it can be further configured that the step of using the compiler to generate a first burning file of calibration data includes:

[0015] Set the reference page area, reference page backup area and working page area of ​​the calibration data through the link file;

[0016] During software development, define the calibration data to the reference page area, set the default parameter values ​​of the calibration data, and generate the source file;

[0017] The source file is encoded by using a compiler to generate a first burning file with default parameter values.

[0018] In a preferred example of the present application, it can be further set as follows:

[0019] The step of adding two different check codes in the check segment area reserved in the first burning file by the host computer comprises:

[0020] The host computer is used to parse the first burning file to determine the address, data content and data length of the calibration data in the first burning file;

[0021] Convert the data content format of the calibration data into a numerical format and combine them into long sequence data;

[0022] Based on the long sequence data, the host computer calculates a first check code by a checksum check algorithm and calculates a second check code by a cyclic redundancy check algorithm;

[0023] The first check code and the second check code are placed in a check segment area reserved in the first burning file.

[0024] In a preferred example of the present application, it can be further set as follows:

[0025] The step of importing the second burning file into the electronic control unit comprises:

[0026] Determine the burning tool that matches the controller model of the electronic control unit;

[0027] Import the second burning file into the burning tool, and connect the burning tool and the electronic control unit;

[0028] The burning file download process is executed, the calibration data in the second burning file is imported into the reference page area in the electronic control unit, and the backup calibration data is imported into the reference page backup area in the electronic control unit.

[0029] In a preferred example of the present application, it can be further configured that the electronic control unit verifies the calibration data in the second burning file and the backup calibration data to obtain a verification result, and sends the verification result to the data control description module, including the following steps:

[0030] The electronic control unit calls the calibration data initialization module to extract the check code in the second burning file;

[0031] The electronic control unit calculates a new check code based on the calibration data, compares the calculated check code with the extracted check code, and obtains a check result;

[0032] The validity of the calibration data is determined based on the verification result, and the validity is stored in the data control description module. The validity includes dual-zone valid, single-zone valid or dual-zone invalid.

[0033] In a preferred example of the present application, it can be further configured that when receiving a calibration request from an application, the data control description module uses the calibration data or the backup calibration data based on the verification result, and the step of sending the calibration data or the backup calibration data to the application includes:

[0034] The application sends a calibration request to the data control description module;

[0035] The data control description module extracts the calibration data from the reference page area or extracts the backup calibration data from the reference page backup area based on the validity of the calibration data;

[0036] The data control description module provides the extracted calibration data to the application.

[0037] In a preferred example of the present application, it can be further configured that the step of modifying the extracted calibration data according to the running status of the application program to obtain the optimal calibration data includes:

[0038] Use the calibration tool to connect the electronic control unit and enable the working page through the working page enable command;

[0039] According to the operation status of the application, determine the optimal parameters when the application runs normally;

[0040] The calibration data is modified based on the optimal parameters, and the modified calibration data is saved.

[0041] In a second aspect, the present application provides a system for calibrating automobile ECU data.

[0042] This application is achieved through the following technical solutions:

[0043] A calibration system for automobile ECU data, the calibration system comprising:

[0044] A compiling module, used for generating a first burning file of calibration data by using a compiler, and sending the first burning file to a host computer;

[0045] The host computer is used to add two different check codes in the check segment area reserved in the first burning file, and back up the calibration data and the check code to generate a second burning file;

[0046] The electronic control module is used for importing the second burning file, verifying the calibration data in the second burning file and the backup calibration data, obtaining a verification result, and sending the verification result to the data control description module;

[0047] A data control description module, configured to, upon receiving a calibration request from an application, retrieve calibration data or backup calibration data based on the verification result, and send the calibration data or backup calibration data to the application;

[0048] The calibration module is used to modify the extracted calibration data according to the running status of the application program to obtain the optimal calibration data.

[0049] In a third aspect, the present application provides a computer device.

[0050] This application is achieved through the following technical solutions:

[0051] A computer device comprises a memory, a processor and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of any one of the above-mentioned methods for calibrating automobile ECU data are implemented.

[0052] In summary, compared with the prior art, the technical solution provided in the embodiment of the present application has at least the following beneficial effects:

[0053] The compiler is used to generate a first burn file of calibration data and send it to a host computer; the host computer adds two different check codes in the check segment area reserved in the first burn file, and backs up the calibration data and the check code to generate a second burn file; the second burn file is sent to the electronic control unit, the electronic control unit verifies the calibration data in the second burn file, and stores the verification result in the data control description module; when receiving a calibration request from an application, the data control description module uses the calibration data based on the verification result, and sends the calibration data or spare calibration data to the application; according to the running status of the application, the calibration data used is modified to obtain the optimal calibration data. The present application method realizes the complete backup of calibration data, the identification of damaged data and the use of valid data; at the same time, compared with the existing calibration method of reprogramming FLASH in the internal electronic control unit ECU, it reduces the safety hazard and eliminates the limitation of power-on time performance to a certain extent, improves the storage security of calibration data, and further improves the reliability of the operation of the electronic control unit ECU software system, so that the automobile software system can run more stably and reliably, ensuring the driving safety of the automobile. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] Figure 1 A schematic diagram of a flow chart of a method for calibrating automobile ECU data provided in one embodiment of the present application;

[0055] Figure 2 A schematic diagram of the structure of a system for calibrating automobile ECU data provided in one embodiment of the present application;

[0056] Description of reference numerals:

[0057] Compilation module 01, host computer 02, electronic control module 03, data control description module 04, calibration module 05. DETAILED DESCRIPTION

[0058] This specific embodiment is merely an explanation of the present application and is not a limitation of the present application. After reading this specification, those skilled in the art may make modifications to the present embodiment without any creative contribution as needed, but such modifications are protected by the patent law as long as they are within the scope of the claims of the present application.

[0059] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0060] In addition, the term "and / or" in this application is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this application, unless otherwise specified, generally indicates that the associated objects before and after are in an "or" relationship.

[0061] In this application, the terms "first", "second", etc. are used to distinguish identical or similar items with basically the same effects and functions. It should be understood that there is no logical or temporal dependency between "first", "second", and "nth", nor is there any limitation on quantity and execution order.

[0062] The embodiments of the present application are further described in detail below in conjunction with the drawings in the specification.

[0063] It should be noted that the data calibration of this application is based on the XCP calibration protocol. XCP (Universal Calibration Protocol) supports calibration on different communication buses. X represents different transport layers, such as CAN, Ethernet, FlexRay, SCI, SPI, USB, etc. It supports multiple physical layer protocols, not limited to CAN. It is mainly used to measure and calibrate ECU internal parameters, so that data acquisition work is synchronized with the tasks and interrupts running inside the ECU, thereby ensuring that the required parameter values ​​can be quickly collected when the ECU software updates the parameters. The XCP standard is mainly divided into five parts: (Part 1) Overview of XCP protocol, including the description of XCP characteristics and the basic principles of XCP protocol; (Part 2) Detailed specification and description of the protocol layer Protocol Layer Specification, including XCP data packet type, format and instructions for each command; (Part 3) Transport Layer Specification, which contains 5 documents corresponding to 5 different transport layers (CAN, Ethernet / TCP_IP, FlexRay, SxI / SCI&SPI, USB), and specifies the implementation of the transport layer under different buses; (Part 4) Interface Specification, which describes the A2L description file, key and seed encryption and decryption, and data verification functions; (Part 5) Example Communication Sequences, which describes some communication data flows and demonstrates how to use XCP protocol commands to communicate with ECU. XCP communication protocol mode XCP data packets mainly have two forms: CTO (Command Transfer Object) of transmission control commands and DTO (Data Transfer Object) of synchronization data packets.

[0064] In one embodiment of the present application, a method for calibrating automobile ECU data is provided. Automobile data calibration refers to the process of optimizing software data after the engine, vehicle, control algorithm or peripheral device are determined in order to obtain satisfactory vehicle performance and meet customer requirements. Figure 1 As shown, the main steps are described as follows:

[0065] Reference page areas and reference page backup areas are allocated for calibration data in different sectors of FLASH; working page areas are allocated on RAM. Specifically, a certain number of pages are selected in FLASH, and the starting and ending addresses of the pages are specified as reference page areas for storing current calibration data. The pages in the reference page area should be continuous for easy management and access. The same number of pages are selected in different sectors of FLASH as reference page backup areas to store backup calibration data. Backup calibration data is provided when the reference page area is damaged or needs to be updated. These pages are also continuous. At the same time, the reference page backup area needs to be physically isolated from the reference page area to reduce the risk of simultaneous damage.

[0066] The work is allocated in a remappable RAM area, allowing quick switching between the reference page and the working page during the calibration process. At the beginning of the calibration, the data in the reference page is copied to the working page. During the calibration process, any changes to the calibration data will act on the data on the working page. This avoids accidental changes to the calibration reference value and allows multiple attempts and adjustments during the calibration process. When the calibration is completed, if you need to save the new calibration data to the reference page in Flash, you can copy the calibration data from the working page back to the reference page.

[0067] S10: Generate a first burning file of calibration data using a compiler, and send the first burning file to a host computer.

[0068] Among them, the reference page area, reference page backup area and working page area of ​​the calibration data are set through the link file; during the software development process, the calibration data is defined in the reference page area, and the default parameter values ​​of the calibration data are set to generate a source file; the source file is encoded using the compiler to generate a burning file with default parameter values. In the link file, the starting address and size of these areas in the memory need to be clearly specified. Specifically, the address of the reference page area, the address of the reference page backup area and the address of the working page area are set in the link file. For example, the starting address of the reference page area in FLASH is 0x08000000, the length is 0x1000, and the end address is 0x08000FFF; the starting address of the reference page backup area in FLASH is 0x08001000, the length is 0x1000, and the end address is 0x08001FFF; the starting address of the working page area in RAM is 0x20000000, the length is 0x1000, and the end address is 0x20000FFF. Add the corresponding address of the reference page area in the calibration data, and set an initial default parameter value for each parameter in the calibration data. The default parameter value can be hard-coded or obtained from a configuration file or other external source. Generate a source file in the form of source code based on the calibration data with the default parameter value set. Use a compiler such as GCC, IAR Embedded Workbench, Keil MDK, etc. to compile the source file to obtain a first burning file with default parameter values.

[0069] S20: The host computer adds two different check codes to the check segment area reserved in the first burning file, and backs up the calibration data and the check code to generate a second burning file.

[0070] The first burning file is parsed by a host computer to determine the address, data content and data length of the calibration data in the first burning file; the format of the calibration data is converted into a numerical format and combined into long sequence data; based on the long sequence data, the host computer calculates a first check code through a checksum algorithm and calculates a second check code through a cyclic redundancy check algorithm; the first check code and the second check code are placed in a check segment area reserved in the first burning file.

[0071] In the specific implementation process, the first burning file generated by the compiler is imported into the host computer, and the first burning file is parsed by a file parsing tool, and the address, data content and data length of the data are extracted from it according to the data type of the first burning file; the host computer is used to convert the data content extracted from each line of the first burning file into a computable numerical format, and combined into a long sequence data in a certain order. For the long sequence data, the host computer uses two verification algorithms to calculate two different check codes, and the two verification algorithms are coordinated to make up for the lack of anti-collision ability of a single verification algorithm, thereby improving the reliability of the calibration data. The long sequence data is operated by the checksum verification algorithm to generate a check code Check Code 1, which is added to the back of the calibration data and placed in the reserved inspection segment area in the first burning file; the long sequence data is operated by the cyclic redundancy check algorithm to generate a check code CheckCode 2, which is added to the back of the calibration data and placed in the reserved inspection segment area in the first burning file. It should be noted that the check codes Check Code 1 and Check Code 2 calculated by the two check algorithms are placed in no particular order, Check Code 1 can be placed before Check Code 2, or Check Code 2 can be placed before Check Code 1.

[0072] The calibration data and two check codes are then backed up using the host computer to obtain the backup calibration data. According to the address information allocated to the reference page backup area in the link file, the host computer integrates the backup calibration data and address information, arranges them in the format required by the burning file, and generates a new second burning file with the backup calibration data added.

[0073] S30: Import the second burning file into the electronic control unit, the electronic control unit verifies the calibration data in the second burning file and the backup calibration data, obtains the verification result, and sends the verification result to the data control description module.

[0074] Among them, determine the burning tool that matches the controller model of the electronic control unit; import the second burning file into the burning tool, connect the burning tool and the electronic control unit; execute the burning file download process, import the calibration data in the second burning file into the reference page area in the electronic control unit, and import the backup calibration data into the reference page backup area in the electronic control unit. In the specific implementation process, select the corresponding burning tool according to the controller model of the electronic control unit used; use a suitable connection line, such as a USB connection line or a serial port line, etc. to connect the burning tool and the electronic control unit, open the burning tool, import the second burning file, execute the burning file download process and check and confirm the burning success prompt on the burning tool interface.

[0075] After receiving the second burning file, the electronic control unit needs to verify the calibration data in the second burning file. Specifically, the electronic control unit calls the calibration data initialization module to extract the check code in the second burning file; the electronic control unit uses the same verification method as the host computer to calculate a new check code based on the calibration data, compares the calculated check code with the extracted check code, and obtains the verification result; determines the validity of the calibration data based on the verification result, sends and stores the validity in the data control description module, and the validity includes dual-area validity, single-area validity, or dual-area invalidity. Specifically, the electronic control unit uses the checksum verification algorithm to calculate the calibration data in the reference page area to obtain the first check code CheckCode 1 p ' and calculate the second check code Check Code 2 by cyclic redundancy check algorithm p '; Calculate the first check code Check Code 1 by using the checksum algorithm to calculate the backup calibration data of the reference page backup area b ' and calculate the second check code Check Code 2 by cyclic redundancy check algorithm b '. The first check code CheckCode 1 is calculated p ' and the first check code Check Code 1 b ' respectively compare with the first check code Check Code 1 extracted from the second burning file; the calculated second check code Check Code 2 p ′ and the second check code CheckCode 2 b ' is compared with the second check code Check Code 2 extracted from the second burning file. For the reference page area, if the calculated first check code Check Code 1 p ' is the same as the first check code Check Code 1, and the second check code Check Code 2 calculated at the same time p′ is the same as the second check code Check Code 2, then it can be confirmed that the calibration data of the reference page area is valid and can be used for subsequent calibration; otherwise, it is confirmed that the calibration data of the reference page area is invalid. For the reference page backup area, if the calculated first check code Check Code 1 b ' is the same as the first check code CheckCode 1, and the second check code CheckCode 2 calculated at the same time b If ′ is the same as the second check code Check Code 2, it is determined that the calibration data backed up in the reference page backup area is valid; otherwise, it is determined that the calibration data in the reference page backup area is invalid.

[0076] The validity of the calibration data is determined based on the above verification results. When the calibration data of the reference page area is valid and the calibration data of the reference page backup area is also valid, it is considered to be dual-area valid; when the calibration data of the reference page area is valid and the calibration data of the reference page backup area is invalid, or the calibration data of the reference page area is invalid and the calibration data of the reference page backup area is valid, it is considered to be single-area valid; when the calibration data of the reference page area is invalid and the calibration data of the reference page backup area is also invalid, it is considered to be dual-area invalid. The validity is stored in the data control description module. When the dual area is valid, the calibration data of the reference page area is pre-selected for calibration.

[0077] It should be noted that the data control description module reports the fault level to the fault management module in the ECU software, such as the DEM (Diagnostic Event Manager) module and the FIM (Function Inhibition Manager) module, based on the validity of the current calibration data. The fault management module determines whether the current system continues to run, needs to update data immediately, or updates data later, etc., based on the validity of the calibration data and other software in the ECU. For example, when the dual zone is valid, continue to run; when the single zone is valid, the calibration data in the subsequent update system can be updated during the vehicle's idle time; when the dual zone is invalid, the calibration data needs to be updated immediately.

[0078] S40: When receiving a calibration request from an application, the data control description module retrieves the calibration data or the backed-up calibration data based on the verification result, and sends the calibration data or the backed-up calibration data to the application.

[0079] When an application accesses calibration data, it will automatically pass through the data control description module. After receiving the calibration request from the application, the data control description module will identify whether the calibration data (including calibration data and backup calibration data) is damaged based on the validity of the stored calibration data, thereby extracting valid calibration data and providing the correct calibration data to the application layer application. This data retrieval process takes only milliseconds, and there is no re-encoding process for the identification of calibration data, which can achieve switching of calibration data without basically affecting system operation.

[0080] S60: According to the running status of the application program, the extracted calibration data is modified to obtain the optimal calibration data.

[0081] In some embodiments, a calibration tool is used to connect an electronic control unit, and a working page is enabled through a working page enable instruction; based on the running status of the application, the optimal parameters when the application runs normally are determined; the calibration data is modified based on the optimal parameters, and the modified calibration data is saved.

[0082] Specifically, calibration software (CANape, INCA, etc.) is used to connect and establish communication with the electronic control unit, and the working page is selected through the working page enable instruction to read data on the working page, and the optimal parameters for the best operation of the automobile system are determined based on the actual operating conditions of the automobile system, such as engine performance; and the calibration data is then modified based on the optimal parameters.

[0083] In some embodiments, after the calibration data is modified, a third burning file with the optimal calibration data is generated, and the third burning file is imported into the host computer to add two different check codes. This process realizes the solidification and backup of the calibration data outside the electronic control unit ECU; avoids FLASH erasure and writing caused by data solidification and data backup and recovery inside the electronic control unit ECU, so that the FLASH driver code does not need to be added to the system software, thereby improving the security of the system software.

[0084] The method of the present application realizes the complete backup of calibration data, the identification of damaged data and the use of valid data; at the same time, compared with the existing calibration method of reprogramming the FLASH inside the electronic control unit ECU, it reduces the safety hazards and eliminates the power-on time performance limitations to a certain extent, improves the storage security of the calibration data, and further improves the reliability of the operation of the electronic control unit ECU software system, so that the automobile software system can operate more stably and reliably, ensuring the safety of automobile driving.

[0085] The present application also provides a calibration system for automobile ECU data, the calibration system comprising: a compilation module 01, a host computer 02, an electronic control module 03, a data control description module 04, and a calibration module 05;

[0086] Compilation module 01, used for generating a first burning file of calibration data by using a compiler, and sending the first burning file to a host computer;

[0087] The host computer 02 is used to add two different check codes in the check segment area reserved in the first burning file, and back up the calibration data and the check code to generate a second burning file;

[0088] The electronic control module 03 is used for importing the second burning file, verifying the calibration data in the second burning file and the backup calibration data, obtaining the verification result, and sending the verification result to the data control description module;

[0089] The data control description module 04 is used to obtain the calibration data or the backup calibration data based on the verification result when receiving the calibration request of the application, and send the calibration data or the backup calibration data to the application;

[0090] The calibration module 05 is used to modify the extracted calibration data according to the running status of the application program to obtain the optimal calibration data.

[0091] In one embodiment, a computer device is provided. The computer device includes a memory, a processor, and a computer program stored in the memory. The processor executes the computer program to implement the steps of the above calibration method.

[0092] The computer device includes a processor, a memory, a network interface and a database connected through a system bus. The processor is used to provide computing and control capabilities. The memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium has an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, any of the above-mentioned automotive ECU data calibration methods is implemented.

[0093] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in the present application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink), DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0094] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the system described in the present application is divided into different functional units or modules to complete all or part of the functions described above.

Claims

1. A method for calibrating automobile ECU data, characterized in that: The calibration method comprises: Generate a first burning file of calibration data by using a compiler, and send the first burning file to a host computer; The host computer adds two different check codes in the check segment area reserved in the first burning file, and backs up the calibration data and the check code to generate a second burning file; The second burning file is imported into the electronic control unit, the electronic control unit verifies the calibration data in the second burning file and the backup calibration data to obtain a verification result, and sends the verification result to the data control description module; When receiving a calibration request from an application, the data control description module uses the calibration data or the backed-up calibration data based on the verification result, and sends the calibration data or the backed-up calibration data to the application; According to the running status of the application program, the extracted calibration data is modified to obtain the optimal calibration data; Wherein, the calibration data carries address information of the reference page area, and the backup calibration data carries address information of the reference page backup area; The step of the electronic control unit verifying the calibration data in the second burning file and the backup calibration data to obtain a verification result, and sending the verification result to the data control description module includes: The electronic control unit calls the calibration data initialization module to extract the check code in the second burning file; The electronic control unit calculates a new check code based on the calibration data, compares the calculated check code with the extracted check code, and obtains a check result; The validity of the calibration data is determined based on the verification result, and the validity is stored in the data control description module. The validity includes dual-zone valid, single-zone valid or dual-zone invalid. Dual-zone valid means that the calibration data of the reference page area and the reference page backup area are both valid. Single-zone valid means that among the calibration data of the reference page area and the reference page backup area, only the calibration data of one of the areas is valid. Dual-zone invalid means that the calibration data of both the reference page area and the reference page backup area are invalid.

2. The method for calibrating automobile ECU data according to claim 1, characterized in that: Also includes: Generate a third burning file with optimal calibration data, import the third burning file into the host computer and add two different verification codes.

3. The method for calibrating automobile ECU data according to claim 1, characterized in that: The step of using the compiler to generate a first burning file of calibration data comprises: Set the reference page area, reference page backup area and working page area of ​​the calibration data through the link file; During software development, define the calibration data to the reference page area, set the default parameter values ​​of the calibration data, and generate the source file; The source file is encoded by using a compiler to generate a first burning file with default parameter values.

4. The method for calibrating automobile ECU data according to claim 1, characterized in that: The step of adding two different check codes in the check segment area reserved in the first burning file by the host computer comprises: The host computer is used to parse the first burning file to determine the address, data content and data length of the calibration data in the first burning file; Convert the data content format of the calibration data into a numerical format and combine them into long sequence data; Based on the long sequence data, the host computer calculates a first check code by a checksum check algorithm and calculates a second check code by a cyclic redundancy check algorithm; The first check code and the second check code are placed in a check segment area reserved in the first burning file.

5. The method for calibrating automobile ECU data according to claim 1, characterized in that: The step of importing the second burning file into the electronic control unit comprises: Determine the burning tool that matches the controller model of the electronic control unit; Import the second burning file into the burning tool, and connect the burning tool and the electronic control unit; The burning file download process is executed, the calibration data in the second burning file is imported into the reference page area in the electronic control unit, and the backup calibration data is imported into the reference page backup area in the electronic control unit.

6. The method for calibrating automobile ECU data according to claim 1, characterized in that: The step of receiving the calibration request from the application program, the data control description module taking the calibration data or the backup calibration data based on the verification result, and sending the calibration data or the backup calibration data to the application program comprises: The application sends a calibration request to the data control description module; The data control description module extracts the calibration data from the reference page area or extracts the backup calibration data from the reference page backup area based on the validity of the calibration data; The data control description module provides the extracted calibration data to the application.

7. The method for calibrating automobile ECU data according to claim 1, characterized in that: The step of modifying the extracted calibration data according to the running status of the application program to obtain the optimal calibration data comprises: Use the calibration tool to connect the electronic control unit and enable the working page through the working page enable command; According to the operation status of the application, determine the optimal parameters when the application runs normally; The calibration data is modified based on the optimal parameters, and the modified calibration data is saved.

8. A calibration system for automobile ECU data, characterized in that: The calibration system comprises: A compiling module, used for generating a first burning file of calibration data by using a compiler, and sending the first burning file to a host computer; The host computer is used to add two different check codes in the check segment area reserved in the first burning file, and back up the calibration data and the check code to generate a second burning file; The electronic control module is used to import the second burning file, and verify the calibration data in the second burning file and the backup calibration data to obtain the verification result, and send the verification result to the data control description module, wherein the calibration data carries the address information of the reference page area, and the backup calibration data carries the address information of the reference page backup area; A data control description module, configured to, upon receiving a calibration request from an application, retrieve calibration data or backup calibration data based on the verification result, and send the calibration data or backup calibration data to the application; The calibration module is used to modify the extracted calibration data according to the running status of the application program to obtain the optimal calibration data; Among them, the electronic control module is also used to call the calibration data initialization module to extract the check code in the second burning file, calculate a new check code based on the calibration data, compare the calculated check code with the extracted check code to obtain a check result, determine the validity of the calibration data based on the check result, and store the validity in the data control description module. The validity includes dual-zone valid, single-zone valid or dual-zone invalid. The dual-zone valid means that the calibration data of the reference page area and the reference page backup area are both valid, the single-zone valid means that among the calibration data of the reference page area and the reference page backup area, only the calibration data of one of the areas is valid, and the dual-zone invalid means that the calibration data of the reference page area and the reference page backup area are both invalid.

9. A computer device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Calibration communication method based on CCP protocol

    CN110166337A

  • Electronic controller program updating method and device and electronic controller

    CN113946356A