Enhanced Distributed Channel Access (EDCA)

The EDCA (Enhanced Distributed Channel Access) application implements the standard 802.11 channel access mechanism. It provides access to the wireless medium through four access categories (ACs), each with its own set of EDCA parameters.

Rx

Receptions, independent of control packet transmission responses, run without edca application involvement. Received payloads are passed to Linux directly via custom PL hardware. The edca application is responsible for monitoring receptions, updating Block ACK bitmaps state with FCS results, and generating control packet transmission responses where appropriate.

Tx

Transmissions are dealt with in lockstep with linux-dev (the Linux Device Interface). New transmissions are requested by linux-dev via the IPC Framework and are reported back to linux-dev` upon completion via the same mechanism. The edca code never waits on hardware; interrupts are used when the application must react to an event, allowing Tx and and Rx state to be interleaved. The edca application uses the Tx Controllers to manage parallel contention for the wireless medium by competing access classes.

Beacons

Beacon transmissions are unique in that there are very strict requirements dictating when they should be sent. This allows client stations to doze to save power and wake up in a narrow window around when a beacon is expected. The dcf application is responsible for achieving these target beacon transmission times (TBTT).