You are not logged in.
In standard dcf of 802.11, there is a freeze mechanism when the back off function is working. That is back off counter counts down only when the channel is idle. What I can see is only this function,
wlan_mac_dcf_hw_start_backoff(backoff_slots);
When I look inside the function, I only see
//Write num_slots and toggle start Xil_Out32(WLAN_MAC_REG_SW_BACKOFF_CTRL, (num_slots & 0xFFFF) | 0x80000000); Xil_Out32(WLAN_MAC_REG_SW_BACKOFF_CTRL, (num_slots & 0xFFFF));
I couldn't find more detailed information about the implementation of the backoff function.
My question is that is the freeze mechanism implemented in MAC LOW? How is it implemented?
Offline
The pausing-on-medium-activity behavior of the backoff counter is implemented directly in the MAC Support Core running in the fabric of the FPGA. The C code in CPU_LOW configures this core with various settings (e.g. the number of slots to backoff), but lets the core automatically pause and resume its backoff count according to the rules of the DCF. This frees up CPU_LOW from having to constantly poll medium activity. Instead, CPU_LOW just needs to poll the status register of the MAC Support Core to know when the transmission ultimately completes.
Offline
Thanks for your quick reply.
Offline