CC2420 Radio Backoff

From TinyOS Wiki
Jump to: navigation, search

A CSMA backoff is a period of time where the radio pauses before attempting to transmit. When the radio needs to backoff, it can choose one of two backoff periods: initialBackoff or congestionBackoff.

These backoff durations are requested through the RadioBackoff interface. Unlike the CsmaBackoff interface, components that are interested in adjusting the backoff can call back using commands in the RadioBackoff interface. This allows multiple components to adjust the backoff period for packets they are specifically listening to adjust, rather than forcing each listener to return a value like the CsmaBackoff interface requires. The lower the backoff period, the faster the transmission, but the more likely the transmitter is to capture the channel. Also, backoff periods should be as random as possible to prevent two transmitters from sampling the channel at the same moment. If you do not catch and modify a backoff request, the default randomized backoff values will be used.

InitialBackoff is the longest backoff period, requested on the first attempt to transmit a packet. The long initial backoff period prevents the node from capturing the channel from other nodes by sending subsequent packet transmissions.

CongestionBackoff is a shorter backoff period used when the channel is found to be in use. A shorter congestion backoff period gives your node a higher priority on the channel if it's been waiting to send the packet.

See Also

Next