PERFORMANCE OPTIMIZATION FOR BLUETOOTH LE PERIPHERY CONNECTION
By selectively responding to packets with non-zero data or set multi-data bits and managing connection timeouts, Bluetooth LE peripheral devices extend battery life and reduce power consumption effectively.
Patent Information
- Application Number
- DE102025001573
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-13
- Filing Date
- 2025-05-09
- Publication Date
- 2025-11-13
AI Technical Summary
Bluetooth LE peripheral devices experience high power consumption due to unnecessary responses to packets from central devices, leading to shortened battery life.
The peripheral device selectively responds to packets based on the presence of a non-zero data byte count or a set multi-data bit, enters sleep mode when appropriate, and uses timers or counters to manage connection timeouts, reducing unnecessary acknowledgments.
This approach significantly reduces power consumption by up to 80% and minimizes latency while maintaining connection integrity, extending battery life and reducing interference.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] This application claims priority over U.S. patent application no. 181662,242, which was filed on May 13, 2024, and the disclosure of which is hereby incorporated in its entirety by reference. Area
[0002] This disclosure describes a system and a method for reducing the power consumption of a connected Bluetooth LE peripheral device. background
[0003] The Bluetooth protocol is one of many wireless networking protocols currently in use. It is commonly used to connect smartphones to watches, headphones, speakers, and other accessories. Bluetooth Low Energy utilizes 40 physical channels in the 2.4 GHz ISM band, with each channel spaced 2 MHz apart.
[0004] A key concept in the Bluetooth protocol is a connection. A connection is established between a central device and a peripheral device. Once the connection is established, communication between the two devices occurs in a precisely defined manner. Specifically, the central device provides the peripheral device with a parameter called the connection interval, which specifies the connection interval. This connection interval is a multiple of 1.25 milliseconds, ranging from 7.5 milliseconds to 4 seconds. The beginning of each connection interval can be referred to as the connection anchor point. At each connection anchor point, the central device sends a packet to the peripheral device.This packet can contain data or it can simply be a 0-byte data payload packet, also known as an empty packet, transmitted to maintain synchronization between the central device and the peripheral device. The peripheral device then responds to this packet. This response can be an acknowledgment or a packet containing data.
[0005] The packets transmitted during a connection interval are called a connection event. In some implementations, there can be multiple packets per connection event.
[0006] Therefore, in most systems, the peripheral device transmits at least one packet during each connection interval. This can lead to higher power consumption than desired and reduced battery life.
[0007] Therefore, it would be advantageous to have a system and a procedure that would allow the connected peripheral device to better decide when to respond to the central device. This would extend the battery life of the peripheral device without affecting the operation of the Bluetooth connection. Summary
[0008] A system and method for reducing the power consumption of a connected Bluetooth LE peripheral device are disclosed. Instead of responding to every packet transmitted by the central device, the peripheral device responds appropriately, sending a reply only when a response from the central device is required. In this way, the peripheral device is able to extend battery life by not responding to most of the empty packets transmitted by the central device. The peripheral device also includes mechanisms to ensure that the connection is not terminated by the central device due to a lack of response from the peripheral device.
[0009] According to one embodiment, a method for reducing the power consumption of a Bluetooth peripheral device connected to a central Bluetooth device is disclosed. The method comprises: receiving a packet from the central Bluetooth device; checking at the Bluetooth peripheral device whether the packet has a non-zero data byte count; checking at the Bluetooth peripheral device whether the packet has a set multi-data bit (MD bit); and transmitting an acknowledgment from the Bluetooth peripheral device to the central Bluetooth device in response to the packet only if the packet has a non-zero data byte count or a set MD bit.In some embodiments, the method further includes: checking at the Bluetooth peripheral device whether there is data available for transmission in a transmission queue; and transmitting a peripheral data packet to the central Bluetooth device in response to the packet if there is data available for transmission in the transmission queue. In some embodiments, the Bluetooth peripheral device enters a sleep mode after transmitting the acknowledgment. In some embodiments, the Bluetooth peripheral device enters a sleep mode after receiving the packet if the packet has a data byte count of zero and the MD bit is not set.
[0010] According to a further embodiment, a method for reducing the power consumption of a Bluetooth peripheral device connected to a central Bluetooth device is disclosed.The procedure includes: monitoring a time period or a number of connection intervals at the Bluetooth peripheral device since the Bluetooth peripheral device last transmitted a packet that was successfully received by the central Bluetooth device; receiving a packet from the central Bluetooth device; checking at the Bluetooth peripheral device whether the packet has a non-zero data byte count; checking at the Bluetooth peripheral device whether the packet has a set multi-data bit (MD bit); and transmitting an acknowledgment from the Bluetooth peripheral device to the central Bluetooth device in response to the packet only if: the packet has a non-zero data byte count; the packet's MD bit is set; or a connection to the central Bluetooth device is about to time out.In some embodiments, the method further includes: checking, at the Bluetooth peripheral device, whether there is data available for transmission in a transmission queue; and transmitting a peripheral data packet to the central Bluetooth device in response to the packet if there is data available for transmission in the transmission queue. In some embodiments, the Bluetooth peripheral device uses a counter to count the number of consecutive connection intervals that have elapsed since the last transmission of a packet by the Bluetooth peripheral device that was successfully received by the central Bluetooth device. In certain embodiments, the Bluetooth peripheral device determines a number of connection intervals (N) that fall within a connection timeout period.In certain embodiments, the Bluetooth peripheral device transmits the acknowledgment if the number of consecutive connection intervals during which the Bluetooth peripheral device did not transmit a packet that was successfully received by the central Bluetooth device is greater than N-2. In certain embodiments, the Bluetooth peripheral device transmits the acknowledgment if the number of consecutive connection intervals during which the Bluetooth peripheral device did not transmit a packet that was successfully received by the central Bluetooth device is greater than NX, where X is between 2 and N-1.In some embodiments, the Bluetooth peripheral device uses a timer to measure the time elapsed since the last transmission of a packet by the Bluetooth peripheral device that was successfully received by the central Bluetooth device. In certain embodiments, the Bluetooth peripheral device transmits the acknowledgment when a timer value is greater than 90% of a connection timeout period.
[0011] According to a further embodiment, a Bluetooth device is disclosed. The Bluetooth device comprises a Bluetooth network interface; a processing unit; and a storage device containing instructions which, when executed by the processing unit, cause the Bluetooth peripheral device to: receive a packet from a central Bluetooth device with which the Bluetooth peripheral device is connected; and transmit an acknowledgment in response to the packet only if: the packet has a non-zero data byte count; the MD bit of the packet is set; or a connection to the central Bluetooth device is about to be time-transmitted.In some embodiments, the Bluetooth peripheral device includes a counter for counting the number of consecutive connection intervals that have elapsed since the last transmission of a packet by the Bluetooth peripheral device that was successfully received by the central Bluetooth device. In certain embodiments, the Bluetooth peripheral device determines a number of connection intervals (N) that fall within a connection timeout period. In certain embodiments, the Bluetooth peripheral device transmits the acknowledgment when the number of consecutive connection intervals that have elapsed during which the Bluetooth peripheral device did not transmit a packet to the central Bluetooth device is greater than N-2.In certain embodiments, the Bluetooth peripheral transmits the acknowledgment when the number of consecutive connection intervals during which the Bluetooth peripheral did not transmit a packet to the central Bluetooth device is greater than NX, where X is between 2 and N-1. In some embodiments, the Bluetooth peripheral includes a timer to measure the time elapsed since the last transmission of a packet by the Bluetooth peripheral that was successfully received by the central Bluetooth device. In some embodiments, the Bluetooth peripheral transmits the acknowledgment when a value of the timer is greater than 90% of a connection timeout period.In certain embodiments, the storage device further contains instructions which, when executed by the processing unit, cause the Bluetooth peripheral device to: check whether there is data available for transmission in a transmission queue; and transmit a peripheral data packet to the central Bluetooth device if there is data available for transmission in the transmission queue. Brief description of the drawings
[0012] For a better understanding of the present disclosure, reference is made to the accompanying drawings, in which identical elements are labelled with the same reference symbols, and in which: Fig. Figure 1A shows a block diagram of a Bluetooth device according to one embodiment; Fig. Figure 1B shows a Bluetooth network comprising a central device and a peripheral device; Fig. Figures 2A-2D show four different scenarios for communication between the central device and the peripheral device; Fig. 3 an optimization of the in Fig. The scenario shown in 2A illustrates this; Fig. 4 an optimization of the in Fig. Scenario 2B shows; Fig. 5 an optimization of the in Fig. The scenario shown in 2C illustrates this; Fig. 6 an optimization of the in Fig. The 2D scenarios shown depict; and Fig. Figure 7 shows the operation of the peripheral device according to one embodiment. Detailed description
[0013] This disclosure describes a system and a method by which a connected Bluetooth LE device, acting as a peripheral device, can extend battery life by selectively responding to packets transmitted by the central device.
[0014] Fig. Figure 1A shows a block diagram of a representative Bluetooth device 10 that can be used to implement the disclosed method for extending battery life.
[0015] The Bluetooth device 10 comprises a processing unit 20 and an associated memory device 25. The processing unit 20 can be any suitable component, such as a microprocessor, an embedded processor, an application-specific circuit, a programmable circuit, a microcontroller, or another similar device. This memory device 25 contains the instructions 26 which, when executed by the processing unit 20, cause the Bluetooth device 10 to perform the functions described herein. The memory device 25 can be non-volatile memory, such as a flash ROM, an electrically erasable ROM, or other suitable devices. In other embodiments, the memory device 25 can be volatile memory, such as RAM or DRAM.
[0016] Although a storage device 25 is disclosed, any non-volatile, computer-readable medium can be used to store these instructions. For example, a read-only memory (ROM), random-access memory (RAM), a magnetic storage device such as a hard disk, or an optical storage device such as a CD or DVD can be used. Furthermore, these instructions can be downloaded to the storage device 25, for example, via a network connection (not shown), via a CD-ROM, or by some other mechanism. These instructions can be written in any programming language, which is not limited by this disclosure. Thus, in some embodiments, there can be multiple non-volatile, computer-readable media containing the instructions described herein.The first computer-readable non-volatile medium can be associated with processing unit 20, as in . Fig. Figure 1A shows the second computer-readable non-volatile medium, which can be a CD-ROM or other storage device located remotely from the Bluetooth device 10. The instructions contained on this second computer-readable non-volatile medium can be downloaded to the storage device 25 to enable the Bluetooth device 10 to execute the instructions.
[0017] The Bluetooth device 10 also includes a Bluetooth network interface 30, which is connected via an antenna 35 to a Bluetooth network 100 (see Fig. 1B) is connected.
[0018] The Bluetooth device 10 can include a data storage device 40 in which data received and transmitted by the Bluetooth network interface 30 is stored. This data storage device 40 is typically volatile memory. The processing unit 20 has the capability to read and write to the data storage device 40 in order to communicate with the other devices in the Bluetooth network 100. In some embodiments, the data storage device 40 includes a receive queue for packets to be received by the Bluetooth network interface 30 and a transmit queue for packets to be transmitted by the Bluetooth network interface 30.
[0019] The Bluetooth device 10 can also include a timer 50. The timer 50 can be a free-running timer that increments at a predefined rate. In some embodiments, the timer 50 can be used to wake the Bluetooth device 10 from sleep mode.
[0020] Although not shown, the Bluetooth device 10 also has a power supply, which may be a battery.
[0021] Although the processing unit 20, the storage device 25, the Bluetooth network interface 30, the timer 50 and the data storage device 40 in Fig. Since 1A are shown as separate components, it is obvious that some or all of these components may be integrated into a single electronic component. Rather, it serves the purpose of Fig. 1A is to illustrate the functionality of the Bluetooth device 10, not its physical configuration.
[0022] Fig. Figure 1B shows a Bluetooth network 100 comprising a first Bluetooth device, referred to as the central device 110, and a second Bluetooth device, referred to as the peripheral device 120. The peripheral device 120 may have a similar architecture to those described in Fig. 1A is shown. The architecture of the central device 110 may be similar to that shown in Fig. However, as shown in 1A, it may include a more powerful processing unit, more memory, and different network interfaces.
[0023] The central device 110 can use one of several mechanisms to establish a connection. For legacy advertising, the central device 110 transmits a CONNECT_IND_PDU on the primary advertising channel. With legacy advertising, the peripheral device 120 does not respond. For extended advertising, the central device 110 can transmit an AUX_CONNECT_REQ PDU on the secondary advertising channel to the peripheral device 120. The peripheral device 120 can respond with an AUX_CONNECT_RSP PDU on the secondary advertising channel. For periodic advertising with responses (PAwR), the central device 110 can transmit an AUX_CONNECT_REQ PDU on the periodic advertising channel to the peripheral device 120. The peripheral device 120 can respond to the periodic advertising channel using an AUX_CONNECT_RSP PDU.Subsequently, packets can be transmitted between the central device 110 and the peripheral device 120. These devices are considered to be in a connected state. During the establishment of a connection, the central device 110 can provide a parameter called the connection interval to the peripheral device 120. This parameter informs the peripheral device 120 when packets should be transmitted by the central device 110. This connection interval is a multiple of 1.25 milliseconds in the range of 7.5 milliseconds to 4 seconds. Another parameter that is provided is called the connection monitoring timeout. This parameter determines the amount of time that may elapse without a response from the peripheral device 120 before the central device 110 terminates the connection.The beginning of each connection interval can be referred to as the connection anchor point. At each connection anchor point, the central device 110 transmits a packet to the peripheral device. The peripheral device 120 can then respond to this packet. In some embodiments, multiple packets can be transmitted during a connection interval. This allows the peripheral device 120 to enter a sleep mode for longer periods between connection anchor points.
[0024] Fig. Figures 2A-2D show several different typical scenarios in which, according to the prior art, packets are transmitted between a central device 110 and a peripheral device 120. Each scenario shows three connection intervals 201. However, it is understood that this is only a snapshot, as the connection lasts longer than three connection intervals. In each of the following drawings, packets sent by the peripheral device 120 are shown hatched.
[0025] In each of these scenarios, the central device 110 starts by transmitting a data packet to the peripheral device. These data packets are formatted as Data Physical Channel Data PDUs. These PDUs include a header and, optionally, a payload. The header contains information such as the payload length, a sequence number, and the multi-data bit (MD bit). In this disclosure, a Data Physical Channel Data PDU with a data payload of 0 bytes is referred to as an empty packet. Fig. 2A, the central device 110 begins by transmitting an empty packet 200 to the peripheral device 120. Subsequently, during a later connection interval 201, the central device 110 transmits a data packet 220 to the peripheral device 120. After transmitting data packet 220, the central device 110 can transmit another empty packet 200 during the next connection interval 201. It should be noted that the peripheral device 120 transmits an acknowledgment 210 in response to each packet transmitted by the central device 110. Acknowledgments are normal connection packets, and the ACK information is contained in the header using one bit. A change in the sequence number is interpreted as an ACK, while an unchanged sequence number is interpreted as a NACK.
[0026] In Fig. 2B The central device 110 has no data to transmit to the peripheral device 120 and therefore sends an empty packet 200 at the beginning of each connection interval 201. However, during the second connection interval, the peripheral device 120 has data to exchange with the central device 110. Therefore, instead of transmitting an acknowledgment 210 (which occurs during the first and third connection intervals), the peripheral device 120 transmits a peripheral data packet 230 to the central device 110.
[0027] Fig. 2C is similar Fig. 2A, except that the data transmitted by the central device 110 to the peripheral device 120 cannot be contained in a single data packet. Therefore, the central device 110 transmits a data packet 240 with the multi-data bit (MD bit) set. Setting the MD bit informs the peripheral device 120 that one or more additional data packets 220 are also being transmitted. If there are a total of N data packets to be sent, the MD bit is set in the first (N-1) packets, while the last packet is a data packet 220 in which the MD bit is not set. As explained above, the peripheral device 120 transmits an acknowledgment 210 in response to each packet sent by the central device 110.
[0028] Finally, it shows Fig. 2D is a scenario in which there is a longer period of time during which the central device 110 has no data to transmit to the peripheral device 120. In this scenario, the central device transmits an empty packet 200 during each connection interval 201. As described above, the peripheral device 120 transmits an acknowledgment 210 in response to each packet transmitted by the central device 110.
[0029] Fig. Figures 3-6 show how each of the in Fig. The scenarios shown in 2A-2D can be modified to reduce the power consumption of the peripheral device 120.
[0030] The upper part of Fig. 3 shows this in Fig. Figure 2A illustrates the scenario. The lower part shows the optimization that can be performed to reduce the power consumption of the peripheral device 120 without causing unwanted retransmissions and connection drops. In this embodiment, the peripheral device 120 does not respond to an empty packet 200 transmitted by the central device 110. Therefore, during the first and third connection intervals 201, the peripheral device 120 does not transmit any packet and returns to sleep mode after receiving the empty packet 200. However, when the central device 110 transmits a data packet 220, the peripheral device 120 responds with an acknowledgment 210 to inform the central device 110 that the data packet 220 has been received. Therefore, the peripheral device responds to data packets 220 (i.e., packets with non-zero data payloads) transmitted by the central device 110.The peripheral device 120 returns to sleep mode after the transmission of confirmation 210.
[0031] The upper part of Fig. 4 shows this in Fig. Scenario 2B is shown. The lower part shows the optimization that can be made to reduce the power consumption of peripheral device 120 without causing unwanted retransmissions and connection drops. As shown in Fig. As shown in Figure 3, peripheral device 120 does not respond to an empty packet 200 transmitted by central device 110. Therefore, peripheral device 120 does not transmit any packets during the first and third connection intervals 201 and returns to sleep mode after receiving the empty packet 200. However, if peripheral device 120 has data to transmit to central device 110, it responds to one of the empty packets 200 with a peripheral data packet 230. Therefore, peripheral device 120 transmits a peripheral data packet 230 in response to a packet (either an empty packet 200 or a data packet 220) from central device 110 if it has data in its transmission queue. The peripheral device 120 returns to sleep mode after transmission of the peripheral data packet 230.
[0032] The upper part of Fig. 5 shows this in Fig. Figure 2C depicts the scenario. The lower part shows the optimization that can be performed to reduce the power consumption of the peripheral device 120 without causing unwanted retransmissions and connection drops. In this embodiment, the peripheral device 120 does not respond to an empty packet 200 transmitted by the central device 110. Therefore, during the first and third connection intervals 201, the peripheral device 120 does not transmit any packet and returns to sleep mode after receiving the empty packet 200. However, when the central device 110 transmits a data packet 240 with the MD bit set, the peripheral device 120 responds with an acknowledgment 210 to inform the central device 110 that the data packet 220 has been received.Furthermore, the peripheral device 120 also transmits acknowledgments 210 for each data packet 220 that follows the data packet 240 with the MD bit set. Therefore, the peripheral device responds to packets 240 where the MD bit is set and to all data packets 220 transmitted by the central device 110. The peripheral device 120 returns to sleep mode after transmitting the acknowledgment 210.
[0033] Fig. Figures 3 to 5 thus show that the peripheral device 120 does not respond to empty packets 200 unless there is data in its transmission queue that is to be transferred to the central device 110. Furthermore, they show Fig. 3 to 5, that the peripheral device 120 responds to data packets 220 containing data, and furthermore responds to packets with the MD bit set.
[0034] In summary, the peripheral device 120 is configured to respond to the central device 110 only when: - the central device 110 transmits a data packet with a data payload number other than 0 bytes; - the central device 110 transmits a packet with a set multi-data bit (MD bit); or - the peripheral device has 120 data points to be transferred to the central device.
[0035] In other words, the peripheral device 120 transmits an acknowledgment only if the received packet has a non-zero data byte count or a set MD bit. The peripheral device 120 does not transmit an acknowledgment if the data byte count is zero and the MD bit is not set. Furthermore, the peripheral device responds with a peripheral data packet 230 if it has data to transmit. In all cases, the peripheral device 120 then returns to sleep mode.
[0036] Fig. Figure 7 shows the operation of the peripheral device 120. First, as shown in Box 700, the peripheral device 120 receives and analyzes the packet received from the central device 110. As shown in Decision Box 710, the peripheral device 120 checks whether a non-zero data payload is present or whether an MD bit is set. Upon detection of either of these conditions, acknowledgment 210 is transmitted, as shown in Box 740. As shown in Decision Box 720, the peripheral device 120 is aware of its transmission queue. When it has a packet to transmit to the central device 110, the peripheral device 120 transmits a peripheral data packet 230, as shown in Box 750. In some embodiments, the peripheral device returns to sleep mode (see Box 760) until the next connection interval if none of these conditions are met.It should be noted that the sequence described above can vary. For example, the peripheral device 120 may check its transmission queue before verifying the size of the data payload and the MD bit of the received packet.
[0037] This concept can be further improved by ensuring that the absence of acknowledgments does not cause the connection to be dropped. For example, if the central device 110 has no data to transmit to the peripheral device 120 for an extended period, the peripheral device 120 may be unable to transmit packets to the central device 110 for a period exceeding the negotiated connection timeout period. In some embodiments, the negotiated connection timeout period can be several seconds. This can lead to undesirable overhead when re-establishing the connection.
[0038] Therefore, the peripheral device 120 can monitor this situation to ensure that no connection timeout occurs. This scenario is in Fig. 6 shown. The upper part of Fig. 6 shows that in Fig. A 2D representation of the scenario. The lower part shows the optimization that can be performed to reduce the power consumption of the peripheral device 120 without causing unwanted retransmissions and connection drops. In this embodiment, as described above, the peripheral device 120 typically does not respond to an empty packet 200 transmitted by the central device 110. However, the peripheral device 120 may include a counter (or timer) that records the number of connection intervals or the time elapsed since the last transmission from the peripheral device 120. If the peripheral device 120 detects that a connection timeout may be imminent, it transmits an acknowledgment 210 regarding the next packet to be received from the central device 110, regardless of the packet type. This functionality is also included in the decision box 730 in Fig. 7 shown.
[0039] Thus, the peripheral device 120 uses an indicator that informs it that the time period in which the peripheral device 120 has not transmitted any packets is approaching the connection timeout period. When this indication is present, the peripheral device 120 transmits an acknowledgment during the next connection interval, regardless of the type of packet being transmitted by the central device 110. This indicator can be implemented in various ways. In each embodiment, the peripheral device 120 can set the indicator to a value that allows it to transmit multiple acknowledgments 210 before the connection timeout period expires. By using such a value, the peripheral device 120 can be able to transmit acknowledgments during a multitude of connection intervals 201 before the connection timeout occurs.This allows for the possibility of lost acknowledgment packets while the connection is maintained. For example, the peripheral device can transmit 120 acknowledgments during two or more consecutive connection intervals as soon as the indication is present. After transmitting one or more acknowledgments, the peripheral device can return to its standard operating mode.
[0040] As mentioned above, this indicator can be implemented in various ways. In one embodiment, the peripheral device 120 can be aware of the connection timeout period and the connection interval. By dividing the latter by the former, the peripheral device 120 can determine how many connection intervals occur before a connection timeout. Thus, in some embodiments, the peripheral device 120 can use this number of connection intervals to modify its behavior. For example, the peripheral device 120 can calculate that N connection intervals occur before a connection timeout. The peripheral device 120 can use a counter that is incremented by 201 at each connection interval.Furthermore, this counter is reset each time the peripheral device 120 determines that the central device 110 has successfully received a packet transmitted by the peripheral device 120. The determination of a successfully received packet can be detected by the peripheral device 120 by observing a change in the sequence number in the next packet transmitted by the central device 110. Thus, the counter value indicates the number of consecutive connection intervals during which the peripheral device 120 has not transmitted a packet to the central device 110. When this counter value approaches N, the peripheral device 120 can transmit an acknowledgment 210 during the next connection interval, regardless of the type of packet transmitted by the central device 110.In some embodiments, the peripheral device 120 can transmit the acknowledgment 210 when the counter reaches a value greater than NX, where X is between 2 and N-1. In one embodiment, X can be equal to 2. In other embodiments, the peripheral device 120 can transmit the acknowledgment 210 when the counter reaches a value greater than N-5 or N-10 (X = 5 or 10, respectively). It should be noted that the peripheral device 120 can continue to transmit acknowledgments during each subsequent connection interval 201 until the peripheral device 120 determines that the central device 110 has received an acknowledgment. At this point, the counter is reset, and the peripheral device 120 stops transmitting acknowledgments. In some embodiments, the peripheral device 120 can dynamically adjust when the acknowledgment 210 is first transmitted.This can be based, for example, on the connection quality. A small value of X can be used in a low-noise environment, while a larger value is used when there is significant interference.
[0041] In another embodiment, the peripheral device 120 can use a timer to determine when to transmit this acknowledgment 210. For example, the peripheral device 120 can set the timer to expire when it reaches a value close to the link timeout period. For example, the timer can be set to a value equal to the link timeout period - M * link interval 201, where M is a value between 2 and N - 1, for example, 10 or less. In another embodiment, the timer can be set to a value equal to a percentage of the link timeout period, for example, 90%. This timer is reset as soon as the peripheral device 120 determines that the central device 110 has successfully received a packet transmitted by the peripheral device 120.When the timer reaches its maximum value (in the case of an upward count) or zero (in the case of a downward count), the peripheral device 120 transmits an acknowledgment 210 during the subsequent connection interval 201. The transmission of an acknowledgment during each subsequent connection interval 201 can continue until it is determined that the central device 110 has received its acknowledgment.
[0042] Thus, in certain embodiments, the peripheral device 120 also responds to the central device 110 when the connection is about to time out.
[0043] The present system and procedure have many advantages. This approach offers numerous benefits. In a test, it was found that during a connection interval of 7.5 milliseconds, the power consumption of the peripheral device 120 can be reduced by up to 80% when no acknowledgment 210 is transmitted, compared to conventional operation. Furthermore, this approach also serves to minimize latency. Another way to reduce power consumption is, for example, to lengthen the connection interval. This approach increases latency, as data can only be transmitted in the next connection interval. Bluetooth also supports a concept known as peripheral latency, which allows the peripheral device 120 to remain in sleep mode for several connection intervals.Like longer connection intervals, this approach also increases latency. However, reducing the number of transmitted acknowledgments ultimately generates less interference for neighboring devices.
[0044] The scope of the present invention is not intended to be limited by the specific embodiments described herein. In fact, the person skilled in the art will recognize from the foregoing description and the accompanying drawings various other embodiments and modifications of the present invention besides those described herein. Therefore, such other embodiments and modifications are intended to fall within the scope of protection of the present invention. Although the present invention has been described here in connection with a particular implementation in a particular environment for a particular purpose, it will be clear to the person skilled in the art that its usefulness is not limited thereto and that the present invention can be advantageously implemented in any number of environments for any number of purposes.Therefore, the claims listed below are to be interpreted in light of the full scope and basic concept of the present invention as described herein. QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] US 181662,242
[0001]
Claims
[1] Method for reducing the power consumption of a Bluetooth peripheral device connected to a central Bluetooth device, the method comprising: Receiving, from the central Bluetooth device, of a package; Check, on the Bluetooth peripheral device, whether the packet has a non-zero data byte count; Check, on the Bluetooth peripheral device, whether the packet has a set multi-data bit (MD bit); and A confirmation is transmitted from the Bluetooth peripheral device to the central Bluetooth device in response to the packet only if the packet has a non-zero data byte count or a set MD bit. [2] Method according to claim 1, further comprising: Check the Bluetooth peripheral device to see if there is data in a transmission queue that needs to be transferred; and Transmitting a peripheral data packet to the central Bluetooth device in response to the packet if there is data in the transmission queue to be transmitted. [3] Method according to claim 1, wherein the Bluetooth peripheral device enters a sleep mode after the confirmation has been transmitted. [4] Method according to claim 1, wherein the Bluetooth peripheral device enters sleep mode after receiving the packet if the packet has a data byte count of zero and the MD bit is not set. [5] Method for reducing the power consumption of a Bluetooth peripheral device connected to a central Bluetooth device, the method comprising: Monitoring a duration or a number of connection intervals at the Bluetooth peripheral device since the last transmission of a packet by the Bluetooth peripheral device that was successfully received by the central Bluetooth device; Received from the central Bluetooth device of a package; Check, on the Bluetooth peripheral device, whether the packet has a non-zero data byte count; Check, on the Bluetooth peripheral device, whether the packet has a set multi-data bit (MD bit); and A confirmation is transmitted from the Bluetooth peripheral device to the central Bluetooth device in response to the packet only if: the packet has a non-zero number of data bytes; the packet has a set MD bit; or A connection to the central Bluetooth device is about to time out. [6] The method of claim 5, further comprising: Check the Bluetooth peripheral device to see if there is data in a transmission queue that needs to be transferred; and Transmitting a peripheral data packet to the central Bluetooth device in response to the packet if there is data in the transmission queue to be transmitted. [7] Method according to claim 5, wherein the Bluetooth peripheral device uses a counter to count a number of consecutive connection intervals that have elapsed since the last transmission of a packet by the Bluetooth peripheral device that was successfully received by the central Bluetooth device. [8] Method according to claim 7, wherein the Bluetooth peripheral device determines a number of connection intervals (N) that are within a connection timeout period. [9] Method according to claim 8, wherein the Bluetooth peripheral device transmits the acknowledgment when the number of consecutive connection intervals that have elapsed during which the Bluetooth peripheral device has not transmitted a packet that was successfully received by the central Bluetooth device is greater than N-2. [10] Method according to claim 8, wherein the Bluetooth peripheral device transmits the acknowledgment when the number of consecutive connection intervals that have elapsed during which the Bluetooth peripheral device has not transmitted a packet that was successfully received by the central Bluetooth device is greater than NX, where X is between 2 and N-1. [11] Method according to claim 5, wherein the Bluetooth peripheral device uses a timer to measure the time elapsed since the last transmission of a packet by the Bluetooth peripheral device that was successfully received by the central Bluetooth device. [12] Method according to claim 11, wherein the Bluetooth peripheral device transmits the acknowledgment when a timer value is greater than 90% of a connection timeout period. [13] Bluetooth peripheral device, comprising: a Bluetooth network interface; a processing unit; and a storage device containing instructions which, when executed by the processing unit, cause the Bluetooth peripheral device to: Receiving a packet from a central Bluetooth device that is connected to the Bluetooth peripheral device; and A confirmation will only be sent in response to the package if: the packet has a non-zero number of data bytes; the packet has a set MD bit; or A connection to the central Bluetooth device is about to time out. [14] Bluetooth peripheral device according to claim 13, further comprising a counter for counting a number of consecutive connection intervals that have elapsed since the last transmission of a packet by the Bluetooth peripheral device that was successfully received by the central Bluetooth device. [15] Bluetooth peripheral device according to claim 14, wherein the Bluetooth peripheral device determines a number of connection intervals (N) that are within a connection timeout period. [16] Bluetooth peripheral device according to claim 15, wherein the Bluetooth peripheral device transmits the acknowledgment when the number of consecutive connection intervals that have elapsed during which the Bluetooth peripheral device has not transmitted a packet to the central Bluetooth device is greater than N-2. [17] Bluetooth peripheral device according to claim 16, wherein the Bluetooth peripheral device transmits the acknowledgment when the number of consecutive connection intervals during which the Bluetooth peripheral device has not transmitted a packet to the central Bluetooth device is greater than NX, where X is between 2 and N-1. [18] Bluetooth peripheral device according to claim 5, further comprising a timer to measure the time elapsed since the last transmission of a packet by the Bluetooth peripheral device that was successfully received by the central Bluetooth device. [19] Bluetooth peripheral device according to claim 18, wherein the Bluetooth peripheral device transmits the acknowledgment when a timer value is greater than 90% of a connection timeout period. [20] Bluetooth peripheral device according to claim 13, wherein the storage device further contains instructions which, when executed by the processing unit, cause the Bluetooth peripheral device to: Check if there is data in a transfer queue that needs to be transferred; and Transferring a peripheral data packet to the central Bluetooth device when there is data in the transfer queue to be transferred.
Citation Information
Patent Citations
US-PATENTANMELDUNGNR.181662,242