Wireless battery management system secure channel communication layer protocol
By adopting the secure channel communication layer protocol and hardware ID/source ID mapping mechanism in the wireless battery management system, the cost and reliability problems brought about by the wire harness in large battery pack monitoring are solved, and secure and complete wireless communication is achieved.
Patent Information
- Application Number
- CN202380065118.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-11-29
- Filing Date
- 2023-07-19
- Publication Date
- 2025-04-18
AI Technical Summary
In existing battery management systems, a large number of wire harnesses are required to monitor large battery packs, resulting in cost, weight and reliability issues and making it difficult to achieve safe and complete communication.
The secure channel communication layer protocol in the wireless battery management system (wBMS) is adopted, and the authentication and secure data transmission of the battery module are realized through the mapping mechanism of hardware ID and source ID to ensure the security and integrity of the communication.
The security and integrity of wireless communication are achieved, the cost and weight of the battery management system are reduced, and the reliability and efficiency of the system are improved.
Smart Images

Figure CN119855729A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to and the benefit of U.S. Non-Provisional Patent Application No. 18 / 059,506, filed on November 29, 2022, and entitled “Wireless Battery Management System Secure Channel Communication Layer Protocol,” and U.S. Provisional Patent Application No. 63 / 394,204, filed on August 1, 2022, and entitled “Source Identifier (ID) Appearance and Authentication in Wireless Battery Management System Black Channel / Security Communication Layer Protocol,” the entire contents of both applications are incorporated herein by reference as if fully set forth below and for all applicable purposes. Technical Field
[0003] The present disclosure relates generally to battery management systems, and more particularly to a secure channel communication layer protocol for a wireless battery management system (wBMS). Background Art
[0004] A battery pack may typically include battery cells physically connected in series and / or in parallel to provide a specific required power. Large battery packs are often used in hybrid and / or electric vehicles, for example, to generate high voltages for components such as the car motor in the drive vehicle. Batteries are complex electrochemical components with subtle behaviors. Their performance may depend greatly on internal and external conditions (e.g., aging, temperature, etc.). In order to track these properties and the battery status, the battery pack may be equipped with a battery management system. The battery management system may be responsible for providing safe use of the battery and estimating the battery pack's status, such as the state of health (SOH), state of power (SOP), and state of charge (SOC), as accurately as possible. The SOC can provide information about the current energy stored in the battery pack. The SOP can indicate the battery's ability to provide the required power. The SOH is a quality factor that can indicate the degree of degradation of the battery.
[0005] In certain systems, such as electric vehicles, large battery packs may be used that include a large number of battery cells. For example, a large battery pack may include about ten battery modules, each of which includes about twelve battery cells connected in series. Therefore, a large wiring harness may be required to monitor all of the individual batteries. A large wiring harness may negatively impact the cost, weight, and reliability of the battery pack. Therefore, it may be desirable to replace the physical wiring between the measurement electronics and the central battery monitor manager with a wireless network. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] For a more complete understanding of the present disclosure and its features and advantages, please refer to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts, and in which:
[0007] Figure 1Ais a schematic diagram illustrating an exemplary wireless battery management system (wBMS) providing a secure communication channel according to some embodiments of the present disclosure;
[0008] Figure 1B is a schematic diagram illustrating an exemplary wBMS providing a secure communication channel according to some embodiments of the present disclosure;
[0009] Figure 2 An exemplary wBMS configuration generation and storage scheme for configuring a secure communication channel in a wBMS according to some embodiments of the present disclosure is shown;
[0010] Figure 3 An exemplary hardware ID to source ID mapping scheme for configuring a secure communication channel in a wBMS according to some embodiments of the present disclosure is shown;
[0011] Figure 4 is a sequence diagram of an exemplary method for establishing a secure communication channel in a wBMS according to some embodiments of the present disclosure;
[0012] Figure 5 is a flow chart of an exemplary method for authenticating a remote battery module in a wBMS to communicate over a secure communication channel according to some embodiments of the present disclosure;
[0013] Figure 6 shows an exemplary secure communication layer (SCL) protocol data packet according to some embodiments of the present disclosure;
[0014] Figure 7 An exemplary connection request packet generation scheme according to some embodiments of the present disclosure is shown;
[0015] Figure 8 An exemplary authentication scheme for establishing a secure communication channel in a wBMS according to some embodiments of the present disclosure is shown;
[0016] Fig. 9 is a flow chart of an exemplary method for communicating in a wBMS according to some embodiments of the present disclosure;
[0017] Fig.10 is a block diagram illustrating an exemplary data processing system according to some embodiments of the present disclosure; and
[0018] Fig.11 is a schematic block diagram illustrating an exemplary radio frequency (RF) device according to some embodiments of the present disclosure. DETAILED DESCRIPTION
[0019] Overview
[0020] The systems, methods, and devices of the present disclosure each have several innovative embodiments, no single one of which is solely responsible for all of the desirable attributes disclosed herein. The details of one or more implementations of the subject matter described in this specification are set forth in the following description and drawings.
[0021] A wireless battery management system (wBMS) may include multiple battery modules that communicate with a wBMS network manager via a wireless network. For example, each battery module may include multiple battery cells and a wireless node, and the wBMS network manager may include a battery management system (BMS) controller (e.g., a host controller) and a wireless manager. The wireless manager at the wBMS network manager can manage and communicate with the wireless nodes at the battery modules, for example, to form a wireless network. The BMS controller can manage the battery cells at the battery modules, for example, by monitoring the status of each battery cell, such as its state of health (SOH), power state (SOP) and / or state of charge (SOC), and control the operation of the battery cells at the module. In some examples, each battery module can be interconnected with the BMS controller via a respective logical channel. The BMS controller can communicate with each battery module via a wireless communication channel or link. For example, the BMS controller can interface with the wireless manager to send and / or receive radio frequency (RF) communication signals. Similarly, each battery module can send and / or receive RF communication signals via a corresponding wireless node at the battery module.
[0022] The development of automotive technology has led to the development of automotive standards to advance the development of automotive and / or autonomous driving technology and to use and / or design functionally safe automotive devices, components and / or systems. An example of such a standard is the International Organization for Standardization (ISO) 61784-3, which establishes safety integrity requirements for the transmission of safety-related messages. To achieve safety integrity in wBMS, techniques are needed to reduce the possibility of working around and masquerading wBMS failures.
[0023] Therefore, the present disclosure provides a mechanism for authenticating battery modules in a wBMS so that safety data can be transmitted. To this end, each battery module in the wBMS can establish a logical channel connection with the wBMS network manager on the network side. The logical channel connection can be part of the SCL protocol. For example, the battery module can send a connection request message to the wBMS network manager, and a source address or identifier (ID) can be included in the connection request message. The source ID can uniquely identify the battery module in the wBMS and can be generated from a safety integrity-compliant hardware component or component at the battery module (for example, according to ISO61784-3 and / or ISO 26262). Authentication can establish or verify the authenticity of the source address in a connection request message for a single logical channel connection. As used herein, safety data may include battery measurements related to the battery module and / or instructions for controlling the operation of the battery module.
[0024] According to one aspect of the present disclosure, the wBMS may include a wBMS network manager (on the network side) to manage multiple battery modules through a wireless network. In one example, multiple battery modules may be part of a battery pack, and each battery module may include multiple battery cells. The wBMS network manager may store a list of hardware identifiers (IDs), for example, at a memory on the network side. Each hardware ID in the list may be associated with a corresponding one of the multiple battery modules. In addition, each hardware ID may be mapped to a different one of multiple source IDs based on a predetermined mapping. In other words, the wBMS network manager may store a list of hardware IDs that identify the battery modules monitored and managed by the wBMS network manager, as well as the corresponding source IDs that the wBMS network manager can use to establish corresponding secure communication channels with the battery modules.
[0025] In some aspects, each individual hardware ID in the hardware ID list can identify a hardware component in a corresponding battery module of a plurality of battery modules, wherein the hardware component has passed a safety integrity check. For example, a hardware component can be associated with (or compatible with) a particular safety integrity level (e.g., defined in ISO 61784-3 and / or ISO 26262). In some aspects, a single hardware ID in the hardware ID list is a serial ID of a battery monitor at a corresponding battery module in the plurality of battery modules. In other aspects, a single hardware ID in the hardware ID list can be associated with a memory state (e.g., an initial state of the memory) of a corresponding battery module in a plurality of battery modules. Typically, each hardware ID can uniquely identify a corresponding one of a plurality of battery modules in a wBMS.
[0026] The wBMS network manager may receive a message (e.g., a connection request) from a remote battery module via a wireless network (e.g., via an interface with a wireless transceiver at the wBMS network manager). The message may include a data packet containing a source ID and a hardware ID associated with the remote battery module. To achieve security integrity, the wBMS network manager may authenticate the received data packet (e.g., using one or more processing units at the wBMS network manager). To this end, the wBMS network manager may search for a first hardware ID from a hardware ID list using the source ID in the received data packet and a predetermined mapping. The wBMS network manager may authenticate the remote battery module based on a comparison of the hardware ID in the received data packet with the first hardware ID in the list. If the hardware ID in the received data packet matches the first hardware ID in the list, the authentication is successful. Therefore, the wBMS network manager may send an indication of successful authentication to the remote battery module. However, if the hardware ID in the received data packet does not match the first hardware ID, the authentication is unsuccessful. Therefore, the wBMS network manager may send an indication of authentication failure to the remote battery module.
[0027] The predetermined mapping between hardware IDs and source IDs can be configured in various ways. In one aspect, the predetermined mapping can be based on the order in which the hardware IDs are stored in memory. Thus, the wBMS network manager can search for the first hardware ID from the list by using the source ID as an index into the list of hardware IDs. For example, the wBMS network manager can read the first hardware ID from the memory location referenced by the source ID (in the received data packet). On the other hand, the predetermined mapping can be based on a hash function applied to the hardware ID. Thus, the wBMS network manager can search for the first hardware ID from the list by applying a hash function to the list of hardware IDs to generate a hash key for each hardware ID in the list. For example, the wBMS network manager can read the first hardware ID from the list that maps to a hash key that matches the source ID (in the received data packet).
[0028] In some aspects, a secure communication channel can be established between the wBMS network manager and the remote battery module based on successful authentication, and the wBMS network manager and the remote battery assembly can communicate with each other through the secure communication channel. Subsequent data packets for communicating through the secure communication channel may include a header including a source ID for establishing a secure communication channel. For example, the wBMS network manager may receive another data packet (e.g., a second data packet) from the remote battery module through the secure communication channel. The second data packet may have a data packet header and a payload, the data packet header including an indication of a source ID associated with the remote battery module, and the payload including battery measurement data (e.g., voltage, current, or temperature measured from the remote battery module). Additionally or alternatively, the wBMS network manager may send a data packet (e.g., a third data packet) to the remote battery module through the secure communication channel. The third data packet may have a data packet header and a payload, the data packet header including an indication of a source ID associated with the remote battery module, and the payload including control instructions for the remote battery module. For example, when a fault is detected at the remote battery module based on the measurement data received from the remote battery module, the instruction may instruct the remote battery module to open a switch to disconnect the remote battery module from the battery pack.
[0029] According to another aspect of the present disclosure, a remote battery module can facilitate authentication in a wBMS. For example, a remote battery module can store a list of hardware IDs in a memory of the remote battery module. Each hardware ID in the list can be associated with a corresponding one of a plurality of battery modules, wherein the remote battery module can be one of a plurality of battery modules. Each hardware ID can be based on a predetermined mapping, mapped to a different one of a plurality of source IDs. The predetermined mapping at the remote battery module can be configured in the same manner as the corresponding wBMS network manager, for example, based on the order of the hardware IDs in the list or based on applying a hash function to the hardware ID as described above. In some aspects of the remote battery module, the hardware ID associated with the remote battery module can correspond to the hardware ID of a hardware component at the remote battery module, where the hardware component has passed a safety integrity check. For example, a hardware component can be associated with a specific safety integrity level (e.g., defined in ISO 61784-3 and / or ISO 26262). In some aspects, the hardware ID associated with the remote battery module can be a serial ID of a battery monitor at the remote battery module. In some aspects, the hardware ID associated with the remote battery module can be a memory state associated with the first battery module (e.g., an initial state of the memory). In some aspects, the remote battery module may determine that its hardware ID is one of the hardware IDs in the stored list (e.g., as part of remote battery module authentication). The remote battery module may determine the source ID based on a predetermined mapping and its hardware ID. The remote battery module may send a data packet (e.g., a connection request) to the wBMS network manager, wherein the data packet may include the hardware ID associated with the remote battery module and the determined source ID.
[0030] The systems, schemes, and mechanisms described herein advantageously provide an authentication mechanism for establishing a secure communication channel in a wBMS. The disclosed authentication mechanism uses the hardware ID of a hardware component that complies with safety integrity as a basis to generate a logical channel source ID so that a secure communication channel can be established (or tunneled) through a communication path involving other components that may not have passed the safety integrity compliance check. In some cases, a secure communication channel that is tunneled through a communication path involving components that do not meet safety requirements may be referred to as a black channel. In other words, the present disclosure advantageously provides a technique for authenticating a battery module through a black channel in a wBMS for secure data transmission.
[0031] Figure 1A is a schematic diagram showing an exemplary wBMS 100 providing a secure communication channel according to some embodiments of the present disclosure. Figure 1AAs shown, the wBMS 100 may include a wBMS network manager 102, which includes a battery management system (BMS) controller 160 and a wireless manager 150 on the network side. The wBMS network manager 102 can manage multiple remote battery modules 110 through a wireless network. The battery module 110 may include multiple battery cells 112 (e.g., connected in series), a battery monitor integrated circuit (BMIC) 130, a safety central processing unit (CPU) 120, and a wireless node 140. For simplicity, Figure 1A The wBMS network manager 102 is shown managing one battery module 110. However, the wBMS network manager 102 may manage any suitable number of battery modules 110 (e.g., 2, 3, 4, 5, 6, 7, 8, 9, 10, or more), such as Figure 1B shown.
[0032] At a high level, the wireless manager 150 may be configured to manage the wireless network in the wBMS 100. The wireless manager 150 may be responsible for establishing and / or maintaining a wireless communication channel 142 with each respective wireless node 140 to transmit data over the air. The BMIC 130 may perform measurements (e.g., voltage, current, and / or temperature) associated with the battery cells 112. The BMS controller 160 may be responsible for establishing and / or maintaining a logical channel connection, which may be referred to as a secure communication channel 180, with the safety CPU 120 at each respective battery module 110. The secure communication channel 180 may be on (e.g., a tunnel) the wireless communication channel 142. The safety CPU 120 of each battery module 110 may communicate battery measurements with the BMS controller 160 via the secure communication channel 180.
[0033] At the battery module 110, the BMIC 130 may be coupled to the battery cell 112 (e.g., via wires). In some cases, the BMIC 130 may be a monolithic integrated circuit as shown. In other cases, the battery monitor may be an integrated module including multiple integrated circuits (ICs) or other circuit elements within a commonly shared integrated circuit device package, as an illustrative example. The BMIC 130 may be uniquely identified by a serial ID 132, which is a hardware ID and may be stored at the BMIC 130. In one aspect, the BMIC 130 may be a component that has passed a safety integrity check (e.g., according to ISO 61784-3 and / or ISO 26262). The BMIC 130 may measure or sample (e.g., periodically at time intervals of 100 ms, 200 ms, etc.) the battery voltage of the battery cell 112 to monitor the battery charge. The BMIC 130 may also measure and monitor the current and / or temperature of the battery cell 112.
[0034] The security CPU 120 may include at least two serial peripheral interfaces (SPIs) 126 and 128. The security CPU 120 may interface with the BMIC 130 using SPI 126 (e.g., via SPI channel 129), and may interface with the wireless node 140 using SPI 128 (e.g., on another SPI channel that forms part of the secure communication channel 180). In some examples, the security CPU 120, the BMIC 130, and the wireless node 140 may be on the same circuit board. The security CPU 120 may be a processing unit that has passed security integrity testing (e.g., as specified in ISO 61784-3 and / or ISO 26262). That is, the security CPU 120 is a security integrity compliant component. In some cases, the wireless node 140 may also be a security integrity compliant component. In other examples, the wireless node 140 may not be a security integrity compliant component. In some examples, the security CPU 120 may be similar to Fig.10 data processing system 2300.
[0035] At the wBMS network manager 102, the BMS controller 160 may include at least one SPI 172 for interfacing with the wireless manager 150 via an SPI channel that forms part of a secure communication channel 180. In some examples, the BMS controller 160 and the wireless manager 150 may be separate components, for example, on the same circuit board. In other examples, the BMS controller 160 and the wireless manager 150 may be integrated into a single component. In general, the BMS controller 160 and the wireless manager 150 may be arranged in any suitable manner. In some examples, the BMS controller 160 may be similar to Fig.10 data processing system 2300.
[0036] To facilitate communication over a wireless network in a wBMS, each of the wireless manager 150 and the wireless node 140 can have a wireless transceiver (e.g., a radio transceiver) configured to transmit and / or receive over the air, wherein the BMS controller 160 can interface with the wireless manager 150 and the safety CPU 120 can interface with the wireless node 140, as described above. In general, the wireless manager 150 and the wireless node 140 can communicate with each other using any suitable wireless communication protocol and / or at any suitable frequency. In some examples, the wireless communication channel 142 can be a 2.4 GHz channel. In some examples, the wireless manager 150 and / or the wireless node 140 can be similar to Fig.11 RF device 2200.
[0037] Various software components may be executed by the security CPU 120. For simplicity, Figure 1AOnly software components important to safety communications in wBMS 100 (e.g., safety application 122 and SCL 124) are shown, but any other suitable software components may be included. Similarly, various software components may be executed by BMS controller 160. For simplicity, Figure 1A Only software components important to secure communications in the wBMS 100 are shown (eg, the security application 162 and the SCL 168 ), but any other suitable software components may be included, such as user interfaces, interface layers, hardware abstraction layers (HALs), etc.
[0038] At the battery module 110, the SCL 124 may establish a secure communication channel 180 with the BMS controller 160 or, more specifically, with the SCL 168. In some cases, the establishment of the secure communication channel 180 may be initiated by the safety application 122 (e.g., at power-on or when the safety CPU 120 is initialized or reinitialized). The initiation may cause the SCL 124 to send a connection request message or data packet to the BMS controller 160. At the BMS controller 160, the SCL 168 may receive a connection request message from the battery module 110 (or, more specifically, from the SCL 124). In response, the SCL 168 may perform authentication. After successful authentication, the SCL 168 may send a connection response indicating successful authentication, and the secure communication channel 180 may be established. Conversely, when the authentication fails, the SCL 168 may send a connection response indicating the authentication failure, and the secure communication channel 180 may not be established. In some aspects, the security CPU 120 may also perform authentication (eg, authenticating the BMIC 130) prior to sending a connection request message to the BMS controller 160. Mechanisms for performing authentication to establish the secure communication channel 180 are discussed more fully below.
[0039] like Figure 1A As shown, the secure communication channel 180 can extend from one endpoint 184 at the SCL 168 of the battery module 110 to another endpoint 182 at the SCL 124. In some cases, the secure communication channel 180 can be referred to as a tunnel, which can pass through the SPI 128, the wireless communication channel 142, and the SPI 172. The secure communication channel 180 can be used to transmit safety data between the safety application 122 of the safety CPU 120 and the safety application 162 of the BMS controller 160. The transmission of safety data is shown by arrow 163. In some cases, the safety application 162 can also communicate directly with the interface layer 170 (e.g., non-safety data), such as bypassing the SCL 168.
[0040] In one aspect, the battery module 110 may send and the wBMS network manager 102 may receive battery measurements (e.g., voltage, current, temperature, etc.) related to the battery module 110. To this end, the safety application 122 may receive the battery measurements from the BMIC 130. The safety application 122 may provide the battery measurements to the SCL 124. The SCL 124 may encapsulate the battery measurements with a safety data packet header to generate a safety data packet for transmission over the safety communication channel 180. The SCL 168 (at the BMS controller 160) may receive a safety packet encapsulated with the battery measurements from the safety communication channel 180. The SCL 168 may remove the safety data packet header and provide the battery measurements (of the battery module 110) to the safety application 162. The safety application 162 may determine the health and / or performance of the battery module 110 based on the received battery measurements. In some examples, safety application 122 may also detect various faults (eg, related to functional safety) at battery module 110 and may provide information about the faults to SCL 124 for transmission to BMS controller 160 .
[0041] In one aspect, the wBMS network manager 102 may send and the battery module 110 may receive control instructions for the battery module 110. To this end, the safety application 162 may determine specific controls for the battery module 110. For example, the battery module 110 may have a performance problem, so the safety application 162 may instruct the battery module 110 to communicate with the corresponding battery pack (e.g., Figure 1B The safety application 162 may provide the control instruction to the SCL 168. The SCL 168 may encapsulate the control instruction with a safety data packet header to generate a safety data packet for transmission on the safety communication channel 180. The SCL 124 (at the safety CPU 120) may receive the safety packet encapsulated with the control instruction from the safety communication channel 180. The SCL 1624 may remove the safety data packet header and provide the received control instruction to the safety application 122. The safety application 122 may coordinate with the BMIC 130 to perform the operation indicated by the control instruction.
[0042] Although Figure 1A Although not shown, the safety CPU 120 at the battery module 110 and / or the BMS controller 160 may include other software and / or hardware components to facilitate monitoring of the SOH, SOP, and / or SOC of the battery module 110. Figure 1A SPI 126 , 128 , and 172 are shown as being used as interfaces between the different hardware modules, but in general any suitable interface may be used in place of SPI 126 , 128 , and 172 .
[0043] Figure 1B is a schematic diagram showing an exemplary wBMS 190 providing a secure communication channel according to some embodiments of the present disclosure. Figure 1A The wBMS100 shares many components with Figure 1A The same reference numerals are used in Figure 1B Used to refer to Figure 1B For the sake of brevity, the discussion of these elements will not be repeated, and these elements can take the form of any embodiment disclosed herein.
[0044] like Figure 1B As shown, wBMS190 may include a wBMS network manager 102 on the network side that is substantially similar to wBMS100. wBMS190 may also include a battery pack 192, which includes a plurality of battery modules 110 (shown as 110a, 110b, 110c, ...), as described herein. In some examples, wBMS190 may be part of an electric vehicle. In general, wBMS190 may be part of any suitable system that is powered by at least a battery pack 192.
[0045] Each battery module 110 may include a wireless node 140 that communicates with a wireless manager 150 at the wBMS network manager 102. For example, the battery module 110a may include a wireless node 140a that communicates with the wireless manager 150 via a wireless communication channel 142a, the battery module 110b may include a radio node 140b that communicates with the wireless manager 150 via a radio communication channel 142b, and the battery module 110c may include an electronic node 140c that communicates with the wireless manager 150 via a radio communication channel 142c.
[0046] Each battery module 110, or more specifically, the corresponding safety CPU 120 at the battery module 110, can establish a safety communication channel (e.g., safety communication channel 180) with the BMS controller 160 through the corresponding wireless communication channel 142 for transmitting safety data (e.g., the voltage, current and / or temperature of the corresponding battery module 110). As shown, the battery module 110a can include the safety CPU 120a, the battery module 110b can include the safety CPU 120b, the battery module 110c can include the safety CPU 102c, and so on. In one aspect, each battery module 110 can be identified by a unique hardware ID, and a predetermined mapping can be used to map the corresponding hardware ID to a logical connection ID (e.g., a source ID), which can be used for authentication when establishing the corresponding safety communication channel. Figure 2-3 The generation and mapping of the hardware ID of the battery module 110 to the corresponding source ID is shown. Figure 4-5and 7-8 illustrate various mechanisms for authenticating the battery module 110. Figure 6 An example secure communications protocol packet structure for communicating over a secure communications channel is shown.
[0047] Combination Figure 1A-1B discuss Figure 2 . Figure 2 An exemplary wBMS configuration generation and storage scheme 200 for configuring a secure communication channel in a wBMS (eg, wBMS 100 and / or 190) according to some embodiments of the present disclosure is shown. Figure 2 As shown, each battery module 110 at the battery pack 192 may include a BMIC serial ID 132 and a media access control (MAC) ID 202. The BMIC serial ID 132 may be a serial ID of the BMIC 130 at the corresponding battery module 110, and the MAC ID 202 may be a MAC ID of the wireless node 140 at the corresponding battery module 110. For example, the battery module 110a may have a BMIC serial ID 132a and a MAC ID 202a, the battery module 110b may have a BMIC serial ID 132b and a MAC ID 202b, the battery module 110c may have a BMIC serial ID 132c and a MAC ID 202a, and so on.
[0048] A configuration 220 may be generated to store the BMIC serial ID 132 and MAC ID 202 of each battery module 110. In one aspect, the configuration 220 may store the BMIC serial IDs 132 of the battery modules 110 in a list 222 arranged in a particular order. Additionally, the individual MAC IDs 202 of the battery modules 110 may be stored in a list 224 arranged in the same order as the BMIC serial IDs 132. Figure 2 In the example shown, the BMIC serial ID 132a of the battery module 110a may be referenced by index 0 in the list 222, and the MAC ID 202a of the battery module 100a may be referenced by the same index 0 in the list 224. In a similar manner, the BMIC serial ID 132b of the battery module 110b may be referenced by index 1 in the list 222, and the MACID 202b of the battery module 110b may be referenced by the same index 1 in the list 224.
[0049] The configuration 220 may be used to establish a secure communication channel (e.g., secure communication channel 180) between the battery module 110 and the BMS controller 160 at the wBMS network manager 102, as will be discussed more fully below. To facilitate establishing the secure communication channel, the configuration 220 may be stored in the memory 121 of each battery module 110. Figure 2The diagram of FIG. 1 is cluttered, and only the storage of the configuration 220 of the battery module 110a is shown, where the safety CPU 120 (at the battery module 110a) may include a memory 121 to store the configuration 220. The memory 121 may be a flash memory or any suitable non-volatile memory. In addition, the configuration 220 may be stored in the memory 161 of the BMS controller 160 (on the network side). The memory 161 may be a flash memory or any suitable non-volatile memory. In general, the configuration 220 may be stored in any memory on each battery module 110 and in a memory on the wBMS network manager 102. For example, in some aspects, at the battery module 110, the configuration 220 may be stored in a memory (e.g., flash memory) of the corresponding wireless node 140, or in a memory shared by the safety CPU 120 and the wireless node 140. In some aspects, at the wBMS network manager 102, the configuration 220 may be stored in a memory (e.g., flash memory) of the wireless manager 150, or in a memory shared by the BMS controller 160 and the wireless manager 150.
[0050] In some examples, the serial ID 132 and / or MAC ID 202 of each battery module 110 may be created at the time of manufacturing. The configuration 220 may be created during the assembly process of the battery pack 192, where the serial ID 132 and / or MACID 202 of each battery module in the assembled battery pack 192 is read and the configuration 220 is generated. In some examples, during the initial setup or configuration of the wBMS 100 or 192, the configuration 220 may be stored in the memory 121 of each battery module 110 and the memory 161 of the wBMS network manager 102. In general, the configuration 220 may be generated and stored in any suitable manner at any suitable time before the wBMS 100 or 192 is deployed.
[0051] Although Figure 2 Configuration 220 is shown including BMIC serial ID list 222 and MAC ID list 224 , but in some examples, configuration 220 may omit MAC ID list 226 .
[0052] Figure 3 Combination Figure 1A-1B and Figure 2 Have a discussion. Figure 3 An exemplary hardware ID to source ID mapping scheme 300 for configuring a secure communication channel in a wBMS according to some embodiments of the present disclosure is shown. The scheme 300 may be implemented by the safety CPU 120 at the battery module 110 or the BMS controller 160 at the wBMS network manager 102. Figure 3As shown, mapping 310 may map each BMIC serial ID 132 in list 222 (hardware ID list) to a different one of multiple source IDs 312. Mapping 310 may be a predetermined mapping. Figure 3 In the example shown, BMIC serial ID 132a (identifying battery module 110a) can be mapped to source ID 312a, BMIC serial ID 132b (identifying battery module 110b) can be mapped to source ID 312b, BMIC serial ID 132c (identifying battery module 110c) can be mapped to source ID 312c, and so on. As will be discussed more fully below, source ID 312 and corresponding BMIC serial ID 132 can be used to authenticate each battery module 110 for communication over each secure communication channel (e.g., secure communication channel 180). Therefore, each battery module 110 and wBMS network manager 102 can be aware of the predetermined mapping 310.
[0053] In one aspect, the predetermined mapping 310 may be based on the order in which the BMIC sequence IDs 132 are stored in memory. In other words, each of the BMIC sequence IDs 132 may be mapped to a source ID 312 that corresponds to an index of the location of the BMIC sequence ID 132 in the reference list 222. Figure 2 In the example shown, BMIC serial ID 132a may be mapped to source ID 312a having a value of 0 (based on index 0), BMIC serial ID 132b may be mapped to source ID 312b having a value of 1 (based on index 1), BMIC serial ID 132c may be mapped to source ID 312c having a value of 2 (based on index 2), and so on.
[0054] In another aspect, the predetermined mapping 310 may be based on a hash function applied to the BMIC serial IDs 132. That is, a hash function may be applied to the list 222, wherein a hash key may be generated for each BMIC serial ID 132, and thus the hash key may be used as the source ID 312 for the corresponding BMIC serial ID 132. For example, applying the hash function may generate hash keys 5, 9, and 7 for the BMIC serial IDs 132a, 132b, and 132c, respectively. Thus, the source ID 312a to which the BMIC serial ID 132a is mapped may have a value of 5, the source ID 312b to which the BMIC serial ID 132b is mapped may have a value of 9, and the source ID 312c to which the BMIC serial ID 132c is mapped may have a value of 7.
[0055] Although Figure 3The source ID 312 is shown to be generated based on the predetermined mapping 310 of the BMIC serial ID 132, but aspects are not limited thereto. For example, in one aspect, the source ID 312 can be generated based on the memory state of each battery module 110. In one example, each battery module 110 may include a memory (e.g., a static random access memory (SRAM)), and the initial storage state of the memory can be used as a unique ID to identify the corresponding battery module 110 from other battery modules 110. In this case, the predetermined mapping 310 can map the initial memory state of each battery module 110 to a different one of the source IDs 312, where the mapping can be based on the order in which the initial memory states are stored in a list (e.g., list 222), or based on a hash function as described above.
[0056] Figure 4 Combination Figure 1A-1B and Figure 2-3 In addition, Figure 4 and Figure 5 Discussed in relation to each other to illustrate secure communication mechanisms. Figure 4 1 is a sequence diagram of an exemplary method 400 for establishing a secure communication channel in a wBMS (e.g., wBMS 100 and / or 190) according to some embodiments of the present disclosure. As described herein, the method 400 can be implemented between a battery module 110 and a wBMS network manager 102. In some examples, the method 400 can be implemented by a safety CPU 120 at the battery module 110 and a BMS controller 160 at the wBMS network manager 102. In addition, each of the battery module 110 and the wBMS network manager 102 can have a configuration 220 stored in a corresponding memory, as described above with reference to Figure 2 As described above, and may have knowledge of the predetermined mapping 310, as described above with reference to Figure 3 In Figure 4 , each operation is shown once in a particular order, but the operations may be performed in parallel, reordered, and / or repeated as desired. In one example, the battery module 110 and the wBMS network manager 102 may perform the operations of the method 400 in a chronological order, as shown. For simplicity, the method 400 may describe the authentication mechanism using the BMIC serial ID 132 as the order in which the source ID 312 is stored in the memory. However, the method 400 may also be applied when the authentication mechanism uses a hash key of the BMIC serial ID 132 as the source ID 312.
[0057] At 402, the battery module 110 may read the serial ID 132 from the BMIC 130 at the battery module 110. In some examples, the safety CPU 120 at the battery module 110 may receive the serial ID 132 from the BMIC 130.
[0058] At 404, the battery module 110 may look up the serial ID 132 from the BMIC serial ID list 222 in the configuration 220 stored in the memory of the battery module 110. In some examples, the operation at 404 may be part of an authentication for authenticating the BMIC 130. For example, the battery module 110 may determine whether the serial ID 132 of the BMIC 130 is one of the serial IDs in the configuration 220. If the serial ID 132 of the BMIC 130 is one of the serial IDs in the configuration 220, then the authentication passes. However, if the serial ID 132 of the BMIC 130 is not one of the serial IDs in the configuration 220, then the authentication fails and the method 400 may terminate. Figure 4 In the example shown, the authentication is passed, so the battery module 110 can continue to 406. In some examples, the operation at 404 can be performed by the security CPU 120, or more specifically, by the security application 122.
[0059] At 406 , the battery module 110 may store the index of the serial ID found in the reference list 222 as a source ID for establishing the secure communication channel 180 with the wBMS network manager 102 .
[0060] At 408, the battery module 110 may send a connection request message or data packet, for example, via the wireless communication channel 142 between the battery module 110 and the wBMS network manager 102, and the wBMS network manager 102 may receive the connection request message or data packet. In some aspects, the safety CPU 120 at the battery module 110 may include an interface (e.g., SPI 128) coupled to the wireless node 140, and may send the connection request data packet via the interface and the wireless node 140. In a similar manner, the BMS controller 160 may include an interface (e.g., SPI 172) coupled to the wireless manager 150, and may receive the connection request data packet via the interface and the wireless manager 150. The connection request data packet may include the source ID obtained at 406 and the sequence ID 132 obtained at 402. Figure 6 An example packet structure in which a connection request packet may be included is provided in .
[0061] At 410, upon receiving the connection request packet, the wBMS network manager 102 may perform authentication based on the source ID and the sequence ID. Figure 5 Discuss the mechanisms for performing authentication.
[0062] Figure 5 is a flow chart of an exemplary method 500 for authenticating a remote battery module in a wBMS to communicate over a secure communication channel in accordance with some embodiments of the present disclosure. The method 500 may be implemented by the wBMS network manager 102 as part of the operations at 410. In certain examples, the method 500 may be implemented by the BMS controller 160 at the wBMS network manager 102, or more specifically by the security application 162. Although the operations of the method 500 may be described with reference to the specific embodiments of the wBMS network manager 102 disclosed herein, the method 500 may be performed using any suitable hardware components and / or software components. Figure 5 In the diagram, each operation is shown once in a specific order, but the operations can be performed in parallel, reordered, and / or repeated as needed.
[0063] At 502 , the wBMS network manager 102 may receive a connection request packet from, for example, a battery module 110 , as described above with reference to 408 .
[0064] At 504, the wBMS network manager 102 may use the source ID in the received connection request packet to index into the BMIC sequence ID list 222. In this regard, the wBMS network manager 102 may read the BMIC sequence ID (received source ID) referenced by the index from the list 222. In other words, the wBMS network manager 102 may read the BMIC sequence ID (received source ID) from the memory location referenced by the index.
[0065] At 506 , the wBMS network manager 102 may compare the received BMIC serial ID (in the connection request packet) to the BMIC serial ID given in the location (either a memory location or a location within the list 222 ) indexed by the source ID.
[0066] At 508, the wBMS network manager 102 may determine whether there is a match between the received BMIC serial ID and the BMIC serial ID in the list 222 indexed by the source ID. If there is a match, the wBMS network manager 102 may determine that the authentication is successful at 510. However, if there is a mismatch, the wBMS network manager 102 may determine that the authentication failed at 512.
[0067] Back to Figure 4At 412, the wBMS network manager 102 may send, and the battery module 110 may receive, a connection response packet in response to the connection request at 408. If the comparison at 506 is a match, the wBMS network manager 102 may include an indication of successful authentication in the connection response packet. Alternatively, if the comparison at 506 is not a match, the wBMS network manager 102 may include an indication of failed authentication in the connection response packet.
[0068] If the connection response is successful at 412, a secure communication channel 180 is established between the wBMS network manager 102 and the battery module 110. After the secure communication channel is established, the wBMS network manager 102 and the battery module 110 can communicate with each other through the secure communication channel 180. For example, at 414, the battery module 110 can send and the wBMS network manager 102 can receive battery measurement data (e.g., voltage, current, temperature, etc.) related to the battery cells 112 at the battery module 110. The wBMS network manager 102 determines the health and / or performance of the battery cells 112 at the battery module 110 based on the received battery measurement data. In some examples, the wBMS network manager 102 can send and the battery module 110 can receive one or more control instructions. In one example, the control instruction can instruct the battery module 110 to open a switch to disconnect certain battery cells 112 at the battery module 110, or to disconnect the battery module 110 from a corresponding battery pack (e.g., battery pack 192).
[0069] However, if the connection response fails at 412 , then the secure communication channel is not established and thus the battery module 110 may not transmit the secure data to the wBMS network manager 102 .
[0070] In some aspects, the battery module 110 may send the connection request packet at 408 upon power-up when the security CPU 120 is initialized. For example, when the battery module 110 may be part of a battery pack (e.g., battery pack 192) on a vehicle, the battery module 110 may send the connection request packet each time the vehicle is turned on.
[0071] Figure 6 6 shows an exemplary SCL protocol packet 600 according to some embodiments of the present disclosure. In some aspects, the connection request packet transmitted at 408 and / or the connection response packet transmitted at 412 may have the following Figure 6 In some aspects, the battery measurement data transmitted at 414 and / or the control instructions transmitted at 416 may have the following format: Figure 6 The packet format is shown.
[0072] like Figure 6As shown, data packet 600 may include an SCL header 602, a variable payload 604, and an SCL cyclic redundancy check (CRC) 606. SCL header 602 may include a source ID field 608, a destination (Dest) ID field 610, a sequence (Seq) number field 612, a command ID field 614, and a payload length field 616. In some examples, each header field may be an 8-bit field. In general, each header field may include any suitable number of bits (e.g., 2, 3, 4, 6, 7, or more).
[0073] The source ID field 608 may indicate a source ID that identifies a device or node that generates and / or sends the data packet 600. For example, the source ID may be mapped from a hardware ID (such as the BMIC serial ID 132) or an initial storage state of the corresponding battery module 110, as described above with reference to Figure 3 The destination ID field 610 may identify a destination device or node for receiving the data packet 600. The sequence number field 612 may indicate a sequence number associated with the data packet 600. For example, the data packet 600 may be the kth data packet in a sequence of data packets, so when the sequence index starts at 1, the sequence number field 612 may indicate the value of k. The command ID field 614 may indicate a command code of a BMIC (e.g., BMIC 130). Some examples of commands may include, but are not limited to, battery balancing requests, status update requests, etc. The payload length field 616 may indicate the number of bytes in the variable payload 604. The SCL CRC 606 may indicate a CRC calculated on the SCL header 602 and the variable payload 604. In some examples, the SCL CRC 606 may be 24 bits long. Typically, the SCL CRC 606 may have any suitable number of bits (e.g., 16, 32, etc.).
[0074] In one example, when the data packet 600 is a connection request packet, the BMIC serial ID and the corresponding source ID of the battery module 110 may be included in the variable payload 604. In addition, the payload 604 may include an indication of the connection request. In another example, when the packet 600 is a battery measurement packet, the battery measurement data (e.g., the voltage, current, or temperature measured from the battery module 110) may be included in the variable payload 604. In the opposite direction, when the data packet 600 is a control or command data packet, the control instruction may include a command code in the command ID field 614 and may optionally include command data in the variable payload 604.
[0075] Figure 7 FIG. 7 shows an exemplary connection request packet generation scheme 700 according to some embodiments of the present disclosure. The scheme 700 can be implemented by the battery module 110 and can be used in the same manner as described above with reference to FIG. Figure 1A-1B , 2-4 and 6. In one aspect, the battery module 110 can use the scheme 700 to generate the connection request packet sent at 408. To simplify the discussion, Figure 1B and Figure 2 The scheme 700 is discussed in the context of the battery module 110a.
[0076] like Figure 7 As shown, the battery module 110a can read the BMIC serial ID 132a from the BMIC 130a at the battery module 110a. The battery module 110a can look up a list (e.g., list 222) of serial IDs 132 (shown as 132a, 132b, 132c, ...) stored at the safety CPU 120 of the battery module 110a. The list can be as described above with reference to Figure 2 A portion of the configuration 220 in question. Figure 7 In the example shown, the BMIC serial ID 132a is referenced by index 0 (which can be used as a source ID). Figure 6 The SCL packet 710 is in the format shown, where the source ID 0 and the BMIC sequence ID 132 a are carried in the variable payload 604 of the SCL packet 710 .
[0077] Figure 8 An exemplary authentication scheme 800 for establishing a secure communication channel in a wBMS according to some embodiments of the present disclosure is shown. The scheme 800 may be implemented by the wBMS network manager 102 and may be used in the same manner as described above with reference to Figure 1A-1B Similar mechanisms as discussed above at 2-6. In one aspect, the wBMS network manager 102 can use the scheme 800 to perform authentication at 410.
[0078] like Figure 8 As shown, the wBMS network manager 102 may receive a connection request packet 710 from the battery module 110a. Upon receiving the packet 710, the BMS controller 160 may index the list 222 of BMIC serial IDs 132 stored at the BMS controller 160 using index 0 (in the payload 604). The list may be as described above with reference to Figure 2 The wBMS network manager 102 can read the BMIC serial ID referenced by index 0 from the list 222. Figure 8 In the example shown, index 0 references the BMIC sequence ID 132a.
[0079] At 810, the wBMS network manager 102 may compare the sequence ID obtained from the sequence ID list 222 with the sequence ID in the received data packet 710. Figure 8 In the example shown, the sequence ID obtained from the sequence ID list matches the sequence ID in the received data packet 710. Therefore, the wBMS network manager 102 can determine whether the authentication is passed or successful.
[0080] Fig. 9 1 is a flow chart of an exemplary method 900 for communicating in a wBMS (e.g., wBMS 100 of FIG. 1 and wgMS 190 of FIG. 1 ) according to some embodiments of the present disclosure. In one aspect, the method 900 may be implemented by a wBMS network manager 102 as described herein. In another aspect, the method 900 may be implemented by a battery module 110 as described herein. The wBMS network manager 102 and / or the battery module 110 may be referred to as a wireless communication device. The method 900 may be implemented using the same method as described above with reference to FIG. Figure 1A-1B Although the operation of method 900 may be described with reference to the specific embodiments of the wBMS network manager 102 or battery module 110 disclosed herein, any suitable hardware components and / or software components may be used to perform method 900. Fig. 9 In the diagram, each operation is shown once in a specific order, but the operations can be performed in parallel, reordered, and / or repeated as needed.
[0081] At 902, a first wireless communication device may communicate a connection request packet with a second wireless communication device in a wBMS. The connection request packet may include a first hardware ID of a hardware component at a first battery module and a first source ID associated with the first hardware ID. The hardware component may be associated with safety integrity (e.g., a certain safety integrity level or passing a safety integrity compliance check according to ISO 61784-3 and / or ISO 26262). In some examples, the connection request packet may have a Figure 6-8 The packet format is shown.
[0082] In one aspect, the first wireless communication device may correspond to a first battery module (e.g., battery module 110), the second wireless communication device may correspond to a wBMS network manager (e.g., wBMS network manager 102) of a wBMS, and the communication data packet may include sending the connection request data packet to the second wireless communication device. In another aspect, the first wireless communication device may correspond to a network manager (e.g., wBMS network manager 102) of a battery management system, the second wireless communication device may correspond to the first battery module (e.g., battery module 110), and the communication data packet may include receiving a connection request data packet from the second wireless communication device.
[0083] At 904, the first wireless communication device may establish a secure communication channel (eg, the secure communication channel 180) with the second wireless communication device in response to the connection request packet.
[0084] In some aspects, the first hardware ID can be one of a plurality of hardware IDs in the list. The first source ID can be one of a plurality of source IDs. For example, as described above with reference to Figure 3 As described, each of the plurality of hardware IDs in the list is mapped to one of the plurality of source IDs according to the position of the hardware ID of each of the plurality of battery modules in the list.
[0085] In some aspects, when the first wireless communication device corresponds to the first battery module, the first wireless communication device may also obtain a first hardware ID that identifies a hardware component. In one example, the hardware component may correspond to a BMIC (e.g., BMIC 130) at the first battery module, and the first hardware ID may correspond to a serial ID of the BMIC (e.g., serial ID 132). In another example, the hardware component may correspond to a memory (e.g., memory 121) at the first battery module, and the first hardware ID may correspond to an initial memory state of the memory. In addition, the first wireless communication device may determine a first source ID based on the first hardware ID and a predetermined mapping, for example, as described above with reference to Figure 3-4 and Figure 7 described.
[0086] In some aspects, when the first wireless communication device corresponds to the wBMS network manager, the device may also use the first source ID in the received data packet and the preset mapping to search for the second hardware ID from the hardware ID list. The first wireless communication device may also perform authentication by comparing the first hardware ID in the received data packet with the second hardware ID from the list, for example, as described above with reference to Figure 4-5 and Figure 8 In another aspect, as part of establishing the secure communication channel at 904, the first wireless communication device may send an indication of successful authentication to the second wireless communication device based on a match between the first hardware ID in the received data packet and the second hardware ID in the list. Conversely, the first wireless communication device may send an indication of failed authentication to the second wireless communication device based on a mismatch between the first hardware ID in the received data packet and the second hardware ID in the list. In one example, the first wireless communication device may use the above reference Figure 5 Method 500 is discussed to perform authentication.
[0087] In some aspects, the first wireless communication device may also communicate with the second wireless communication device via a secure communication channel, another data packet having a data packet header including an indication of the first source ID, and a payload including at least one of battery measurement data (e.g., voltage, current, or temperature) or battery module control instructions. In one aspect, when the first wireless communication device corresponds to a wBMS network manager, the battery measurement data may be a measurement of the second wireless communication device, and the first wireless communication device may receive the battery measurement data from the second wireless communication device. In one aspect, when the first wireless communication device corresponds to a wBMS network manager, the first wireless communication device may send control instructions to the second wireless communication device. In one aspect, when the first wireless communication device corresponds to the first battery module, the battery measurement data may be a measurement of the first battery module, and the first wireless communication device may send the battery measurement data to the second wireless communication device. In one aspect, when the first wireless communication device corresponds to the first battery module, the first wireless communication device may receive control instructions from the second wireless communication device.
[0088] Fig.10 is a block diagram illustrating an exemplary data processing system 2300 according to some embodiments of the present disclosure, which may be configured to implement or control at least a portion of the battery module 110 or the wBMS network manager 102 discussed herein.
[0089] like Fig.10 As shown, data processing system 2300 may include at least one processor 2302, such as hardware processor 2302, coupled to memory element 2304 via system bus 2306. Therefore, the data processing system can store program code in memory element 2304. In addition, processor 2302 can execute program code accessed from memory element 2304 via system bus 2306. In one aspect, the data processing system can be implemented as a computer suitable for storing and / or executing program code. However, it should be understood that data processing system 2300 can be implemented in the form of any system, including a processor and memory capable of performing the functions described in the present disclosure.
[0090] In some embodiments, the processor 2302 may execute software or algorithms to perform the activities discussed in the present disclosure, particularly activities related to performing authentication to establish a secure communication channel as described herein. The processor 2302 may include any combination of hardware, software, or firmware that provides programmable logic, including but not limited to a microprocessor, a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic array (PLA), an application specific integrated circuit (IC) (ASIC), or a virtual machine processor. The processor 2302 may be communicatively coupled to the memory element 2304, for example, in a direct memory access (DMA) configuration, so that the processor 2302 can read from the memory element 2304 or write to the memory element 2304.
[0091] In general, memory element 2304 may include any suitable volatile or non-volatile memory technology, including double data rate (DDR) random access memory (RAM), synchronous RAM (SRAM), dynamic RAM (DRAM), flash memory, read-only memory (ROM), optical media, virtual memory area, magnetic tape or tape storage, or any other suitable technology. Unless otherwise specified, any storage element discussed herein should be interpreted as being included in the broad term "memory". Any component or information sent to or from data processing system 2300 that is measured, processed, tracked, or sent to data processing system 2300 can be provided in any database, register, control list, cache, or storage structure, all of which can be referenced in any suitable time frame. Any such storage option can be included in the broad term "memory" used herein. Similarly, any potential processing element, module, and machine described herein should be interpreted as being included in the broad term "processor".
[0092] In certain example implementations, as described herein, mechanisms for performing authentication to establish a secure communication channel may be implemented by logic encoded in one or more tangible media, which may include non-transitory media, such as embedded logic provided in an ASIC, DSP instructions, software (which may include object code and source code) executed by a processor or other similar machine, etc. In some of these examples, a memory element, such as Fig.10 The memory element 2304 shown in the figure can store data or information used for the operations described herein. This includes memory elements capable of storing software, logic, code, or processor instructions that are executed to perform the activities described herein. The processor can execute any type of instructions associated with the data or information to implement the operations detailed herein. In one example, the processor, such as Fig.10The processor 2302 shown in the figure can transform an element or item (e.g., data) from one state or thing to another. In another example, the activities outlined herein can be implemented with fixed logic or programmable logic (e.g., software / computer instructions executed by a processor), and the elements identified herein can be some type of programmable processor, programmable digital logic (e.g., FPGA, DSP, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)), or ASIC including digital logic, software, code, electronic instructions, or any suitable combination thereof.
[0093] Memory element 2304 may include one or more physical memory devices, such as local memory 2308 and one or more mass storage devices 2310. Local memory may refer to RAM or other non-persistent storage devices typically used during the actual execution of program code. Mass storage devices may be implemented as hard drives or other persistent data storage devices. Processing system 2300 may also include one or more cache memories (not shown) that provide temporary storage of at least some program codes to reduce the number of times program codes must be retrieved from mass storage devices 2310 during execution.
[0094] like Fig.10 As shown, storage element 2304 can store application 2318. In various embodiments, application 2318 can be stored in local memory 2308, one or more mass storage devices 2310, or stored separately from local memory and mass storage devices. It should be understood that data processing system 2300 can also execute an operating system ( Fig.10 23). Application 2318 implemented in the form of executable program code may be executed by data processing system 2300, for example, by processor 2302. In response to executing the application, data processing system 2300 may be configured to perform one or more operations or method steps described herein.
[0095] Optionally, input / output (I / O) devices described as input devices 2312 and output devices 2314 can be coupled to the data processing system. Examples of input devices can include, but are not limited to, keyboards, pointing devices such as mice, and the like. Examples of output devices can include, but are not limited to, monitors or displays, speakers, and the like. In some embodiments, output device 2314 can be any type of screen display, such as a plasma display, a liquid crystal display (LCD), an organic light emitting diode (OLED) display, an electroluminescent (EL) display, or any other indicator, such as a dial, a barometer, or an LED. In some implementations, the system may include a driver (not shown) for output device 2314. Input device 2312 and / or output device 2314 can be coupled to the data processing system directly or through an intermediate I / O controller.
[0096] In one embodiment, the input and output devices may be implemented as a combined input / output device (eg, Fig.10 2312 and output device 2314). An example of such a combined device is a touch-sensitive display, sometimes referred to as a "touch screen display" or simply a "touch screen." In such embodiments, input to the device can be provided by moving a physical object (e.g., a stylus or finger of a user) across or near the touch screen display.
[0097] Optionally, network adapter 2316 may also be coupled to the data processing system to enable it to be coupled to other systems, computer systems, remote network devices, and / or remote storage devices through an intervening private or public network. The network adapter may include a data receiver and a data transmitter, the data receiver being used to receive data sent by the system, device, and / or network to the data processing system 2300, and the data transmitter being used to send data from the data processing system 2300 to the system and / or network. Modems, cable modems, and Ethernet cards are examples of different types of network adapters that may be used with the data processing system 2300.
[0098] Fig.11 is a schematic block diagram illustrating an exemplary RF device 2200 according to some embodiments of the present disclosure, for example, which may implement the wireless transceiver, wireless node 140 and / or wireless manager 150 described herein.
[0099] In general, the RF device 2200 can be any device or system that can support wireless transmission and / or reception of signals in the form of electromagnetic waves in the RF range of about 3 kilohertz (kHz) to about 300 gigahertz (GHz). In some embodiments, the RF device 2200 can be used for wireless communication, for example, in a base station (BS) or user equipment (UE) device of any suitable cellular wireless communication technology (such as GSM, WCDMA or Long Term Evolution (LTE)). In another example, the RF device 2200 can be used as a BS, RRH or UE device of a millimeter wave wireless technology, such as a fifth generation (5G) wireless (i.e., a high frequency / short wave spectrum, for example, a frequency between about 20 and 60 GHz, corresponding to a wavelength between about 5 and 15 mm). In another example, the RF device 2200 can be used for wireless communication using Wi-Fi technology (e.g., a 2.4 GHz band corresponding to a wavelength of about 12 cm, or a 5.8 GHz band corresponding to a wavelength of about 5 cm, spectrum), for example, in a Wi-Fi-enabled device such as a desktop, laptop, video game console, smartphone, tablet, smart TV, digital audio player, car, printer, etc. In some implementations, a Wi-Fi-enabled device can be, for example, a node in a smart system that is configured to communicate data with other nodes (e.g., a smart sensor). In another example, the RF device 2200 can be used for wireless communication using Bluetooth technology (e.g., a frequency band from about 2.4 to about 2.485 GHz, corresponding to a wavelength of about 12 cm). In other embodiments, the RF device 2200 can be used to send and / or receive RF signals for purposes other than communication, such as in an automotive radar system, or in medical applications such as magnetic resonance imaging (MRI).
[0100] In various embodiments, the RF device 2200 may be included in a frequency division duplex (FDD) or time domain duplex (TDD) variant of the frequency allocation used in cellular networks. In an FDD system, the uplink (i.e., the RF signal sent from the UE device to the BS) and the downlink (i.e., the RF signal sent from the BS to the US device) can use separate frequency bands at the same time. In a TDD system, the uplink and downlink can use the same frequency, but at different times.
[0101] Fig.11, several components included in the RF device 2200 are shown, but any one or more of these components may be omitted or duplicated as required by the application. For example, in some embodiments, the RF device 2200 may be an RF device (e.g., an RF transceiver) that supports wireless transmission and reception of RF signals, in which case it may include components referred to herein as a transmit (TX) path and components referred to herein as a receive (RX) path. However, in other embodiments, the RF device 2200 may be an RF device (e.g., an RF receiver) that only supports wireless reception, in which case it may include components of the RX path but not components of the TX path; or the RF device 2200 may be an RF device (e.g., an RF transmitter) that only supports wireless transmission, in which case it may include components of the TX path but not components of the RX path.
[0102] In some embodiments, some or all of the components included in the RF device 2200 may be attached to one or more motherboards. In some embodiments, some or all of these components are manufactured on a single die, such as a single system-on-chip (SoC) die.
[0103] Furthermore, in various embodiments, the RF device 2200 may not include Fig.11 2200, but the RF device 2200 may include interface circuitry for coupling to one or more components. For example, the RF device 2200 may not include the antenna 2202, but may include antenna interface circuitry (e.g., matching circuitry, connectors, and driver circuitry), to which the antenna 2202 may be coupled. In another set of examples, the RF device 2200 may not include the digital processing unit 2208 or the local oscillator 2206, but may include device interface circuitry (e.g., connectors and supporting circuitry), to which the digital processing unit 2208 or the local oscillator 2206 may be coupled.
[0104] like Fig.11 As shown, the RF device 2200 may include an antenna 2202, a duplexer 2204 (for example, if the RF device 2200 is an FDD RF device; otherwise, the duplexer 2204 may be omitted), a local oscillator 2206, and a digital processing unit 2208. Fig.11 As shown, the RF device 2200 may include an RX path, which may include an RX path amplifier 2212, an RX path premix filter 2214, an RX path mixer 2216, an RX path postmix filter 2218, and an analog-to-digital converter (ADC) 2220. Fig.11As further shown, the RF device 2200 may include a TX path, which may include a TX path amplifier 2222, a TX path post-mix filter 2224, a TX path mixer 2226, a TX path pre-mix filter 2228, and a digital-to-analog converter (DAC) 2230. In addition, the RF device 2200 may also include an impedance tuner 2232, an RF switch 2234, and control logic 2236. In various embodiments, the RF device 2200 may include Fig.11 2200. In some embodiments, RX path amplifier 2212, TX path amplifier 2222, duplexer 2204, and RF switch 2234 may be considered to form or be part of an RF front end (FE) of RF device 2200. In some embodiments, RX path amplifier 2212, TX path amplifier 2222, duplexer 2204, and RF switch 2234 may be considered to form or be part of an RF FE of RF device 2200. In some embodiments, RX path mixer 2216 and TX path mixer 2226 (which may have Fig.11 ) can be considered to form an RF transceiver (or an RF transceiver of an RF receiver or RF transmitter if only RX path or TX path components are included in RF device 2200, respectively) or a portion thereof. In some embodiments, RF device 2200 may also include one or more control logic elements / circuits, such as Fig.11 The control logic 2236 is shown, such as an RF FE control interface. In some embodiments, the control logic 2236 can be used to control other functions within the RF device 2200, such as enhancing control over complex RF system environments, supporting implementation of envelope tracking technology, reducing power consumption, etc.
[0105] Antenna 2202 can be configured to wirelessly transmit and / or receive RF signals according to any wireless standard or protocol (e.g., Wi-Fi, LTE, or GSM) and any other wireless protocol designated as 3G, 4G, 5G and above. If RF device 2200 is an FDD transceiver, antenna 2202 can be configured to simultaneously receive and transmit communication signals in separate, i.e., non-overlapping and non-contiguous frequency bands, such as in frequency bands spaced apart from each other by, for example, 20 MHz. If RF device 2200 is a TDD transceiver, antenna 2202 can be configured to sequentially receive and transmit communication signals in frequency bands where TX and RX paths may be the same or overlapping. In some embodiments, RF device 2200 can be a multi-band RF device, in which case antenna 2202 can be configured to simultaneously receive signals having multiple RF components in separate frequency bands and / or be configured to simultaneously transmit signals having multiple radio frequency components in separate frequency bands. In such an embodiment, antenna 2202 may be a single broadband antenna or multiple specific frequency band antennas (i.e., multiple antennas, each antenna being configured to receive and / or transmit signals in a specific frequency band). In various embodiments, antenna 2202 may include multiple antenna elements, for example, multiple antenna elements forming a phased antenna array (i.e., a communication system or antenna array that can use multiple antenna elements and phase shifts to send and receive RF signals). Phased antenna arrays may provide advantages such as increased gain, directional control capabilities, and simultaneous communication compared to single antenna systems. In some embodiments, RF device 2200 may include more than one antenna 2202 to achieve antenna diversity. In some such embodiments, RF switch 2234 may be deployed to switch between different antennas.
[0106] The output of the antenna 2202 may be coupled to the input of a duplexer 2204. The duplexer 2204 may be any suitable component configured to filter multiple signals to allow bidirectional communication over a single path between the duplexer 2204 and the antenna 2202. The duplexer 2204 may be configured to provide an RX signal to an RX path of the RF device 2200 and to receive a TX signal from a TX path of the RF device 2200.
[0107] The RF device 2200 may include one or more local oscillators 2206 configured to provide a local oscillator signal that may be used to down-convert RF signals received by the antenna 2202 and / or up-convert signals to be transmitted by the antenna 2202 .
[0108] The RF device 2200 may include a digital processing unit 2208, which may include one or more processing devices. The digital processing unit 2208 may be configured to perform various functions related to digital processing of RX and / or TX signals. Examples of such functions include, but are not limited to, decimation / downsampling, error correction, digital down-conversion or up-conversion, DC offset removal, automatic gain control, etc. Although Fig.11 Not shown, but in some embodiments, the RF device 2200 may also include a memory device configured to cooperate with the digital processing unit 2208.
[0109] Turning to the details of the RX path that may be included in the RF device 2200, the RX path amplifier 2212 may include a low noise amplifier (LNA). The input of the RX path amplifier 2212 may be coupled to an antenna port (not shown) of the antenna 2202, for example, via the duplexer 2204. The RX path amplifier 2212 may amplify the RF signal received by the antenna 2202.
[0110] The output of the RX path amplifier 2212 can be coupled to the input of the RX path premixing filter 2214, which can be a harmonic or bandpass (e.g., lowpass) filter configured to filter the received RF signal that has been amplified by the RX path amplifier 2212.
[0111] The output of the RX path premix filter 2214 can be coupled to the input of the RX path mixer 2216, also referred to as a down converter. The RX path mixer 2216 can include two inputs and one output. The first input can be configured to receive an RX signal, which can be a current signal indicating a signal received by the antenna 2202 (e.g., the first input can receive the output of the RX path premix filter 2214). The second input can be configured to receive a local oscillator signal from one of the local oscillators 2206. The RX path mixer 2216 can then mix the signals received at its two input ends to generate a down-converted RX signal provided at the output end of the RX path mixer 2216. As used herein, down conversion refers to the process of mixing a received RF signal with a local oscillator signal to generate a lower frequency signal. Specifically, the TX path mixer (e.g., down converter) 2216 can be configured to generate a sum frequency and / or a difference frequency at the output port when two input frequencies are provided at the two input ports. In some embodiments, the RF device 2200 can implement a direct conversion receiver (DCR), also known as a zero-difference, synchronous difference, or zero IF receiver, in which case the RX path mixer 2216 can be configured to demodulate the incoming radio signal using a local oscillator signal having a frequency that is the same as or very close to the carrier frequency of the radio signal. In other embodiments, the RF device 2200 can utilize down-conversion to an intermediate frequency (IF). The IF can be used in a superheterodyne radio receiver, in which the received RF signal is converted to an IF before final detection of the information in the received signal. There may be several reasons for converting to an IF. For example, when multiple filters are used, they can all be set to fixed frequencies, which makes them easier to build and tune. In some embodiments, the RX path mixer 2216 can include several such IF conversion stages.
[0112] Despite Fig.11A single RX path mixer 2216 is shown in the RX path of FIG. 2 , but in some embodiments, the RX path mixer 2216 can be implemented as an orthogonal downconverter, in which case it will include a first RX path mixer and a second RX path mixer. The first RX path mixer can be configured to perform downconversion to generate an in-phase (I) downconverted RX signal by mixing the RX signal received by the antenna 2202 and the in-phase component of the local oscillator signal provided by the local oscillator 2206. The second RX path mixer can be configured to perform downconversion to generate an orthogonal (Q) downconverted RX signal by mixing the RX signal received by the antenna 2202 with the orthogonal component of the local oscillator signal provided by the local oscillator 2206 (the orthogonal component is a component whose phase is offset by 90 degrees from the in-phase component of the local oscillator signal). The output of the first RX path mixer can be provided to the I signal path, and the output of the second RX path mixer can be provided to the Q signal path, which can be substantially 90 degrees out of phase with the I signal path.
[0113] The output of the RX path mixer 2216 can optionally be coupled to an RX path post-mixing filter 2218, which can be a low-pass filter. In the case where the RX path mixer 2216 is a quadrature mixer implementing the first and second mixers as described above, the in-phase and quadrature components provided at the outputs of the first and third mixers, respectively, can be coupled to respective separate first and second RX path post-mixing filters included in the filter 2218.
[0114] ADC 2220 may be configured to convert the mixed RX signal from RX path mixer 2216 from the analog domain to the digital domain. ADC 2220 may be a quadrature ADC, which, like RX path quadrature mixer 2216, may include two ADCs configured to digitize the down-converted RX path signal separated into in-phase and quadrature components. The output of ADC 2220 may be provided to digital processing unit 2208, which is configured to perform various functions related to digital processing of the RX signal, so that information encoded in the RX signal may be extracted.
[0115] Turning to the details of the TX path that may be included in the RF device 2200, the digital signal (TX signal) to be later transmitted by the antenna 2202 may be provided from the digital processing unit 2208 to the DAC 2230. As with the ADC 2220, the DAC 2230 may include two DACs configured to convert the digital I and Q path TX signal components into analog form, respectively.
[0116] Optionally, the output of the DAC 2230 can be coupled to a TX path premix filter 2228, which can be a bandpass (e.g., low-pass) filter (or a pair of bandpass, such as low-pass filters in the case of orthogonal processing), which is configured to filter out signal components outside the desired frequency band from the analog TX signal output by the DAC 2230. The digital TX signal can then be provided to the TX path mixer 2226, which can also be referred to as an upconverter. Like the RX path mixer 2216, the TX path mixer 2226 can include a pair of TX path mixers for mixing in-phase and quadrature components. Like the first and second RX path mixers that may be included in the RX path, each TX path mixer of the TX path mixer 2226 may include two inputs and one output. The first input can receive the TX signal components converted to analog form by the corresponding DAC 2230, which will be upconverted to generate the RF signal to be transmitted. The first TX path mixer can generate an in-phase (I) up-converted signal by mixing the TX signal component converted to analog form by DAC2230 with the in-phase component of the TX path local oscillator signal provided from the local oscillator 2206 (in various embodiments, the local oscillator 2206 may include multiple different local oscillators, or be configured to provide different local oscillation frequencies for the mixer 2216 in the RX path and the mixer 2226 in the TX path). The second TX path mixer can generate an orthogonal phase (Q) up-converted signal by mixing the TX signal component converted to analog form by DAC 2230 with the orthogonal component of the TX path local oscillator signal. The output of the second TX path mixer can be added to the first TX path mixer to create a real RF signal. The second input of each TX path mixer can be coupled to the local oscillator 2206.
[0117] Optionally, the RF device 2200 may include a TX path post-mixing filter 2224 configured to filter the output of the TX path mixer 2226 .
[0118] In various embodiments, any one of the RX path premix filter 2214, the RX path postmix filter 2218, the TX postmix filter 2224, and the TX premix filter 2228 can be implemented as an RF filter. In some embodiments, the RF filter can be implemented as a plurality of RF filters or filter banks. The filter bank may include a plurality of RF filters that can be coupled to a switch, such as an RF switch 2234, configured to selectively turn on and off any one of the plurality of RF filters (e.g., activate any one of the plurality of RF filters) to achieve the desired filtering characteristics of the filter bank (i.e., in order to program the filter bank). For example, when the RF device 2200 is or is included in a BS or UE device, such a filter bank can be used to switch between different RF frequency ranges. In another example, such a filter bank can be programmable to suppress TX leakage at different duplex distances.
[0119] The impedance tuner 2232 may include any suitable circuit configured to match the input and output impedances of different RF circuits to minimize signal loss in the RF device 2200. For example, the impedance tuner 2232 may include an antenna impedance tuner. Being able to tune the impedance of the antenna 2202 may be particularly advantageous because the impedance of the antenna is a function of the environment in which the RF device 2200 is located, for example, the impedance of the antenna may change depending on whether the antenna is held in a hand, placed on the roof of a car, etc.
[0120] As described above, the RF switch 2234 may be a device configured to route high frequency signals through a transmission path, for example, in order to Fig.11 2200, for example, to achieve desired behavior and characteristics of the RF device 2200. For example, in some embodiments, the RF switch can be used to switch between different antennas 2202. In other embodiments, the RF switch can be used to switch between multiple RF filters of the RF device 2200 (e.g., by selectively turning the RF filters on and off). Typically, the RF system will include multiple such RF switches.
[0121] RF device 2200 provides a simplified version, and in further embodiments, may include Fig.11Other components not specifically shown in the figure. For example, the RX path of the RF device 2200 may include a current-voltage amplifier between the RX path mixer 2216 and the ADC 2220, which may be configured to amplify the down-converted signal and convert it into a voltage signal. In another example, the RX path of the RF device 2200 may include a balanced-unbalanced transformer for generating a balanced signal. In another example, the RF device 2200 may also include a clock generator, which may, for example, include a suitable phase-locked loop (PLL), configured to receive a reference clock signal and use it to generate a different clock signal, which may then be used to time the operation of the ADC 2220, DAC 2230, and / or may also be used by the local oscillator 2206 to generate a local oscillator signal to be used in the RX path or the TX path. In general, the RF device 2200 may include clock generation circuits or PLLs in various domains, such as an RF domain, a digital I / O domain (e.g., for communicating with a device outside the RF device), a clock domain, etc.
[0122] Example
[0123] Example 1 includes a wireless battery management system (wBMS) network manager, comprising a memory for storing a list of hardware identifiers (IDs), wherein each hardware ID in the list is associated with a corresponding one of a plurality of battery modules; and based on a predetermined mapping, is mapped to a different one of a plurality of source IDs; an interface for receiving a data packet including a source ID and a hardware ID associated with the remote battery module from a remote battery module via a wireless communication channel; and one or more processing units for searching for a first hardware ID from a list of hardware IDs using the source ID in the received data packet and the predetermined mapping; and authenticating the remote battery module based on a comparison of the hardware ID in the received data packet with the first hardware ID from the list.
[0124] In Example 2, the wBMS network manager of Example 1 may optionally include: wherein the predetermined mapping is based on the order of the hardware IDs in the list; and the one or more processing units search for the first hardware ID from the list by using the source ID in the received data packet as an index of the hardware ID list.
[0125] In Example 3, any one of the wBMS network managers of Examples 1-2 may optionally include: wherein the predetermined mapping is based on a hash function; and the one or more processing units search for the first hardware ID from the list by applying the hash function to the hardware ID list.
[0126] In Example 4, any of the wBMS network managers of Examples 1-3 may optionally include: wherein the received data packet includes an indication of a connection request.
[0127] In Example 5, any one of the wBMS network managers in Examples 1-4 may optionally include: wherein the one or more processing units also send an indication of successful authentication on the wireless communication channel through the interface based on a match between the hardware ID in the received data packet and the first hardware ID in the list.
[0128] In Example 6, any one of the wBMS network managers in Examples 1-4 may optionally include: wherein the one or more processing units also send an indication of authentication failure on the wireless communication channel through the interface based on a mismatch between the hardware ID in the received data packet and the first hardware ID in the list.
[0129] In Example 7, any one of the wBMS network managers of Examples 1-6 may optionally include: wherein a single hardware ID in the hardware ID list identifies a hardware component of a corresponding battery module in the plurality of battery modules, the hardware component being associated with a safety integrity level.
[0130] In Example 8, the wBMS network manager of any one of Examples 1-7 may optionally include: wherein hardware components of corresponding battery modules are associated with safety integrity levels.
[0131] In Example 9, any one of the wBMS network managers of Examples 1-8 may optionally include: wherein the single hardware ID in the hardware ID list is a serial ID of a battery monitor at a corresponding battery module among the plurality of battery modules.
[0132] In Example 10, any one of the wBMS network managers in Examples 1-9 may optionally include: wherein the memory also stores a list of media access control (MAC) IDs, each ID being associated with a wireless transceiver of a corresponding battery module among the multiple battery modules; a serial ID associated with a single battery module among the multiple battery modules in the hardware ID list is referenced by a first index; and a MAC ID associated with a single battery module in the MAC ID list is referenced by a second index, the second index being the same as the first index.
[0133] In Example 11, the wBMS network manager of any one of Examples 1-10 may optionally include: wherein a single hardware ID in the hardware ID list is associated with a memory state of a corresponding battery module in the plurality of battery modules.
[0134] In Example 12, any one of the wBMS network managers in Examples 1-11 may optionally include: wherein the one or more processing units also receive another data packet having a data packet header from a remote battery module via a secure communication channel, the data packet header including an indication of a source ID associated with the remote battery module; and a payload including battery measurement data.
[0135] In Example 13, any of the wBMS network manager of Examples 1-12 may optionally include: wherein the one or more processing units further establish a secure communication channel with the remote battery module based on the authentication.
[0136] In Example 14, any one of the wBMS network managers in Examples 1-13 may optionally include: wherein the one or more processing units also send another data packet to the remote battery module via the secure communication channel, the data packet having a data packet header including an indication of a source ID associated with the remote battery module; and a payload including control instructions for the remote battery module.
[0137] Example 15 includes a first battery module, which includes: a memory for storing a list of hardware identifiers (IDs), wherein each hardware ID in the list is associated with a corresponding one of a plurality of battery modules, the first battery module being one of the plurality of battery modules; and based on a predetermined mapping, mapped to a different one of a plurality of source IDs; one or more processing units for determining a first source ID of the first battery module based on the predetermined mapping and the hardware ID associated with the first battery module; and an interface for sending a data packet including the hardware ID associated with the first battery module and the first source ID via a wireless communication channel.
[0138] In Example 16, the first battery module of Example 15, wherein the predetermined mapping is based on the order of the hardware IDs in the list; and the one or more processing units determine the first source ID based on an index, wherein the index references a hardware ID in the list corresponding to the hardware ID associated with the first battery module.
[0139] In Example 17, any one of the first battery modules of Examples 15-16 may optionally include: wherein the predetermined mapping is based on a hash function; and the one or more processing units determine the first source ID by applying the hash function to the hardware ID list.
[0140] In Example 18, any one of the first battery modules of Examples 15-17 may optionally include: wherein the transmitted data packet includes an indication of a connection request.
[0141] In Example 19, any one of the first battery modules in Examples 15-18 may optionally include: wherein the one or more processing units also receive an indication of successful authentication on the wireless communication channel through the interface in response to the sent data packet.
[0142] In Example 20, any one of the first battery modules of Examples 15-18 may optionally include: wherein the one or more processing units also receive an indication of authentication failure on the wireless communication channel through the interface in response to the transmitted data packet.
[0143] In Example 21, any one of the first battery modules of Examples 15-20 may optionally include: wherein the hardware ID associated with the first battery module is a hardware ID of a hardware component at the first battery module.
[0144] In Example 22, the first battery module of any one of Examples 15-21 may optionally include: wherein the hardware component is associated with a safety integrity level.
[0145] In Example 23, any one of the first battery modules of Examples 15-22 may optionally include: wherein the hardware ID associated with the first battery module is a serial ID of a battery monitor at the first battery module.
[0146] In Example 24, any one of the first battery modules in Examples 15-23 may optionally include: wherein the memory also stores a list of media access control (MAC) IDs, each ID being associated with a wireless transceiver of a corresponding battery module among the multiple battery modules; and a serial ID associated with a first battery module among the multiple battery modules in the hardware ID list is referenced by a first index; and a MAC ID associated with the first battery module in the MAC ID list is referenced by a second index, the second index being the same as the first index.
[0147] In Example 25, the first battery module of any one of Examples 15-24 may optionally include: wherein the hardware ID associated with the first battery module is a memory state associated with the first battery assembly.
[0148] In Example 26, any one of the first battery modules in Examples 15-25 may optionally include: wherein the one or more processing units also send another data packet through the secure communication channel, the data packet having a data packet header including an indication of the first source ID and a payload including battery measurement data.
[0149] In Example 27, any one of the first battery modules in Examples 15-26 may optionally include: wherein the one or more processing units also receive another data packet through the secure communication channel, the data packet having a data packet header including an indication of the first source ID and a payload including control instructions.
[0150] Example 28 includes a method performed by a first wireless communication device in a wireless battery management system (wBMS), the method comprising: communicating a connection request data packet with a second wireless communication device in the wBMS, the connection request data comprising a first hardware ID of a hardware component at a first battery module and a first source ID associated with the first hardware ID, the hardware component being associated with safety integrity (e.g., a specific safety integrity level defined by ISO 61784-3 and / or ISO 26262); and establishing a secure communication channel with the second wireless communication device in response to the connection request data packet.
[0151] In Example 29, a method of the example, wherein the first hardware ID is one of multiple hardware IDs in a list; the first source ID is one of multiple source IDs; and each of the multiple hardware IDs in the list is mapped to one of the multiple source IDs based on the position of the corresponding hardware ID in the list, each of the multiple hardware IDs being associated with a different one of the multiple battery modules.
[0152] In Example 30, any one of the methods in Examples 28-29 may optionally include: wherein the first wireless communication device corresponds to the first battery module; the second wireless communication device corresponds to the network manager of the wireless battery management system; and the communication connection request data packet includes sending the connection request data packet to the second wireless communication device.
[0153] In Example 31, any one of the methods of Examples 28-30 may optionally include: further comprising obtaining a first hardware ID that identifies the hardware component; and determining the first source ID based on the first hardware ID and a predetermined mapping.
[0154] In Example 32, any one of the methods in Examples 28-31 may optionally include: wherein the first wireless communication device corresponds to a network manager of a wBMS; the second wireless communication device corresponds to the first battery module; and the communication connection request packet includes receiving a connection request packet from the second wireless communication device.
[0155] In Example 33, any one of the methods in Examples 28-32 may optionally include: searching for a second hardware ID from a hardware ID list using a first source ID in a received connection request packet and a predetermined mapping; and performing authentication by comparing the first hardware ID in the received connection request packet with the second hardware ID in the list.
[0156] In Example 34, any one of the methods of Examples 28-33 may optionally include: wherein establishing a secure communication channel includes sending an indication of authentication success to the second wireless communication device based on a match between a first hardware ID in the received connection request data packet and a second hardware ID from the list.
[0157] In Example 35, any one of the methods in Examples 28-34 may optionally include: also including communicating another data packet with the second wireless communication device via the secure communication channel, the other data packet having a data packet header including an indication of the first source ID; and a payload including at least one of battery measurement data or battery module control instructions.
[0158] Changes and implementation
[0159] Although the above reference Figure 1A-1B The exemplary implementations shown in Figures 2-11 describe embodiments of the present disclosure, but those skilled in the art will recognize that the various teachings described above are applicable to various other implementations.
[0160] In some cases, the features discussed herein may be applicable to automotive systems, safety-critical industrial applications, medical systems, scientific instrumentation, wireless and wired communications, radio, radar, industrial process control, audio and video equipment, current sensing, instrumentation (which may be high precision), and other digital processing-based systems.
[0161] In the discussion of the above embodiments, components of the system, such as BMIC, safety CPU, BMS controller, wireless node, wireless manager and / or other components, can be easily replaced, substituted or otherwise modified to suit specific circuit requirements. In addition, it should be noted that the use of complementary electronic devices, hardware, software, etc., provides equally viable options for implementing the teachings of the present disclosure related to the SCL protocol in the wBMS in various communication systems.
[0162] As described herein, portions of various systems for implementing the SCL protocol in a wBMS may include electronic circuits that perform the functions described herein. In some cases, one or more portions of the system may be provided by a processor specifically configured to perform the functions described herein. For example, the processor may include one or more dedicated components, or may include programmable logic gates configured to perform the functions described herein. The circuit may operate in an analog domain, a digital domain, or a mixed signal domain. In some cases, the processor may be configured to perform the functions described herein by executing one or more instructions stored on a non-transient computer-readable storage medium.
[0163] In an example embodiment, any number of circuits of this figure can be implemented on a board of an associated electronic device. The board can be a general circuit board that can accommodate various components of the electronic system inside the electronic device and can also provide connectors for other peripheral devices. More specifically, the board can provide an electrical connection through which other components of the system can communicate electrically. Any suitable processor (including DSP, microprocessor, supporting chipset, etc.), computer-readable non-transient storage element, etc. can be appropriately coupled to the board according to specific configuration requirements, processing requirements, computer design, etc. Other components, such as external memory, additional sensors, audio / video display controllers, and peripherals, can be connected to the board as plug-in cards via cables or integrated into the board itself. In various embodiments, the functions described herein can be implemented in simulated form as software or firmware running in one or more configurable (e.g., programmable) elements arranged in a structure that supports these functions. The software or firmware providing the simulation can be provided on a non-transient computer-readable storage medium that includes instructions that allow the processor to perform these functions.
[0164] In another example embodiment, the circuit of the present figure can be implemented as a stand-alone module (e.g., a device having related components and circuits configured to perform a specific application or function) or as a plug-in module inserted into dedicated hardware of an electronic device. Note that certain embodiments of the present disclosure can be easily included in part or in whole in a system-on-chip (SOC) package. SOC stands for an IC that integrates the components of a computer or other electronic system into a single chip. It may contain digital, analog, mixed signal, and often radio frequency functions: all of which can be provided on a single chip substrate. Other embodiments may include a multi-chip module (MCM), in which multiple separate ICs are located within a single electronic package and are configured to interact closely with each other through the electronic package.
[0165] It is also important to note that all specifications, dimensions, and relationships outlined herein (e.g. Figure 1A-1BThe number of components of the devices, battery modules and / or wBMS network managers shown in the figures) are for example and teaching purposes only. Such information may be significantly changed without departing from the spirit of the present disclosure or the scope of the appended claims. It should be understood that the system can be integrated in any suitable manner. Along similar design alternatives, any of the circuits, components, modules and elements shown in this figure may be combined in various possible configurations, all of which are clearly within the broad scope of this specification. In the foregoing description, example embodiments have been described with reference to specific processors and / or component arrangements. Various modifications and changes may be made to these embodiments without departing from the scope of the appended claims. Accordingly, the description and drawings should be regarded as illustrative rather than restrictive.
[0166] Note that through many of the examples provided herein, interactions may be described in terms of two, three, four, or more electrical components. However, this is done for clarity and example purposes only. It should be understood that the system may be integrated in any suitable manner. Along similar design alternatives, any of the components, modules, and elements shown in the drawings may be combined in a variety of possible configurations, all of which are clearly within the broad scope of this specification. In some cases, it may be easier to describe one or more functions of a given set of flows by referencing only a limited number of electrical components. It should be understood that the drawings and the circuits they teach are easily expandable and can accommodate a large number of components and more complex / complex arrangements and configurations. Therefore, the examples provided should not limit the scope of the circuit or inhibit its broad teachings that may be applied to countless other architectures.
[0167] Note that in this specification, references to various features (e.g., elements, structures, modules, components, steps, operations, characteristics, etc.) included in "one embodiment," "example embodiment," and "a specific embodiment," "another embodiment," "some embodiments," "various embodiments," "other embodiments," or "alternative embodiments," etc., are intended to indicate that any such features are included in one or more embodiments of the present disclosure, but may or may not be combined in the same embodiment. In addition, as used herein, including in the claims, "or" used in a list of items (e.g., a list of items beginning with phrases such as "at least one" or "one or more") represents an inclusive list, for example, [at least one of A, B, or C] represents A or B or C or AB or AC or BC or ABC (i.e., A and B and C).
[0168] Various aspects of the illustrative embodiments are described using terms commonly used by those skilled in the art to convey the essence of their work to other technicians in the field. For example, the term "connected" refers to a direct electrical connection between connected things without any intermediate devices / components, while the term "coupled" refers to an indirect electrical connection between connected things, or an indirect connection through one or more passive or active intermediate devices / components. In another example, the term "circuit" refers to one or more passive and / or active components that are arranged to cooperate with each other to provide the desired functionality. In addition, as used herein, based on the context of specific values described herein or known in the art, the terms "substantially", "approximately", "about", etc. can be used to generally refer to within + / -20% of a target value, such as within + / -10% of a target value.
[0169] Numerous other changes, substitutions, changes and modifications may be determined by those skilled in the art, and the present disclosure is intended to include all such changes, substitutions and modifications that fall within the scope of the examples and the appended claims. Note that all optional features of the above-described apparatus may also be implemented with respect to the methods or processes described herein, and that the details in the examples may be used anywhere in one or more embodiments.
Claims
1. A wireless battery management system (wBMS) network manager, comprising: A memory for storing a list of hardware identifiers (IDs), wherein each hardware ID in the list is: is associated with a corresponding one of the plurality of battery modules; and Based on a predetermined mapping, mapping to a different one of a plurality of source IDs; an interface for receiving a data packet including a source ID and a hardware ID associated with the remote battery module from a remote battery module via a wireless communication channel; and One or more processing units for: searching the first hardware ID from the hardware ID list using the source ID in the received data packet and the predetermined mapping; and The remote battery module is authenticated based on a comparison of the hardware ID in the received data packet with a first hardware ID from the list.
2. The wBMS network manager according to claim 1, wherein: The predetermined mapping is based on the order of the hardware IDs in the list; and The one or more processing units search for the first hardware ID from the hardware ID list by using the source ID in the received data packet as an index into the list.
3. The wBMS network manager according to claim 1, wherein the one or more processing units further: Based on a match between the hardware ID in the received data packet and the first hardware ID in the list, an indication of successful authentication is sent over the wireless communication channel through the interface.
4. The wBMS network manager according to claim 1, wherein the one or more processing units further: Based on a mismatch between the hardware ID in the received data packet and the first hardware ID in the list, an indication of authentication failure is sent over the wireless communication channel through the interface. 5 . The wBMS network manager of claim 1 , wherein a single hardware ID in the hardware ID list identifies a hardware component of a corresponding battery module among the plurality of battery modules, the hardware component being associated with a safety integrity level. 6 . The wBMS network manager according to claim 1 , wherein the single hardware ID in the hardware ID list is a serial ID of a battery monitor at a corresponding battery module among the plurality of battery modules.
7. A first battery module, comprising: A memory for storing a list of hardware identifiers (IDs), wherein each hardware ID in the list is: being associated with a respective one of a plurality of battery modules, the first battery module being one of the plurality of battery modules; and Based on a predetermined mapping, mapping to a different one of a plurality of source IDs; one or more processing units configured to determine a first source ID of the first battery module based on the predetermined mapping and a hardware ID associated with the first battery module; and An interface is used to send a data packet including a hardware ID associated with the first battery module and the first source ID through a wireless communication channel.
8. The first battery module according to claim 7, wherein: The predetermined mapping is based on the order of the hardware IDs in the list; and The one or more processing units determine the first source ID based on an index that references a hardware ID in a list corresponding to a hardware ID associated with the first battery module.
9. The first battery module according to claim 7, wherein the one or more processing units further: In response to the transmitted data packet, an indication of successful authentication is received over the wireless communication channel via the interface.
10. The first battery module according to claim 7, wherein the one or more processing units further: In response to the transmitted data packet, an indication of an authentication failure is received over the wireless communication channel via the interface.
11. The first battery module according to claim 7, wherein: The hardware ID associated with the first battery module is a hardware ID of a hardware component at the first battery module; and The hardware components are associated with safety integrity levels.
12. The first battery module of claim 7, wherein the hardware ID associated with the first battery module is a serial ID of a battery monitor at the first battery module.
13. A method performed by a first wireless communication device in a wireless battery management system (wBMS), the method comprising: communicating a connection request data packet with a second wireless communication device in the wBMS, the connection request data packet including a first hardware ID of a hardware component at a first battery module and a first source ID associated with the first hardware ID, the hardware component being associated with safety integrity; and In response to the connection request packet, a secure communication channel is established with the second wireless communication device.
14. The method according to claim 13, wherein: The first hardware ID is one of the multiple hardware IDs in the list; The first source ID is one of a plurality of source IDs; and Each of a plurality of hardware IDs in the list is mapped to one of the plurality of source IDs according to a position of the corresponding hardware ID in the list, each of the plurality of hardware IDs being associated with a different one of the plurality of battery modules.
15. The method of claim 13, wherein: The first wireless communication device corresponds to the first battery module; The second wireless communication device corresponds to a network manager of the wireless battery management system; and The communication connection request data packet includes: The connection request data packet is sent to the second wireless communication device.
16. The method according to claim 15, further comprising: Obtaining a first hardware ID that identifies the hardware component; and The first source ID is determined based on the first hardware ID and a predetermined mapping.
17. The method of claim 13, wherein: The first wireless communication device corresponds to a network manager of the wBMS; the second wireless communication device corresponds to the first battery module; and The communication connection request data packet includes: A connection request packet is received from the second wireless communication device.
18. The method according to claim 17, further comprising: searching for a second hardware ID from the hardware ID list using the first source ID in the received connection request packet and a predetermined mapping; and Authentication is performed by comparing a first hardware ID in the received connection request packet with a second hardware ID in the list.
19. The method of claim 18, wherein establishing the secure communication channel comprises: Based on a match between the first hardware ID in the received connection request packet and a second hardware ID from the list, an indication of successful authentication is sent to the second wireless communication device.
20. The method of claim 13, further comprising: communicating another data packet with the second wireless communication device via the secure communication channel, the another data packet having: a data packet header including an indication of the first source ID; and The payload includes at least one of battery measurement data or battery module control instructions.