You are not logged in.
Hi,
I am trying to find the tx/rx switch in low MAC. However, I am unable to find where the tx/rx switching happens.
I understand that the low MAC should call the radio controller (radio_controller_setMode_Tx(ba, rfSel)).
Can someone please guide me?
Offline
The antenna switch is controlled directly from the radio_controller logic. This logic changes the switch between Tx and Rx modes based on the Tx/Rx state of the radio.
In the 802.11 Reference Design the radios are in Rx mode by default and switch to Tx mode immediately before each packet transmission. This switching between Rx and Tx is implemented in the FPGA, not in the MAC C code.
1) MAC C code submits a Tx to one of the MAC core's Tx controllers.
2) The mac_hw core's Tx controller asserts the Tx_Start input of the Tx PHY
3) The Tx PHY asserts the radio_controller's Tx enable
4) The radio_controller disables Rx, enables Tx, enables the PA and switches the antenna switch
5) When the Tx is complete, the Tx PHY de-asserts the radio_controller's Tx enable, reverting to Rx mode
Thus, every Tx event is initiated from the MAC C code, but the actual switching between Rx/Tx/Rx occurs in real-time via the mac_hw, PHY and radio_controller cores.
Offline
Thank you for the detailed reply. I highly appreciate it.
So, if I want to read the TX switching event like a flag and send that information to one of the I/O pins, what would be the correct approach?
Offline
So, if I want to read the TX switching event like a flag and send that information to one of the I/O pins, what would be the correct approach?
The 802.11 ref design asserts debug pin 0 during every Tx event. This debug signal is driven by the Tx PHY. The actual Rx->Tx switch occurs slightly after this debug signal asserts.
Offline