Efficient Unicast Superframe Communication
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- TEXAS INSTRUMENTS INC
- Filing Date
- 2023-05-31
- Publication Date
- 2026-06-01
AI Technical Summary
Existing battery management systems face inefficiencies in unicast superframe communication, where unused superframe slots occur after a secondary network node responds to a unicast downlink packet, leading to wasted communication opportunities.
Implementing a wireless battery management system that distributes unicast and broadcast communications across multiple superframes, allowing unused slots to be utilized for additional packet transmissions, thereby optimizing communication efficiency.
This approach reduces inefficiencies in battery management systems by effectively utilizing all available communication slots, enhancing the overall efficiency of data exchange between primary and secondary network nodes.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] Modern vehicles may include a plurality of battery cells. For the safety of the vehicle and to ensure proper operation, information associated with the cells, such as temperature, voltage, and other metrics of cell status and health, may be monitored.
Summary of the Invention
[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 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 also 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 that transmits 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 method also includes a primary network node that receives an uplink packet from the first secondary network node in the first superframe and in response to the unicast downlink packet. The method also includes a primary network node that receives additional uplink packets from fewer secondary network nodes within the set of secondary network nodes than all in the first superframe and in response to the broadcast downlink packet.
Brief Description of the Drawings
[0004]
Figure 1
[0005]
Figure 2A
[0006]
Figure 2B
[0007]
Figure 3
[0008]
Figure 4A
[0009]
Figure 4B
[0010]
Figure 5
[0011]
Figure 6
[0012]
Figure 7
[0013]
Figure 8
Figure 9A
Figure 9B
[0014]
Figure 10
Figure 11
DETAILED DESCRIPTION OF THE INVENTION
[0015] Some electronic devices operate using batteries. For example, electric vehicles include a plurality of battery cells that provide power to those vehicles. Since the battery cells within an electronic device can provide a large amount of power, and furthermore, the power provided by the battery cells can be essential for the operation of the electronic device, the electronic device may include a system for managing the battery cells.
[0016] A battery management system (BMS) can manage battery cells of an electronic device in various ways. For example, the BMS can monitor the health (e.g., voltage, current, temperature) of the battery cells within the electronic device. Also, the BMS can control various batteries to manage the amount of power provided by the battery cells, and the power is directed into the electronic device. Generally, the BMS includes multiple components such as multiple battery modules, and a controller for managing the battery modules. Each battery module can be coupled to a plurality of battery cells and can include a battery monitor for monitoring those battery cells. Thus, the battery cells coupled to the battery module provide power to the electronic device, the battery monitor in the battery module monitors the health 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 operating properly. The controller can also communicate with the battery monitor to control the operation of the battery cells, such as taking the balance of the power provided by those battery cells by turning on, turning off, redirecting, or other means.
[0017] The BMS can incorporate wireless technology. For example, a primary network node includes or is coupled to the controller, and a secondary network node includes a battery module that controls a plurality of battery cells. The primary and secondary network nodes can communicate wirelessly with each other, for example, using radio frequencies. In some protocols, a superframe is useful to facilitate wireless communication between the primary and secondary network nodes. In the superframe, the primary network node first broadcasts downlink communication (or packets) to a plurality of secondary network nodes. The secondary network nodes individually respond to the primary network node continuously using uplink communication (or packets).
[0018] However, in some cases, it may be desirable for a primary network node to send unicast downlink communication (or packets) rather than broadcast downlink communication. Instead of broadcasting the unicast downlink packet to all secondary network nodes, it is sent by the primary network node to one specific secondary network node. After the primary network node unicasts the downlink packet to the specific secondary network node, only that addressed secondary network node responds to the primary network node with an uplink packet. The remaining secondary network nodes to which the unicast downlink packet was not addressed do not respond to the primary network node. Thus, after the secondary network node has sent its uplink packet to the primary network node, in the context of a broadcast, the remaining superframes, which would normally be used by the remaining secondary network nodes to send their uplink packets as described above, remain unused and no additional communication occurs until the next superframe interval. Unicast superframe communication can be very inefficient.
[0019] This specification describes various examples of a BMS that enables efficient unicast superframe communication. Specifically, an exemplary BMS includes a primary network node and a set of secondary network nodes, where each secondary network node is coupled to a set of battery cells (however, the scope of this description is not limited to battery applications). The primary network node controls the secondary network nodes, and the secondary network nodes communicate with their respective battery cells to control the battery cells and to receive status information (e.g., current, voltage, temperature) regarding the battery cells that can be communicated to the primary network node. The primary and secondary network nodes communicate with each other using superframe intervals.
[0020] In a first slot of a superframe (also referred to as a frame), a primary network node may send a unicast downlink packet to a target secondary network node in a set of secondary network nodes. For example, the unicast downlink packet may include the address of the target secondary network node. In a second slot of the superframe, the secondary network node may send a response to the primary network node in the form of an uplink packet. The remaining superframe may be used for unicast and / or broadcast communication, thereby reducing inefficiency in the case where the remaining superframe becomes unused. For example, in a third slot of the superframe, the primary network node may unicast a downlink packet to a specific secondary network node, and in a fourth slot of the superframe, the secondary network node may respond by sending an uplink packet to the primary network node. Alternatively, in a third slot of the superframe, the primary network node may broadcast a downlink packet to the set of secondary network nodes, and from the fourth slot of the superframe to the last slot of the superframe, the secondary network nodes may respond by sequentially sending their respective uplink packets to the primary network node. In this way, the secondary network nodes may be configured to implement on-the-fly or dynamic scheduling of response uplink packets. Since the primary network node broadcasts its downlink packet in the fourth slot of the superframe instead of the first slot, there may not be enough slots remaining after the fourth slot for all of the secondary network nodes to send their respective uplink packet responses. Therefore, uplink packets that are not sent to the primary network node in a superframe may instead be sent to the primary network node in a second superframe.By distributing broadcast downlink and uplink packets in this way across multiple superframes, superframe slots that would otherwise be unused after uplink communication are utilized, thereby significantly alleviating the inefficiencies otherwise associated with unicast superframe communication.
[0021] Figure 1 is a perspective view of an exemplary system 98, such as a motor vehicle, including a wireless battery management system (WBMS) 100. In some examples, system 98 can be any system that can include a wireless battery management system for powering one or more components of system 98. As shown in the figure, 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 can include a plurality of primary network nodes. This description mainly explains communication techniques in the context of wireless systems, but these techniques can also be useful in wired systems (e.g., where the connection between nodes 102 and 106 is wired).
[0022] In one example, primary network node 102 is coupled to battery controller 104 using a first wired connection 110. In one example, the first wired connection 110 between primary network node 102 and battery controller 104 is a universal asynchronous receiver / transmitter (UART), an inter-integrated circuit (I2C), etc. Secondary network nodes 106 are wirelessly coupled to primary network node 102 and are coupled to battery cell 108 using a second wired connection 112.
[0023] 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 node 106. In one example, the wireless RF communication uses the license-free 2.4 gigahertz (GHz) industrial, scientific, and medical (ISM) band from 2.4 GHz to 2.483 GHz, which complies with the Bluetooth Special Interest Group (SIG). In one example, the wireless battery management system 100 uses Bluetooth Low Energy (BLE) at 2 megabits per second (Mbps) via the physical layer (PHY). The Open Systems Interconnection (OSI) model includes the PHY as the layer used to communicate raw bits over a physical medium. In this case, the PHY is the free space used by the wireless battery management system 100 to communicate wirelessly between the primary network node 102 and the secondary network node 106. In one example, the transmit power of the wireless battery management system 100 is less than or equal to 10 decibel milliwatt (dBm).
[0024] In one example, the wireless RF communication between the primary network node 102 and the secondary network node 106 utilizes frequency hopping and time slot allocation to transmit and receive data across a superframe (SF). The superframe, also referred to as the superframe interval, is a time interval that includes time and frequency allocations for data exchange between the primary network node 102 and the secondary network node 106, including the inter-frame spacing between these allocations. Frequency hopping involves transmitting an RF signal by rapidly changing the transmission frequency among many distinct frequencies that occupy a given spectral band. In one example, the frequency hopping occurs based on a linear shift register and a master identification (ID) of the primary network node 102. The linear shift register uses linear bit rotation to indicate the pattern of frequencies over which the primary network node 102 and the secondary network node 106 will communicate. Time slot allocation is the time slot assigned to either the primary network node 102 or one or more of the secondary network nodes 106 for transmission to either one or more of the secondary network nodes 106 or the primary network node 102. The time slot allocation occurs in a half-duplex mode as both the primary network node 102 and the secondary network node 106 switch between the transmit mode and the receive mode according to the time moments specified in the scan / pairing frame of the data exchanged for the downlink (DL) / uplink (UL) time interval.
[0025] In one example, the wireless battery management system 100 uses frequency division multiple access (FDMA) and changes the frequencies on which frames are transmitted between the primary network node 102 and the secondary network node 106 to increase robustness against interference. In one example, the wireless battery management system 100 uses a frequency hopping table, frequency blacklisting, and configured channels to mitigate interference to other wireless networks. Frequency hopping occurs every superframe (SF), and time slot allocation is used for frame exchange between SFs. Blacklisting temporarily discontinues the use of frequency channels that may be susceptible to the effects of interference. Configured channels can be used to scan, pair, and negotiate communication between the primary network node 102 and the secondary network node 106.
[0026] In one example, the wireless RF communication between the primary network node 102 and the secondary network node 106 uses 40 channels, a subset of the 40 channels (e.g., channels 37, 38, and 39) is used for system configuration, and the remaining 37 channels are used for data exchange. In one example, a single channel can be used as the configured channel.
[0027] In one example, the wireless battery management system 100 supports periodic and aperiodic data exchange from the secondary network node 106 to the primary network node 102 using wireless RF communication. The primary network node 102 and the secondary network node 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. A data format is a description of the rules to follow when entering data into a file. Generally, the more complete the description of the data format, the easier it is to write authentication rules on both the transmission and reception sides of the wireless battery management system 100.
[0028] In one example, the primary network node 102 scans the network to obtain a master ID and to discover the secondary network node 106. The primary network node 102 scans the network by transmitting management frames to adjust media access, wake-up schedule, and clock synchronization within the secondary network node 106. The primary network node 102 also uses management frames to learn about the secondary network node 106 within the network. Initially, the primary network node 102 performs a passive scan to obtain (or check) the master ID value in use by other nodes and / or devices. The primary network node 102 then selects a master ID different from the master ID used by other nodes and / or devices.
[0029] In one example, after the primary network node 102 selects a master ID, the primary network node 102 transmits a scan request frame in every SF period as long as there are unconnected secondary network nodes 106 from the primary network node 102. In one example, the primary network node 102 is programmed with the total number of secondary network nodes 106 to be connected to the primary network node 102. After all secondary network nodes 106 are connected and verified, the primary network node 102 does not transmit any further scan requests. The scan request frame includes information regarding the structure of the SF and the frame format of the DL and UL slots.
[0030] In the case of the primary network node 102 for scanning the secondary network node 106, the primary network node 102 enters a scanning state. In this state, the primary network node 102 transmits a scan request frame in every SF period. The secondary network node 106 replies to the primary network node 102 with a scan response and waits for a pairing request frame from the primary network node 102. After the secondary network node 106 receives a pairing request, the secondary network node 106 responds within the same SF in the frequency slot assigned by the primary network node 102. In some examples, this exchange occurs on the configuration channel. No data exchange occurs in this state. Details of additional exemplary embodiments for establishing a communication channel can be found in U.S. Patent Application No. 17 / 233,106, filed on April 16, 2021, by the same applicant, with the title "Wireless Protocol for Battery Management", and U.S. Patent Application No. 17 / 399,793, filed on August 11, 2021, with the title "Wireless Battery Management System Setup", each of which is incorporated herein by reference in its entirety. [Patent Document 1] U.S. Patent Application No. 17 / 233,106 [Patent Document 2] U.S. Patent Application No. 17 / 399,793
[0031] In one example, the transmission cycle or SF depends 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. Considering the number of secondary network nodes 106, the primary network node 102 estimates the number of DL slots that can be used to transmit packets to the secondary network nodes 106. Thus, the total number of slots in the communication time interval is as follows. Total_slots=nr_of_WD+nr_DL_slots In the above equation, nr_of_WD is the number of secondary network devices, and nr_DL_slots is the number of DL slots available for the secondary network devices.
[0032] The wireless battery management system 100 manages the battery cell 108 using a primary network node 102, a battery controller 104, and a secondary network node 106. The primary network node 102 and the secondary network node 106 communicate with each other regarding the state of the battery cell 108. The primary network node 102 and the secondary network node 106 can communicate with each other using various protocol formats. For example, the primary network node 102 and the secondary network node 106 use a DL protocol format and a UL protocol format, and each of the DL protocol format and the UL protocol format includes a frame control field for communicating battery management information. When the battery cell 108 notifies the secondary network node 106 of a certain condition, the secondary network node 106 communicates to the primary network node 102 that the condition exists. The primary network node 102 receives the notification of the condition from the secondary network node 106 and warns the battery controller 104 of the condition. The battery controller 104 determines an appropriate reaction to the condition and sends an instruction to the primary network node 102. The primary network node 102 sends the instruction to the secondary network node 106. The secondary network node 106 receives an instruction for managing the battery cell 108 in response to the condition. The secondary network node 106 manages the battery cell 108 in response to the condition.
[0033] Figure 2A illustrates an exemplary wireless battery management system 200. The wireless battery management system 200 is an example of the aforementioned wireless battery management system 100. As shown in the figure, the wireless battery management system 200 includes a primary network node 102, a battery controller 104, a memory 202, a processor 204, a first secondary network node 206, a first plurality of battery cells 208, a second secondary network node 210, and a second plurality of battery cells 212. Additional secondary network nodes 206, 210 may be included but are not explicitly shown. The primary network node 102 includes a memory 202 and a processor 204 configured to execute code 205 stored on the memory 202 to perform one or more acts attributed to the primary network node 102 herein. In one example, a portion of the memory 202 may be non-transitory and a portion of the memory 202 may be transitory. The secondary network nodes 206, 210 may also include a processor and a 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 acts attributed to the secondary network node 206 herein.
[0034] The primary network node 102 is coupled to the battery controller 104 using a first wired connection 110 and is wirelessly coupled to each of the secondary network nodes 206, 210. The first secondary network node 206 is coupled to the first plurality of battery cells 208 using a third wired connection 214 and is wirelessly coupled to the primary network node 102. The second secondary network node 210 is coupled to the second plurality of battery cells 212 using a fourth wired connection 216 and is wirelessly coupled to the primary network node 102. Figure 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 a plurality of battery cells.
[0035] 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 can be coupled to at least 16 battery cells using a wired connection. In some examples, the wireless battery management system 200 includes one primary network node. In other examples, the wireless battery management system 200 includes a plurality of primary network nodes.
[0036] The wireless battery management system 200 manages the first plurality of battery cells 208 and the second plurality of battery cells 212 using a primary network node 102, a battery controller 104, a memory 202, a processor 204, a first secondary network node 206, and a second secondary network node 210. Instructions in the memory 202 cause the processor 204 to instruct the primary network node 102 to wirelessly communicate with the first secondary network node 206 and the second secondary network node 210 regarding the states of the first plurality of battery cells 208 and the second plurality of 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, and each of the DL protocol format and the UL protocol format includes a frame control field for communicating battery management information. When the first plurality of battery cells 208 notify a certain condition to the first secondary network node 206, the first secondary network node 206 communicates to 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 warns the battery controller 104 of the condition. The battery controller 104 determines an appropriate reaction to the condition and sends an instruction to the primary network node 102. The primary network node 102 sends an instruction to the first secondary network node 206. The first secondary network node 206 receives an instruction for managing the first plurality of battery cells 208 in response to the condition of the first plurality of battery cells 208. The first secondary network node 206 manages the first plurality of battery cells 208 in response to the condition. When a condition exists within the second plurality of battery cells 212, a similar process may be applied to the second secondary network node 210.
[0037] Figure 2B illustrates an exemplary wireless battery management system 250. The wireless battery management system 250 is an example of the aforementioned wireless battery management system 100. As illustrated, the wireless battery management system 250 includes a first secondary network node 206, a first plurality of 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 includes a memory 254 and a processor 256. In one example, a portion of the memory 254 may be non-transitory and a portion of the memory 254 may be transitory. In some examples, the memory 254 includes executable code 255 that, when executed by the processor 256, causes the processor 256 to perform acts attributed herein to the primary network node 252.
[0038] The plurality of primary network nodes 252 are coupled to the plurality of battery controllers 260 using the first wired connection 258 and are wirelessly coupled to the secondary network node 206. The first secondary network node 206 is coupled to the first plurality of battery cells 208 using a wired connection 214 and is wirelessly coupled to the plurality of primary network nodes 252. As shown in Figure 2A, the first secondary network node 206 may include a processor and a memory (e.g., processor 262 and memory 264). Figure 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 is capable of being coupled to at least 16 battery cells using a fourth wired connection 216.
[0039] The wireless battery management system 250 manages a first plurality of battery cells 208 using a plurality of primary network nodes 252, a plurality of battery controllers 206, a memory 254, a processor 256, and a first secondary network node 206. Instructions in the memory 254 cause the processor 256 to cause the plurality of primary network nodes 252 to communicate wirelessly with the first secondary network node 206 regarding the state of the first plurality of 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, and each of the DL protocol format and the UL protocol format includes a frame control field for communicating battery management information. When the first plurality of battery cells 208 notify the first secondary network node 206 of a condition, the first secondary network node 206 communicates to 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 alert the plurality of battery controllers 260 of the condition. The plurality of battery controllers 260 determine an appropriate reaction to the condition and send instructions to the plurality of primary network nodes 252. The plurality of primary network nodes 252 send the instructions to the first secondary network node 206. The first secondary network node 206 receives instructions for managing the first plurality of battery cells 208 in response to the condition of the first plurality of battery cells 208. The first secondary network node 206 manages the first plurality of battery cells 208 in response to the condition.
[0040] In one example, a first secondary network node 206 communicates with a first primary network node of a plurality of primary network nodes 252 based on instructions from a master controller (not shown). The first secondary network node 206 is capable of transition communication from the first primary network node to a second primary network node among the plurality of primary network nodes 252. The first primary network node and the second primary network node communicate with each other to coordinate the transfer of an active connection of the first secondary network node 206 from the first primary network node to the second primary network node. In one example, the first primary network node communicates with the first secondary network node 206, and the second primary network node monitors the status of the first primary network node. The status can indicate whether the first primary network node has power and whether it is operating within normal operating conditions. The first primary network node provides a clock signal to the second primary network node to synchronize communication. The first primary network node and the second primary network node select different frequencies to communicate with the first secondary network node 206. By selecting different frequencies, interference among the plurality of primary network nodes 252 can be minimized when communicating with the first secondary network node 206. For example, if the first primary network node loses power or its status deviates from normal operating conditions, the second primary network node can connect to the first secondary network node 206 to capture communication until the first primary network node can operate normally again.
[0041] FIG. 3 illustrates a communication frame 300 used by a wireless battery management system, such as the wireless battery management system 100. As illustrated, the communication frame 300 includes an SF302, a first frequency 304, a second frequency 306, a third frequency 308, and 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. The frequency is indicated by the y-axis and the time is indicated by the x-axis. Each of the time frames 312, 314, 316, 318, 320, 322 can be configured 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, respectively.
[0042] Communication frame 300 is used by a wireless battery management system to communicate battery management information between a primary network node and a secondary network node. In one example, during SF302, the primary network node transmits a DL frame 324 on a first frequency 304 during a first time frame 312. During the first time frame 312, at least one of the secondary network nodes receives the DL frame. The DL frame 324 can be transmitted by the primary network node in a broadcast-like manner or in a unicast-like manner. Broadcast includes a primary network node that transmits the DL frame 324 to all secondary network nodes in a single time frame. The primary network node may transmit broadcast packets as one-to-multiple packets. Unicast includes a primary network node that transmits the DL frame 324 to one of the secondary network nodes during one time frame. The primary network node may transmit unicast packets as paired communication packets. In some examples, the primary network node may be configured to transmit unicast packets to all of the secondary network nodes in a single time frame, but the primary network node may also address unicast packets to only one of the secondary network nodes. In other words, all of the secondary network nodes may receive the unicast packets, and each of the secondary network nodes may be configured to determine whether the unicast packets are addressed to them.
[0043] In one example, broadcast is used by the primary network node to send the DL frame 324 to all of the secondary network nodes during the first time frame 312. In response to receiving the DL frame 324 from the primary network node, the first secondary network node sends a 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, the second secondary network node sends a 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, the third secondary network node sends a 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, the fourth secondary network node sends a 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, the fifth secondary network node sends a fifth UL frame 334 on the first frequency 304 during the sixth time frame 322. In this example, SF302 ends at the end of the sixth time frame 322.
[0044] In one example, unicast is used by the primary network node to send the DL frame 324 on the first frequency 304 to the first secondary network node during the first time frame 312. During the first time frame 312, the first secondary network node receives the DL frame 324. In response to receiving the DL frame 324, the first secondary network node sends a first UL frame 326 on the first frequency 304 during the second time frame 314. In an example where there is a single primary network node and a single secondary network node, SF302 ends at the end of the second time frame 314.
[0045] In one example, the primary network node and the secondary network node can communicate on one of the frequencies other than the first frequency 304, such as the second frequency 306, the third frequency 308, the Nth frequency 310, etc. The change in the frequency used can be caused by frequency hopping as described above. In one example, the time length of each time frame can be different or the same depending on the end application of the wireless battery management system. In one example, the secondary network node uses an acknowledgment code (ACK) to confirm the reception of the DL frame 324, and the primary network node uses the ACK to confirm the reception of the UL frames 326, 328, 330, 334. The ACK is a type of signal (e.g., a bitmap) between the transmitter side and the receiver side for confirming successful reception of communication. For example, the primary network node can be configured to generate the ACK, and each bit in the ACK is mapped to one of the secondary network nodes.
[0046] FIG. 4A illustrates a scan communication frame 400 used by a wireless battery management system, such as the wireless battery management system 100. As shown, the scan communication frame 400 includes SF402, the first frequency 404, the second frequency 406, the third frequency 408, and the Nth frequency 410, the first time frame 412, the second time frame 414, the third time frame 416, the fourth time frame 418, the fifth time frame 420, the sixth time frame 422, a scan request frame 424, and a scan response frame 426. The frequency is indicated by the y-axis, and the time is indicated by the x-axis. Also, each frame is active for a predetermined time. The frames 412, 414, 416, 418, 420, 422 are also referred to herein as slots 412, 414, 416, 418, 420, 422, respectively.
[0047] The scan communication frame 400 is used by the wireless battery management system for a primary network node to scan a secondary network node to establish communication. In one example, during SF402, the primary network node transmits a scan request frame 424 to the secondary network node on a first frequency 404 during a first time frame 412. During the first time frame 412, the secondary network node receives the scan request frame 424. The scan request frame 424 includes adjustment information regarding communication, a wake-up schedule when the secondary network node is in a sleep state, and information regarding the structure of SF402 such as clock synchronization within the primary network node and the secondary network node, as well as frame formatting of DL and UL slots. The secondary network node transmits a scan response frame 426 to the primary network node on the first frequency 404 during a third time frame 416. The scan response frame 426 includes information indicating whether the secondary network node is unconnected from the primary network node and whether it is requesting pairing. In this case, pairing involves procedures used by the primary network node and the secondary network node to establish a wireless connection and share security information. Details of additional examples of pairing can be found in U.S. Patent Application No. 17 / 576,001, filed on January 14, 2022, by the same applicant, titled "Operating Modes for Testing Monitoring Circuits", which is hereby incorporated by reference in its entirety. [Patent Document 3] U.S. Patent Application No. 17 / 576,001
[0048] In one example, an unconnected secondary network node from the primary network node responds to the scan request frame 424 with the scan response frame 426. The time frame (or slot frame) at which the secondary network node starts transmitting the scan response frame 426 can be calculated as follows: SlotFrameN = SwitchInfoN + SumBytes(UniqueID(i)) mod (4 × nr_of_nodes) In the above formula, "SwitchInfoN" is the number of SFs in the SwitchInfo field of the protocol format, "UniqueID(i)" is the identifier of one of the secondary network nodes among the secondary network nodes, and "nr_of_nodes" is the number of secondary network nodes connected to the primary network node. The SwitchInfo field of the protocol format contains SFs for communication between the primary network node and the secondary network node.
[0049] FIG. 4B illustrates a pairing communication frame 450 used by a wireless battery management system, such as the wireless battery management system 100. As shown in the figure, the pairing communication frame 450 includes SF402, 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 pair request frame 452, and a pair response frame 454. The frequency is indicated by the y-axis and the time is indicated by the x-axis. Also, each frame is active for a predetermined time.
[0050] The pairing communication frame 450 is used by a wireless battery management system to pair a primary network node and a secondary network node to establish communication. In one example, during SF402, the primary network node transmits a pairing request frame 452 on a first frequency 404 during a first time frame 412 to one of the secondary network nodes not connected to the primary network node. The pairing request frame 452 includes connection parameters for the secondary network node not connected to the primary network node, such as the time frame 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 a pairing response frame 454. The pairing response frame 454 indicates a successful pairing between the primary network node and the secondary network node.
[0051] In one example, the primary network node transmits the pairing request frame 452 to a plurality of secondary network nodes. When the primary network node transmits the pairing request frame 452 to a plurality of secondary network nodes, there will be an intentional delay in the pairing between the primary network node and the secondary network nodes. The delay in pairing can ensure that the network timing between the primary network node and the secondary network nodes is consistent across the secondary network nodes. The delay between pairings gives the primary network node sufficient time to establish communication with each secondary network node. Having consistent network timing across the secondary network nodes enables synchronous communication between the primary network node and the secondary network nodes.
[0052] FIG. 5 illustrates an exemplary superframe interval 500 that can be used by a wireless battery management system, such as wireless battery management system 100. Period TsMaxRx indicates the maximum (Max) time (Ts) allocated for receiving a packet (Rx), and period TsMaxTx indicates 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 the Nth secondary network node 501, for example, using the superframe interval 500. As illustrated, the superframe interval 500 includes a DL transmission frame 502, a first UL reception frame 504, a second UL reception frame 506, a third UL reception frame 508, a DL guard frame 510, a DL transmission time frame 512, a first transmission-reception frame 514, a first UL reception time frame 516, a second transmission-reception frame 518, a second UL reception time frame 520, a third transmission-reception frame 522, a third UL reception time frame 524, a first DL reception frame 526, a first UL transmission frame 528, a first reception standby time 530, a first reception-transmission frame 532, a first UL transmission time frame 534, a second DL reception frame 536, a second UL transmission frame 538, a second reception standby time 540, a second reception-transmission frame 542, a second UL transmission time frame 544, a third DL reception frame 546, a third UL transmission frame 548, a third reception standby time 550, a third reception-transmission frame 552, a third UL transmission 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 also be referred to herein as slots 556, 558, 560, and 562, respectively.
[0053] The superframe interval 500 is used by a wireless battery management system to schedule communication between the primary network node 102 and the secondary network nodes 106 for the purpose of wireless battery management. 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 time slots as described with reference to FIG. 3. The primary network node 102 identifies which of the secondary network nodes 206, 210, 501 to communicate with based on the availability of the secondary network nodes 206, 210, 501. 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 slots for the secondary network nodes 206, 210, 501 to communicate with the primary network node 102 are allocated when the primary network node 102 and the secondary network nodes 206, 210, 501 are paired as described with reference to FIG. 4B.
[0054] In one example, the superframe interval 500 starts with a DL guard frame 510. The DL guard frame 510 is a time period used to ensure that there is no interference between subsequent SFs. At the time of the DL guard frame 510, the first secondary network node 206 enters a first reception standby time 530, the second secondary network node 210 enters a second reception standby time 540, and the Nth secondary network node 501 enters a third reception standby time 550.
[0055] In the first frame 556 with a superframe interval of 500, after the DL guard frame 510, the primary network node 102 transmits DL to all of the secondary network nodes 206, 210, 501 using the DL transmission frame 502 during the DL transmission time frame 512. In one example, the first frame 556 is the first time frame 312 as described with respect to FIG. 3. The first secondary network node 206 receives DL using the first DL reception frame 526, the second secondary network node 210 receives DL using the second DL reception frame 536, and the Nth secondary network node 501 receives DL using the third DL reception frame 546. After the DL transmission frame 502, the primary network node 102 enters the first transmit-receive frame 514 in preparation for receiving UL from each of the secondary network nodes 206, 210, 501. At the same time as the primary network node 102 enters the first transmit-receive frame 514, the first secondary network node 206 enters the first receive-transmit frame 532 in preparation for transmitting the first UL to the primary network node 102.
[0056] In the second frame 558 with a superframe interval of 500, the first secondary network node 206 transmits the first UL using the first UL transmission frame 528 and during the first UL transmission time frame 534. In one example, the second frame 558 is the second time frame 314 as described with respect to FIG. 3. The primary network node 102 receives the first UL using the first UL reception frame 504 and during the first UL reception time frame 516. In the second frame 558, the primary network node 102 enters the second transmit-receive frame 518 in preparation for receiving the second UL from the second secondary network node 210. Also, the second secondary network node 210 enters the second receive-transmit frame 542 in preparation for transmitting the second UL to the primary network node 102.
[0057] In a third frame 560 with a superframe interval 500, a second secondary network node 210 transmits a second UL using a second UL transmission frame 538 and between second UL transmission time frames 544. In one example, the third frame 560 is a third time frame 316 as described with respect to FIG. 3. A primary network node 102 receives the second UL using a second UL reception frame 506 and between second UL reception time frames 520. In the third frame 560, the primary network node 102 enters a third transmission-reception frame 522 in preparation for receiving a third UL from an Nth secondary network node 501. Also, the Nth secondary network node 501 enters a third reception-transmission frame 552 in preparation for transmitting a third UL to the primary network node 102.
[0058] In a fourth frame 562 with a superframe interval 500, the Nth secondary network node 501 transmits a third UL using a third UL transmission frame 548 and between third UL transmission time frames 554. In one example, the fourth frame 562 is a sixth time frame 322 as described with respect to FIG. 3. The primary network node 102 receives the third UL using a third UL reception frame 508 and between third UL reception time frames 524. The schedules of frames 528, 538, and 548 shown in FIG. 5 may be referred to herein as a default uplink packet transmission schedule.
[0059] In one example, the superframe interval 500 lacks any ACK packets. Rather, the acknowledgement information is within the DL frame and the UL frame. By maintaining the acknowledgement information within the DL frame and the UL frame, the latency for data transmission can be reduced while the efficiency (throughput) can be improved. In one example, any of the UL transmission frames 528, 538, 548 can 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 the superframe interval 500. In one example, the DL transmission frame 502 can be retransmitted by the primary network node 102 based on ACK information from the secondary network nodes 206, 210, 501.
[0060] In one example, the transmission of each frame of the superframe interval 500 can be at the same frequency or at different frequencies. If the transmissions are at different frequencies, the frequency change is based on a hopping sequence for the communication of the primary network node 102 and the secondary network nodes 206, 210, 501.
[0061] FIG. 6 illustrates an exemplary DL protocol format 600 that can be used by a wireless battery management system, such as wireless battery management system 100. The top row of the DL protocol format 600 labeled "Octet" represents octet identifiers to assist in describing the format of the DL protocol format 600. In the DL protocol format 600, there are four octets in the protocol representation, and each octet is accompanied by eight bits. The second row of the DL protocol format 600 labeled "Bit" identifies the number of bits of each octet to assist in describing the format of the DL protocol format 600. The number on the left end of the DL protocol format 600 represents the number of octets preceding the middle row. For example, the fourth row of the DL protocol format 600 indicates that four octets precede the subsequent octets. As illustrated, the DL protocol format 600 includes a preamble 602, a data sync word 604, a length field 606, a frame control 608, a master ID 610, a track N frame 612, a destination address (dest addr) frame 614, a frame control extension (FC extension) 616, a sequence number (sequence nr) 618, an ACK 620, a network timer 622, a security header 624, a 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 can be used in a wireless battery management system protocol to adapt to different features.
[0062] 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 can be used by a primary network node to instruct a 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 frame after the primary network node scans the network as described with respect to FIG. 4A and pairs with the secondary network node as described with respect to FIG. 4B, as described with respect to FIG. 3.
[0063] In one example, the preamble 602 and the data synchronization word 604 are used by the primary network node and the secondary network node to detect the start of a frame of a data packet being transmitted between the primary network node and the secondary network node. The preamble 602 is used to synchronize data transmission between the primary network node and the secondary network node by indicating the start of the header information of the data frame, the end of the header information, and the start of the data payload. Here, the data frame is related to the entire frame of the DL protocol format 600. The data synchronization word 604 is used to synchronize data and the configuration channel between the primary network node and the secondary network node. The data synchronization word 604 includes a configuration code that specifies a frequency channel for each of the primary network node and the secondary network node to communicate with each other. The length field 606 indicates the length of the data frame. The frame control 608 includes information about the type of packet being sent. In one example, the type of packet can be a scan request, a scan response, a pairing request, a pairing response, etc.
[0064] In one example, the master ID 610 is an identifier for the primary network node that is used by the secondary network node to identify the primary network node. The track N frame 612 identifies the transceiver of the primary network node communicating with the secondary network node. The destination address frame 614 indicates the destination address on the receiving side of the communication. For example, when the communication is in a broadcast-like format, each of the secondary network nodes has the same destination address such that the destination address frame 614 applies to all secondary network nodes. The frame control extension 616 indicates whether the frame control 608 is extended and to what extent it is extended. The sequence number 618 indicates whether the current data packet is part of the original transmission from the primary network node to the secondary network node or part of a retransmission from the primary network node to the secondary network node. The ACK 620 indicates whether a transmission from the secondary network node to the primary network node has been received (e.g., 1 bit may indicate successful reception and 0 bit may indicate failed reception). The ACK 620 may include any suitable number of bits, for example, the number of secondary network nodes communicating with the primary network node. The network timer 622 indicates the time shared between the primary network node and the secondary network node. The common time is a time signal shared between the primary network node and the secondary network node to enable synchronized communication between the primary network node and the secondary network node. The network timer 622 is used to synchronize the secondary network node based on the timer of the primary network node.
[0065] In one example, security header 624 includes a frame counter and a key refresh control field. The frame counter is an arbitrary number that is used once by the primary network node to establish secure communication with the secondary network node. The key refresh control field is used to indicate and complete the update of the security key exchanged between the primary network node and the secondary network node. Additional exemplary details of network key generation for the BMS can be found in U.S. Patent Application No. 17 / 314,865, filed on May 7, 2021, by the same applicant, entitled "Key Refresh with Session Count for Wireless Management of Modular Subsystems", which is hereby incorporated by reference in its entirety. [Patent Document 4] U.S. Patent Application No. 17 / 314,865
[0066] Payload 626 contains data, which is the actual message intended to be sent. For example, payload 626 may include information regarding battery management from the primary network node to the secondary network node. MIC field 628 is used to confirm that the frame is from a defined transmitting side (e.g., the authenticity of the frame) and has not been modified. MIC field 628 protects the data integrity and authenticity of the frame by enabling the primary network node and the secondary network node to detect any changes to the frame content. CRC-32 630 is used for error detection in the frame in which payload 626 is encrypted. CRC-32 630 detects accidental changes to the raw data in the frame by comparing values based on a mathematical function performed on all or part of the content of the data frame, such as the remainder of polynomial division of the content of the data frame.
[0067] FIG. 7 shows a UL protocol format 700 used by a wireless battery management system such as, for example, wireless battery management system 100. The top row of the UL protocol format 700 labeled "Octet" represents an octet identifier to assist in describing the format of the UL protocol format 700. In the UL protocol format 700, there are four octets in the protocol representation, and each octet is accompanied by eight bits. The second row of the UL protocol format 700 labeled "Bit" identifies the number of bits of each octet to assist in describing the format of the UL protocol format 700. The number on the left end of the UL protocol format 700 represents the number of octets preceding the middle row. For example, the fourth row of the UL protocol format 700 indicates that four octets come before the subsequent octets. As illustrated, the UL protocol format 700 includes a preamble 702, a data sync word 704, a length field 706, a frame control 708, a master ID 710, a source address frame 712, a sequence number (sequence nr) 714, an ACK 716, a security header 718, a 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 can be used in a wireless battery management system protocol to adapt to different features.
[0068] The UL protocol format 700 is used by a wireless battery management system for a primary network node and a secondary network node to wirelessly communicate battery management information. For example, the UL protocol format 700 can be used by a primary network node to instruct a 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 frame as described with respect to FIG. 3 after the primary network node scans the network and pairs with the secondary network node as described with respect to FIGS. 4A and 4B.
[0069] In one example, the preamble 702 and the data synchronization word 704 are used by the primary network node and the secondary network node to detect the start of a frame of a data packet being transmitted between the primary network node and the secondary network node. The preamble 702 is used to synchronize data transmission between the secondary network node and the primary network node by indicating the start of the header information of the data frame, the end of the header information, and the start of the data payload. Here, the data frame is related to the entire frame of the UL protocol format 700. The data synchronization word 704 is used to synchronize data and the configuration channel between the secondary network node and the primary network node. The data synchronization word 704 includes a configuration code that identifies the frequency channel for each of the secondary network nodes to communicate with the primary network node. The length field 706 indicates the length of the data frame. The frame control 708 includes information about the type of packet being sent. In one example, the type of packet can be a scan request, a scan response, a pairing request, a pairing response, etc.
[0070] In one example, the master ID 710 is an identifier for a primary network node that is used by a secondary network node to identify the primary network node. The source address frame 712 indicates an address assigned by the primary network node to the secondary network node. For example, when data is broadcast, each of the secondary network nodes sends UL to the primary network node from a different source address such that the source address frame 712 is unique to each secondary network node. The sequence number 714 indicates whether the current data packet is part of the original transmission from the primary network node to the secondary network node or part of a retransmission from the primary network node to the secondary network node. The ACK 716 indicates whether a transmission from the primary network node to the secondary network node has been received. The ACK 716 can be a single bit and is set to 1 when the DL from the primary network node is successfully received (or remains 0 when it fails).
[0071] In one example, the security header 718 includes a frame counter and a key refresh control field. The frame counter is an arbitrary number that is used once by the primary network node to establish encrypted communication with the secondary network node. The key refresh control field is used to indicate and complete the update of the security key exchanged between the primary network node and the secondary network node. The payload 720 includes data that is the actual message intended to be sent. For example, the payload 720 may include information regarding the health of battery cells from the secondary network node to the primary network node. The MIC field 722 is used to confirm that the frame is from the defined transmitting side (its authenticity) and has not been modified. The MIC field 722 protects the data integrity and authenticity of the frame by enabling the primary network node and the secondary network node to detect any changes to the content of the frame. The CRC-32 724 is used for error detection in the frame in which the payload 720 is encrypted. The CRC-32 724 detects accidental changes to the raw data of the frame by comparing values based on a mathematical function performed on all or part of the content of the data frame, such as the remainder of polynomial division of the content of the frame.
[0072] As described above, for the primary network node 102, it may be useful for a secondary network node such as the secondary network node 206 to determine the time at which a given packet is generated that is sent to the primary network node 102. The time of packet reception by the primary network node 102 can be adversely affected by wireless communication, but the time of packet generation is less susceptible to such adverse effects. Thus, the time of packet generation provides a more accurate perception of the behavior of the WBMS 100. The secondary network nodes 206, 210 can 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 given packet was generated, as described below.
[0073] Figures 8, 9A, and 9B are illustrations of superframe intervals that can be used by a wireless battery management system according to various examples. Specifically, FIG. 8 shows multiple unicast transmissions (and responses thereto by secondary network nodes) in a single superframe, while FIGS. 9A and 9B show unicast transmissions (and responses thereto by secondary network nodes) in a single superframe, as well as broadcast transmissions (and responses thereto by secondary network nodes) distributed over multiple superframes. FIGS. 8, 9A, and 9B illustrate superframe intervals for five secondary network nodes, although this technique can be implemented in a battery management system with any number of secondary network nodes. FIGS. 10 and 11 are flowcharts of exemplary methods for operating a primary network node and a secondary network node, respectively, to implement the superframe communication shown in FIGS. 9A and 9B. FIG. 8 will be described first, followed by a parallel description of FIGS. 9A, 9B, 10, and 11. FIGS. 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 the systems 100 and 250 shown in FIGS. 1 and 2B, can also implement the techniques shown in FIGS. 8-11.
[0074] Figure 8 shows a superframe 800. The superframe 800 is available for a primary network node 801 to communicate with secondary network nodes 802 - 806. The superframe 800 includes slots 807 - 813. The superframe 800 shows an efficient implementation of unicast communication in that, as will be described in more detail below, the primary network node 801 uses slot 808 to transmit a unicast downlink packet and the secondary network node 802 uses slot 809 to transmit a response uplink packet. Instead of leaving the remaining slots 810 - 813 unused, the primary network node 801 uses slot 810 to transmit a unicast downlink packet and the secondary network node 804 uses slot 811 to transmit a response uplink packet. Similarly, the primary network node 801 uses slot 812 which is used to transmit a unicast downlink packet and the secondary network node 803 uses slot 813 which is used to transmit a response uplink packet.
[0075] Slot 807 begins with a downlink (DL) guard 814, one of the purposes of which was described above with reference to FIG. 5. Also, during slot 807, secondary network nodes 802 - 806 each experience a receive standby time 815 - 819. In slot 808, the primary network node 801 transmits a unicast downlink packet 820 during a DL transmission time frame 821, followed by a transmit - receive frame 822 in preparation for the primary network node 801 to transition from a transmit mode to a receive mode upon transition of slot 808 to slot 809. Also, during slot 808, secondary network nodes 802 - 806 receive the unicast downlink packet 820 as indicated by numerals 823 and 825 - 828. The secondary network node 802 experiences a receive - transmit frame 824 in preparation for the secondary network node 802 to transition from a receive mode to a transmit mode upon transition of slot 808 to slot 809.
[0076] In slot 809, the unicast downlink packet 820 addressed to the secondary network node responds to the primary network node 801 with an uplink packet. In some examples, the uplink packet can be a unicast packet. In the example of FIG. 8, the unicast downlink packet 820 is addressed to the secondary network node 802. Thus, in slot 809, the secondary network node 802 transmits an uplink packet 832 to the primary network node 801, and the primary network node 801 receives the uplink packet 832 as indicated by the number 829. During slot 809, the primary network node 801 experiences a UL reception time frame 830 to facilitate the reception of the uplink packet 832 and the receive - transmit frame 831. Also, during slot 809, the secondary network node 802 experiences a UL transmission time frame 833 and a transmit - receive frame 834. During slot 809, the secondary network nodes 803 - 806 do not transmit or receive packets.
[0077] If 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 slot 810 instead of transmitting the unicast downlink packet 835 as shown in FIG. 8. In other words, if the secondary network node 802 fails to 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 fail to receive the uplink packet 832 during slot 809. In either case, the primary network node 801 is configured to retransmit the unicast downlink packet 820 in slot 810 instead of transmitting the unicast downlink packet 835 as shown in FIG. 8.
[0078] In slot 810, the primary network node 801 transmits another unicast downlink packet 835, and then the primary network node 801 experiences a DL transmission time frame 836 and a transmit - receive frame 837. Also in slot 810, the secondary network nodes 802 - 806 receive the unicast downlink packet 835 as indicated by the numbers 838, 840, 842, 845, and 847. During the reception of the unicast downlink packet 835, the secondary network node 802 experiences a DL reception time frame 839, the secondary network node 803 experiences a DL reception time frame 841, the secondary network node 804 experiences a DL reception time frame 843 and a receive - transmit frame 844, the secondary network node 805 experiences a DL reception time frame 846, and the secondary network node 806 experiences a DL reception time frame 848. In slot 811, the secondary network node 804 (to which the unicast downlink packet 835 is addressed) transmits an uplink packet 852 to the primary network 801, and as indicated by the number 849, the primary network node 801 receives the uplink packet 852. In slot 811, the primary network node 801 experiences a UL reception time frame 850 and a receive - transmit frame 851, while the secondary network node 804 experiences a UL transmission time frame 853 and a transmit - receive frame 854.
[0079] In slot 812, another unicast downlink packet 855 is transmitted by the primary network node 801 and experiences a DL transmission time frame 856 and a transmit-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 the reception of the unicast downlink packet 855, the secondary network node 802 experiences a DL reception time frame 858, the secondary network node 803 experiences a DL reception time frame 860 and a receive-transmit frame 861, the secondary network node 804 experiences a DL reception time frame 863, the secondary network node 805 experiences a DL reception time frame 865, and the secondary network node 806 experiences a DL reception time frame 867. In slot 813, the secondary network node 803 (to which the unicast downlink packet 855 is addressed) transmits an uplink packet 870 to the primary network 801, and the primary network node 801 receives the uplink packet 870 as indicated by the number 868. Also, in slot 813, the primary network node 801 experiences a UL reception time frame 869, while the secondary network node 803 experiences a UL transmission time frame 871.
[0080] Thus, as shown in FIG. 8, the primary network node 801 may transmit unicast downlink packets in slots 808, 810, and 812, as well as in slots 809, 811, and 813, and the secondary network nodes 802, 804, and 803 may each transmit an uplink packet response to the primary network node 801. In this way, the superframe may be useful for transmitting unicast communications, while reducing the waste of superframe slots, thereby reducing the inefficiencies associated with unicast superframe communications.
[0081] FIG. 9A, FIG. 9B, FIG. 10, and FIG. 11 will be described in parallel. FIG. 9A illustrates a superframe 900 useful for exchanging packets between a primary network node 901 and secondary network nodes 902 to 906. FIG. 9B illustrates a superframe 961 useful for exchanging packets between the primary network node 901 and the secondary network nodes 902 to 906. In some examples, the superframes 900 and 961 are consecutive, the superframe 961 occurs immediately after the superframe 900, and there is no intervening superframe between the superframes 900 and 961. The superframe 900 may include slots 907 to 913, and the superframe 961 may include slots 962 to 968. FIGS. 9A and 9B show the efficient transmission of unicast packets in the superframe. Specifically, the superframes 900, 961 of FIGS. 9A and 9B show the transmission of a unicast downlink packet in slot 908 and the transmission of an uplink packet in slot 909. Instead of leaving the remaining unused superframes as inefficient, the primary network node 901 transmits a broadcast downlink packet 935 in slot 910, and the secondary network nodes 904 to 906 transmit uplink packets in slots 911 to 913. In slot 963, the primary network node 901 transmits another broadcast downlink packet (e.g., excluding the ACK field) that is substantially the same as the broadcast downlink packet in slot 910 (e.g., including the payload), and in slots 964 to 966, the secondary network nodes 902, 903, and 906 transmit uplink packets in response to the broadcast downlink packet in slot 963. In this way, unicast and broadcast communications are flexibly distributed over multiple superframes to minimize the occurrence of unused superframe slots, thereby reducing the inefficiencies associated with unicast communication in the superframe.
[0082] Method 1000 begins with a primary network node transmitting a unicast downlink packet to a first secondary network node among a set of secondary network nodes in a first superframe (1002). Method 1100 begins with a secondary network node receiving a unicast downlink packet from a primary network node and, in response to the unicast downlink packet, transmitting a first uplink packet to the primary network node in the first superframe (1102). Slot 907 indicates DL guard frame 914 and receive wait times 915 - 919. Slot 908 indicates the transmission of unicast downlink packet 920 by primary network node 901, experiencing DL transmission time frame 921 and transmit - receive frame 922. Also in slot 908, secondary network nodes 902 - 906 receive unicast downlink packet 920 as indicated by digits 923 and 925 - 928, and secondary network node 902 experiences transmit - receive frame 924. In the example shown in FIG. 9A, primary network node 901 directs or addresses unicast downlink packet 920 to secondary network node 902. Secondary network node 902 may be configured to determine that unicast downlink packet 920 is addressed to it based on the data within unicast downlink packet 920. Each of secondary network nodes 903 - 906 may be configured to determine that unicast downlink packet 920 is not addressed to them (i.e., not addressed to the respective secondary network node making the determination) based on the data within unicast downlink packet 920. In slot 909, secondary network node 902 may transmit uplink packet 932 to primary network node 901. Method 1000 includes a primary network node receiving an uplink packet from a first secondary network node in the first superframe and in response to the unicast downlink packet (1004).The primary network node 901 receives an uplink packet 932 as indicated by the number 929. In slot 909, the secondary network node 902 experiences a UL transmission time frame 933 and a transmit - receive frame 934. Also in slot 909, the primary network node 901 experiences a UL reception time frame 930 and a receive - transmit frame 931. In response to the determination that the unicast downlink packet 920 is not addressed to each of the secondary network nodes 903 - 906, 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.
[0083] Method 1000 includes a primary network node transmitting a broadcast downlink packet to a set of secondary network nodes in a first superframe (1006). In slot 910, the primary network node 901 transmits a broadcast downlink packet 935 and experiences a DL transmission time frame 936 and a transmit-receive frame 937. Method 1100 includes a secondary network node receiving a broadcast downlink packet from a primary network node in a first superframe and not transmitting 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 the numbers 938, 940, 942, 945, and 947. Also, in slot 910, the secondary network nodes 902-906 experience DL reception time frames 939, 941, 943, 946, and 948. The secondary network node 904 experiences a receive-transmit 944. The secondary network node 902 (1102) that transmitted an uplink packet in slot 909 does not transmit a response uplink packet to the broadcast downlink packet in slot 911 (1104). Rather, the secondary network node 904 experiences a UL transmission time frame 952 while transmitting an uplink packet 951.
[0084] As will be described in more detail below, the transmission of uplink packets by the secondary network node 904 in slot 911 is consistent with the uplink packet transmission schedule having a superframe 900 that, instead of the unicast downlink packet 920, effectively starts with the transmission of a broadcast downlink packet 935. This schedule may be referred to as the default uplink packet transmission schedule. The secondary network node 904 may be configured to determine that slot 911 is allocated to the secondary network node 904 under this default uplink packet transmission schedule. In response to making this determination, the secondary network node 904 may be configured to transmit an uplink packet 951 during slot 911. The secondary network node 905 may be configured to determine that slot 912 is allocated to the secondary network node 905 under the default uplink packet transmission schedule. In response to making this determination, the secondary network node 905 may be configured to transmit an uplink packet 956 during slot 912. The secondary network node 906 may be configured to determine that slot 913 is allocated to the secondary network node 906 under the default uplink packet transmission schedule. In response to making this determination, the secondary network node 906 may be configured to transmit an uplink packet 959 during slot 913. Thus, figuratively speaking, it can be known that the secondary network nodes 904 to 906 are trying to execute tasks in slots 911 to 913 according to the default schedule.
[0085] Secondary network nodes 902 and 903 may be configured to refrain from transmitting a response to broadcast downlink packet 935 during superframe 900 in response to a determination that default time slots 908 and 909 have already passed or have occurred. For example, secondary network node 902 may be configured to receive broadcast downlink packet 935 and determine that secondary network node 902 is scheduled to respond in slot 908 according to a default schedule. However, secondary network node 902 determines that slot 908 has already occurred by the time secondary network node 902 receives broadcast downlink packet 935. Accordingly, secondary network node 902 refrains from transmitting a response to broadcast downlink packet 935 during superframe 900. Similarly, 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 network node 903 receives broadcast downlink packet 935. Accordingly, secondary network node 903 refrains from transmitting a response to broadcast downlink packet 935 during superframe 900.
[0086] Method 1000 includes a primary network node receiving additional uplink packets (1008) from fewer secondary network nodes in a set of secondary network nodes than all of the secondary network nodes in a first superframe and in response to broadcast downlink packets. For example, as indicated by numeral 949, primary network node 901 receives uplink packet 951 from secondary network node 904. Also, in slot 911, primary network node 901 experiences UL receive time frame 950, and secondary network node 905 experiences receive-transmit frame 953. Other secondary network nodes may send response uplink packets to the primary network node (1008). For example, in slot 912, secondary network node 905 may send uplink packet 956 and may experience UL transmit time frame 957. Also, in slot 912, primary network node 901 receives uplink packet 956 as indicated by numeral 954, and primary network node 901 also experiences UL receive time frame 955. Also, in slot 912, secondary network node 906 experiences receive-transmit frame 958. In slot 913, secondary network node 906 may send uplink packet 959 and may experience UL transmit time frame 960. Receiving uplink packet 959 in slot 913 is possible for primary network node 901, but in this example, uplink packet 959 is shown as being lost or dropped during transmission such that primary network node 901 does not receive uplink packet 959.
[0087] Method 1000 includes a primary network node transmitting a broadcast downlink packet in a second superframe and receiving, in the second superframe, uplink packets that were not received in the first superframe (1010). For example, in the context of FIGS. 9A and 9B, broadcast downlink packet 935 was received by all secondary network nodes 902-906, but since only three slots (911-913) remained in superframe 900, not all of secondary network nodes 902-906 were able to send response uplink packets to primary network node 901. Thus, in slot 911, secondary network node 904 sent its uplink packet, in slot 912, secondary network node 905 sent its uplink packet, and in slot 913, secondary network node 906 sent its uplink packet. The transmission of these specific uplink packets in slots 911-913 is consistent with an uplink packet transmission schedule that could effectively have superframe 900, which began with the transmission of broadcast downlink packet 935 instead of unicast downlink packet 920. In other words, the transmission of these specific uplink packets in slots 911-913 is consistent with the uplink packet transmission scheme shown in superframe 500 of FIG. 5. However, under this scheme, secondary network nodes 902 and 903 do not have an opportunity to send their uplink packets in superframe 900. Thus, in some instances, secondary network nodes 902 and 903 send their uplink packets in superframe 961, which is the next consecutive superframe after superframe 900. Also, if any uplink packets transmitted by secondary network nodes in superframe 900 are not received by primary network node 901 (e.g., due to being dropped), such uplink packets may be retransmitted in superframe 961.To trigger the transmission of uplink packets by secondary network nodes 902 and 903, and to trigger the retransmission of dropped uplink packet 959 by secondary network node 906, the primary network node transmits a broadcast downlink packet (1010) in the second superframe that is substantially the same as the broadcast downlink packet most recently transmitted in the preceding superframe, except as described below. In response to this broadcast downlink packet transmitted in the second superframe, the secondary network node transmits an uplink packet to the primary network node in the second superframe (1106). The primary network node receives in the second superframe the uplink packet transmitted by the secondary network node in 1106, and any other uplink packet that could be transmitted in the second superframe that was not transmitted in the first superframe (1010).
[0088] In the example of FIGS. 9A and 9B, slot 962 includes a DL guard 969 and receive standby times 970-974. In slot 963, the primary network node 901 transmits a broadcast downlink packet 975 and experiences a DL transmission time frame 976 and a transmit-receive frame 977. Also in slot 963, the secondary network nodes 902-906 receive the broadcast downlink packet 975 as indicated by the 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 acknowledgement 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 network nodes 902-906, the ACK may be a 5-bit code, with each bit indicating whether the uplink packet of the corresponding secondary network node 902-906 was received in the superframe 900. In some examples, the most significant bit of the ACK may correspond to the secondary network node 902, the second most significant bit of the ACK may correspond to the secondary network node 903, the third most significant bit of the ACK may correspond to the secondary network node 904, the fourth most significant bit of the ACK may correspond to the secondary network node 905, and the least significant bit of the ACK may correspond to the secondary network node 906. In the superframe 900, as described above, only the uplink packets of the secondary network nodes 904 and 905 were received by the primary network node 901. Thus, the ACK in the broadcast downlink packet 975 may be 00110, with the two "1" bits corresponding to the uplink packets received for the secondary network nodes 904 and 905 and the three "0" bits corresponding to the uplink packets not received for the secondary network nodes 902, 903, and 906. The secondary network node 902 also experiences a receive-transmit frame 979.
[0089] In slot 964, the secondary network node 902 that did not have an opportunity to transmit its uplink packet in the superframe 900 transmits its uplink packet 986 in response to the ACK of the broadcast downlink packet 975, which indicates that the uplink packet for the secondary network node 902 was not received in the superframe 900. The secondary network node 902 also experiences the UL transmission time frame 987. Also, in slot 964, the primary network node 901 receives the uplink packet 986 as indicated by the number 984, and the primary network node 901 also experiences the UL reception time frame 985. Also, in slot 964, the secondary network node 903 experiences the receive - transmit frame 988.
[0090] In slot 965, the secondary network node 903 that did not have an opportunity to transmit its uplink packet in the superframe 900 transmits its uplink packet 991 in response to the ACK of the broadcast downlink packet 975, which indicates that the uplink packet for the secondary network node 903 was not received in the superframe 900. The secondary network node 903 also experiences the UL transmission time frame 992. Also, in slot 965, the primary network node 901 receives the uplink packet 991 as indicated by the number 989, and the primary network node 901 also experiences the UL reception time frame 990. In slot 965, the secondary network node 906 experiences the receive - transmit frame 994.
[0091] In slot 966, the next network node 906 where the uplink packet 959 was dropped in the superframe 900 transmits an uplink packet 993 in response to an ACK of the broadcast downlink packet 975, indicating that the uplink packet 959 for the secondary network node 906 was not received in the superframe 900. The secondary network node 906 also experiences a UL transmission time frame 995. Also, in slot 966, the primary network node 901 receives the uplink packet 993 as indicated by the number 996, and the primary network node 901 also experiences a UL reception time frame 997.
[0092] ACKs for broadcast downlink packets 975 may indicate or establish the sequence and timing for secondary network nodes 902 - 906 to transmit uplink packets in superframe 961, or in the case of secondary network nodes 904 and 905, to refrain from transmitting. In the example to be described, the ACK is 00110, which indicates that uplink packets for secondary network nodes 902, 903, and 906 should be transmitted in superframe 961. Conversely, the ACK indicates or establishes that secondary network nodes 904 and 905 should not transmit uplink packets in superframe 961. It may be possible to transmit uplink packets in two consecutive frames of superframe 961 for secondary network nodes 902 and 903, then transmit nothing for the next two consecutive frames of superframe 961 (since uplink packets for secondary network nodes 904 and 905 should not be retransmitted in superframe 961), and then transmit an uplink packet for secondary network node 906. However, this approach is inefficient because two of the frames remain unused. Therefore, in some examples, uplink packets to be transmitted in superframe 961 (e.g., uplink packets 986, 991, and 993) are transmitted in consecutive frames without any interfering unused frames.
[0093] In other words, secondary network nodes 902, 903, and 906 transmit uplink packets 986, 991, and 993 in consecutive slots 964 - 966 without any interfering unused slots. For example, secondary network node 902 may be configured to determine that its bit position in the ACK (e.g., the first bit) is the first zero bit of the ACK, and in response to this determination, transmit uplink packet 986 during slot 964. Secondary network node 903 may be configured to determine that its bit position in the ACK of the ACK (e.g., the second bit) is the second zero bit, and in response to this determination, transmit uplink packet 991 during slot 965. Secondary network node 904 may be configured to determine that its bit position in the ACK (e.g., the third bit) is a one bit, and in response to this determination, refrain from transmitting an uplink packet during slot 966. Secondary network node 905 may be configured to determine that its bit position in the ACK (e.g., the fourth bit) is a one bit, and in response to this determination, refrain from transmitting an uplink packet during slot 966 or during slot 967. Secondary network node 906 may be configured to determine that its bit position in the ACK (e.g., the fifth bit) is the third zero bit of the ACK, and in response to this determination, transmit uplink packet 993 during slot 966. Additionally or alternatively, each of 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. Therefore, each of secondary network nodes 902 - 906 may be configured to determine whether its respective bit position in the ACK is zero, determine the number of preceding zeros in the ACK, and select a time slot for transmission based on these determinations.
[0094] Thereafter, at and after slot 967, another unicast or broadcast downlink signal may be transmitted by the primary network node 901, and the techniques described herein may be repeated. For example, the primary network node 901 may transmit a broadcast downlink packet during slot 967, and in response, the secondary network node 906 may transmit an uplink packet during slot 968. The primary network node 901 may be configured to determine that an ACK sent with the broadcast downlink packet 975 by the primary network node 901 indicates that three uplink packets should have been transmitted between slots 964 - 966. In response to making this determination, and in response to the confirmation of receipt of uplink packets 986, 991, and 993, the primary network node 901 may be configured to transmit a broadcast downlink packet during slot 967 (not shown in FIG. 9B). The secondary network node 906 may be configured to determine that a subsequent time slot, i.e., slot 968, is assigned to the secondary network node 906 under the default uplink packet transmission schedule. In response to making this determination, the secondary network node 906 may be configured to transmit an uplink packet during slot 968 in response to the broadcast downlink packet received by the secondary network node 906 during slot 967.
[0095] The term "coupled" is used herein. This term may encompass a connection, communication, or signal path that enables a functional relationship consistent with this description. For example, if device A generates a signal for controlling device B to perform a certain action, in a first example, device A is coupled to device B, or in a second example, if intervening component C does not substantially change the functional relationship between device A and device B, device A is coupled to device B via intervening component C such that device B is controlled by device A via the control signal generated by device A.
[0096] A device “configured” to perform a certain task or function can be configured (e.g., programmed and / or hardwired) to perform that function by a manufacturer during manufacture and / or can be configured (or reconfigured) by a user after manufacture to perform that function and / or other additional or alternative functions. Such configuration can be implemented via firmware and / or software that programs the device, via the structure and / or layout of the hardware components and the interconnection of the device, or via a combination thereof.
[0097] Unless otherwise specified, “about,” “approximately,” or “substantially” preceding a value means + / - 10 percent of the indicated value.
[0098] Modifications are possible in the examples described, and other examples are possible within the scope of the patent specification.
Claims
1. A vehicle battery management system (BMS), A set of battery cells, A secondary network node connected to the set of battery cells, In the first slot of the superframe, a unicast downlink packet addressed to the secondary network node is received wirelessly from the primary network node. In the second slot of the superframe, an uplink packet is wirelessly transmitted to the primary network node in response to the unicast downlink packet. The secondary network node is configured as follows: This includes a vehicle battery management system (BMS).
2. The BMS according to claim 1, A BMS in which the first and second slots are consecutive slots.
3. The BMS according to claim 1, A BMS further configured such that the secondary network node receives from the primary network node another unicast downlink packet addressed to another secondary network node coupled to another set of battery cells in a third slot of the superframe.
4. The BMS according to claim 1, A BMS further configured such that the secondary network node receives broadcast downlink packets from the primary network node in the third slot of the superframe.
5. The BMS according to claim 4, A BMS further configured such that the secondary network node refrains from sending another uplink packet to the primary network node in the superframe in response to the broadcast downlink packet.
6. The BMS according to claim 5, The BMS is further configured such that the secondary network node transmits other uplink packets in a second superframe that is contiguous with the superframe in response to a second broadcast downlink packet.
7. The BMS according to claim 6, A BMS in which the second broadcast downlink packet is transmitted in the second superframe and has the same payload as the broadcast downlink packet.
8. The BMS according to claim 6, A BMS further configured such that the secondary network node transmits the other uplink packet in the second superframe in response to the second broadcast downlink packet indicating that the other uplink packet was not received by the secondary network node in the superframe.
9. The BMS according to claim 5, The aforementioned secondary network node, Based on the default schedule, the time slot in the superframe is determined for other uplink packets. It is determined that the aforementioned time slot has already occurred in the superframe, Based on the determination that the aforementioned time slot has already occurred in the superframe, the superframe refrains from sending the other uplink packets to the primary network node. BMS is further structured in this way.
10. It is a method, The primary network node transmits a unicast downlink packet to the first secondary network node of the set of secondary network nodes and transmits a broadcast downlink packet to the set of secondary network nodes in the first superframe. The primary network node receives an uplink packet from the first secondary network node in the first superframe in response to the unicast downlink packet, The primary network node receives, in the first superframe, additional uplink packets from fewer secondary network nodes than all of the set of secondary network nodes in response to the broadcast downlink packets. Methods that include...
11. The method according to claim 10, A method further comprising the primary network node transmitting a second broadcast downlink packet in a second superframe having the same payload as the payload of the broadcast downlink packet.
12. The method according to claim 11, A method wherein the second broadcast downlink packet includes an acknowledgment code indicating a secondary network node in the set of secondary network nodes in which the uplink packet was not received in the first superframe.
13. A method according to claim 12, A method further comprising the primary network node receiving an uplink packet in the second superframe from the secondary network node identified by the verification code.
14. The method according to claim 13, A method in which the timing of the uplink packet received from the secondary network node in the second superframe is based on the confirmation code.
15. The method according to claim 10, A method in which the timing of the uplink packets received from the secondary network node in the first superframe is based on a default schedule.
16. It is a method, The secondary network node transmits a first uplink packet to the primary network node in the 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. The secondary network node transmits a second uplink packet to the primary network node in the second superframe following the first superframe in response to the broadcast downlink packet of the second superframe. Methods that include...
17. The method according to claim 16, A method wherein the broadcast downlink packet of the second superframe has the same payload as the broadcast downlink packet of the first superframe.
18. The method according to claim 16, A method further comprising the second network node transmitting the second uplink packet in a slot of the second superframe determined based on the acknowledgment code in the broadcast downlink packet of the second superframe.
19. The method according to claim 18, A method wherein the verification code indicates that the primary network node did not receive the response in the first superframe.
20. The method according to claim 16, Determining the time slot in the first superframe for the second uplink packet based on the default schedule, Determining that the aforementioned time slot has already occurred in the first superframe, Based on the determination that the time slot has already occurred in the first superframe, the response to the broadcast downlink packet is not transmitted in the first superframe. Methods that further include the above.