Upgrade control method and system, and storage medium

By integrating the receiving module, management module and upgrade module on the SoC platform, and using the upgrade serial number table to perform adaptive upgrade of the ECU, the problem of low ECU OTA upgrade efficiency is solved, and efficient and low-cost ECU upgrade is achieved.

WO2025179893A1PCT designated stage Publication Date: 2025-09-04CONTEMPORARY AMPEREX INTELLIGENCE TECHNOLOGY (SHANGHAI) LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/123987
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-29
Filing Date
2024-10-10
Publication Date
2025-09-04

AI Technical Summary

Technical Problem

In the prior art, the OTA upgrade efficiency of electronic control units (ECUs) is low, the R&D and time costs are high, and the ECUs of each vehicle manufacturer follow different UDS protocols, resulting in difficulty in code modification and debugging, and the upgrade process is complicated.

Method used

By integrating the receiving module, management module and upgrade module on the SoC platform, the upgrade serial number table is used to perform adaptive upgrade of the ECU, encapsulate the UDS protocol as a sub-service and define the serial number, adaptive UDS flushing is realized, and synchronous upgrade of multiple ECUs is supported.

Benefits of technology

It improves the upgrade efficiency of ECU, reduces R&D and time costs, and realizes flexible protocol adaptation and efficient OTA upgrades.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024123987_04092025_PF_FP_ABST
    Figure CN2024123987_04092025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are an upgrade control method and system, and a storage medium. The method comprises: a receiving module downloading from a server a configuration file for an electronic control unit of a vehicle, and sending to a management module an upgrade starting request corresponding to the configuration file, wherein the configuration file comprises an upgrade sequence number table corresponding to an upgrade protocol of the electronic control unit, the upgrade sequence number table comprises one or more sub-service sequence numbers, and the upgrade starting request carries the upgrade sequence number table; the management module sending the upgrade sequence number table to an upgrade module when determining that the vehicle meets an upgrade condition; and the upgrade module calling, on the basis of the upgrade sequence number table, one or more sub-services corresponding to the one or more sub-service sequence numbers, and executing the one or more sub-services.
Need to check novelty before this filing date? Find Prior Art

Description

Upgrade control method, system and storage medium

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to Chinese patent application No. 202410228128.7, filed on February 29, 2024, entitled “Upgrade Control Method, System and Storage Medium,” the entire contents of which are incorporated herein by reference. Technical Field

[0003] The present application relates to the field of software upgrade technology, and in particular to an upgrade control method, system and storage medium. Background Art

[0004] With the development and popularization of new energy vehicles, electronic control units (ECUs) are also moving towards intelligence. Currently, most ECUs support UDS (Unified Diagnostic Services) flashing. When combined with OTA (Over the Air) upgrade technology, flashing efficiency will be improved, creating greater economic value.

[0005] Over-the-air (OTA) is a technology that wirelessly downloads the latest code packages from the cloud and remotely updates the vehicle's electronic control units. The update process includes startup, monitoring, and activation. This update technology offers flexible time and location, rapid iteration, and cost savings.

[0006] The above statements are only used to provide background information related to the present application and do not necessarily constitute prior art.

[0007] Summary of the Invention

[0008] According to one aspect of the present application, an upgrade control method is provided, comprising: a receiving module downloading a configuration file for an electronic control unit of a vehicle from a server, and sending an upgrade start request corresponding to the configuration file to a management module, wherein the configuration file includes an upgrade serial number table corresponding to an upgrade protocol of the electronic control unit, the upgrade serial number table includes one or more sub-service serial numbers, and the upgrade start request carries the upgrade serial number table; the management module sends the upgrade serial number table to the upgrade module when determining that the vehicle meets the upgrade conditions; and the upgrade module calls one or more sub-services corresponding to the one or more sub-service serial numbers according to the upgrade serial number table, and executes the one or more sub-services.

[0009] In the technical solution of the embodiment of the present application, a configuration file for the electronic control unit of the vehicle is downloaded from the server through a receiving module, and an upgrade start request corresponding to the configuration file is sent to the management module, wherein the configuration file includes an upgrade serial number table corresponding to the upgrade protocol of the electronic control unit, the upgrade serial number table includes one or more sub-service serial numbers, the upgrade start request carries the upgrade serial number table, and the management module sends the upgrade serial number table to the upgrade module when it determines that the vehicle meets the upgrade conditions, and the upgrade module calls one or more sub-services corresponding to the one or more sub-service serial numbers according to the upgrade serial number table, and executes the one or more sub-services, thereby realizing the upgrade flashing of the ECU and improving the upgrade efficiency of the ECU.

[0010] In some embodiments, the upgrade control method further includes: before the receiving module downloads the configuration file from the server, encapsulating each of the one or more services included in the upgrade protocol into an interface function to form a sub-service; defining a function pointer for the interface function and assigning a sequence number to each sub-service; defining a unified structure and structure variables for each sub-service, the structure variables including the sequence number, input data, output data, and interface function of each sub-service, and binding and calling the sequence number, input data, output data, and interface function of each sub-service; combining the services in the upgrade protocol and the sequence numbers of the sub-services corresponding to each service to obtain an upgrade sequence number table corresponding to the upgrade protocol; and performing adaptation operations for different electronic control units using the sub-services corresponding to the corresponding upgrade sequence number table to obtain and store upgrade sequence number tables adapted for different electronic control units. In this way, after obtaining the upgrade sequence number table from the server, the upgrade module calls and executes one or more sub-services corresponding to the one or more sub-service sequence numbers in the upgrade sequence number table, thereby implementing the ECU upgrade. This can improve the efficiency of OTA upgrades and reduce R&D costs and time costs.

[0011] In some embodiments, the receiving module downloads a configuration file for a vehicle's electronic control unit from a server and sends an upgrade initiation request corresponding to the configuration file to the management module. This includes the following steps: after receiving an upgrade task request from the server, the receiving module downloads the configuration file based on the storage address of the configuration file sent by the server, generates an upgrade initiation request, and sends the upgrade initiation request to the management module. This achieves the purpose of the receiving module downloading the configuration file from the server and sending the upgrade initiation request corresponding to the configuration file to the management module, facilitating the execution of subsequent upgrade operations.

[0012] In some embodiments, when the management module determines that the vehicle meets the upgrade conditions, sending the upgrade sequence number table to the upgrade module includes: after receiving the upgrade initiation request, the management module parses the configuration file to obtain the upgrade conditions, determines whether the vehicle meets the upgrade conditions, and sends the upgrade sequence number table to the upgrade module if the vehicle meets the upgrade conditions. This achieves the purpose of the management module forwarding the upgrade sequence number table to the upgrade module, and because the upgrade sequence number table is sent to the upgrade module if the vehicle meets the upgrade conditions, security during the upgrade process can be improved.

[0013] In some embodiments, the upgrade module executing the one or more sub-services includes: the upgrade module sending upgrade data in a multiplexed mode to multiple electronic control units, so that the multiple electronic control units are upgraded, wherein the upgrade data corresponds to the one or more sub-services. This enables simultaneous upgrading of the multiple electronic control units and improves upgrade efficiency.

[0014] In some embodiments, the upgrade control method is an over-the-air (OTA) upgrade control method. Thus, the upgrade control method can be applied to the field of OTA upgrade technology to improve the efficiency of OTA upgrades.

[0015] According to another aspect of the present application, an upgrade control system is provided, comprising: a receiving module for downloading a configuration file for an electronic control unit of a vehicle from a server, and issuing an upgrade start request corresponding to the configuration file, wherein the configuration file includes an upgrade serial number table corresponding to an upgrade protocol of the electronic control unit, the upgrade serial number table includes one or more sub-service serial numbers, and the upgrade start request carries the upgrade serial number table; a management module for receiving the upgrade start request and issuing the upgrade serial number table when determining that the vehicle meets the upgrade conditions; and an upgrade module for receiving the upgrade serial number table from the management module, calling one or more sub-services corresponding to the one or more sub-service serial numbers according to the upgrade serial number table, and executing the one or more sub-services.

[0016] In the technical solution of the embodiment of the present application, a configuration file for the electronic control unit of the vehicle is downloaded from the server through a receiving module, and an upgrade start request corresponding to the configuration file is sent to the management module, wherein the configuration file includes an upgrade serial number table corresponding to the upgrade protocol of the electronic control unit, the upgrade serial number table includes one or more sub-service serial numbers, the upgrade start request carries the upgrade serial number table, and the management module sends the upgrade serial number table to the upgrade module when it determines that the vehicle meets the upgrade conditions, and the upgrade module calls one or more sub-services corresponding to the one or more sub-service serial numbers according to the upgrade serial number table, and executes the one or more sub-services, thereby realizing the upgrade flashing of the ECU and improving the upgrade efficiency of the ECU.

[0017] In some embodiments, the upgrade module is configured to: encapsulate each of one or more services included in the upgrade protocol into an interface function to form a sub-service; define function pointers for the interface functions and assign a sequence number to each sub-service; define a unified structure and structure variables for each sub-service, the structure variables including the sequence number, input data, output data, and interface function of each sub-service, and bind and call the sequence number, input data, output data, and interface function of each sub-service; combine the services in the upgrade protocol and the sequence numbers of the sub-services corresponding to each service to obtain an upgrade sequence number table corresponding to the upgrade protocol; and perform adaptation operations for different electronic control units using the sub-services corresponding to the corresponding upgrade sequence number table to obtain and store upgrade sequence number tables adapted for different electronic control units. In this way, after obtaining the upgrade sequence number table from the server, the upgrade module calls and executes one or more sub-services corresponding to the one or more sub-service sequence numbers in the upgrade sequence number table, thereby enabling the ECU to be upgraded. This can improve upgrade efficiency and reduce R&D costs and time.

[0018] In some embodiments, upon receiving an upgrade task request from a server, the receiving module is configured to download the configuration file based on the storage address of the configuration file issued by the server, generate an upgrade initiation request, and send the upgrade initiation request to the management module. This enables the receiving module to download the configuration file from the server and send the upgrade initiation request corresponding to the configuration file to the management module, facilitating subsequent upgrade operations.

[0019] In some embodiments, upon receiving the upgrade initiation request, the management module is configured to parse the configuration file to obtain upgrade conditions, determine whether the vehicle meets the upgrade conditions, and, if so, transmit the upgrade sequence number table to the upgrade module. This achieves the purpose of the management module forwarding the upgrade sequence number table to the upgrade module. Furthermore, since the upgrade sequence number table is transmitted to the upgrade module if the vehicle meets the upgrade conditions, security during the upgrade process can be improved.

[0020] In some embodiments, the upgrade module is configured to send upgrade data in a multiplexed mode to multiple electronic control units, thereby enabling the upgrade of the multiple electronic control units, wherein the upgrade data corresponds to the one or more sub-services. This enables simultaneous upgrades of the multiple electronic control units and improves upgrade efficiency.

[0021] In some embodiments, the upgrade control system is an over-the-air (OTA) upgrade control system, which can be applied to the field of OTA upgrade technology to improve the efficiency of OTA upgrades.

[0022] According to another aspect of the present application, an upgrade control system is provided, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute the aforementioned upgrade control method based on instructions stored in the memory. This can improve the efficiency of ECU upgrades.

[0023] According to another aspect of the present application, a vehicle is provided, comprising: the upgrade control system as described above, which can improve the upgrade efficiency of the ECU.

[0024] According to another aspect of the present application, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the upgrade control method described above is implemented, which can improve the upgrade efficiency of the ECU.

[0025] According to another aspect of the present application, a computer program is provided, comprising instructions, which, when executed by a processor, cause the processor to perform the upgrade control method as described above, thereby improving the upgrade efficiency of the ECU.

[0026] Other features and advantages of the present application will become apparent from the following detailed description of exemplary embodiments of the present application with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] The accompanying drawings, which constitute a part of the specification, illustrate embodiments of the present application and, together with the description, serve to explain the principles of the present application.

[0028] The present application can be more clearly understood from the following detailed description with reference to the accompanying drawings, in which:

[0029] FIG1 is a block diagram illustrating a system-on-chip platform according to some embodiments of the present application;

[0030] FIG2 is a flow chart illustrating an upgrade control method according to some embodiments of the present application;

[0031] FIG3 is a flow chart illustrating an upgrade control method according to other embodiments of the present application;

[0032] FIG4 is a structural block diagram illustrating an upgrade control system according to some embodiments of the present application;

[0033] FIG5 is a structural block diagram illustrating an upgrade control system according to other embodiments of the present application;

[0034] FIG6 is a structural block diagram illustrating an upgrade control system according to other embodiments of the present application.

[0035] It should be understood that the size of each part shown in the drawings is not drawn according to the actual proportional relationship.In addition, the same or similar reference numerals represent the same or similar components. DETAILED DESCRIPTION

[0036] Various exemplary embodiments of the present application will now be described in detail with reference to the accompanying drawings. The description of the exemplary embodiments is merely illustrative and is in no way intended to limit the present application and its application or use. The present application can be implemented in many different forms and is not limited to the embodiments described herein. These embodiments are provided to make the present application thorough and complete and to fully convey the scope of the present application to those skilled in the art. It should be noted that unless otherwise specifically stated, the relative arrangement of the parts and steps, the composition of the materials, the numerical expressions, and the numerical values ​​set forth in these embodiments should be interpreted as being merely exemplary, rather than as limiting.

[0037] The terms "first," "second," and similar terms used in this application do not indicate any order, quantity, or importance, but are merely used to distinguish different parts. Terms such as "include" or "comprises" mean that the elements preceding the term encompass the elements listed after the term, and do not exclude the possibility of also encompassing other elements. Terms such as "upper," "lower," "left," and "right" are only used to indicate relative positional relationships. When the absolute position of the object being described changes, the relative positional relationship may also change accordingly.

[0038] In this application, when a specific device is described as being located between a first device and a second device, an intervening device may or may not be present between the specific device and the first device or the second device. When a specific device is described as being connected to another device, the specific device may be directly connected to the other device without an intervening device, or may be not directly connected to the other device but with an intervening device.

[0039] All terms (including technical or scientific terms) used in this application have the same meaning as those understood by ordinary technicians in the field to which this application belongs, unless otherwise specifically defined. It should also be understood that terms defined in general dictionaries should be interpreted as having the meaning consistent with their meaning in the context of the relevant technology, and should not be interpreted in an idealized or highly formal sense, unless explicitly defined herein.

[0040] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered part of the specification.

[0041] In related technologies, most OEMs have the ability to perform OTA updates on their entire vehicles. However, since OTA updates are led by OEMs, each OEM may modify the flashing specifications based on its own understanding of the UDS protocol. Each OEM's vehicle ECUs adhere to their own unique UDS flashing specifications, resulting in different UDS flashing specifications for ECUs in vehicles from different manufacturers. This forces each component supplier to adapt their ECUs to each OEM's UDS protocol to ensure compliance with the unified UDS protocol specifications of each OEM.

[0042] For component suppliers, they will face the dilemma of re-modifying the code, debugging, and testing, which will lead to repeated R&D and time investment.

[0043] In related technologies, OTA (Over-the-Air) technology has a relatively low level of integration, requiring multiple, lengthy upgrades. Without a central control platform, logical functions like system upgrades, rollbacks, and activations become chaotic and complex. This results in relatively low ECU upgrade efficiency in related technologies.

[0044] In view of this, an embodiment of the present application provides an upgrade control method to improve the upgrade efficiency of an ECU.

[0045] FIG1 is a block diagram illustrating a system-on-chip platform according to some embodiments of the present application.

[0046] As shown in FIG1 , a SoC (System on Chip) platform may be provided in a controller of a vehicle (eg, an electric vehicle). The SoC platform includes an A-core (A Core) 110 and an M-core (M Core) 120 .

[0047] Core A 110 includes a receiving module 111, a management module 112, an upgrade module 113, and a gateway 114. The receiving module can also be referred to as the OTA_Client module, the management module can also be referred to as the Ucm_Master module, and the upgrade module can also be referred to as the Ucm_Client module. Gateway 114 is communicatively connected to receiving module 111, management module 112, and TBOX (Telematics Box) 20. Receiving module 111 is communicatively connected to management module 112. Management module 112 is communicatively connected to upgrade module 113.

[0048] The M core 120 includes a vehicle control unit (VCU) 122. The VCU is electrically connected to multiple controller area network (CAN) buses, each of which is electrically connected to multiple electronic control units (ECUs). For example, FIG1 shows ECU 1, ECU 2, ECUm, ECUm+1, and so on, where m is a positive integer. Each CAN bus corresponds to a control domain. For example, CAN bus 1 corresponds to control domain 1, and CAN bus N corresponds to control domain N, where N is a positive integer.

[0049] In the above embodiment, a highly integrated OTA upgrade platform is implemented. The receiving module 111, management module 112, upgrade module 113, and gateway 114 are integrated on the A core of the same SoC platform. The VCU is deployed on the M core. This centralized deployment and resource allocation enable a highly integrated OTA platform.

[0050] FIG2 is a flow chart illustrating an upgrade control method according to some embodiments of the present application. As shown in FIG2 , the method includes steps S202 to S206 .

[0051] In step S202, the receiving module downloads a configuration file for the vehicle's electronic control unit from a server and sends an upgrade initiation request corresponding to the configuration file to the management module. The configuration file includes an upgrade sequence number table corresponding to the upgrade protocol of the electronic control unit, the upgrade sequence number table including one or more sub-service sequence numbers, and the upgrade initiation request carries the upgrade sequence number table. For example, the server may include a cloud server. For example, the upgrade protocol may include a unified diagnostic service protocol.

[0052] In some embodiments, step S202 includes: after receiving the upgrade task request from the server, the receiving module downloads the configuration file based on the storage address of the configuration file issued by the server, generates an upgrade initiation request, and sends the upgrade initiation request to the management module. This achieves the purpose of the receiving module downloading the configuration file from the server and sending the upgrade initiation request corresponding to the configuration file to the management module, facilitating the execution of subsequent upgrade operations.

[0053] In step S204, when the management module determines that the vehicle meets the upgrade conditions, the upgrade serial number table is sent to the upgrade module.

[0054] In some embodiments, step S204 includes: upon receiving the upgrade initiation request, the management module parses the configuration file to obtain upgrade conditions, determines whether the vehicle meets the upgrade conditions, and transmits the upgrade sequence number table to the upgrade module if the vehicle meets the upgrade conditions. This achieves the purpose of the management module forwarding the upgrade sequence number table to the upgrade module. Furthermore, since the upgrade sequence number table is transmitted to the upgrade module if the vehicle meets the upgrade conditions, security during the upgrade process can be improved.

[0055] In some embodiments, the configuration file includes not only the upgrade serial number table but also the ECU type and upgrade conditions.

[0056] In some embodiments, determining whether the vehicle meets the upgrade conditions includes determining whether the vehicle's scenario parameters meet the upgrade conditions.

[0057] In some embodiments, the scenario parameters include at least one of a speed of the vehicle and a battery state of charge of the vehicle.

[0058] For example, taking the speed of the vehicle as an example, the upgrade condition is that the speed of the vehicle is less than a speed threshold (for example, 3 km / h (kilometers / hour)). If the actual speed of the vehicle is less than the speed threshold, it is determined that the scene parameters of the vehicle meet the upgrade conditions (that is, the vehicle meets the upgrade conditions). Therefore, the upgrade serial number table can be sent to the upgrade module so that the upgrade module performs OTA upgrade based on the upgrade serial number table.

[0059] It should be noted that the above scene parameters are only exemplary, and those skilled in the art will appreciate that other types of scene parameters may also be set. The scope of this application is not limited to the specific types of scene parameters described herein.

[0060] In step S206, the upgrade module calls one or more sub-services corresponding to the one or more sub-service serial numbers according to the upgrade serial number table, and executes the one or more sub-services.

[0061] Here, the sub-service can also be called an atomic service, which is a divisible, independent service unit applicable to different upgrade protocols.

[0062] Thus, an upgrade control method according to some embodiments of the present application is provided. In this method, a configuration file for a vehicle's electronic control unit is downloaded from a server via a receiving module, and an upgrade initiation request corresponding to the configuration file is sent to a management module. The configuration file includes an upgrade sequence number table corresponding to the upgrade protocol of the electronic control unit, and the upgrade sequence number table includes one or more sub-service sequence numbers. The upgrade initiation request carries the upgrade sequence number table. If the management module determines that the vehicle meets the upgrade conditions, the upgrade sequence number table is sent to the upgrade module. The upgrade module, based on the upgrade sequence number table, calls one or more sub-services corresponding to the one or more sub-service sequence numbers and executes the one or more sub-services. This achieves the upgrade of the ECU and improves the upgrade efficiency of the ECU.

[0063] In the integrated adaptive OTA upgrade technology, adaptation refers to the adaptation to the upgrade scenario and upgrade protocol.

[0064] Adaptation of upgrade scenarios is a method proposed to effectively solve the adaptive perception of upgrade objects and upgrade conditions.

[0065] In some embodiments, ECUs to be upgraded can be categorized into various types and their upgrade conditions can be written into a configuration file. For example, a JSON (JavaScript Object Notation) file is used to store configuration data. When issuing an upgrade task, the cloud sends the address where this configuration file is stored. The receiving module downloads the configuration file from the cloud, for example, using HTTP or MQTT (Message Queuing Telemetry Transport) protocols, and saves it. Upon receiving the upgrade initiation request from the receiving module, the management module parses the task configuration file to obtain the upgrade task path, name, and upgrade conditions. The configuration file includes the type and conditions of the ECUs to be upgraded, as well as an upgrade sequence number table generated based on the ECUs to be upgraded. Based on the upgrade scenario type and conditions, the management module invokes its own computing service, obtains the results, and then decides whether to upgrade. If the management module determines that the vehicle meets the upgrade conditions, it sends the upgrade sequence number table to the upgrade module, instructing it to perform the upgrade. If the management module determines that the upgrade is not to be performed, it sends the upgrade result to the cloud via the gateway.

[0066] The upgrade module can flash ECUs serially or in parallel based on the upgrade sequence table (as the upgrade strategy). The management module monitors the upgrade process, obtains the upgrade results, and sends them to the cloud via the gateway. This achieves a closed-loop upgrade on the integrated platform.

[0067] Furthermore, the adaptation of the upgrade protocol is to solve the problem that the UDS protocols supported by different ECUs may be different. If you simply collect and list the UDS protocols of various host manufacturers, and then implement them in code, although this can achieve support for each UDS protocol, if the code is written in advance, the maintenance of the code in the later stage will become very cumbersome. However, in some embodiments of the present application, the UDS protocol is disassembled into different steps by using a configuration file, and each step is further split down to a specific SID (Service Identifier) ​​service. Label them and arrange them in a certain order to form a UDS protocol table (i.e., a serial number table), which is expressed in the format of a JSON file.

[0068] The management module will parse the JSON file, and then the upgrade module will parameterize the content in the UDS protocol table, call the function interface and pass the parameters, and execute the corresponding SID service to achieve the purpose of adaptive UDS flashing.

[0069] The inventors of this application discovered that, in related technologies, although all ECUs adhere to the same UDS flashing specifications during vehicle development, in practice, different ECU developers may have different understandings and implementations of these specifications. Furthermore, manual code modification is still required when modifications are needed to comply with other UDS flashing specifications. This results in low OTA upgrade efficiency and high R&D and time costs.

[0070] In response to the above technical problems and in combination with the current OTA upgrade situation, this application provides upgrade control methods of other embodiments to improve the efficiency of OTA upgrades and reduce R&D costs and time costs.

[0071] FIG3 is a flow chart illustrating an upgrade control method according to other embodiments of the present application. This method can be executed before the receiving module downloads the configuration file from the server. For example, this method can be executed by the upgrade module. As shown in FIG3 , the method includes steps S302 to S310.

[0072] In step S302, each of the one or more services included in the upgrade protocol is encapsulated into an interface function to form a sub-service.

[0073] For example, the upgrade protocol includes the unified diagnostic service protocol. For example, the UDS protocol consists of many services. The upgrade module can encapsulate each service into different interface functions to form sub-services, thus discretizing the UDS protocol.

[0074] In step S304, a function pointer is defined for the interface function, and a sequence number is assigned to each sub-service.

[0075] Here, we standardize the interface functions, define function pointers, and assign serial numbers to each sub-service. This standardizes sub-services and facilitates unified calling.

[0076] In step S306, a unified structure and structure variables are defined for each sub-service. The structure variables include the serial number, input data, output data and interface function of each sub-service. The serial number, input data, output data and interface function of each sub-service are bound and called.

[0077] In this step, the sub-service registration is implemented. That is, the structure and structure variables are defined, and the serial number, input data, output data and interface function of each sub-service are bound.

[0078] In step S308, based on the services in the upgrade agreement and the serial numbers of the sub-services corresponding to each service, an upgrade serial number table corresponding to the upgrade agreement is obtained. For example, a sequence combination is performed on each specific unified diagnostic service agreement to obtain an upgrade serial number table corresponding to the specific unified diagnostic service agreement.

[0079] In this step, the upgrade protocol is sequentially combined to obtain a sequence number table. In the actual operation process, it can be executed in the order in the sequence number table to achieve the purpose of implementing the upgrade protocol. This achieves the purpose of combining the flashing protocol.

[0080] In step S310, for different electronic control units, adaptation operations are performed using the sub-services corresponding to the corresponding upgrade sequence number tables to obtain and store upgrade sequence number tables adapted to the different electronic control units.

[0081] In this way, the flashing protocol can be adapted. According to different ECUs, the flashing protocol is adapted to achieve the desired flashing result, and the upgrade serial number table corresponding to the upgrade protocol is obtained and stored.

[0082] Thus, an upgrade control method according to other embodiments of the present application is provided. The method includes: encapsulating each of one or more services included in the upgrade protocol into an interface function to form a sub-service; defining a function pointer for the interface function and assigning a sequence number to each sub-service; defining a unified structure and structure variables for each sub-service, the structure variables including the sequence number, input data, output data, and interface function of each sub-service; binding and calling the sequence number, input data, output data, and interface function of each sub-service; combining the services in the upgrade protocol and the sequence numbers of the sub-services corresponding to each service to obtain an upgrade sequence number table corresponding to the upgrade protocol; and adapting the sub-services corresponding to the corresponding upgrade sequence number table for different electronic control units to obtain and store upgrade sequence number tables adapted for different electronic control units. In this way, after obtaining the upgrade sequence number table from the server, the upgrade module calls and executes one or more sub-services corresponding to the one or more sub-service sequence numbers in the upgrade sequence number table, thereby enabling the ECU to be upgraded. This can improve the efficiency of OTA upgrades and reduce R&D costs and time costs.

[0083] In some embodiments of the present application, after step S310, the upgrade module reads the upgrade serial number table of the ECU from the server and then calls a sub-service based on the serial number in the upgrade serial number table. Each service implements a different function, and after being combined, it ultimately implements the flash specification function. This achieves the purpose of the platform's adaptive flash protocol. When the ECU is replaced, the platform does not need to modify the code anymore; it only needs to re-adapt the upgrade serial number table to achieve the adaptive requirements.

[0084] Therefore, in some embodiments of the present application, a discrete combination of UDS protocols is implemented on the OTA platform to complete functional debugging. After training, joint debugging, and adaptation of all ECUs, a UDS sub-service serial number table will be obtained. When the cloud needs to upgrade the ECU, the upgrade serial number table is included in the JSON file in the upgrade task. After receiving the task, the OTA platform management module parses the configuration file. Once the upgrade conditions are met, the upgrade module calls and executes the UDS sub-service at a certain periodic time, thereby achieving the purpose of upgrading and flashing the ECU.

[0085] The above-mentioned method of the embodiment of the present application can improve the efficiency of the upgrade, is not restricted by time and location, and does not require human intervention. Using the upgrade control method disclosed in this application, it is possible to flexibly support and adapt to the different UDS protocols of various vehicle manufacturers, thereby reducing the R&D investment in protocol adaptation and reducing R&D costs and time costs.

[0086] In some embodiments, the upgrade module executing the one or more sub-services includes: the upgrade module sending upgrade data in a multiplexed mode to multiple electronic control units to enable the multiple electronic control units to be upgraded, wherein the upgrade data corresponds to the one or more sub-services. This enables the simultaneous upgrade of multiple electronic control units and improves the efficiency of OTA upgrades.

[0087] Some embodiments of the present application can realize a highly integrated OTA technology platform that can support a variety of different upgrade methods, such as upgrading the SOC's App (Application) and upgrading the ECUs under various gateways; it can realize a highly universal OTA technology platform that can adaptively provide upgrade services for ECUs that support different UDS flashing specifications, and support upgrade monitoring, rollback after upgrade failure, and other functions.

[0088] The above-mentioned method in the embodiment of the present application can realize an OTA upgrade technology with a relatively high degree of integration, and can realize adaptation to various upgrade protocols, and deploy management modules and upgrade modules for upgrade on a platform, wherein the management module, as a decision-making center, can realize file management, configuration management, version maintenance, vehicle status management, etc., so as to decide whether to upgrade. The upgrade module, as the executor of the OTA upgrade, creates several threads, each of which can complete the upgrade work independently. Each thread created by the upgrade module can communicate with the management module through the communication method of the message queue, and finally the management module monitors the upgrade status in an integrated manner. The management module finally determines whether the upgrade is successful or failed by monitoring the status of the state machine of each sub-thread of the upgrade module, and then decides whether to activate each ECU or upgrade module, or to roll back the version of the upgraded ECU.

[0089] Therefore, the above-mentioned integrated deployment of OTA software can enhance the ability to control the OTA platform and has the ability to flash and control ECUs of various protocols.

[0090] The method of the embodiment of the present application can realize a highly integrated adaptive whole-vehicle OTA upgrade technology, and further realize adaptive perception of upgrade objects and upgrade conditions. After the perception is completed, the OTA platform adaptively selects the upgrade rules to upgrade the ECU, thereby enhancing the versatility of the OTA platform. Therefore, there is no need for specialized customization. The upgrade rules of various ECUs are made into atomic services, and a serial number is assigned to each atomic service. According to the services in the upgrade protocol, according to the serial numbers of the sub-services corresponding to each service, an upgrade serial number table corresponding to the upgrade protocol is obtained. This can reduce customized development investment; shorten time and put it on the market faster; and without modifying the code, agile and flexible deployment can be achieved.

[0091] In a vehicle-wide network, there's no need to deploy upgrade functionality distributed across various platforms. This allows for highly integrated technical benefits, with unified management, monitoring, activation, and rollback from a single integrated platform. This ensures low cost and high reliability.

[0092] FIG4 is a structural block diagram illustrating an upgrade control system according to some embodiments of the present application.

[0093] As shown in FIG4 , the upgrade control system includes: a receiving module 111 , a management module 112 and an upgrade module 113 .

[0094] Receiving module 111 is configured to download a configuration file for the vehicle's electronic control unit from a server and issue an upgrade initiation request corresponding to the configuration file. The configuration file includes an upgrade sequence number table corresponding to the electronic control unit's upgrade protocol, which includes one or more sub-service sequence numbers. The upgrade initiation request carries the upgrade sequence number table. For example, the configuration file includes upgrade conditions, the ECU to be upgraded, and the upgrade sequence number table corresponding to the ECU.

[0095] The management module 112 is used to receive the upgrade start request and, if it determines that the vehicle meets the upgrade conditions, issue an upgrade sequence number table. For example, the management module can parse a configuration file to obtain the upgrade conditions, the ECU to be upgraded, and the upgrade sequence number table corresponding to the ECU.

[0096] The upgrade module 113 is configured to receive the upgrade sequence number table from the management module, call one or more sub-services corresponding to one or more sub-service sequence numbers according to the upgrade sequence number table, and execute the one or more sub-services.

[0097] Thus, an upgrade control system according to some embodiments of the present application is provided. In this system, a configuration file for a vehicle's electronic control unit is downloaded from a server via a receiving module, and an upgrade initiation request corresponding to the configuration file is sent to a management module. The configuration file includes an upgrade sequence number table corresponding to the upgrade protocol of the electronic control unit, and the upgrade sequence number table includes one or more sub-service sequence numbers. The upgrade initiation request carries the upgrade sequence number table. If the management module determines that the vehicle meets the upgrade conditions, the upgrade sequence number table is sent to the upgrade module. The upgrade module, based on the upgrade sequence number table, calls one or more sub-services corresponding to the one or more sub-service sequence numbers and executes the one or more sub-services. This achieves the upgrade flashing of the corresponding ECU and improves the upgrade efficiency of the ECU.

[0098] In some embodiments, the upgrade module 113 is configured to: encapsulate each of one or more services included in the upgrade protocol into an interface function to form a sub-service; define function pointers for the interface functions and assign a sequence number to each sub-service; define a unified structure and structure variables for each sub-service, the structure variables including the sequence number, input data, output data, and interface function of each sub-service, and bind and call the sequence number, input data, output data, and interface function of each sub-service; combine the services in the upgrade protocol and the sequence numbers of the sub-services corresponding to each service to obtain an upgrade sequence number table corresponding to the upgrade protocol; and perform adaptation operations for different electronic control units using the sub-services corresponding to the corresponding upgrade sequence number table to obtain and store upgrade sequence number tables adapted for different electronic control units. In this way, after obtaining the upgrade sequence number table from the server, the upgrade module calls and executes one or more sub-services corresponding to the sequence numbers of one or more sub-services in the upgrade sequence number table, thereby enabling the ECU to be upgraded. This can improve the efficiency of OTA upgrades and reduce R&D costs and time.

[0099] In some embodiments, upon receiving an upgrade task request from a server, the receiving module 111 is configured to download a configuration file based on the storage address of the configuration file issued by the server, generate an upgrade initiation request, and send the upgrade initiation request to the management module. This enables the receiving module to download the configuration file from the server and send the upgrade initiation request corresponding to the configuration file to the management module, facilitating the execution of subsequent upgrade operations.

[0100] In some embodiments, upon receiving an upgrade initiation request, the management module 112 is configured to parse the configuration file to obtain upgrade conditions, determine whether the vehicle's scenario parameters meet the upgrade conditions, and, if the vehicle is determined to meet the upgrade conditions, send the upgrade sequence number table to the upgrade module. For example, by parsing the configuration file, the management module 112 can obtain the upgrade conditions, the ECU to be upgraded, and the upgrade sequence number table corresponding to the ECU. This achieves the purpose of the management module forwarding the upgrade sequence number table to the upgrade module. Furthermore, since the upgrade sequence number table is sent to the upgrade module if the vehicle is determined to meet the upgrade conditions, security during the upgrade process can be improved.

[0101] In some embodiments, the upgrade module 113 is configured to send upgrade data in a multiplexed mode to multiple electronic control units, where the upgrade data corresponds to one or more sub-services, so that the multiple electronic control units can be upgraded. This enables the simultaneous upgrade of multiple electronic control units and improves the efficiency of OTA upgrades.

[0102] In some embodiments, the upgrade control system is an over-the-air (OTA) upgrade control system. Thus, the upgrade control system can be applied to the field of OTA upgrade technology to improve the efficiency of OTA upgrades.

[0103] FIG5 is a block diagram showing a structure of an upgrade control system according to some other embodiments of the present application. The upgrade control system includes a memory 510 and a processor 520.

[0104] The memory 510 may be a disk, a flash memory, or any other non-volatile storage medium. The memory is used to store the instructions in the embodiments corresponding to FIG. 2 and / or FIG. 3 .

[0105] The processor 520 is coupled to the memory 510 and can be implemented as one or more integrated circuits, such as a microprocessor or a microcontroller. The processor 520 is used to execute instructions stored in the memory, thereby implementing upgrade and flashing of the ECU and improving the upgrade efficiency of the ECU.

[0106] In some embodiments, as shown in FIG6 , the upgrade control system 600 includes a memory 610 and a processor 620. The processor 620 is coupled to the memory 610 via a BUS 630. The upgrade control system 600 can also be connected to an external storage device 650 via a storage interface 640 to access external data, and can also be connected to a network or another computer system (not shown) via a network interface 660, which will not be described in detail here.

[0107] In this embodiment, the memory stores data instructions, and the processor processes the instructions, thereby achieving the upgrade and flashing of the ECU and improving the upgrade efficiency of the ECU.

[0108] In some embodiments of the present application, a vehicle is further provided, comprising: the upgrade control system as described above, for example, the upgrade control system shown in Figure 4, Figure 5 or Figure 6. For example, the vehicle is an electric vehicle.

[0109] In some embodiments, the present application further provides a computer-readable storage medium (e.g., a non-transient computer-readable storage medium) having computer program instructions stored thereon, which, when executed by a processor, implement the steps of the method in the corresponding embodiment of Figure 2 and / or Figure 3. Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, devices, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable non-transient storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0110] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram and the combination of the processes and / or boxes in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0111] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0112] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0113] In some embodiments of the present application, a computer program product is further provided, comprising instructions, which, when executed by a processor, enable the processor to perform the upgrade control method as described above.

[0114] In some embodiments of the present application, a computer program is further provided, comprising instructions, which, when executed by a processor, cause the processor to perform the upgrade control method as described above.

[0115] So far, the various embodiments of the present application have been described in detail. To avoid obscuring the concept of the present application, some details well known in the art have not been described. Based on the above description, those skilled in the art can fully understand how to implement the technical solutions disclosed herein.

[0116] Although some specific embodiments of the present application have been described in detail through examples, those skilled in the art will understand that the above examples are for illustration only and are not intended to limit the scope of the present application. Those skilled in the art will understand that the above embodiments may be modified or some technical features may be replaced with equivalents without departing from the scope and spirit of the present application. The scope of the present application is defined by the appended claims.

Claims

1. An upgrade control method, comprising: The receiving module downloads a configuration file for the electronic control unit of the vehicle from a server, and sends an upgrade initiation request corresponding to the configuration file to the management module, wherein the configuration file includes an upgrade sequence number table corresponding to an upgrade protocol of the electronic control unit, the upgrade sequence number table including one or more sub-service sequence numbers, and the upgrade initiation request carries the upgrade sequence number table; The management module sends the upgrade serial number table to the upgrade module when determining that the vehicle meets the upgrade conditions; and The upgrade module calls one or more sub-services corresponding to the one or more sub-service serial numbers according to the upgrade serial number table, and executes the one or more sub-services.

2. The upgrade control method according to claim 1, further comprising: Before the receiving module downloads the configuration file from the server, encapsulates each of the one or more services included in the upgrade protocol into an interface function to form a sub-service; Define function pointers for the interface functions and assign sequence numbers to each sub-service; Define a unified structure and structure variables for each sub-service. The structure variables include the serial number, input data, output data, and interface function of each sub-service. Bind and call the serial number, input data, output data, and interface function of each sub-service. According to the services in the upgrade agreement, based on the serial numbers of the sub-services corresponding to each service, an upgrade serial number table corresponding to the upgrade agreement is obtained; and For different electronic control units, adaptation operations are performed using the sub-services corresponding to the corresponding upgrade serial number tables to obtain and store upgrade serial number tables adapted to the different electronic control units.

3. The upgrade control method according to claim 1 or 2, wherein: The receiving module downloads a configuration file for the electronic control unit of the vehicle from the server and sends an upgrade start request corresponding to the configuration file to the management module, including: After receiving the upgrade task request sent by the server, the receiving module downloads the configuration file based on the storage address of the configuration file sent by the server, generates an upgrade start request, and sends the upgrade start request to the management module.

4. The upgrade control method according to claim 3, wherein: When the management module determines that the vehicle meets the upgrade conditions, sending the upgrade serial number table to the upgrade module includes: After receiving the upgrade start request, the management module parses the configuration file to obtain upgrade conditions and determines whether the vehicle meets the upgrade conditions. If it is determined that the vehicle meets the upgrade conditions, the management module sends the upgrade serial number table to the upgrade module.

5. The upgrade control method according to any one of claims 1 to 4, wherein: The upgrade module executing the one or more sub-services includes: The upgrade module sends upgrade data in a multiplexing mode to the multiple electronic control units so that the multiple electronic control units are upgraded, wherein the upgrade data corresponds to the one or more sub-services.

6. The upgrade control method according to any one of claims 1 to 5, wherein: The upgrade control method is an over-the-air download upgrade control method.

7. An upgrade control system, comprising: a receiving module, configured to download a configuration file for an electronic control unit of a vehicle from a server, and issue an upgrade initiation request corresponding to the configuration file, wherein the configuration file includes an upgrade sequence number table corresponding to an upgrade protocol of the electronic control unit, the upgrade sequence number table including one or more sub-service sequence numbers, and the upgrade initiation request carries the upgrade sequence number table; A management module, configured to receive the upgrade initiation request and, upon determining that the vehicle meets the upgrade conditions, issue the upgrade serial number list; and An upgrade module is configured to receive the upgrade sequence number table from the management module and The upgrade sequence number table calls one or more sub-services corresponding to the one or more sub-service sequence numbers and executes the one or more sub-services.

8. The upgrade control system according to claim 7, wherein: The upgrade module is used to: Encapsulating each of the one or more services included in the upgrade protocol into an interface function to form a sub-service; Define function pointers for the interface functions and assign sequence numbers to each sub-service; Define a unified structure and structure variables for each sub-service. The structure variables include the serial number, input data, output data, and interface function of each sub-service. Bind and call the serial number, input data, output data, and interface function of each sub-service. According to the services in the upgrade agreement, based on the serial numbers of the sub-services corresponding to each service, an upgrade serial number table corresponding to the upgrade agreement is obtained; and For different electronic control units, adaptation operations are performed using the sub-services corresponding to the corresponding upgrade serial number tables to obtain and store upgrade serial number tables adapted to the different electronic control units.

9. The upgrade control system according to claim 7 or 8, wherein: The receiving module is configured to, after receiving the upgrade task request sent by the server, download the configuration file based on the storage address of the configuration file sent by the server, generate an upgrade start request, and send the upgrade start request to the management module.

10. The upgrade control system according to claim 9, wherein: The management module is used to parse the configuration file to obtain the upgrade conditions after receiving the upgrade start request, and determine whether the vehicle meets the upgrade conditions. If it is determined that the vehicle meets the upgrade conditions, the upgrade serial number table is sent to the upgrade module.

11. The upgrade control system according to any one of claims 7 to 10, wherein: The upgrade module is used to send upgrade data in a multiplexing mode to multiple electronic control units so that the multiple electronic control units can be upgraded, wherein the upgrade data is One or more sub-services.

12. The upgrade control system according to any one of claims 7 to 11, wherein: The upgrade control system is an over-the-air download upgrade control system.

13. An upgrade control system, comprising: Memory; as well as A processor coupled to the memory, wherein the processor is configured to execute the upgrade control method according to any one of claims 1 to 6 based on instructions stored in the memory.

14. A means of transport comprising: An upgrade control system according to any one of claims 7 to 13.

15. A computer-readable storage medium having computer program instructions stored thereon, wherein when the computer program instructions are executed by a processor, the upgrade control method according to any one of claims 1 to 6 is implemented. 16 . A computer program comprising instructions, which, when executed by a processor, cause the processor to execute the upgrade control method according to claim 1 .

Citation Information

Patent Citations

  • Upgrading method, system and device of vehicle automatic driving system and electronic equipment

    CN114371855A

  • OTA upgrading method, device and equipment and computer readable storage medium

    CN116185456A

  • Method and system for intelligently selecting upgrade package downloading path

    CN116506419A

  • OTA upgrading method and system of network-connected vehicle machine

    CN116599671A

  • Data processing method and related device

    US20240020111A1