作者:Fisher Yang,文章来源:FPGA FAE技术分享选集
前言
USB(Universal Serial Bus,通用串行总线)是当今最广泛使用的外设接口标准之一,从键盘鼠标到高速固态硬盘,几乎覆盖了所有外设连接场景。随着USB规范不断演进,接口速率从最初的1.5 Mbps发展到如今的40 Gbps(USB4 Gen3x2),性能提升超过两万倍。
开普勒KPL3858评估板基于AMD Versal AI Edge Series Gen 2器件2VE3858,板载1个USB3.2 Gen2x1接口(Type-C)和2个USB2.0接口(Type-A),与官方VEK385评估板保持一致。USB3.2由Versal Gen2的MMI(Multi-Media Interface)硬核提供,通过GTR收发器实现10 Gbps高速传输;USB2.0则通过ULPI PHY(USB3320)经USB HUB(USB5744)扩展出两个Type-A接口,同时HUB的第一个端口连接USB2244控制器,用于板载microSD卡接口。
本文将详细介绍USB各代规格演进、Versal Gen2 USB硬件架构、KPL3858板卡USB电路设计、Vivado配置方法,以及USB实际性能测试结果。
一、USB各代规格介绍与对比
USB规范由USB-IF(USB Implementers Forum)制定,自1996年发布1.0版本以来,历经多次重大版本迭代,速率和功能不断提升。值得注意的是,USB3.x的命名经历了多次调整,容易造成混淆,下表以最新官方命名为准。

注:USB3.x命名历史上经历多次变更。USB 3.0在USB 3.1发布后被重命名为USB 3.1 Gen1,在USB 3.2发布后又被重命名为USB 3.2 Gen1x1。本文统一使用USB-IF最新官方命名。

图1-1 USB 各代规格对比
二、Versal Gen2 2VE3858 USB接口介绍
AMD Versal AI Edge Series Gen 2器件2VE3858集成了相互独立的USB控制器:
1. MMI子系统中的USB3.2Gen2x1硬核控制器,该控制器内部同时集成了USB3.2 PHY(PIPE4接口)和USB2.0 PHY(UTMI+/ULPI接口),可同时支持USB 3.2和USB2.0速率;
2. PS域有2个的USB2.0控制器,通过PMC MIO[13:25]或PMC MIO[27:39] ULPI接口连接外部USB PHY芯片。
2.1 USB3.2 Gen2x1(MMI硬核)
2.1.1 概述
Versal Gen2的USB3.2 Gen2x1是直接集成在处理系统(PS)中的标准接口硬核,完全硬化IP,无需消耗PL资源,减少设计复杂度。
• 多协议支持:单个控制器支持USB 2.0(480 Mbps)、USB 3.2 5 Gbps(Gen1x1)、USB 3.2 10 Gbps(Gen2x1)
• Host模式并发:Host模式下USB 3.2和USB 2.0可同时工作
• 硬化PHY:USB 3.2使用PIPE4接口,USB 2.0使用UTMI+/ULPI接口,均为硬化实现
• RAM集成:所需RAM已集成在MMI内部,无需外部BRAM或PL资源
• 硬化互联:通过硬化连接直连片上互联,不直连PL
• 时钟门控:支持时钟门控以降低功耗
• 支持USB Power Delivery(PD):KPL3858评估板通过TI TPS66993芯片实现

图2-1 2VE3858 USB 3.2 Gen2x1
2.1.2 GTR MUX共享机制
2VE3858的GTR收发器,专门供USB3.2和DisplayPort 1.4共享,通过MMI内部的PHY MUX进行切换分配。

图2-2 2VE3858 USB3.2共享PHY MUX框图
说明:USB3.2 / DP1.4 PHY:共享的高速PHY,支持USB3.2(最高10 Gbps)和DP1.4(最高32.4 Gbps)两种协议,通过PHY MUX切换。 USB2.0 PHY不经过PHY MUX始终可用,与USB3.2同时工作。
4条GTRLane的分配方式在Vivado MMI Peripherals中配置,可选组合如下:

KPL3858板卡选择USB, DP x2配置:USB3.2使用Lane[0:1]连接Type-C连接器(J56)。USB2.0 PHY独立工作,不受PHY MUX影响。
注意:根据AMD官方介绍(2025.1版本)USB3.2暂不支持Type-C Flip(翻转插入)的SuperSpeed+模式,正面插入支持USB 3.2(10 Gbps),翻转插入降速至USB 2.0(480 Mbps)。后续的版本修复了此限制。
2.2 USB2.0(ULPI接口,PS域)
Versal Gen2的PS域提供2个USB2.0控制器,通过ULPI(UTMI+ Low Pin Interface)标准接口连接外部USB2.0 PHY芯片。ULPI标准定义了USB控制器IP与PHY器件之间的接口,相比UTMI+大幅减少了接口引脚数量。
三、开普勒KPL3858板卡USB硬件设计
3.1 USB3.2 Type-C接口
KPL3858板卡的USB3.2接口通过Type-C连接器(J56)引出,对应Versal Gen2器件BANK 504的USB3.2 PHY引脚。BANK 504包含USB3.2的差分发送/接收对(PAD_USB3_PHY_TX/RX)以及USB2.0的差分信号(PAD_USB2_DP/DM)。

图3-1 BANK 504 USB3.2 PHY信号原理图
Type-C连接器的电源管理和方向检测由Texas Instruments TPS66993 USB Type-C及USB PD 双角色端口(DRP)控制器(U272)负责,实现以下功能:
• 线缆插拔检测及方向检测(CC1/CC2引脚)
• USB Power Delivery(PD)协商
• DisplayPort热插拔检测(DP HPD)

图3-2 USB3.2 Type-C连接器及TPS66993 PD控制器原理图
3.2 USB2.0接口链路
KPL3858板卡的USB2.0链路由以下芯片级联构成:
2VE3858 USB2.0(ULPI)→ Microchip USB3320 PHY(U29)→ Microchip USB5744 4-Port Hub → Port 2/3:双叠USB2.0 Type-A连接器(J77)
(1)USB3320 ULPI PHY(U29)
Microchip USB3320是一款高速USB2.0 PHY,支持UTMI+ Low Pin Interface(ULPI)标准,主要特性如下:
• 支持USB 2.0 High Speed(480 Mbps)、Full Speed(12 Mbps)、Low Speed(1.5 Mbps)
• ULPI接口,8位数据总线,大幅减少与主控的连接引脚数
• 由板载24 MHz晶振提供参考时钟,PHY内部PLL生成60 MHz ULPI时钟输出给主控

图3-3 USB3320 ULPI PHY原理图

图3-4 BANK 501 ULPI MIO信号连接原理图(MIO27~MIO39)
(2)USB5744 4-Port USB Hub
Microchip USB5744是一款4端口USB SS/Hi-Speed Hub控制器,在本设计中以USB2.0 Hi-Speed模式工作,将USB3320的单个USB2.0上行端口扩展为3个下行端口:
• Port 1:连接USB2244 SD/MMC控制器,用于板载microSD卡接口
• Port 2:连接双叠USB2.0 Type-A连接器(J77)上层
• Port 3:连接双叠USB2.0 Type-A连接器(J77)下层
• Port 4:接10K上拉电阻,不可用
各端口的VBUS使能由USB5744独立控制。
USB_HUB_RST_B复位信号由PSXC_MIO14控制(LPD MIO Bank 502)。

图3-5 USB5744 Hub及USB Type-A连接器原理图
四、Vivado配置
在Vivado中通过Processing System Wizard配置USB接口,分为PS Peripherals(USB2.0)和MMI Peripherals(USB3.2)两个部分。
4.1 PS Peripherals--USB2.0配置
在PS Wizard的PS Peripherals页面,启用USB1控制器:
• 勾选USB1(Domain:PS)
• IO Type:MIO
• Location:PMC_MIO_27:39(对应ULPI接口的MIO引脚)
注意:KPL3858评估板上USB0未使用。USB1对应板卡上的USB2.0 ULPI PHY链路。

图4-1 Vivado PS Peripherals - USB1配置(PMC_MIO_27:39)
4.2 MMI Peripherals - USB3.2配置
在PS Wizard的MMI Peripherals页面,配置USB3.2及其与DisplayPort共享:
• 选择USB, DP x2,PHY Lane Mapping:Lane[0:1], Lane[2:3]
• USB3.2使用Lane[0:1],连接Type-C连接器J56
• DisplayPort使用Lane[2:3]
右侧USB Configuration区域:
• USB 2.0:自动勾选(灰色,不可取消,USB3.2必须包含USB2.0)
• USB 3.2:勾选,启用SuperSpeed+(10 Gbps)

图4-2 Vivado MMI Peripherals配置(USB 3.2 Gen2x1)
五、USB测试
测试环境:将官方revA的boot.bin烧录至KPL3858上的OSPI Flash,将revA完整Linux镜像烧录至microSD卡,上电后进入Linux系统后进行测试。
5.1 USB2.0 U盘测试
将USB2.0 U盘插入KPL3858板卡的USB2.0 Type-A接口(J77),在Linux系统中执行lsusb和fdisk -l命令查看识别情况。

图5-1 KPL3858 TypeA USB插上U盘
lsusb结果分析:
• Bus 001(USB2.0总线):
• 0424:2744 - USB5744 Hub(Microchip,原SMSC)
• 0424:2240 - USB2244 Ultra Fast Media控制器(SD卡接口)
• 0424:2740 - USB5744 Hub Controller
• 090c:1000 - Silicon Motion Flash Drive(插入的USB2.0 U盘)
• Bus 002/003:USB2.0/3.0 root hub(USB3.2控制器,未插设备)

图5-2 插入USB2.0 U盘后lsusb输出
fdisk -l输出:

图5-3 插入USB2.0 U盘后fdisk -l输出
5.2 USB3.2 Type-C固态硬盘测试
将USB3.2 Gen2x1(10 Gbps)Type-C固态硬盘(威刚 SE800支持高达1000 MB/s的读写)连接至KPL3858板卡的USB3.2 Type-C接口(J56),在Linux系统中执行lsusb和fdisk -l命令查看识别情况。

图5-4 KPL3858 TypeC 插上移动固态硬盘
lsusb结果分析:
• Bus 001(USB2.0总线):USB5744 Hub、USB2244 SD卡控制器正常枚举
• Bus 002 Device 002:174c:a89a - ASMedia Technology SE800 USB3.2 Gen2SSD
• Bus 003:Linux Foundation 3.0 root hub(USB3.2控制器)

图5-5 连接USB3.2 Type-C SSD后lsusb输出
fdisk -l输出:

图5-6 连接USB3.2 Type-C SSD后fdisk -l输出
fdisk -l结果分析:/dev/sdb为连接的SE800固态硬盘(953.87 GB),系统正确识别并枚举为块设备。
5.3 USB3.2 Type-C固态硬盘性能测试
使用Linux内置的dd命令对USB3.2 Type-C SSD(威刚 SE800支持高达1000 MB/s的读写)(/dev/sdb)进行顺序读写性能测试。dd命令通过直接I/O(oflag=direct / iflag=direct)绕过页面缓存,测量实际的存储设备吞吐量。
顺序写入测试:
向/dev/sdb写入4 GB数据(4个1024 MB块),使用oflag=direct绕过写缓存:

顺序读取测试:
从/dev/sdb读取4 GB数据,使用iflag=direct绕过读缓存:

USB3.2 Gen2x1理论带宽为10Gbps。实际测试中,受USB协议开销、SSD控制器及主控处理能力影响,顺序读取速率达约797 MB/s,顺序写入速率达约863 MB/s,远超USB3.2 Gen1x1(5 Gbps,~400 MB/s)和USB2.0(480 Mbps,~40 MB/s)。
总结
本文详细介绍了开普勒KPL3858评估板的USB接口设计与测试:
• USB3.2 Gen2x1(10 Gbps):由Versal Gen2 MMI硬核提供,通过GTR收发器连接Type-C接口,配合TPS66993 PD控制器实现完整的USB Type-C功能;
• USB2.0(480 Mbps):通过ULPI PHY(USB3320)→ USB5744 4-Port Hub扩展,提供2个Type-A接口,同时通过USB2244控制器支持板载microSD卡;
• 测试验证:USB2.0 U盘(14.65 GB FAT32)和USB3.2 Type-C SSD(953.87 GB)均被Linux系统正确识别;dd性能测试验证Versal Gen2的USB3.2 Gen2x1实际带宽远超USB2.0;
下一篇预告:开普勒KPL3858(八)MIPI C-PHY接口的介绍和测试,敬请期待。
如果您对Versal Gen2及KPL3858开发板感兴趣,欢迎联系您身边的科通FAE及Sales,也欢迎邮件联系:
simonyang@comtech.cn
charlesxu@comtech.cn