Version 18 (modified by chunter, 10 years ago) (diff) |
---|
The 802.11 Reference Design and its documentation are under active development by the Mango team. The current release should be considered a beta- updates with bug fixes, API changes, new features and other refinements will be posted frequently. Please check the downloads page for the latest updates and post any questions about the design to the forums.
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
Upper-level MAC Description
The upper-level MAC is responsible for inter-packet states that are not time critical. For example, the Access Point implementation is an upper-level MAC that handles the association handshake state machine, but relies on the lower-level DCF MAC for actual medium access.
There is a considerable amount of shared code among different upper-level MAC implementations. The MAC High Framework is the collection of these shared operations. The interaction between an upper-level MAC and this framework can be broken down into 4 broad categories:
Wireless Receptions
The MAC High Framework notifies the upper-level MAC of a wireless reception via a callback that is registered at boot. Within the framework, wireless receptions are handled via an interrupt attached to the inter-processor mailbox that connects the high and low processors.
Wireless Transmissions
When the upper-level MAC wants to transmit a packet wirelessly, there are a few steps:
- The upper-level MAC enqueues a packet into any of a number of outgoing wireless transmission queues. It performs this step by calling a function in the MAC High Framework.
- Because the process by which a transmit queue is emptied depends on the upper-level MAC, the upper-level MAC owns the code responsible for this. As such, the upper-level MAC calls its own function for processing any currently-filled transmit queues. In addition, the framework itself is capable of calling this function via a registered callback. It will call this function whenever the lower-level MAC has finished sending an MPDU.
- Finally, the upper-level MAC is notified whenever the lower-level MAC has finished sending an MPDU via a registered callback.
Wired Receptions
Whenever the framework received a wired Ethernet frame, it encapsulates