Motor controller upgrading method, upgrading compressed package generation method and upgrading device

Through the upgrade method of parallel transmission and restoration, the upgrade package of the motor controller is divided into multiple independent compression packages, which solves the problems of slow upgrade speed and high resource consumption in the existing technology, and realizes efficient and stable upgrade of the motor controller , improving the speed and compatibility of OTA upgrades of the entire vehicle.

CN119166183APending Publication Date: 2024-12-20HUAWEI DIGITAL POWER TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411155929.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-21
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

The prior art has problems in compression rate, decompression performance and resource occupation during the upgrade process of motor controllers, resulting in slow upgrade speed and high consumption of flash memory and memory resources on the ECU, affecting the upgrade speed of OTA in the whole vehicle.

Method used

Using parallel transmission and restoration upgrade method, the compressed upgrade package is divided into multiple independent compressed packages. Each compressed package is transmitted and decompressed separately, and the data block size and order information are included in the package header. , supports compression algorithms and signed data, ensuring the efficiency and reliability of transmission and decompression.

Benefits of technology

It improves the upgrade speed of the motor controller, reduces resource occupation and compatibility issues, realizes efficient upgrades on components with limited resources, supports breakpoint continuous transmission, and improves the speed and stability of the OTA upgrade of the entire vehicle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119166183A_ABST
    Figure CN119166183A_ABST
Patent Text Reader

Abstract

The invention discloses a motor controller upgrading method, an upgrading package generation method and an upgrading device, relates to the field of new energy automobiles, and can be applied to motor controllers of vehicles. The cache region of the motor controller sequentially receives a plurality of compressed packages in the compressed upgrade package, the compressed packages are used for writing upgrade version data on the motor controller, each compressed package corresponds to one data block, and the data block comprises part of data in the upgrade version data. And in response to completion of receiving of one compressed packet in the cache region, the motor controller performs data decompression processing on the compressed packet. According to the scheme provided by the invention, the volume of the compressed upgrade package is reduced, and meanwhile, the reduction does not need to be started after the whole compressed package is transmitted, so that the upgrade speed is improved, the transmission and reduction processing time is shortened, the resource occupation of upgrade is reduced, and the compatibility is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of motor controller control, and more specifically, to a motor controller upgrade method, an upgrade compression package generation method and an upgrade device. Background Art

[0002] As the role of software in cars becomes more and more important, software-defined cars have become a consensus in the industry. As the number of lines of software code in cars continues to grow in direct proportion, the complexity of software engineering and the probability of software failure will increase rapidly. Vehicles may encounter software failures or need to be updated due to the need for smart car updates and iterations. Over the air technology (OTA) solves the problem of frequent software updates. Through OTA technology, defects can be quickly repaired remotely, avoiding the risks of factory recalls that last for months. Through OTA upgrades, new functions can be continuously enabled for users, product experience can be continuously optimized, and rapid iterations can be performed. But at the same time, with the evolution of the trend of automotive electrification, the electronic and electrical architecture of the entire vehicle is developing towards centralized domain control, which puts higher requirements on the speed of OTA upgrades of the entire vehicle.

[0003] Due to the large number of on-board electronic control units (ECUs), the upgrade speed of traditional ECUs without a file system has always been a bottleneck for vehicle OTA upgrades, especially for scenarios where ECU serial upgrades are required. The upgrade time of a single ECU has a direct impact on the OTA time of the entire vehicle. The current compression upgrade has problems with compression rate, decompression performance, and resource usage. It cannot effectively improve the upgrade speed and will consume a large amount of ECU flash and memory resources. The software upgrade of the motor control unit (MCU) has similar problems.

[0004] Therefore, how to improve the upgrade speed of the motor controller is an urgent problem to be solved. Summary of the invention

[0005] The present application provides an upgrade method for a motor controller MCU, a method for generating an upgrade compressed package, and a device used in the upgrade method. The compressed upgrade package is set to multiple compressed packages according to the compression rate. During the upgrade process, one compressed package is transmitted and one compressed package is restored at the same time. The transmission and restoration are carried out in parallel. According to the scheme of the present application, the size of the compressed upgrade package becomes smaller, and there is no need to transmit the entire compressed package and then start the restoration, thereby improving the upgrade speed, reducing the time for transmission and restoration processing, and reducing the resource occupation of the upgrade, and improving compatibility.

[0006] In a first aspect, the present application provides an upgrade method for a motor controller, the upgrade method comprising a buffer area of ​​the motor controller sequentially receiving a plurality of compressed packages in a compressed upgrade package, the compressed packages being used to write upgrade version data on the motor controller, each compressed package corresponding to a data block, the data block including part of the data in the upgrade version data. In response to the completion of receiving a compressed package in the buffer area, the motor controller performs data decompression processing on the compressed package.

[0007] The compressed upgrade package includes multiple independent compressed packages, each of which can be transmitted and restored separately. The motor controller can receive the compressed packages in sequence and transmit and restore them in units of compressed packages. Each compressed package includes a data block in the upgraded version, and the data block includes part of the data in the upgraded version data. The length of the partial data corresponding to the data block can be a preset length. The preset length can be flexibly changed. For example, the data block can be optimized by sliding the window on the upgraded version data file to find the best compression rate, thereby determining the length of each data block. For partial data that does not reach the preset length, the remaining data can be divided into independent blocks.

[0008] According to the solution of the present application, there is no need to perform the restoration process after the entire compressed upgrade package is transmitted. The transmission and restoration can be carried out in parallel, which can increase the upgrade speed, reduce the time for transmission and restoration processing, shorten the total upgrade time, reduce the resource usage of the upgrade, and improve compatibility.

[0009] In the upgrade method of the motor controller of the first aspect, the upgrade method further includes the motor controller decompressing a compressed package and writing the data obtained into the flash area of ​​the motor controller. After all compressed packages have completed the data decompression process, the flash area obtains the upgraded version data.

[0010] The new file that has been restored is written into the flash memory area of ​​the new file, and the process is repeated until all files in the compressed package have been restored. The size of the data block corresponding to the compressed package can be determined according to the size of the flash memory area, thereby reducing the occupation of the flash area by the restored data during the recovery process.

[0011] According to the solution of the present application, data decompression processing occupies fewer resources and can be used on components with smaller flash resource capacity, thereby improving the applicability of the upgrade method and reducing compatibility issues.

[0012] In the upgrade method of the motor controller of the first aspect, the motor controller performs a cyclic redundancy check (CRC) on the compressed package before decompressing the data.

[0013] Before decompressing the compressed package, a cyclic redundancy check (CRC) is performed. When the check passes, the compressed package is decompressed to ensure the correctness of the restoration process. The header information of each compressed package also contains signature data, which is used to verify the compressed package. When the compressed package is successfully verified, it can be determined that the compressed package has been successfully transmitted, and then the compressed package is decompressed and restored.

[0014] According to the scheme of the present application, the CRC checksum has a strong error detection capability, can be implemented through a simple algorithm and a small amount of computing resources, and has strong applicability. The CRC checksum can significantly improve the reliability and integrity of the data, and improve the effectiveness and ease of use of the upgrade method.

[0015] In the upgrade method of the motor controller of the first aspect, the motor controller sequentially receives all compressed packages in the compressed upgrade package in the cache area of ​​the motor controller through the over-the-air download technology OTA or a proximal diagnostic instrument based on the unified diagnostic service UDS protocol.

[0016] The motor controller receives multiple compressed packages in the compressed upgrade package in sequence in the cache area through the over-the-air download technology OTA or the near-end diagnostic instrument based on the unified diagnostic services (UDS) protocol. The vehicle end can wirelessly download the compressed upgrade package released by the remote end through the vehicle information box T-Box and upgrade the motor controller MCU on the vehicle end. The vehicle end can also obtain the compressed upgrade package by connecting to the near-end diagnostic instrument.

[0017] According to the solution of this application, there is no need to modify the original upgrade process. You only need to package and distribute it in a compressed package and deploy it on a single board. Without any changes to the interactive process, you can seamlessly support component compression upgrades. Components that support compression upgrades can coexist with components that do not support them. In the scenario where the vehicle upgrade process and end-to-end do not make any changes, compatibility issues are reduced.

[0018] In the upgrade method of the motor controller of the first aspect, the compressed upgrade package includes a header, and the header is used to indicate at least one of the following: the number of multiple compressed packages, the size of the data block corresponding to each compressed package, and the compressed packages are numbered in order of size.

[0019] The header of the compressed upgrade package will carry information such as the number of data blocks supported, the number of commands and data supported, and the supported compression algorithms.

[0020] According to the solution of the present application, the compressed upgrade package can include the data block size and sequence information corresponding to all compressed packages, so that during the upgrade process, it can be transmitted and restored in sequence, thereby improving the stability and effectiveness of the upgrade.

[0021] In the upgrade method of the motor controller of the first aspect, the motor controller receives multiple compressed packages in the compressed upgrade package in the buffer area of ​​the motor controller in sequence according to the sequence number of the compressed packages indicated by the packet header.

[0022] The compressed packages in the compressed upgrade package need to be placed in a predetermined order.

[0023] According to the solution of the present application, during the processing of the previous compressed package, continue to receive files, and after the previous compressed package is processed, continue to fetch data from the buffer to process the next compressed package, and repeat the cycle until the last compressed package. Processing in sequence can improve the stability of the upgrade.

[0024] In the upgrade method of the motor controller of the first aspect, each compressed package further includes address information of a corresponding data block, and the address information of the data block is used to indicate an address of a flash area of ​​the motor controller where the data block is written.

[0025] Each compressed package includes header information, which contains the address of the flash memory area where the data in the compressed package needs to be written. This allows each compressed package to be transmitted separately, and when the transmission is interrupted, it can continue from the last transmission when it is restarted next time. When a power outage or failure occurs during the upgrade process, the availability of the motor controller to be upgraded is guaranteed by stopping the upgrade and restoring the source version data, and the previous upgrade data is cleared to ensure a smooth upgrade next time.

[0026] According to the solution of the present application, by including corresponding address information in each compressed package, each compressed package can be transmitted and processed separately, and the upgrade can continue with the previous upgrade process after a transmission error or interruption, thereby improving the reliability of the upgrade.

[0027] In the upgrade method of the motor controller of the first aspect, the capacity of the cache area is larger than the size of a data block corresponding to a compressed package.

[0028] During the transmission of the compressed upgrade package, the motor controller MCU can set appropriate windows and buffers. The capacity of the buffer is greater than the length of a data block. The size of the buffer is set to match the compressed package transmission timing.

[0029] According to the solution of the present application, the size of the buffer area can be flexibly adjusted to improve the receiving efficiency, the efficiency of a single transmission is greatly improved, and the flexibility is improved.

[0030] In a second aspect, the present application provides a method for generating a compressed upgrade package of a motor controller, the method comprising dividing the upgrade version data into a plurality of data blocks according to a preset data length. Each data block is compressed to obtain a compressed package, and the compressed packages are numbered in a sequence sorted by size. The compressed packages are sorted by size and combined into a compressed upgrade package, the compressed upgrade package is used to write the upgrade version data on the motor controller to be upgraded, when the compressed upgrade package is transmitted, the compressed packages in the compressed upgrade package are numbered in a sequence sorted by size and transmitted in sequence, and the data of the compressed package is decompressed immediately after the transmission of a compressed package is completed.

[0031] The size of the data block can be flexibly changed, depending on the memory resources of the motor controller MCU. The data block size can be flexibly set to reduce the occupation of the motor controller MCU memory resources.

[0032] In the method for generating a compressed upgrade package for a motor controller of the second aspect, the compressed upgrade package includes a header, which is used to indicate at least one of the following: the number of compressed packages, the size of the data block corresponding to each compressed package, and the order of the compressed packages sorted by size. Each compressed package includes address information of the corresponding data block, and the address information of the data block is used to indicate the address in the motor controller to be upgraded where the data corresponding to the compressed package is written.

[0033] The size of the data block can be changed flexibly, depending on the memory resources of the motor controller MCU. The data blocks are optimized by sliding windows on the file to find the best compression rate, and each data block is numbered. The data blocks can be merged and sorted in order according to the compression rate.

[0034] According to the solution of the present application, when resources meet the requirements for data block division, the size and position of data blocks can also be dynamically adjusted through tools to obtain the best overall compression rate and reduce resource usage.

[0035] In the method for generating a compressed upgrade package for a motor controller of the second aspect, the generating method further includes adding signature data to the compressed upgrade package, and the signature data is used to verify the compressed package.

[0036] The method also includes using a preset simulation program to perform an upgrade simulation operation on the compressed upgrade package to obtain simulated upgrade version data, and comparing the simulated upgrade version data with the upgrade version data for verification.

[0037] The cloud can simulate the recovery process of the compressed upgrade package in the compression upgrade, so as to compare the generated file with the upgrade version data, verify the correctness of the compressed upgrade package, and improve the accuracy of the compressed upgrade package generation.

[0038] In a third aspect, the present application provides a motor controller upgrade package compression application software product, the upgrade package compression application software is installed on a PC, and the upgrade package compression application software uses the compressed upgrade package generation method in the second aspect to compress the motor controller compressed upgrade package.

[0039] In the fourth aspect, the present application provides a device for upgrading a motor controller, the device comprising a transceiver, a processor, a memory and an interface, the memory being used to store the compressed upgrade package in the motor controller upgrade method described in the first aspect, the processor utilizing the transceiver to receive the compressed upgrade package from the interface via the over-the-air download technology OTA or a proximal diagnostic instrument and sending the compressed upgrade package to the motor controller MCU to be upgraded via the controller area network CAN bus.

[0040] In a fifth aspect, the present application provides a powertrain, which includes the motor controller and drive motor provided in the first aspect, and the powertrain receives high-voltage direct current and inverts and outputs three-phase alternating current through the motor controller to supply the drive motor for operation.

[0041] Correspondingly, integrating the motor controller provided in this application into the powertrain can more efficiently implement the upgrade of the motor control program of the powertrain, thereby facilitating the use and maintenance of the powertrain.

[0042] In a sixth aspect, the present application provides a vehicle, comprising a motor controller provided in the first aspect and a device for using the motor controller upgrade method provided in the third aspect, wherein the device for using the motor controller upgrade method is used to receive a compressed upgrade package via over-the-air download technology OTA or PC transmission and pass it to the motor controller for upgrade use.

[0043] Correspondingly, the motor controller and the device for using the motor controller compression upgrade method provided in this application are integrated into the vehicle, and the motor control program can be upgraded more efficiently by using the over-the-air download technology OTA or PC transmission, which facilitates the use and maintenance of the vehicle.

[0044] It should be noted that the upgrade method of the motor controller MCU, the method for generating the upgrade compression package and the device used for the upgrade of this application are not only used on the motor controller MCU, but can also be used in other electronic control devices with similar upgrade requirements such as on-board charger OBC, vehicle information box (TBOX), smart cockpit domain controller (CDC), smart driving domain controller (MDC), vehicle control domain controller (VDC), vehicle controller VCU and other fields.

[0045] In the seventh aspect, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program runs on a computer, the computer executes instructions of the method of the first aspect or the second aspect and various implementation methods mentioned above.

[0046] In an eighth aspect, a computer program product is provided, which includes a computer program code, and when the computer program code is executed, instructions for executing the method of the first aspect or the second aspect and various implementation methods are executed.

[0047] Specifically, the beneficial effects of other aspects can refer to the beneficial effects described in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Figure 1 is a schematic diagram of a vehicle provided in an embodiment of the present application;

[0049] Figure 2 is a schematic diagram of a vehicle architecture provided in an embodiment of the present application;

[0050] Figure 3 This is a schematic diagram of OTA upgrade provided by an embodiment of the present application;

[0051] Figure 4 This is a schematic diagram of the traditional compression upgrade process provided by the embodiment of the present application;

[0052] Figure 5 It is a schematic diagram of a method for generating a compressed upgrade package provided in an embodiment of the present application;

[0053] Figure 6 It is a schematic diagram of the compression upgrade process provided by the embodiment of the present application;

[0054] Figure 7 It is a device for using the motor controller MCU differential upgrade provided in the embodiment of the present application. DETAILED DESCRIPTION

[0055] The following will describe the technical solution in the present application in conjunction with the accompanying drawings. The detailed description of the following embodiments and the accompanying drawings are used to exemplarily illustrate the principles of the present application, but cannot be used to limit the scope of the present application, that is, the present application is not limited to the described embodiments.

[0056] As the core technology that distinguishes it from traditional fuel vehicles, the "three-electric technology" of new energy vehicles has developed rapidly. The three-electric system refers to the electric drive system, battery system and electronic control system of electric vehicles. These three systems are also the core technologies of electric vehicles. The three-electric system includes many intelligent components and traditional components.

[0057] Smart components refer to components with operating systems and file systems, usually microprocessor units (MPUs) and microcontroller units (MCUs), with diagnostic communication over internet protocol (DoIP) as the main diagnostic and upgrade channel, such as telematics boxes (TBOXs), smart cockpit domain controllers (CDCs), mobile data centers (MDCs), vehicle domain controllers (VDCs), vehicle identification units (VIUs), etc. Traditional components refer to embedded components of traditional MCUs, without MPUs, intelligent operating systems, and file systems.

[0058] In order to better illustrate the solution of the present application, some relevant terms are explained below.

[0059] (1) Electronic control unit (ECU) is a microcomputer controller for automobiles. Like ordinary computers, it is composed of large-scale integrated circuits such as a microprocessor (CPU), memory (ROM, RAM), input / output interface (I / O), and analog-to-digital converter (A / D). ECU is a control device used to realize a series of functions such as data analysis, processing, and transmission. Various sensors transmit signals to the input circuit through the input interface. The input circuit completes the signal filtering and converts various signals into digital signals, which are then transmitted to the microprocessor. The microprocessor calculates the processed signals and sends the results to the output circuit. The output circuit amplifies the digital information transmitted by the microprocessor, converts certain signals into analog signals as needed, and drives the controlled adjustment servo element to work.

[0060] Typical vehicle-mounted ECUs include the vehicle control unit (VCU) in the power domain, the motor control unit (MCU), the on-board charger (OBC), the battery management system BMS, etc.

[0061] The vehicle controller VCU can also be called the vehicle control unit of an electric vehicle. VCU is the assembly controller of the electric vehicle power system, responsible for coordinating the work of various components such as the engine, drive motor, gearbox, power battery, etc., and has the function of improving the vehicle's power performance, safety performance and economy. It is the core component of the electric vehicle control system, and is the core control device used to control the start, operation, advance and retreat, speed, stop of the electric vehicle motor and other electronic devices of the electric vehicle. As the core component of the pure electric vehicle control system, VCU undertakes the tasks of data exchange, safety management, driver intention interpretation, and energy flow management. VCU collects motor control system signals, accelerator pedal signals, brake pedal signals and other component signals, and after comprehensive analysis and response judgment based on the driver's driving intention, monitors the actions of the lower-level component controllers, and plays a key role in the normal driving of the car, braking feedback of battery energy, network management, fault diagnosis and processing, vehicle status monitoring and other functions.

[0062] The motor controller MCU is a core power electronic unit unique to new energy vehicles. It controls the motor to output the specified torque and speed by receiving the vehicle driving control instructions from the VCU to drive the vehicle. The MCU converts the DC power of the power battery into the required high-voltage AC power and drives the motor body to output mechanical energy. The MCU has the functions of motor system fault diagnosis protection and storage. The MCU consists of a housing and cooling system, a power electronic unit, a control circuit, underlying software, and control algorithm software.

[0063] The on-board charger OBC is used to charge the car. The grid voltage is connected to the OBC via the ground AC charging pile and AC charging port to charge the power battery. As the interface between the electric vehicle and the public power grid, the on-board charger can meet the charging needs of the electric vehicle power battery. At the same time, it can also invert the DC power of the power battery into AC power and feed it back to the power grid to realize the energy conversion between the electric vehicle power battery and the power grid. OBC also provides necessary protection functions during the charging process, including overvoltage, undervoltage, overcurrent, undercurrent and other protection measures. When an abnormality occurs in the charging system, OBC can cut off the power supply in time to ensure the safety of the charging process.

[0064] (2) The universal diagnostics system (UDS) is an equipment maintenance protocol frequently used in vehicle systems. The main regulations it complies with are: ISO-15765, ISO-14229. Its main protocol model is derived from the on-board diagnostics system (OBD) and is often used on various ECUs in the vehicle. UDS is one of the more complex protocol layers commonly used in the development of the vehicle ECU application layer. The protocol interaction is divided into client and server. The client is the diagnostic instrument and the server is the ECU on the vehicle. The UDS protocol defines a communication method in a diagnostic system, including the format and transmission method of information such as diagnostic requests and diagnostic responses. It adopts a client-server architecture and communicates in a question-and-answer format. This communication method enables the vehicle's ECU to exchange information with an external diagnostic device (Tester).

[0065] (3) Over the air technology (OTA). It is a technology for remote firmware or software upgrades through the air interface of mobile communications. The so-called "over the air" refers to the remote wireless method, that is, downloading data packets through the wireless network to upgrade the car system. OTA is now widely used in network upgrades of smart TVs, mobile phones, tablets, set-top boxes and other devices. With the development of smart connected cars, OTA online upgrades have become an important function of cars. OTA can be achieved if the car is equipped with a SIM card module or a WiFi module.

[0066] like Figure 1 As shown, the vehicle's electric drive system, charging system, drive braking system, battery management system, etc. include a large number of ECUs that need to be upgraded.

[0067] The electric drive system is a key system of electric vehicles. The operating performance of electric vehicles mainly depends on the type and performance of the electric drive system. The electric drive system mainly includes a drive motor, a transmission mechanism (reducer) and a converter (inverter and DC / DC converter).

[0068] The battery management system (BMS) mainly collects and calculates parameters such as voltage, current, temperature, and SOC, and then controls the battery's charge and discharge process to protect the safety and life of the power battery and improve the battery's overall performance. It mainly includes charging control, discharge control, SOC strategy, energy balance management function, thermal management function, battery safety management function, etc.

[0069] There are three levels of concepts in the battery system: cells, modules and battery packs. In the power battery pack, in order to safely and effectively manage hundreds of single cells, the cells are not placed randomly in the power battery shell, but are placed in order according to modules and packs. The smallest unit is the cell. A group of cells can form a module, and several modules can form a pack. When several modules are controlled or managed together by the BMS and thermal management system, this unified whole is called a battery pack.

[0070] After the automobile industry entered the era of smart electric vehicles, automobile products are changing from "mechanically defined vehicles" to "software defined vehicles", and the electronic and electrical architecture is the key to realizing software-defined vehicles, which is equivalent to the neural network and brain of smart electric vehicles, and determines the digitalization and intelligence level of vehicles. Whether it is the "three-electric" system, or assisted driving, automatic driving, smart cockpit, human-computer interaction, OTA upgrade and other aspects, they are all related to the electronic and electrical architecture.

[0071] like Figure 2 As shown in the figure, the centralized electronic and electrical architecture of the whole vehicle domain mainly includes the vehicle control domain, the intelligent driving domain and the intelligent cockpit domain. Among them, the vehicle control domain basically integrates the traditional vehicle domains such as the original power domain, the chassis domain and the body domain. The intelligent driving domain and the intelligent cockpit domain focus on realizing the intelligence and networking of automobiles. The main components involved are: the vehicle control domain controller VDC, which is responsible for the whole vehicle control and has high real-time safety requirements. The intelligent driving domain controller MDC is responsible for the realization of perception, planning, and decision-making related functions related to autonomous driving. As a Public DCU, the intelligent cockpit domain controller CDC is responsible for the realization of human-machine interaction and intelligent cockpit related functions.

[0072] The telematics box, also known as the car box T-Box, is a compound word of telecommunications and informatics for long-distance communication. It can be literally defined as a service system that provides information through computer systems, wireless communication technologies, satellite navigation devices, and Internet technologies for exchanging text, voice and other information built into vehicles, aviation, ships, trains and other means of transportation. Simply put, it connects vehicles to the Internet through wireless networks to provide car owners with various information necessary for driving and life. As a wireless gateway, T-BOX provides a remote communication interface for the entire vehicle through functions such as remote wireless communication, GPS satellite positioning, acceleration sensing and CAN communication, and provides services including driving data collection, driving trajectory recording, vehicle fault monitoring, vehicle remote query and control (opening and closing locks, air conditioning control, window control, sending torque limit, engine start and stop), driving behavior analysis, wireless hotspot sharing, etc. T-BOX has various interfaces connected to the bus, including not only the traditional controller area network CAN, local interconnect network (LIN) and debugging interface.

[0073] With the evolution of the trend of automobile electrification, the electronic and electrical architecture of the whole vehicle is developing towards the direction of centralized domain control, which puts higher requirements on the speed of OTA upgrade of the whole vehicle. For traditional component ECUs without file systems, their upgrade speed has always been the bottleneck of OTA upgrade of the whole vehicle, especially for scenarios that require ECU serial upgrades. The upgrade time of a single ECU has a direct impact on the OTA time of the whole vehicle. Due to limited resources and processing power, it is difficult for ECUs upgraded based on UDS to use solutions that consume more resources to increase the upgrade speed.

[0074] like Figure 3 As shown in the figure, when the vehicle ECU needs to be upgraded, OTA upgrade can be performed based on UDS. The OTA upgrade process of the three-electric system is controlled by TBOX. TBOX downloads the upgrade package, and TBOX sends a message to the three-electric components through the gateway GW and the vehicle controller VCU to realize OTA serial upgrade. For example, the upgrade time of a single component is 5 minutes, and the total serial upgrade time is 30 minutes.

[0075] In one possible implementation, Figure 4As shown, the original upgrade file is packaged and compressed using compression and decompression algorithms including but not limited to GZIP. During the packaging process, when the blank segment in the version is high, a high compression rate can be obtained, and the resulting compressed package will be very small, thereby greatly reducing the transmission time of the upgrade package. The compressed upgrade file is pushed from the cloud to the device to be upgraded, and then the compressed file is transferred to the single board through the UDS protocol, and then decompressed and restored. According to the composition of the compressed file and the different compression algorithms used by the compressed file, the corresponding compression algorithm can be used to restore the upgraded version of the file.

[0076] It should be understood that for the binary version of ECU, the compression rate of mainstream compression algorithms is around 50%-60%, which cannot be further improved, so the upgrade speed cannot be maximized. After the ECU receives the compressed package, it performs decompression operation, which will waste upgrade time. When the ECU receives the compressed package and decompresses it, it will consume the flash and memory resources of the ECU according to the configuration of the buffer and compression algorithm. In the process of restoring new files, a new area needs to be opened to place the newly restored files. In the process, it is necessary to rely on old files to restore new files, which requires three spaces for compressed files, old files, and new files, and consumes a lot of space resources. The new file recovery process is a continuous recovery process. It is necessary to complete the transmission of all compressed files before it can be restored step by step, and the transmission time required is relatively long. It consumes more memory and performance resources, and the recovery process is complicated. If the new file recovery area and the running area are not in the same area, it is necessary to erase the flash multiple times. There are problems in compression rate, decompression performance, resource occupation, etc. in the compression upgrade. There are such problems in the upgrade of motor controller MCU.

[0077] Based on the above problems, this application provides a UDS-based upgrade method for motor controller MCU, a method for generating an upgrade compressed package, and an upgrade device. By optimizing the transmission and decompression process of the upgrade compressed package, transmission and restoration are carried out in parallel, saving download and processing time, and greatly reducing its resource usage, so that it can be applied on resource-limited vehicle MCUs without modifying the upgrade process, improving compatibility and upgrade efficiency.

[0078] Figure 5 A schematic flow chart of a method for generating a compressed upgrade package is shown.

[0079] like Figure 5 As shown, the compressed upgrade package can be generated by a cloud device, and the compressed upgrade package generation method 100 includes:

[0080] S110, dividing the upgraded version data into a plurality of data blocks according to a preset data length.

[0081] Each data block corresponds to part of the data in the upgraded version data. The length of the part of the data corresponding to the data block can be a preset length. The preset length can be flexibly changed. For the part of the data that does not reach the preset length, the remaining data can be divided into independent blocks.

[0082] In a possible implementation manner, the method may include: S120, calculating the compression ratio of each data block in different orders according to a fixed data block length.

[0083] The upgrade version data is divided into multiple data blocks according to a preset data block size, and the preset data block size is determined according to the memory size of the component to be upgraded and the compression rate of the compressed upgrade package corresponding to the multiple data blocks. The preset length can be flexibly changed, for example, the data blocks can be optimized by sliding window on the upgrade version data file to find the best compression rate, thereby determining the length of each data block.

[0084] Based on the standard upgrade package, the upgrade version data can be accumulated. When the accumulated upgrade version data length is equal to the preset data length, the data length of this data block is the block size, so the upgrade package is divided into multiple data blocks. The preset data length can be flexibly changed, depending on the memory resources of the motor controller.

[0085] In a possible embodiment, a sliding window search may be performed on the data blocks on the file to find the best compression rate, and each data block may be numbered. The data blocks may be merged and sorted in order according to the compression rate.

[0086] The size of the data block can be flexibly adjusted according to the use of system resources and the memory and flash resources of the motor controller to be upgraded. RAM resources from hundreds of bytes to several KB can be dynamically adapted.

[0087] For example, when the RAM resource of the component to be upgraded is 16K, the data block size can be set to 4K. If the RAM resource is 1K, the data block size can be set to 256Byte.

[0088] At the same time, the size of each data block is the same, and the size of the data block can be flexibly controlled. When resources meet the block division, the size and position of the data block can also be dynamically adjusted through the tool to obtain the best comprehensive compression rate and reduce resource usage.

[0089] In a possible embodiment, for partial data whose length does not reach the preset data length, the partial data is further divided into independent blocks.

[0090] S130, compressing the multiple data blocks respectively to obtain multiple compressed packages, and numbering the compressed packages in order of size.

[0091] Construct a separate compressed package for each data block.

[0092] In a possible implementation, each compressed package may be signed.

[0093] Add signature data to each compressed package, and the signature data is used to verify the compressed package.

[0094] Exemplarily, digitally signing a file is mainly divided into two steps. First, the original file is digested to obtain a digest value, and then the digest value is encrypted using a private key in a public key algorithm. The encryption method can be to use a cyclic redundancy check CRC, a hash Hash algorithm, etc. for data verification. This application does not limit the method of adding signature data.

[0095] The compressed upgrade package corresponding to the upgrade version data needs to be encrypted and a message authentication code (MAC code) added to ensure the confidentiality and integrity of the firmware.

[0096] Each compressed package includes header information, and the header information is used to indicate address information corresponding to part of the data in the upgraded version data corresponding to each compressed package, and the address information is used to indicate an address in the component to be upgraded where the part of the data is written.

[0097] The header information contains the address of the flash memory area where the data in the compressed packet needs to be written. This allows each compressed packet to be transmitted separately, and when the transmission is interrupted, it can continue from the last transmission when it is restarted next time.

[0098] In a possible implementation, the method may include: S140, simulating a decompression and recovery process, comparing the generated file with the upgraded version file, and verifying correctness.

[0099] The preset simulation program can simulate the upgrade according to the compressed upgrade package corresponding to the upgrade version data, and use the preset simulation program to simulate the restore action on the device side, and perform upgrade simulation operations on the compressed upgrade package to obtain simulated upgrade version data. The simulated upgrade version data is verified and compared with the upgrade version data to determine whether the compressed upgrade package is correctly generated, and to ensure that the contents of the simulated upgrade version data are exactly the same as the real upgrade version data. If there is any abnormality, the compressed upgrade package generated this time cannot be used for upgrade.

[0100] S150: Generate a compressed upgrade package.

[0101] The compressed packages are sorted by size and combined into a compressed upgrade package. The compressed upgrade package is used to write the upgrade version data on the motor controller to be upgraded. When the compressed upgrade package is transmitted, the compressed packages in the compressed upgrade package are numbered in order of size and transmitted sequentially. After a compressed package is transmitted, the data of the compressed package is immediately decompressed.

[0102] In a possible embodiment, the placement order of the multiple compressed packages is determined according to the compression ratio of the compressed upgrade package.

[0103] The data blocks can be merged and sorted in order according to the compression rate. Multiple compressed packages are placed in a preset order, so that the subsequent motor controller can restore the compressed packages in sequence according to the sequence information in the compressed upgrade package to achieve compression upgrade.

[0104] In one possible implementation, the compressed upgrade package includes a header, and the header is used to indicate at least one of the following: the number of multiple compressed packages, the size of each compressed package in the multiple compressed packages, the order of the multiple compressed packages, and the compression algorithms corresponding to the multiple compressed packages.

[0105] After the compressed upgrade package is generated, it can be stored in the cloud for download by the vehicle. The compressed upgrade package can then be sent to the vehicle motor controller to be upgraded, so that the vehicle motor controller to be upgraded can perform the corresponding upgrade operation of the old version data according to the received compressed upgrade package.

[0106] According to the solution of the present application, the upgrade package is divided into a compressed package of multiple data blocks, which can reduce the size of the upgrade package. Specifically, the size of the upgrade package between different versions can be reduced by about half at most. For example, the original 1.5M upgrade package can be as small as 750k or less after block compression. At the same time, each compressed package is transmitted separately, which improves the transmission speed. The efficiency of upgrading the motor controller MCU through the UDS protocol can be increased by about 1 times. The upgrade package that originally required 1 minute to transmit can be reduced to about 30 seconds.

[0107] When the compressed upgrade package is available, the vehicle side can download the compressed upgrade package through OTA technology by T-BOX, and then transmit it to the vehicle side motor controller through CAN line by T-BOX, or the vehicle side can be connected to the proximal diagnostic instrument, and the proximal diagnostic instrument will transmit it to the vehicle side motor controller.

[0108] The motor controller can be upgraded according to the above compression upgrade package. The compression upgrade method includes:

[0109] The buffer area sequentially receives multiple compressed packages in the compressed upgrade package, and the compressed packages are used to write the upgrade version data on the motor controller, each compressed package corresponds to a data block, and the data block includes part of the data in the upgrade version data. In response to the completion of receiving a compressed package in the buffer area, the motor controller performs data decompression processing on the compressed package.

[0110] In a possible implementation, the motor controller performs a cyclic redundancy check (CRC) on the compressed packet before decompressing the compressed packet. In response to the complete verification of the received compressed packet, a data block corresponding to the compressed packet is decompressed, and the decompressed data block is written into the flash memory area indicated by the address information.

[0111] The header information of each compressed package also contains signature data, which is used to verify the compressed package. When the compressed package is successfully verified, it can be determined that the compressed package is successfully transmitted, and then the compressed package is decompressed and restored. If the verification fails, consider rolling back the data and re-upgrading or canceling the upgrade.

[0112] During the upgrade process, the old file data can be overwritten. The required memory depends on the size of the compressed package. No additional space is required, reducing the demand for hardware storage resources.

[0113] The compressed upgrade package includes multiple independent compressed packages, each of which can be transmitted and restored separately. The motor controller MCU can receive the compressed packages in sequence and transmit and restore them as units.

[0114] During the upgrade process of the motor controller MCU to be upgraded, when the motor controller MCU to be upgraded is powered off or fails, the upgrade method includes stopping the upgrade of the motor controller MCU to be upgraded and restoring the source version data. The motor controller MCU to be upgraded stores the compressed upgrade package and the temporary data obtained by the restoration process for the motor controller MCU to be upgraded again.

[0115] During the upgrade process, the motor controller MCU to be upgraded will continuously detect the power status and working status. When the motor controller MCU to be upgraded fails or loses power, the upgrade will stop and restore to the source version data for use. In some implementations, the compressed upgrade package can be stored in a non-volatile memory (such as flash memory), so that after the upgrade is stopped, the data will not be lost, and the upgrade process can be continued after the power is restored. If the upgrade fails, the system may notify the user that the upgrade is not complete and provide the option to restart the upgrade.

[0116] Before upgrading, the MCU of the motor controller to be upgraded will check the current state, and will check again during or after the upgrade. If the upgrade fails due to power outage or fault, the MCU of the motor controller to be upgraded can verify the current state through the checksum or hash value and decide whether to retry the upgrade. The MCU of the motor controller to be upgraded can support the breakpoint resume function to record the progress of the upgrade. After the power is restored, the upgrade process can be continued from the last recorded breakpoint instead of starting from the beginning.

[0117] According to the solution of this application, the transmission buffer area becomes smaller, the resources occupied by restoration are less, and there is no need to perform restoration processing after the entire compressed upgrade package is transmitted. Transmission and restoration can be carried out in parallel, thereby increasing the upgrade speed and shortening the total upgrade time. This solution does not require modification of the original upgrade process. It only needs to be packaged and distributed as a compressed package and deployed on a single board. Without making any changes to the interactive process, it can seamlessly support component compression upgrades. Components that support compression upgrades can coexist with components that do not support them, reducing compatibility issues in scenarios where no modifications are made to the entire vehicle upgrade process and end-to-end.

[0118] In a possible implementation, the upgrade method further includes the motor controller decompressing a compressed package and writing the data obtained into the flash memory area of ​​the motor controller. After all compressed packages have completed the data decompression process, the upgraded version data is obtained in the flash memory area.

[0119] The new files that have been restored are written into the flash memory area of ​​the new files, and the process is repeated until all files in the compressed package have been restored. In the restoration process, the occupation of the flash area by the restored data is reduced.

[0120] In a possible implementation, the capacity of the buffer area is greater than the size of a data block corresponding to a compressed packet.

[0121] During the transmission of the compressed upgrade package, the motor controller MCU can set appropriate windows and buffers. The capacity of the buffer is greater than the length of a data block. The size of the buffer is set to match the compressed package transmission timing.

[0122] In a possible implementation, the motor controller receives all compressed packages in the compressed upgrade package in sequence in a cache area of ​​the motor controller through the over-the-air download technology OTA or a proximal diagnostic instrument based on the unified diagnostic service UDS protocol.

[0123] The vehicle can wirelessly download the compressed upgrade package released by the remote end through the vehicle information box T-Box, and upgrade the motor controller MCU of the vehicle. The vehicle can also obtain the compressed upgrade package by connecting to the local diagnostic instrument.

[0124] In a possible implementation, the motor controller receives multiple compressed packages in the compressed upgrade package in a cache area of ​​the motor controller in sequence according to the sequence numbers of the compressed packages indicated by the packet header.

[0125] For example, Figure 6 As shown, the upgrade package is first packaged and generated. The specific generation method can be found in the previous description.

[0126] Then, the compressed upgrade package is transmitted. In combination with the UDS protocol, appropriate sliding windows and buffers are set during the compressed upgrade package transmission process. When a data block is transmitted, processing can be started immediately. When it is determined that the receiving buffer area receives a length greater than a data block, recovery processing can be started in parallel. After the data block is recovered, it is written to the flash area of ​​the new file.

[0127] During the recovery process of the previous data block, continue to receive the next data block. After the previous data block is processed, continue to fetch data from the receiving buffer to process the next data block, and repeat this cycle until the last data block.

[0128] The buffer size setting matches the timing of data block transmission and data block processing, and the capacity of the receiving buffer is larger than the size of a data block.

[0129] According to the solution of the present application, there is no need to perform the restoration process after the entire compressed upgrade package is transmitted. The transmission and restoration can be carried out in parallel, which can increase the upgrade speed, reduce the time for transmission and restoration processing, shorten the total upgrade time, reduce the resource usage of the upgrade, and improve compatibility.

[0130] Specifically, the upgrade speed of three-electric products can be increased by more than 2 times. Taking the upgrade of MCU products using CAN2.0 as an example, after using the above compression upgrade method, the upgrade speed is reduced from the original 120s to about 60s.

[0131] The present application provides a motor controller upgrade package compression application software product.

[0132] The upgrade package compression application software is installed on a PC computer, and the upgrade package compression application software uses the above-mentioned compressed upgrade package generation method to compress the motor controller compressed upgrade package.

[0133] Figure 7 The embodiment of the present application provides a device for upgrading the motor controller MCU. The device includes a transceiver, a processor, a memory and an interface. The memory is used to store a compressed upgrade package. The processor of the device uses the transceiver to receive the compressed upgrade package from the interface through the over-the-air download technology OTA or the near-end diagnostic instrument and sends the compressed upgrade package to the motor controller MCU to be upgraded through the controller area network CAN bus.

[0134] Accordingly, a separate device for sending, receiving and storing compressed upgrade packages can be arranged on the vehicle to perform sending, receiving and storage processing on the upgrade packages, thereby reducing the storage requirements of the motor controller MCU to be upgraded and completing the upgrade requirements more quickly.

[0135] In a specific embodiment, when the device is powered off or fails during the process of receiving the compressed upgrade package, the device stops receiving the compressed upgrade package and clears the received part of the compressed package in the memory.

[0136] Correspondingly, during the process of the device receiving a compressed upgrade package, when the device loses power or fails, in order to ensure the integrity of the received compressed upgrade package, the device stops receiving the compressed upgrade package and clears the partially received compressed upgrade package in the memory, so as to subsequently receive the compressed upgrade package again in its entirety to ensure a successful upgrade.

[0137] In a specific embodiment, the powertrain integrates a motor controller and a drive motor that can achieve compression upgrading. The powertrain receives high-voltage direct current and inverts the output of three-phase alternating current through the motor controller to supply the drive motor for operation.

[0138] Correspondingly, integrating the motor controller provided in this application into the powertrain can more efficiently implement the upgrade of the motor control program of the powertrain, thereby facilitating the use and maintenance of the powertrain.

[0139] In a specific embodiment, the vehicle integrates a motor controller that can realize compression upgrade and a motor controller upgrade device, and the motor controller upgrade device is used to receive the compressed upgrade package through the air download technology OTA or PC computer transmission and pass it to the motor controller for upgrade use.

[0140] Correspondingly, the motor controller and the motor controller upgrade device provided in this application are integrated into the vehicle, and the motor control program can be upgraded more efficiently with the help of over-the-air download technology OTA or PC transmission, which facilitates the use and maintenance of the vehicle.

[0141] The present application also provides a device.

[0142] The upgrade device includes a transceiver, a processor, a memory and an interface. The memory is used to store the compressed upgrade package in the aforementioned motor controller upgrade method. The processor uses the transceiver to receive the compressed upgrade package from the interface through the over-the-air download technology OTA or a proximal diagnostic instrument and sends the compressed upgrade package to the motor controller MCU to be upgraded through the controller area network CAN bus.

[0143] The device may also be a processing device, which may be used to generate a compressed upgrade package and store it in a memory or send the compressed upgrade package through a transceiver.

[0144] In one possible implementation, the device may be a motor controller MCU on the vehicle side, which includes a memory, a transceiver and at least one processor. Instructions are stored in the memory, and the memory, transceiver and at least one processor communicate with each other. The processor runs the instructions to execute the above-mentioned compression upgrade method.

[0145] In another possible implementation, the device may be a processing device, including a memory, a transceiver and at least one processor, the memory storing instructions, the memory, the transceiver and the at least one processor communicating, and the processor running the instructions to execute the above-mentioned method for generating a compressed upgrade package.

[0146] It should be noted that the upgrade method of the motor controller MCU, the method for generating the upgrade compression package and the device used in the upgrade method of this application are not only used on the motor controller MCU, but can also be used in other electronic control devices with similar upgrade requirements such as on-board charger OBC, vehicle information box (TBOX), smart cockpit domain controller (CDC), smart driving domain controller (MDC), vehicle control domain controller (VDC), vehicle controller VCU and other fields.

[0147] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0148] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks or optical disks.

[0149] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for upgrading a motor controller, It is characterized in that The upgrading method comprises: The buffer area of ​​the motor controller sequentially receives a plurality of compressed packages in the compressed upgrade package, wherein the compressed packages are used to write the upgrade version data on the motor controller, each of the compressed packages corresponds to a data block, and the data block includes part of the data in the upgrade version data; In response to completion of receiving one of the compressed packets in the buffer area, the motor controller performs data decompression processing on the one compressed packet.

2. The motor controller upgrading method according to claim 1, It is characterized in that The upgrading method further comprises: The motor controller writes the data obtained after decompressing the compressed packet into the flash area of ​​the motor controller; After all the compressed packages have completed the data decompression process, the upgraded version data is obtained in the flash area.

3. The motor controller upgrading method according to claim 1 or 2, It is characterized in that The motor controller performs a cyclic redundancy CRC check on the compressed packet before decompressing the data.

4. The motor controller upgrading method according to any one of claims 1 to 3, It is characterized in that The motor controller receives all the compressed packages in the compressed upgrade package in sequence in the cache area of ​​the motor controller through the over-the-air download technology OTA or a proximal diagnostic instrument based on the unified diagnostic service UDS protocol.

5. The motor controller upgrading method according to any one of claims 1 to 4, It is characterized in that The compressed upgrade package includes a header, and the header is used to indicate at least one of the following: The number of compressed packages, the size of the data block corresponding to each compressed package, and the sequential numbering of the compressed packages sorted by size.

6. The motor controller upgrading method according to claim 5, It is characterized in that The motor controller receives the plurality of compressed packages in the compressed upgrade package in sequence in the buffer area of ​​the motor controller according to the sequence numbers of the compressed packages indicated by the packet header.

7. The motor controller upgrading method according to any one of claims 1 to 6, It is characterized in that Each of the compressed packets includes address information of the corresponding data block, and the address information of the data block is used to indicate an address of a flash area of ​​the motor controller where the data block is written.

8. The motor controller upgrading method according to any one of claims 1 to 7, It is characterized in that The capacity of the buffer area of ​​the motor controller is larger than the data block size corresponding to the one compressed packet.

9. A method for generating a compressed upgrade package of a motor controller, It is characterized in that The generation method comprises: Divide the upgraded version data into multiple data blocks according to the preset data length; Compressing each of the data blocks to obtain compressed packages, and numbering the compressed packages in order of size; The compressed packages are sorted by size and combined into a compressed upgrade package, and the compressed upgrade package is used to write the upgrade version data on the motor controller to be upgraded. When the compressed upgrade package is transmitted, the compressed packages in the compressed upgrade package are numbered and transmitted in sequence according to the order of size sorting. After the transmission of a compressed package is completed, the data of the compressed package is immediately decompressed.

10. The generation method according to claim 9, It is characterized in that The compressed upgrade package includes a header, and the header is used to indicate at least one of the following: The number of compressed packets, the size of the data block corresponding to each compressed packet, and the order in which the compressed packets are numbered in order of size; Each of the compressed packets includes address information of the corresponding data block, and the address information of the data block is used to indicate an address in the motor controller where the data corresponding to the compressed packet is written.

11. The generation method according to claim 9 or 10, It is characterized in that The generation method also includes adding signature data to the compressed upgrade package, and the signature data is used to verify the compressed package.

12. A motor controller upgrade package compression application software, It is characterized in that The upgrade package compression application software is installed on a PC computer, and the upgrade package compression application software uses the compressed upgrade package generation method described in any one of claims 9 to 11 to compress the motor controller compressed upgrade package.

13. A device for upgrading a motor controller, It is characterized in that The device includes a transceiver, a processor, a memory and an interface, the memory is used to store the compressed upgrade package in the motor controller upgrade method described in any one of claims 1-8, and the processor uses the transceiver to receive the compressed upgrade package from the interface through the over-the-air download technology OTA or a proximal diagnostic instrument and sends the compressed upgrade package to the motor controller MCU to be upgraded through the controller area network CAN bus.

14. A powertrain, It is characterized in that The powertrain includes the motor controller and the drive motor described in any one of claims 1-8, and the powertrain receives high-voltage direct current and inverts and outputs three-phase alternating current through the motor controller to supply the drive motor for operation.

15. A vehicle, It is characterized in that The vehicle includes the motor controller described in the motor controller upgrade method described in any one of claims 1-8 and the motor controller upgrade device described in claim 13, and the motor controller upgrade device is used to receive the compressed upgrade package through over-the-air download technology OTA or PC computer transmission and pass it to the motor controller for upgrade use.