| 23 | |
| 24 | == Protocol == |
| 25 | This application uses our CSMA implementation. See the [wiki:CSMAMAC CSMAMAC] page for a full description of the state machine and overview of the code. |
| 26 | |
| 27 | == Timing == |
| 28 | ''The values below correspond to OFDM Reference Design v14''[[BR]] |
| 29 | |
| 30 | The basic packet exchange which defines the maximum throughput for CSMA is DATA-ACK-DATA. The timing of this exchange is our implementation is illustrated below. Please note the figure is ''not'' drawn to scale. |
| 31 | |
| 32 | [[Image(OFDMReferenceDesign/Applications/CSMA/Benchmarks/Files:csma_pktExchangeTiming.png)]] |
| 33 | |
| 34 | This figure assumes the following parameters: |
| 35 | * SISO antenna configuration |
| 36 | * 2 OFDM symbols for channel training per packet |
| 37 | * 24 byte MAC header at QPSK (2 OFDM symbols) |
| 38 | * Full rate modulation of QPSK (12 bytes per OFDM symbol) or 16-QAM (24 bytes per OFDM symbol) |
| 39 | * 1484 byte payloads (1470 byte IP datagram + 14 byte Ethernet header) |
| 40 | |
| 41 | This figure includes a random backoff period imposed after a node receives an ACK. This period is designed to prevent two fully-backlogged nodes from simultaneously attempting to transmit a new packet immediately after the previous DATA-ACK exchange completes. The backoff imposes a wait of an integral number of slot durations (a slot is 22µs in v14), with the slot count drawn randomly from ![0,7]. |
| 42 | |
| 43 | Given this timing, the average minimum period for transmitting a new DATA packet is 1263µs (for QPSK full rate) or 775µs (for 16-QAM full rate), implying a peak data throughput of 9.31Mbps for QPSK and 15.2Mbps for 16-QAM. |
| 44 | |
| 45 | == Benchmarks == |
| 46 | Detailed [wiki:OFDMReferenceDesign/Applications/CSMA/Benchmarks/v14 benchmarks] are available for the latest (v14) reference design's CSMA implementation. |