基于FPGA的极速USB3.0 HUB设计方案

发布时间:2014-09-9 阅读量:1239 来源: 我爱方案网 作者:

【导读】USB总线是目前最为成功,应用最为广泛的外设接口。随着科技的进步与发展,USB接口规范也需要相应地进行不断地更新和升级。USB3.0在USB2.0的基础上增加了新的电源管理功能,采用全双工数据通信,提供更快的传输速度,最高理论速度达到了5Gbit/s,并且向下兼容USB2.0和USB1.1设备。

USB体系主要包括三个部分:主机,设备和物理连接。主机通常是PC或者主机控制器;设备是指常用的U盘、带USB的摄像头、相机等设备;物理连接就是通 常用的传输线,在USB3.0系统中,采用了对偶单纯形四线制差分信号线,因此可以支持双向并发数据流传输,这也是USB3.0相比于USB2.0设备速 度提升的关键因素。

HUB是USB系统中的重要组成部分,且能够应用在大多数操作系统,它是建立主机与USB设备之间的桥梁。作为一类特殊的USB设备,可以同时将一个接口转换为多个接口,为用户提供了效率和便捷。

1  USB3.0 HUB的简介

1.1  USB3.0 HUB的基本组成

根据最新USB3.0的协议规定,USB3.0 HUB主要由Super Speed HUB,Vbus Control Logic,USB2.0 HUB以及上下行端口组成。由于USB3.0是向下兼容的,所以它有完整的USB2.0 HUB设计,而Super Speed HUB部分就是USB3.0 HUB区别于USB2.0 HUB的主要部分。USB3.0 HUB基本结构如图1所示。

USB3.0 HUB的基本结构 
图1 USB3.0 HUB的基本结构

1.2  USB3.0集线器的功能

USB3.0 HUB是USB系统中的重要部分,它的基本功能如下:

1)  基本连接功能。

2)  电源管理功能。USB3.0能够提供900mA的电源,这样就可以给那些连接USB3.0的设备更快更好地完成充电。由于新的接口提供了额外的两条线,900mA的电力支持能够驱动无线适配器,这样在900mA的高电力支持下可以摆脱靠线缆连接的必要性。在大量数据传输的同时,空闲的设备可以自动进 入低功耗状态,给正在传输的设备提供更好更快的性能支持。

3)  设备连接和断开检测。

4)  总线的错误检测和恢复。

5)  HUB3.0的自动挂起和恢复功能。

6)  向下兼容,下行端口同时支持高/低/全速设备。

 
2  Super Speed HUB的设计

USB3.0 HUB是一种便携的低成本的USB3.0扩展接口,它的下行端口面向USB设备,上行端口面向PC主机或者嵌入式主机控制器,速度由上行端口的主机来决 定,同时它在下行端口给设备提供连接和断开的检测,根据USB3.0最新协议规范,要实现上节所述各项功能设计。Super Speed HUB的整体构架如图2所示,包括SIE、控制、处理转换、中继、路由、AES加解密等部分。
USB3.0 HUB的整体构架
图2 USB3.0 HUB的整体构架
 
2.1  SIE(Serial Interface Engine)模块

Super Speed HUB中的SIE模块处理USB规范中物理层和协议层的协议解析,它主要实现包的识别与产生、比特填充和提取、时钟与数据分离、NRZI编码和解码、 PID(包标识符)的产生和检测、CRC校验码的识别和产生、地址检测等。

SIE模块设计中,分为SIE_PL和SIE_FUC两个部分。SIE_PL模块负责数据包的解析与组织,PID(包标识符)产生与检测、CRC校验识别与产生、地址检测等。SIE_FUC模块主要实现SIE模块与MCU的接口逻辑功能。另外,为了使本系统设计更加稳定,SIE模块中采用跨时钟域的设计,一个是本地的48MHz的全局时钟,另外一个是USB主机从接收到的数据流中采样接收的12MHz数据时钟(即将48MHz本地全局时钟4分频得到)。SIE模块设计框图如图3所示。

SIE模块设计框图
图3 SIE模块设计框图

2.2  HUB控制器模块

HUB控制器主要完成HUB的管理及控制,实现与主机的交互。主机端通过类请求与HUB控制器模块通信,取得HUB端口的描述符,并且完成USB HUB及其下行端口的管理和控制。主机通过向端点0发送类请求和标准请求来实现HUB的枚举过程。

 
2.3  AES模块

AES 是一种基于置换和代替的算法,它实现加解密功能。在USB3.0 Super Speed模式下,根据用户的需求,当数据从上行端口向下行端口传输时,对数据进行加密,以防止信息窃取。同样,在数据由下行端口向上行端口传输时实现其 解密过程。AES算法加解密过程如图4所示。
AES算法加解密过程
图4 AES算法加解密过程

在加解密的过程中,由于USB3.0 HUB的传输速度可达到3200Mbit/s,但AES的加解密IP在250MHz的吞吐率下最高速率只能达到2400Mbit/s,因此在加解密的过程中需要2个AES来实现其功能。图5是USB3.0 AES加密原理图。

从图中可以看到上行端口会向EM_A发送奇数128bit数据,向EM_B发送偶数128bit数据,同时,Mem_buf模块也会轮 询地从EM_A模块和EM_B模块接受数据。而在以前的USB2.0的模式下,数据位宽只有8bit,全速的带宽为480Mbit/s,所以只需要1个 AES就可以。
AES算法加密原理图
图5 AES算法加密原理图

2.4  ROUTING模块

ROUTING模块即路由逻辑模块,它的作用是根据连接到下行端口设备的速 度来决定将下行端口连接到中继模块还是连接到TT模块。由于在USB3.0HUB的上行端口中的速度是高速的,而下行端口则不确定为高速、全速或者低速, 所以当下行端口设备的速度为高速时,ROUTING模块连接到中继模块,如果下行端口设备的速度为全速或者低速时就连接到TT模块。

2.5  Repeater中继模块

集 线器中继模块在HUB的数据转发中起到建立和拆除上行端口和下行端口之间的连接,并且处理集线器的挂起和唤醒的作用。中继器把上行端口的数据发送到下行端 口,把下行端口的数据发送到上行端口,并且要用本地时钟来从端口上发送和接受数据。它以数据包为单位控制端口的建立和连接以及HUB的唤醒和挂起。如图6 所示为Repeater的连接状态机。
Repeater的连接状态机
图6 Repeater的连接状态机

2.6  PHY模块

PHY模型就是通常所说的USB物理收发器模型,它的作用是实现数据的串并转换。因为在上行端口是并行数据,而在面向设备和电缆中的下行端口是串行数据。

2.7  TT处理转换器


TT 模块的作用是完成传输事务转发和速度的匹配。当上行端口在高速环境下运行而下行端口在全速或者低速下运行时,TT处理转换器就是将高速事务转换成低速事 务。由于要满足速度的匹配,因此TT处理器必须采用缓存的方式来存储,在缓存的上行端口是一个高速处理器,用来处理高速数据的收发;缓存的下行端口是全速 和低速处理器,用来处理全/低速数据的接受和发送。

 
3  FPGA仿真与验证

为了更好地完成仿真和验证,采用ModelsimSE和Navos公司的 Debussy软件。首先搭建仿真环境,包括编译测试文件、仿真调用文件、引导文件、宏定义文件以及激励文件。首先将C语言的驱动程序在Linux环境下转换为二进制的kvout激励文件,把二进制的kvout文件存储在外挂的Flash中然后再存储到内置的RAM中,使其成为发出指令的源头;同时 USBDevice的行为级模型也会装载部分命令以达到仿真的目的。如图7所示为USB3.0HUB高速数据批量传输仿真结果。
USB3.0HUB高速数据批量传输仿真
图7 USB3.0HUB高速数据批量传输仿真
 
图中数据包的总大小为4096byte,rst_n为系统复位信号,clk30为主机端12M时钟,pci_clk为本地时钟,cpu_datao是从主机发送出的数据,utm0_data,utm1_data,utm2_data,utm3_data分别为经过USB3.0HUB扩展后的4路高速信 号,Utm_rxready,utm_rxvalid,utm_rxactive分别为端口的控制信号。

为了加强整个设计的可靠性,必须进行FPGA验证,FPGA验证选择的是Altera的StratixIIS180开发板,采用QuartusII将RTL级的 verilog代码进行变异并且综合成网表,然后通过USB-blaster下载线下载到FPGA测试版中,另外激励文件是在Linux环境下编译产生 的,并且通过EJTAG下载到测试版中。把激励文件下载到FPGA板子中后,把HUB的上行端口连接到USB的主机,此时如果主机检查出有USB HUB连接,会产生1个复位信号;在HUB复位后,USB主机向USB Device发送令牌包,并且对HUB进行枚举,主机识别出该HUB;当主机对USB3.0 HUB成功枚举后按照USB协议进行数据传输。

在传输速率上,可以通过USB3.0 HUB传输1个比较大的文件,并且用ATTO DISK BENCHMARK软件来测试其读写速度,通过ATTO可以显示出读取数据可以提高到1088Mbit/s,写入速度可以达到840Mbit /s(USB2.0 HUB的读写速度分别为240Mbit/s和184Mbit/s);很显然这个读写速度比USB2.0的提高了5~6倍。当然由于软件和硬件的各种原因, 这个实际的传输速度离其理论最大值5G bit/s有一定的差距,但已基本实现其高速传输的功能。

从verilog的功能仿真、时序仿真和FPGA验证表明,USB3.0 HUB基本实现了高速数据的传输,达到了预期效果。

相关阅读

Renice开发出全球首款USB3.0接口SSD主控芯片

USB3.0高速实时数据采集系统方案

赛普拉斯摄像机控制器为Raytrix新摄像机带来USB3.0性能

相关资讯
国产突围!川土微电子CA-IF1044AX-Q1 CAN收发器:全链路自主化与EMC性能双突破

随着汽车智能化、电动化浪潮加速,CAN收发器作为车载网络的核心通信接口,其可靠性与安全性成为产业链关注焦点。然而,国际局势的不确定性使得供应链自主可控需求迫在眉睫。川土微电子推出的CA-IF1044AX-Q1 CAN收发器,实现了从设计、晶圆制造到封测的全链条国产化,并通过欧洲权威机构IBEE/FTZ-Zwickau的EMC认证,成为兼具安全性与高性能的国产车规级解决方案。

“中国芯”逆袭时刻:新唐携7大新品打造全场景AIoT解决方案矩阵

在万物互联与智能化浪潮席卷全球的今天,新唐科技以颠覆性创新奏响行业强音。4月25日,这场历时10天、横跨七城的科技盛宴在深圳迎来高潮,以"创新驱动AI、新能源与车用科技"为主题,汇聚全球顶尖行业领袖,首次公开七大核心产品矩阵,展现从芯片设计到智能生态的全链条创新能力,为半导体产业转型升级注入新动能。

半导体先进制程技术博弈:台积电、英特尔与三星的差异化路径

在2025年北美技术研讨会上,台积电正式宣布其A14(1.4nm)工艺将于2028年量产,并明确表示无需依赖ASML最新一代High NA EUV光刻机。这一决策背后,折射出全球半导体巨头在技术路线、成本控制和市场竞争中的深层博弈。

嵌入式主板EMB-3128:轻量级边缘计算的工业级解决方案

随着AIoT技术的快速落地,智能设备对高性能、低功耗嵌入式硬件的需求持续攀升。华北工控推出的EMB-3128嵌入式主板,搭载Intel® Alder Lake-N系列及Core™ i3-N305处理器,以高能效比设计、工业级可靠性及丰富的接口配置,成为轻量级边缘AI计算的理想选择。该主板支持DDR5内存、多模态扩展接口及宽温运行环境,可广泛应用于智能家居、工业自动化、智慧零售等场景,助力产业智能化升级。

从ASMI财报看行业趋势:AI芯片需求爆发如何重塑半导体设备市场?

作为全球半导体沉积设备领域的龙头企业,荷兰ASM国际(ASMI)近日发布2024年第一季度财报,展现强劲增长动能。财报显示,公司当季新增订单额达8.34亿欧元(按固定汇率计算),同比增长14%,显著超出市场预期的8.08亿欧元。这一表现主要受益于人工智能芯片制造设备需求激增与中国市场的战略性突破,同时反映出半导体产业技术迭代与地缘经济博弈的双重影响。