GPIO¶
The ZCU104 implements two PMOD ports each with 8 pins routed to FPGA I/O.
The 802.11 MAC/PHY design uses the GPIO port for debug I/O. The GPIO pins are connected to the wlan_hw_controller core which implements the necessary logic to use each GPIO pin as an input or output. The wlan_hw_controller core supports reading GPIO inputs from software or hardware, and supports setting GPIO outputs from software or hardware. By default the 16 GPIO pins are configured as software-controlled outputs.
Pinout¶
The Mango 802.11 design uses the PMOD pins as general purpose I/O. No PMOD module is requied to use these pins.
The figure below shows the mapping of PMOD header pins to signals in the 16-bit GPIO signal in the FPGA design. GPIO are mapped to PMOD headers PMOD 0 (J55) and PMOD 1 (J87).
Each PMOD header has two 3.3v power pins and two Ground pins. The GPIO are 3.3v logic signals.
802.11 Debug Outputs¶
The 802.11 MAC/PHY design drives real-time MAC and PHY status signals to debug outputs. On hardware platforms with debug headers these status outputs can be probed with an oscillosope to observe MAC/PHY state in real-time.
The reference 802.11 FPGA design for ZCU104 connects 16 MAC/PHY debug signals to GPIO. Observing these signals with a scope requires external equipment to access the GPIO pins.
| GPIO | Signal | Description | 
|---|---|---|
| 0 | PHY Rx: OFDM Rx Active | High when OFDM Rx is receiving a packet | 
| 1 | PHY Rx: DSSS Rx Active | High when DSSS Rx is receiving a packet | 
| 2 | PHY Rx: LTS Sync | Pulses high on OFDM LTS preamble sync | 
| 3 | PHY Rx: LTS Timeout | Pulses high when OFDM LTS sync times out | 
| 4 | PHY Tx: Tx Active | High when Tx PHY is transmitting | 
| 5 | MAC: Rx Active | High when MAC is hanlding new Rx | 
| 6 | MAC: Tx Active | High when MAC is hanlding new Tx | 
| 7 | MAC: FCS Good | Pulses high when MAC observes good FCS Rx MPDU | 
| 8 | MAC: MPDU Rx | Pulses high while MAC is handling Rx MPDU | 
| 9 | MAC: MAC Hdr Write | Pulse high when MAC writes header bytes to BRAM | 
| 13:10 | MAC: CCA BUSY[3:0] | Indicates sources of CCA Busy: [3:0] = [PHY Rx, PHY Tx, NAV, AC_Timeout] | 
| 14 | MAC: Beacon Tx Pending | High when beacon Tx is pending | 
| 15 | MAC: Ctrl Response Tx Pending | High when control response Tx is pending | 
