Version 5 (modified by chunter, 10 years ago) (diff) |
---|
802.11 Reference Design
- Download
- Changelog
- FAQ
- Architecture
Using the Design...
Benchmarks
- IFS Calibration
- Throughput
- Transmitter Characterization
- Receiver Characterization
- Pkt. Det. Min. Power Characterization
MAC
Upper-level
Lower-level...
- PHY
Experiments Framework...
- Packet Flow
- FPGA Architecture
- FPGA Resource Usage
- App Notes
- Other Resources
- License
- Changelog
Wireless Transmit Queue
The MAC High Framework provides a queue for outgoing wireless transmissions. The storage of this queue is in the DRAM SODIMM on the WARP v3 board provided it is plugged into the board (otherwise, a much smaller queue is created inside local BRAM). The MAC High Framework maintains a pool a free queue elements that can be checked out by the upper-level MAC. Furthermore, it maintains a series of full queue elements that are tied to any number of independent queues. This allows, for example, an upper-level MAC like an Access Point to queue packets for each station independently.
The wireless transmission process is the following:
- A free queue element is checked out and, if available, filled in with a packet payload.
- The upper-level MAC decides which outgoing queue, if any, the packet should be added to and notifies the framework to add it to the end of that particular queue.
- The upper-level MAC checks each of the outgoing queues when the lower-level MAC is ready for another packet. At this point, the upper-level MAC can implement any number of queuing structures. In our implementation, we have used a round-robin scheme where the upper-level MAC cycles through the queues of associated devices. We intend for this design to be modified by users if a more complex queueing scheme is required. Once a packet is selected, the upper-level MAC notifies the MAC High Framework to send from a particular queue.
- Once sent, the queue element is returned back to the free pool so it can be checked out and filled in with a new payload in the future.