EFFICIENT UNICAST SUPERFRAME COMMUNICATION
Patent Information
- Application Number
- DE112023002471
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-05-31
- Filing Date
- 2023-05-31
- Publication Date
- 2025-03-20
Smart Images

Figure 00000023_0000 
Figure 00000024_0000 
Figure 00000025_0000
Abstract
Description
BACKGROUND
[0001] Modern vehicles may have multiple battery cells. Cell-related information such as temperature, voltage, and other indicators of cell status and health can be monitored for vehicle safety and to ensure proper operation. SUMMARY
[0002] In some examples, a vehicle battery management system (BMS) includes a set of battery cells and a secondary network node coupled to the set of battery cells. The secondary network node is configured to wirelessly receive a unicast downlink packet (single call downlink packet) from a primary network node in a first slot of a superframe, the unicast downlink packet being addressed to the secondary network node. The secondary network node is further configured to wirelessly transmit an uplink packet to the primary network node in a second slot of the superframe and in response to the unicast downlink packet.
[0003] In some examples, a method includes a primary network node sending, in a first superframe, a unicast downlink packet to a first secondary network node of a set of secondary network nodes and a broadcast downlink packet to the set of secondary network nodes. The method further includes, in the first superframe and in response to the unicast downlink packet, the primary network node receiving an uplink packet from the first secondary network node. The method further includes, in the first superframe and in response to the transmitted downlink packet, the primary network node receiving additional uplink packets from fewer than all secondary network nodes in the set of secondary network nodes. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of a wireless battery management system according to various examples. Fig. 2A is a block diagram of a wireless battery management system according to various examples. Fig. 2B is a block diagram of a wireless battery management system according to various examples. Fig. 3 is an illustration of a communication framework that may be used by a wireless battery management system according to various examples. Fig. 4A is an illustration of a sensing communication framework that may be used by a wireless battery management system according to various examples. Fig. 4B is an illustration of a pairing communication framework that may be used by a wireless battery management system according to various examples. Fig. 5 is an illustration of a superframe interval that may be used by a wireless battery management system according to various examples. Fig. 6 is an illustration of a downlink protocol format that may be used by a wireless battery management system according to various examples. Fig. 7 is an illustration of an uplink protocol format that may be used by a wireless battery management system according to various examples. Fig. 8, Fig. 9A and Fig. 9B are illustrations of superframe intervals that may be used by a wireless battery management system according to various examples. Fig. 10 and Fig. 11 are flow diagrams of methods for operating a wireless battery management system according to various examples. DETAILED DESCRIPTION OF EXAMPLES OF WORKING INSTALLATIONS
[0004] Some electronic devices are powered by batteries. For example, electric vehicles have multiple battery cells that provide power to these vehicles. Because battery cells in an electronic device can deliver large amounts of power, and because the power supplied by the battery cells can be critical to the operation of the electronic device, the electronic device may include a system for managing the battery cells.
[0005] Battery management systems (BMS) can manage the battery cells of an electronic device in various ways. For example, a BMS can monitor the condition (e.g., voltage, current, temperature) of battery cells in an electronic device. Furthermore, the BMS can control various battery cells to manage the amount of power delivered by the battery cells and the destination of that power within the electronic device. Generally, a BMS includes multiple components, such as multiple battery modules and a controller for managing the battery modules. Each battery module, in turn, can be coupled to multiple battery cells and include a battery monitor for monitoring these battery cells.Thus, the battery cells coupled to a battery module supply power to the electronic device; the battery monitor in the battery module monitors the condition and operation of the battery cells in that battery module; and the controller communicates with the battery monitor to ensure that the battery module and its cells are functioning properly. The controller can also communicate with the battery monitor to control the operation of the battery cells, for example, to turn on, turn off, redirect, or otherwise balance the power supplied by those battery cells.
[0006] BMSs may incorporate wireless technology. For example, a primary node contains or is coupled to a controller, and a secondary node contains a battery module that controls multiple battery cells. The primary and secondary nodes may communicate wirelessly, for example, using radio frequencies. In some protocols, a superframe is useful to facilitate wireless communication between the primary and secondary nodes. In the superframe, the primary node first sends a downlink communication (or packet) to several secondary nodes. The secondary nodes respond to the primary node individually with uplink communications (or packets) in a serial manner.
[0007] However, in some cases, it is desirable for the primary node to transmit a unicast downlink communication (or packet) instead of a broadcast downlink communication. A unicast downlink packet is sent from the primary node to a specific secondary node instead of being sent to all secondary nodes. After the primary node sends a downlink packet to a specific secondary node, only the secondary node to which the unicast downlink packet was addressed responds to the primary node with an uplink packet. The remaining secondary nodes to which the unicast downlink packet was not addressed do not respond to the primary node.Consequently, after the secondary node sends its uplink packet to the primary node, the remainder of the superframe—which, in the context of a broadcast, would normally be used by the remaining secondary nodes to send their uplink packets as described above—remains unused, and no further communication takes place until the next superframe interval. Unicast superframe communication can be very inefficient.
[0008] Described herein are various examples of a BMS enabling efficient unicast superframe communication. Specifically, an example BMS includes a primary node and a set of secondary nodes, each secondary node coupled to a set of battery cells (although the scope of this description is not limited to battery applications). The primary node controls the secondary nodes, and the secondary nodes communicate with their respective battery cells to control the battery cells and receive status information about the battery cells (e.g., current, voltage, temperature), which can be transmitted to the primary node. The primary and secondary nodes communicate with each other using superframe intervals.
[0009] In a first slot (also called a frame) of a superframe, the primary node can send a unicast downlink packet to a secondary destination node in the set of secondary nodes. For example, the unicast downlink packet can contain an address of the secondary destination node. In a second slot of the superframe, the secondary node can send a response in the form of an uplink packet to the primary node. The remainder of the superframe can be used for unicast and / or broadcast communication, mitigating the inefficiencies that would arise if the remainder of the superframe remained unused.For example, in a third slot of the superframe, the primary node may unicast a downlink packet to a specific secondary node, and in a fourth slot of the superframe, the secondary node may respond by sending an uplink packet to the primary node. Alternatively, in the third slot of the superframe, the primary node may send a downlink packet to the set of secondary nodes, and from the fourth slot of the superframe until the last slot of the superframe, the secondary nodes may respond by sending their respective uplink packets serially to the primary node. In this way, the secondary nodes may be configured to implement on-the-fly or dynamic scheduling of response uplink packets.Because the primary node sends its downlink packet in the fourth slot of the superframe rather than the first slot of the superframe, there may not be enough slots remaining after the fourth slot for all secondary nodes to send their respective uplink packet responses. Accordingly, any uplink packets not sent to the primary node in the superframe can instead be sent to the primary node in a second superframe. By distributing downlink and uplink broadcast packets across multiple superframes in this manner, superframe slots that would otherwise be unused after one uplink communication are utilized, significantly mitigating the inefficiencies inherent in unicast superframe communication.
[0010] Fig. 1 is a perspective view of an exemplary system 98, such as a motor vehicle, that includes a wireless battery management system (WBMS) 100. In some examples, system 98 is any system that may include a wireless battery management system to power one or more components of system 98. As shown, wireless battery management system 100 includes a primary network node 102, a battery controller 104, a plurality of secondary network nodes 106, and a plurality of battery cells 108. In one example, wireless battery management system 100 may include a plurality of primary network nodes. Although this description primarily describes communication techniques in the context of wireless systems, these techniques may also be useful for wired systems (e.g., where the connection between nodes 102 and 106 is wired).
[0011] In one example, the primary network node 102 is coupled to the battery controller 104 via a first wired connection 110. In one example, the first wired connection 110 between the primary network node 102 and the battery controller 104 is a universal asynchronous receiver / transmitter (UART), an inter-integrated circuit (I2C), or the like. The secondary network nodes 106 are wirelessly connected to the primary network node 102 and connected to the battery cells 108 via a second wired connection 112.
[0012] In one example, the wireless battery management system 100 provides wireless radio frequency (RF) communication between the primary network node 102 and the secondary network nodes 106. In one example, the wireless RF communication uses the license-exempt 2.4 gigahertz industrial, scientific, and medical (2.4 GHz ISM) band from 2.4 GHz to 2.483 GHz, which is compliant with the BLUETOOTH Special Interest Group (SIG). In examples, the wireless battery management system 100 uses 2 megabits per second (Mbps) BLUETOOTH Low Energy (BLE) over the physical layer (PHY). The Open Systems Interconnection (OSI) model includes the PHY as a layer used to transmit raw bits over a physical medium. In this case, the PHY is empty space that the wireless battery management system 100 uses for wireless communication between the primary network node 102 and the secondary network nodes 106.In one example, the transmit power of the wireless battery management system 100 is less than or equal to 10 decibel-milliwatts (dBm).
[0013] In one example, wireless RF communication between primary network node 102 and secondary network nodes 106 uses frequency hopping and time slot assignments to transmit and receive data across superframes (SF). A superframe, also referred to as a superframe interval, is a time interval that includes time and frequency assignments for data exchange between primary network node 102 and secondary network nodes 106, including the interframe spacing between these assignments. Frequency hopping involves transmitting RF signals by rapidly changing the transmit frequency between many different frequencies occupying a spectral band. In one example, frequency hopping is performed based on a linear shift-back register and a master identifier (master ID) of primary network node 102.The linear shift-back register uses linear bit rotation to specify a frequency pattern on which the primary node 102 and the secondary nodes 106 will communicate. Time slot assignments are time slots assigned to either the primary node 102 or one or more of the secondary nodes 106 for transmission to either one or more of the secondary nodes 106 or the primary node 102. The time slot assignments are performed in a half-duplex mode, as both the primary node 102 and the secondary nodes 106 alternate between transmit and receive modes depending on the timing specified in the data exchanged in scan / pair frames for downlink / uplink (DL / UL) durations.
[0014] In one example, the wireless battery management system 100 uses frequency division multiple access (FDMA), changing the frequency at which frames are transmitted between the primary network node 102 and the secondary network nodes 106 to increase robustness against interference. In one example, the wireless battery management system 100 uses frequency hopping tables, frequency blacklists, and configuration channels to mitigate interference with other wireless networks. Frequency hopping occurs on a superframe (SF) basis, using time slot assignments for frame exchanges during the SF. Blacklisting suspends the use of frequency channels that may be susceptible to interference. Configuration channels may be used to sense, pair, and negotiate communication between the primary network node 102 and the secondary network nodes 106.
[0015] In one example, wireless RF communication between primary network node 102 and secondary network nodes 106 uses 40 channels, with a subset of the 40 channels (e.g., channels 37, 38, and 39) used for system configuration and the remaining 37 channels used for data exchange. In one example, a single channel may be used as a configuration channel.
[0016] In one example, the wireless battery management system 100 supports periodic and aperiodic data exchange from the secondary network nodes 106 to the primary network node 102 using wireless RF communication. The primary network node 102 and the secondary network nodes 106 use a common data format structure for both periodic and aperiodic data exchange. Periodic data exchange occurs based on a repetition interval, while aperiodic data exchange does not occur based on a repetition interval. The data format is a description of rules that the data occupying a file follows. In general, the more detailed the description of the data format, the easier it is to write validation rules on both the transmit and receive sides of the wireless battery management system 100.
[0017] In one example, the primary network node 102 scans the network to obtain a master ID and discover the secondary network nodes 106. The primary network node 102 scans the network by sending a management frame to coordinate media access, wake-up schedules, and clock synchronization within the secondary network nodes 106. The primary network node 102 also uses the management frame to learn about the secondary network nodes 106 in the network. First, the primary network node 102 performs a passive scan to obtain (or verify) a master ID value used by other nodes and / or devices. The primary network node 102 then selects a master ID that is different from the master IDs used by other nodes and / or devices.
[0018] In one example, after selecting a master ID, the primary node 102 sends a scan request frame every SF period as long as there are unconnected secondary nodes 106 from the primary node 102. In one example, the primary node 102 is programmed with the total number of secondary nodes 106 to be connected to the primary node 102. After all secondary nodes 106 are connected and acknowledged, the primary node 102 sends no further scan requests. The scan request frames contain information about the structure of the SF and the frame formatting of the DL and UL slots.
[0019] To allow the primary network node 102 to search for the secondary network nodes 106, the primary network node 102 enters a scanning state. In this state, the primary network node 102 sends a scanning request frame every SF period. The secondary network nodes 106 respond to the primary network node 102 with a scanning response and wait for a pairing request frame from the primary network node 102. After the secondary network nodes 106 receive the pairing request, the secondary network nodes 106 respond within the same SF in the frequency slot assigned by the primary network node 102. In examples, this exchange occurs in the configuration channels. No data exchange occurs in this state. Further example details on establishing a communication channel are described in U.S. patent application Ser. No. 17 / 233106, titled "Wireless Protocol for Battery Management," filed April 16, 2021; and the one on 11No. 17 / 399793, entitled “Wireless Battery Management System Setup,” filed on August 14, 2021, and assigned thereto, each of which is incorporated by reference in its entirety.
[0020] In one example, transmission cycles, or SF, depend on the number of secondary network nodes 106 and / or battery cells 108 in the network. The primary network node 102 determines the SF interval based on the number of secondary network nodes 106. Given a number of secondary network nodes 106, the primary network node 102 estimates the number of DL slots that can be used to send packets to the secondary network nodes 106. Accordingly, the total number of slots in the communication time interval is as follows: Total_slots = nr_of_WD + nr_DL_slots, where nr_of_WD is the number of secondary network devices and nr_DL_slots is the number of DL slots available to the secondary network devices.
[0021] The wireless battery management system 100 manages the battery cells 108 using the primary network node 102, the battery controller 104, and the secondary network nodes 106. The primary network node 102 and the secondary network nodes 106 communicate with each other regarding the status of the battery cells 108. The primary network node 102 and the secondary network nodes 106 may communicate with each other using various protocol formats. For example, the primary network node 102 and the secondary network nodes 106 use a DL protocol format and a UL protocol format, where the DL protocol format and the UL protocol format each include a frame control field for conveying battery management information. When the battery cells 108 notify the secondary network nodes 106 of a condition, the secondary network nodes 106 notify the primary network node 102 that the condition exists.The primary network node 102 receives notification of the condition from the secondary network nodes 106 and notifies the battery controller 104 of the condition. The battery controller 104 determines an appropriate response to the condition and sends a command to the primary network node 102. The primary network node 102 sends the command to the secondary network nodes 106. The secondary network nodes 106 receive the command to manage the battery cells 108 in response to the condition. The secondary network nodes 106 manage the battery cells 108 in response to the condition.
[0022] Fig. 2A shows an example of a wireless battery management system 200. The wireless battery management system 200 is an example of the wireless battery management system 100 described above. As shown, the wireless battery management system 200 includes the primary network node 102, the battery controller 104, a memory 202, a processor 204, a first secondary network node 206, a plurality of first battery cells 208, a second secondary network node 210, and a plurality of second battery cells 212. Additional secondary network nodes 206, 210 may be included, even if not explicitly shown. The primary network node 102 includes the memory 202 and the processor 204, which is configured to execute code 205 stored in the memory 202 to perform one or more of the actions associated with the primary network node 102 herein. In one example, a portion of memory 202 may be non-volatile and a portion of memory 202 may be volatile.The secondary network nodes 206, 210 may also include processors and memory. For example, as shown, the secondary network node 206 includes a processor 262 coupled to a memory 264 that stores code 265 executable by the processor 262 to perform one or more of the actions associated herein with the secondary network node 206.
[0023] The primary network node 102 is coupled to the battery controller 104 via the first wired connection 110 and wirelessly coupled to each of the secondary network nodes 206, 210. The first secondary network node 206 is coupled to the plurality of first battery cells 208 via a third wired connection 214 and wirelessly coupled to the primary network node 102. The second secondary network node 210 is coupled to the plurality of second battery cells 212 via a fourth wired connection 216 and wirelessly coupled to the primary network node 102. Fig. 2A does not limit the number of secondary network nodes in the wireless battery management system 200; rather, the naming convention indicates that each of the secondary network nodes is coupled to multiple battery cells.
[0024] In one example, the primary network node 102 is wirelessly coupled to at least eight secondary network nodes 206, 210. In one example, each of the secondary network nodes 206, 210 may be coupled to at least sixteen battery cells via a wired connection. In examples, the wireless battery management system 200 includes one primary network node. In other examples, the wireless battery management system 200 includes multiple primary network nodes.
[0025] The wireless battery management system 200 manages the plurality of first battery cells 208 and the plurality of second battery cells 212 using the primary network node 102, the battery controller 104, the memory 202, the processor 204, the first secondary network node 206, and the second secondary network node 210. Commands in the memory 202 cause the processor 204 to command the primary network node 102 to wirelessly communicate with the first secondary network node 206 and the second secondary network node 210 regarding the status of the plurality of first battery cells 208 and the plurality of second battery cells 212. The primary network node 102 and the secondary network nodes 206, 210 communicate using various protocol formats.For example, the primary network node 102 and the secondary network nodes 206, 210 use a DL protocol format and a UL protocol format, where the DL protocol format and the UL protocol format each include a frame control field for conveying battery management information. When the plurality of first battery cells 208 notifies the first secondary network node 206 of a condition, the first secondary network node 206 notifies the primary network node 102 that the condition exists. The primary network node 102 receives the notification of the condition from the first secondary network node 206 and notifies the battery controller 104 of the condition. The battery controller 104 determines an appropriate response to the condition and sends a command to the primary network node 102. The primary network node 102 sends the command to the first secondary network node 206.The first secondary network node 206 receives the command to manage the plurality of first battery cells 208 in response to the condition of the plurality of first battery cells 208. The first secondary network node 206 manages the plurality of first battery cells 208 in response to the condition. A similar process may be applied to the second secondary network node 210 when a condition exists in the plurality of second battery cells 212.
[0026] Fig. 2B shows an example of a wireless battery management system 250. The wireless battery management system 250 is an example of the wireless battery management system 100 described above. As shown, the wireless battery management system 250 includes the first secondary network node 206, the plurality of first battery cells 208, a plurality of primary network nodes 252, a memory 254, a processor 256, a first wired connection 258, and a plurality of battery controllers 260. The plurality of primary network nodes 252 include the memory 254 and the processor 256. In one example, a portion of the memory 254 may be non-volatile and a portion of the memory 254 may be volatile. In examples, the memory 254 includes executable code 255 that, when executed by the processor 256, causes the processor 256 to perform the actions associated herein with the primary network node 252.
[0027] The plurality of primary network nodes 252 are coupled to the plurality of battery controllers 260 via the first wired connection 258 and wirelessly coupled to the secondary network node 206. The first secondary network node 206 is coupled to the plurality of first battery cells 208 via the wired connection 214 and wirelessly coupled to the plurality of primary network nodes 252. As shown in Fig. 2A, the first secondary network node 206 may include a processor and memory (e.g., processor 262 and memory 264). Fig. 2B does not limit the number of secondary network nodes in the wireless battery management system 250. In one example, each of the plurality of primary network nodes 252 is wirelessly coupled to at least eight secondary network nodes. In one example, the first secondary network node 206 may be coupled to at least sixteen battery cells via the fourth wired connection 216.
[0028] The wireless battery management system 250 manages the plurality of first battery cells 208 using the plurality of primary network nodes 252, the plurality of battery controllers 260, the memory 254, the processor 256, and the first secondary network node 206. Commands in the memory 254 cause the processor 256 to command the plurality of primary network nodes 252 to wirelessly communicate with the first secondary network node 206 about the status of the plurality of first battery cells 208. The plurality of primary network nodes 252 and the first secondary network node 206 communicate using various protocol formats. For example, the plurality of primary network nodes 252 and the first secondary network node 206 use a DL protocol format and a UL protocol format, where the DL protocol format and the UL protocol format each include a frame control field for conveying battery management information.When the plurality of first battery cells 208 notify the first secondary network node 206 of a condition, the first secondary network node 206 notifies the plurality of primary network nodes 252 that the condition exists. The plurality of primary network nodes 252 receive the notification of the condition from the first secondary network node 206 and notify the plurality of battery controllers 260 of the condition. The plurality of battery controllers 260 determine an appropriate response to the condition and send a command to the plurality of primary network nodes 252. The plurality of primary network nodes 252 send the command to the first secondary network node 206. The first secondary network node 206 receives the command to manage the plurality of first battery cells 208 in response to the condition of the plurality of first battery cells 208. The first secondary network node 206 manages the plurality of first battery cells 208 in response to the condition.
[0029] In one example, the first secondary node 206 communicates with a first primary node of the plurality of primary nodes 252 based on commands from a master controller (not shown). The first secondary node 206 may transfer communication from the first primary node to a second primary node of the plurality of primary nodes 252. The first primary node and the second primary node communicate with each other to coordinate the transfer of the active connections of the first secondary node 206 from the first primary node to the second primary node. In one example, the first primary node communicates with the first secondary node 206, and the second primary node monitors a status of the first primary node. The status may indicate whether the first primary node is powered and operating under normal operating conditions.The first primary node provides a clock signal to the second primary node to synchronize communication. The first primary node and the second primary node select different frequencies to communicate with the first secondary node 206. By selecting different frequencies, the multiple primary nodes 252 can minimize interference when communicating with the first secondary node 206. For example, if the first primary node loses power or the status of the first primary node deviates from normal operating conditions, the second primary node can establish a connection with the first secondary node 206 to supplement communication until the first primary node can return to normal operation.
[0030] Fig. 3 shows a communication frame 300 used by a wireless battery management system, e.g., the wireless battery management system 100. As shown, the communication frame 300 includes an SF 302, a first frequency 304, a second frequency 306, a third frequency 308, an Nth frequency 310, a first time frame 312, a second time frame 314, a third time frame 316, a fourth time frame 318, a fifth time frame 320, a sixth time frame 322, a DL frame 324, a first UL frame 326, a second UL frame 328, a third UL frame 330, a fourth UL frame 332, and a fifth UL frame 334. Frequency is indicated by the y-axis, and time is indicated by the x-axis. Each of the time frames 312, 314, 316, 318, 320, 322 is configurable based on the end application of the wireless battery management system.The frames 312, 314, 316, 318, 320, 322 may also be referred to herein as slots 312, 314, 316, 318, 320, 322.
[0031] The communication frame 300 is used by a wireless battery management system to communicate battery management information between the primary network node and the secondary network nodes. In one example, during the SF 302, the primary network node transmits the DL frame 324 on the first frequency 304 during the first time frame 312. During the first time frame 312, at least one of the secondary network nodes receives the DL frame 324. The DL frame 324 can be transmitted by the primary network node in a broadcast manner or in a unicast manner. A broadcast manner involves the primary network node transmitting the DL frame 324 to all secondary network nodes in a single time frame. The primary network node can send a broadcast packet as a one-to-multiple packet. A unicast manner involves the primary network node transmitting the DL frame 324 to one of the secondary network nodes during a time frame.The primary network node may send a unicast packet as a paired communication packet. In some examples, the primary network node may be configured to send a unicast packet to all secondary network nodes in a single time frame, but the primary network node may address the unicast packet to only one of the secondary network nodes. In other words, all secondary network nodes may receive the unicast packet, and each of the secondary network nodes may be configured to determine whether the unicast packet is addressed to it.
[0032] In one example, a broadcast is used by the primary network node to send the DL frame 324 to all secondary network nodes during the first time frame 312. A first secondary network node sends the first UL frame 326 on the first frequency 304 during the second time frame 314 in response to receiving the DL frame 324 from the primary network node. A second secondary network node sends the second UL frame 328 on the first frequency 304 during the third time frame 316 in response to receiving the DL frame 324 from the primary network node. A third secondary network node sends the third UL frame 330 on the first frequency 304 during the fourth time frame 318 in response to receiving the DL frame 324 from the primary network node.A fourth secondary network node transmits the fourth UL frame 332 on the first frequency 304 during the fifth time frame 320 in response to receiving the DL frame 324 from the primary network node. A fifth secondary network node transmits the fifth UL frame 334 on the first frequency 304 during the sixth time frame 322 in response to receiving the DL frame 324 from the primary network node. In this example, the SF 302 ends at the end of the sixth time frame 322.
[0033] In one example, a unicast is used by the primary network node to transmit the DL frame 324 to a first secondary network node during the first time frame 312 on the first frequency 304. During the first time frame 312, the first secondary network node receives the DL frame 324. The first secondary network node transmits the first UL frame 326 during the second time frame 314 on the first frequency 304 in response to receiving the DL frame 324. In an example where there is a single primary network node and a single secondary network node, the SF 302 ends at the end of the second time frame 314.
[0034] In one example, the primary network node and the secondary network nodes may communicate on any of the frequencies other than the first frequency 304, such as the second frequency 306, the third frequency 308, the Nth frequency 310, or the like. A change in the frequency used may be effected by the frequency hopping method described above. In one example, a time duration of each of the time frames may be different or the same depending on the end application of the wireless battery management system. In one example, the secondary network nodes acknowledge receipt of the DL frame 324 using an acknowledgment code (ACK), and the primary network node acknowledges receipt of the UL frames 326, 328, 330, 332, 334 using an ACK. An ACK is a type of signal (e.g., a bitmap) between a sender and a receiver to confirm successful reception of the communication.For example, the primary network node may be configured to generate an ACK, with each bit in the ACK being associated with one of the secondary network nodes.
[0035] Fig. 4A shows a sampling communication frame 400 used by a wireless battery management system, e.g., wireless battery management system 100. As shown, sampling communication frame 400 includes a SF 402, a first frequency 404, a second frequency 406, a third frequency 408, and an Nth frequency 410, a first time frame 412, a second time frame 414, a third time frame 416, a fourth time frame 418, a fifth time frame 420, a sixth time frame 422, a sampling request frame 424, and a sampling response frame 426. Frequency is indicated by the y-axis, and time is indicated by the x-axis. Each of the frames is active for a predetermined time. The frames 412, 414, 416, 418, 420, 422 may be referred to herein as slots 412, 414, 416, 418, 420, 422.
[0036] The sampling communication frame 400 is used by a wireless battery management system for the primary node to search for and establish communication with the secondary nodes. In one example, during the SF 402, the primary node transmits the sampling request frame 424 to the secondary nodes on the first frequency 404 during the first time frame 412. During the first time frame 412, the secondary nodes receive the sampling request frame 424. The sampling request frame 424 contains information about the structure of the SF 402 and the frame formatting of the DL and UL slots, such as communication coordination information, wake-up schedules for the secondary nodes, and clock synchronization within the primary node and the secondary nodes.The secondary network nodes transmit the request-response frame 426 to the primary network node during the third time frame 416 on the first frequency 404. The request-response frame 426 contains information indicating whether the secondary network nodes are not connected to the primary network node and require pairing. In this case, pairing comprises a procedure used by the primary network node and the secondary network nodes to establish a wireless connection and exchange security information. Further exemplary details regarding pairing can be found in co-assigned U.S. patent application Ser. No. 17 / 576001, entitled "Operating Modes for Testing Monitor Circuits," filed on January 14, 2022, which is incorporated by reference in its entirety.
[0037] In one example, the secondary network nodes that are not connected to the primary network node respond to the scan request frame 424 with the request response frame 426. A time frame (or slot frame) in which the secondary network nodes begin sending the request response frame 426 can be calculated as follows: SlotFrameN = SwitchInfoN + SumBytes(UniqueID(i))mod(4*nr_of_nodes) where "SwitchInfoN" is the number of SFs in a SwitchInfo field of a protocol format, "UniqueID(i)" is an identifier of one of the secondary network nodes, and "nr_of_nodes" is the number of secondary nodes connected to the primary network node. The SwitchInfo field of the protocol format contains the SFs for communication between the primary network nodes and the secondary network nodes.
[0038] Fig. 4B shows a pairing communication frame 450 used by a wireless battery management system, e.g., wireless battery management system 100. As shown, pairing communication frame 450 includes a SF 402, a first frequency 404, a second frequency 406, a third frequency 408, an Nth frequency 410, a first time frame 412, a second time frame 414, a third time frame 416, a fourth time frame 418, a fifth time frame 420, a sixth time frame 422, a pairing request frame 452, and a pairing response frame 454. Frequency is indicated by the y-axis, and time is indicated by the x-axis. Each of the frames is active for a predetermined time.
[0039] The pairing communication frame 450 is used by a wireless battery management system to pair the primary network node and the secondary network nodes and establish communication. In one example, during the SF 402, the primary network node transmits the pairing request frame 452 on the first frequency 404 during the first time frame 412 to one of the secondary network nodes that is not connected to the primary network node. The pairing request frame 452 contains connection parameters for the secondary network nodes that are not connected to the primary network node, such as time frames to be used for UL / DL, channel hopping information, and security information. After the secondary network node receives the pairing request frame 452, the secondary network node responds with the pairing response frame 454. The pairing response frame 454 indicates successful pairing between the primary network node and the secondary network nodes.
[0040] In one example, the primary node sends the pairing request frame 452 to more than one of the secondary nodes. When the primary node sends the pairing request frame 452 to more than one of the secondary nodes, intentional pairing delays occur between the primary node and the secondary nodes. The pairing delays are intended to ensure that the network timing between the primary node and the secondary nodes is consistent across all secondary nodes. The inter-pairing delays allow the primary node sufficient time to establish communication with each of the secondary nodes. When the network timing is consistent across all secondary nodes, synchronous communication between the primary node and the secondary nodes is possible.
[0041] Fig. 5 shows an example of a superframe interval 500 that may be used by a wireless battery management system, e.g., the wireless battery management system 100. The term TsMaxRx denotes the maximum (Max) time (Ts) allocated for receiving a packet (Rx), and the term TsMaxTx denotes the maximum (Max) time (Ts) allocated for transmitting a packet (Tx). The primary network node 102 communicates with the first secondary network node 206, the second secondary network node 210, and an Nth secondary network node 501, using, for example, the superframe interval 500. As shown, the superframe interval 500 includes a DL transmit frame 502, a first UL receive frame 504, a second UL receive frame 506, a third UL receive frame 508, a DL guard frame 510, a DL transmit time frame 512, a first transmit-to-receive frame 514, a first UL receive time frame 516,a second transmit-to-receive frame 518, a second UL receive time frame 520, a third transmit-to-receive frame 522, a third UL receive time frame 524, a first DL receive frame 526, a first UL transmit frame 528, a first receive wait time 530, a first receive-to-transmit frame 532, a first UL transmit time frame 534, a second DL receive frame 536, a second UL transmit frame 538, a second receive wait time 540, a second receive-to-transmit frame 542, a second UL transmit time frame 544, a third DL receive frame 546, a third UL transmit frame 548, a third receive wait time 550, a third receive-to-transmit frame 552, a third UL transmit time frame 554, a first frame 556, a second frame 558, a third frame 560, and a fourth frame 562. Frames 556, 558, 560, and 562 may be referred to herein as slots 556, 558, 560, and 562, respectively.
[0042] The superframe interval 500 is used by a wireless battery management system to organize communication between the primary network node 102 and the secondary network nodes 106 for wireless battery management purposes. In one example, the superframe interval 500 is a media access control (MAC) for data exchange between the primary network node 102 and the first secondary network node 206, the second secondary network node 210, and the Nth secondary network node 501. Each of the secondary network nodes 206, 210, 501 in the superframe interval 500 communicates with the primary network node 102 during a time slot, as described with reference to Fig. 3. The primary network node 102 identifies, based on the availability of the secondary network nodes 206, 210, 501, with which secondary network nodes 206, 210, 501 it should communicate. The availability of the secondary network nodes 206, 210, 501 is determined by a scanning process as described with reference to Fig. 4A. The time slot for the secondary network nodes 206, 210, 501 to communicate with the primary network node 102 is assigned when the primary network node 102 and the secondary network nodes 206, 210, 501 are paired, as described with reference to Fig. 4B is described.
[0043] In one example, the superframe interval 500 begins with the DL protection frame 510. The DL protection frame 510 is a period used to ensure that no interference occurs between subsequent SFs. At the time of the DL protection frame 510, the first secondary network node 206 enters the first receive wait period 530, the second secondary network node 210 enters the second receive wait period 540, and the Nth secondary network node 501 enters the third receive wait period 550.
[0044] In the first frame 556 of the superframe interval 500, the primary network node 102 sends the DL to all secondary network nodes 206, 210, 501 after the DL protection frame 510 using the DL transmit frame 502 during the DL transmit time frame 512. In one example, the first frame 556 is the first time frame 312, as described with reference to Fig. 3. The first secondary network node 206 receives the DL using the first DL receive frame 526, the second secondary network node 210 receives the DL using the second DL receive frame 536, and the Nth secondary network node 501 receives the DL using the third DL receive frame 546. After the DL transmit frame 502, the primary network node 102 enters the first transmit-to-receive frame 514 to prepare to receive the UL from each of the secondary network nodes 206, 210, 501. At the same time that the primary network node 102 enters the first transmit-to-receive frame 514, the first secondary network node 206 enters the first receive-to-transmit frame 532 to prepare to transmit a first UL to the primary network node 102.
[0045] In the second frame 558 of the superframe interval 500, the first secondary network node 206 transmits the first UL using the first UL transmit frame 528 and during the first UL transmit time frame 534. In one example, the second frame 558 is the second time frame 314, as described with reference to Fig. 3. The primary network node 102 receives the first UL using the first UL receive frame 504 and during the first UL receive time frame 516. In the second frame 558, the primary network node 102 enters the second transmit-to-receive frame 518 to prepare to receive a second UL from the second secondary network node 210. And the second secondary network node 210 enters the second receive-to-transmit frame 542 to prepare to transmit a second UL to the primary network node 102.
[0046] In the third frame 560 of the superframe interval 500, the second secondary network node 210 transmits the second UL using the second UL transmit frame 538 and during the second UL transmit time frame 544. In one example, the third frame 560 is the third time frame 316 as described with respect to Fig. 3. The primary network node 102 receives the second UL using the second UL receive frame 506 and during the second UL receive time frame 520. In the third frame 560, the primary network node 102 enters the third transmit-to-receive frame 522 to prepare to receive a third UL from the Nth secondary network node 501. And the Nth secondary network node 501 enters the third receive-to-transmit frame 552 to prepare to transmit a third UL to the primary network node 102.
[0047] In the fourth frame 562 of the superframe interval 500, the N-th secondary network node 501 transmits the third UL by means of the third UL transmit frame 548 and during the third UL transmit time frame 554. In one example, the fourth frame 562 is the sixth time frame 322 as described with respect to Fig. 3. The primary network node 102 receives the third UL using the third UL receive frame 508 and during the third UL receive time frame 524. The schedule of frames 528, 538 and 548 described in Fig. 5 can be referred to here as a standard uplink packet transmission plan.
[0048] In one example, superframe interval 500 lacks any ACK packets, and instead, acknowledgment information is located within the DL frame and UL frames. Leaving the acknowledgment information within the DL frame and UL frames enables improved efficiency (throughput) while reducing latency for data transmissions. In one example, any of the UL transmit frames 528, 538, 548 may be retransmitted by the secondary network nodes 206, 210, 501 based on an ACK from the primary network node 102 for one of the frames of superframe interval 500. In one example, the DL transmit frame 502 may be retransmitted by the primary network node 102 based on ACK information from the secondary network nodes 206, 210, 501.
[0049] In one example, the transmissions of each of the frames of superframe interval 500 may occur at the same frequency or at different frequencies. If the transmissions occur at different frequencies, the frequency change is based on a hopping sequence for the communication of primary network node 102 and secondary network nodes 206, 210, 501.
[0050] Fig. 6 shows an example of a DL protocol format 600 that may be used by a wireless battery management system, such as the wireless battery management system 100. The top line of the DL protocol format 600, labeled "Octet," represents the octet identifier that helps describe the format of the DL protocol format 600. In the DL protocol format 600, there are four octets in the protocol representation, with each octet comprising eight bits. The second line of the DL protocol format 600, labeled "Bit," identifies the bit number of each octet to describe the format of the DL protocol format 600. The leftmost numbers in the DL protocol format 600 represent the number of octets before the immediate line. For example, the fourth line of the DL protocol format 600 indicates that subsequent octets are preceded by four octets.As shown, the DL protocol format 600 includes a preamble 602, a data synchronization word 604, a length field 606, a frame control 608, a master ID 610, a track-N frame 612, a destination address frame (Destination Address) 614, a frame control extension (FC extension) 616, a sequence number (Sequence No.) 618, an ACK 620, a network timer 622, a security header 624, payload 626, a message integrity code (MIC) field 628, and a 32-bit cyclic redundancy check (CRC-32) 630. The DL protocol format 600 is an example of a DL protocol format and additional fields and / or format types that may be used for a wireless battery management system protocol to provide various functions.
[0051] The DL protocol format 600 is used by a wireless battery management system to wirelessly communicate battery management information. For example, the DL protocol format 600 may be used by the primary network node to command the secondary network node to pair with the primary network node for battery management purposes. In another example, the DL protocol format 600 may be used in a DL framework as described with respect to Fig. 3, after the primary network node has sampled a network as described in relation to Fig. 4A, and paired with the secondary network nodes as described in relation to Fig. 4B is described.
[0052] In one example, the preamble 602 and the data synchronization word 604 are used by the primary network node and the secondary network nodes to detect the beginning of a frame of a data packet being transmitted between the primary network node and the secondary network nodes. The preamble 602 is used to synchronize data transmission between the primary network node and the secondary network nodes by indicating a start of the header information of a data frame, the end of the header information, and the start of payload data. Here, the data frame refers to the entire frame of the DL protocol format 600. The data synchronization word 604 is used to synchronize data and configuration channels between the primary network node and the secondary network nodes.The data synchronization word 604 contains a configuration code that specifies a frequency channel for communication between the primary network node and each of the secondary network nodes. The length field 606 specifies the length of the data frame. The frame control 608 contains information about the type of packet being sent. In one example, the packet type may be a scan request, a scan response, a pairing request, a pairing response, or the like.
[0053] In one example, the master ID 610 is the identifier for the primary node that the secondary nodes use to identify the primary node. The track-N frame 612 identifies which transceiver of the primary node is communicating with the secondary nodes. The destination address frame 614 specifies the destination address of a receiver of the communication. For example, if the communication is in broadcast form, each of the secondary nodes has the same destination address, so the destination address frame 614 applies to all secondary nodes. The frame control extension 616 specifies whether and by how much the frame control 608 is extended. The sequence number 618 specifies whether the current data packet is part of an original transmission from the primary node to the secondary nodes or part of a retransmission from the primary node to the secondary nodes.The ACK 620 indicates whether a transmission was received from the secondary node to the primary node (e.g., a 1 bit may indicate a successful reception and a 0 bit may indicate a failed reception). The ACK 620 may contain any suitable number of bits, such as the number of secondary nodes communicating with the primary node. The network timer 622 indicates a common time between the primary node and the secondary nodes. The common time is a timing signal shared by the primary node and the secondary nodes to enable synchronized communication between the primary node and the secondary nodes. The network timer 622 is used to synchronize the secondary nodes based on a timer of the primary node.
[0054] In one example, the security header 624 includes a frame counter and a key refresh control field. The frame counter is an arbitrary number used once for the primary network node to establish cryptographic communication with the secondary network nodes. The key refresh control field is used to indicate and complete the refresh of the security keys exchanged between the primary network node and the secondary network nodes. Further exemplary details regarding network key generation for BMS can be found in co-assigned U.S. patent application Ser. No. 17 / 314865, entitled "Key Refreshment with Session Count for Wireless Management of Modular Subsystems," filed May 7, 2021, which is incorporated by reference in its entirety.
[0055] The payload 626 includes the data representing the actual intended message to be sent. For example, the payload 626 may include battery management information from the primary network node to the secondary network node. The MIC field 628 is used to confirm that the frame originated from the specified sender and has not been altered (e.g., the authenticity of the frame). The MIC field 628 protects the data integrity of the frame as well as its authenticity by allowing the primary network node and the secondary network nodes to detect changes to the frame contents. The CRC-32 630 is used for error detection in the frame in which the payload 626 is encrypted.The CRC-32 630 detects unintentional changes to raw frame data by comparing values based on a mathematical function applied to all or part of the data frame contents, such as the remainder of the polynomial division of the data frame contents.
[0056] Fig. Figure 7 shows a UL protocol format 700 used by a wireless battery management system, e.g., the wireless battery management system 100. The top line of the UL protocol format 700, labeled "Octet," represents the octet identifier to describe the format of the UL protocol format 700. In the UL protocol format 700, there are four octets in the protocol representation, each octet having eight bits. The second line of the UL protocol format 700, labeled "Bit," identifies the bit number of each of the octets to describe the format of the UL protocol format 700. The leftmost numbers in the UL protocol format 700 represent the number of octets before the immediate line. For example, the fourth line of the UL protocol format 700 indicates that four octets come before the subsequent octets.As shown, the UL protocol format 700 includes a preamble 702, a data synchronization word 704, a length field 706, a frame control 708, a master ID 710, a source address frame 712, a sequence number (Sequence No.) 714, an ACK 716, a security header 718, payload 720, a MIC field 722, and a CRC-32 724. The UL protocol format 700 is an example of a UL protocol format and additional fields and / or format types that may be used for a wireless battery management system protocol to provide various functions.
[0057] The UL protocol format 700 is used by a wireless battery management system for the primary network node and the secondary network nodes to wirelessly communicate battery management information. For example, the UL protocol format 700 may be used by the primary network node to command the secondary network node to pair with the primary network node for battery management purposes. In another example, the UL protocol format 700 may be used in a UL framework, as described with respect to Fig. 3, after the primary network node has sampled a network as described in relation to Fig. 4A, and has paired with the secondary network nodes as described in relation to Fig. 4B is described.
[0058] In one example, the preamble 702 and the data synchronization word 704 are used by the primary network node and the secondary network nodes to detect the beginning of a frame of a data packet being transmitted between the secondary network nodes and the primary network node. The preamble 702 is used to synchronize data transmission between the secondary network nodes and the primary network node by specifying a start of the header information of a data frame, the end of the header information, and the start of payload data. Here, the data frame is the entire frame of the UL protocol format 700. The data synchronization word 704 is used to synchronize data and configuration channels between the secondary network nodes and the primary network node. The data synchronization word 704 includes a configuration code that specifies a frequency channel for communication for each of the secondary network nodes and the primary network node.The length field 706 specifies the length of the data frame. The frame control 708 includes information about the type of packet being sent. In one example, the packet type may be a scan request, a scan response, a pairing request, a pairing response, or the like.
[0059] In one example, the master ID 710 is the identifier for the primary node that the secondary nodes use to identify the primary node. The source address frame 712 indicates an address assigned by the primary node to the secondary nodes. For example, when sending data in a broadcast manner, each of the secondary nodes sends a UL from different source addresses to the primary node, so the source address frame 712 is unique for each of the secondary nodes. The sequence number 714 indicates whether the current data packet is part of an original transmission from the primary node to the secondary nodes or part of a retransmission from the primary node to the secondary nodes. The ACK 716 indicates whether a transmission from the primary node to the secondary nodes was received.The ACK 716 may be a single bit that is set to 1 if the DL was successfully received by the primary network node (or remains at 0 if the reception was unsuccessful).
[0060] In one example, the security header 718 includes a frame counter and a key update control field. The frame counter is an arbitrary number used once to allow the primary node to establish cryptographic communication with the secondary nodes. The key update control field is used to indicate and complete the updating of the security keys exchanged between the primary and secondary nodes. The payload 720 includes the data representing the actual intended message to be sent. For example, the payload 720 may include battery cell health information from the secondary nodes to the primary node. The MIC field 722 is used to confirm that the frame originated from the specified sender and has not been altered (its authenticity).The MIC field 722 protects the frame's data integrity and authenticity by allowing the primary network node and the secondary network nodes to detect any changes to the frame's contents. The CRC-32 724 is used for error detection in the frame in which the payload 720 is encrypted. The CRC-32 724 detects unintentional changes to the frame's raw data by comparing values based on a mathematical function applied to all or part of the data frame's contents, such as the remainder of a polynomial division of the frame's contents.
[0061] As described above, it may be advantageous for the primary network node 102 to determine the time at which a secondary network node, such as the secondary network node 206, generated a particular packet to be sent to the primary network node 102. Although the time of packet reception by the primary network node 102 may be adversely affected by wireless communication, the time of packet generation is not susceptible to such adverse influences. Accordingly, the time of packet generation provides a more accurate perception of the behavior of the WBMS 100. The secondary network nodes 206, 210 may be configured to provide the primary network node 102 with information that can be used by the primary network node 102 to determine the time at which a particular packet was generated, as will now be described.
[0062] Fig. 8, Fig. 9A and Fig. 9B are illustrations of superframe intervals that may be used by a wireless battery management system according to various examples. In particular, Fig. 8 the transmission of multiple unicasts (and responses to them by secondary network nodes) in a single superframe, while Fig. 9A and Fig. 9B shows the transmission of a unicast (and responses thereto by secondary network nodes) in a single superframe and the transmission of a broadcast (and responses thereto by secondary network nodes) distributed over multiple superframes. Although Fig. 8, Fig. 9A and Fig. 9B shows a superframe interval for five secondary network nodes, the techniques can be implemented in a battery management system with any number of secondary network nodes. Fig. 10 and Fig. 11 are flow diagrams of exemplary methods for operating primary network nodes and secondary network nodes, respectively, to implement the Fig. 9A and Fig. 9B shown superframe communication. Fig. 8 is described first, followed by a parallel description of Fig. 9A, Fig. 9B, Fig. 10 and Fig. 11. Fig. 8-11 are described in the context of a wireless battery management system having a primary network node and a plurality of secondary network nodes, such as the exemplary wireless battery management system 200 of Fig. 2A. Other wireless battery management systems such as those in Fig. 1 and Fig. The systems 100 and 250 shown in Figure 2B can Fig. Implement the techniques presented in 8-11.
[0063] Fig. Figure 8 shows a superframe 800. Superframe 800 can be used to allow primary node 801 to communicate with secondary nodes 802-806. Superframe 800 includes slots 807-813. Superframe 800 represents the efficient implementation of unicast communication because, as described in more detail below, primary node 801 uses slot 808 to send a unicast downlink packet, and secondary node 802 uses slot 809 to send a reply uplink packet. Instead of leaving the remaining slots 810-813 unused, primary node 801 uses slot 810 to send a unicast downlink packet, and secondary node 804 uses slot 811 to send a reply uplink packet.Similarly, the primary network node 801 uses slot 812 to send a unicast downlink packet and the secondary network node 803 uses slot 813 to send a response uplink packet.
[0064] Slot 807 begins with a downlink (DL) protector 814, the purpose of which was described above with reference to Fig. 5. Also during slot 807, secondary nodes 802-806 undergo receive wait times 815-819, respectively. In slot 808, primary node 801 transmits a unicast downlink packet 820 during a DL transmit time frame 821, which is followed by a transmit-to-receive frame 822 in preparation for the transition of primary node 801 from a transmit mode to a receive mode as slot 808 transitions to slot 809. Also during slot 808, secondary nodes 802-806 receive unicast downlink packet 820, as indicated by numbers 823 and 825-828. The secondary network node 802 undergoes a receive-to-transmit frame 824 in preparation for the transition of the secondary network node 802 from a receive mode to a transmit mode as slot 808 transitions to slot 809.
[0065] In slot 809, the secondary network node to which the unicast downlink packet 820 was addressed responds to the primary network node 801 with an uplink packet. In examples, uplink packets may be unicast packets. In the example of Fig. 8, the unicast downlink packet 820 is addressed to the secondary network node 802. Accordingly, in slot 809, the secondary network node 802 sends an uplink packet 832 to the primary network node 801, which receives the uplink packet 832, as indicated by number 829. During slot 809, the primary network node 801 undergoes a UL receive time frame 830 to enable receipt of the uplink packet 832, and a receive-to-transmit frame 831. Also during slot 809, the secondary network node 802 undergoes a UL transmit time frame 833 and a transmit-to-receive frame 834. During slot 809, the secondary network nodes 803-806 do not transmit or receive any packets.
[0066] If either the unicast downlink packet 820 or the uplink packet 832 fails, the primary network node 801 may be configured to retransmit the unicast downlink packet 820 in the slot 810 instead of transmitting the unicast downlink packet 835 as shown in Fig. 8. In other words, if the secondary network node 802 does not receive the unicast downlink packet 820 during slot 808, the secondary network node 802 does not transmit the uplink packet 832 during slot 809. If the secondary network node 802 receives the unicast downlink packet 820 and responds by transmitting the uplink packet 832 during slot 809, the primary network node 801 may still not receive the uplink packet 832 during slot 809. In either case, the primary network node 801 may be configured to retransmit the unicast downlink packet 820 in slot 810 instead of transmitting the unicast downlink packet 835, as shown in Fig. 8 is shown.
[0067] In slot 810, the primary network node 801 sends another unicast downlink packet 835, and then the primary network node 801 goes through a DL transmit time frame 836 and a transmit-to-receive frame 837. Also in slot 810, the secondary network nodes 802-806 receive the unicast downlink packet 835, as indicated by numbers 838, 840, 842, 845, and 847. During reception of the unicast downlink packet 835, the secondary network node 802 traverses a DL receive time frame 839, the secondary network node 803 traverses a DL receive time frame 841, the secondary network node 804 traverses a DL receive time frame 843 and a receive-to-transmit frame 844, the secondary network node 805 traverses a DL receive time frame 846, and the secondary network node 806 traverses a DL receive time frame 848.In slot 811, the secondary network node 804 (to which the unicast downlink packet 835 was addressed) sends an uplink packet 852 to the primary network node 801, and the primary network node 801 receives the uplink packet 852, as indicated by number 849. Also in slot 811, the primary network node 801 traverses a UL receive time frame 850 and a receive-to-transmit frame 851, while the secondary network node 804 traverses a UL transmit time frame 853 and a transmit-to-receive frame 854.
[0068] In slot 812, another unicast downlink packet 855 is sent by the primary network node 801, which passes through a DL transmit time frame 856 and a transmit-to-receive frame 873. Also in slot 812, the secondary network nodes 802-806 receive the unicast downlink packet 855, as indicated by the numbers 857, 859, 862, 864, and 866. During reception of the unicast downlink packet 855, the secondary network node 802 traverses a DL receive time frame 858, the secondary network node 803 traverses a DL receive time frame 860 and a receive-to-transmit frame 861, the secondary network node 804 traverses a DL receive time frame 863, the secondary network node 805 traverses a DL receive time frame 865, and the secondary network node 806 traverses a DL receive time frame 867.In slot 813, the secondary network node 803 (to which the unicast downlink packet 855 was addressed) sends an uplink packet 870 to the primary network node 801, and the primary network node 801 receives the uplink packet 870, as indicated by number 868. Also in slot 813, the primary network node 801 undergoes a UL receive time frame 869, while the secondary network node 803 undergoes a UL transmit time frame 871.
[0069] Like it Fig. Thus, as shown in Figure 8, the primary network node 801 may send unicast downlink packets in slots 808, 810, and 812, and in slots 809, 811, and 813, the secondary network nodes 802, 804, and 803 may each send uplink packet responses to the primary network node 801. In this way, superframes may be useful for carrying unicast communication while reducing the waste of superframe slots, thereby reducing inefficiencies associated with unicast superframe communication.
[0070] Fig. 9A, Fig. 9B, Fig. 10 and Fig. 11 are described in parallel. Fig. Figure 9A shows a superframe 900 that may be used to exchange packets between a primary network node 901 and secondary network nodes 902-906. Fig. 9B shows a superframe 961 that may be used to exchange packets between primary network node 901 and secondary network nodes 902-906. In examples, superframes 900 and 961 are consecutive, with superframe 961 occurring immediately after superframe 900, with no superframes between superframes 900 and 961. Superframe 900 may include slots 907-913, and superframe 961 may include slots 962-968. Fig. 9A and Fig. 9B show the efficient transmission of unicast packets in superframes. In particular, superframes 900, 961 of Fig. 9A and Fig. 9B illustrates the transmission of a unicast downlink packet in slot 908 and the transmission of an uplink packet in slot 909. Instead of leaving the remainder of the superframe unused, which would be inefficient, the primary network node 901 transmits a broadcast downlink packet 935 in slot 910, and the secondary network nodes 904-906 transmit uplink packets in slots 911-913. In slot 963, the primary network node 901 transmits another broadcast downlink packet that is (e.g., including payload data) almost identical to the broadcast downlink packet of slot 910 (e.g., except for the ACK field), and in slots 964-966, the secondary network nodes 902, 903, and 906 transmit uplink packets in response to the broadcast downlink packet of slot 963.In this way, unicast and broadcast communication are flexibly distributed across multiple superframes to minimize the occurrence of unused superframe slots and thus reduce inefficiencies associated with unicast communication in superframes.
[0071] A method 1000 begins with a primary network node sending a unicast downlink packet to a first secondary network node of a set of secondary network nodes in a first superframe (1002). A method 1100 begins with a secondary network node receiving the unicast downlink packet from the primary network node and sending a first uplink packet to the primary network node in response to the unicast downlink packet and in the first superframe (1102). Slot 907 shows a DL protection frame 914 and receive latencies 915-919. Slot 908 illustrates the transmission of a unicast downlink packet 920 by the primary network node 901, which traverses a DL transmit time frame 921 and a transmit-to-receive frame 922.Also in slot 908, secondary nodes 902-906 receive unicast downlink packet 920, as indicated by numbers 923 and 925-928, and secondary node 902 traverses a receive-to-transmit frame 924. In the frame shown in . Fig. 9A, the primary network node 901 forwards or addresses the unicast downlink packet 920 to the secondary network node 902. The secondary network node 902 may be configured to determine, based on data within the unicast downlink packet 920, that the unicast downlink packet 920 is addressed to the secondary network node 902. Each of the secondary network nodes 903-906 may be configured to determine, based on data within the unicast downlink packet 920, that the unicast downlink packet 920 is not addressed to it (i.e., is not addressed to the respective secondary network node making the determination). In slot 909, the secondary network node 902 may send an uplink packet 932 to the primary network node 901.The method 1000 includes the primary network node receiving an uplink packet from the first secondary network node in the first superframe and in response to the unicast downlink packet (1004). The primary network node 901 receives the uplink packet 932, as indicated by number 929. In slot 909, the secondary network node 902 traverses a UL transmit time frame 933 and a transmit-to-receive frame 934. Also in slot 909, the primary network node 901 traverses a UL receive time frame 930 and a receive-to-transmit frame 931. In response to determining that the unicast downlink packet 920 is not directed to it, each of the secondary network nodes 903-906 may be configured to refrain from generating and transmitting an uplink packet for the unicast downlink packet 920.
[0072] The method 1000 includes the primary network node sending a broadcast downlink packet to the set of secondary network nodes in the first superframe (1006). In slot 910, the primary network node 901 sends a broadcast downlink packet 935 and goes through a DL transmit time frame 936 and a transmit-to-receive frame 937. The method 1100 includes the secondary network node receiving a broadcast downlink packet from the primary network node in the first superframe and not sending a response to the broadcast downlink packet in the first superframe (1104). In slot 910, the secondary network nodes 902-906 receive the broadcast downlink packet 935, as indicated by numbers 938, 940, 942, 945, and 947. Additionally, in slot 910, secondary nodes 902-906 traverse DL receive time frames 939, 941, 943, 946, and 948. Secondary node 904 traverses a receive-to-transmit frame 944.In slot 911, secondary node 902, which transmitted an uplink packet in slot 909 (1102), does not transmit a response uplink packet to the broadcast downlink packet (1104). Instead, secondary node 904 transmits an uplink packet 951 while passing through a UL transmission time frame 952.
[0073] As described in more detail below, the transmission of uplink packet 951 by secondary network node 904 in slot 911 follows the uplink packet transmission schedule that would have been in effect if superframe 900 had begun by transmitting broadcast downlink packet 935 instead of unicast downlink packet 920. This schedule may be referred to as a default uplink packet transmission schedule. Secondary network node 904 may be configured to determine that slot 911 is assigned to secondary network node 904 according to this default uplink packet transmission schedule. In response to making this determination, secondary network node 904 may be configured to transmit uplink packet 951 during slot 911. Secondary network node 905 may be configured to determine that slot 912 is assigned to secondary network node 905 according to the default uplink packet transmission schedule.In response to making this determination, secondary node 905 may be configured to transmit uplink packet 956 during slot 912. Secondary node 906 may be configured to determine that slot 913 is assigned to secondary node 906 according to this standard uplink packet transmission schedule. In response to making this determination, secondary node 906 may be configured to transmit uplink packet 959 during slot 913. In colloquial terms, secondary nodes 904-906 may know that their turn is in slots 911-913 according to the standard schedule.
[0074] The secondary network nodes 902 and 903 may be configured not to send a response to the broadcast downlink packet 935 during the superframe 900 if they determine that their default time slots 908 and 909 have already elapsed or occurred. For example, the secondary network node 902 receives the broadcast downlink packet 935 and may be configured to determine that the secondary network node 902 should respond in slot 908 according to a default schedule. However, the secondary network node 902 determines that slot 908 has already occurred by the time the secondary network node 902 receives the broadcast downlink packet 935. Therefore, the secondary network node 902 refrains from sending a response to the broadcast downlink packet 935 during the superframe 900. Likewise, the secondary network node 903 may be configured to determine that its default time slot (e.g.,Slot 909) has already occurred by the time secondary node 903 receives broadcast downlink packet 935. Therefore, secondary node 903 refrains from sending a response to broadcast downlink packet 935 during superframe 900.
[0075] The method 1000 includes the primary node receiving, in the first superframe and in response to the broadcast downlink packet, one or more additional uplink packets from fewer than all of the secondary nodes in the set of secondary nodes (1008). For example, the primary node 901 receives the uplink packet 951 from the secondary node 904, as indicated by number 949. Also, in slot 911, the primary node 901 traverses a UL receive time frame 950, and the secondary node 905 traverses a receive-to-transmit frame 953. Other secondary nodes may transmit response uplink packets to the primary node (1008). For example, the secondary node 905 may transmit an uplink packet 956 in slot 912 and traverse a UL transmit time frame 957.Also in slot 912, primary node 901 receives uplink packet 956, as indicated by number 954, and primary node 901 also undergoes a UL receive time frame 955. Further, in slot 912, secondary node 906 undergoes a receive-to-transmit frame 958. In slot 913, secondary node 906 may transmit uplink packet 959 and undergo a UL transmit time frame 960. Although it is possible for primary node 901 to receive uplink packet 959 in slot 913, in this example, uplink packet 959 is represented as being lost or dropped during transmission, so primary node 901 does not receive uplink packet 959.
[0076] The method 1000 includes the primary network node sending a broadcast downlink packet in a second superframe and receiving uplink packets in the second superframe that were not received in the first superframe (1010). For example, in the context of Fig. 9A and Fig. 9B, the broadcast downlink packet 935 was received by all secondary nodes 902-906, but since only three slots (911-913) remained in the superframe 900, not all secondary nodes 902-906 could send response uplink packets to the primary node 901. Accordingly, in slot 911, the secondary node 904 sent its uplink packet; in slot 912, the secondary node 905 sent its uplink packet; and in slot 913, the secondary node 906 sent its uplink packet. The transmission of these specific uplink packets in slots 911-913 follows the uplink packet transmission schedule that would have been in effect if the superframe 900 had begun by transmitting the broadcast downlink packet 935 instead of the unicast downlink packet 920.In other words, the transmission of these specific uplink packets in slots 911-913 follows the uplink packet transmission scheme described in superframe 500 of FIG. Fig. 5. However, in this scheme, secondary network nodes 902 and 903 do not have the opportunity to transmit their uplink packets in superframe 900. Accordingly, in examples, secondary network nodes 902 and 903 transmit their uplink packets in superframe 961, which is the next superframe after superframe 900. Furthermore, if uplink packets transmitted by secondary network nodes in superframe 900 are not received by primary network node 901 (e.g., because they were dropped), such uplink packets may be retransmitted in superframe 961.To trigger the transmission of uplink packets by the secondary nodes 902 and 903 and to trigger the retransmission of the discarded uplink packet 959 by the secondary node 906, the primary node transmits a broadcast downlink packet in the second superframe that is virtually identical to the last broadcast downlink packet transmitted in the previous superframe (1010), with exceptions described below. In response to this broadcast downlink packet transmitted in the second superframe, the secondary node transmits an uplink packet to the primary node in the second superframe (1106). The primary node receives in the second superframe the uplink packet transmitted by the secondary node in 1106, as well as any other uplink packets that can be transmitted in the second superframe and were not transmitted in the first superframe (1010).
[0077] In the example of Fig. 9A and Fig. 9B, slot 962 includes a DL protection 969 and receive wait times 970-974. In slot 963, the primary network node 901 sends a broadcast downlink packet 975 and passes through a DL transmit time frame 976 and a transmit-to-receive frame 977. Also in slot 963, the secondary network nodes 902-906 receive the broadcast downlink packet 975, as indicated by numbers 978 and 980-983. The broadcast downlink packet 975 may be partially or completely identical to the broadcast downlink packet 935 of the superframe 900, except that the acknowledgment code (ACK) of the broadcast downlink packet 975 may indicate which uplink packets were received by the primary network node 901 in the superframe 900 in response to the broadcast downlink packet 935.For example, since there are five secondary nodes 902-906, the ACK may be a five-bit code, where each bit indicates whether the uplink packet of a corresponding secondary node 902-906 was received in the superframe 900. In examples, the most significant bit of the ACK may correspond to the secondary node 902, the second most significant bit of the ACK may correspond to the secondary node 903, the third most significant bit of the ACK may correspond to the secondary node 904, the fourth most significant bit of the ACK may correspond to the secondary node 905, and the least significant bit of the ACK may correspond to the secondary node 906. In the superframe 900, as described above, only the uplink packets of the secondary nodes 904 and 905 were received by the primary node 901.Thus, the ACK in broadcast downlink packet 975 may be 00110, where the two "1" bits correspond to received uplink packets for secondary nodes 904 and 905, and the three "0" bits correspond to non-receipt of the uplink packets for secondary nodes 902, 903, and 906. Secondary node 902 also undergoes a receive-to-transmit frame 979.
[0078] In slot 964, secondary node 902—which did not have an opportunity to transmit its uplink packet in superframe 900—transmits its uplink packet 986 in response to the ACK of broadcast downlink packet 975, indicating that the uplink packet for secondary node 902 was not received in superframe 900. Secondary node 902 also undergoes a UL transmit time frame 987. Also in slot 964, primary node 901 receives uplink packet 986, as indicated by number 984, and primary node 901 also undergoes a UL receive time frame 985. Also in slot 964, secondary node 903 undergoes a receive-to-transmit frame 988.
[0079] In slot 965, secondary node 903—which did not have an opportunity to transmit its uplink packet in superframe 900—transmits its uplink packet 991 in response to the ACK of broadcast downlink packet 975, indicating that the uplink packet for secondary node 903 was not received in superframe 900. Secondary node 903 also undergoes a UL transmit time frame 992. Furthermore, primary node 901 receives uplink packet 991 in slot 965, as indicated by number 989, and primary node 901 also undergoes a UL receive time frame 990. In slot 965, secondary node 906 undergoes a receive-to-transmit frame 994.
[0080] In slot 966, secondary node 906—whose uplink packet 959 was discarded in superframe 900—sends an uplink packet 993 in response to the ACK of transmitted downlink packet 975, indicating that uplink packet 959 for secondary node 906 was not received in superframe 900. Secondary node 906 also undergoes a UL transmit time frame 995. Also in slot 966, primary node 901 receives uplink packet 993, as indicated by number 996, and primary node 901 also undergoes a UL receive time frame 997.
[0081] The ACK of broadcast downlink packet 975 may specify or determine the order and timing in which secondary nodes 902-906 will transmit the uplink packets of superframe 961, or, in the case of secondary nodes 904 and 905, refrain from transmitting them. In the described example, the ACK is 00110, indicating that the uplink packets for secondary nodes 902, 903, and 906 should be transmitted in superframe 961. Conversely, the ACK specifies or determines that secondary nodes 904 and 905 should not transmit any uplink packets in superframe 961.It would be possible to send uplink packets in two consecutive frames of superframe 961 for secondary nodes 902 and 903, then send nothing in the following two consecutive frames of superframe 961 (since uplink packets for secondary nodes 904 and 905 should not be retransmitted in superframe 961), and then send the uplink packet for secondary node 906. However, this scheme would be inefficient because two of the frames would remain unused. Therefore, in examples, the uplink packets to be sent in superframe 961 (e.g., uplink packets 986, 991, and 993) are sent in consecutive frames with no unused frames in between.
[0082] In other words, secondary nodes 902, 903, and 906 transmit uplink packets 986, 991, and 993 without intervening unused slots in consecutive slots 964-966. For example, secondary node 902 may be configured to determine that its bit position (e.g., the first bit) in the ACK is the first zero bit of the ACK and, in response to this determination, to transmit uplink packet 986 during slot 964. Secondary node 903 may be configured to determine that its bit position (e.g., the second bit) in the ACK is the second zero bit of the ACK and, in response to this determination, to transmit uplink packet 991 during slot 965. The secondary network node 904 may be configured to determine that its bit position (e.g., the third bit) in the ACK is a one bit and, in response to this determination, refrain from transmitting an uplink packet during slot 966.The secondary network node 905 may be configured to determine that its bit position (e.g., the fourth bit) in the ACK is a one bit, and in response to this determination, refrain from transmitting an uplink packet during slot 966 or during slot 967. The secondary network node 906 may be configured to determine that its bit position (e.g., the fifth bit) in the ACK is the third zero bit of the ACK, and in response to this determination, transmit an uplink packet 993 during slot 966. Additionally or alternatively, each of the secondary network nodes 905 and 906 may be configured to select a time slot by determining that two of the bits preceding its bit position in the ACK have a value of one.Thus, each of the secondary network nodes 902-906 may be configured to determine whether its respective bit position in the ACK is a zero, determine the number of leading zeros in the ACK, and select a time slot for transmission based on these determinations.
[0083] Subsequently, in slot 967 and thereafter, another unicast or broadcast downlink signal may be sent by the primary network node 901, and the techniques described herein may be repeated. For example, the primary network node 901 may send a broadcast downlink packet during slot 967, and in response, the secondary network node 906 may send an uplink packet during slot 968. The primary network node 901 may be configured to determine that the ACK sent by the primary network node 901 with the broadcast downlink packet 975 indicates that three uplink packets should be sent during slots 964-966. In response to this determination, and in response to acknowledging receipt of the uplink packets 986, 991, and 993, the primary network node 901 may be configured to send a broadcast downlink packet during slot 967 (in Fig.9B not shown). The secondary network node 906 may be configured to determine that the subsequent time slot (i.e., slot 968) is assigned to the secondary network node 906 according to the standard uplink packet transmission schedule. In response to this determination, the secondary network node 906 may be configured to transmit an uplink packet during slot 968 that responds to the broadcast downlink packet received by the secondary network node 906 during slot 967.
[0084] The specification uses the term "couple". The term can include connections, communications, or signal paths that enable a functional relationship consistent with this description. For example, if device A generates a signal to control device B to perform an action, in a first example, device A is coupled to device B, or in a second example, device A is coupled to device B through an intervening component C where the intervening component C does not substantially change the functional relationship between device A and device B, such that device B is controlled by device A via the control signal generated by device A.
[0085] A device "designed to perform" a task or function may be designed (e.g., programmed and / or hard-wired) to perform the function at the time of manufacture by a manufacturer, and / or may be designed (or redesigned) after manufacture by a user to perform the function and / or other additional or alternative functions. The design may be achieved through firmware and / or software programming of the device, through a design and / or configuration of hardware components and interconnections of the device, or a combination thereof.
[0086] Unless otherwise stated, “about,” “approximately,” or “substantially” before a value means + / - 10 percent of the stated value.
[0087] Variations in the examples described are possible and other examples are possible within the scope of the claims. QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] US 17 / 233106
[0019] US 17 / 399793
[0019] US 17 / 576001
[0036] US 17 / 314865
[0054]
Claims
[1] Vehicle battery management system (BMS), which includes: a set of battery cells; and a secondary network node coupled to the set of battery cells, the secondary network node being configured to: in a first slot of a superframe, wirelessly receiving a unicast downlink packet from a primary network node, the unicast downlink packet being addressed to the secondary network node; and in a second slot of the superframe and in response to the unicast downlink packet, wirelessly transmitting an uplink packet to the primary network node. [2] The BMS of claim 1, wherein the first and second slots are consecutive slots. [3] The BMS of claim 1, wherein the secondary network node is configured to receive, in a third slot of the superframe, another unicast downlink packet from the primary network node, the another unicast downlink packet being addressed to another secondary network node coupled to another set of battery cells. [4] The BMS of claim 1, wherein the secondary network node is configured to receive a broadcast downlink packet from the primary network node in a third slot of the superframe. [5] The BMS of claim 4, wherein the secondary network node is configured to refrain from sending another uplink packet to the primary network node in response to the broadcast downlink packet in the superframe. [6] The BMS of claim 5, wherein the secondary network node is configured to transmit, in response to a second broadcast downlink packet, the further uplink packet in a second superframe, the second superframe following the superframe. [7] The BMS of claim 6, wherein the second broadcast downlink packet is transmitted in the second superframe and comprises payload data identical to that of the broadcast downlink packet. [8] The BMS of claim 6, wherein the secondary network node is configured to transmit the further uplink packet in the second superframe in response to the second broadcast downlink packet indicating that the further uplink packet was not received by the secondary network node in the superframe. [9] BMS according to claim 5, wherein the secondary network node is designed to: Determining a time slot in the superframe for the further uplink packet based on a standard schedule; and Determine that the time slot has already occurred in the superframe, wherein the secondary network node is configured to refrain from sending the further uplink packet in the superframe to the primary network node based on determining that the time slot has already occurred in the superframe. [10] Procedure comprising: a primary network node sends a unicast downlink packet to a first secondary network node of a set of secondary network nodes and a broadcast downlink packet to the set of secondary network nodes in a first superframe; the primary network node receives, in the first superframe and in response to the unicast downlink packet, an uplink packet from the first secondary network node; and the primary network node receives, in the first superframe and in response to the broadcast downlink packet, additional uplink packets from fewer than all secondary network nodes in the set of secondary network nodes. [11] The method of claim 10, further comprising the primary network node transmitting in a second superframe a second broadcast downlink packet having payload data identical to payload data of the broadcast downlink packet. [12] The method of claim 11, wherein the second broadcast downlink packet comprises an acknowledgment code indicating secondary network nodes in the set of secondary network nodes from which no uplink packets were received in the first superframe. [13] The method of claim 12, further comprising the primary network node receiving uplink packets from the secondary network nodes identified by the confirmation code in the second superframe. [14] The method of claim 13, wherein a timing of the uplink packets received from the secondary network nodes in the second superframe is based on the confirmation code. [15] The method of claim 10, wherein a timing of the uplink packets received from the secondary network nodes in the first superframe is based on a standard schedule. [16] Procedure comprising: a secondary network node transmits a first uplink packet to a primary network node in a first superframe in response to a unicast downlink packet received from the primary network node in the first superframe; the secondary network node receives a broadcast downlink packet from the primary network node in the first superframe and does not send a response to the broadcast downlink packet in the first superframe; and the secondary network node sends a second uplink packet to the primary network node in a second superframe following the first superframe in response to the broadcast downlink packet of the second superframe. [17] The method of claim 16, wherein the broadcast downlink packet of the second superframe comprises payload data identical to that of the broadcast downlink packet of the first superframe. [18] The method of claim 16, further comprising the secondary network node transmitting the second uplink packet in a slot of the second superframe determined based on an acknowledgment code in the broadcast downlink packet of the second superframe. [19] The method of claim 18, wherein the acknowledgement code indicates that the primary network node did not receive the response in the first superframe. [20] The method of claim 16, further comprising: Determining a time slot in the first superframe for the second uplink packet based on a standard schedule; and Determine that the time slot has already occurred in the first superframe, wherein sending no response to the broadcast downlink packet in the first superframe is based on determining that the timeslot has already occurred in the first superframe.
Citation Information
Patent Citations
Substituted Pyran Derivatives
US20140309427A1
Operating modes for testing monitor circuits
US20220231525A1
Wireless protocol for battery management
US20220332213A1
Key refreshment with session count for wireless management of modular subsystems
US20220360979A1
17/314865