A software flashing system and method capable of identifying multiple controllers of the same type for vehicles

CN115509554BActive Publication Date: 2026-10-20FUJIAN WANRUN NEW ENERGY TECH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211034851.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-26
Publication Date
2026-10-20
Estimated Expiration
2042-08-26

AI Technical Summary

Technical Problem

[0005]鉴于上述问题,本申请提供了一种可识别多个同类车用控制器的软件刷写系统及方法,解决现有的控制器应用程序刷写方案中一个控制器对应一份Bootloader软件,而导致每增加一个控制器需要编写对应的Bootloader软件,造成了软件开发周期增加的问题

Benefits of technology

[0034]区别于现有技术,上述技术方案,当需要对设备进行应用程序进行刷写时,刷写上位机通过广播报文检索总线上所有的在线设备,然后选择需要应用程序更新的在线设备,采用交互ID与需要更新的在线设备进行握手交互,握手成功后,对需要更新的在线设备进行刷写应用程序;而且也可以采用BootLoader程序对设备进行应用程序刷写,BootLoader程序根据设备的配置信息进行配置其交互ID,根据交互ID与刷写上位机进行握手交互,然后使用交互ID进行应用程序刷写;可以兼容多个不同的设备,实现通硬件平台及BootLoader软件的通用,降低了开发及后期维护的成本;无需新增新的硬件,只需要变更软件既可以实现多控制在线识别以及程序刷写功能;同时通过交互ID进行配置与识别,方式简单,无需增加复杂的交互逻辑。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115509554B_ABST
    Figure CN115509554B_ABST
Patent Text Reader

Abstract

The application relates to a software flashing system and method capable of identifying multiple same type vehicle controllers, which comprises a flashing host computer, the flashing host computer is used for broadcasting a message to search all online devices on a bus, selecting an online device needing to be updated, adopting interactive ID to interact with the online device needing to be updated, performing a flashing application program on the online device needing to be updated after successful handshaking, and a BootLoader program, the BootLoader program is used for configuring an interactive ID according to configuration information of the device, and performing handshaking interaction with the flashing host computer according to the interactive ID, and performing the flashing application program by using the interactive ID. The system can be compatible with multiple different devices, realizes generalization of a hardware platform and a BootLoader software, and reduces development and post-maintenance costs; without adding new hardware, the software only needs to be changed to realize the functions of multiple control online identification and program flashing.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of vehicle controllers, in particular to a software flashing system and method capable of identifying multiple same type vehicle controllers. BACKGROUND

[0002] With the increasing degree of electronicization of vehicles, there can be multiple controllers with the same hardware on a vehicle, such as a multi-motor drive system, and each motor usually needs to be driven and controlled by a motor controller and communicate and program flash through a CAN bus. Since each motor controller has the same hardware, in order to identify the corresponding relationship of each controller and ensure that the controller can normally flash the corresponding application program, the existing method is to write a BootLoader software with different CAN configurations for each controller, which is written into each controller at the time of factory shipment, and defined as different controllers.

[0003] As shown in Figure 1 , in the existing technical solution of controller application program flashing, during the production stage, one controller configuration is usually used to flash the application program on the BootLoader software and hardware platform. For example, when controller A, controller B and controller C need to be flashed with application programs, BootLoade_A software is used to flash the application program on controller A, BootLoade_B software is used to flash the application program on controller B, and BootLoade_C software is used to flash the application program on controller C. This results in the need to write a BootLoade software for each new controller, increasing the software development cycle. Figure 2 As shown in , during the after-sales maintenance stage, in the existing technical solution of controller application program flashing, when the host computer writes the control program of controller B, if BootLoade_A software is used, BootLoade_A software can only be used for software writing of controller A, which results in that the control program of controller B cannot be normally written, software change fails, and hardware needs to be replaced.

[0004] Each controller needs to write a Bootloader, which increases the software development cycle. Since the controllers have the same appearance and only different software, they are easily confused during transportation and installation, resulting in that the controllers cannot normally flash the application program. At the same time, in inventory management, the controllers with the same appearance need to be identified and managed, which greatly increases the management difficulty and also increases the management cost. SUMMARY

[0005] In view of the above problems, this application provides a software flashing system and method that can identify multiple similar vehicle controllers, solving the problem that in the existing controller application flashing scheme, one controller corresponds to one bootloader software, which leads to the need to write a corresponding bootloader software for each additional controller, resulting in an increase in the software development cycle.

[0006] To achieve the above objectives, the inventors provide a software flashing system capable of recognizing multiple similar automotive controllers, comprising:

[0007] The host computer is used to retrieve all online devices on the bus via broadcast messages, select the online device that needs to be updated, and use the interaction ID to perform a handshake interaction with the online device that needs to be updated. After the handshake is successful, the application program is flashed onto the online device that needs to be updated.

[0008] The BootLoader program is used to configure the interaction ID according to the device's configuration information, and to handshake with the host computer for flashing based on the interaction ID, and to flash the application using the interaction ID.

[0009] Further optimization includes a universal interaction ID, which is used for program flashing, device identification, software information writing, and forced device flashing for all types of devices.

[0010] The host computer is used to retrieve all online devices on the bus via broadcast messages. When an online device responds, it reads the software version and serial number information of the online device, selects the online device that needs to be updated, and uses a universal interaction ID to perform a handshake interaction with the online device that needs to be updated, and then flashes the application program on the online device that needs to be updated.

[0011] In a further optimization, the host computer for flashing applications is also used to perform a handshake interaction with the device through a universal interaction ID when flashing applications on the device. After a successful handshake, the application is flashed on the device.

[0012] In a further optimization, the host computer for flashing is also used to determine whether to select a universal interaction ID to perform a handshake interaction with the device when flashing an application to the device. If a universal interaction ID is selected, a handshake interaction is performed with the device through the universal interaction ID. If a universal interaction ID is not selected, an interaction ID is automatically calculated based on the software version of the flashed application, and a handshake interaction is performed with the device based on the calculated interaction ID.

[0013] In a further optimization, the host computer is also used to perform a handshake interaction with the device through a universal interaction ID when writing parameters to the device. After the handshake is successful, the corresponding parameters are written to the device.

[0014] Further optimization, the parameter writing includes serial number writing and version configuration writing;

[0015] The flashing host computer is configured to, when performing serial number writing on the device, generate a serial number according to the product type, generation time and controller configuration version of the device after successful handshake with the device, and store the serial number in the database storage area of the device;

[0016] The flashing host computer is configured to, when performing version configuration writing on the device, write configuration information required for software flashing into the device after successful handshake with the device, the configuration information including product version number, frame format type and baud rate.

[0017] Further optimization, the interaction ID further includes a special interaction ID, and the special interaction ID is used for program flashing of the same type of device;

[0018] The BootLoader program is further configured to read the version configuration of the device, and when the version configuration reading is successful, perform program flashing using the special interaction ID, and when the version configuration reading fails, initialize to a default configuration and perform program flashing using the general interaction ID.

[0019] Another embodiment is further provided, which is a software flashing method capable of identifying a plurality of same type of vehicle controllers, including the following steps:

[0020] The flashing host computer searches all online devices on the bus through a broadcast message;

[0021] When the flashing host computer receives a response from the online device, the software version and serial number of the online device are read;

[0022] The device to be updated is selected from the online device, and a general interaction ID is used for handshake interaction;

[0023] When the handshake interaction is successful, the device is subjected to application program flashing.

[0024] Further optimization, further including the following steps:

[0025] When the flashing host computer performs application program flashing on the device, it is determined whether a general interaction ID is selected;

[0026] If the general interaction ID is selected, the general interaction ID is used for handshake interaction with the device;

[0027] If the general interaction ID is not selected, an interaction ID is automatically calculated according to the software version of the application program to be flashed, and the calculated interaction ID is used for handshake interaction with the device;

[0028] When the handshake interaction is successful, the device starts application program flashing.

[0029] Further optimization, further comprising the following steps:

[0030] When the BootLoader program applies the application program to the device, handshake interaction is carried out with the flashing host computer, and the serial number of the local device is sent to the flashing host computer;

[0031] After the serial number verification is successful, the BootLoader program judges whether a general interaction ID is received;

[0032] If received, the general interaction ID is used for application program flashing;

[0033] If not received, the special interaction ID is used for application program flashing.

[0034] Unlike the prior art, when the application program needs to be flashed to the device, the flashing host computer searches for all online devices on the bus through the broadcast message, then selects the online device that needs to be updated, uses the interaction ID to handshake with the online device that needs to be updated, and after the handshake is successful, the online device that needs to be updated is flashed with the application program; and the BootLoader program can also be used to flash the application program to the device, the BootLoader program configures the interaction ID according to the configuration information of the device, and then uses the interaction ID to handshake with the flashing host computer, and then uses the interaction ID to flash the application program; multiple different devices can be compatible, a general hardware platform and BootLoader software are realized, and the development and later maintenance costs are reduced; without adding new hardware, only the software needs to be changed, and the functions of online identification and program flashing can be realized; and the configuration and identification are carried out through the interaction ID, which is simple and does not need to add complex interaction logic.

[0035] The above invention content is only a summary of the technical scheme of the present application, in order to enable those skilled in the art to more clearly understand the technical scheme of the present application, and then can be implemented according to the content of the description and the drawings, and in order to let the above-mentioned purpose and other purposes, characteristics and advantages of the present application can be more easily understood, the following is explained in combination with the specific embodiment and the drawings of the present application. BRIEF DESCRIPTION OF DRAWINGS

[0036] The drawings are only used to show the principles, implementation manners, applications, characteristics and effects of the specific embodiments and other related contents of the present application, and cannot be considered as a limitation of the present application.

[0037] In the drawings of the specification:

[0038] Figure 1A flowchart of the production stage of the technical solution of the application program flashing of the existing controller described in the background art;

[0039] Figure 2 A flowchart of the after-sales stage of the technical solution of the application program flashing of the existing controller described in the background art;

[0040] Figure 3 A structural diagram of the software flashing system capable of identifying multiple similar vehicle controllers described in the detailed description;

[0041] Figure 4 A working flowchart of the production stage of the software flashing system capable of identifying multiple similar vehicle controllers described in the detailed description;

[0042] Figure 5 A working flowchart of the after-sales stage of the software flashing system capable of identifying multiple similar vehicle controllers described in the detailed description;

[0043] Figure 6 A working flowchart of the flashing host computer described in the detailed description;

[0044] Figure 7 A working flowchart of the BootLoader program described in the detailed description;

[0045] Figure 8 A flowchart of the software flashing method capable of identifying multiple similar vehicle controllers described in the detailed description;

[0046] The reference signs involved in the above-mentioned figures are explained as follows:

[0047] 100, software flashing system,

[0048] 110, flashing host computer;

[0049] 120, BootLoader program. DETAILED DESCRIPTION

[0050] To explain the possible application scenarios, technical principles, specific schemes that can be implemented, purposes and effects that can be achieved, and the like of the present application in detail, the following will be described in detail in combination with the specific embodiments listed and with the aid of the drawings. The embodiments described herein are only used to more clearly illustrate the technical solutions of the present application, and therefore only serve as examples, and cannot limit the protection scope of the present application.

[0051] In this document, the term "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The term "embodiment" appearing in various places throughout the specification does not necessarily refer to the same embodiment, nor does it specifically limit its independence or connection with other embodiments. In principle, in this application, as long as there are no technical contradictions or conflicts, the technical features mentioned in each embodiment can be combined in any way to form corresponding implementable technical solutions.

[0052] Unless otherwise defined, the technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the use of related terms herein is merely for the purpose of describing particular embodiments and is not intended to limit this application.

[0053] In the description of this application, the term "and / or" is used to describe the logical relationship between objects, indicating that three relationships can exist. For example, A and / or B means: A exists, B exists, and A and B exist simultaneously. Additionally, the character " / " in this document generally indicates that the preceding and following objects have an "or" logical relationship.

[0054] In this application, terms such as “first” and “second” are used only to distinguish one entity or operation from another, and do not necessarily require or imply any actual quantity, hierarchy or order relationship between these entities or operations.

[0055] Unless otherwise specified, the use of terms such as “comprising,” “including,” “having,” or other similar expressions in this application is intended to cover non-exclusive inclusion, which does not exclude the presence of additional elements in a process, method, or product that includes the stated elements, such that a process, method, or product that includes a list of elements may include not only those defined elements but also other elements not expressly listed, or elements inherent to such a process, method, or product.

[0056] Similar to the understanding in the Examination Guidelines, in this application, expressions such as "greater than," "less than," and "exceeding" are understood to exclude the stated number; expressions such as "above," "below," and "within" are understood to include the stated number. Furthermore, in the description of the embodiments in this application, "multiple" means two or more (including two), and similar expressions related to "multiple" are also understood in this way, such as "multiple groups" and "multiple times," unless otherwise explicitly specified.

[0057] In the description of the embodiments of this application, the space-related expressions used, such as "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "vertical," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," and "circumferential," indicate the orientation or positional relationship based on the orientation or positional relationship shown in the specific embodiments or drawings. They are only for the purpose of describing the specific embodiments of this application or for the reader's understanding, and do not indicate or imply that the device or component referred to must have a specific position, a specific orientation, or be constructed or operated in a specific orientation. Therefore, they should not be construed as limitations on the embodiments of this application.

[0058] Unless otherwise expressly specified or limited, the terms "installation," "connection," "linking," "fixing," and "setting," as used in the description of the embodiments of this application, should be interpreted broadly. For example, "connection" can be a fixed connection, a detachable connection, or an integral setting; it can be a mechanical connection, an electrical connection, or a communication connection; it can be a direct connection or an indirect connection through an intermediate medium; it can be the internal connection of two components or the interaction between two components. For those skilled in the art to which this application pertains, the specific meaning of the above terms in the embodiments of this application can be understood according to the specific circumstances.

[0059] Please see Figure 3 This embodiment provides a software flashing system 100 capable of recognizing multiple similar vehicle controllers, including:

[0060] The host computer 110 is used to retrieve all online devices on the bus via broadcast messages, select the online device that needs to be updated, and perform a handshake interaction with the online device that needs to be updated using an interaction ID. After the handshake is successful, the application program is flashed onto the online device that needs to be updated.

[0061] BootLoader program 120 is used to configure the interaction ID according to the device configuration information, and to handshake and interact with the flashing host computer 110 according to the interaction ID, and to flash the application using the interaction ID.

[0062] When it is necessary to flash the application on a device, the flashing host computer 110 searches for all online devices on the bus through broadcast messages, selects the online device that needs an application update, and performs a handshake interaction with the online device that needs an update using an interaction ID. After a successful handshake, the application is flashed on the online device that needs an update. Alternatively, the BootLoader program 120 can be used to flash the application on the device. The BootLoader program 120 configures its interaction ID according to the device's configuration information, performs a handshake interaction with the flashing host computer 110 based on the interaction ID, and then uses the interaction ID to flash the application. This method is compatible with multiple different devices, achieving universality across hardware platforms and BootLoader software, reducing development and later maintenance costs. No new hardware is required; only software changes are needed to achieve multi-control online identification and application flashing functions. At the same time, configuration and identification via interaction ID are simple and do not require adding complex interaction logic.

[0063] like Figure 4 As shown, during the development phase, the software flashing system 100 in this embodiment can use a single BootLoader program 120 to flash all controllers. The flashing host computer 110 can use a general BootLoader program 120 to write the corresponding application to the corresponding controller. For example, APP_A corresponding to controller A is written to controller A, APP_B corresponding to controller B is written to controller B, and APP_C corresponding to controller C is written to controller C. This allows for simultaneous application flashing of controllers and automatic identification of the corresponding controller, thus correctly writing the application to the corresponding controller. Figure 5 As shown, during the after-sales phase, when it is necessary to flash a controller, such as when it is necessary to write the control program of controller B, the BootLoader program 120 with automatic identification function can identify the corresponding controller B and write the application into controller B.

[0064] In some embodiments, the interaction ID includes a universal interaction ID, which is used for program flashing, device identification, software information writing, and forced device flashing for all types of devices.

[0065] The host computer 110 is used to retrieve all online devices on the bus by broadcasting messages. When an online device responds, it reads the software version and serial number information of the online device, selects the online device that needs to be updated, and uses a universal interaction ID to perform a handshake interaction with the online device that needs to be updated to flash the application program to the online device that needs to be updated.

[0066] The Universal Interaction ID is a fixed ID that can be received and recognized by all hardware devices. It is used for flashing programs on all types of devices, such as all types of vehicle controllers. It also enables device identification, software information writing, and forced flashing (i.e., writing different types of controller programs). Figure 6 As shown, when the host computer 110 implements the device identification function, it uses a universal interactive ID to start the device identification interaction process. The host computer 110 broadcasts messages to search for all online devices on the bus and determines whether any online device responds. When a device responds, it reads the device's software version and serial number information. The host computer 110 displays all the retrieved device information. The host computer 110 selects the device to be updated and then performs a handshake interaction with the device using the universal interactive ID. The host computer 110 and the device are paired using the universal interactive ID. When the pairing is successful, the handshake is successful, and then the application flashing begins. By searching all online hardware devices on the current bus and identifying the serial number, it is possible to attempt to flash the program on any specified controller.

[0067] like Figure 6 As shown, in some embodiments, the flashing host computer 110 is also used to perform a handshake interaction with the device through a universal interaction ID when flashing an application on the device. After a successful handshake, the application is flashed on the device. When the flashing host computer 110 uses the application flashing function, it can be used to flash applications on new devices. The flashing host computer performs a handshake interaction with the device through a universal interaction ID. After a successful handshake, the application flashing begins. The flashing host computer 110 is also used to determine whether to select a universal interaction ID to perform a handshake interaction with the device when flashing an application on the device. If a universal interaction ID is selected, a handshake interaction is performed with the device through the universal interaction ID. If a universal interaction ID is not selected, an interaction ID is automatically calculated based on the software version of the flashed application, and a handshake interaction is performed with the device based on the calculated interaction ID. When flashing an application for a new device, the flashing host computer 110 first determines whether to interact with the device using a universal interaction ID. If the universal interaction ID of the new device is available, the host computer 110 selects the universal interaction ID to perform a handshake interaction with the device. If the universal interaction ID of the new device is not available, the flashing host computer 110 automatically calculates the interaction ID based on the software version of the application to be flashed on the new device, and uses the calculated interaction ID to perform a handshake interaction, thus enabling the flashing of the application for the new device.

[0068] like Figure 6As shown, in some embodiments, the flashing host computer 110 is also used to perform a handshake interaction with the device through a universal interaction ID when writing parameters to the device. After a successful handshake, the corresponding parameters are written to the device. The flashing host computer 110 is also used for writing device parameters. When it is necessary to write parameters to the device, it uses a universal interaction ID to perform a handshake interaction with the device to write device information. After a successful handshake, the corresponding parameters are written. Specifically, the parameter writing includes serial number writing and version configuration writing.

[0069] The host computer 110 is used to generate a serial number based on the product type, generation time and controller configuration version of the device after a successful handshake when writing the serial number to the device, and store it in the database storage area of ​​the device.

[0070] The host computer 110 is used to write the configuration information required for software flashing to the device after a successful handshake when writing version configuration to the device. The configuration information includes the product version number, frame format class, and baud rate.

[0071] Parameter writing includes serial number writing and version configuration writing. After the host computer 110 successfully interacts with the device, when serial number writing is required, a serial number is generated based on the device's product type, generation time, and controller configuration version, and stored in the device's database storage area, thus completing the serial number writing. When version configuration writing is required, the software writes the required product version number, frame format class, baud rate, and other configuration information to the device, thus completing the version configuration writing.

[0072] In some embodiments, the interaction ID further includes a dedicated interaction ID, which is used to flash programs onto devices of the same type.

[0073] The BootLoader program 120 is also used to read the device version configuration. When the version configuration is read successfully, the program is flashed using a dedicated interaction ID. When the version configuration fails to be read, it is initialized to the default configuration and the program is flashed using a general interaction ID.

[0074] The dedicated interaction ID is automatically calculated based on the version configuration information and can only be used for program flashing of the same type of controller. For example... Figure 7As shown, when the BootLoader program 120 flashes the application on the device, it reads the device's configuration information and hardware serial number. If the version configuration is successfully read, it reads the configuration information and calculates a dedicated interaction ID, which is then used to flash the application. If the version configuration fails to read, it initializes to the default configuration and uses a general interaction ID to flash the application. The BootLoader program 120 performs a handshake interaction with the flashing host computer 110 and sends the device's serial number. If the serial number is successfully verified, and the BootLoader program 120 receives the general interaction ID, it uses the general interaction ID to flash the application. If it does not receive the general interaction ID, it uses the dedicated interaction ID to flash the application and configuration.

[0075] In one embodiment, a software flashing system 100 capable of recognizing multiple similar vehicle controllers consists of two parts: a flashing host computer 110 and a BootLoader program 120.

[0076] Flashing the host computer 110 includes three functions:

[0077] 1. Application flashing function: Based on the flashing interaction ID, it can be divided into two categories: general ID and dedicated ID. The general ID is a fixed ID that can be received and recognized by all hardware devices. It can be used for flashing programs of all types of controllers, and can also be used to realize functions such as device identification, software information writing, and forced flashing of controllers (writing different types of controller programs). The dedicated ID is automatically calculated and generated based on the version configuration information and can only be used for flashing programs of the same type of controller.

[0078] 2. Parameter read / write function:

[0079] a) Serial number read / write function. The serial number is a unique identifier for the controller, stored in the controller's data storage area. It is mainly generated by combining information such as product type, production time, and controller configuration version. It is used to identify and distinguish the controller hardware during the subsequent program flashing process.

[0080] b) Version configuration read / write function, used to write the configuration information required for software flashing, including product version number, frame format class, baud rate and other basic configuration information required for flashing. After writing is completed, the hardware can be configured as a controller of the specified type.

[0081] 3. Device identification function: Used to retrieve all online hardware devices on the current bus. By identifying the serial number, it is possible to flash the program on any specified controller.

[0082] BootLoader program 120 includes three functions:

[0083] 1. Parameter read / write function: a) Read / write hardware serial number; b) Read / write version configuration;

[0084] 2. Automatic configuration of CAN bus parameters: Based on the version configuration information, it can automatically configure CAN-related communication configurations such as CAN ID, baud rate, and frame format.

[0085] 3. Application flashing function: When the version configuration is successfully read, the application is flashed using a dedicated ID; when the version configuration fails to be read, it is initialized to the default configuration and the application is flashed using a general ID.

[0086] This system is compatible with multiple controllers with different functions and achieves universality of the BootLoader software on the same hardware platform, reducing development and subsequent maintenance costs. No new hardware is required; only software changes are needed to achieve online identification of multiple controllers and program flashing functions. Configuration and identification via CAN ID are simple and do not require the addition of complex interaction logic.

[0087] Please see Figure 8 Another embodiment is provided, a software flashing method that can identify multiple similar vehicle controllers, applied to the software flashing system 100 in the above embodiment. The software flashing method includes the following steps:

[0088] Step S810: The host computer searches for all online devices on the bus via broadcast messages;

[0089] Step S820: After the host computer receives a response from the online device, it reads the software version and serial number of the online device;

[0090] Step S830: Select the device that needs to be updated from the online devices and perform a handshake interaction using the universal interaction ID;

[0091] Step S840: After the handshake interaction is successful, flash the application on the device.

[0092] When it is necessary to flash the application on a device, the flashing host computer searches for all online devices on the bus via broadcast messages, then selects the online device that needs an application update, and uses an interaction ID to handshake with the online device to be updated. After a successful handshake, the application is flashed on the online device to be updated. It can be compatible with multiple different devices, achieving universality across hardware platforms and BootLoader software, reducing development and later maintenance costs. No new hardware needs to be added; only software changes are required to achieve multi-control online identification and program flashing functions. At the same time, configuration and identification are performed through interaction IDs, which is simple and does not require adding complex interaction logic.

[0093] In some embodiments, the following steps are also included:

[0094] When the host computer flashes the application to the device, it determines whether to select a general interaction ID;

[0095] If a generic interaction ID is selected, the generic interaction ID will be used to perform a handshake interaction with the device;

[0096] If the interaction ID is not selected, the interaction ID will be automatically calculated based on the software version of the application to be flashed, and the calculated interaction ID will be used to perform a handshake interaction with the device.

[0097] Once the handshake interaction is successful, the application flashing process begins on the device.

[0098] When flashing an application for a new device, the host computer first determines whether to interact with the device using a universal interaction ID. If the host computer has the universal interaction ID for the new device, it selects the universal interaction ID to perform a handshake interaction with the device. If the host computer does not have the universal interaction ID for the new device, it automatically calculates the interaction ID based on the software version of the application to be flashed on the new device and uses the calculated interaction ID to perform a handshake interaction, thus enabling the flashing of the application for the new device.

[0099] In some embodiments, the following steps are also included:

[0100] When the BootLoader program flashes the application on the device, it performs a handshake interaction with the flashing host computer and sends the device's serial number to the flashing host computer.

[0101] After the serial number verification is successful, the BootLoader program determines whether it has received the universal interaction ID;

[0102] If received, the application will be flashed using the generic interaction ID;

[0103] If not received, the application will be flashed using a dedicated interaction ID.

[0104] Furthermore, the BootLoader program can also be used to flash the application onto the device. The BootLoader program configures its interaction ID based on the device's configuration information, performs a handshake interaction with the flashing host computer based on the interaction ID, and then uses the interaction ID to flash the application. The dedicated interaction ID is automatically calculated based on the version configuration information and can only be used for flashing programs on controllers of the same type. When the BootLoader program flashes the application onto the device, it reads the device's version configuration. If the version configuration is successfully read, the dedicated interaction ID is used for flashing the program; if the version configuration reading fails, it initializes to the default configuration and uses the general interaction ID for flashing the program. Simultaneously, the BootLoader program performs a handshake interaction with the flashing host computer and sends the device's serial number. If the serial number verification is successful, and the BootLoader program receives the general interaction ID, it uses the general interaction ID to flash the program; otherwise, it uses the dedicated interaction ID to flash the program and configuration.

[0105] Finally, it should be noted that although the above embodiments have been described in the text and drawings of this application, this should not limit the scope of patent protection of this application. Any technical solutions that are based on the essential concept of this application and utilize the content described in the text and drawings of this application, resulting in equivalent structural or procedural substitutions or modifications, as well as the direct or indirect application of the technical solutions of the above embodiments to other related technical fields, are all included within the scope of patent protection of this application.

Claims

1. A software flashing system capable of recognizing multiple similar vehicle controllers, characterized in that, include: The host computer is used to retrieve all online devices on the bus via broadcast messages, select the online device that needs to be updated, and use the interaction ID to perform a handshake interaction with the online device that needs to be updated. After the handshake is successful, the application program is flashed onto the online device that needs to be updated. The BootLoader program is used to configure the interaction ID according to the device's configuration information, and to handshake and interact with the host computer for flashing according to the interaction ID, and to flash the application using the interaction ID. The interaction ID includes a universal interaction ID, which is used for program flashing, device identification, software information writing, and forced device flashing for all types of devices. The host computer is used to retrieve all online devices on the bus via broadcast messages. When an online device responds, it reads the software version and serial number information of the online device, selects the online device that needs to be updated, and uses a universal interaction ID to perform a handshake interaction with the online device that needs to be updated, and then flashes the application program to the online device that needs to be updated. The host computer for flashing is also used to determine whether to select a universal interaction ID to perform a handshake interaction with the device when flashing the application to the device. If a universal interaction ID is selected, the host computer performs a handshake interaction with the device through the universal interaction ID. If a universal interaction ID is not selected, the host computer automatically calculates the interaction ID based on the software version of the application being flashed and performs a handshake interaction with the device based on the calculated interaction ID. The interaction ID also includes a dedicated interaction ID, which is used for flashing programs on devices of the same type. The BootLoader program is also used to read the device version configuration. When the version configuration is read successfully, the program is flashed using a dedicated interaction ID. When the version configuration fails to be read, it is initialized to the default configuration and the program is flashed using a general interaction ID.

2. The software flashing system capable of recognizing multiple similar vehicle controllers according to claim 1, characterized in that, The host computer for flashing is also used to perform a handshake interaction with the device through a universal interaction ID when flashing the application on the device. After the handshake is successful, the application is flashed on the device.

3. The software flashing system capable of recognizing multiple similar vehicle controllers according to claim 1, characterized in that, The host computer for writing data is also used to perform a handshake interaction with the device through a universal interaction ID when writing parameters to the device. After the handshake is successful, the corresponding parameters are written to the device.

4. The software flashing system capable of recognizing multiple similar vehicle controllers according to claim 3, characterized in that, The parameter writing includes serial number writing and version configuration writing; The aforementioned host computer is used to generate a serial number based on the product type, generation time, and controller configuration version of the device after a successful handshake when writing the serial number to the device, and then store it in the device's database storage area. The host computer for flashing is used to write the configuration information required for software flashing to the device after a successful handshake when the device is being configured for versioning. The configuration information includes the product version number, frame format class, and baud rate.

5. A software flashing method capable of recognizing multiple similar vehicle controllers, characterized in that, The software flashing system, applicable to any one of claims 1-4 and capable of recognizing multiple similar automotive controllers, includes the following steps: The host computer searches for all online devices on the bus via broadcast messages. After the host computer receives a response from the online device, it reads the software version and serial number of the online device. Select the device that needs updating from the online devices and perform a handshake interaction using the universal interaction ID; After a successful handshake interaction, the application is flashed onto the device.

6. The software flashing method for recognizing multiple similar vehicle controllers according to claim 5, characterized in that, It also includes the following steps: When the host computer flashes the application to the device, it determines whether to select a general interaction ID; If a generic interaction ID is selected, the generic interaction ID will be used to perform a handshake interaction with the device; If the interaction ID is not selected, the interaction ID will be automatically calculated based on the software version of the application to be flashed, and the calculated interaction ID will be used to perform a handshake interaction with the device. Once the handshake interaction is successful, the application flashing process begins on the device.

7. The software flashing method for recognizing multiple similar vehicle controllers according to claim 5, characterized in that, It also includes the following steps: When the BootLoader program flashes the application on the device, it performs a handshake interaction with the flashing host computer and sends the device's serial number to the flashing host computer. After the serial number verification is successful, the BootLoader program determines whether it has received the universal interaction ID; If received, the application will be flashed using the generic interaction ID; If not received, the application will be flashed using a dedicated interaction ID.

Citation Information

Patent Citations

  • Multi-node single-chip microcomputer online code updating method based on CAN bus

    CN108628624A

  • Bootloader method for supporting simultaneous upgrading of multiple ECUs of the same type and allowing ECUs to have program mismatching preventing function

    CN108920168A

  • Software upgrading method and device based on CAN, computer equipment and storage medium

    CN113568629A