3.1. Architecture¶
The Mango 802.11 MAC/PHY design supports operation as a Linux wireless NIC on Zynq-7000 and Zynq UltraScale+ MPSoC devices. The hardware architecture for each platform is illustrated below.
On both platforms the 802.11 PHY and radio interface are implemented in the PL (FPGA fabric). On Zynq-7000 devices the MAC software runs in two MicroBlaze CPUs also in the PL. On MPSoC the MAC runs in the hard ARM R5 CPUs in the PS RPU subsystem. No MicroBlaze CPUs are used in the MPSoC design.
The software architecture is the same on both platforms, illustrated below.
The Upper MAC and Lower MAC are implemented as bare-metal applications. The mango_wlan
module implements the SoftMAC 802.11 driver which interfaces to the kernel’s mac80211
framework. The mango_wlan
driver communicates with the Upper MAC application via the msg_fifo
module. This abstraction simplifies using the mango_wlan
driver on different hardware platforms.