WIRELESS BATTERY MANAGEMENT SYSTEMS USING VARIABLE FRAME LENGTH
A monitor circuit for use in a management system with modular subsystems includes: a sensor configured to measure parameter values of a monitored electrical component as a function of time; and storage coupled to the sensor and configured to store the parameter values. The monitor circuit also includes frame preparation circuitry coupled to the storage and configured to prepare frames that include the parameter values, wherein the prepared frames vary in length as a function of time.
This application is a continuation of U.S. patent application Ser. No. 17/313,620, filed May 6, 2021, currently pending and scheduled to grant as U.S. Pat. No. 11,703,546, which claims priority to U.S. Provisional Patent Application Ser. No. 63/107,659, filed Oct. 30, 2020, each of which is hereby incorporated by reference.
BACKGROUNDAs new electronic devices are developed and integrated circuit (IC) technology advances, new IC products are commercialized. One example IC product for electronic devices is a monitor circuit for rechargeable batteries or electronic components. In a conventional wired battery management system, rechargeable batteries are managed by circuitry, including monitor circuits, for the safe and efficient operation of the batteries in real-life applications, such as electric vehicles. The wired communication interfaces are used to connect a main microcontroller to each battery module, and each battery module is chained to the rest of the battery modules in a daisy chain. Wired battery management systems utilize a serial wire communication line and a proprietary protocol with deterministic frame timing. The data transfer configuration of wired battery management systems allows excluding some types of failure modes and safety mechanisms such as a frame counter, while enabling detection of a sufficient amount of communication errors to achieve a target functional safety integrity level. With wired communication interfaces, the main microcontroller cannot monitor and control all the battery modules in parallel without complex wiring. This wiring makes repair or replacement of individual battery cells more difficult.
Use of a wireless connection between the battery modules and the main microcontroller has been proposed to make management of battery modules more flexible and easier to repair. In a wireless battery management system (WBMS), the microcontroller monitors each battery module and communicates with the battery modules using wireless communication interfaces. Some WBMSs or related ICs may lack a frame counter or other communication safety mechanisms developed for wired battery management systems to detect errors such as: unintended repetition of a frame; incorrect sequence of a frame; loss of a frame; and insertion of a frame. Without a frame counter or other these communication safety mechanisms, wireless communication interfaces are vulnerable to errors or attacks that would prevent proper monitoring and management in a WBMS.
SUMMARYIn at least one example, a monitor circuit for use in a management system with modular subsystems includes: a sensor configured to measure parameter values of a monitored electrical component as a function of time; and storage coupled to the sensor and configured to store the parameter values. The monitor circuit also includes frame preparation circuitry coupled to the storage and configured to prepare frames that include the parameter values, wherein the prepared frames vary in length as a function of time.
In another example, a system comprises: a primary controller; and modular subsystems in communication with the primary controller. Each of the modular subsystems has: an electrical component; and a monitor circuit coupled to the electrical component. The monitor circuit is configured to: obtain parameter values from monitoring the electrical component; store the parameter values; and prepare frames with the stored parameter values for transmission to the primary controller, the prepared frames varying in length as a function of time.
In yet another example, a frame counter emulation method in a communication system with a primary controller and modular subsystems comprises: obtaining, by a monitor circuit, parameter values of a monitored electrical component as a function of time; and storing, by the monitor circuit, the parameter values. The method also comprises preparing, by the monitor circuit, frames that include the parameter values. The prepared frames vary in length as a function of time. The method also comprises transmitting, by the monitor circuit, the prepared frames.
The same reference numbers are used in the drawings to depict the same or similar (structurally and/or functionally) features.
DETAILED DESCRIPTIONDescribed herein are variable frame length options to provide functional safety and/or communication error identification in a management system with a primary controller and modular subsystems. Between the primary controller and the modular subsystems is a wired or wireless communication interface. Each modular subsystem includes a monitor circuit and a monitored electrical component. In some example embodiments, the monitor circuit includes: a sensor configured to measure parameter values of a monitored electrical component as a function of time; storage coupled to the sensor and configured to store the parameter values; and frame preparation circuitry coupled to the storage. In some example embodiments, the sensor is a voltage sense circuit or current sense circuit, and the monitored electrical component is a rechargeable battery. The frame preparation circuitry is configured to prepare frames that include the parameter values, where the prepared frames vary in length as a function of time. In some example embodiments, the frame length varies based on a predetermined frame length pattern that is stored or generated by the frame preparation circuitry. As another option, the frame preparation circuitry is configured to prepare frames with different lengths as a function of time based on instructions received from the primary controller. As another option, the frame preparation circuitry is configured to prepare frames with different lengths as a function of time based on information included with each parameter query received from the primary controller. For example, the different frame length settings may be included with parameter queries received from the primary controller. As another option, the frame preparation circuitry is configured to prepare frames with different lengths as a function of time as a response to individual queries from the primary controller. By using frames with varying lengths, frame counting is emulated without the expense of a frame counter. Distinguishing between frames enables detection of safety issues or communication errors such as: repetition, deletion, insertion, re-sequence, corruption, and/or delay.
The subsystem control element 105 includes hardware, firmware, and/or software configured to control or direct the modular subsystems 112A-112N with regard to the monitored electrical components 136 and related operations. At least in part, the subsystem control element 105 uses the results of the parameter analysis element 104 to determine instructions for the modular subsystems 112A-112N and related components to manage each respective monitored electrical component 136 as a function of time.
The frame identification element 106 includes hardware, firmware, and/or software configured to identify frames received from the modular subsystems 112A-112N. As shown, the frame identification element 106 includes variable frame length instructions or settings 108 that identify an expected frame length for frames received from the modular subsystems 112A-112N. In some example embodiments, the expected frame length varies over time according to different data collection cycles for each of the modular subsystems 112A-112N or for all of the modular subsystem 112A-112N. In some example embodiments, data collection cycles are initiated by the primary controller 102. In other example embodiments, data collection cycles are initiated by the modular subsystems 112A-112N using a predetermined schedule, a shared schedule, or other technique.
As shown, the modular subsystem 112A includes a secondary communication interface 114. The secondary communication interface 114 may be a wired or wireless communication interface. The modular subsystem 112A also includes a monitor circuit 122 coupled to the secondary communication interface 114. In the example of
The storage 126 is volatile or non-volatile memory (e.g., random-access memory (RAM), read-only memory (ROM), flash memory, etc.) configured to store parameter values obtained by the sensor(s) 124. The adjustment controller 128 includes circuitry configured to adjust features or settings of the monitored electrical component 136f. As an example, if the system 100 is a battery management system, the adjustment controller 128 may be configured to adjust recharge settings of a battery responsive to ongoing monitoring and analysis of parameter values for individual batteries and/or all batteries in the system 100.
In the example of
Without limitation, each of the modular subsystems 112B-112N may have the same topology as the modular subsystem 112A. As desired, the functionality of monitored electrical components, such as the monitored electrical component 126, for each of the modular subsystems 112B-112N is combined and the combined functionality of all of the monitored electrical components is also monitored and adjusted as needed. Over time, the performance of the monitored electrical components and/or other components of the modular subsystem 112A-112N may degrade. In such case, adjustment or replacement of a specific monitored electrical component or other components of a given modular subsystem may be needed. By using wireless interfaces for the primary and secondary communication interfaces 110 and 114, such replacement is facilitated (i.e., fewer wired connections are used) while supporting monitoring, adjustment, status update, parameter transfer, and/or data storage operations for the monitored electrical components of the modular subsystems 112A-112N. However, it should be appreciated that the variable frame length options described herein can be used with wired communication interfaces.
In
As shown, the modular subsystem 222A includes a module 230A, such as a printed circuit board (PCB) or other circuit, with a wired communication interface 114A (an example of the secondary communication interface 114 in
In
In some example embodiments, the wired communication interface 110A is configured to send parameter queries to the modular subsystems 222A-222N using an addressing scheme. As another option, the wired communication interface 110A is configured to receive frames with parameter values from the modular subsystems 222A-222N. The frames received from the modular subsystems 222A-222N may be response frames (frames generated in response to parameter queries from the microcontroller 102A) or scheduled frames (e.g., frames generated according to predetermined data update cycles). In either case, a variable frame length is used to facilitate detection of communication errors and/or safety issues.
With the WBMS 300, the functionality of the battery cells 302A-302H is combined and the combined functionality of all of the battery cells 302A-302H is monitored and adjusted. Over time, the performance of the battery cells 302A-302H may degrade. In such case, adjustment or replacement of a specific one of the battery cells 302A-302H or other components of the modular subsystems may be needed. By using the wireless interface 110B and respective wireless interfaces 314A-314H of the modules 304A-304H, such replacement is facilitated while supporting monitoring, adjustment, status update, parameter transfer, and/or other operations related to the battery cells 302A-302H. The use of variable frame length in the WBMS 300 helps ensure proper management for the battery cells 302A-302H by facilitating detection of communication errors and/or safety issues as described herein.
In some example embodiments, a system (e.g., the systems 100, 200, 300 in
In some example embodiments, the monitor circuit includes frame preparation circuitry (e.g., frame preparation element 130 in
In some example embodiments, a primary controller helps manage variance of the length of response frames from the secondary wireless interfaces each refresh cycle. The response frames from the secondary wireless interfaces will have the length requested by the primary controller when no errors are present. In some example embodiments, the total length of a safety-relevant data frame is:
LTOT=LH+LPL=LH+LPL_F+LPL_V Equation 1
In Equation 1, LTOT is the total frame length, LH is a frame header (e.g., address, frame length, cyclic redundancy check or “CRC”), and LPL is the length of the payload. In some example embodiments, LPL may vary. More specifically, LPL may be divided into a fixed payload portion (LPL_F) and a variable payload portion (LPL_V). For example, LPL_F is used for data transfers (e.g., parameter values), while LPL_V is a variable set of dummy bytes (e.g., the number of dummy bytes that vary for different frames). The variable dummy bytes may be discarded after the transmission. As another option, there are no variable dummy bytes. Instead, the payload length used for data transfers varies over time. In either case, the total the variable frame length emulates a frame counter without the expense of the frame counter hardware.
With a variable frame length, a safety communication layer is provided between the BCU 502 and the CSU 510 to mitigate risk of various communication errors. Example communication errors include: unintended repetition of data frames; incorrect data frame sequence; loss of data frame; and/or insertion of an incorrect data frame.
In some example embodiments, variable frame length use is based on a request-response principle. Without limitation, several architectural assumptions need to be made: 1) in errorless operation, the wireless communication channel appears to be transparent for data frame exchange between the BCU 502 and the CSU 510; 2) any CSU 510 in the system will not communicate with the BCU 502 without being requested; 3) the MCU 504 in the BCU 502 is the one and only node that can request transmission of the functional safety-relevant data and evaluates their validity, integrity, authenticity and correct timing; 4) the MCU 504 in the BCU 502 requests the data from the battery modules and cells respectively in the form of a command frame; 5) the command frame sent by the BCU 502 to the CSU 510 must be able to specify the length of each response frame's payload sent by the CSU 510 towards the BCU 502; 6) the payload length of frames both sent and received is solely determined by the MCU 504; and 7) the above applies even when the communication between the MCU 504 and the CSU 510 is done via an intermediate CSU. This is because the command and response frames are between the two end nodes and the intermediate node is merely a relay node.
In some example embodiments, variable frame length use as described herein solves communication errors by specifying and deterministically varying the payload length of response frames expected to be received by the BCU 502. The payload length is varied by changing the range of values to be read while adding dummy reads to the response frame, which may contain no useful data. Taking the above assumptions into account and with the deterministically variable-length approach, the variable frame lengths allow the MCU 504 to uniquely identify the frames at receipt. With the described techniques, frame counter functionality is emulated to uniquely identify frames without the need for additional hardware. In some example embodiments, the response frame includes: a fixed-length header specific to a particular communication protocol; and a variable payload. In some example embodiments, the headers include payload length information, which simplifies the implementation of the error detection mechanism.
Specification of variable response frame length as described above may be used to detect communication errors by the MCU 504. By strictly keeping the MCU 504 in charge of sending the request frames, the MCU 504 can detect communication errors as it is summarized in the following
Example automotive battery monitoring chips support monitoring up to 16 lithium-based cells in series. These automotive battery monitoring chips are developed in line with ISO26262 and enable systematic capability up to automotive safety integrity level (ASIL). As needed, automotive battery monitoring chips can be daisy-chained with others when a larger than 16 cell battery needs to be monitored. The automotive battery monitoring chip communicates with the primary controller via serial bus on a command-response basis. This serial wire communication can be replaced with a communication system based on a proprietary WBMS protocol and wireless connectivity chip. A combination of the WBMS protocol and wireless connectivity chips enables transparent communication of the MCU 504 to each of the battery monitors.
In some example embodiments, during normal operations, the MCU 504 does not handle the WBMS protocol at all. Rather, the MCU 504 helps manage operations of the CSU 510 using a compatible wired communication protocol. In this example, a communication protocol (e.g., the BQ protocol) of the CSU 510 uses the following structure for frames both sent and received. To demonstrate the frame identification with this example, the command frame is sent by the MCU 504. This frame instructs the CSU 510 to send out the functional safety-related data from the CSU's storage (e.g., register space) with the next response frame to the MCU 504.
In some example embodiments, the MCU 504 awaits a response from the CSU 510 in the format shown in frame 600 of
As an example, if the MCU 504 needs 54 bytes of functional safety-relevant data from the CSU 510, and the frame length variance range is 3, then 54 bytes here represents LPL_F in Error! Reference source not found. and the number 3 represents the maximum number of different positions that LPL_V from Error! Reference source not found. need to reach. That means the LPL_V will cycle between values 0-1-2. The example of a periodical update of functional safety-relevant data is given in
In some example embodiments, preparing the frames with different lengths as a function of time in block 806 is based on a predetermined frame length pattern. In some example embodiments, the method 800 includes: the monitor circuit receiving parameter queries, each of the parameter queries including a frame length indicator; and the monitor circuit preparing the frames based on the frame length indicators. In some example embodiments, the method 800 includes: receiving, by the primary controller, the prepared frames; extracting, by the primary controller, a frame length from each received frame; comparing, by the primary controller, each extracted frame length to an expected frame length; if an extracted frame length matches its expected frame length, accepting, by the primary controller, a respective frame; and if an extracted frame length does not match its expected frame length, asserting by the primary controller, an error signal.
In this description, the term “couple” may cover connections, communications, or signal paths that enable a functional relationship consistent with this description. For example, if device A generates a signal to control device B to perform an action: (a) in a first example, device A is coupled to device B by direct connection; or (b) in a second example, device A is coupled to device B through intervening component C if intervening component C does not alter the functional relationship between device A and device B, such that device B is controlled by device A via the control signal generated by device A.
Modifications are possible in the described embodiments, and other embodiments are possible, within the scope of the claims.
Claims
1. A device in a wireless battery management system (WBMS), the device comprising:
- a sensor configured to measure parameter values of one or more battery cells;
- storage coupled to the sensor and configured to store the parameter values;
- a communication interface configured to receive a first command from a primary node in the WBMS; and
- frame preparation circuitry coupled to the storage and configured to prepare a first frame that include the parameter values,
- wherein the frame preparation circuitry is configured to set a first length of the first frame based on the first command.
2. The device of claim 1, wherein the first command indicates the first length for the first frame.
3. The device of claim 1, wherein the frame preparation circuitry is configured to set the first length of the first frame based on a value in a payload section of the first command.
4. The device of claim 1,
- wherein the first command includes a command to read a number of bytes, and
- wherein the first length is equal to the number of bytes.
5. The device of claim 1,
- wherein the first frame includes a fixed payload portion and a variable payload portion, and
- wherein the frame preparation circuitry is configured to set the first length of the first frame by setting a length of the variable payload portion of the first frame based on the first command.
6. The device of claim 5, wherein the frame preparation circuitry is configured to set the length of the variable payload portion by adding dummy reads to the first frame.
7. The device of claim 1,
- wherein the communication interface is further configured to receive a second command from the primary node,
- wherein the frame preparation circuitry is further configured to prepare a second frame including a second length based on the second command, and
- wherein the first length is different from the second length.
8. The device of claim 7,
- wherein the first command indicates the first length for the first frame, and
- wherein the second command indicates the second length for the second frame.
9. The device of claim 7, wherein the frame preparation circuitry is configured to:
- set the first length of the first frame based on a first value in a payload section of the first command;
- set the second length of the second frame based on a second value in a payload section of the second command.
10. The device of claim 7,
- wherein the first command includes a command to read a first number of bytes,
- wherein the second command includes a command to read a second number of bytes,
- wherein the first length is equal to the first number of bytes,
- wherein the second length is equal to the second number of bytes
11. The device of claim 7,
- wherein the first frame includes a first fixed payload portion and a first variable payload portion,
- wherein the second frame includes a second fixed payload portion and a second variable payload portion,
- wherein a length of the second fixed payload portion is equal to a length of the first fixed payload portion, and
- wherein the frame preparation circuitry is configured to: set the first length of the first frame by setting a length of the first variable payload portion of the first frame based on the first command; and set the second length of the second frame by setting a length of the second variable payload portion of the second frame based on the second command.
12. The device of claim 11, wherein the frame preparation circuitry is configured to:
- set the length of the first variable payload portion by adding dummy reads to the first frame; and
- set the length of the second variable payload portion without adding dummy reads to the second frame.
13. A wireless battery management system (WBMS) comprising:
- a primary controller configured to transmit a first command;
- a secondary node configured to: measure parameter values of one or more battery cells; prepare a first frame that includes the parameter values; and set a first length of the first frame based on the first command.
14. The WBMS of claim 13,
- wherein the first frame includes a fixed payload portion and a variable payload portion, and
- wherein the secondary node is configured to set the first length of the first frame by setting a length of the variable payload portion of the first frame based on the first command.
15. The WBMS of claim 14, wherein the secondary node is configured to set the length of the variable payload portion by adding dummy reads to the first frame.
16. The WBMS of claim 13,
- wherein the primary controller is further configured to transmit a second command to the secondary node,
- wherein the secondary node is further configured to prepare a second frame including a second length based on the second command, and
- wherein the first length is different from the second length.
17. The WBMS of claim 16,
- wherein the first frame includes a first fixed payload portion and a first variable payload portion,
- wherein the second frame includes a second fixed payload portion and a second variable payload portion,
- wherein a length of the second fixed payload portion is equal to a length of the first fixed payload portion, and
- wherein the secondary node is configured to: set the first length of the first frame by setting a length of the first variable payload portion of the first frame based on the first command, and set the second length of the second frame by setting a length of the second variable payload portion of the second frame based on the second command.
18. A method comprising:
- measuring, by a secondary node in a wireless battery management system (WBMS), parameter values of one or more battery cells;
- receiving, by the secondary node, a first command from a primary node in the WBMS;
- preparing, by the secondary node, a first frame that includes the parameter values; and
- setting, by the secondary node, a first length of the first frame based on the first command.
19. The method of claim 18, further comprising:
- receiving a second command from the primary node; and
- preparing a second frame including a second length based on the second command,
- wherein the first length is different from the second length.
20. The method of claim 19,
- wherein the first frame includes a first fixed payload portion and a first variable payload portion,
- wherein the second frame includes a second fixed payload portion and a second variable payload portion,
- wherein a length of the second fixed payload portion is equal to a length of the first fixed payload portion, and
- wherein the method further comprises: setting the first length of the first frame by setting a length of the first variable payload portion of the first frame based on the first command; and setting the second length of the second frame by setting a length of the second variable payload portion of the second frame based on the second command.
Type: Application
Filed: Jul 17, 2023
Publication Date: Nov 9, 2023
Inventors: Tomas URBAN (Freising), Kyl Wayne SCOTT (Richardson, TX), Hans-Georg Christian HAECK (Erding), Ariton E. XHAFA (Plano, TX)
Application Number: 18/222,616