As you may already know, the Avnet Ultra96-V2Ultra96-V2 single board computer does not have a wired Ethernet port on the board. That means if we want higher Ethernet data throughput than the on-board WiFi can provide we need to go exploring for options. I recently wrote about Enabling USB Gadget Ethernet on the Ultra96-V2 as a way to accomplish this.
But what if we need even higher Ethernet throughput than USB gadget Ethernet can provide? Thankfully the Ultra96 board is very versatile and we have a couple of options here:
- USB-to-Ethernet dongle
- Ethernet mezzanine add-on card
A USB Ethernet dongle is a cheap and easy way to get decent Ethernet throughput (600-800+ Mbps) using one of the USB 3.0 host ports on the Ultra96 and standard Ethernet LAN infrastructure. This can be measured using the Linux iperf3 application (an accompanying iperf3 server needs to also be running on another node on the LAN):
$ iperf3 -c <server IP address> -i <interval> -t <total time> -B <wired Ethernet IP address>
Support for the Tripp-Lite USB 3.0 GbETripp-Lite USB 3.0 GbE adapter, which uses the Realtek 8152 chip, was added to the Ultra96-V2 PetaLinux 2020.1 BSP. Previous BSPs had support for USB Ethernet adapters that use the Asix AX88179 chip (https://www.amazon.com/TRENDnet-Ethernet-Chromebook-Specific-TU3-ETG/dp/B00FFJ0RKE/). This Prudent Way USB 2.0Prudent Way USB 2.0 adapter is also known to work with the Ultra96, but it is limited to 100Mbps.
An Ethernet mezzanine add-on card may be a good option if you:
- Need even greater Ethernet throughput
- Need more than one Ethernet connection
- Are already using all of the Ultra96 host USB 3.0 ports
The folks at Opsero make a quad GbE mezzanine card designed for the Ultra96:
https://opsero.com/product/96b-quad-ethernet-mezzanine/
https://docs.ethernet96.com/en/latest/index.html
This mezzanine has 4 Ethernet ports each with their own SGMII interface using the high-speed mezzanine connector to the Zynq UltraScale+ device on the Ultra96 board. Using Ethernet jumbo frames throughput of nearly 950 Mbps can be achieved:
Opsero also provides example designs for the Ultra96-V1 and V2 boards using both the Zynq UltraScale+ processing system gigabit Ethernet MACs (PS GEM) and gigabit Ethernet MACs in the programmable logic (PL TEMAC).
https://docs.ethernet96.com/en/latest/getting_started.html#example-designs
https://github.com/fpgadeveloper/ethernet96
Another advantage of the quad GbE mezzanine is it opens up other applications like Time Sensitive Networking (TSN).
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/25034864/Xilinx+TSN+Solution
https://www.xilinx.com/products/intellectual-property/1gtsn.html
What other sorts of Ethernet applications can you think for the Ultra96 board? What could you do with 4 ports of gigabit Ethernet? We would like to know, so leave your comments below.