Difference between revisions of "Minimizing CC2420 Power Consumption"
(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...) |
m |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
− | |||
== Built in power saving methods == | == Built in power saving methods == | ||
There are several methods the CC2420 radio stack uses to minimize | There are several methods the CC2420 radio stack uses to minimize | ||
power consumption. | power consumption. | ||
− | |||
− | + | === 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. | ||
− | + | === 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. | ||
− | + | === 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. | ||
− | + | === 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. | ||
Line 48: | Line 48: | ||
In some point-to-point applications that rarely transmit, sleep intervals of 5 seconds or more have proven to work well. | In some point-to-point applications that rarely transmit, sleep intervals of 5 seconds or more have proven to work well. | ||
+ | |||
+ | You can also try experimenting with the backoff by capturing the RadioBackoff events for your packet and setting them as low as possible. This will let you decrease the number of clear channel samples needed to detect a transmitter. | ||
+ | |||
= See Also = | = See Also = | ||
Line 55: | Line 58: | ||
= Next = | = Next = | ||
* [[CC2420 Settings and Registers]] | * [[CC2420 Settings and Registers]] | ||
+ | |||
+ | [[Category:CC2420]] |
Latest revision as of 07:56, 17 November 2009
Contents
Built in power saving methods
There are several methods the CC2420 radio stack uses to minimize power consumption.
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.
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.
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.
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.
You can also try experimenting with the backoff by capturing the RadioBackoff events for your packet and setting them as low as possible. This will let you decrease the number of clear channel samples needed to detect a transmitter.