Simple Module CSMA802154

Package: org.mixim.modules.mac
File: modules/mac/CSMA802154.ned

C++ definition

IEEE 802.15.4-2006 non-beacon enabled CSMA protocol This model was independently validated on a wireless sensor network testbed. For more information, see Accurate Timeliness Simulations for Real-Time Wireless Sensor Networks, J. Rousselot, J.-D. Decotignie, M. Aoun, P. van der Stok, R. Serna Oliver, G. Fohler. In Proceedings of the 2009 Third UKSim European Symposium on Computer Modeling and Simulation.

http://dx.doi.org/10.1109/EMS.2009.34

CSMA802154

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Extends:

csma (simple module)

Generic CSMA protocol supporting Mac-ACKs as well as constant, linear or exponential backoff times.

Used in compound modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

Nic802154_TI_CC1100 (compound module)

This NIC implements a TI CC1100 network interface card using the CSMA protocol as specified in IEEE 802.15.4-2006.

Nic802154_TI_CC2420 (compound module)

This NIC implements a Texas Instruments CC 2420 802.15.4 network interface card using the CSMA protocol as specified in IEEE 802.15.4-2006.

Parameters:

Name Type Default value Description
notAffectedByHostState bool false
coreDebug bool

debug switch

headerLength double 72 bit

length of the MAC packet header (in bits)

debug bool false

debug switch

stats bool true
trace bool false
queueLength double 100

size of the MAC queue (maximum number of packets in Tx buffer)

bitrate double 250000 bps

bit rate

ccaDetectionTime double 0.000128 s

Clear Channel Assessment detection time

rxSetupTime double

Time to setup radio to reception state

aTurnaroundTime double 0.000192 s

Time to switch radio from Rx to Tx state

txPower double

tx power [mW]

useMACAcks bool true

Send/Expect MAC acks for unicast traffic?

macMaxFrameRetries double 3

maximum number of frame retransmission only used when usage of MAC acks is enabled

macAckWaitDuration double 0.00056 s

time to wait for an acknowledgement after transmitting a unicast frame. only used when usage of MAC acks is enabled

ackLength double 40 bit

complete MAC ack message length (in bits) (! headerLength is not added to this) only used when usage of MAC acks is enabled

sifs double 0.000192 s

simple interframe space. Time to wait between receiving a frame and acknowledging it. Should be bigger than the maximum time for switching between Tx and Rx at the receiver. only used when usage of MAC acks is enabled

backoffMethod string "exponential"

backoff method to use: constant, linear or exponential

macMaxCSMABackoffs double 4

maximum backoffs

aUnitBackoffPeriod double 0.00032 s

base unit for all backoff calculations

contentionWindow int 2

# of backoff periods of the initial contention window (for linear and constant backoff method only)

macMinBE double 3

minimum backoff exponent (for exponential backoff method only)

macMaxBE double 5

maximum backoff exponent (for exponential backoff method only)

Properties:

Name Value Description
class CSMA802154

Gates:

Name Direction Size Description
upperGateIn input

from upper layer

upperGateOut output

to uppe layer

upperControlIn input

control from upper layer

upperControlOut output

control to upper layer

lowerGateIn input

from lower layer

lowerGateOut output

to lower layer

lowerControlIn input

control from lower layer

lowerControlOut output

control to lower layer

Source code:

//
// IEEE 802.15.4-2006 non-beacon enabled CSMA protocol
// This model was independently validated on a wireless sensor network testbed.
// For more information, see 
// Accurate Timeliness Simulations for Real-Time Wireless Sensor Networks,
// J. Rousselot, J.-D. Decotignie, M. Aoun, P. van der Stok, R. Serna Oliver,
// G. Fohler. In Proceedings of the 2009 Third UKSim European Symposium on Computer 
// Modeling and Simulation. 
//
// http://dx.doi.org/10.1109/EMS.2009.34
// 
simple CSMA802154 extends csma
{
    parameters:
        @class(CSMA802154);

        sifs @unit(s) = 0.000192 s; // 12 symbols
        headerLength @unit(bit) = 72 bit;
        queueLength = default(100);
        bitrate @unit(bps) = 250000 bps;
        ackLength @unit(bit) = 40 bit;
        macMaxCSMABackoffs = default(4);  // takes values between 0 and 5  
        macMaxFrameRetries = default(3);  // takes values between 0 and 7
        macAckWaitDuration @unit(s) = 0.00056 s;  // 1+12+10+12 symbols
        ccaDetectionTime @unit(s) = 0.000128 s; // 8 symbols
        aTurnaroundTime @unit(s) = 0.000192 s;    // 12 symbols
        //txPower @unit(mW);
        useMACAcks = default(true);

        backoffMethod = "exponential";
        aUnitBackoffPeriod @unit(s) = 0.00032 s;
        macMaxBE = default(5);	// takes values between 3 and 8
        macMinBE = default(3);	// takes values between 0 and macMaxBE
}