高速数据传输系统在通信系统、测试仪器等电子系统中有着广泛应用,人们对数据传输的处理速度、可靠性及实时性的要求越来越高,数据传输速度越来越快,对数据的抗干扰性的要求也越来越高。
01
usb3.0简介
usb3.0的最高理论速度达到了5gbit/s,向需要更大电力支持的设备提供更好的支持和电力供应,它在usb2.0的基础上增加了新的电源管理功能,采用全双工数据通信,提供更快的传输速度,并且向下兼容usb2.0和usb1.1设备。usb体系主要包括三个部分:主机,设备和物理连接。主机通常是pc或者主机控制器;设备是指常用的u盘、带usb的摄像头、相机等设备;物理连接就是通常用的传输线,在usb3.0系统中,采用了对偶单纯形四线制差分信号线,因此可以支持双向并发数据流传输,这也是usb3.0相比于usb2.0设备速度提升的关键因素。
02
系统硬件设计
2.1 usb3.0高速传输模块
本设计采用的赛普拉斯ez-usb fx3 cyusb3014是新一代的usb 3.0外设控制器,其数据传输速率可达320mbps,具有高度集成的灵活特性,满足本设计的高速数据传输要求。其usb3.0模块功能框图如下图1所示。
图_1_usb3_0模块功能框图
本设计中,将usb3.0模块作为从器件,从器件fifo接口如图2所示。该接口允许外部处理器直接访问多达4个ez-usb fx3内部缓冲区。usb3.0的控制交由fpga,数据输出到pc机进行接收。
图_2_usb3_0从器件fifo接口
2.2 fpga主控模块
本设计的主控模块采用xilinx公司的spartan6系列fpga,型号为xc6slx9-2ftg256c,256个引脚的fbga封装。开发板配置两路标准的ax扩展口,一共有34*2=68个io口,用于外接其他模块。
将usb3.0模块的控制及数据引脚,使用杜邦线与fpga的扩展口相连,通过对fpga进行verilog程序配置,来控制usb3.0的工作。实物连接如下图3所示。
图_3_fpga+usb3.0模块实物连接图
03
系统程序设计
3.1 usb3.0模块程序设计
本设计以fpga为主控模块,通过verilog程序配置usb3.0模块的工作模式。设计中将厂商提供的固件写入到该模块,将其配置为异步、32位并行高速读写方式。在下位机采用异步从器件fifo写入模式,其时序图如下图4所示。
图_4_异步从器件fifo写入模式
对usb3.0模块进行verilog程序设计,其核心关键代码如下。usb3.0模块接口程序如图5所示。
图_5_usb3_0模块接口程序
usb3.0模块写入数据程序如下图6所示。
图_6_usb3_0模块写入数据程序1
通过理解usb3.0相关手册,完成程序设计后,综合该模块,得到顶层rtl原理图,如下图7所示。
图_7_usb3_0综合顶层模块原理图
3.2 程序仿真验证
设计好上述程序后,继续编写仿真激励文件,对该模块进行仿真测试。测试核心代码如下图8所示。
图_8_usb3_0仿真测试源代码
仿真验证结果如下图9所示,可见输入数据正确控制,写入到该模块的fifo中。
图_9_usb3_0仿真验证结果
3.3 系统实物测试
完成对程序的仿真验证后,将usb3.0的数据输出端口连接到pc机,使用接收软件进行数据接收。软件运行测试过程如下图10所示,首先与usb3.0建立连接,然后再启动数据接收。
图_10_上位机数据接收测试
04
总结
本设计的传输系统有很多优点,通过usb3.0接口的超高速传输特性,可有效地解决高速数据采集中的数据传输和存储问题,测量结果误差小,可信度高,有利于实现数据的实时处理。采用cypress公司的usb3.0专用接口芯cyusb3014与fpga连接完成了采样数据的高速传输测试,经过多次测试,usb3.0接口的准确、超高速、实时等性能得到了充分的体现。
VR、机器人、智能汽车:下一个独角兽会出自哪个风口?
低压断路器脱扣器的选择与整定
一大批前沿的科技产品都在向VR领域靠拢,VR大规模商业化爆发节点来临
适用于电流模式DC-DC转换器的统一的LTspice AC模型
MCU短缺正在下沉技术研发
新一代的USB 3.0外设控制器
新基建浪潮下进一步推动了智能机器人的创新发展
CC2431的无线传感器网络在温室环境监控系统中的应用
剖析稳定锂金属电池的长效固体电解质界面
协作机器人是国产机器人企业在市场上实现弯道超车的机会
用数据说话,三星Neo QLED 8K电视是否真的是性能王者?
C语言求解线性方程组
Redmi Note 9系列微博发布会今天同步举行 一亿像素加持
iphone8什么时候上市?iPhone8九月发布:iphone8/iphone8plus价格曝光6288起,还是买国产华为mate10?
硅谷大佬:智能手机的创新时代已经终结
美国的工业机器人产业是如何发展的
如何创建MP3/MP4播放列表
基于STM32微处理器和NaI探测器实现γ能谱仪的系统设计
逻辑分析仪探头如何实现正确连接,需注意哪些问题
4525DO-DS3BS002DS压力传感器用于风速测量