BMS starting method and device, BMS and medium

By synchronously performing code verification and network initialization processing during BMS startup, the problem of long startup time of existing BMS is solved, and a faster startup speed is achieved.

CN119440660APending Publication Date: 2025-02-14NEUSOFT REACH AUTOMOBILE TECH (SHENYANG) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411509287.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

During the startup process, existing BMSs have a long startup time due to the complex code verification algorithm and long business processing time, and it is impossible to complete secure startup in a short time.

Method used

During the boot program execution, the BMS is synchronously verified by preset verification parameters, and the startup data is collected during the network initialization process to realize parallel processing of boot program execution, code verification and network initialization.

Benefits of technology

By processing startup boot program execution and code verification in parallel, the startup time is significantly reduced and the startup speed of the BMS is optimized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119440660A_ABST
    Figure CN119440660A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a BMS starting method and device, a BMS and a medium, and the method comprises the steps: firstly responding to a BMS starting instruction to execute a starting guide program of the BMS, and carrying out the code accuracy verification of the BMS according to a preset verification parameter for the BMS during the execution of the starting guide program, and obtaining a code verification result. Then, when the code verification result is that verification is passed, network initialization processing is conducted on the BMS, and in the network initialization processing process, starting data of the BMS are collected; and finally, after the network initialization processing is completed, sending a starting message of the BMS to the external interaction terminal according to the starting data and the initialized network configuration. Therefore, various transactions needing to be processed when the BMS is started can be processed in parallel, the starting time of the BMS is saved to the maximum extent, and the starting speed of the BMS is optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of battery management technology, and in particular to a BMS startup method, device, BMS and medium. Background Art

[0002] With regard to the current quick startup of BMS (Battery Management System), in order to ensure the startup safety of BMS, it is often necessary to first verify the accuracy of the code in the APP to which the BMS belongs. Only after the code verification is passed can the BMS be started through the corresponding boot program, and the startup is considered completed when the first frame message sent by the BMS is received.

[0003] However, since the current code verification algorithm is relatively complex and the business processing involved when the BMS sends the first frame message also takes a certain amount of time, it is difficult for the BMS to complete the entire startup process in a short period of time, resulting in a longer time required for its safe startup. Summary of the invention

[0004] Based on the above problems, in order to effectively reduce the time required for safe startup of a BMS, the embodiments of the present application provide a BMS startup method, device, electronic device and medium.

[0005] The embodiments of the present application disclose the following technical solutions:

[0006] In a first aspect, an embodiment of the present application provides a BMS startup method, including:

[0007] Responding to a BMS startup instruction to execute a startup boot program of the BMS, and during the execution of the startup boot program, verifying the accuracy of a code of the BMS according to preset verification parameters for the BMS to obtain a code verification result; the startup instruction of the BMS is determined based on an external interactive terminal;

[0008] When the code verification result is verification passed, performing network initialization processing on the BMS, and collecting startup data of the BMS during the network initialization processing;

[0009] After the network initialization process is completed, a startup message of the BMS is sent to the external interactive terminal according to the startup data and the network configuration after the initialization process.

[0010] In a possible implementation, the preset verification parameters include: a preset MAC expected value and a preset code verification address;

[0011] The step of responding to a BMS startup instruction to execute a startup boot program of the BMS, and during the execution of the startup boot program, performing code accuracy verification on the BMS according to preset verification parameters for the BMS to obtain a code verification result includes:

[0012] When the boot program starts to execute, MAC calculation is performed according to the preset code verification address to obtain an actual MAC value corresponding to the preset code verification address;

[0013] The actual MAC value is compared with the preset MAC expected value to verify the code accuracy of the verification code area indicated by the preset code verification address to obtain the code verification result.

[0014] In a possible implementation, when the boot program starts to execute, performing MAC calculation according to the preset code verification address to obtain an actual MAC value corresponding to the preset code verification address includes:

[0015] Determine whether there is a preset key in the verification code area;

[0016] When the preset key exists in the verification code area, the MAC value is calculated for the code data in the verification code area by using the preset key and a preset encryption algorithm to obtain the actual MAC value of the verification code area.

[0017] In a possible implementation, comparing the actual MAC value with the preset MAC expected value to perform code accuracy verification on the verification code area indicated by the preset code verification address to obtain the code verification result includes:

[0018] If the actual MAC value is the same as the preset MAC expected value, determining that the code verification result is the verification passed;

[0019] If the actual MAC value is different from the preset MAC expected value, the code verification result is determined to be verification failure.

[0020] In a possible implementation, the startup data includes: voltage and temperature values;

[0021] When the code verification result is verification passed, performing network initialization processing on the BMS, and collecting startup data of the BMS during the network initialization processing, including:

[0022] When the code verification result is that the verification is passed, starting the operating system of the BMS;

[0023] After the operating system of the BMS is started, a network initialization process is performed on the BMS, and during the network initialization process, the voltage and temperature values ​​of the BMS are collected in parallel.

[0024] In a possible implementation, the method further comprises: executing a boot program of the BMS in response to a BMS boot instruction, and performing code accuracy verification on the BMS according to preset verification parameters for the BMS during the execution of the boot program, and obtaining a code verification result.

[0025] When the code verification result is verification failure, the execution operation of the boot program is terminated, and a verification error signal is sent to the external interactive terminal.

[0026] In a possible implementation, the preset encryption algorithm is an AES algorithm.

[0027] In a second aspect, an embodiment of the present application provides a BMS starting device, including:

[0028] a first parallel processing module, configured to execute a boot program of the BMS in response to a BMS boot instruction, and during the execution of the boot program, verify the accuracy of a code of the BMS according to a preset verification parameter for the BMS to obtain a code verification result; the boot instruction of the BMS is determined based on an external interactive terminal;

[0029] A second parallel processing module is used to perform network initialization processing on the BMS when the code verification result is verification passed, and collect startup data of the BMS during the network initialization processing;

[0030] The first frame message sending module is used to send the startup message of the BMS to the external interactive terminal according to the startup data and the network configuration after the initialization process after the network initialization process is completed.

[0031] In a third aspect, an embodiment of the present application provides a BMS for implementing any possible BMS startup method in the first aspect.

[0032] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any possible BMS startup method in the first aspect.

[0033] Compared with the prior art, the present application has the following beneficial effects: the embodiment of the present application provides a BMS startup method, device, BMS and medium, in which, when responding to the BMS startup instruction to execute the startup boot program, the code accuracy of the BMS is verified synchronously through the preset verification parameters during the execution of the startup boot program, so as to realize the parallel processing of the startup boot program execution and the code accuracy verification, thereby effectively reducing the time consumed by the startup boot program execution and the code verification. Subsequently, after the code verification result for the BMS is verified to pass, the BMS is subjected to network initialization processing, so that the BMS sends the first frame message to the external interactive terminal through the initialized network configuration. Accordingly, in the process of the BMS performing the network initialization processing, the startup data of the BMS is synchronously collected to provide a data basis for the first frame message that the BMS needs to send. In this way, when the BMS completes the initialization processing for the network, it can immediately send its own startup message to the external interactive terminal according to the corresponding startup data and network configuration, and the various transactions that the BMS needs to process at startup are processed in parallel, which saves the startup time of the BMS to the greatest extent and optimizes the startup speed of the BMS. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0035] Figure 1 A schematic diagram of a BMS startup process in an actual application scenario provided in an embodiment of the present application;

[0036] Figure 2 A flowchart of a BMS startup method provided in an embodiment of the present application;

[0037] Figure 3 A flowchart of a BMS code accuracy verification method provided in an embodiment of the present application;

[0038] Figure 4 A flowchart of an actual MAC value calculation method provided in an embodiment of the present application;

[0039] Figure 5 A schematic diagram of the structure of a BMS starting device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0040] In order to make the purpose, technical solutions and advantages of this application more clear, the following is a further detailed description of this application in combination with specific embodiments and with reference to the accompanying drawings. It should be noted that the embodiments described in the embodiments of this application are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0041] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present application should be understood by people with ordinary skills in the field to which the present application belongs. The "first", "second" and similar words used in the embodiments of the present application do not indicate any order, quantity or importance, but are only used to distinguish different components. "Include" or "include" and similar words mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Up", "down", "left", "right", etc. are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0042] In order to make the following embodiments clear, the technical terms involved in this application are first introduced.

[0043] BMS is a system dedicated to battery management. Its main purpose is to ensure that the battery works safely and efficiently and to extend the battery life. Battery BMS plays an important role in many applications such as electric vehicles, renewable energy storage systems, and portable electronic devices.

[0044] MCU (Microcontroller Unit) is the core control unit in BMS, responsible for handling tasks such as battery status monitoring, data calculation, and control strategy execution. MCU plays a vital role in battery management. It interacts with various sensors and actuators to ensure the safety, reliability, and efficient operation of the battery.

[0045] Boot (Boot loader) is a key software component in BMS, responsible for hardware initialization and system boot before its operating system starts. The main task of Boot is to load the operating system kernel when the BMS starts and hand over control to the operating system, thereby starting the entire BMS.

[0046] HSM (Hardware Security Module) is a key component used to enhance system security. The application of HSM in BMS mainly focuses on data protection, identity authentication, key management and secure communication to ensure the security and integrity of the battery management system.

[0047] BMU (Battery Management Unit) is the core module of the entire system, responsible for monitoring, managing and protecting the safe and efficient operation of the battery pack. BMU is the key part of the BMS that performs actual management and control. It monitors the battery's voltage, current, temperature and other parameters to achieve battery status assessment, protection strategy execution and system control.

[0048] As described above, for the current fast startup of BMS, in order to ensure the startup safety of BMS, it is often necessary to first verify the accuracy of the code in the APP to which the BMS belongs. Only after the code verification is passed can the BMS be started through the corresponding boot program, and the startup is considered completed when the first frame message sent by the BMS is received.

[0049] However, since the current code verification algorithm is relatively complex and the business processing involved when the BMS sends the first frame message also takes a certain amount of time, it is difficult for the BMS to complete the entire startup process in a short period of time, resulting in a longer time required for its safe startup.

[0050] In order to solve the above problems, the embodiment of the present application provides a BMS startup method, device, BMS and medium. In the method, when responding to the BMS startup instruction to execute the boot program, the code accuracy of the BMS is verified by the preset verification parameters during the execution of the boot program, so as to realize the parallel processing of the boot program execution and the code accuracy verification, thereby effectively reducing the time consumed by the boot program execution and the code verification. Subsequently, after the code verification result for the BMS is verified, the BMS is initialized to send the first frame message to the external interactive terminal through the initialized network configuration. Accordingly, in the process of the BMS performing the network initialization processing, the startup data of the BMS is synchronously collected to provide a data basis for the first frame message that the BMS needs to send. In this way, when the BMS completes the initialization processing for the network, it can immediately send its own startup message to the external interactive terminal according to the corresponding startup data and network configuration. The various transactions that the BMS needs to process at startup are processed in parallel, which saves the startup time of the BMS to the greatest extent and optimizes the startup speed of the BMS.

[0051] Next, the BMS startup method provided in the embodiment of the present application will be introduced in conjunction with the specific embodiment drawings. Figure 1 , Figure 1 A schematic diagram of the startup process of a BMS in an actual application scenario provided in an embodiment of the present application. Figure 1 The BMS startup process diagram shown includes the hardware units that need to be involved in the BMS startup process, namely the HSM-Core, BMU-Core0 and BMU-Core1 in the figure.

[0052] Among them, HSM-Core is used to perform specific code accuracy verification work, BMU-Core0 is used to execute specific boot programs and subsequent network initialization processing, and BMU-Core1 is used to collect BMS startup data. Figure 1 It can be seen that when the three are processing their respective tasks, other tasks are also being processed in parallel, thereby minimizing the startup time of the BMS and optimizing the startup speed of the BMS.

[0053] exist Figure 1 See further on Figure 2 , which is a flow chart of a BMS startup method provided in an embodiment of the present application, specifically comprising the following steps:

[0054] S101: Responding to a BMS startup instruction to execute a startup boot program of the BMS, and during the execution of the startup boot program, verifying the accuracy of a code of the BMS according to preset verification parameters for the BMS to obtain a code verification result; the startup instruction of the BMS is determined based on an external interactive terminal.

[0055] First, after the BMS is powered on, the BMU-Core0 in the BMS responds to the BMS startup instruction, thereby executing the BMS boot program. Before the boot program is executed, the HSM-Core will continue to wait for instructions to execute code correctness verification. When BMU-Core0 starts to execute the boot program, BMU-Core0 immediately sends a request for code accuracy verification to the HSM, so that the HSM-Core immediately starts calculating the MAC value of the APP to which the BMS belongs, and the HSM-Core verifies the BMS code accuracy through the real-time calculated MAC value and the preset verification parameters for the BMS. Among them, the preset verification parameters are used to characterize the parameters that need to be applied when verifying the code accuracy of the BMS. The specific content of the preset verification parameters will be described and explained below.

[0056] It is understandable that in actual application scenarios, the code accuracy verification process often takes a long time due to the complexity of the verification algorithm. By processing the code accuracy verification work in parallel during the execution of the boot program, the time occupied by the code accuracy verification can be utilized as much as possible. When the boot program is executed, it only takes a short time to know the code verification result, thereby promoting the subsequent startup process and improving the startup speed of the BMS.

[0057] Therefore, during the execution of the boot program, the code accuracy verification work for the BMS will be processed in parallel during the execution phase of the boot program, which reduces the startup time of the BMS as much as possible, so that the startup speed of the BMS is optimized.

[0058] S102: When the code verification result is verification passed, network initialization processing is performed on the BMS, and during the network initialization processing, startup data of the BMS is collected.

[0059] After determining that the code verification result of the BMS is passed, in order to enable the BMS to send its own message data according to the configured network to indicate that the BMS has been started, the BMU-Core0 further performs network initialization processing on the BMS to perform network configuration. During the network initialization processing, the BMU-Core1 will further collect the startup data of the BMS, so that the BMS can generate the corresponding startup message through the startup data after the network configuration is completed, thereby declaring its own startup status.

[0060] Specifically, in this step, before the network initialization process is performed, BMU-Core0 will first start the BMS operating system to provide a basis for the execution steps of the network initialization process. After the BMS operating system is started, BMU-Core0 will start the network initialization process, and at the same time, control another BMU-Core1 to collect the startup data of the BMS, thereby controlling the parallel processing of network configuration and data collection, minimizing the time consumed by the BMS in the startup process, and improving the startup speed of the BMS.

[0061] On the other hand, the startup data of the BMS is used to characterize the startup safety of the BMS. In actual application scenarios, the startup data of the BMS can be the voltage and temperature value of the BMS. The voltage and temperature value of the BMS can effectively characterize the voltage condition of the BMS when the startup is completed, so as to characterize the startup safety of the BMS. At the same time, the voltage and temperature value of the BMS is often the startup data that takes the longest time to collect among many startup data. When obtaining the startup data of the BMS, the voltage and temperature value of the BMS, the network initialization status, the HSM initialization status and other data are often used together as the data in the first frame message. Since the collection of the voltage and temperature value of the BMS takes the longest time, whether the voltage and temperature value of the BMS is collected is used as a factor in whether to generate the first frame message, which can avoid statistics on various types of startup data during the generation of the first frame message, thereby improving the generation efficiency of the first frame message while ensuring the integrity of the first frame message.

[0062] Correspondingly, if it is determined that the code verification result for the BMS is not passed, the execution of the boot program is terminated, and a verification error signal is sent to the external interactive terminal. At this time, the boot program will be terminated at the current execution node and wait for the program execution signal initiated by the external interactive terminal again. After re-initializing the BMS, the external interactive terminal can initiate the program to execute the instruction again, so that the boot program can continue to execute based on the current execution node, thereby optimizing the business processing efficiency of the BMS during the startup process.

[0063] S103: After the network initialization process is completed, according to the startup data and the network configuration after the initialization process, a startup message of the BMS is sent to the external interactive terminal.

[0064] In this way, after the network initialization process is completed, the startup data that has been collected and the network configuration after the initialization process can be used to generate the startup message of the BMS through the startup data, and send it to the external interactive terminal. After the BMS completes the startup, its first frame message can be sent to the external interactive terminal, thereby indicating that the BMS has completed the startup.

[0065] The above describes the general process of the BMS startup method in the embodiment of the present application. Next, the process of verifying the code accuracy of the BMS in step S101 will be introduced in conjunction with the specific embodiment drawings.

[0066] See also Figure 3 , which is a flow chart of a BMS code accuracy verification method provided in an embodiment of the present application, and specifically includes the following steps:

[0067] S201: When the boot program starts to execute, MAC calculation is performed according to the preset code verification address to obtain an actual MAC value corresponding to the preset code verification address.

[0068] As can be seen from the previous article, the preset verification parameters of the BMS are used to characterize the parameters that need to be applied when verifying the accuracy of the BMS code. Among them, the preset verification parameters include the preset MAC expected value and the preset code verification address. The preset code verification address determines the specific area range where the HSM needs to read data from the memory. The HSM will perform MAC calculation based on the APP code within this area to obtain the actual MAC value for the code within this area.

[0069] Before the HSM calculates the actual MAC value, it needs to receive the preset code verification address and the preset MAC expected value sent by the MCU. The MCU needs to extract the stored preset code verification address and the preset MAC expected value from the specified address of Hex and send them to the HSM.

[0070] Specifically, when the HSM receives the preset code verification address and the preset MAC expected value sent by the MCU, it first needs to determine the verification code area indicated by the preset code verification address from its own memory based on the received preset code verification address. Subsequently, in order to ensure that the MAC value calculation process is performed in a secure and encrypted environment, the HSM needs to determine whether the code in the verification code area contains a preset key. If there is a preset key in this verification code area, it means that the MAC value calculation process can be performed in a secure and encrypted environment. Then, the MAC value is calculated for the code data in the verification code area through the preset key and the preset encryption algorithm to obtain the actual MAC value corresponding to the preset code verification address.

[0071] In one possible implementation, the preset encryption algorithm used by the HSM to calculate the actual MAC value may be the AES algorithm, which is a symmetric encryption algorithm widely used in data transmission and storage. By executing the AES algorithm through an acceleration engine in the HSM, the calculation speed of the actual MAC value in a specific verification code area can be greatly improved, and the integrity and security of the code in the BMS can be ensured through the symmetric encryption characteristics of the AES algorithm.

[0072] Correspondingly, if there is no preset key in the verification code area, the MAC value calculation step is not performed. For details, please refer to Figure 4 A flowchart of a method for calculating an actual MAC value disclosed, combined with Figure 4 The above process of calculating the MAC value by the HSM is understood and will not be described in detail in this embodiment.

[0073] S202: Compare the actual MAC value with the preset MAC expected value to verify the code accuracy of the verification code area indicated by the preset code verification address to obtain the code verification result.

[0074] After the HSM calculates the actual MAC value corresponding to the preset code verification address, the HSM compares the actual MAC value with the preset MAC expected value, and can complete the code accuracy verification for the verification code area through the corresponding comparison result, thereby obtaining the final code verification result.

[0075] Specifically, in the process of comparing the actual MAC value with the preset MAC expected value, if the actual MAC value is the same as the preset MAC expected value, it indicates that the boot program of the BMS and its internal initialization configuration perfectly follow the execution of the boot program, and the accuracy of the code in the BMS is normal, and the corresponding code verification result is verification passed. Correspondingly, if the actual MAC value is different from the preset MAC expected value, it indicates that the code in the BMS is abnormal, and the corresponding code verification result is determined to be verification failed.

[0076] The above is the entire process of HSM verifying the code accuracy for BMS. It can be seen that the embodiment of the present application provides a BMS startup method, in which, when responding to the BMS startup instruction to execute the boot program, the code accuracy of the BMS will be verified synchronously through the preset verification parameters during the execution of the boot program, so as to realize the parallel processing of the boot program execution and the code accuracy verification, thereby effectively reducing the time consumed by the boot program execution and code verification. Subsequently, after the code verification result for the BMS is verified, the BMS is initialized for the network so that the BMS sends the first frame message to the external interactive terminal through the initialized network configuration. Accordingly, in the process of the BMS performing the network initialization processing, the startup data of the BMS is synchronously collected to provide a data basis for the first frame message that the BMS needs to send. In this way, when the BMS completes the initialization processing for the network, it can immediately send its own startup message to the external interactive terminal according to the corresponding startup data and network configuration. The various transactions that the BMS needs to process at startup are processed in parallel, which saves the startup time of the BMS to the greatest extent and optimizes the startup speed of the BMS.

[0077] A BMS starting device provided in an embodiment of the present application is introduced below. The BMS starting device described below and the BMS starting method described above can refer to each other.

[0078] See also Figure 5 , which is a schematic diagram of the structure of a BMS starting device provided in an embodiment of the present application, specifically including the following modules:

[0079] The first parallel processing module 100 is used to execute a boot program of the BMS in response to a BMS boot instruction, and during the execution of the boot program, verify the accuracy of the code of the BMS according to preset verification parameters for the BMS to obtain a code verification result; the boot instruction of the BMS is determined based on an external interactive terminal;

[0080] The second parallel processing module 200 is used to perform network initialization processing on the BMS when the code verification result is verification passed, and collect startup data of the BMS during the network initialization processing;

[0081] The first frame message sending module 300 is used to send the startup message of the BMS to the external interactive terminal according to the startup data and the network configuration after the initialization process after the network initialization process is completed.

[0082] On the other hand, an embodiment of the present application further provides a BMS startup method, which is used to implement the BMS startup method described in any of the above embodiments.

[0083] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, an embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the computer to execute the BMS startup method described in any of the above embodiments.

[0084] The computer-readable media of the embodiments of the present application include permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.

[0085] The computer instructions stored in the storage medium of the above embodiment are used to enable the computer to execute the BMS startup method described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0086] It should be noted that each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for methods, devices, BMS and media, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments. The methods, devices, BMS and media described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components indicated as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. A person of ordinary skill in the art can understand and implement it without creative work.

[0087] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present application 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 BMS startup method, characterized in that: include: Responding to a BMS startup instruction to execute a startup boot program of the BMS, and during the execution of the startup boot program, verifying the accuracy of a code of the BMS according to preset verification parameters for the BMS to obtain a code verification result; the startup instruction of the BMS is determined based on an external interactive terminal; When the code verification result is verification passed, performing network initialization processing on the BMS, and collecting startup data of the BMS during the network initialization processing; After the network initialization process is completed, a startup message of the BMS is sent to the external interactive terminal according to the startup data and the network configuration after the initialization process.

2. The method according to claim 1, characterized in that The preset verification parameters include: a preset MAC expected value and a preset code verification address; The step of responding to a BMS startup instruction to execute a startup boot program of the BMS, and during the execution of the startup boot program, performing code accuracy verification on the BMS according to preset verification parameters for the BMS to obtain a code verification result includes: When the boot program starts to execute, MAC calculation is performed according to the preset code verification address to obtain an actual MAC value corresponding to the preset code verification address; The actual MAC value is compared with the preset MAC expected value to verify the code accuracy of the verification code area indicated by the preset code verification address to obtain the code verification result.

3. The method according to claim 2, characterized in that When the boot program starts to execute, performing MAC calculation according to the preset code verification address to obtain an actual MAC value corresponding to the preset code verification address includes: Determine whether there is a preset key in the verification code area; When the preset key exists in the verification code area, the MAC value is calculated for the code data in the verification code area by using the preset key and a preset encryption algorithm to obtain the actual MAC value of the verification code area.

4. The method according to claim 2, characterized in that: The comparing the actual MAC value with the preset MAC expected value to perform code accuracy verification on the verification code area indicated by the preset code verification address to obtain the code verification result includes: If the actual MAC value is the same as the preset MAC expected value, determining that the code verification result is the verification passed; If the actual MAC value is different from the preset MAC expected value, the code verification result is determined to be verification failure.

5. The method according to claim 1, characterized in that The startup data includes: voltage and temperature values; When the code verification result is verification passed, performing network initialization processing on the BMS, and collecting startup data of the BMS during the network initialization processing, including: When the code verification result is that the verification is passed, starting the operating system of the BMS; After the operating system of the BMS is started, a network initialization process is performed on the BMS, and during the network initialization process, the voltage and temperature values ​​of the BMS are collected in parallel.

6. The method according to claim 1, characterized in that The method further comprises: executing a boot program of the BMS in response to a BMS boot instruction, and performing code accuracy verification on the BMS according to preset verification parameters for the BMS during the execution of the boot program, and obtaining a code verification result. When the code verification result is verification failure, the execution operation of the boot program is terminated, and a verification error signal is sent to the external interactive terminal.

7. The method according to claim 3, characterized in that The preset encryption algorithm is the AES algorithm.

8. A BMS starting device, characterized in that: include: a first parallel processing module, configured to execute a boot program of the BMS in response to a BMS boot instruction, and during the execution of the boot program, verify the accuracy of a code of the BMS according to a preset verification parameter for the BMS to obtain a code verification result; the boot instruction of the BMS is determined based on an external interactive terminal; A second parallel processing module is used to perform network initialization processing on the BMS when the code verification result is verification passed, and collect startup data of the BMS during the network initialization processing; The first frame message sending module is used to send the startup message of the BMS to the external interactive terminal according to the startup data and the network configuration after the initialization process after the network initialization process is completed.

9. A BMS, characterized in that: Used to implement the BMS startup method as described in any one of claims 1-7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the BMS startup method according to any one of claims 1 to 7 is implemented.