[[TracNav(802.11/TOC)]] = MAC Config Hardware = In addition to the state implemented in the CPU_LOW processor, certain time critical MAC behaviors are implemented directly in the FPGA fabric via the MAC Config Hardware core. This core was designed to meet the needs of the DCF implementation of 802.11 while still remaining flexible for custom applications. There are three basic components to the peripheral: Timers, MAC CFG Tx Core A, MAC CFG Tx Core B. == Timers == Many MAC algorithms require precise scheduling of transmissions relative to some preceding transmission or reception event. Examples in the DCF include the following: * ACK and CTS transmissions must occur a SIFS period after previous qualified receptions * Contention windows must begin a timeout interval after a previous unsuccessful transmission To enable these and other custom applications, we have designed the hardware with 4 independent timers that can be configured via software in CPU_LOW: 1. '''postRxTimer1''' 1. '''postRxTimer2''' 1. '''postTxTimer1''' 1. '''postTxTimer2''' These timers each independently begin after the prior transmission or reception. They count until a user-specified interval of time has elapsed and then assert an output to the MAC CFG Tx Core A and MAC CFG Tx Core B subsystems. In the stock DCF implementation of the Mango 802.11 Reference Design, only '''postTxTimer2''' and '''postRxTimer1''' are used. Their durations are set to a ACK timeout and a SIFS respectively. One future straightforward extension to the design would be to use '''postTxTimer1''' to enable the "burst" transmission capabilities introduced in the 802.11e amendment where each transmission is separated by a deterministic SIFS or RIFS interval. == MAC CFG Tx Core A == The Tx Core A is fundamentally different than Tx Core B in that its transmission can be qualified on medium idleness. Additionally, it is the transmission state that is capable of honoring a post-Tx timeout interval in which a reception is expected by the MAC state. The DCF implementation uses this core for three different purposes: 1. Transmission and retransmission of MPDU frames 1. Transmission and retransmission of RTS frames 1. Transmission of CTS frames The unifying trait of each of the above transmissions is a condition on medium idleness prior to each. Furthermore, each of the above transmissions utilizes a post-Tx timeout window during which a response is expected. === Implementation Details === == MAC CFG Tx Core B == === Implementation Details ===