UART Setup

The ZCU104 hardware has a quad USB-UART transceiver. One UART is dedicated to the onboard JTAG interface. The other three are routed to MPSoC pins to be used as serial ports by CPUs.

The USB-UART interface requires the FTDI VCOM driver, included by default on most platforms. Refer to the FT4232HL USB UART Interface section of Xilinx UG1267 for more details on the UART hardware.

UART Interfaces

The Mango 802.11 PetaLinux reference project for ZCU104 uses PSU UART0 (FT4232 channel B) for the Linux console and PSU UART1 (FT4232 channel C) for the RPU stdout. Both UARTs are configured for 115200bps.

Identifying UART Devices

Many operating systems already include the required FTDI Virtual COM Port (VCP) driver. If your PC does not recognize the USB-UART interfaces after connecting the USB cable you may need to install the driver directly. FTDI provides drivers for most operating systems.

On Windows the USB-UART interfaces will enumerate as three “USB Serial Port” devices assigned arbitrary COMx port labels. These COMx port labels are used to open a terminal on the serial port.

On Linux the USB-UART interfaces enumerate as four /dev/ttyUSBx devices. Typically the lowest numbered ttyUSBx device is the JTAG interface and should not be used with a terminal. The next two ttyUSBx devices are typically channels A/B of the FT4232 transceiver (PSU UART0/UART1).

Terminal Configuration

Any serial terminal can be used with the USB-UART interfaces. Putty is a good option on Windows, picocom is good on Linux.

You can use Device Manager (or your OS’s equivalent) to identify which COM port number is assigned to each USB-UART interface. In our experience the ZCU104 interfaces are assigned the same COM/ttyUSB labels for a given board.

The 802.11 FPGA Design configures the PS UART peripheral for:

Param Value
Speed 115200 bps
Data bits 8
Stop bits 1
Parity None
Flow Control XON/XOFF

We also recommend enabling “Implicit CR in every LF” in the terminal settings (--imap lfcrlf in picocom). This will improve the readability of the UART output in the reference 802.11 MAC code.