Minimizing CC2420 Power Consumption

From TinyOS Wiki
Revision as of 12:40, 7 July 2008 by Dmoss (talk | contribs) (New page: == Built in power saving methods == There are several methods the CC2420 radio stack uses to minimize power consumption. 1. Invalid Packet Shutdown Typically, packets are filtered out...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Built in power saving methods

There are several methods the CC2420 radio stack uses to minimize power consumption.

1. Invalid Packet Shutdown

 Typically, packets are filtered out by address at the radio hardware
 level.  When a receiver wakes up and does not receive any
 packets into the low power listening layer of the radio stack, it 
 will automatically go back to sleep after some period of time.  As a 
 secondary backup, if address decoding on the radio chip is disabled, 
 the low power listening implementation will shut down the radio if 
 three packets are receive that do not belong to the node.  This helps 
 prevent against denial of sleep attacks or the typical transmission 
 behavior found in an ad-hoc network with many nodes.

2. Early Transmission Completion

 A transmitter typically sends a packet for twice the amount of time
 as the receiver's receive check period.  This increases the probability
 that the receiver will detect the packet.  However, if the transmitter receives
 an acknowledgement before the end of its transmission period, it
 will stop transmitting to save energy.  This is an improvement
 over previous low power listening implementations, which transmitted
 for the full period of time regardless of whether the receiver has 
 already woken up and received the packet.

3. Auto Shutdown

 If the radio does not send or receive messages for some period of
 time while low power listening is enabled, the radio will automatically 
 turn off and begin duty cycling at its specified duty cycle period.

4. CCA Sampling Strategy

 The actual receive check is performed in a loop inside a function, 
 not a spinning task.  This allows the sampling to be performed
 continuously, with the goal of turning the radio off as quickly as 
 possible without interruption.


Sleep Interval Recommendations

With the default low power communication implementation, we recommend a sleep interval between 0.5 - 2 seconds. If you know nodes in your network will transmit very rarely, you can try increasing the sleep interval to greater amounts.

Increasing the sleep interval increases the amount of energy a transmitter must expend to wake up a sleeping node, and also increases the throughput through the network.

In some point-to-point applications that rarely transmit, sleep intervals of 5 seconds or more have proven to work well.

See Also

Next