A difference calibration method, device and electronic equipment of an engine controller
By identifying the differences in the multi-ECU engine control system and generating target code for difference calibration, the problems of frequent model modifications and insufficient resources in the existing technology are solved, thereby improving development efficiency and software reliability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-04
- Publication Date
- 2026-03-24
AI Technical Summary
In multi-ECU engine control systems, existing technologies require frequent modifications to the model control logic and repeated calibration, resulting in insufficient resources, low development efficiency, and insufficient software reliability.
By identifying the differences in the controller, target code is generated and the differences are calibrated, avoiding repeated modifications to the model and improving development efficiency and software reliability.
It enables efficient differential calibration without increasing the calibration quantity, improves development and calibration efficiency, avoids meaningless repeated modifications, and enhances software reliability.
Smart Images

Figure CN118689194B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of engine controller, and in particular to a difference calibration method and device of an engine controller and an electronic device. BACKGROUND
[0002] In the field of engine electronic control, an engine with less than 6 cylinders can generally be controlled by a single ECU. Based on this, a control system of an electronic control unit (ECU) of a large-cylinder engine is composed by using multiple ECUs suitable for low-cylinder engines and expanding the number of ECUs, which is a general solution to the electronic control system of a large-cylinder engine due to its relatively low cost and flexible arrangement. Taking two ECUs (main / secondary) as an example, the main ECU is in a core position of the control system, and collects and calculates key signals of the driving intention of the driver, and synchronously transmits the signals to the secondary ECU through CAN communication. Other information required for engine operation (camshaft phase, engine speed, etc.) is collected and calculated by each ECU, and each ECU controls its own bank (cylinder group) to realize joint control of the main and secondary ECUs for normal operation of the engine.
[0003] Generally, in order to integrate functions and ensure consistency in the development process, the main and secondary software use the same version of software, and different control codes are run by identifying the main and secondary identities to realize the difference in functions. Due to differences in manufacturing processes and actual control, during actual development and calibration, it is found that some charts or calibration quantities need to be calibrated differently, that is, the values of the calibration quantities are inconsistent. At this time, if the model control logic model is modified and the calibration quantities are differentiated according to the main and secondary, firstly, the number of difference-related calibration quantities and the space occupied will double, and the calibration ram resource may be insufficient. Secondly, manual connection, model modification, code regeneration, submission of integration, calibration verification are required, which is time-consuming and labor-intensive. SUMMARY
[0004] The present application provides a difference calibration method, device and electronic equipment of an engine controller to improve the development and calibration efficiency, avoid meaningless repeated model modification, and improve software reliability.
[0005] According to an aspect of the present application, a difference calibration method of an engine controller is provided, comprising:
[0006] determining whether a calibration data version corresponding to a controller is updated, and determining new difference information of the controller in the case that the calibration data version is updated, wherein the controller comprises a main controller and a secondary controller;
[0007] determining a difference calibration quantity of the controller based on the new difference information, generating a target code according to the difference calibration quantity, and inserting the target code into a software integration baseline to obtain a target calibration software.
[0008] determine the difference calibration of the master controller and the slave controller based on the target calibration software.
[0009] According to another aspect of the present application, there is provided a difference calibration device of an engine controller, comprising:
[0010] a difference information determination module configured to determine whether a calibration data version corresponding to a controller is updated, and determine new difference information of the controller in the case that the calibration data version is updated, wherein the controller comprises a master controller and a slave controller;
[0011] a calibration software generation module configured to determine a difference calibration of the controller based on the new difference information, generate target code according to the difference calibration, and insert the target code into a software integration baseline to obtain target calibration software;
[0012] a difference calibration module configured to determine the difference calibration of the master controller and the slave controller based on the target calibration software.
[0013] According to another aspect of the present application, there is provided an electronic device, comprising:
[0014] at least one processor; and
[0015] a memory connected to the at least one processor in communication; wherein
[0016] the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the difference calibration method of the engine controller according to any one of the embodiments of the present application.
[0017] According to another aspect of the present application, there is provided a computer readable storage medium storing computer instructions for enabling a processor to execute the difference calibration method of the engine controller according to any one of the embodiments of the present application when executed by the processor.
[0018] The technical scheme of the embodiment of the application determines whether the calibration data version corresponding to the controller is updated, determines the added difference information of the controller in the case that the calibration data version is updated, wherein the controller comprises a main controller and a secondary controller; determines the difference calibration quantity of the controller based on the added difference information, generates target code according to the difference calibration quantity, and inserts the target code into a software integration baseline to obtain target calibration software; and calibrates the difference calibration quantity of the main controller and the secondary controller based on the target calibration software. The application realizes the difference calibration quantity function value by identifying the requirement of difference calibration and by means of automatic code without modifying the model and increasing the calibration quantity, can greatly improve the development and calibration efficiency, avoids meaningless repeated model modification, and improves software reliability.
[0019] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the application, nor is it used to limit the scope of the application. Other features of the application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the application, the drawings needed in the embodiment description will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.
[0021] Figure 1 A flowchart of a difference calibration method of an engine controller provided for the first embodiment of the application;
[0022] Figure 2 A flowchart of a difference calibration method of an engine controller provided for the second embodiment of the application;
[0023] Figure 3 A flowchart of first calibration provided for the second embodiment of the application;
[0024] Figure 4 A flowchart of difference calibration provided for the second embodiment of the application;
[0025] Figure 5 A structural schematic diagram of a difference calibration device of an engine controller provided for the third embodiment of the application;
[0026] Figure 6 A structural schematic diagram of an electronic device that can be used to implement the embodiments of the application is shown. DETAILED DESCRIPTION
[0027] In the following, the technical solutions in the embodiments of the present application will be described clearly and completely with reference to the drawings in the embodiments of the present application, so that those skilled in the art can better understand the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work should fall within the scope of protection of the present application.
[0028] It should be noted that the terms "first", "second" and the like in the specification and claims of the present application and the above-described drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or a chronological sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0029] Embodiment one
[0030] Figure 1 A flowchart of a differential calibration method of an engine controller provided by the first embodiment of the present application. The present embodiment can be applied to the case of efficiently differentially calibrating a plurality of engine controllers when the calibration data version of the engine controller is updated. The method can be performed by a differential calibration device of the engine controller, which can be realized in the form of hardware and / or software. The device can be configured in an electronic device, for example, a diagnostic programming device that communicates and interacts with the engine. As shown in the figure, the method comprises: Figure 1
[0031] S110, determine whether the calibration data version corresponding to the controller is updated, and determine the added differential information of the controller in the case of updating the calibration data version.
[0032] Wherein, the controller can be an engine controller (ECU) of a vehicle, and the calibration data version can be understood as different versions of calibration data. Different versions of calibration data are usually different. In order to effectively control the engine, it is necessary to calibrate and update the calibration data of the ECU so as to be consistent with the latest calibration data version.
[0033] The controller includes a main controller and a sub-controller, the main ECU as the core of the control system, responsible for collecting the key driving intention signals of the driver (such as the position of the accelerator pedal, the position of the brake pedal, etc.), calculating, and synchronizing these information to the sub-ECU through CAN (Controller Area Network) communication. At the same time, the main ECU and the sub-ECU each collect and calculate other information required for engine operation (such as camshaft phase, engine speed, etc.), and control their respective engine cylinder groups (BANK). In this way, the main ECU and the sub-ECU work together to control the normal operation of the engine.
[0034] In the embodiment of the present application, determining whether the calibration data version corresponding to the controller is updated comprises: determining whether the calibration data version is updated by identifying the calibration data version number in the calibration database corresponding to the controller.
[0035] Specifically, the version number of the calibration data (such as DCM / HEX file and A2L file) in the calibration database can be identified by the tool in the database, and whether the calibration data version is updated is determined according to the version number.
[0036] For example, the version number corresponding to the calibration data version is compared with the version number of the calibration data version used by the controller during the last calibration, and if the comparison result is the same, it means that the calibration data version has not been updated, otherwise it means that the calibration data version has been updated.
[0037] On the basis of the above technical solution, in the case that the calibration data version is updated, determining the added difference information of the controller comprises: obtaining the added difference information by comparing the calibration data corresponding to the calibration data version and the calibrated data corresponding to the controller.
[0038] Specifically, when the calibration data version is updated, it means that the calibration data value in the controller needs to be recalibrated to realize the update. In order to determine which calibration data needs to be recalibrated, the calibration data corresponding to the calibration data version and the calibrated data of the controller can be compared, and the added difference information is determined according to the comparison result.
[0039] For example, the value of calibration quantity X in the controller is currently A, and the value of calibration quantity X in the calibration database is B, then the calibration quantity X and the value of calibration quantity X can be used as the added difference value, and the added difference value is used to represent the information corresponding to the same calibration quantity with different calibration values.
[0040] S120, determining the difference calibration quantity of the controller based on the added difference information, generating target code according to the difference calibration quantity, and inserting the target code into the software integration baseline to obtain target calibration software.
[0041] It can be understood that each calibration quantity corresponds to a corresponding calibration quantity value, and the difference calibration quantity can be the same calibration quantity with different calibration quantity values in different calibration data versions and different controllers. Continuing to illustrate the foregoing example, the value of calibration quantity X in the main controller is currently A1, the value of calibration quantity X in the secondary controller is currently A2, and the value of calibration quantity X in the calibration database is B1 and B2, so calibration quantity X can be a difference calibration quantity. The number of difference calibration quantities is one or more.
[0042] Wherein, the target code refers to the software code corresponding to the difference calibration quantity, and the software integration baseline refers to the baseline established in the entire software project integration stage, including all software components, modules, configuration files, etc. that need to be integrated, and the software integration baseline can be software used for calibration of the controller.
[0043] Specifically, the target code is generated according to the difference calibration quantity, and the target code reflects the difference calibration quantity and the calibration value of the difference calibration quantity in different controllers, and then the target code is inserted into the software integration baseline to obtain target calibration software.
[0044] S130, based on the target calibration software, calibrating the difference calibration quantity of the main controller and the secondary controller.
[0045] In this embodiment, calibrating the difference calibration quantity of the main controller and the secondary controller based on the target calibration software includes downloading the target calibration software to the main controller and the secondary controller, so that the calibration data value of the difference calibration quantity in the main controller and the secondary controller is consistent with the calibration data version.
[0046] Specifically, the main controller and the secondary controller of the vehicle can be communicated through a diagnostic programming device, and then the target software is downloaded to the main controller and the secondary controller to realize differential calibration, that is, the same calibration quantity has different values in different controllers.
[0047] The technical scheme of the embodiment of the present application determines whether the calibration data version corresponding to the controller is updated, determines the added difference information of the controller in the case that the calibration data version is updated, wherein the controller comprises a main controller and a secondary controller; determines the difference calibration quantity of the controller based on the added difference information, generates target code according to the difference calibration quantity, and inserts the target code into a software integration baseline to obtain target calibration software; and calibrates the difference calibration quantity of the main controller and the secondary controller based on the target calibration software. The present application realizes the difference calibration quantity function value by identifying the requirement of difference calibration and by means of automatic code without modifying the model and increasing the calibration quantity, can greatly improve the development and calibration efficiency, avoids meaningless repeated model modification, and improves software reliability.
[0048] Embodiment two
[0049] Figure 2 A flowchart of a difference calibration method of an engine controller provided by the second embodiment of the present application, the present embodiment is a preferred embodiment between the above-mentioned embodiments, and the present embodiment further refines the process of generating target code according to the difference calibration quantity and inserting the target code into a software integration baseline to obtain target calibration software. As shown in Figure 2 , the method comprises:
[0050] S210, determining whether the calibration data version corresponding to the controller is updated, and determining the added difference information of the controller in the case that the calibration data version is updated.
[0051] S220, extracting the difference data to obtain at least one difference calibration quantity corresponding to the difference data; and forming a difference calibration quantity list based on at least one difference calibration quantity.
[0052] The difference calibration quantity comprises a calibration quantity name, a data type, a dimension, and a calibration quantity data value, the data type can be a Boolean type, an integer type, a floating point type, etc., and the dimension of the difference calibration quantity comprises a one-dimensional array and / or a two-dimensional array.
[0053] Specifically, the calibration quantity name, the data type, the dimension, and the calibration quantity data value of the difference are extracted to form a calibration quantity difference list (list).
[0054] S230, declaring each difference calibration quantity in the difference calibration quantity list as a variable, and determining the main controller calibration data value and the secondary controller calibration data value corresponding to the difference calibration quantity.
[0055] S240, respectively assigning values to the variable based on the main controller calibration data value and the secondary controller calibration data value to generate the target code.
[0056] Wherein, the master controller calibration data and the slave controller calibration data are different.
[0057] Specifically, each difference calibration quantity in the difference list is processed:
[0058] If the dimension of the difference calibration quantity is 1, the calibration quantity category is a normal calibration quantity, the master ECU is identified, and the calibration quantity is declared as a variable and assigned a value of the master ECU data; the slave ECU is identified, and the calibration quantity is declared as a variable and assigned a value of the slave ECU data.
[0059] The declaration format is: extern data type calibration quantity name.
[0060] The assignment format is: calibration quantity name = calibration quantity data value.
[0061] That is, the calibration quantity is declared as a variable, and the master controller calibration data value corresponding to the master ECU and the slave controller calibration data value corresponding to the slave ECU are determined. Then the amplitude is performed, so that in the subsequent controller calibration, if the master ECU is identified, the calibration is performed based on the master controller calibration data value, and if the slave ECU is identified, the calibration is performed based on the slave controller calibration data value, realizing the differential calibration of the same calibration quantity.
[0062] If the dimension is not 1, the calibration quantity category is a one-dimensional / two-dimensional array
[0063] The master ECU is identified, and the calibration quantity is declared as a variable array and assigned a value of the master ECU data element by element.
[0064] The slave ECU is identified, and the calibration quantity is declared as a variable array and assigned a value of the slave ECU data element by element.
[0065] S250, determine the code integration point of the software integration baseline, copy the target code to the code integration point to obtain a to-be-used code.
[0066] S260, compile and verify the to-be-used code, and obtain the target calibration software after verification.
[0067] First, it is necessary to determine which position or file in the software integration baseline to integrate the target code, and copy the target code to the corresponding code integration point in the software integration baseline. After integrating the code, compile and build to verify whether the integration is successful, and check the compiler output to ensure that there is no error or warning related to the newly integrated code. The target calibration software is obtained after verification.
[0068] S270, calibrate the master controller and the slave controller based on the target calibration software.
[0069] This invention identifies the need for differentiated calibration and implements differentiated calibration function values through automatic code without modifying the model or increasing the calibration value. This greatly improves development and calibration efficiency, achieves seamless integration between model development and differentiated calibration processes, avoids meaningless repeated model modifications, and improves software reliability.
[0070] like Figure 3 The diagram shown is a flowchart of the initial calibration provided in Embodiment 2 of the present invention. Figure 4 This is a flowchart of the differential calibration provided in Embodiment 2 of the present invention.
[0071] refer to Figure 3 The initial calibration involves processes such as strategy design, model building, code generation, system integration, testing and verification, and functional calibration. Strategy design mainly involves determining how the ECU controls the engine to achieve specific performance targets. Model building is the foundation of ECU control calculations. The engine model describes the engine's response characteristics and operating laws under different operating conditions, including dynamic response, heat transfer characteristics, combustion process, and airflow characteristics. After determining the control strategy and building the model, these strategies and models need to be converted into executable code. This process involves programming and compilation, ultimately generating code that can run on the ECU. After code generation, this code needs to be integrated into the ECU. This typically involves burning the code into the ECU's memory and performing corresponding configuration and settings. System integration also needs to ensure the correct connection and communication between the ECU and other vehicle systems. Testing and verification involves comprehensive testing of the integrated ECU system to ensure that its functions and performance meet design requirements. This includes unit testing, integration testing, and system testing, verifying the ECU's performance and reliability by simulating various operating conditions and environments. Functional calibration is a key step in the calibration process. It specifically refers to optimizing the control parameters in the ECU after determining the engine, vehicle, control algorithm, and peripheral devices, in order to obtain satisfactory vehicle performance and meet customer requirements and standards.
[0072] refer to Figure 4 In this embodiment, when the calibration data version is updated, code can be directly generated based on the differential calibration data, and the original code can be modified to achieve differential calibration, thereby avoiding meaningless repeated model modifications and improving software reliability.
[0073] The technical solution of this invention involves determining whether the calibration data version corresponding to the controller is updated. If the calibration data version is updated, the invention determines the newly added difference information of the controller, wherein the controller includes a main controller and a secondary controller. Based on the newly added difference information, the invention determines the difference calibration quantity of the controller, generates target code based on the difference calibration quantity, and inserts the target code into the software integration baseline to obtain target calibration software. Based on the target calibration software, the invention calibrates the main controller and the secondary controller using the difference calibration quantity. This invention, by identifying the need for differentiated calibration, implements the differentiated calibration quantity function value through automatic code, without modifying the model or increasing the calibration quantity. This significantly improves development and calibration efficiency, avoids meaningless repeated model modifications, and enhances software reliability.
[0074] Example 3
[0075] Figure 5 This is a schematic diagram of the structure of a differential calibration device for an engine controller provided in Embodiment 3 of the present invention. Figure 5 As shown, the device includes:
[0076] The difference information determination module 310 is used to determine whether the calibration data version corresponding to the controller has been updated. If the calibration data version has been updated, the module determines the new difference information of the controller. The controller includes a main controller and a sub-controller.
[0077] The calibration software generation module 320 determines the difference calibration amount of the controller based on the newly added difference information, generates target code according to the difference calibration amount, and inserts the target code into the software integration baseline to obtain target calibration software;
[0078] The difference calibration module 330 is used to calibrate the difference calibration amount of the main controller and the sub-controller based on the target calibration software.
[0079] The technical solution of this invention involves determining whether the calibration data version corresponding to the controller is updated. If the calibration data version is updated, the invention determines the newly added difference information of the controller, wherein the controller includes a main controller and a secondary controller. Based on the newly added difference information, the invention determines the difference calibration quantity of the controller, generates target code based on the difference calibration quantity, and inserts the target code into the software integration baseline to obtain target calibration software. Based on the target calibration software, the invention calibrates the main controller and the secondary controller using the difference calibration quantity. This invention, by identifying the need for differentiated calibration, implements the differentiated calibration quantity function value through automatic code, without modifying the model or increasing the calibration quantity. This significantly improves development and calibration efficiency, avoids meaningless repeated model modifications, and enhances software reliability.
[0080] Optionally, the difference information determination module 310 includes:
[0081] The identification unit is used to determine whether the calibration data version has been updated by identifying the calibration data version number in the calibration database corresponding to the controller.
[0082] Optionally, the difference information determination module 310 includes:
[0083] The comparison unit is used to obtain the new difference information by comparing the calibration data corresponding to the calibration data version with the calibration data corresponding to the controller.
[0084] Optionally, the newly added difference information includes difference data, and the calibration software generation module 320 includes:
[0085] An extraction unit is used to extract and process the difference data to obtain at least one difference standard corresponding to the difference data, wherein the difference standard includes a standard name, data type, dimension, and standard data value;
[0086] A list of differential scaling measures is formed based on at least one of the differential scaling measures.
[0087] Optionally, the calibration software generation module 320 includes:
[0088] A generation unit is used to declare each difference calibration value in the difference calibration value list as a variable, and determine the main controller calibration data value and the slave controller calibration data value corresponding to the difference calibration value; wherein the main controller calibration data value and the slave controller calibration data value are different;
[0089] Based on the calibration data values of the main controller and the secondary controller, values are assigned to the variables to generate the target code.
[0090] Optionally, the dimensions of the difference scaling quantification may include a one-dimensional array and / or a two-dimensional array.
[0091] Optionally, inserting the target code into the software integration baseline to obtain the target calibration software includes:
[0092] Determine the code integration point of the software integration baseline, copy the target code to the code integration point, and obtain the substitute code;
[0093] The code to be used is compiled and verified, and the target calibration software is obtained after the verification is successful.
[0094] Optionally, the difference calibration module 330 is specifically used to download the target calibration software to the main controller and the sub-controller, so that the calibration data value of the difference calibration quantity in the main controller and the sub-controller is consistent with the calibration data version.
[0095] The engine controller differential calibration device provided in this embodiment of the invention can execute the engine controller differential calibration method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0096] Example 4
[0097] Figure 6 A schematic diagram of an electronic device that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0098] like Figure 6As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0099] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0100] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as the differential calibration method for an engine controller.
[0101] In some embodiments, the engine controller differential calibration method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or mounted on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the engine controller differential calibration method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the engine controller differential calibration method by any other suitable means (e.g., by means of firmware).
[0102] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0103] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0104] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0105] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0106] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0107] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0108] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0109] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A differential calibration method for an engine controller, characterized in that, include: Determine whether the calibration data version corresponding to the controller has been updated. If the calibration data version has been updated, determine the new difference information of the controller. The controller includes a main controller and a sub-controller. Based on the newly added difference information, the difference calibration value of the controller is determined, a target code is generated according to the difference calibration value, and the target code is inserted into the software integration baseline to obtain the target calibration software; The difference calibration amount is calibrated for the main controller and the secondary controller based on the target calibration software. The newly added difference information includes difference data, and the step of determining the difference calibrator of the controller based on the newly added difference information includes: The difference data is extracted and processed to obtain at least one difference standardization value corresponding to the difference data, wherein the difference standardization value includes standardization value name, data type, dimension and standardization value; A list of differential scaling measures is formed based on at least one of the differential scaling measures described above; The step of generating target code based on the difference standard includes: For each difference calibration value in the difference calibration value list, the difference calibration value is declared as a variable, and the corresponding main controller calibration data value and slave controller calibration data value are determined; wherein, the main controller calibration data value and the slave controller calibration data value are different; Based on the calibration data values of the main controller and the slave controller, values are assigned to the variables to generate the target code; The target code refers to the software code corresponding to the difference standardization, and the software integration baseline refers to the baseline established during the integration phase of the entire software project, which includes all software components, modules and configuration files that need to be integrated.
2. The method according to claim 1, characterized in that, Determining whether the calibration data version corresponding to the controller has been updated includes: By identifying the calibration data version number in the calibration database corresponding to the controller, it can be determined whether the calibration data version has been updated.
3. The method according to claim 1, characterized in that, When the calibration data version is updated, determining the new difference information of the controller includes: The newly added difference information is obtained by comparing the calibration data corresponding to the calibration data version with the calibrated data corresponding to the controller.
4. The method according to claim 1, characterized in that, Also includes: The dimensions of the differential calibration quantification include one-dimensional arrays and / or two-dimensional arrays.
5. The method according to claim 1, characterized in that, The step of inserting the target code into the software integration baseline to obtain the target calibration software includes: Determine the code integration point of the software integration baseline, copy the target code to the code integration point, and obtain the code to be used; The code to be used is compiled and verified, and the target calibration software is obtained after the verification is successful.
6. The method according to claim 1, characterized in that, The calibration of the difference calibration quantity between the main controller and the slave controller based on the target calibration software includes: The target calibration software is downloaded to the main controller and the sub-controller so that the calibration data values of the difference calibration quantity in the main controller and the sub-controller are consistent with the calibration data version.
7. A differential calibration device for an engine controller, characterized in that, include: The difference information determination module is used to determine whether the calibration data version corresponding to the controller has been updated. If the calibration data version has been updated, the module determines the new difference information of the controller. The controller includes a main controller and a sub-controller. The calibration software generation module determines the difference calibration amount of the controller based on the newly added difference information, generates target code according to the difference calibration amount, and inserts the target code into the software integration baseline to obtain the target calibration software; The difference calibration module is used to calibrate the difference calibration amount of the main controller and the sub-controller based on the target calibration software; The newly added difference information includes difference data, and the calibration software generation module includes an extraction unit, specifically used for: The difference data is extracted and processed to obtain at least one difference standardization value corresponding to the difference data, wherein the difference standardization value includes standardization value name, data type, dimension and standardization value; A list of differential scaling measures is formed based on at least one of the differential scaling measures described above; The calibration software generation module also includes a generation unit, specifically used for: For each difference calibration value in the difference calibration value list, the difference calibration value is declared as a variable, and the corresponding main controller calibration data value and slave controller calibration data value are determined; wherein, the main controller calibration data value and the slave controller calibration data value are different; Based on the calibration data values of the main controller and the slave controller, values are assigned to the variables to generate the target code; The target code refers to the software code corresponding to the difference standardization, and the software integration baseline refers to the baseline established during the integration phase of the entire software project, which includes all software components, modules and configuration files that need to be integrated.
8. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the differential calibration method for the engine controller according to any one of claims 1-6.
Citation Information
Patent Citations
Upgrading system and method of cold data for vehicle calibration
CN107509188A
Vehicle-mounted domain controller OTA software upgrading method and device, storage medium and terminal
CN111158714A