摘要:针对在高速数据采集过程中,需要向计算机实时传输大量数据,通过对各种传输方式的研究分析,提出了采用 USB 3.0传输方式进行数据传输,设计了基于 USB 3.0的高速数据传输接口,接口实现的关键技术之一是稳定数据传输的速度;通过对各种 USB 3.0芯片分析,采用了FTDI公司生产的FT601芯片,根据相应的数据手册,完成对 FT601芯片的外围电路,采用可编程逻辑门阵列(FPGA)作为 USB 3.0传输控制器;使用Verilog 语言对 FPGA 内部进行编程,实现使用先进先出(FIFO)方式对数据进行缓存,控制 FT601芯片完成与上位机之间的数据交换,并进行测试;测试结果表明,接口能在进行相应配置后,以平均 350 MB/s的速率传输数据,保证了数据传输速度的稳定性和数据的完整性。
随着高速数据采集技术的不断发展,对采集数据的传输速度的要求也越来越高。高速数据传输方式纷繁复杂,其所能达到的最大传输速率也不尽相同。目前使用较多的高速数据传输方式主要有 PXIE,光纤,PCIE,PCI等,但这些方式几乎都有布线复杂、程序编写复杂以及功耗较高,体积庞大等缺点,使得在开发时,由于其布线复杂,程序编写复杂,在对于电路设计要求较高的同时也不利于后期调试,从而延迟开发周期;在使用时,由于功耗较大,导致能源利用率不高,器件还会发热,导致接口寿命降低,同时由于体积庞大,在某些狭窄环境下使用不便。而 USB 3.0作为新晋的高速数据传输方式,以其布线经济、安装简单、高达5Gbit/s的带宽、可支持热插拔、与更多计算平台之间存在兼容性等优点,在与计算机交换数据的过程中获得广泛应用。但因为各种 USB3.0接口设计所使用的的 USB3.0芯片的不同,使得数据传输速率参差不齐,其稳定性也不尽人意,所以在 USB3.0接口设计中,其芯片选型至关重要。
通过调研发现无论是市面上已经开发成功的产品还是各种文献中提出的设计方法几乎都采用了CYPRESS公司生产的 USB 3.0芯片进行开发。其中使用较多的是CY-BUS3014芯片,该芯片采用BAG封装,在芯片内部集成了ARM9内核,使得功能较为全面。但在硬件设计上,特别是在 PCB(Printed Circuit Board.印刷电路板)布线阶段由于过孔较多,造成整体结构复杂,从而使得布线较难,大大增加了前期设计与后期调试的工作量与难度。而在信号的传输方面,因为其复杂的结构,在信号传递过程中会降低信号质量,影响数据的传输速度。
FTDI公司生产的 FT601芯片是一片 USB 3.0和FIFO 的桥接芯片。在电路设计方面,FT601使用QFN 封装,可以减少其布板时的过孔量,对于 PCB布线,硬件调试以及后期的开发的难度都有显著的降低,同时其内部集成了100 MHz的时钟芯片,在无需提供外部时钟的同时,还能为主控芯片提供时钟,保证了主控芯片与FT601的时钟一致性,从而保证了信号传输的质量。在 FPGA 内部程序编写上,由于其只有6根主要控制线,大大简化了有限状态机的设计,降低程序编写难度。在性能上,能在保证数据传输的质量与速度,对于绝大多数场合来说,其性能能完全满足需求。
本设计采用FT601 芯片作为与 PC 机通信的芯片,以Intel公司生产的 cyclone IV系列的 FPGA芯片作为主控芯片,实现 USB3.0接口设计。
1、硬件电路设计
本设计的硬件电路主要由FT601外围电路、电源电路以及FPGA控制电路构成,其整体结构如图1所示。
其中FPGA作为控制芯片,其主要由 USB 3.0控制器模块和FIFO模块构成,实现对 FT601芯片的控制,使其向上位机传输数据。配置电路主要为FPGA服务,固化程序,方便后期调试和实现脱机工作。电源使用 PC 机上的USB接口进行供电,电压为5 V,电源电路主要实现降压,为 PCB板上的各个芯片提供工作电压。其具体设计方法将在后文进行介绍。1.1 USB 3.0外围电路
USB3.0也被称为 Super一Speed USB,作为新一代"即插即用"通用串行总线规范,USB3.0继承于USB2.0,在原有的 4 线结构(电源,地线,2 条数据线)上,再增加了4条线路,用于接受和传输信号,同时采用全双工模式,简化了等待引起的时间消耗,提升传输速率。同时继承了USB 2.0 可热插拔性,通用性等的优点的同时其还拥有高达5Gbps的带宽和 900 mA的供电能力。与大多数数据传输方式相比,我们可以在不提供外接电源的情况下对大多数外接设备进行操作使用。在简化了电路结构的同时还允许设备从不同的待机模式转入挂起模式的电源管理方式,从而大大节省了能源。
本设计采用了FTDI公司生产的 FT601芯片作为 USB 3.0接口芯片,该芯片能有效的连接 FIFO和 USB3.0,实现向 PC机传输数据,同时该芯片能兼容 USB 3.0和 USB 2.0,在低速数据传输或者不支持USB 3.0 总线规范的 PC 机中也能使用,大大增强了其兼容性。FT601 芯片内置有16 Kb FIFO数据缓存 RAM,与单口 RAM、双口 RAM和SRAM 等数据缓存 RAM相比,其在数据传输过程中,数据处理速度更快,传输速度更快,并且功耗更低。其内部集成的时钟芯片在为自身提供 100 MHz 工作时钟的同时还能为外部芯片提供100 MHz 的高频时钟信号,这对于高速数据传输十分重要。FT601还具有最高 4Gbps 的带宽,拥有满足绝大部分的应用需求的能力。FT601 芯片结构示意图如图2所示。