REDUCED POWER CONSUMPTION IN A WIRELESS NETWORK DEVICE

DE112011106153B4Active Publication Date: 2025-10-09SILICON LABORATORIES INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE112011106153
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2011-10-24
Filing Date
2011-10-26
Publication Date
2025-10-09
Estimated Expiration
2031-10-26

Smart Images

  • Figure 00000010_0000
    Figure 00000010_0000
  • Figure 00000011_0000
    Figure 00000011_0000
  • Figure 00000012_0000
    Figure 00000012_0000
Patent Text Reader

Abstract

A method for reducing power consumption in a device, the device comprising a circuit for transmitting and receiving packets and a processing unit, the method comprising: Receiving a first packet from a second device, Analyzing the first packet using the processing unit, Determining from data in the packet that a second packet will be sent by the second device to the device, and Deactivating the circuit for a period of time, the period of time being less than a minimum time before the second device will transmit the second packet, the first packet including an indication of the minimum time.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to U.S. Provisional Application No. 61 / 407,131, filed October 27, 2010, and U.S. Patent Application No. 13 / 279,402, filed October 24, 2011. BACKGROUND

[0002] The explosion in the number of wireless devices and protocols has enabled applications never thought possible. By eliminating the need to be physically connected to a device, such as a sensor or actuator, wireless systems can remotely monitor and control various operations. This enables new applications, such as remotely controlled and monitored motion detection systems, temperature control systems, and other uses.

[0003] Various protocols have been proposed and used to take advantage of these new uses for wireless devices. Protocols such as Bluetooth, Wi-Fi, and Zigbee® all define formats and standards for various devices.

[0004] An important consideration and a key prerequisite for the future growth and use of these wireless devices is their power consumption. In some applications, it would be advantageous or perhaps even essential for the device to be battery-powered.

[0005] WO 2009 / 062185 A2 discloses a network device that reads the header of an incoming packet to determine the number of bytes being sent. Based on this number and the bit rate, the time required to transmit the entire packet can be determined. Therefore, if the incoming packet is not intended for this network device, it is able to shut down parts of its circuitry while the packet is being transmitted. Thus, with this method, energy consumption is only reduced if the packet in question is not intended for the network device.

[0006] Therefore, any techniques that can be used to reduce power consumption in a wireless network device would be beneficial. SUMMARY

[0007] Various techniques for reducing power in a wireless network device are disclosed. In some embodiments, software routines in the device are modified to minimize the time that the analog circuitry in a radio is powered. In some embodiments, the techniques exploit knowledge of implied delays associated with a particular network protocol. For example, in a CSMA network, there is a defined minimum amount of time before the device can attempt to access the media. The radio may be turned off during this defined amount of time. In other embodiments, modifications to a protocol are disclosed that enable additional power savings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a representative schematic diagram showing various hardware components of a wireless network device, Fig. Figure 2 is a representative schematic diagram showing the interaction between various software components and the hardware components of a wireless network device, Fig. 3 shows the format of a particular message according to a protocol, Fig. 4 shows the format of a particular field in the Fig. 3 shown message, Fig. 5 shows two devices communicating according to one embodiment. DETAILED DESCRIPTION

[0008] Fig.Figure 1 shows a representative schematic diagram of a wireless network device including selected hardware components. In some embodiments, the hardware components may include a system-on-chip (SOC) device 100 having a processing unit 110, code memory 130, RAM 120, an interrupt request controller (not shown), peripherals (not shown), and a radio 140. The radio component 140 includes an analog circuit 141, such as amplifiers, oscillators, and other components. The radio component 140 also includes a digital circuit 142 including a baseband processor 143 and a media access controller (MAC) 144. The term "radio component" is used to refer to the combination of the analog circuit 141 and the digital circuit 142.The radio component 140 may be powered by a separate power supply so that it can be turned off while parts of the SOC remain powered. In some embodiments, the power for the radio component 140 may be separated so that power can be supplied separately to the digital circuitry 142, which typically has low power consumption, and the analog circuitry 141, which typically consumes larger amounts of power. In some embodiments, only the analog circuitry 141 is powered by a separate power supply, while the digital circuitry 142 is powered by the same power supply as the rest of the SOC 100. In other embodiments, the SOC 100 is configured such that the baseband processor 143 and the analog circuitry 141 can be turned off while the rest of the radio component 140 remains powered.By isolating the power used by the radio component 140, and in particular the power used by the analog circuitry 141, from the rest of the device 100, this reduces overall system power. It also allows the processor 110 to remain active even when the radio is turned off.

[0009] Throughout this disclosure, the concept is described that the "radio" may be turned off to conserve power. In some embodiments, this means that only the analog circuitry 141 is turned off, while the rest of the radio component 140 remains powered. In other embodiments, both the analog circuitry 141 and the baseband processor 143 are turned off, while the MAC 144 remains powered. In still other embodiments, the entire radio component 140 may be turned off. Thus, the phrase "the radio is turned off" as used in this disclosure encompasses any configuration in which at least a portion of the radio component 140 is turned off during normal operation of the SOC 100. The disclosure is not intended to be limited to only a particular subset of the radio component that is turned off.Rather, any subset of the radio component can be turned off. In the preferred embodiment, at least the analog circuit 141 is turned off, since this typically represents the part of the radio component 140 with the highest power consumption.

[0010] As in Fig.1, processing unit 110 receives instructions from code memory 130. These instructions enable processing unit 110 to perform the functions required by the device and the associated wireless protocol. Processing unit 110 is also capable of loading and storing information from both RAM 120 and radio component 140. For example, configuration information from processing unit 110 may be stored in radio component 140. Data received and transmitted by radio component 140 is typically stored in RAM 120. Code memory 130 also contains software capable of performing the functions described herein. The software may be written in any suitable programming language, and the choice is not limited by this disclosure.Furthermore, all applications and software described herein are computer-executable instructions embodied on a computer-readable medium. The software and applications may be stored, for example, in read-only memory, rewritable memory, or in an embedded processing unit. The specific type of processing unit 110 on which this software executes is application-dependent and is not limited by the present invention.

[0011] Fig.Figure 2 shows the interaction between the various software components and the hardware. The software may include various layers, such as a physical layer 210, a MAC layer 220, and an application layer 230. Typically, the physical layer 210 is responsible for the configuration of the radio 140 and the actual operation of the radio hardware. The MAC layer 220 receives information, typically in the form of packets, from the physical layer 210. It then analyzes the contents of these packets. In response, the MAC layer 220 may send data to the physical layer 210 for transmission by the radio 140. In some embodiments, the MAC layer may also determine when the radio hardware should be unpowered or turned off based on timers or the content of the received packets.In some embodiments, MAC layer 220 is implemented partly in hardware and partly in software. In this embodiment, application layer 230 sends or forwards a transmission to the software MAC. The software MAC then configures the hardware MAC to transmit. The hardware MAC then controls hardware layer 210, which controls the hardware baseband, which controls the analog circuitry.

[0012] In a wireless network device, the radio component 140, and in particular the analog circuitry 141, can be a major contributor to power consumption. Therefore, any technique that reduces the use of the radio and can therefore disable it can significantly improve battery life. At any given time, the analog circuitry 141 in the radio 140 can be either in a receive mode, actively transmitting, or turned off. The term "turn on the radio" is synonymous with "putting the radio into receive mode," which requires powering the analog circuitry 141. In some embodiments, a portion of the digital circuitry 142 in the radio 140 can be powered even when the radio is said to be turned off.In other embodiments, the MAC 144 may be powered while the baseband processor 143 and the analog circuitry 141 are off. In other embodiments, the entire digital circuitry 142 may be powered while the analog circuitry 141 is off. Thus, when the radio is off, at least a portion of the radio component 140 is off to reduce power consumption.

[0013] According to one method, the use of the radio device may be reduced during initialization. For example, when the SOC 100 is reset or awakens from its lowest power deep sleep state, the radio component 140 may need to be initialized before it can be used.

[0014] Typically, the radio component 140 is powered on, and then all initializations are performed. These initializations may include configuring the radio for communication on a specific frequency (channel), calibrating radio parameters for optimal operation on the selected channel, and configuring special radio modes (external power amplifier, high-power mode, etc.). Many of these functions are performed using only the digital circuitry 142 of the radio component 140.

[0015] In some embodiments of the radio component, the only one of these operations that actually requires powering the analog circuitry 141 of the radio component 140 is the calibration of radio parameters. While this disclosure refers to an analog circuitry, it should be noted that the purpose is to disable the circuitry used to transmit and receive packets, as this circuitry typically consumes more power than other parts of the device.

[0016] Thus, in one embodiment, the analog circuitry 141 of the radio component 140 is left off until all of the other initialization steps (except for the calibration of radio parameters) are completed. At this point, the software determines whether a calibration of radio parameters is required. Various criteria can be used to determine whether calibration is required, such as a time since the last calibration, the difference between the current temperature and a previous calibration temperature, and whether calibration has ever been performed. If these criteria indicate that calibration is required, the software turns on the analog circuitry 141 of the radio component 140 and performs the required calibrations.If calibration is not required, the calibration sequence is bypassed and the radio 141 is turned on for actual communication.

[0017] Based on a detailed understanding of the underlying network protocol, other energy optimizations can be performed. In one embodiment, for example, the details of the low-level communication protocol are specified by the 802.15.4 standard. Like many other multi-node communication protocols, collision avoidance is essential.

[0018] It should be noted that many of the scenarios described herein exist in other wireless protocols, and the techniques described herein are equally applicable to these protocols. The use of 802.15.4 is illustrative and is not intended to limit the scope of the invention to this embodiment.

[0019] To avoid contention, devices wishing to transmit a packet must first check to see if the channel (i.e., the air in a wireless device) is available using a procedure known as Carrier Sense Multiple Access - Collision Avoidance (CSMA-CA). CSMA requires the device to first wait for a random period of time and then perform a clear channel check, known as a Clear Channel Assessment (CCA), before transmitting. If the channel is unavailable, the device waits again using a different, longer delay period. A total of up to four CCA attempts are made, each with a randomly chosen delay preceding the attempt in question to obtain clear air.

[0020] After gaining access to the channel following a successful CCA, the device transmits the packet. After transmission, the device listens for an acknowledgment packet (ACK) from the intended recipient of the packet. If the ACK is not received within a defined time period, the transmission attempt is considered failed, and the entire process begins again. A total of up to four attempts are made to obtain an acknowledgment packet.

[0021] In some hardware embodiments, MAC hardware 144 in SOC 100 automatically manages some of the transitions between the receive and transmit states of analog circuitry 141 in radio component 140. For example, if radio 141 is powered on and the CCA check is successful, MAC hardware 144 may automatically place radio 141 into a transmit mode to transmit the packet. At the end of the packet transmission, MAC hardware 144 may automatically place radio 141 into receive mode to listen for the ACK. In some embodiments, MAC hardware 144 may not control the power supplied to analog circuitry 141 of radio component 140, as this must be done by software.

[0022] In most cases, the analog circuitry 141 of the radio 140 is turned on during this CSMA process, consuming valuable power while not receiving or transmitting packets. In one embodiment, the software of the present invention turns off the radio 141 during the delay periods associated with CSMA. Once the delay timer expires, the software then turns on the radio 141 so that it can perform the CCA check and transmit the packet if the CCA check is successful. If the CCA check fails, the software turns off the radio 141 again and waits until the next random delay timer expires before turning the radio 141 back on. This technique significantly reduces the overall power consumption of the radio component 140 without adversely affecting device performance.

[0023] In some hardware embodiments, digital circuitry 142 in radio component 140 may include a dedicated hardware timer used to schedule the CCA check and optional packet transmission without further software interaction. Some of these hardware embodiments do not have the capability to automatically power on radio 141 to perform the CCA check. According to another software embodiment, the present invention utilizes knowledge of this hardware behavior to further utilize the dedicated hardware timer instead of a separate universal timer peripheral.Knowing that the CCA check fails for every transmission attempt in the scenario just described (due to the fact that the radio 141 is powered off), the software responds to the CCA failure event by powering on or booting up the radio 141 and initiating another hardware-controlled transmission attempt with the minimum delay required to perform a CCA check. If the CCA check still fails, the software powers off the radio 141 and initiates another hardware-controlled transmission attempt using the next random delay according to CSMA. If the CCA check succeeds, the radio component 140 automatically transmits the packet.

[0024] According to another method, the present invention uses specific knowledge of the wireless protocol to save energy. For example, in the 802.15.4 standard, a device 400 may send a "data request" packet, as described in Fig. 5. In response to this packet, the receiver 410 returns an acknowledgment (ACK) packet to the transmitting device 400. The incoming ACK informs the transmitting device 400 whether the receiver 410 has data it wishes to transmit to the transmitting device 400.

[0025] Fig. Figure 3 shows the format of an ACK packet 300 according to the 802.15.4 standard. The first two bytes comprise a frame control field 310. The third byte comprises a sequence number 320, and the remaining two bytes comprise a cyclic redundancy code 330. The ACK packet 300 is always five bytes long.

[0026] Fig.Figure 4 further describes the frame control field 310. Of interest is bit 4 (frame waiting) 311. Frame waiting 311 informs the transmitting device (i.e., the one receiving the ACK 300) that the receiver has data it wishes to transmit to the transmitting device after the ACK is complete.

[0027] After the ACK 300 is received, the physical layer 210 typically informs the MAC layer 220. The MAC layer 220 then performs checks on the packet, including integrity, sequence number, etc. If the MAC layer 220 verifies the ACK 300 and determines that no data is coming (i.e., the frame waiting bit 311 is not set), it turns off the radio 141. The software and processing time to perform these tests is not trivial and consumes power.

[0028] In one embodiment, the software in physical layer 210 is modified to examine each byte of ACK 300 as it arrives at the device. Once the second byte of ACK 300 is received and physical layer 210 determines that frame waiting bit 311 is not set, it immediately turns off radio 141. In other words, it does not wait to receive the remaining bytes of ACK packet 300. This technique not only saves the time required to receive the three additional bytes, but also the processing time required for MAC layer 220 to validate ACK 300.

[0029] It should be noted that there is a possibility that an error in the frame waiting bit 311 may have occurred due to a transmission error. In this case, the physical layer 210 may have incorrectly determined that the receiver had no data to transmit and turned off the radio 141. While this behavior is not ideal, it is acceptable because the transmitting device sends "data request" packets at regular intervals.

[0030] In some software embodiments, the MAC layer 220 initiates a retransmission of the "data request" packet when it receives an ACK 300 with a transmission error or does not receive an ACK 300. To avoid this behavior, the physical layer 210 can construct a "spoof" or artificial ACK packet that is valid according to the protocol. This "spoof" or artificial ACK packet is necessary because the physical layer 310 turned off the radio 141 before receiving the entire ACK 300 from the receiver. Constructing a valid "spoof" ACK allows the MAC layer 220 to continue without retrying the "data request" packet. Thus, the MAC layer 220 is fooled into believing that an ACK was properly received.In other embodiments, the MAC layer 220 may be modified to ignore unsuccessful ACKs to "data request" packets. In other embodiments, the "spoofed" ACK may be transmitted from the physical layer 210 to the MAC layer 220 via an interrupt request, a status bit, or other general signal, rather than by constructing an actual packet representation in RAM.

[0031] Although a specific example has been described above with respect to ACK packets 300, it should be noted that the same method can be used in other scenarios. For example, using the same method, the receiving device can analyze a packet as it is being received and, upon receiving the data of interest, immediately turn off the radio. This data of interest may include, but is not limited to: • whether more data is coming, • confirmation that previously sent data has been received, • confirmation that a device is active, • whether the incoming packet is intended for this device (in this case, the radio is switched off after seeing an unmatched device address and switched on again after the expected end of the packet), • whether the incoming packet is intended for this network (in this case, the radio is switched off again after seeing an inappropriate network identifier or PAN ID and switched on again after the expected end of the packet) or • whether there are errors in the incoming packet (in this case, the radio is turned off after the baseband reports an uncorrectable error in one of the received bytes or symbols, and turned on again after the expected end of the packet).

[0032] If the ACK 300 was sent with the frame waiting bit 311 set, this indicates that the receiver 410 will transmit additional data to the transmitting device. In some embodiments, the receiver 410 must gain access to the channel by following the CSMA process. This process guarantees that a minimum amount of time must elapse from the end of the ACK packet 300 to the start of data transmission. To conserve power, the software (preferably the physical layer 210) can turn off the radio 141 for this minimum amount of time, knowing that the additional data will not be transmitted during this minimum time window.

[0033] According to another method, the receiver 410 informs the transmitting device 400 of the delay value it will use during the upcoming CSMA process. Fig.Returning to Figure 4, it should be noted that frame control bytes 310 contain reserved bits in bit positions 7-9 and 12-13. These five bits, or a subset of these bits, can be used to transmit delay information to the transmitting device. For example, in 802.15.4, the delay used during the CSMA process is a multiple of a fixed delay time interval. In other words, the device can wait for 1 delay time interval, 2 delay time intervals, etc., where the duration of the delay time interval is predetermined. In this embodiment, receiver 410 sends the number of delay time intervals it will use during the next CSMA process to transmitting device 400. In this way, transmitting device 400 knows the minimum delay that will elapse before receiver 410 can gain access to the channel.Therefore, the transmitting device 400 may turn off the radio device 141 until this minimum time has passed.

[0034] In another embodiment, the delay used during the CSMA process is not a multiple of a fixed delay time. In this embodiment, there may be more possible delay times than can be expressed using the reserved bits in the frame control field 310. In this case, the receiver can use these reserved bits to indicate the portion, or percentage, of the maximum delay it will wait for before attempting to access the channel. For example, if the maximum delay time is 8 ms, the receiver 410 can use three bits to inform the transmitting device 400 of the approximate delay value it will use. The following table shows one possible embodiment using 3 bits and a delay time of 8 ms. Bits Delay time 000 Less than 1 ms; leave radio on 001 More than 1 ms but less than 2 ms; the radio device can be switched off for 1 ms 010 More than 2 ms but less than 3 ms; the radio device can be switched off for 2 ms 011 More than 3 ms but less than 4 ms; the radio device can be switched off for 3 ms 100 More than 4 ms but less than 5 ms; the radio device can be switched off for 4 ms 101 More than 5 ms but less than 6 ms; the radio device can be switched off for 5 ms 110 More than 6 ms but less than 7 ms; the radio device can be switched off for 6 ms 111 More than 7 ms but less than 8 ms; the radio device can be switched off for 7 ms

[0035] In another embodiment, there may be a minimum time before receiver 410 can access the channel, as well as a maximum time. In this embodiment, the bits may be used to represent the percentage of time between the minimum and maximum time that receiver 410 will wait. For example, assume a minimum delay of 1 ms and a maximum delay of 9 ms. The 3 bits may be used as follows: ExpectedDelay=MinDelay+((BitValue) / 8)*(MaxDelay-MinDelay)

[0036] The following table shows the delay times using this method: Bits Delay time (= 1 ms + (bit value / 8) * 8 ms) 000 More than 1 ms but less than 2 ms; the radio device can be switched off for 1 ms 001 More than 2 ms but less than 3 ms; the radio device can be switched off for 2 ms 010 More than 3 ms but less than 4 ms; the radio device can be switched off for 3 ms 011 More than 4 ms but less than 5 ms; the radio device can be switched off for 4 ms 100 More than 5 ms but less than 6 ms; the radio device can be switched off for 5 ms 101 More than 6 ms but less than 7 ms; the radio device can be switched off for 6 ms 110 More than 7 ms; the radio device may be switched off for 7 ms 111 More than 8 ms; the radio device may be switched off for 8 ms

[0037] This embodiment may require a modification to one or more protocol standards to be implemented. In other embodiments, the reserved bits are used as vendor-specific bits, and not all devices are required to implement this modification. In this case, the value 000 may be used to represent that the radio 141 cannot be turned off.

[0038] Although the above modifications related to power savings during reception of an ACK 300 have been described as software modifications, the invention is not limited to this embodiment. For example, the SoC 100 can be modified to automatically perform the check of the frame waiting bit 311 in the ACK packet 300, as described above. In response to determining that this bit is set, the hardware can perform some or all of the functions described above.

[0039] In another embodiment, the hardware may automatically analyze the reserved bits in the ACK packet 300 to determine the delay that will be used by the receiver 410. Once the delay has been determined, the hardware may automatically turn off the radio 141 and turn on the radio 141 at the appropriate times.

[0040] In addition, the setting of the reserved bits in the ACK packet 300 by the receiver 410 can be performed either by software or by hardware.

[0041] According to another method, radio usage can be minimized by delaying the power supply to radio 141 until a packet is ready for transmission. In most embodiments, outgoing packets are constructed by having each software layer add an "envelope," or additional information, to the packet after it has been received from a higher software layer. For example, application layer 230 may construct a packet, which it passes to MAC layer 220. MAC layer 220 then adds additional information to the packet and passes it to physical layer 210.

[0042] In most radio implementations, radio 141 remains off or in a reduced-power state when there are no packets to transmit. However, once a packet is passed to MAC layer 220, MAC layer 220 typically turns on radio 141 in anticipation of the packet's transmission. However, MAC layer 220 still needs to perform some packet construction, such as adding encryption, preparing the packet for DMA, and other features. This packet construction can be time-consuming and thus unnecessarily consumes valuable power for radio 141. In this embodiment, MAC layer 220 may turn on radio 141 when it passes the packet to physical layer 210. In another embodiment, physical layer 210 may be responsible for turning on radio 141 upon receiving the packet from MAC layer 220.

[0043] Although the above description refers to wireless transmission, the same methods and algorithms can be used in wired networks. In any network, the circuitry used for receiving and transmitting typically consumes more power than other areas of the device. Thus, these methods can be used to disable the circuitry used for receiving and transmitting packets using any medium.

[0044] The present disclosure is not limited in scope to the specific embodiments described herein. Indeed, various other embodiments and modifications of the present disclosure in addition to those described herein will be apparent to those skilled in the art from the foregoing description and the accompanying drawings. Thus, such other embodiments and modifications are intended to be within the scope of the present disclosure. Furthermore, while the present disclosure has been described herein in the context of a particular implementation in a particular environment for a particular purpose, those skilled in the art will recognize that its usefulness is not so limited and that the present disclosure may be advantageously implemented in any number of environments for any number of purposes.Accordingly, the claims below should be interpreted in light of the full breadth and spirit of the present disclosure as described herein.

[0045] Here are some numbered examples: 1. A method for reducing energy consumption in a device, the device comprising a circuit for transmitting and receiving packets and a processing unit, the method comprising: Receiving a packet from a second device, Analyzing the packet using the processing unit while receiving the packet, and Deactivating the circuit after receiving data of interest before receiving the entire packet. 2. The method of example 1, wherein the packet comprises an acknowledgment packet. 3. The method of example 2, wherein the data of interest includes a frame waiting bit. 4. The method of example 1, wherein the data of interest includes an indication that no additional data is transmitted by the second device. 5. The method of example 1, wherein the data of interest includes an indication that the packet is not intended for the device. 6. The method of example 1, wherein the device is part of a network and the data of interest includes an indication that the packet is not intended for the network. 7. The method of Example 1, wherein the data of interest has an uncorrectable error. 8. The method of example 1, wherein software is executed by the device, and the software has a low-level layer that communicates with hardware and a higher-level layer, the low-level layer disabling the circuitry. 9. The method of example 8, further comprising using the processing unit to construct an artificial packet in a memory, wherein the artificial packet appears to be a successfully received packet. 10. The method of example 9, further comprising passing the artificial packet from the lower level layer to the higher level layer.

Claims

[1] A method for reducing power consumption in a device, the device comprising a circuit for transmitting and receiving packets and a processing unit, the method comprising: Receiving a first packet from a second device, Analyzing the first packet using the processing unit, Determining from data in the packet that a second packet will be sent by the second device to the device, and Deactivating the circuit for a period of time, the period of time being less than a minimum time before the second device will transmit the second packet, the first packet including an indication of the minimum time. [2] The method of claim 1, wherein the first and second packets are sent using a network protocol and the minimum time is determined based on the protocol. [3] The method of claim 1, wherein the indication comprises a plurality of bits, the plurality of bits representing a multiple of a fixed delay time interval. [4] The method of claim 1, wherein the indication comprises a plurality of bits, the plurality of bits representing a portion of a maximum delay. [5] The method of claim 1, wherein the indication comprises a plurality of bits, the plurality of bits representing a portion of a time between a minimum and a maximum delay.

Citation Information

Patent Citations

  • Receiver napping during and between signal headers

    WO2009062185A2