APPARATUS AND METHOD FOR REDUCING POWER
IN A WIRELESS SENSOR NETWORK
[0001] This relates in general to wireless networks, and in particular to apparatus and method for reducing power in a wireless sensor network.
BACKGROUND
[0002] Wireless sensor networks (WSNs) are used in various application areas, including industrial process monitoring and control, environment and habitat monitoring, traffic control, building automation, and healthcare applications. In some applications, a powered sensor may be used in a harsh environment, and the sensor is untethered for prolonged amounts of time. However, if sensors are powered by batteries, then battery capacity may limit deployment of untethered sensor nodes. Without additional cost and complexity to replace batteries, those battery-powered sensor node applications would have a finite lifetime. Energy harvesting is one alternative for increasing the longevity of sensor nodes. If an energy source is periodically available for harvesting, then a sensor node may operate for a substantially longer time than if only battery-powered. However, if the energy harvesting device is small to reduce the size of the sensor node and the cost of sensor node deployment, then it may harvest only a relatively small amount of energy, which constrains the device's energy consumption.
SUMMARY
[0003] In described examples, a wireless sensor device includes a wireless transceiver, a white list generator, and power control logic. The wireless transceiver is configured to transmit and receive via a wireless sensor network. The white list generator is configured to identify wireless sensor nodes that communicate directly with the wireless sensor device via the wireless sensor network, to identify time slots assigned for communication between the wireless sensor device and each of the identified wireless sensor nodes, and to create and maintain a list of the identified wireless sensor nodes and corresponding time slots. The power control logic is configured to power the transceiver for reception of transmissions from each identified wireless sensor node based on the identified time slots corresponding to the identified wireless sensor node provided in the list.
[0004] In one example, a method includes identifying, by a wireless sensor device, wireless sensor nodes that communicate directly with the wireless sensor device via a wireless sensor network. Time slots are assigned for communication between the wireless sensor device and each of the identified wireless sensor nodes. A list of the identified wireless sensor nodes and corresponding time slots is created and maintained by the wireless sensor device. A transceiver for reception of transmissions from each identified wireless sensor node is powered by the wireless sensor device based on the identified time slots corresponding to the identified wireless sensor node provided in the list.
[0005] In another example, a wireless sensor network includes a plurality of sensor nodes configured to wirelessly communicate. Each of the sensor nodes is configured to suppress periodic receiver activation, and includes a white list generator and power control logic. The white list generator is configured to identify, during a network initialization interval, neighboring sensor nodes that communicate directly with the sensor node, to identify time slots assigned for communication between the sensor node and each of the identified neighboring sensor nodes, and to create and maintain a list of the identified neighboring sensor nodes and corresponding time slots. The power control logic is configured to power a transceiver for reception of transmissions from each identified neighboring sensor node based on the identified time slots corresponding to the identified neighboring sensor nodes provided in the list.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] FIG. 1 is a block diagram of a wireless network in accordance with various embodiments.
[0007] FIG. 2 is a diagram of slot/frame timing suitable for communication in the wireless network of FIG. 1.
[0008] FIG. 3 is a block diagram of a wireless device configured to access the wireless network of FIG. 1.
[0009] FIG. 4 is flow diagram of a method for power optimization in the wireless network of FIG. 1.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0010] Radio operation consumes a large percentage of overall power consumption in battery-operated wireless sensor network devices. Accordingly, to ensure longevity of the wireless sensor network devices, radio use should be minimized while providing for sufficient communication between devices. Some conventional sensor network devices minimize radio
power consumption by duty cycling radio listening rather than busy- wait radio listening. In duty cycle radio listening, the radio is periodically activated for a short time to receive packets. By comparison, in busy-wait radio listening, the radio is continually powered. Use of duty cycle listening can greatly reduce radio power consumption.
[0011] In many sensor networks that employ duty cycle listening, the periodic listening dominates power consumption because packet transmissions are much less frequent than the listening period (such as 1 packet transmitted per minute). Accordingly, additional techniques for increasing the life of low-power sensor network devices are desirable.
[0012] In some embodiments, during wireless sensor network initialization, wireless devices identify other devices in the network and the time slots/frames during which the devices communicate. Each device constructs and maintains a white list that specifies the time slots/frames during which the device's radio is powered to communicate with other devices. By powering the radio during only the slots/frames specified in the white list, the wireless device can substantially reduce the radio's power consumption while ensuring that the radio is powered at times when communication may occur.
[0013] FIG. 1 is a block diagram of a wireless network 100 in accordance with various embodiments. The network 100 includes devices 102-114 that wirelessly communicate with one another. The devices 102-114 are also called nodes. For clarity, FIG. 1 shows only a few wireless nodes, but the network 100 may include any number of wireless nodes. The devices 102-114 may be powered by sources, such as batteries and energy harvesting systems, which provide limited energy. The network 100 may be a wireless sensor network, and each of the devices 102-114 may be a wireless sensor device/node that measures one or more parameters of the environment and transmits the measurements via the network 100.
[0014] In the network 100, node 102 operates as a coordinator. The coordinator node 102 may serve as a base station for the network 100. Nodes 104 and 106 are leaf nodes, which are located at a distance from the coordinator node 102 that allows the coordinator node 102 to directly communicate with each of the leaf nodes 104 and 106. Node 108 is an intermediate node, which is also located at a distance from the coordinator node 102 that allows the intermediate node 108 to communicate directly with the coordinator node 102.
[0015] Because the nodes 102-114 have limited wireless communication range, some nodes in the network 100 are unable to communicate directly with the coordinator node 102. For example,
in the network 100, the nodes 110, 112 and 114 are disposed too distant from the coordinator node 102 to allow direct communication with the coordinator node 102. Accordingly, the leaf node 110 and the intermediate node 112 communicate directly with the intermediate node 108, and communicate with the coordinator node 102 indirectly through the intermediate node 108. The leaf node 114 is located at a distance from the intermediate node 108 that prevents direct communication between the leaf node 114 and the intermediate node 108. Accordingly, the leaf node 114 communicates directly with the intermediate node 112, and communicates with the coordinator node 102 indirectly through the intermediate nodes 112 and 108.
[0016] The nodes 102-114 may communicate using a time division multiple access (TDMA) technique based on media access control protocols, such as IEEE802.15.4e TSCH (time synchronized channel hopping) and wireless HART protocols. The nodes of the network 100 include logic for TDMA based duty cycling.
[0017] FIG. 2 is a diagram of slot/frame timing suitable for communication in the network 100. In FIG. 2, the communication time is divided into superframes (or "frames") 202A and 202B. Each frame includes time slots. In the example of FIG. 2, each frame includes eight timeslots. In other embodiments, each frame may include a different number of timeslots. In the network 100, the nodes 102-114 are assigned one or more of the timeslots in which communication may be initiated between two nodes. For example, in FIG. 2, a first pair of nodes is assigned timeslot 2 for communication, and a second pair of nodes is assigned timeslot 5 for communication.
[0018] The nodes 102-114 apply duty cycling to the TDMA timeslots/frames of FIG. 2. In TDMA duty cycling, each node 102-114 may power or otherwise enable its radio during only the timeslots/frames that have been assigned to the node for network communication. For example, nodes 102 and 104 may be assigned timeslot 2 for communication. Accordingly, nodes 102 and 104 may power associated radios for communication between the nodes during only timeslot 2 of a frame. Additionally, nodes may be assigned specific frames for communication. For example, nodes 102 and 104 may communicate in every other, every third, or every fourth frame, etc. Thus, nodes 102 and 104 may power associated radios in timeslot 2 of frame 202A and not power the radios in timeslot 2 of frame 202B.
[0019] TDMA duty cycling protocols may define the type of each timeslot based on use. The beacon timeslot and control timeslot are two types of timeslots. The beacon contains time synchronization information of the TDMA network. The time synchronization information allows
a new device to synchronize itself to the network without prior knowledge about the existing network. Further, even after initial synchronization, the beacon allows devices to compensate for clock drift between devices. The time of transmission and reception of the beacon packet is used by devices to adjust the timeslot timing and to maintain alignment with the TDMA timeslot boundaries of the network. After a device has received a beacon packet and obtained synchronization information, the principal reasons for beacon reception are to compensate for clock drift between devices and to detect a change of network configuration such as timeslot changes. When clock drift can be tolerated, the device can skip some beacon receptions by suppressing unnecessary listening on the beacon timeslot.
[0020] A control timeslot allows new devices to exchange packets with the network for joining or associating with the network. The control timeslot also allows devices to exchange packets for maintaining and updating the topology of the network. Control timeslots are infrequently used after the network has been settled. The use of control timeslots becomes frequent only when new devices want to join an existing network which triggers a set of packet exchanges for association of a new device and topology updates. After the network has been settled, the devices can suppress some unnecessary listening on the control timeslot.
[0021] In conventional wireless networks, suppressing/skipping slots or slotframes can result in delay in connection setup for nodes attempting to connect/associate with the network. When slots are suppressed, nodes may take substantial time to transmit association request frames and eventually connect with the coordinator. Embodiments of the network 100 provide reduced connection setup time, relative to conventional networks that apply TDMA duty cycling to suppress slots/frames, while also providing the power benefits of slot/frame suppression.
[0022] The network 100 is generally static. For example, during an initialization interval, the nodes 102-114 join the network 100, and the communication paths between the nodes 102-114 are established. Thereafter, changes to the network 100 are infrequent. During the initialization interval, each node identifies other nodes with which it communicates directly and indirectly, and identifies the slot/frame timing assigned for communication with each other node. Based on the identified nodes and timing, each node creates a white list that defines the slot/frames during which a radio may be powered for communication, and conversely identifies the slots/frames during which the radio may be unpowered. Each node applies its white list to control radio power after network initialization, but slot/frame suppression is not enforced during initialization, which
reduces node connection time.
[0023] FIG. 3 is a block diagram of the wireless device 102 suitable for use in the network 100. The structure and functionality described herein with regard to the wireless device 102 is equally applicable to the wireless nodes 104-114, and any other wireless node of the network 100. The device 102 includes a white list generator 302, a transceiver 304, power control logic 306, processing and control logic 308, and an antenna 314. The wireless device 102 may also include various components that have been omitted from FIG. 3 as a matter of clarity. For example, the wireless device may include transducers or sensors for measuring parameters of the environment in which the wireless device 102 operates, such as digitization circuitry and analog signal processing circuitry.
[0024] The antenna 314 converts signals between conducted and airwave form. The antenna 314 is coupled to the transceiver 304. The transceiver 304 includes a receiver 310 and a transmitter 312. The receiver 310 provides downconversion, demodulation, decoding, etc. for signals detected by the antenna 314 (such as signals received via the wireless channel), and the transmitter 312 provides encoding, modulation, amplification, etc. of signals to be transmitted via the antenna 314.
[0025] The power control logic 306 is coupled to the transceiver 304. The power control logic 306 generates signals that control whether the receiver 310 and/or the transmitter 312 are enabled. For example, the signals may control whether the receiver 310 and/or the transmitter 312 are powered in a given slot/frame. In some embodiments, the power control logic 306 may control the switching of power to the receiver 310 and/or the transmitter 312. In other embodiments, the power control logic 306 may control the provision and/or frequency of clock signals provided to the receiver 310 and/or the transmitter 312.
[0026] The white list generator 302 builds and maintains a list that identifies nodes of the network 100 that communicate with the wireless device 102, and identifies the slots/frames assigned for the communication. Based on the list, the white list generator 302 provides power control information to the power control logic 306. The white list generator 302 includes node identification logic 316 and slot/frame identification logic 318 that generate the white list 320. The node identification logic 316 identifies the nodes of the network 100 that communicate directly with the wireless device 102, and identifies the nodes of the network 100 that communicate indirectly with the wireless device 102 through one or more intermediate nodes. The slot/frame identification logic 318 identifies the slots/frames assigned for communication between the
wireless device 102 and other nodes of the network 100. The white list 320 contains the node and slot/frame information identified by the node identification logic 316 and the slot/frame identification logic 318. The slot/frame information stored in the white list 320 is provided to the power control logic 306 to control enabling of the receiver 310 and/or the transmitter 312.
[0027] The processing and control logic 308 provides control and data processing for the wireless device 102. For example, the processing and control logic 308 may provide TDMA timing for use in transmitting and receiving data via the wireless channel, and may provide communication protocol processing, transducer data processing, etc. In some embodiments, the processing and control logic 308 may include a processor, memory for instruction and data storage, clock and timing circuitry, and various other components. In some embodiments, the white list generator 302 may be integrated with the processing and control logic 308. For example, a processor of the processing and control logic may execute instructions that cause the processor to perform the functionality of the white list generator 302.
[0028] A processor suitable for use in the processing and control logic 308 may be a general-purpose microprocessor, a digital signal processor, a microcontroller, or other device capable of executing instructions retrieved from a computer-readable storage medium. Processor architectures generally include execution units (such as fixed point, floating point, and integer), storage (such as registers and memory), instruction decoding, instruction and data fetching logic, peripherals (such as interrupt controllers, timers, and direct memory access controllers), input/output systems (such as serial ports and parallel ports) and various other components and subsystems.
[0029] Memory suitable for use in the processing and control logic 308 is a non-transitory computer-readable storage medium suitable for storing instructions that are retrieved and executed by a processor of the wireless node 102 to perform the functions disclosed herein. The memory may include volatile storage (such as static or dynamic random access memory) and/or non- volatile storage (such as FLASH storage and read-only memory).
[0030] The power control functionality provided by the white list generator 302 and power control logic 306 may be based in part on the functionality provided by (or the role of) the wireless device 102 in the network 100, and/or the location and connectivity of the device 102 in the network 100.
[0031] In a direct connection scenario, a coordinator node communicates directly with a leaf
node. If the wireless device 102 is a coordinator in the network 100 and is powered by a source that provides unlimited power (such as AC power mains), then the power control logic 306 may allow the receiver 310 and the transmitter 312 to be powered continually because power savings are unnecessary to extend the life of the wireless device 102. If the wireless device 102 is operating as a coordinator of the network 100, and the power source (such as a battery) of the wireless device 102 provides limited power, then the white list generator 302 creates the white list 320 during a predetermined network initialization interval (such as 1 day). When the network 100 is stable (such as when the initialization interval expired or no new nodes are identified for a predetermined time), the white list 320 is applied to reduce power consumed by the receiver 310 and/or transmitter 312 by powering the receiver 310 and/or transmitter 312 during only slots/frames assigned for communication between the wireless device 102 and nodes identified during the initialization interval. For example, the white list 320 is applied to control slot/frame skipping/suppression that disables the receiver 310 and/or transmitter 312 power during slots/frames not assigned for communication. In some embodiments, the white list may be applied to enable slot/frame skipping/suppression at any time after a leaf node has connected to the coordinator wireless device 102. During network initialization, the wireless device 102 may reduce network initialization time by not applying slot/frame skipping/suppression.
[0032] If the wireless device 102 is operating as a leaf node in the network 100, then the white list generator 302 will create the white list 320 when the wireless device 102 joins the network (such as when it establishes a connection with a coordinator node). As a leaf node, the wireless device 102 may apply the white list 320 to direct slot/frame skipping/suppression at any time after joining the network 100. When operating as a leaf node, the wireless device 102 may assume that the coordinator node is always on.
[0033] In an indirect connection scenario, leaf nodes are indirectly connected to a coordinator through an intermediate node. In the indirect connection scenario, the wireless device 102, if powered by a limited energy source, operates as a coordinator (as described for the direct connection scenario) and also receives (from intermediate nodes) identification of the leaf nodes connected to the intermediate nodes. In the indirect connection scenario, the wireless device 102 operating as a coordinator node may not apply the white list 320 for slot/frame skipping/suppression until intermediate nodes have provided leaf node identification to the wireless device 102. If the wireless device 102 is operating as an intermediate node, then the
wireless device 102 operates similarly to how the coordinator node is described as operating for the direct connection scenario. If the wireless device 102 is operating as a leaf node, then the wireless device 102 operates similarly to how the leaf node is described as operating for the direct connection scenario.
[0034] In a multi-hop connection scenario, leaf nodes are indirectly connected to a coordinator through multiple intermediate nodes. In the multi-hop connection scenario, the wireless device 102, if powered by a limited energy source, operates as a coordinator (as described for the indirect connection scenario). In the multi-hop connection scenario, the wireless device 102 operating as a coordinator node may not apply the white list 320 for slot/frame skipping/suppression until all intermediate nodes have provided leaf node identification to the wireless device 102. If the wireless device 102 is operating as an intermediate node disposed between the coordinator and another intermediate node, then the wireless device 102 operates similarly to how the coordinator node is described as operating for the indirect connection scenario. If the wireless device 102 is operating as an intermediate node with respect to only leaf nodes, then the wireless device 102 operates similarly to how the intermediate node is described as operating for the indirect connection scenario. If the wireless device 102 is operating as a leaf node, then the wireless device 102 operates similarly to how the leaf node is described as operating for the direct connection scenario.
[0035] FIG. 4 is a flow diagram of a method 400 for power optimization in the network 100. Though depicted sequentially as a matter of convenience, at least some of the actions shown can be performed in a different order and/or performed in parallel. Additionally, some embodiments may perform only some of the actions shown. At least some of the operations of the method 400 may be performed by a processor executing instructions retrieved from a non-transitory computer readable storage medium.
[0036] In block 402, the network 100 is initializing, and the nodes are joining the network 100 by establishing communication with other nodes. Each node identifies the nodes (such as neighboring nodes) with which the node directly communicates.
[0037] In block 404, each node has established communication with neighboring nodes, and time slots/frames are assigned for communication between the nodes. Any number of time slots per frame may be assigned for use by the nodes, and fewer than all frames (such as alternate frames) may be assigned for communication between nodes.
[0038] In block 406, each node builds a white list that contains information identifying the time slots/frames on which communication between nodes may take place and identifying the node associated with each time slot/frame combination.
[0039] In block 408, each coordinator node receives (from each intermediate node directly connected to the coordinator node) information that identifies the leaf nodes and additional intermediate nodes directly connected to the intermediate node. For example, the coordinator node receives information regarding the identity of leaf nodes and intermediate nodes indirectly connected to the coordinator node. Similarly, each intermediate node that is disposed between a coordinator node and an upstream intermediate node receives information from the upstream intermediate node that identifies the leaf nodes and intermediate nodes directly connected to the upstream intermediate node, and may forward the information to the coordinator node. Each node may add (to the white list 320 of the node) the information regarding nodes to which the node is indirectly connected.
[0040] In block 410, each node of the network 100 applies the white list 320 to control at what times the receiver 310 and/or transmitter 312 of the node is powered for communication with other nodes. Optionally, the coordinator and/or intermediate nodes do not apply a white list during network initialization.
[0041] Modifications are possible in the described embodiments, and other embodiments are possible, within the scope of the claims.