Vehicle upgrading method, device and vehicle

By introducing upgrade partitions and operation partitions in the vehicle control unit and synchronizing the software after a successful upgrade, the problem of low vehicle software upgrade security in the existing technology is solved, and normal operation of the vehicle is achieved when a single partition fails, thereby improving safety.

CN115686561BActive Publication Date: 2025-10-03GUANGZHOU AUTOMOBILE GROUP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211235971.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-10
Publication Date
2025-10-03
Estimated Expiration
2042-10-10

AI Technical Summary

Technical Problem

In the prior art, when the software of a vehicle's control unit is upgraded through the FOTA method, the vehicle safety is low.

Method used

Non-overlapping upgrade partitions and running partitions are introduced into the vehicle's control unit. After the software of the control unit to be upgraded is successfully upgraded, the upgraded software will be synchronized to the running partition to ensure that when one partition fails, the other partition can operate normally.

Benefits of technology

Improves vehicle safety in the event of a control unit software failure, ensuring the vehicle can continue to operate normally.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115686561B_ABST
    Figure CN115686561B_ABST
Patent Text Reader

Abstract

The present application discloses a vehicle upgrade method, device, and vehicle. The method includes: receiving a synchronization instruction, which is generated when the software of each control unit to be upgraded in a control unit group to be upgraded is successfully upgraded, and the software of each control unit to be upgraded is upgraded in the upgrade partition of the control unit to be upgraded; according to the synchronization instruction, controlling the software of each control unit to be upgraded to run in its own upgrade partition; obtaining the upgraded software corresponding to the control unit to be upgraded from the upgrade partition of each control unit to be upgraded; and synchronizing the upgraded software corresponding to each control unit to be upgraded to its own running partition. According to the method of the present application, the software of the running partition and the upgrade partition in the control unit to be upgraded are the same, so that when a software failure occurs in one partition, the software can run normally in another partition, so that the vehicle can continue to run normally, thereby improving the safety of the vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of vehicle control technology, and more specifically, to a vehicle upgrading method, device, and vehicle. Background Art

[0002] With the electrification, intelligence and networking of vehicles, their functions are becoming more and more abundant and intelligent. In order to improve the vehicle experience and driving safety, it is usually necessary to upgrade the vehicle software, such as using FOTA (Firmware Over-The-Air, over-the-air download technology for mobile terminals) to remotely upgrade the vehicle.

[0003] Currently, software upgrade packages are sent to vehicles via FOTA (Function Over the Air) technology, which then upgrades the software of the control units to be upgraded within the vehicle based on the software upgrade packages. However, this method of upgrading the control units of vehicles has a low level of vehicle safety. Summary of the Invention

[0004] In view of this, the present application proposes a vehicle upgrading method, device and vehicle to solve the above problems.

[0005] In a first aspect, an embodiment of the present application provides a vehicle upgrade method, wherein the vehicle includes at least one control unit group, each control unit group includes multiple control units, and each control unit includes non-overlapping upgrade partitions and running partitions, and the method includes: receiving a synchronization instruction, wherein the synchronization instruction is generated when the software of each control unit to be upgraded in the control unit group to be upgraded is successfully upgraded, and the software of each control unit to be upgraded is upgraded in the upgrade partition of the control unit to be upgraded; before the software of each control unit to be upgraded is upgraded, the upgrade partition of the control unit to be upgraded is the same as the software in the running partition, and the software of the control unit to be upgraded runs in its own running partition; according to the synchronization instruction, controlling the software of each control unit to be upgraded to run in its own upgrade partition; obtaining the upgraded software corresponding to the control unit to be upgraded from the upgrade partition of each control unit to be upgraded; and synchronizing the upgraded software corresponding to each control unit to be upgraded to its own running partition.

[0006] In a second aspect, an embodiment of the present application provides a vehicle upgrade device, wherein the vehicle includes at least one control unit group, each control unit group includes multiple control units, and each control unit includes non-overlapping upgrade partitions and running partitions. The device includes: a receiving module for receiving a synchronization instruction, wherein the synchronization instruction is generated when the software of each control unit to be upgraded in the control unit group to be upgraded is successfully upgraded, and the software of each control unit to be upgraded is upgraded in the upgrade partition of the control unit to be upgraded; before the software of each control unit to be upgraded is upgraded, the upgrade partition of the control unit to be upgraded is the same as the software in the running partition, and the software of the control unit to be upgraded runs in its own running partition; a control module for controlling the software of each control unit to be upgraded to run in its own upgrade partition according to the synchronization instruction; an acquisition module for obtaining the upgraded software corresponding to the control unit to be upgraded from the upgrade partition of each control unit to be upgraded; and a synchronization module for synchronizing the upgraded software corresponding to each control unit to be upgraded to its own running partition.

[0007] In a third aspect, an embodiment of the present application provides a vehicle, comprising:

[0008] one or more processors;

[0009] Memory;

[0010] at least one control unit group, each control unit group including a plurality of control units, each control unit including non-overlapping upgrade partitions and operation partitions;

[0011] One or more applications, wherein the one or more applications are stored in a memory and configured to be executed by one or more processors, and the one or more programs are configured to execute the method of the first aspect above.

[0012] An embodiment of the present application provides a vehicle upgrade method, device, and vehicle. When the software of each control unit to be upgraded in a control unit group to be upgraded is successfully upgraded, the software of each control unit to be upgraded is controlled to run in its own upgrade partition, and the upgraded software in the upgrade partition of each control unit to be upgraded is synchronized to its own running partition, so that the software of the running partition and the upgrade partition in the control unit to be upgraded are the same. Therefore, when a software failure occurs in one of the running partition and the upgrade partition of the control unit, the software of the control unit can run normally in the other partition, so that the vehicle can continue to run normally, thereby improving the safety of the vehicle.

[0013] These and other aspects of the present application will become more readily apparent from the description of the following embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0015] Figure 1 A schematic diagram of a vehicle hardware environment suitable for an embodiment of the present application is shown.

[0016] Figure 2 A flow chart of a vehicle upgrading method proposed according to an embodiment of the present application is shown.

[0017] Figure 3 A flow chart of a method for determining whether a control unit to be upgraded is successfully upgraded in an embodiment of the present application is shown.

[0018] Figure 4 A software synchronization flow chart of the control unit to be upgraded in an embodiment of the present application is shown.

[0019] Figure 5 A flow chart of a flashing method for a control unit to be upgraded in an embodiment of the present application is shown.

[0020] Figure 6 A flowchart of a method for downloading a software upgrade package corresponding to a control unit to be upgraded in an embodiment of the present application is shown.

[0021] Figure 7 A schematic diagram showing the download process of the software upgrade package in an embodiment of the present application is shown.

[0022] Figure 8 A schematic diagram showing the upgrading process of the control unit to be upgraded in an embodiment of the present application is shown.

[0023] Figure 9 A structural block diagram of a vehicle upgrading device proposed in one embodiment of the present application is shown.

[0024] Figure 10 A structural block diagram of a computer-readable storage medium provided in an embodiment of the present application is shown. DETAILED DESCRIPTION

[0025] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0026] Reference Figure 1 , Figure 1A schematic diagram of a vehicle hardware environment suitable for an embodiment of the present application is shown, where the vehicle 100 includes a control system 110, which can have built-in multiple automatic control functions, such as an automatic driving function, an automatic light on / off function, and an automatic air conditioning on / off function.

[0027] The control system 110 may include a control unit group 111 , one or more (only one is shown in the figure) processors 112 , and a memory 113 . Each control unit group includes a plurality of control units (ECUs).

[0028] The control unit group 111 serves as the vehicle's software runtime and hardware support, controlling the normal operation of vehicle functions. For example, the control unit group corresponding to the vehicle's lights controls the normal operation of the vehicle's lights. Each control unit group includes multiple control units, each of which includes non-overlapping upgrade and operation partitions. A control unit can be an ECU (Electronic Control Unit) within the vehicle 100. Each control unit may have memory, which is divided into non-overlapping upgrade and operation partitions.

[0029] The processor 112 may be a microcontroller unit (MCU) having a built-in memory 113 . The memory 113 stores a program that can execute the contents of the following embodiments, and the processor 112 can execute the program stored in the memory 113 .

[0030] The processor 112 may include one or more processing cores. The processor 112 utilizes various interfaces and circuits to connect various components within the vehicle 100. The processor 112 executes various functions of the vehicle 100 and processes data by running or executing instructions, programs, code sets, or instruction sets stored in the memory 113 and accessing data stored in the memory 113.

[0031] Optionally, the processor 112 can be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). The processor 112 can integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), and a modem. Among them, the CPU mainly processes the operating system, user interface, and application programs; the GPU is responsible for rendering and drawing display content; and the modem is used to handle wireless communications. It is understandable that the above-mentioned modem may not be integrated into the processor 112, but may be implemented separately through a communication chip.

[0032] The memory 113 may include a random access memory (RAM) or a read-only memory (ROM). The memory 113 may be used to store instructions, programs, codes, code sets, or instruction sets. The memory 113 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the following various method embodiments, etc. The data storage area may also store data created by the terminal 100 during use (such as a phone book, audio and video data, chat record data), etc.

[0033] Reference Figure 2 , Figure 2 A flow chart of a vehicle upgrade method according to one embodiment of the present application is shown. The method is applied to a vehicle and includes:

[0034] S110. Receive a synchronization instruction. The synchronization instruction is generated when the software of each control unit to be upgraded in the control unit group to be upgraded is successfully upgraded. The software of each control unit to be upgraded is upgraded in the upgrade partition of the control unit to be upgraded. Before the software of each control unit to be upgraded is upgraded, the upgrade partition of the control unit to be upgraded is the same as the software in the running partition, and the software of the control unit to be upgraded runs in its own running partition.

[0035] In this application, the vehicle may be a built-in control system (e.g. Figure 1110) An electric vehicle or a gasoline vehicle, which can be a sedan, SUV, bus, truck, etc. The control system can include multiple control functions, and the vehicle controls the normal operation of the vehicle through each control function in the control system. For example, the vehicle controls the air conditioning using the temperature control function, or controls the vehicle lights using the lighting control function.

[0036] The vehicle includes at least one control unit group, each control unit group includes multiple control units, each control unit includes non-overlapping upgrade partitions and running partitions, and the sizes of the upgrade partition and running partition of each control unit can be the same. For example, the upgrade partition and running partition of control unit A1 are both 1GB.

[0037] The control units in each control unit group are related. If one control unit fails (either hardware or software), it may cause the other control units in the control unit group to malfunction. Each control unit in each control unit group can have its own corresponding software, and each control unit in each control unit group can also support one or more common software.

[0038] Each control unit in the group of control units to be upgraded in the vehicle serves as a control unit to be upgraded in the embodiment of the present application. Before the software of each control unit to be upgraded is upgraded, the software in the upgrade partition of the control unit to be upgraded is the same as the software in the running partition (the same software in the present application refers to the same version of the same software), and the software of the control unit to be upgraded runs in its own running partition. If the software of the running partition of a control unit fails, causing the control unit to be unable to operate normally, the software of the control unit can be controlled to run in its own upgrade partition, so that the control unit can operate normally in the upgrade partition, thereby allowing the vehicle to continue to operate normally.

[0039] In one possible implementation, each control unit may include a first storage partition and a second storage partition. During each upgrade process, either the first storage partition or the second storage partition may be used as the upgrade partition, while the other may be used as the run partition. For example, during the first upgrade process, the first storage partition of control unit A2 may be used as the run partition, while the second storage partition may be used as the upgrade partition. During the second upgrade process, the second storage partition of control unit A2 may be used as the run partition, while the first storage partition may be used as the upgrade partition.

[0040] The software upgrade process of each control unit is performed in the upgrade partition of the control unit. For example, the software of the control unit A3 is upgraded in the upgrade partition of the control unit A3.

[0041] Successful software upgrade of the control unit to be upgraded may mean that the software upgrade of the control unit to be upgraded is complete and the upgraded software can operate normally. For example, the control unit group to be upgraded includes five control units to be upgraded, the software of all five control units to be upgraded is successfully upgraded, and the vehicle generates a synchronization command.

[0042] If there are any control units in the group of control units to be upgraded that have not been upgraded, the synchronization instruction is generated after the upgrade of the control units to be upgraded is successful. If there are any control units in the group of control units to be upgraded that have failed to be upgraded, the upgrade of the control units to be upgraded is determined to have failed. At this time, the old version of the software corresponding to the control unit to be upgraded is obtained from the running partition of each control unit in the group of control units to be upgraded, and the old version of the software of each control unit to be upgraded is synchronized to its own upgrade partition.

[0043] S120 : According to the synchronization instruction, control the software of each control unit to be upgraded to run in its own upgrade partition.

[0044] After the software of each control unit to be upgraded in the control unit group to be upgraded is successfully upgraded, it is determined that the control unit group to be upgraded is upgraded successfully, and then the software of the control unit to be upgraded can be controlled to run in its own upgrade partition.

[0045] S130: Obtain upgraded software corresponding to each control unit to be upgraded from the upgrade partition of the control unit to be upgraded.

[0046] S140: Synchronize the upgraded software corresponding to each control unit to be upgraded to its own running partition.

[0047] For each control unit to be upgraded, obtain the upgraded software of the control unit to be upgraded, and synchronize the upgraded software of the control unit to be upgraded to its own running partition, so that the software of the running partition and the upgrade partition are upgraded to the same version, so that the control unit to be upgraded can operate normally in its own running partition and upgrade partition.

[0048] In this embodiment, when the software of each control unit to be upgraded in the control unit group to be upgraded is successfully upgraded, the software of each control unit to be upgraded is controlled to run in its own upgrade partition, and the upgraded software in the upgrade partition of each control unit to be upgraded is synchronized to its own running partition, so that the software of the running partition and the upgrade partition in the control unit to be upgraded are the same, so that when a software failure occurs in one of the running partition and the upgrade partition of the control unit, the software of the control unit can run normally in the other partition, so that the vehicle can continue to run normally, thereby improving the safety of the vehicle.

[0049] Reference Figure 3 , Figure 3 A flowchart of a method for determining whether a control unit to be upgraded is successfully upgraded according to an embodiment of the present application is shown. The method is applied to a vehicle and includes:

[0050] S210. If the software upgrade package corresponding to the control unit to be upgraded is used to successfully flash the control unit to be upgraded, obtain the software version information corresponding to the control unit to be upgraded after flashing. The software upgrade package corresponding to the control unit to be upgraded refers to the upgrade package used to flash the control unit to be upgraded.

[0051] For each control unit to be upgraded, the corresponding software upgrade package is obtained. The acquired software upgrade package is used to flash the control unit to be upgraded. When the flashing process is successfully completed, the flashing of the control unit to be upgraded is determined to be successful. Then, the software version information of the flashed software corresponding to the control unit to be upgraded is obtained. If the flashing process does not complete successfully or is interrupted, the flashing of the control unit to be upgraded is determined to have failed.

[0052] It should be noted that if the flashing process fails once, the flashing process can be repeated 2-3 times. If the flashing still fails, it is determined that the flashing of the control unit to be upgraded has failed. If the flashing process of the control unit to be upgraded succeeds after repeated flashing, or succeeds once, it is determined that the flashing of the control unit to be upgraded has succeeded.

[0053] The upgrade package of each control unit to be upgraded can be downloaded by the vehicle's upgrade master node (FOTA master) from the vehicle's corresponding cloud server through FOTA (Firmware Over-The-Air, an air download technology for mobile terminals). The upgrade master node sends the software upgrade package of each control unit to be upgraded to the upgrade partition of the control unit to be upgraded, so that the control unit to be upgraded can be flashed in its own upgrade partition through the software upgrade package. Among them, flashing refers to flashing FLASH.

[0054] S220: When the software version information of the software upgrade package corresponding to the control unit to be upgraded matches the software version information after flashing, it is determined that the upgrade of the control unit to be upgraded is complete.

[0055] The matching of the software version information of the software upgrade package corresponding to the control unit to be upgraded and the software version information after flashing may mean that the software version information of the software upgrade package corresponding to the control unit to be upgraded is the same as the software version information after flashing. At this time, it proves that the flashing process is successful and determines that the upgrade of the control unit to be upgraded is completed.

[0056] S230: Control the upgraded software corresponding to the control unit to be upgraded to run in the upgrade partition of the control unit to be upgraded, and obtain the running result of the upgraded software corresponding to the control unit to be upgraded.

[0057] For each control unit to be upgraded, the upgraded software corresponding to the control unit to be upgraded is controlled to run in its own upgrade partition, and the running result of the upgraded software corresponding to the control unit to be upgraded is obtained.

[0058] S240: When the operation result is successful, determine that the control unit to be upgraded is upgraded successfully.

[0059] For each control unit to be upgraded, when the operation result is successful, it indicates that the upgraded software can run normally, and the upgrade of the control unit to be upgraded is successful.

[0060] In one embodiment, when the operation result is operation failure or upgrade failure of the control unit to be upgraded, the old version software of the corresponding control unit to be upgraded is obtained from the operation partition of the control unit to be upgraded. The upgrade failure of the control unit to be upgraded includes the failure to flash the software of the control unit to be upgraded, or the software version information of the software upgrade package corresponding to the control unit to be upgraded does not match the software version information after flashing; the old version software is synchronized to the upgrade partition of the control unit to be upgraded.

[0061] In other words, for each control unit to be upgraded, the corresponding operation result of the control unit to be upgraded is operation failure or upgrade failure of the control unit to be upgraded, and it is determined that the upgrade process is invalid. At this time, the corresponding old version software is obtained in the running partition corresponding to the control unit to be upgraded, and the old version software of the control unit to be upgraded is backed up to its own upgrade partition, so that the software of the upgrade partition and the running partition of the control unit to be upgraded are the same.

[0062] For each control unit to be upgraded, the upgraded software corresponding to the control unit to be upgraded is controlled to run in the upgrade partition of the control unit to be upgraded, and after successful running, a message (which may include the part number + timestamp of the control unit) is sent to the upgrade master node so that the upgrade master node can determine that the upgrade of the control unit to be upgraded is successful based on the message.

[0063] In this embodiment, the software synchronization process of the control unit to be upgraded is as follows: Figure 4 As shown in the figure, the first partition of the control unit to be upgraded is the running partition, and the second partition is the upgrade partition. The software versions of both the running partition and the upgrade partition are v0.1. The upgrade boot is first started, and the control unit to be upgraded is flashed with the software upgrade package. After the flashing and upgrade are successful, the software version of the upgrade partition is upgraded to v0.2. The upgraded software v0.2 of the control unit to be upgraded is controlled to run a trial, and the operation results are obtained.

[0064] If the operation result is successful, the software version of the running partition will also be synchronized to v0.2. If the operation result is failed, the software version of the upgraded partition will be rolled back to v0.1.

[0065] In this embodiment, when the upgraded software of the control unit to be upgraded can run normally, it is determined that the upgrade of the control unit to be upgraded is successful, which improves the accuracy of determining the success of the upgrade of the control unit to be upgraded and avoids the situation where the software of the control unit to be upgraded is successfully flashed but cannot run, resulting in software upgrade failure.

[0066] At the same time, if the upgraded software of the control unit to be upgraded cannot run normally, it is determined that the upgrade of the control unit to be upgraded has failed, and the old version of the software of the control unit to be upgraded is backed up to its own upgrade partition, so that the software of the upgrade partition and the running partition of the control unit to be upgraded are the same, so that when a software failure occurs in one of the running partition and the upgrade partition of the control unit, the software of the control unit can run normally in the other partition, so that the vehicle can continue to operate normally, thereby improving the safety of the vehicle.

[0067] Reference Figure 5 , Figure 5 A flowchart of a flashing method for a control unit to be upgraded in an embodiment of the present application is shown. The method is used in a vehicle and includes:

[0068] S310: Obtain the state of charge of the vehicle's battery.

[0069] When the software of the control unit to be upgraded is flashed, it is necessary to obtain the state of charge (SOC) of the vehicle's battery to determine whether the upgrade can be performed normally based on the SOC.

[0070] As an implementation method, S310 may include: obtaining the upgraded version information of the software upgrade package corresponding to the control unit to be upgraded and the old version information of the old version software corresponding to the control unit to be upgraded before the software upgrade; if the upgraded version information is not lower than the old version information, obtaining the charge state of the battery.

[0071] The version information of the software upgrade package corresponding to the control unit to be upgraded is used as the upgraded version information of the software upgrade package corresponding to the control unit to be upgraded; the version information of the old version software before the software upgrade corresponding to the control unit to be upgraded is used as the old version information corresponding to the control unit to be upgraded.

[0072] For each control unit to be upgraded, when the upgrade version information corresponding to the control unit to be upgraded is not lower than the old version information, it is determined that the software upgrade package of the control unit to be upgraded is used for software upgrade and the upgrade process needs to be performed. At this time, the charge state of the vehicle's battery is obtained; when the upgrade version information corresponding to the control unit to be upgraded is lower than the old version information, it is determined that the software upgrade package of the control unit to be upgraded is not used for software upgrade and the upgrade process does not need to be performed, and the upgrade can be omitted. At this time, the charge state of the vehicle's battery can be omitted and the upgrade process is stopped.

[0073] Once a vehicle's control unit discovers a software bug, the conventional logic is to perform an upgrade and repair. However, if there is no software version management, criminals can continue to flash back the old software version with the bug. Although the upgrade has been successful and the problem has been solved, the vehicle will still be in danger and at continuous risk from the bug. At the same time, since one control unit in the same control unit group has been flashed with an old version, the other control units in the control unit group have software version dependencies, resulting in the functions of the other control units in the control unit group being threatened. Through the method of the present application, when the upgrade version information corresponding to the control unit to be upgraded is lower than the old version information, the flash upgrade will be performed, otherwise the flash upgrade will not be performed, thereby avoiding the above-mentioned risks caused by downgrades.

[0074] S320: If it is determined that the state of charge does not meet the first preset upgrade condition, determine whether the control unit to be upgraded is a high-voltage control unit to be upgraded.

[0075] The first preset upgrade condition may be that the state of charge reaches a first threshold value, which may be set by the user based on needs, for example, the first threshold value is 95%. If it is determined that the state of charge meets the first preset upgrade condition, the control unit to be upgraded is directly flashed using the software upgrade package corresponding to the control unit to be upgraded.

[0076] S330: If yes, perform a charging operation on the battery, and stop the charging operation when the state of charge of the battery meets the first preset upgrade condition; if not, control the vehicle engine to start to continuously charge the vehicle.

[0077] For each control unit to be upgraded, before upgrading it, if it is determined that the charge state does not meet the first preset upgrade condition, it is determined whether the control unit to be upgraded is a high-voltage control unit to be upgraded; if so, a charging operation is performed on the battery, and when the charge state of the battery meets the first preset upgrade condition, the charging operation is stopped; if not, the vehicle's engine is controlled to start to continuously charge the vehicle, so as to continuously charge the control unit to be upgraded during the upgrade process.

[0078] S340: Flash the control unit to be upgraded using the software upgrade package corresponding to the control unit to be upgraded. The software upgrade package corresponding to the control unit to be upgraded refers to an upgrade package used to flash the control unit to be upgraded.

[0079] After the control unit to be upgraded is powered up, the software upgrade package corresponding to the control unit to be upgraded is flashed to the control unit to be upgraded.

[0080] In this embodiment, before the software of the control unit to be upgraded is flashed, when it is determined that the charge state of the vehicle does not meet the first preset condition, the battery is recharged so that the software flashing process of the control unit to be upgraded can have sufficient power to support it, thereby improving the success rate of the flashing of the control unit to be upgraded.

[0081] Reference Figure 6 , Figure 6 A flowchart of a method for downloading a software upgrade package corresponding to a control unit to be upgraded in an embodiment of the present application is shown. The method is used in a vehicle and includes:

[0082] S410: Obtain a software upgrade package corresponding to each control unit to be upgraded from a cloud server. The software upgrade package corresponding to each control unit to be upgraded is an upgrade package used to flash the control unit to be upgraded.

[0083] The cloud server may refer to a platform (which may be a service provider or vehicle manufacturer, etc.) that sends software upgrade packages corresponding to the control units to be upgraded. The vehicle's upgrade master node obtains the software upgrade packages corresponding to each control unit to be upgraded from the cloud server.

[0084] The vehicle can connect to the cloud server through the Https two-way authentication method and obtain the secret key for decrypting the software upgrade package through Https two-way authentication. That is, the software upgrade package sent by the cloud server is encrypted.

[0085] As an embodiment, S410 may include: obtaining the vehicle speed, battery state of charge, and battery health factor; and when the vehicle speed is lower than a preset speed, the battery state of charge is higher than a target state of charge, and the health factor is within a preset range, obtaining a software upgrade package corresponding to each control unit to be upgraded from a cloud server. The health factor may refer to the accuracy of battery information of the vehicle's battery.

[0086] Among them, the preset vehicle speed, target state of charge and preset range can all be determined based on demand and the actual structure of the vehicle. For example, the preset vehicle speed is 3km / h, the target state of charge can be 85%, and the preset range can be 15%. This application does not make any specific limitations on the preset vehicle speed, target state of charge and preset range.

[0087] The vehicle speed, battery state of charge and battery health factor can be obtained by upgrading the main node; and when the vehicle speed is lower than the preset speed, the battery state of charge is higher than the target state of charge and the health factor is within the preset range, the upgrade main node obtains the software upgrade package corresponding to each control unit to be upgraded from the cloud server.

[0088] Currently, it is impossible to limit the speed of only the software upgrade package data stream download, because most vehicles download through the TBOX (Telematics-BOX, vehicle network communication box). The download speed is determined by the wireless network bandwidth. While the vehicle is downloading the software upgrade package at full speed, it also occupies the bandwidth for entertainment data. This can cause serious lag when using the navigation system, listening to music, or watching movies while driving, affecting the user experience.

[0089] When the above-mentioned vehicle speed is lower than the preset speed, the state of charge is higher than the target state of charge, and the health factor is within the preset range, it is determined that the software upgrade package download process has a low impact on the user's driving entertainment function experience, so that the software upgrade package corresponding to each control unit to be upgraded can be obtained.

[0090] S420: Powering the necessary control units in the vehicle, where the necessary control units include the control units currently in operation in the vehicle and each control unit to be upgraded in the control unit group to be upgraded.

[0091] The necessary control units in the vehicle are powered, and other control units in the vehicle are no longer powered to save energy.

[0092] Through the intelligent power distribution IDPS+high-voltage power supplement solution, after powering the necessary control units, the upgrade master node will transparently transmit the software upgrade package of each control unit to be upgraded to the upgrade partition of the control unit to be upgraded.

[0093] S430: transparently transmit the software upgrade package of each control unit to be upgraded to the upgrade partition of the control unit to be upgraded.

[0094] As an implementation method, it is determined whether there is a high-voltage control unit to be upgraded in the control unit group to be upgraded; if so, the battery is recharged, and the recharge operation is stopped when the battery's state of charge meets a second preset upgrade condition; if not, the vehicle's engine is controlled to start to continuously recharge the vehicle; the software upgrade package of each control unit to be upgraded is transparently transmitted to the upgrade partition of the control unit to be upgraded itself.

[0095] The second preset upgrade condition may refer to the state of charge of the battery reaching a second threshold, and the second threshold may be 85%, for example.

[0096] Determine whether there is a high-voltage control unit to be upgraded in the control unit group to be upgraded; if so, perform a charging operation on the battery, and stop the charging operation when the battery's state of charge meets a second preset upgrade condition; if not, control the vehicle's engine to start to continuously charge the vehicle, so as to continuously charge the vehicle during the transmission process included in the software upgrade of the control unit to be upgraded.

[0097] In this embodiment, when the vehicle speed is below a preset speed, the state of charge is above a target state of charge, and the health factor is within a preset range, the software upgrade package corresponding to each control unit to be upgraded is retrieved from the cloud server, preventing software upgrade package download failures due to insufficient battery. Furthermore, if a high-voltage control unit is included in the group of control units to be upgraded, a power boost is performed to prevent software upgrade package transmission failures due to insufficient battery.

[0098] In order to more clearly understand the technical solution of the present application, the solution of the present application is explained below in conjunction with an exemplary scenario. In this scenario, the technical solution of the present application is based on the EEA3.0 architecture, and the upgrade process is responsible for the CCU or T-BOX in the vehicle.

[0099] like Figure 7 As shown, the upgrade master node and FOTA establish an authentication connection through HTTPS two-way authentication. The upgrade master node obtains the vehicle's speed, battery state of charge, and battery health factor. When the vehicle speed is lower than a preset speed, the state of charge is higher than the target state of charge, and the health factor is within a preset range, the upgrade master node obtains the software upgrade package corresponding to each control unit to be upgraded from the FOTA cloud server. The FOTA cloud server can send the obtained software upgrade package to the upgrade master node via the MQTT protocol, and the upgrade master node downloads the software upgrade package silently.

[0100] After the upgrade master node downloads the software upgrade package, it caches the software upgrade package to the local storage space (for example, the EMMC memory of the upgrade master node). The upgrade master node uses the SHA256 algorithm to check the integrity of the software upgrade package. If it is incomplete, the software upgrade package is downloaded again. If it is complete, the subsequent steps are executed.

[0101] If the software upgrade package needs to be cached (at this time, the software upgrade package is small, generally tens of MB, and can be cached by the upgrade master node), the vehicle's PKI interface is called to obtain the secret key (the secret key is obtained during Https two-way authentication), and the software upgrade package is decrypted using the secret key and stored securely.

[0102] If caching is not required (in this case, the software upgrade package is large, generally hundreds of M or several GB, and each control unit to be upgraded needs to store it by itself), power is supplied to the necessary control units in the vehicle; and it is determined whether there is a high-voltage control unit to be upgraded in the control unit group to be upgraded. If so, the battery is recharged, and the recharging operation is stopped when the battery's state of charge meets the second preset upgrade condition; if not, the vehicle's engine is controlled to start to continuously recharge the vehicle; the software upgrade package of each control unit to be upgraded is transmitted to the upgrade partition of the control unit to be upgraded through the UDS-38 service.

[0103] At this point, the software upgrade package download is complete, and the user is notified that there is an upgrade task, please confirm. After the user confirms, the subsequent upgrade process will be executed.

[0104] like Figure 8 As shown, the upgrade process of each control unit to be upgraded is as follows:

[0105] The upgrade master node obtains the upgraded version information of the software upgrade package corresponding to the control unit to be upgraded and the old version information of the old version of the software corresponding to the control unit to be upgraded before the software upgrade; if the upgraded version information is not lower than the old version information, the upgrade process is started, and the SM2 algorithm is used (it can still be to call the vehicle's PKI interface to obtain the secret key, which is obtained during Https two-way authentication) to verify the signature of the upgrade package. After the signature verification is successful, the battery charge status is obtained; if the signature verification fails, the upgrade process is stopped and the user is notified of the upgrade failure.

[0106] If it is determined that the charge state does not meet the first preset upgrade condition, determine whether the control unit to be upgraded is a high-voltage control unit to be upgraded; if so, perform a charging operation on the battery, and stop the charging operation when the charge state of the battery meets the first preset upgrade condition; if not, control the vehicle's engine to start to continuously charge the vehicle; and flash the control unit to be upgraded using the software upgrade package corresponding to the control unit to be upgraded.

[0107] If it is determined that the state of charge meets the first preset upgrade condition, the control unit to be upgraded is directly flashed using the software upgrade package corresponding to the control unit to be upgraded.

[0108] If the flashing is successful, when the software version information of the software upgrade package corresponding to the control unit to be upgraded matches the software version information after the flashing, it is determined that the upgrade of the control unit to be upgraded is completed.

[0109] If the flashing is successful, when the software version information of the software upgrade package corresponding to the control unit to be upgraded does not match the software version information after flashing, it is determined that the upgrade of the control unit to be upgraded has failed, and the old version software in the running partition of the control unit to be upgraded will be synchronized to the upgrade partition of the control unit to be upgraded.

[0110] If the flashing fails, the old version of the software in the running partition of the control unit to be upgraded is synchronized to the upgrade partition of the control unit to be upgraded.

[0111] When it is determined that the upgrade of the control unit to be upgraded is complete, the upgraded software corresponding to the control unit to be upgraded is controlled to run in the upgrade partition of the control unit to be upgraded, and the execution result of the upgraded software corresponding to the control unit to be upgraded is obtained. If the execution result is successful, it is determined that the upgrade of the control unit to be upgraded is successful. If the execution result is failure, the old version of the software in the running partition of the control unit to be upgraded is synchronized to the upgrade partition of the control unit to be upgraded.

[0112] A synchronization instruction is generated when the software of each control unit to be upgraded in the control unit group to be upgraded is successfully upgraded; according to the synchronization instruction, the software of each control unit to be upgraded is controlled to run in its own upgrade partition; the upgraded software corresponding to the control unit to be upgraded is obtained from the upgrade partition of each control unit to be upgraded; and the upgraded software corresponding to each control unit to be upgraded is synchronized to its own running partition.

[0113] Reference Figure 9 , Figure 9 The following is a block diagram of a vehicle upgrade device according to an embodiment of the present application. The device 700 is used in a vehicle and includes:

[0114] Receiving module 710 is configured to receive a synchronization instruction. The synchronization instruction is generated when the software of each control unit to be upgraded in the control unit group to be upgraded is successfully upgraded. The software of each control unit to be upgraded is upgraded in the upgrade partition of the control unit to be upgraded. Before the software of each control unit to be upgraded is upgraded, the software in the upgrade partition of the control unit to be upgraded is the same as the software in the running partition, and the software of the control unit to be upgraded is running in its own running partition.

[0115] The control module 720 is used to control the software of each control unit to be upgraded to run in its own upgrade partition according to the synchronization instruction;

[0116] An acquisition module 730 is configured to acquire the upgraded software corresponding to each control unit to be upgraded from the upgrade partition of the control unit to be upgraded;

[0117] The synchronization module 740 is used to synchronize the upgraded software corresponding to each control unit to be upgraded to its own running partition.

[0118] Furthermore, the device also includes a determination module for obtaining the software version information of the control unit to be upgraded after being flashed if the control unit to be upgraded is successfully flashed through the software upgrade package corresponding to the control unit to be upgraded, and the software upgrade package corresponding to the control unit to be upgraded refers to the upgrade package used to flash the control unit to be upgraded; when the software version information of the software upgrade package corresponding to the control unit to be upgraded matches the software version information after being flashed, it is determined that the upgrade of the control unit to be upgraded is completed; the upgraded software corresponding to the control unit to be upgraded is controlled to run in the upgrade partition of the control unit to be upgraded, and the running result of the upgraded software corresponding to the control unit to be upgraded is obtained; when the running result is successful, it is determined that the upgrade of the control unit to be upgraded is successful.

[0119] Furthermore, the determination module is also used to obtain the old version software corresponding to the control unit to be upgraded from the running partition of the control unit to be upgraded when the running result is operation failure or upgrade failure of the control unit to be upgraded. The upgrade failure of the control unit to be upgraded includes the failure to flash the software of the control unit to be upgraded, or the software version information of the software upgrade package corresponding to the control unit to be upgraded does not match the software version information after flashing; the old version software is synchronized to the upgrade partition of the control unit to be upgraded.

[0120] Furthermore, the device also includes a flashing module for obtaining the state of charge of the vehicle's battery; if it is determined that the state of charge does not meet the first preset upgrade condition, it is determined whether the control unit to be upgraded is a high-voltage control unit to be upgraded; if so, the battery is recharged, and the recharge operation is stopped when the state of charge of the battery meets the first preset upgrade condition; if not, the vehicle's engine is controlled to start to continuously recharge the vehicle; the control unit to be upgraded is flashed through the software upgrade package corresponding to the control unit to be upgraded, and the software upgrade package corresponding to the control unit to be upgraded refers to the upgrade package used to flash the control unit to be upgraded.

[0121] Furthermore, the flashing module is also used to obtain the upgraded version information of the software upgrade package corresponding to the control unit to be upgraded and the old version information of the old version software corresponding to the control unit to be upgraded before the software upgrade; if the upgraded version information is not lower than the old version information, the charge state of the battery is obtained.

[0122] Furthermore, the device also includes a transmission module for obtaining a software upgrade package corresponding to each control unit to be upgraded from a cloud server, where the software upgrade package corresponding to each control unit to be upgraded refers to an upgrade package used to flash the control unit to be upgraded; powering the necessary control units in the vehicle, where the necessary control units include the control units currently running in the vehicle and each control unit to be upgraded in the group of control units to be upgraded; and transparently transmitting the software upgrade package of each control unit to be upgraded to the upgrade partition of the control unit to be upgraded itself.

[0123] Furthermore, the transmission module is also used to determine whether there is a high-voltage control unit to be upgraded in the control unit group to be upgraded; if so, the battery is recharged and the recharging operation is stopped when the battery's state of charge meets the second preset upgrade condition; if not, the vehicle's engine is controlled to start to continuously recharge the vehicle; and the software upgrade package of each control unit to be upgraded is transparently transmitted to the upgrade partition of the control unit to be upgraded itself.

[0124] Furthermore, the transmission module is also used to obtain the vehicle speed, battery state of charge and battery health factor; when the vehicle speed is lower than the preset speed, the battery state of charge is higher than the target state of charge and the health factor is within the preset range, the software upgrade package corresponding to each control unit to be upgraded is obtained from the cloud server.

[0125] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices and modules can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0126] In several embodiments provided in this application, the coupling between modules may be electrical, mechanical or other forms of coupling.

[0127] In addition, the functional modules in the various embodiments of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into a single module. The above-mentioned integrated modules may be implemented in the form of hardware or software functional modules.

[0128] refer to Figure 10 , Figure 10 The computer-readable storage medium 900 is a block diagram showing a structure of a computer-readable storage medium provided in an embodiment of the present application. The computer-readable storage medium 900 stores program code, which can be called by a processor to execute the method described in the above method embodiment.

[0129] The computer-readable storage medium 900 can be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read-Only Memory), an EPROM, a hard disk, or a ROM. Alternatively, the computer-readable storage medium 900 includes a non-transitory computer-readable storage medium. The computer-readable storage medium 900 has storage space for program code 910 for executing any of the method steps described above. These program codes can be read from or written to one or more computer program products. The program code 910 can be compressed, for example, in a suitable form.

[0130] In summary, the present application provides a calibration pattern generation method, calibration pattern registration method, device, and vehicle. After acquiring a calibration scene, a pseudo-random array corresponding to the calibration scene is obtained. A calibration pattern is generated based on the pseudo-random array and multiple graphical primitives. The pseudo-random array is used to determine the positions of the graphical primitives within the calibration pattern. This approach enables the generation of different pseudo-random arrays based on different calibration scenes, and thus different calibration patterns based on different pseudo-random arrays, thereby improving the accuracy of sensor calibration under different calibration scenarios.

[0131] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A vehicle upgrading method, characterized in that: The vehicle includes at least one control unit group, each control unit group includes a plurality of control units, each control unit includes a non-overlapping upgrade partition and an operation partition, and the method includes: receiving a synchronization instruction, wherein the synchronization instruction is generated when the software of each control unit to be upgraded in the group of control units to be upgraded is successfully upgraded, the software of each control unit to be upgraded being upgraded in the upgrade partition of the control unit to be upgraded; before the software of each control unit to be upgraded is upgraded, the software in the upgrade partition of the control unit to be upgraded is the same as the software in the running partition, and the software of the control unit to be upgraded is running in its own running partition; According to the synchronization instruction, control the software of each control unit to be upgraded to run in its own upgrade partition; Obtaining the upgraded software corresponding to the control unit to be upgraded from the upgrade partition of each control unit to be upgraded; Synchronize the upgraded software corresponding to each control unit to be upgraded to its own running partition; For each of the control units to be upgraded, after the upgrade of the control unit to be upgraded is completed, the upgraded software corresponding to the control unit to be upgraded is controlled to run in the upgrade partition of the control unit to be upgraded, and the running result of the upgraded software corresponding to the control unit to be upgraded is obtained; when the control unit to be upgraded is successfully flashed using the corresponding software upgrade package, and the software version information of the software upgrade package corresponding to the control unit to be upgraded matches the flashed software version information, it is determined that the upgrade of the control unit to be upgraded is completed; the software upgrade package corresponding to the control unit to be upgraded is an upgrade package used to flash the control unit to be upgraded; For each control unit to be upgraded, when at least one of the following occurs: an operation result of the control unit to be upgraded is an operation failure, an upgrade failure of the control unit to be upgraded, and an upgrade failure of a control unit to be upgraded in the control unit group; obtaining an old version of software corresponding to the control unit to be upgraded from the operation partition of the control unit to be upgraded; The old version software of each control unit to be upgraded is synchronized to its own upgrade partition.

2. The method according to claim 1, characterized in that The method for determining whether the control unit to be upgraded is successfully upgraded includes: When the upgrade of the control unit to be upgraded is completed and the operation result of the control unit to be upgraded is successful, it is determined that the upgrade of the control unit to be upgraded is successful.

3. The method according to claim 2, characterized in that The failure to upgrade the control unit to be upgraded includes failure to flash the software of the control unit to be upgraded, or the software version information of the software upgrade package corresponding to the control unit to be upgraded does not match the software version information after flashing.

4. The method according to claim 1, wherein The flash writing method of the control unit to be upgraded includes: Obtaining a state of charge of a battery of the vehicle; If it is determined that the state of charge does not meet the first preset upgrade condition, determining whether the control unit to be upgraded is a high-voltage control unit to be upgraded; If so, performing a charging operation on the battery, and stopping the charging operation when the state of charge of the battery meets the first preset upgrade condition; if not, controlling the engine of the vehicle to start to continuously charge the vehicle; The control unit to be upgraded is flashed using the software upgrade package corresponding to the control unit to be upgraded.

5. The method according to claim 4, characterized in that The obtaining of the state of charge of the battery of the vehicle includes: Obtaining the upgraded version information of the software upgrade package corresponding to the control unit to be upgraded and the old version information of the old version software corresponding to the control unit to be upgraded before the software upgrade; If the upgraded version information is not lower than the old version information, the state of charge of the battery is obtained.

6. The method according to claim 1, characterized in that Before receiving the synchronization instruction, the method further includes: Obtaining a software upgrade package corresponding to each control unit to be upgraded from the cloud server; Powering necessary control units in the vehicle, the necessary control units including the control units currently in operation in the vehicle and each control unit to be upgraded in the group of control units to be upgraded; The software upgrade package of each control unit to be upgraded is transparently transmitted to the upgrade partition of the control unit to be upgraded.

7. The method according to claim 6, characterized in that The transparently transmitting the software upgrade package of each control unit to be upgraded to the upgrade partition of the control unit to be upgraded includes: Determining whether there is a high-voltage control unit to be upgraded in the control unit group to be software upgraded; If the condition exists, the battery of the vehicle is charged, and the charging operation is stopped when the state of charge of the battery meets the second preset upgrade condition; if the condition does not exist, the engine of the vehicle is controlled to start to continuously charge the vehicle; The software upgrade package of each control unit to be upgraded is transparently transmitted to the upgrade partition of the control unit to be upgraded.

8. The method according to claim 6, characterized in that Obtaining the software upgrade package from the cloud server includes: Obtaining the vehicle speed, the battery state of charge, and the battery health factor; When the vehicle speed is lower than a preset vehicle speed, the state of charge is higher than a target state of charge, and the health factor is within a preset range, a software upgrade package corresponding to each control unit to be upgraded is obtained from a cloud server.

9. A vehicle upgrading device, characterized in that: The vehicle includes at least one control unit group, each control unit group includes a plurality of control units, each control unit includes a non-overlapping upgrade partition and an operation partition, and the device includes: a receiving module, configured to receive a synchronization instruction, wherein the synchronization instruction is generated when the software of each control unit to be upgraded in the control unit group to be upgraded is successfully upgraded, and the software of each control unit to be upgraded is upgraded in the upgrade partition of the control unit to be upgraded; before the software of each control unit to be upgraded is upgraded, the software in the upgrade partition of the control unit to be upgraded is the same as the software in the running partition, and the software of the control unit to be upgraded runs in its own running partition; A control module, configured to control the software of each control unit to be upgraded to run in its own upgrade partition according to the synchronization instruction; an acquisition module, configured to acquire the upgraded software corresponding to the control unit to be upgraded from the upgrade partition of each control unit to be upgraded; A synchronization module is used to synchronize the upgraded software corresponding to each of the control units to be upgraded to its own running partition; for each of the control units to be upgraded, after the upgrade of the control unit to be upgraded is completed, control the upgraded software corresponding to the control unit to be upgraded to run in the upgrade partition of the control unit to be upgraded, and obtain the running result of the upgraded software corresponding to the control unit to be upgraded; when the control unit to be upgraded is successfully flashed with the corresponding software upgrade package, and the software version information of the software upgrade package corresponding to the control unit to be upgraded matches the software version information after flashing, it is determined that the upgrade of the control unit to be upgraded is completed; the software upgrade package corresponding to the control unit to be upgraded refers to the upgrade package used to flash the control unit to be upgraded; for each of the control units to be upgraded, when the running result of the control unit to be upgraded is at least one of the following: operation failure, upgrade failure of the control unit to be upgraded, and the existence of an upgraded control unit in the control unit group that has failed to upgrade, obtain the old version software corresponding to the control unit to be upgraded from the running partition of the control unit to be upgraded; synchronize the old version software of each control unit to be upgraded to its own upgrade partition.

10. A vehicle, characterized in that: The vehicle comprises: one or more processors; Memory; At least one control unit group, each control unit group including a plurality of control units, each control unit including a non-overlapping upgrade partition and a running partition; One or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured to execute the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Controller upgrading method and system

    CN113320491A

  • Controller upgrading method and system

    CN113504771A