A software upgrading method, device, system and electronic equipment

CN115904455BActive Publication Date: 2026-09-22NINGBO GEELY AUTOMOBILE RES & DEV CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211636873.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-16
Publication Date
2026-09-22
Estimated Expiration
2042-12-16

AI Technical Summary

Technical Problem

[0004]本申请提供了一种软件升级方法、装置及电子设备,可以解决现有OTA升级不支持多个ECU同时升级,导致多ECU升级速度较慢、效率较低的问题

Benefits of technology

[0058]通过本申请所提供的一种软件升级方法,基于各个目标ECU分别对应的地址信息,将各个软件升级数据发送至对应的各个目标ECU,从而实现同时升级车辆的多个ECU,提高多ECU升级的速度和效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115904455B_ABST
    Figure CN115904455B_ABST
Patent Text Reader

Abstract

The application discloses a software upgrading method, device, system and electronic equipment. The method comprises the following steps: acquiring each software upgrading data, and identifying each target electronic control unit (ECU) corresponding to each software upgrading data; determining address information corresponding to each target ECU; and sending each software upgrading data to each target ECU corresponding to the software upgrading data according to the address information. The method can upgrade multiple ECUs of a vehicle simultaneously, and improve the speed and efficiency of the multiple-ECU upgrading.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of controller technology, and in particular to a software upgrade method, apparatus, system and electronic device. Background Technology

[0002] With the continuous development of vehicle networking technology in the automotive field, the software functions of automobiles are becoming more and more complex. The realization of these software functions relies on the Electronic Control Unit (ECU) with embedded software in the automobile. The more complex the software functions of the automobile, the faster the upgrade cycle of the ECU.

[0003] In existing technologies, when a new version of software data is available for an ECU, it can be directly downloaded to the ECU via Over-The-Air (OTA) technology. Then, when the vehicle is in a safe and reliable state, the upgrade process automatically occurs in the background. The upgrade process is sequential, meaning that the next ECU is only upgraded after the previous one has been completed. However, because current OTA upgrade processes do not support simultaneous upgrades of multiple ECUs, the upgrade speed is slow and the efficiency is low. Summary of the Invention

[0004] This application provides a software upgrade method, apparatus, and electronic device that can solve the problem that existing OTA upgrades do not support simultaneous upgrades of multiple ECUs, resulting in slow upgrade speeds and low efficiency for multiple ECUs.

[0005] In a first aspect, this application provides a software upgrade method, the method comprising:

[0006] Acquire various software upgrade data and identify the target electronic control unit (ECU) corresponding to each software upgrade data;

[0007] Determine the address information corresponding to each target ECU;

[0008] Based on the address information, the software upgrade data is sent to the respective target ECUs corresponding to the software upgrade data.

[0009] Using the above method, based on the address information corresponding to each target ECU, the software upgrade data is sent to the corresponding target ECU, thereby enabling the simultaneous upgrade of multiple ECUs in the vehicle and improving the speed and efficiency of multi-ECU upgrades.

[0010] In one possible design, determining the address information corresponding to each target ECU includes:

[0011] Establish communication connections with all ECUs;

[0012] When the communication connection is successfully established, the address information corresponding to each of the ECUs is determined.

[0013] From the address information corresponding to all the ECUs, the address information corresponding to each target ECU is determined.

[0014] By using the above method, the address information corresponding to each ECU can be determined, and then the address information corresponding to each target ECU can be determined from all the address information.

[0015] In one possible design, establishing communication connections with all ECUs includes:

[0016] The first module sends communication commands to the second module.

[0017] When the second module receives the communication instruction, it controls the second module to convert the communication instruction into a target instruction, wherein the target instruction can be recognized by the local control network;

[0018] The second module sends the target command to the local control network and establishes a communication connection with all ECUs in the local control network.

[0019] By using the above method, a communication connection is established with all ECUs, and the address information corresponding to each ECU can be determined.

[0020] In one possible design, sending the software upgrade data to the corresponding target ECUs based on the address information includes:

[0021] The first module sends the software upgrade data to the second module.

[0022] When the second module receives the various software upgrade data, it determines whether the second module has received the physical addressing diagnostic message sent by the first module, wherein the physical addressing diagnostic message includes the address information of the target ECU;

[0023] If so, the second module is controlled to convert the physical addressing diagnostic message into a target diagnostic message, and to convert the software upgrade data of the target ECU corresponding to the physical addressing diagnostic message into target upgrade data. The target diagnostic message and the target upgrade data can be identified by the local control network.

[0024] The second module sends the target diagnostic message and the target upgrade data to the target ECU corresponding to the target diagnostic message in the local control network.

[0025] Using the above method, based on physical addressing diagnostic messages, each software upgrade data is accurately sent to the corresponding target ECU, thereby enabling simultaneous upgrades to multiple ECUs in the vehicle.

[0026] In one possible design, after sending the target diagnostic message and the target upgrade data to the target ECU corresponding to the target diagnostic message in the local control network via the second module, the method further includes:

[0027] Determine whether the second module receives a positive diagnostic result from the local control network for the target diagnostic message, wherein the positive diagnostic result indicates that the software upgrade data corresponding to the target diagnostic message was successfully sent;

[0028] If so, the positive diagnostic result is fed back to the first module through the second module;

[0029] The first module marks the target ECU corresponding to the positive diagnostic result as having completed the upgrade, and sends a software upgrade exit command to the second module when each target ECU has completed the upgrade.

[0030] Using the above method, it is possible to determine whether the target ECU corresponding to the target diagnostic message has been upgraded, and to mark the upgraded target ECU. Thus, the upgrade process can be exited in a timely manner when all target ECUs have been upgraded.

[0031] Secondly, this application provides a software upgrade device, the device comprising:

[0032] The identification module is used to acquire various software upgrade data and identify the target electronic control unit (ECU) corresponding to each software upgrade data.

[0033] The determination module is used to determine the address information corresponding to each target ECU;

[0034] The sending module is used to send the software upgrade data to the respective target ECUs corresponding to the respective address information.

[0035] In one possible design, the determining module includes:

[0036] Establishment unit, used to establish communication connections with all ECUs;

[0037] The first determining unit is used to determine the address information corresponding to each of the ECUs when the communication connection is successfully established.

[0038] The second determining unit is used to determine the address information corresponding to each target ECU from the address information corresponding to all the ECUs respectively.

[0039] In one possible design, the establishing unit is specifically used for:

[0040] The first module sends communication commands to the second module.

[0041] When the second module receives the communication instruction, it controls the second module to convert the communication instruction into a target instruction, wherein the target instruction can be recognized by the local control network;

[0042] The second module sends the target command to the local control network and establishes a communication connection with all ECUs in the local control network.

[0043] In one possible design, the sending module is specifically used for:

[0044] When the second module receives the various software upgrade data, it determines whether the second module has received the physical addressing diagnostic message sent by the first module, wherein the physical addressing diagnostic message includes the address information of the target ECU;

[0045] If so, the second module is controlled to convert the physical addressing diagnostic message into a target diagnostic message, and to convert the software upgrade data of the target ECU corresponding to the physical addressing diagnostic message into target upgrade data. The target diagnostic message and the target upgrade data can be identified by the local control network.

[0046] The second module sends the target diagnostic message and the target upgrade data to the target ECU corresponding to the target diagnostic message in the local control network.

[0047] In one possible design, the sending module is further configured to:

[0048] Determine whether the second module receives a positive diagnostic result from the local control network for the target diagnostic message, wherein the positive diagnostic result indicates that the software upgrade data corresponding to the target diagnostic message was successfully sent;

[0049] If so, the positive diagnostic result is fed back to the first module through the second module;

[0050] The first module marks the target ECU corresponding to the positive diagnostic result as having completed the upgrade, and sends a software upgrade exit command to the second module when each target ECU has completed the upgrade.

[0051] Thirdly, this application provides a software upgrade system, the system including a host module and a local control network, wherein the host module includes a first module and a second module, and the local control network includes n ECUs, where n is an integer greater than or equal to 1;

[0052] The first module in the host module is used to identify each target electronic control unit (ECU) corresponding to each software upgrade data; determine the address information corresponding to each target ECU; and send each software upgrade data to the second module in the host module.

[0053] The second module in the host module is used to send the software upgrade data to the target ECUs corresponding to the software upgrade data in the local control network according to the address information; the host module is used to implement the above-described software upgrade method steps.

[0054] Fourthly, this application provides an electronic device, comprising:

[0055] Memory, used to store computer programs;

[0056] When the processor executes the computer program stored in the memory, it implements the above-described software upgrade method steps.

[0057] Fifthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described software upgrade method steps.

[0058] The software upgrade method provided in this application sends software upgrade data to the corresponding target ECUs based on the address information of each target ECU, thereby enabling the simultaneous upgrade of multiple ECUs in a vehicle and improving the speed and efficiency of multi-ECU upgrades.

[0059] The technical effects of each of the second to fifth aspects mentioned above, as well as the technical effects that may be achieved by each aspect, are described above with reference to the technical effects that may be achieved by the various possible solutions in the first aspect, and will not be repeated here. Attached Figure Description

[0060] Figure 1 A flowchart of a software upgrade method provided in this application;

[0061] Figure 2 A schematic diagram of a software upgrade device provided in this application;

[0062] Figure 3 A schematic diagram of a software upgrade system provided in this application;

[0063] Figure 4 This is a schematic diagram of the structure of an electronic device provided in this application. Detailed Implementation

[0064] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The specific operational methods in the method embodiments can also be applied to the device embodiments or chip embodiments. It should be noted that in the description of this application, "multiple" is understood as "at least two". "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing together, or B existing alone. A connected to B can represent: A and B directly connected, or A and B connected through C. Furthermore, in the description of this application, terms such as "first" and "second" are used only for distinguishing the purpose of description and should not be construed as indicating or implying relative importance or order.

[0065] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0066] In existing technologies, when a new version of software data is available for an ECU, it can be directly downloaded to the ECU via Over-The-Air (OTA) technology. Then, when the vehicle is in a safe and reliable state, the upgrade process automatically occurs in the background. The upgrade process is sequential, meaning that the next ECU is only upgraded after the previous one has been completed. However, because current OTA upgrade processes do not support simultaneous upgrades of multiple ECUs, the upgrade speed is slow and the efficiency is low.

[0067] To address the aforementioned problems, this application provides a software upgrade method that determines the address information corresponding to each target ECU and sends software upgrade data to the corresponding target ECUs based on the address information. This enables simultaneous upgrades of multiple ECUs in a vehicle, improving the speed and efficiency of multi-ECU upgrades. The methods and apparatus described in this application are based on the same technical concept. Since the principles by which the methods and apparatus solve the problems are similar, embodiments of the apparatus and methods can be referred to interchangeably, and repeated details will not be repeated.

[0068] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description of this application is provided in conjunction with the accompanying drawings.

[0069] like Figure 1 The diagram shown is a flowchart of a software upgrade method provided in this application, which specifically includes the following steps:

[0070] S11, acquire various software upgrade data, and identify the target electronic control unit (ECU) corresponding to each software upgrade data;

[0071] S12, determine the address information corresponding to each target ECU;

[0072] S13, based on the address information, sends each software upgrade data to the corresponding target ECU.

[0073] To address the problem that existing software upgrade methods do not support simultaneous upgrades of multiple ECUs, resulting in slow upgrade speeds and low efficiency, this application embodiment determines the address information corresponding to each target ECU and sends the software upgrade data to the corresponding target ECU based on the address information, thereby enabling simultaneous upgrades of multiple ECUs. The method for determining the address information corresponding to each target ECU can be as follows:

[0074] First, when the host obtains the software upgrade data, it will send an upgrade reminder command to the user. The software upgrade data is obtained by the host from the cloud platform via OTA. The role of OTA is to remotely manage the software through the mobile communication interface. The upgrade reminder command can be a command issued by the host based on the ECU software version upgrade, or a command formed based on the user's click operation. There is no specific limitation here. The purpose of the upgrade reminder command is to prevent the user from not upgrading for a long time or missing the upgrade reminder.

[0075] When the user confirms the need for an upgrade, the host computer determines whether the current vehicle meets the upgrade conditions. These conditions include, at a minimum, the handbrake engaged, the engine off, the ignition lock in the ON position, and the battery voltage being abnormal. If the current vehicle does not meet any of the upgrade conditions, those conditions are sent to the user so they can take appropriate action. If the current vehicle meets all the upgrade conditions, the host computer identifies the target ECU corresponding to each software upgrade data point. Notably, at this stage, the software upgrade data is located in the host computer's first module, such as the System-on-Chip (SOC).

[0076] After identifying the target ECUs corresponding to each software upgrade data, a communication connection needs to be established with all ECUs in the Controller Area Network (CAN) to determine the address information of each target ECU. Specifically, firstly, the host computer sends communication commands to its second module (e.g., a microcontroller unit) via a first module. Then, upon receiving the communication commands, the second module converts them into target commands that can be recognized by the CAN. Finally, the second module sends the target commands to the CAN, establishing communication connections with all ECUs in the CAN. Once the communication connections are successfully established, the address information corresponding to each ECU is determined.

[0077] For example, the System-on-Chips (SoC) in the host computer sends command 0x34 through Unified Diagnostic Services (UDS) to request the establishment of a communication connection. UDS is implemented based on the CAN bus. This command is sent to the MCU via the Serial Peripheral Interface (SPI). When the MCU receives command 0x34, it converts command 0x34 into the corresponding CAN data format and sends it to the local control network. When the local control network receives the CAN data format corresponding to command 0x34, it sends a positive response back to the MCU. If the MCU receives a positive response code, it determines that the communication connection with all ECUs in the local control network has been successfully established, thereby determining the address information corresponding to each ECU and saving all address information through the SoC. If the MCU receives a negative response code (NRC), it needs to process the negative response code, such as resending the request to establish a communication connection or recording a Diagnostic Trouble Code (DTC), and using the DTC to determine the fault location and cause.

[0078] After determining the address information corresponding to all ECUs using the above method, the address information corresponding to each target ECU can be determined through the first module.

[0079] Furthermore, based on the address information, within a preset time period, each software upgrade data is sent to its corresponding target ECU. The preset time is specified by the UDS protocol. Specifically, the first module sends each software upgrade data to the second module. For example, a 0x36 instruction is sent to extract the software upgrade data, and the data is then sent to the second module via SPI. Upon receiving the software upgrade data, the second module determines whether it has received the physical addressing diagnostic message sent by the first module. This message includes the address information of the target ECU. If the second module receives the physical addressing diagnostic message, it converts it into a target diagnostic message and converts the software upgrade data of the target ECU corresponding to the message into target upgrade data, such as CAN format upgrade data. Both the target diagnostic message and the target upgrade data can be recognized by the local control network.

[0080] Furthermore, the second module sends the target diagnostic message and target upgrade data to the target ECU corresponding to the target diagnostic message in the local control network. When the target ECU corresponding to the target diagnostic message successfully receives the software upgrade data, it will feed back a positive diagnostic result to the second module. Therefore, by determining whether the second module receives a positive diagnostic result, it can be determined whether the software upgrade data corresponding to the target diagnostic message has been sent successfully. If the second module receives a positive diagnostic result, it feeds back the positive diagnostic result to the first module. Then, the first module marks the target ECU corresponding to the positive diagnostic result as having completed the upgrade, and sends a software upgrade exit command, such as the 0x37 command, to the second module when each target ECU has completed the upgrade. If the second module receives a negative diagnostic result, it needs to process the negative diagnostic result, such as resending each software upgrade data and physical address diagnostic message or recording a Diagnostic Trouble Code (DTC), and using the DTC to determine the fault location and cause.

[0081] Using the above method, based on the address information corresponding to each target ECU, the software upgrade data is sent to the corresponding target ECU, thereby enabling the simultaneous upgrade of multiple ECUs in the vehicle and improving the speed and efficiency of multi-ECU upgrades.

[0082] Based on the same inventive concept, this application also provides a software upgrade device, such as... Figure 2 The diagram shown is a structural schematic of a software upgrade device according to this application. The device includes:

[0083] The identification module 21 is used to acquire various software upgrade data and identify the target electronic control unit (ECU) corresponding to each software upgrade data.

[0084] The determination module 22 is used to determine the address information corresponding to each target ECU;

[0085] The sending module 23 is used to send the software upgrade data to the respective target ECUs corresponding to the software upgrade data according to the address information.

[0086] In one possible design, the determining module 22 includes:

[0087] Establishment unit, used to establish communication connections with all ECUs;

[0088] The first determining unit is used to determine the address information corresponding to each of the ECUs when the communication connection is successfully established.

[0089] The second determining unit is used to determine the address information corresponding to each target ECU from the address information corresponding to all the ECUs respectively.

[0090] In one possible design, the establishing unit is specifically used for:

[0091] The first module sends communication commands to the second module.

[0092] When the second module receives the communication instruction, it controls the second module to convert the communication instruction into a target instruction, wherein the target instruction can be recognized by the local control network;

[0093] The second module sends the target command to the local control network and establishes a communication connection with all ECUs in the local control network.

[0094] In one possible design, the sending module 23 is specifically used for:

[0095] When the second module receives the various software upgrade data, it determines whether the second module has received the physical addressing diagnostic message sent by the first module, wherein the physical addressing diagnostic message includes the address information of the target ECU;

[0096] If so, the second module is controlled to convert the physical addressing diagnostic message into a target diagnostic message, and to convert the software upgrade data of the target ECU corresponding to the physical addressing diagnostic message into target upgrade data. The target diagnostic message and the target upgrade data can be identified by the local control network.

[0097] The second module sends the target diagnostic message and the target upgrade data to the target ECU corresponding to the target diagnostic message in the local control network.

[0098] In one possible design, the sending module 23 is further configured to:

[0099] Determine whether the second module receives a positive diagnostic result from the local control network for the target diagnostic message, wherein the positive diagnostic result indicates that the software upgrade data corresponding to the target diagnostic message was successfully sent;

[0100] If so, the positive diagnostic result is fed back to the first module through the second module;

[0101] The first module marks the target ECU corresponding to the positive diagnostic result as having completed the upgrade, and sends a software upgrade exit command to the second module when each target ECU has completed the upgrade.

[0102] Based on the software upgrade device provided above, by determining the address information corresponding to each target ECU and sending each software upgrade data to the corresponding target ECU according to the address information, multiple ECUs of the vehicle can be upgraded simultaneously, thereby improving the speed and efficiency of multi-ECU upgrades.

[0103] Based on the same inventive concept, this application also provides a software upgrade system, such as... Figure 3 The diagram shown is a schematic of a software upgrade system provided in this application. The system includes a host module 31 and a local control network 32. The host module 31 includes a first module and a second module, and the local control network 32 includes n ECUs, where n is an integer greater than or equal to 1.

[0104] The first module in the host module 31 is used to identify each target electronic control unit (ECU) corresponding to each software upgrade data; determine the address information corresponding to each target ECU; and send each software upgrade data to the second module in the host module 31.

[0105] The second module in the host module 31 is used to send the software upgrade data to the target ECUs corresponding to the software upgrade data in the local control network 32 according to the address information; the host module 31 is used to implement the above-described software upgrade method steps.

[0106] The software upgrade system described above sends software upgrade data to each target ECU based on their respective address information, thereby enabling simultaneous upgrades of multiple ECUs in the vehicle and improving the speed and efficiency of multi-ECU upgrades.

[0107] Based on the same inventive concept, this application also provides an electronic device that can realize the functions of the aforementioned software upgrade device, see reference. Figure 4 The electronic device includes:

[0108] At least one processor 41 and a memory 42 connected to at least one processor 41. In this embodiment, the specific connection medium between the processor 41 and the memory 42 is not limited. Figure 4 The example shown is the connection between processor 41 and memory 42 via bus 40. Bus 40 is... Figure 4 The connections between other components are indicated by thick lines and are for illustrative purposes only, not as limiting information. Bus 40 can be divided into address bus, data bus, control bus, etc., for ease of representation. Figure 4 The term 41 is represented by a single thick line, but this does not imply that there is only one bus or one type of bus. Alternatively, processor 41 can also be called controller; there is no restriction on the name.

[0109] In this embodiment, memory 42 stores instructions executable by at least one processor 41. By executing the instructions stored in memory 42, at least one processor 41 can perform the software upgrade method described above. Processor 41 can implement... Figure 2 The functions of each module in the device shown.

[0110] The processor 41 is the control center of the device. It can connect to various parts of the control device through various interfaces and lines. By running or executing instructions stored in memory 42 and calling data stored in memory 42, the processor can perform various functions and process data, thereby monitoring the device as a whole.

[0111] In one possible design, processor 41 may include one or more processing units. Processor 41 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operation chip, user interface, and application programs, and the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into processor 41. In some embodiments, processor 41 and memory 42 may be implemented on the same chip; in some embodiments, they may also be implemented on separate chips.

[0112] Processor 41 can be a general-purpose processor, such as a central processing unit (CPU), digital signal processor, application-specific integrated circuit, field-programmable gate array or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the software upgrade method disclosed in the embodiments of this application can be directly manifested as execution by the hardware processor, or execution by a combination of hardware and software modules within the processor.

[0113] Memory 42, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory 42 may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic memory, magnetic disk, optical disk, etc. Memory 42 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. In the embodiments of this application, memory 42 may also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.

[0114] By designing and programming the processor 41, the code corresponding to the software upgrade method described in the foregoing embodiments can be embedded into the chip, thereby enabling the chip to execute the code during operation. Figure 1 The steps of the software upgrade method in the illustrated embodiment are as follows. How to design and program the processor 41 is a technique well-known to those skilled in the art and will not be described further here.

[0115] Based on the same inventive concept, embodiments of this application also provide a storage medium storing computer instructions that, when executed on a computer, cause the computer to perform the software upgrade method described above.

[0116] In some possible implementations, various aspects of the software upgrade method provided in this application may also be implemented in the form of a program product, which includes program code that, when the program product is run on a device, causes the control device to perform the steps in the software upgrade method according to the various exemplary embodiments of this application described above.

[0117] Those skilled in the art will understand that embodiments of this application can be provided as methods, chips, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0118] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (chips), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0119] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0120] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0121] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A software upgrade method, characterized in that, The method includes: When the user confirms that an upgrade is needed, the host determines whether the current vehicle meets the upgrade conditions. The upgrade conditions include at least: the handbrake is engaged, the engine is off, the ignition lock is in the ON position, and the battery voltage is normal. If the upgrade conditions are met, acquire each software upgrade data and identify each target electronic control unit (ECU) corresponding to each software upgrade data; The first module of the SOC sends communication commands to the second module, which is the MCU, via the SPI interface. When the second module receives the communication instruction, it controls the second module to convert the communication instruction into a target instruction, wherein the target instruction can be recognized by the local control network; The second module sends the target command to the local control network and establishes a communication connection with all ECUs in the local control network. When the communication connection is successfully established, the address information corresponding to each of the ECUs is determined. From the address information corresponding to all the ECUs, the address information corresponding to each target ECU is determined. The first module sends the software upgrade data to the second module. When the second module receives the various software upgrade data, it determines whether the second module has received the physical addressing diagnostic message sent by the first module, wherein the physical addressing diagnostic message includes the address information of the target ECU; If so, the second module is controlled to convert the physical addressing diagnostic message into a target diagnostic message, and to convert the software upgrade data of the target ECU corresponding to the physical addressing diagnostic message into target upgrade data. The target diagnostic message and the target upgrade data can be identified by the local control network. The second module sends the target diagnostic message and the target upgrade data to the target ECU corresponding to the target diagnostic message in the local control network.

2. The method as described in claim 1, characterized in that, After sending the target diagnostic message and the target upgrade data to the target ECU corresponding to the target diagnostic message in the local control network via the second module, the method further includes: Determine whether the second module receives a positive diagnostic result from the local control network for the target diagnostic message, wherein the positive diagnostic result indicates that the software upgrade data corresponding to the target diagnostic message was successfully sent; If so, the positive diagnostic result is fed back to the first module through the second module; The first module marks the target ECU corresponding to the positive diagnostic result as having completed the upgrade, and sends a software upgrade exit command to the second module when each target ECU has completed the upgrade.

3. A software upgrade device, characterized in that, The device includes: The identification module is used to acquire various software upgrade data and identify the target electronic control unit (ECU) corresponding to each software upgrade data. The determination module is used to determine whether the current vehicle meets the upgrade conditions when the user confirms the need for an upgrade. The upgrade conditions include at least: handbrake engaged, engine off, ignition lock in the ON position, and battery voltage at normal levels. If the upgrade conditions are met, the address information corresponding to each target ECU is determined. The determination module includes an establishment unit for establishing communication connections with all ECUs. Specifically, the establishment unit is used to: send communication commands via an SPI interface from a first module (SOC) to a second module (MCU); when the second module receives the communication commands, it controls the second module to convert the communication commands into target commands, wherein the target commands can be recognized by the local control network. The second module sends the target command to the local control network and establishes a communication connection with all ECUs in the local control network. The first determining unit is used to determine the address information corresponding to each of the ECUs when the communication connection is successfully established. The second determining unit is used to determine the address information corresponding to each target ECU from the address information corresponding to all the ECUs respectively; The sending module is used to send the software upgrade data to the corresponding target ECUs according to the address information. Specifically, when the second module receives the software upgrade data, the sending module determines whether the second module has received a physical addressing diagnostic message sent by the first module, wherein the physical addressing diagnostic message includes the address information of the target ECU; if so, the second module is controlled to convert the physical addressing diagnostic message into a target diagnostic message and convert the software upgrade data of the target ECU corresponding to the physical addressing diagnostic message into target upgrade data, wherein the target diagnostic message and the target upgrade data can be identified by the local area control network; the second module sends the target diagnostic message and the target upgrade data to the target ECU corresponding to the target diagnostic message in the local area control network.

4. The apparatus as described in claim 3, characterized in that, The sending module is also used for: Determine whether the second module receives a positive diagnostic result from the local control network for the target diagnostic message, wherein the positive diagnostic result indicates that the software upgrade data corresponding to the target diagnostic message was successfully sent; If so, the positive diagnostic result is fed back to the first module through the second module; The first module marks the target ECU corresponding to the positive diagnostic result as having completed the upgrade, and sends a software upgrade exit command to the second module when each target ECU has completed the upgrade.

5. A software upgrade system, characterized in that, The system includes a host module and a local control network. The host module includes a first module as a SOC and a second module as an MCU, which communicate with each other through an SPI interface. The local control network includes n ECUs, where n is an integer greater than or equal to 1. The first module in the host module is used to determine whether the current vehicle meets the upgrade conditions when the user confirms the need for an upgrade. The upgrade conditions include at least: the handbrake is engaged, the engine is off, the ignition lock is in the ON position, and the battery voltage is in a normal state. If the upgrade conditions are met, the module acquires various software upgrade data and identifies the respective target electronic control units (ECUs) corresponding to each software upgrade data. The module then sends communication commands to the second module via the SPI interface. Based on the address information of each target ECU, the module generates a physical addressing diagnostic message, which contains the address information of the target ECU. The module then sends the various software upgrade data and the physical addressing diagnostic message to the second module. The second module in the host module is used to convert the communication command into a target command that can be recognized by the local control network when the communication command is received, and send the target command to the local control network to establish a communication connection with all ECUs in the local control network; after receiving various software upgrade data and the physical addressing diagnostic message, the physical addressing diagnostic message is converted into a target diagnostic message, and the corresponding software upgrade data is converted into target upgrade data. Both the target diagnostic message and the target upgrade data can be recognized by the local control network. The first module in the host module is also used to determine the address information corresponding to all ECUs when the communication connection is successfully established, and to determine the address information corresponding to each target ECU from the address information corresponding to all ECUs. The second module in the host module is used to send the software upgrade data to the target ECUs corresponding to the software upgrade data in the local control network according to the address information. The second module in the host module is also used to send the converted target diagnostic message and target upgrade data to the target ECUs corresponding to the target diagnostic message in the local control network.

6. An electronic device, characterized in that, Includes memory, used to store computer programs; A processor, when executing a computer program stored in the memory, implements the steps of the method according to claim 1 or 2.

7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method described in claim 1 or 2.

Citation Information

Patent Citations

  • ECU upgrading method based on CAN bus and ECU upgrading equipment

    CN106775818A