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

最新更新时间:2014-09-06来源: 互联网关键字:FPGA  USB 手机看文章 扫描二维码
随时随地手机看文章

  USB总线是目前最为成功,应用最为广泛的外设接口。随着时代的进步和发展,电子产品、手持设备、超大容量的高清视频设备以及千万像素的数码相机等设备的需求越来越高,USB接口规范也需要相应地进行不断地更新和升级。USB3.0的最高理论速度达到了5Gbit/s,向需要更大电力支持的设备提供更好的支持和电力供应,它在USB2.0的基础上增加了新的电源管理功能,采用全双工数据通信,提供更快的传输速度,并且向下兼容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所示。

  

 

  图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加解密等部分。

  

 

  图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所示。

  

 

  图3 SIE模块设计框图

  2.2 HUB控制器模块

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

  2.3 AES模块

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

  

  图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就可以。

  

 

  图5 AES算法加密原理图

  2.4 ROUTING模块

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

  2.5 Repeater中继模块

  集线器中继模块在HUB的数据转发中起到建立和拆除上行端口和下行端口之间的连接,并且处理集线器的挂起和唤醒的作用。中继器把上行端口的数据发送到下行端口,把下行端口的数据发送到上行端口,并且要用本地时钟来从端口上发送和接受数据。它以数据包为单位控制端口的建立和连接以及HUB的唤醒和挂起。如图6所示为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高速数据批量传输仿真结果。

  

 

  图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基本实现了高速数据的传输,达到了预期的效果。

  4. 总结

  USB及HUB接口是目前计算机以及微控制器中最常用的通用高速接口,它可以连接串口、U盘、音频、视频、手机、相机等绝大多数的外设设备。USB3.0正在以其高速度、高性能、高可靠性、低成本等特点逐渐代替更多的USB2.0产品,成为通信电子市场的主要接口。本文中设计的USB3.0 HUB实现了多媒体数据的高速同步及时传输;更佳的电源管理功能以及支持AES加密解密等功能,这些都将促使它在市场上迅速普及。但是USB3.0及其HUB依旧有自己的瓶颈,比如在某些应用中需要尽可能高的吞吐量时,线缆的长度会受到限制;同时电缆的材质以及信号的质量也会在整体上影响传输的效果,所以在传输百兆以上数据流时,所用线缆最好不要超过3m。

关键字:FPGA  USB 编辑:探路者 引用地址:基于FPGA的USB3.0 HUB设计方案

上一篇:选择低EMI电源需要清楚的几大要素
下一篇:基于CPLD实现QPSK调制电路的设计

推荐阅读最新更新时间:2023-10-12 22:45

基于USB接口的探地雷达数据采集系统
   1 引 言   探地雷达( ground penetrating radar,GPR)是一种新型的电磁探测设备,它具有快速、简便的对浅层目标和结构进行无损探测的特点,也是目前分辨率、效率最高的地下目标探测设备之一,因此被广泛的应用于城建、交通、地质、考古、国防等部门。在探地雷达的应用中,能否准确、高效地采集数据是探地雷达系统实用性和可靠性的判据之一。数据采集的准确性直接关系到探测目标的准确性和雷达数据的进一步处理工作;采集数据的速度关系到系统能否实现实时显示。所以,当雷达设备将采集数据传回主机时,就需要选择一种接口来实现数据准确、高速的传输。   传统的数据采集系统的数据传输接口在低速时常采用标准串行口或并行口,高速
[嵌入式]
基于FPGA的多路模拟量、数字量采集与处理系统
摘要:提出一种基于FPGA技术的多路模拟量、数字量采集与处理系统的设计方案,分析整个系统的结构,并讨论FPGA内部硬件资源的划分和软件的设计方案等。本设计方案外部电路结构简单可靠,特别适用于多路检测系统中,而且可以根据需要容易地对系统进行扩展,对于检测系统来讲具有一定的通用性。 关键词:FPGA A/D采集 数字量采集 VHDL语言设计 在电气测控系统中,常常需要采集各种模拟量信号、数字量信号,并对它们进行相应的处理。一般情况下,测控系统中用普通MCU(如51、196等单片机或控制型DSP)是可以完成系统任务的。但当系统中要采集的信号量特别多时(特别是各种信号量、状态量),仅仅靠用普通MCU的资源就往往难以完成任务。此时,一般只能采
[半导体设计/制造]
爆苹果 iPhone 永远不会改用 USB Type-C
据台媒自由时报报道,尽管苹果在Mac、iPad以及部份Beats耳机上都已开始使用USB Type-C,不过爆料人Jon Prosser认为,苹果将永远不会将iPhone从目前的Lightning接孔改为更通用的USB Type-C,原因是Lightning具体的功能:充电与传输数据,与USB Type-C体验上并没有太大差异。 此外,苹果也正在推动无线设计,未来iPhone更可能直接从Lightning孔跳至无线传输与无线充电,而非换用其他端口。天风证券分析师郭明錤则持类似的看法,并认为苹果可能在2021年推出第一款无孔式iPhone。当然,拥有庞大的Lightning周边商机,推测也是苹果不愿意改用USB Type-C的原因。
[手机便携]
高速突发模式误码测试仪的FPGA实现方案
引言 无源光网络PON以其独特的优势在网络中已经规模化地应用。由于GPON系统在现有PON系统中带宽利用率最高,系统成本最低,且具有全业务支持能力,因此其前景被普遍看好,成为众多电信运营商和设备制造商推崇的宽带接入技术。 在GPON中,下行数据是以广播形式发送的,上行数据由多个用户终端按时分多址的方式发送的数据包组成。因传输路径不同,各数据包有不同衰减,不同数据包相位间存在跳变,数据包中存在长连“1”、“0”,这些因素的影响使得OLT突发接收模块接收的信号是特殊的突发光信号。对于上行的突发信号,OLT突发接收模块不仅要从中恢复出幅值相等的信号,而且要消除相位突变,即完成时钟和相位的对齐,因此OLT输出的信号应该为幅值相
[测试测量]
高速突发模式误码测试仪的<font color='red'>FPGA</font>实现方案
基于USB2.0的TMS320VC5402 HPI自举
   引言   当前,DSP(Digital Signal Processor)芯片已经广泛应用于通信、信号处理、雷达、图像处理等多个领域,其强大、高效的运算能力,是其他微处理器无法比拟的。为充分发挥DSP运算高效的优势,用户程序通常在DSP内部RAM中运行,这就需要利用DSP的自举引导(Boot loader)功能。在DSP多机系统中,HPI自举是首选。目前,采用HPI自举的实例主要有两种,一种是用单片机作为主控制器,通过PC机串口或者外挂的存储器得到要下载的DSP用户程序数据,这种方案无法实现系统与PC机之间数据的实时高速传输;另一种是用PC机并口里控制DSP HPI接口,从而把程序写入DSP 的内部RAM,该方案无法满足嵌
[嵌入式]
英特尔欲与台积电争口粮?
  英特尔做了一件前所未有的事——与Achronix半导体公司达成协议,将以22nm制造工艺为其代工FPGA(可编程门阵列)芯片。   说前所未有,并不是英特尔初次为他人代工,也不是因为代工对象是一家规模尚小的新公司。以往英特尔曾开放过部分产能,但一定会落后于自己当时主流的制造工艺。而这一回,英特尔要拿出来的可是业界最先进的制造工艺。   半导体行业分工明确:很多厂商专攻芯片设计,之后把制造委托给规模效应显著的代工大厂(如台积电),只有英特尔等少数半导体企业实行自行设计和制造的垂直整合体制。   就英特尔来说,其核心竞争力主要在于IA架构匹配世界级制造能力,独特优势则在于制造与设计双向优化。以往,其产能主要满足自
[半导体设计/制造]
基于FPGA的TCP粘合设计与实现
传统的数据分流一般基于三层、四层交换,不能在应用层解析数据,导致数据在后端服务器解析后还要相互重新分发,增加了服务数据传输的开销,为解决该问题,可以在客户端与服务器之间采用应用级代理服务器,利用该服务器专门对数据包进行解析分发,但是该方式下,数据要进入TCP/IP协议栈,处理速度慢,同时代理服务器还需要与客户端、服务器双方通信,需要处理的数据量非常大,因此在集群应用中,特别是大规模负载平衡集群系统中很少使用应用级代理。 在应用级代理的基础上,为进一步提高数据处理的速度,提出了TCP粘合技术 。该技术在通信双方建立通信之处对双方的握手信号以及通信原语进行分析,获取必要的信息,决定数据的流向,一旦双方开始通信,该代理就不再对数据进
[半导体设计/制造]
利用USB至JT AG 接口板编程MAX1441
引言   MAX1441为信号调理集成电路(IC),支持电容式接近检测传感器设计,适用于汽车无源遥控门禁(PKE)及其它系统。MAX1441具有两个独立的接触/接近检测通道,支持该IC的完备套件包括:   1.集成开发环境MAX-IDE,提供汇编、编译、用户界面和闪存编程器功能。   2.例程代码和典型应用固件。   3.经过完全测试的*估(EV)系统MAX1441EVSYS,包括接口硬件、应用电路和带两个触摸盘的触摸板。    用于生产测试系统的JTAG接口   生产测试系统需要利用接口板编程、测试包括MAX1441在内的终端产品,有三种方式可供选择:   1.开发一个定制接口板或从第三
[工业控制]
利用<font color='red'>USB</font>至JT AG 接口板编程MAX1441
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved