Difference between revisions of "CC2420 Layer Architecture"
(New page: The CC2420 radio stack consists of layers of functionality stacked on top of each other to provide a complete mechanism that modifies, filters, transmits, and controls inbound and outboun...) |
m |
||
Line 50: | Line 50: | ||
= Next = | = Next = | ||
* [[CC2420 Layer Descriptions]] | * [[CC2420 Layer Descriptions]] | ||
+ | |||
+ | [[Category:CC2420]] |
Latest revision as of 01:58, 10 November 2009
The CC2420 radio stack consists of layers of functionality stacked on top of each other to provide a complete mechanism that modifies, filters, transmits, and controls inbound and outbound messages. Each layer is a distinct module that can provide and use three sets of interfaces in relation to the actual radio stack: Send, Receive, and SplitControl. If a general layer provides one of those interfaces, it also uses that interface from the layer below it in the stack. This allows any given layer to be inserted anywhere in the stack through independant wiring. For example:
provides interface Send; uses interface Send as SubSend; provides interface Receive; uses interface Receive as SubReceive; provides interface SplitControl; uses interface SplitControl as subControl;
The actual wiring of the CC2420 radio stack is done at the highest level of the stack, inside CC2420ActiveMessageC. This configuration defines three branches: Send, Receive, and SplitControl. Note that not all layers need to provide and use all three Send, Receive, and SplitControl interfaces:
// SplitControl Layers SplitControl = LplC; LplC.SubControl -> CsmaC; // Send Layers AM.SubSend -> UniqueSendC; UniqueSendC.SubSend -> LinkC; LinkC.SubSend -> LplC.Send; LplC.SubSend -> TinyosNetworkC.Send; TinyosNetworkC.SubSend -> CsmaC; // Receive Layers AM.SubReceive -> LplC; LplC.SubReceive -> UniqueReceiveC.Receive; UniqueReceiveC.SubReceive -> TinyosNetworkC.Receive; TinyosNetworkC.SubReceive -> CsmaC;
If another layer were to be added, CC2420ActiveMessageC would need to be modified to wire it into the correct location.