Battery packs and battery systems
The energy management system of the battery pack broadcasts data acquisition instructions in the host mode, and uses the product serial number and dynamic address information to perform master-slave arbitration, solving the problem of large programming of multi-battery packet communication control in the battery system, and achieving simplified battery pack communication control.
Patent Information
- Application Number
- CN202210995218.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-18
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2042-08-18
AI Technical Summary
In the prior art, the communication control of multiple battery packs in the battery system requires the writing of control programs separately, and the programming volume and difficulty are relatively high.
In the host mode, the energy management system of the battery pack sends data acquisition instructions to itself and other battery packs' battery management systems through broadcast. The battery management system responds to obtain and sends target data in the slave mode, and uses the product serial number and dynamic address information to perform master-slave arbitration to realize data interaction between the battery packs.
It reduces the programming amount and difficulty of battery pack communication control, and simplifies the writing process of control programs.
Smart Images

Figure CN115441073B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of batteries, and in particular to a battery pack and a battery system. Background Art
[0002] In the battery industry, multiple battery packs are typically connected to the same communication bus, resulting in a battery system consisting of multiple battery packs. To facilitate communication and control of the multiple battery packs in a battery system, the packs must be divided into master and slave groups, distinguishing between master and slave packs. This requires separate control logic programming for the master pack's battery management system and the slave pack's battery management system, resulting in significant programming complexity and difficulty. Summary of the Invention
[0003] One purpose of the present application is to propose a battery pack and a battery system, which eliminates the need to write a separate control program specifically for the battery management system of the battery pack in host mode, thereby reducing the amount of programming and programming difficulty required to achieve battery pack communication control.
[0004] According to one aspect of an embodiment of the present application, a battery pack is disclosed. The battery pack is connected to other battery packs via a communication bus. The battery pack includes an energy management system and a battery management system. The battery pack is configured as follows:
[0005] In the host mode, the energy management system responds to the data acquisition operation by broadcasting a data acquisition instruction to its own battery management system and the battery management systems of the other battery packs connected to the communication bus, wherein the data acquisition instruction is used to instruct to return the target data to the cache area; the energy management system reads the target data from the cache area and sends the target data to the target device pointed to by the data acquisition operation, wherein the target data returned by the battery management system of the battery pack itself is stored in the first cache area, and the target data returned by the battery management systems of the other battery packs is stored in the second cache area;
[0006] In the slave mode, upon receiving a data acquisition instruction, the battery management system thereof acquires the target data indicated by the data acquisition instruction, and sends the target data to the battery pack pointed to by the data acquisition instruction via the communication bus.
[0007] According to an exemplary embodiment of the present application, the battery pack is further configured as follows:
[0008] Receiving product serial numbers sent by other battery packs connected to the communication bus;
[0009] Comparing the product serial numbers of the other battery packs with the battery pack's own product serial number, and entering slave mode when the battery pack's own product serial number is greater than the product serial number of the other battery pack;
[0010] When the product serial number of the battery pack itself is smaller than the product serial numbers of all other battery packs, the host mode is entered.
[0011] According to an exemplary embodiment of the present application, the battery pack is further configured as follows:
[0012] After entering the host mode, obtain the dynamic address information in the address buffer;
[0013] The product serial numbers of the other battery packs and the dynamic address information are packaged into address setting information, and the address setting information is broadcast to the other battery packs.
[0014] According to an exemplary embodiment of the present application, packaging the product serial numbers of other battery packs and the dynamic address information into address setting information includes:
[0015] The product serial number and the dynamic address information are assigned one-to-one to obtain a plurality of address setting information, each of which includes only a product serial number and a dynamic address information.
[0016] According to an exemplary embodiment of the present application, the battery pack is further configured as follows:
[0017] Delete the allocated dynamic address information in the address buffer area.
[0018] According to an exemplary embodiment of the present application, the battery pack is further configured as follows:
[0019] In slave mode, upon receiving address setting information sent by a battery pack that has entered host mode, obtaining the product serial number in the address setting information;
[0020] When the product serial number in the address setting information is consistent with its own product serial number, updating its own dynamic address to the dynamic address information in the address setting information;
[0021] When the dynamic address update of the battery pack itself is completed, feedback information indicating that the address allocation has been completed is sent to the battery pack entering the host mode.
[0022] According to an exemplary embodiment of the present application, the battery pack is further configured as follows:
[0023] In the host mode, if the product serial number contained in the heartbeat packet received from other battery packs is smaller than its own product serial number, the host mode is exited and the information that the master-slave mode needs to be reconfirmed is broadcasted through the communication bus.
[0024] According to an exemplary embodiment of the present application, the battery pack is further configured as follows:
[0025] In host mode, if a heartbeat packet sent by another battery pack is received, the product serial number in the heartbeat packet is obtained;
[0026] If there is no product serial number consistent with the product serial number in the heartbeat packet in the address cache area, unallocated dynamic address information is obtained from the address cache area, the dynamic address information and the product serial number in the heartbeat packet are packaged into address setting information, and the address setting information is sent to the battery pack pointed to by the heartbeat packet, wherein the address cache area stores the product serial number and its corresponding dynamic address.
[0027] According to an exemplary embodiment of the present application, the communication bus is a CAN bus, and the battery pack is further configured as follows:
[0028] In host mode, the energy management system broadcasts the data acquisition instruction to the battery management systems of other battery packs connected to the CAN bus through the CAN bus, and broadcasts the data acquisition instruction to the first cache area so that its own battery management system reads the data acquisition instruction from the first cache area and returns the target data.
[0029] According to one aspect of an embodiment of the present application, a battery system is disclosed, including a battery pack provided by any one of the above optional implementations, wherein a plurality of the battery packs are connected via a communication bus.
[0030] According to one aspect of an embodiment of the present application, a computer program medium is disclosed, on which computer-readable instructions are stored. When the computer-readable instructions are executed by a processor of a computer, the computer executes the methods provided in the various optional implementations described above.
[0031] In an embodiment of the present application, the energy management system of a battery pack in host mode sends a data acquisition instruction to its own battery management system and the battery management systems of other battery packs by broadcasting, instructing its own battery management system and the battery management systems of other battery packs to return target data to the cache. In coordination with this, the battery management system of a battery pack in slave mode responds to the data acquisition instruction, acquires the target data, and sends the target data to the battery pack pointed to by the data acquisition instruction through a communication bus. Because the battery pack in host mode does not need to specifically distinguish between its own battery management system and the battery management systems of other battery packs when sending a data acquisition instruction to the battery management system to instruct the battery management system to return target data. Therefore, in an embodiment of the present application, the battery pack in host mode only needs to realize data interaction with its own battery management system and the battery management systems of other battery packs by broadcasting, and there is no need to write a separate control program specifically for the battery management system of the battery pack in host mode, which reduces the amount of programming and programming difficulty required to realize battery pack communication control.
[0032] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by practice of the present application.
[0033] It should be understood that the foregoing general description and the following detailed description are merely illustrative and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] The above and other objects, features and advantages of the present application will become more apparent by describing in detail example embodiments thereof with reference to the attached drawings.
[0035] Figure 1 A schematic diagram of the communication architecture of a battery pack according to an embodiment of the present application is shown.
[0036] Figure 2 A schematic diagram of the communication architecture of a battery pack according to an embodiment of the present application is shown.
[0037] Figure 3 A schematic diagram of communication interaction between a master-slave package and an external device according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0038] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these example embodiments are provided so that the description of this application will be more comprehensive and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The accompanying drawings are merely schematic illustrations of the present application and are not necessarily drawn to scale. Identical reference numerals in the figures indicate identical or similar parts, and thus repeated descriptions thereof will be omitted.
[0039] In addition, the described features, structures or characteristics may be combined in one or more example embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the example embodiments of the present application. However, those skilled in the art will appreciate that the technical solutions of the present application may be practiced while omitting one or more of the specific details, or other methods, components, steps, etc. may be adopted. In other cases, known structures, methods, implementations or operations are not shown or described in detail to avoid obscuring the main content and making various aspects of the present application vague.
[0040] Some of the blocks shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0041] The present application provides a battery pack and a battery system comprising a plurality of the provided battery packs. The battery packs of the battery system provided by the present application are connected via a communication bus, so that the battery packs can be controlled and scheduled in a unified manner.
[0042] Since the battery system provided in this application depends on the battery pack provided in this application, the following reference Figure 1 The communication architecture diagram of the battery pack of one embodiment of the present application is shown, and the battery pack provided by the present application is described in detail.
[0043] refer to Figure 1 As shown, the battery pack provided in this application is divided into a master pack and a slave pack according to the difference between the host mode and the slave mode. Specifically, if the battery pack is in the host mode, the battery pack is the master pack; if the battery pack is in the slave mode, the battery pack is the slave pack.
[0044] For all battery packs connected to the same communication bus provided in this application, generally only one battery pack is used as the master pack, and the other battery packs are used as slave packs. The master pack mainly serves as a unified communication interface for all battery packs connected to the same communication bus, and is responsible for unified communication control of all battery packs.
[0045] It should be noted that the battery packs provided in this application all have an energy management system EMS (Energy Management System) and a battery management system BMS (Battery Management System). Since the battery packs provided in this application have an EMS that basically does not participate in communication interaction when in slave mode, Figure 1 The EMS of the slave pack is not shown, but this does not mean that the slave pack in this application does not have a corresponding EMS. It should be noted that in the relevant embodiments of this application, the EMS in each battery pack is responsible for collecting, analyzing, resolving, and judging data, and is also used to respond to control instructions sent by external devices to complete the tasks specified in the control instructions. The BMS in each battery pack is only used to control the charging and discharging of the battery modules in the battery pack according to the received instructions, and to obtain battery data related to the battery modules.
[0046] The battery pack provided in this application is used as the master pack when in host mode. The EMS of the master pack is responsible for responding to data acquisition operations, obtaining the target data indicated by the data acquisition operation from each battery pack, and sending the obtained target data to the target device indicated by the data acquisition operation.
[0047] Specifically, the master pack's EMS responds to the data acquisition operation by broadcasting a data acquisition instruction to its own BMS and the BMSs of other battery packs connected to the communication bus. That is, the master pack's EMS broadcasts a data acquisition instruction to its own BMS and the BMSs of the slave packs, instructing its own BMS to return the target data to the master pack's cache and instructing the BMSs of the slave packs to return the target data to the master pack's cache. The master pack's EMS then reads the target data from its cache and sends it to the target device designated by the data acquisition operation.
[0048] It can be seen from this that when the EMS of the master package sends a data acquisition instruction to the BMS to instruct the BMS to return the target data, whether it is sending a data acquisition instruction to the BMS of the master package or sending a data acquisition instruction to the BMS of the slave package, it is completed synchronously through broadcasting. Therefore, for the EMS of the master package, there is no need to specifically distinguish between the BMS of the master package and the BMS of the slave package. Therefore, in the embodiment of the present application, the BMS of the master package and the BMS of the slave package can share the same set of control logic, and there is no need to write a separate control program specifically for the BMS of the master package, which reduces the amount of programming and programming difficulty required to achieve battery pack communication control.
[0049] In the embodiment of the present application, the buffer area of the master package is divided into a first buffer area and a second buffer area. The first buffer area is used to store the target data returned by the BMS of the master package, and the second buffer area is used to store the target data returned by the BMS of the slave package.
[0050] It should be further explained that, since each battery pack provided by this application can be in host mode, each battery pack includes a first buffer area and a second buffer area. Since the battery pack provided by this application only uses the first buffer area when it is in host mode, Figure 1 The first buffer area of the slave packet is not shown, but it does not mean that the slave packet in this application does not include the corresponding first buffer area.
[0051] The battery pack provided in this application is used as a slave pack when in slave mode in conjunction with the master pack. During the communication interaction process, the slave pack mainly responds to the data acquisition instruction based on its own BMS, obtains the target data indicated by the data acquisition instruction, and sends the target data to the battery pack indicated by the data acquisition instruction, that is, to the master pack, via the communication bus.
[0052] It can be seen that in the embodiment of the present application, the energy management system of the battery pack in the host mode sends a data acquisition instruction to its own battery management system and the battery management systems of other battery packs by broadcasting, instructing its own battery management system and the battery management systems of other battery packs to return the target data to the cache area. In conjunction with this, the battery management system of the battery pack in the slave mode responds to the data acquisition instruction, acquires the target data and sends the target data to the battery pack pointed to by the data acquisition instruction through the communication bus. Because the battery pack in the host mode does not need to specifically distinguish between its own battery management system and the battery management systems of other battery packs when sending a data acquisition instruction to the battery management system to instruct the battery management system to return the target data. Therefore, in the embodiment of the present application, the battery management system of the battery pack in the host mode and the battery management systems of other battery packs can share the same set of control logic, and there is no need to write a separate set of control programs specifically for the battery management system of the battery pack in the host mode, which reduces the amount of programming and programming difficulty required to achieve battery pack communication control.
[0053] In one embodiment, a battery pack in host mode functions as a master pack, while other battery packs in slave mode function as slave packs. The master pack uses its first and second buffers to store target data. The slave packs disable their first buffers and use only their second buffers to receive data acquisition instructions and send target data indicated by the data acquisition instructions.
[0054] In one embodiment, the communication bus is a CAN bus, and the battery pack provided in this application is further configured as follows:
[0055] In host mode, the energy management system broadcasts the data acquisition instructions to the battery management systems of other battery packs connected to the CAN bus through the CAN bus, and broadcasts the data acquisition instructions to the first cache area, so that its own battery management system reads the data acquisition instructions from the first cache area and returns the target data.
[0056] In this embodiment, the communication bus used to connect multiple battery packs is a CAN (Controller Area Network) bus.
[0057] Specifically, the battery pack in host mode serves as the master pack, and the other battery packs in slave mode connected to the CAN bus serve as slave packs. The master pack's EMS broadcasts a data acquisition instruction to the slave pack's BMS via the CAN bus. Furthermore, the master pack's EMS broadcasts the data acquisition instruction to the first buffer area, allowing the master pack's BMS to read the data acquisition instruction from the first buffer area and, in turn, return the target data in response to the data acquisition instruction.
[0058] In one embodiment, a storage space is set in the storage area of the battery pack as a first buffer area for data exchange between the EMS and the BMS.
[0059] In one embodiment, the master packet and the slave packet both exchange data through their respective second buffer areas, and the second buffer areas of the master packet and the slave packet are both buffer areas connected to the communication bus.
[0060] For example, Figure 2 A schematic diagram of the communication architecture of a battery pack according to an embodiment of the present application is shown.
[0061] refer to Figure 2 As shown, in one embodiment, the second buffer area of the master packet includes a transmit buffer area for the master packet to send data to the communication bus, and a receive buffer area for receiving data sent by the communication bus. Similarly, the second buffer area of the slave packet includes a transmit buffer area for the slave packet to send data to the communication bus, and a receive buffer area for receiving data sent by the communication bus.
[0062] In this embodiment, the master package's EMS sends a data acquisition instruction to the slave package's receive buffer via its transmit buffer, while the slave package's BMS reads the data acquisition instruction from its own receive buffer. After the slave package's BMS acquires the target data indicated by the data acquisition instruction, it sends the target data to the master package's receive buffer via its own transmit buffer, allowing the master package's EMS to read the target data from its own receive buffer.
[0063] In one embodiment, the battery pack provided in this application is further configured as follows:
[0064] Receive product serial numbers sent by other battery packs connected to the communication bus;
[0065] Compare the product serial numbers of other battery packs with its own product serial number. If its own product serial number is greater than that of other battery packs, it enters slave mode.
[0066] When its own product serial number is smaller than the product serial numbers of all other battery packs, it enters host mode.
[0067] In this embodiment, the battery pack provided by this application performs master-slave arbitration according to the size of the product serial number SN (Serial Number) to determine whether to enter the host mode or the slave mode.
[0068] Specifically, after being powered on, each battery pack connected to the same communication bus sends its own SN to other battery packs via broadcasting and receives the SNs of other battery packs.
[0069] The battery pack compares its own SN with the SNs of other battery packs to determine whether its SN is the smallest. If it is not the smallest, that is, if its SN is greater than the SNs of one or more other battery packs, it enters slave mode. If it is the smallest, that is, if its SN is less than the SNs of all other battery packs, it enters master mode.
[0070] In one embodiment, each battery pack connected to the same communication bus is assigned a dynamic address of 0x01 upon power-up. After broadcasting its own SN and receiving the SNs of other battery packs, if it determines that its own SN is not the smallest, it changes its dynamic address to 0x00, enters slave mode, and waits for the master pack to assign a new dynamic address.
[0071] In one embodiment, the battery pack provided in this application is further configured as follows:
[0072] After entering the host mode, obtain the dynamic address information in the address buffer;
[0073] The product serial numbers and dynamic address information of other battery packs are packaged into address setting information, and the address setting information is broadcast to other battery packs.
[0074] In this embodiment, the battery pack that enters the host mode serves as the master pack, and addresses are allocated to other battery packs that serve as slave packs to avoid address conflicts among battery packs connected to the same communication bus.
[0075] Specifically, after the master packet and the slave packet are determined according to the master-slave arbitration, the master packet obtains the dynamic address information in its address buffer area and distributes the obtained dynamic address information to the slave packet.
[0076] In order to enable the slave packets to confirm the dynamic address information allocated to them, the master packet associates and packages the SN and dynamic address information of the slave packet according to the allocation result, obtains the address setting information containing the SN and dynamic address information of the slave packet, and broadcasts the address setting information to the slave packet.
[0077] The address setting information is received from the packet in a broadcast manner, and the SN of the packet and the associated dynamic address information can be parsed and extracted therefrom, and then the allocated dynamic address information can be obtained according to the respective SNs.
[0078] In one embodiment, the master packet associates and packages the SNs of all slave packets and the corresponding dynamic address information to obtain address setting information.
[0079] In one embodiment, the product serial numbers and dynamic address information of other battery packs are packaged into address setting information, including:
[0080] The product serial number and the dynamic address information are assigned one-to-one to obtain a plurality of address setting information, each of which includes only a product serial number and a dynamic address information.
[0081] In this embodiment, the master packet manages and packages the SN and corresponding dynamic address information of each slave packet respectively to obtain one or more address setting information.
[0082] Specifically, each address setting information only includes the SN of a slave packet and a corresponding dynamic address information. The number of address setting information is equal to the number of slave packets that need to be assigned dynamic addresses.
[0083] In one embodiment, the battery pack provided in this application is further configured as follows:
[0084] Delete the allocated dynamic address information in the address cache.
[0085] In this embodiment, when allocating dynamic address information in its address cache to slave packets, the master packet deletes the allocated dynamic address information from its address cache to avoid allocating the same dynamic address information to multiple slave packets.
[0086] In one embodiment, the battery pack provided in this application is further configured as follows:
[0087] In slave mode, upon receiving address setting information sent by a battery pack that has entered host mode, obtain the product serial number in the address setting information;
[0088] When the product serial number in the address setting information is consistent with its own product serial number, its own dynamic address is updated to the dynamic address information in the address setting information;
[0089] When the dynamic address update of the battery pack itself is completed, feedback information indicating that the address allocation has been completed is sent to the battery pack that has entered the host mode.
[0090] In this embodiment, the battery pack that enters the slave mode acts as a slave pack and updates its own dynamic address according to the address setting information sent by the master pack.
[0091] Specifically, after receiving the address setting information sent by the master packet, the slave packet confirms the SN in the address setting information.
[0092] If the SN in the address setting information is consistent with its own SN, it means that the dynamic address information in the address setting information is sent to itself, so the slave packet updates its own dynamic address to the dynamic address information in the address setting information.
[0093] After completing the dynamic address update, the slave packet generates feedback information indicating that the address allocation has been completed, and sends the feedback information to the master packet to inform the master packet that the slave packet has completed the address allocation.
[0094] In one embodiment, after the master packet sends out the address setting information used to allocate dynamic address information to the target slave packet, if no feedback information indicating that the address allocation has been completed is received from the target slave packet within a preset time (for example: 1 minute), the master packet will recover the dynamic address information that was not allocated to the target slave packet, and then allocate the recovered dynamic address information in the subsequent allocation process.
[0095] In one embodiment, the battery pack provided in this application is further configured as follows:
[0096] In the host mode, if the product serial number contained in the heartbeat packet received from other battery packs is smaller than its own product serial number, the host mode will be exited and the information that the master-slave mode needs to be reconfirmed will be broadcasted through the communication bus.
[0097] It should be noted that after the master-slave arbitration is completed, the master and slave packages generally do not change. However, if a new battery pack is connected to the communication bus, the master-slave arbitration may need to be repeated.
[0098] Specifically, in this embodiment, after the other battery packs are connected to the communication bus, they can broadcast a heartbeat packet containing their SN via the communication bus. After the main pack receives the heartbeat packet sent by the other battery pack, it confirms the SN of the other battery pack from it and then compares it with the SN of the main pack itself.
[0099] If the master pack confirms that the SN of the other battery pack is smaller than its own SN, the master pack exits master mode and broadcasts a message via the communication bus that the master-slave mode confirmation is required. All battery packs, including the newly connected battery pack, then re-enter master-slave arbitration to determine the new master pack. In this embodiment, even if master-slave arbitration has already completed, if a new battery pack is connected to the communication bus, all battery packs connected to the communication bus will re-enter master-slave arbitration to determine the new master pack. During the re-master-slave arbitration process, the dynamic address of the battery pack connected to the communication bus will be set to the initial address, i.e., 0x00. After the master-slave arbitration is completed, the dynamic address will be re-assigned.
[0100] In one embodiment, the battery pack provided in this application is further configured as follows:
[0101] In host mode, if a heartbeat packet is received from another battery pack, the product serial number in the heartbeat packet is obtained;
[0102] If there is no product serial number consistent with the product serial number in the heartbeat packet in the address cache, the unassigned dynamic address information is obtained from the address cache, the dynamic address information and the product serial number in the heartbeat packet are packaged into address setting information, and the address setting information is sent to the battery pack pointed to by the heartbeat packet, wherein the address cache stores the product serial number and its corresponding dynamic address.
[0103] In this embodiment, the battery pack in host mode serves as the master pack, and the other battery packs in slave mode serve as slave packs. Each time the master pack assigns dynamic address information from its address cache to a slave pack, it associates and records the assigned dynamic address information with the corresponding slave pack's SN in its address cache.
[0104] The slave packet can broadcast a heartbeat packet containing its SN via the communication bus. After the master packet receives the heartbeat packet sent by the slave packet, it confirms the SN of the slave packet and confirms whether the address buffer area records the SN of the slave packet.
[0105] If the address cache records the SN of the slave package, it means that the dynamic address information has been assigned to the slave package. On the contrary, if the address cache does not record the SN of the slave package, it means that the dynamic address information has not been assigned to the slave package or the battery pack is a battery pack newly connected to the communication bus. Therefore, the master package obtains the unassigned dynamic address information from the address cache, packages the unassigned dynamic address information and the SN of the slave package into address setting information, and sends the address setting information to the slave package, thereby assigning the dynamic address information to the slave package. In this embodiment, after multiple battery packs complete the master-slave arbitration, if a new battery pack is connected to the communication bus, the master-slave arbitration will not be re-performed. The newly connected battery pack automatically enters the slave mode, and the master package originally arbitrated directly assigns an address to the newly connected battery pack. With this setting, the problem of management loss of control caused by re-master-slave arbitration is reduced.
[0106] Figure 3 A schematic diagram of communication interaction between a master-slave package and an external device according to an embodiment of the present application is shown.
[0107] refer to Figure 3 As can be seen, in one embodiment, each battery pack's code integrates both a master packet code for instructing master mode and a slave packet code for instructing slave mode. After master-slave arbitration is complete, all battery packs connected to the CAN bus decide whether to enter master or slave mode based on the master-slave flag bits transmitted from the CAN bottom layer. There is only one master packet on a CAN bus.
[0108] The EMS of the main package is responsible for serving as the unified communication interface for all battery packs on the CAN bus and communicating with external target devices. External target devices include Figure 3 The display module and input source module shown. The display module may include a display screen for relevant data and a touch screen for human-computer interaction, or the display module may realize the functions of data display, touch operation and selection operation. The input source module may be a charging power supply, which may be AC power, DC power, or the input source module may be a power supply that provides mains power, solar power or wind power, or other energy storage modules. After receiving the relevant operation, the display module sends a control instruction to the EMS of the main package, and the control instruction is used to obtain the basic data of all battery packs on the CAN bus (for example: voltage data, remaining charge state data SOC, current error code, etc.). The input source module interacts with the EMS of the main package and supplies power or stops power according to the control instruction sent by the EMS of the main package.
[0109] The master package sets up a first buffer area in its code to allow the master package's BMS and the master package's EMS to establish communication and exchange data. The slave package's BMS establishes communication and exchanges data with the master package's EMS through the CAN bus.
[0110] A first buffer area is provided in each battery pack, but the first buffer area is only enabled in the master pack and is disabled in the slave pack.
[0111] It should be noted that in the above-described embodiments of this application, only the data exchange between the master and slave packages is used as an example. However, in actual use, the execution of related instructions is also involved. For example, when the EMS in the master package receives a discharge instruction from an external device, it will determine the target slave package based on the discharge instruction, generate a control instruction for the target battery pack, and send this control instruction to the target slave package. After receiving the control instruction, the target slave package will perform a discharge operation according to the control instruction and send its own battery data, such as battery capacity, discharge current, and discharge power, to the EMS of the master package, so that the EMS of the master package can perform operations such as data collection, analysis, and judgment.
[0112] The EMS of the master package can send the control instruction by broadcasting. Specifically, when sending the control instruction by broadcasting, the control instruction and the SN code of the target slave package will be packaged into a control package, and the control package will be sent by broadcasting. When all BMSs receive the control package, they will determine whether the control package is for them based on their own SN. If the SN code in the control package is consistent with their own SN code, they will perform the relevant operations according to the control instruction of the control package. If the SN code in the control package is inconsistent with their own SN code, they will not perform any operations.
[0113] The EMS of the master packet can also send the control instruction in a directed manner. Specifically, the EMS of the master packet obtains the dynamic address of the target slave packet (allocated previously) and sends the control instruction to the target slave packet.
[0114] In the above embodiments provided by this application, the step of implementing dynamic address allocation can be implemented in the following ways:
[0115] Each battery pack sends its own SN and dynamic address as a heartbeat packet on the bus. The dynamic address in the heartbeat packet of the battery pack that becomes the slave packet during arbitration is 0x00 (waiting for the master packet to assign an address).
[0116] The master receives the heartbeat packets from all slaves, sorts them by SN, and then populates the remaining dynamic addresses in its address buffer with them. The master then sends them over the communication bus. Upon receiving these heartbeat packets, the slave finds the heartbeat packet with its own SN and uses the dynamic address in it as its own. At this point, the dynamic address in the slave's heartbeat packet becomes the address assigned by the master. Upon receiving these heartbeat packets from the slaves, the master deletes the corresponding dynamic addresses from its address buffer.
[0117] If the master is assigning a dynamic address to a slave, and the slave does not return a heartbeat packet with the assigned address within ΔT = 3 seconds, the master considers the battery pack disconnected and does not participate in the address assignment operation. At this time, the address is not assigned successfully, and there are still unassigned addresses in the master's address buffer, which will continue to be assigned to the online slave.
[0118] If the master package has completed address allocation and has not received the heartbeat packet of the allocated address within ΔT=60S, the battery pack is considered disconnected and the dynamic address is recovered. In other words, when performing subsequent charging, discharging or data acquisition operations, the master package will not send instructions to the slave package that is considered to have been "removed", and the slave package will not participate in any logical judgment or control operations. The above embodiments of the present application only consider the case where the slave package is removed, and do not consider the case where the slave package cannot transmit the heartbeat packet back due to a communication failure.
[0119] In this application, each battery pack has a master package code and a slave package code, which is determined by arbitrating on the CAN bus whether it is a master package or a slave package to decide which code to run. Specifically, the master package code includes but is not limited to: receiving basic information of all BMSs on the CAN bus and instructions from non-battery pack devices (WIFI module, input source module, display module, etc.), integrating the received information, and sending data to each battery pack on the CAN bus via CAN, informing all battery packs of the overall status of the battery packs on the CAN bus. The master package code can execute, for example: integrating SOC and informing all battery packs to display the total SOC. At the same time, it informs the BMS that the WIFI module receives the user's control instructions. The master package code can also execute, for example: UPS, the user sets the charging upper limit to 80, then when the overall SOC is 80, all BMSs are prohibited from charging. The master package code can also execute: sending instructions to all BMSs on the CAN bus via CAN to control charging and discharging, who turns on the charging and discharging MOS, and who turns off the charging and discharging MOS.
[0120] After the master-slave arbitration, the master package runs both the master package code and the slave package code, and the master package runs one more master package code than the slave package. In the master package, because the master package's EMS and the master package's BMS are in the same set of code, communication between them is carried out through the code's internal buffer, without the need for peripherals and physical connections. Other battery packs, acting as slave packages, are physically connected via the CAN peripheral (data line) to upload their basic data and receive transmission control instructions. During the implementation process, the slave package disables the master package code in its own code, runs only the slave package code, and changes the medium for data exchange to the CAN peripheral.
[0121] After the arbitration is completed, the master packet broadcasts the relevant instructions (data packets) according to the address. Each slave packet (including the BMS that is virtualized as a slave packet) will only receive the data packets corresponding to its own SN and dynamic address, and feedback the relevant data packets.
[0122] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present application.
[0123] In an exemplary embodiment of the present application, a computer-readable storage medium is further provided, on which computer-readable instructions are stored. When the computer-readable instructions are executed by a processor of a computer, the computer executes the method described in the above method embodiment.
[0124] According to one embodiment of the present application, a program product for implementing the method in the above method embodiment is also provided. The program product may be a portable compact disc read-only memory (CD-ROM) and includes program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0125] The program product may be implemented in any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0126] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0127] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0128] The program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as JAVA, C++, and the like, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0129] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiment of the application, the features and functions of two or more modules or units described above can be concretized in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.
[0130] Furthermore, although the steps of the method of the present application are described in a particular order in the accompanying drawings, this does not require or imply that the steps must be performed in this particular order, or that all steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0131] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.
[0132] Those skilled in the art will readily appreciate other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of the present invention and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered merely as exemplary, and the true scope and spirit of the present application are indicated by the appended claims.
Claims
1. A battery pack, characterized in that: The battery pack is connected to other battery packs via a communication bus. The battery pack includes an energy management system and a battery management system. The battery pack is configured as follows: In the host mode, the energy management system responds to the data acquisition operation by broadcasting a data acquisition instruction to its own battery management system and the battery management systems of the other battery packs connected to the communication bus, wherein the data acquisition instruction is used to instruct to return the target data to the cache area; the energy management system reads the target data from the cache area and sends the target data to the target device pointed to by the data acquisition operation, wherein the target data returned by the battery management system of the battery pack itself is stored in the first cache area, and the target data returned by the battery management systems of the other battery packs is stored in the second cache area; In slave mode, upon receiving a data acquisition instruction, its own battery management system obtains the target data indicated by the data acquisition instruction and sends the target data to the battery pack pointed to by the data acquisition instruction through the communication bus; wherein the first cache area is disabled in slave mode, and only the second cache area is called to receive the data acquisition instruction and send the target data.
2. The battery pack according to claim 1, wherein: The battery pack is further configured as: Receiving product serial numbers sent by other battery packs connected to the communication bus; Comparing the product serial numbers of the other battery packs with the battery pack's own product serial number, and entering slave mode when the battery pack's own product serial number is greater than the product serial number of the other battery pack; When the product serial number of the battery pack itself is smaller than the product serial numbers of all other battery packs, the host mode is entered.
3. The battery pack according to claim 2, wherein: The battery pack is further configured as: After entering the host mode, obtain the dynamic address information in the address buffer; The product serial numbers of the other battery packs and the dynamic address information are packaged into address setting information, and the address setting information is broadcast to the other battery packs.
4. The battery pack according to claim 3, wherein: The step of packaging the product serial numbers of the other battery packs and the dynamic address information into address setting information includes: The product serial number and the dynamic address information are assigned one-to-one to obtain a plurality of address setting information, each of which includes only a product serial number and a dynamic address information.
5. The battery pack according to claim 4, wherein: The battery pack is further configured as: Delete the allocated dynamic address information in the address buffer area.
6. The battery pack according to claim 2, wherein: The battery pack is further configured as: In slave mode, upon receiving address setting information sent by a battery pack that has entered host mode, obtaining the product serial number in the address setting information; When the product serial number in the address setting information is consistent with its own product serial number, updating its own dynamic address to the dynamic address information in the address setting information; When the dynamic address update of the battery pack itself is completed, feedback information indicating that the address allocation has been completed is sent to the battery pack entering the host mode.
7. The battery pack according to claim 1, wherein: The battery pack is further configured as: In the host mode, if the product serial number contained in the heartbeat packet received from other battery packs is smaller than its own product serial number, the host mode is exited and the information that the master-slave mode needs to be reconfirmed is broadcasted through the communication bus.
8. The battery pack according to claim 1, wherein: The battery pack is further configured as: In host mode, if a heartbeat packet sent by another battery pack is received, the product serial number in the heartbeat packet is obtained; If there is no product serial number consistent with the product serial number in the heartbeat packet in the address cache area, unallocated dynamic address information is obtained from the address cache area, the dynamic address information and the product serial number in the heartbeat packet are packaged into address setting information, and the address setting information is sent to the battery pack pointed to by the heartbeat packet, wherein the address cache area stores the product serial number and its corresponding dynamic address.
9. The battery pack according to claim 1, wherein: The communication bus is a CAN bus, and the battery pack is further configured as follows: In host mode, the energy management system broadcasts the data acquisition instruction to the battery management systems of other battery packs connected to the CAN bus through the CAN bus, and broadcasts the data acquisition instruction to the first cache area, so that its own battery management system reads the data acquisition instruction from the first cache area and returns the target data.
10. A battery system, characterized in that: comprising a plurality of battery packs according to any one of claims 1 to 9; The plurality of battery packs are connected via a communication bus.
Citation Information
Patent Citations
Master-slave identification method and device of battery packs
CN108963353A
Cell sampling device and method of battery management system
CN109494418A
Battery management system
CN113690978A
Battery pack parallel control method and system based on CAN communication
CN114784902A