基于CYUSB3014的高速实时数据采集系统

数字信号采集

8人已加入

描述

  0 引言

  目前USB已广泛应用于数据采集系统,现阶段使用较多的是USB2.0 规范。随着测试测量要求的不断提高,USB2.0已逐渐难以满足要求。新的USB3.0 规范很好的解决了USB2.0中存在的一些局限,非常适用于现代测试测量系统。

  1 USB2.0的性能与局限

  通用串行总线USB(Universal Serial Bus)是目前应用极为广泛的一种系统总线,大量应用在测试测量领域。目前应用最广泛的是USB2.0标准,具有最高480Mbps的通信速率。但同时USB2.0标准也存在着以下不足:

  1) 半双工通信

  USB2.0采用半双工通信,同一时间只能有一个方向的数据传输,在需要双向高速数据传输的场合往往难以满足要求。

  2) 需要主机调度

  USB2.0标准在传输调度上采用主从结构,需要计算机首先发起IN Token 或OUT Token,USB设备才能进行数据传输,一次数据传输完成后,又必须等待下一个Token,大大制约了数据传输的实时性。

  3) 通信速率相比于竞争对手不高

  USB的竞争对手有1394和eSATA等,较新的1394b标准数据传输速度达到了800Mbps,几乎比USB2.0 HS高一倍。而eSATA的数据传输速度更高。

  2 USB3.0SS(SuperSpeed)标准简介

  为了加强USB 的性能和竞争力,USB联盟推出了新的USB 3.0SS(SuperSpeed)标准。该标准使用两条差分链路实现了全双工通讯,速率达到了5.0Gps,不但高于1394b标准,与eSATA相比也同样具有竞争力。

  USB3.0在2.0的基础上新增加了2对差分链路,专门用于传送SS差分信号。主机侧接口的机械特性和USB2.0 兼容,而设备侧使用了新的接口形式,以容纳新增的两对差分信号线。USB2.0接口的B型连接器可以插入USB3.0 的设备端,此时设备工作于USB2.0 模式下;但USB3.0 的B型连接器无法插入USB2.0的设备端。

  除此以外,USB3.0 的总线供电能力达到1A,使其可以用于移动硬盘等耗电量较大的设备,而不必另外配备外接电源。

  3 CYUSB3014芯片介绍

  CYUSB3014 是USB 业界的领头羊Cypress 公司出品的USB3.0 控制器,该款控制器集成了200MHz 的ARM9 控制器?512K字节的RAM和USB 3.0物理层,具有可编程的100MHz GPIF II接口。

  图1是该芯片的逻辑框图。该芯片可用于数字摄像机?数据采集?测试测量设备等多个领域。

usb

  4 系统硬件设计

  本系统中,使用了一片AD6644作数据转换。这是AnalogDevice公司生产的14 位高速ADC,最高采样速率达到40Msps。

  整个系统的功能框图如图2所示。

usb

  图中,传感器将外部信号变换为电信号;放大滤波部分将传感器输出的微弱电信号进行放大?滤波处理,以去除外部干扰;AD6644在FPGA的控制下对放大滤波后的信号进行采集和转换;FPGA读取AD输出,并按照CYUSB3014的GPIF II接口规范将该数据写入芯片内部的FIFO。此外,FPGA 还可以根据当前信号特性调整放大滤波电路参数,以获取更优的信噪比。

  5 GPIF II接口与FPGA程序设计

  在整个硬件系统中,FPGA与CYUSB3014之间的数据传输速度是决定整个系统性能的关键。Cypress 在GPIF 的基础上设计 了可编程GPIF-II接口,该接口可工作于主控或从属方式,支持32位数据总线,接口频率最高可达100MHz,有异步和同步两种时序。在本系统中,为了达到更高的数据传送效率,根据GPIF-II接口时序,编写了相应的FPGA程序,实现了在FPGA和CYUSB3014之间的高速数据传输。实测结果表明,FPGA 和CYUSB3014 之间的数据传输速度最高达到了200Mbytes/s,完全满足本系统要求。下文是数据传输状态机的部分代码:

usb

  6 USB固件设计

  CYUSB3014集成了一片ARM9核心的处理器,完成USB初始化?枚举?数据传输管理等工作。固件开发使用开源的gcc编译器和Eclipse集成开发环境,下面是用于管理数据传输的部分代码:

usb

  7 上位机驱动和软件设计

  Cypress提供了基于WDF的驱动程序模块,WDF(WindowsDriver Foundation)是microsoft推行的驱动开发框架,用来替代之前的WDM框架。WDF框架对WDM进行了封装和继承,与WDM相比,WDF框架的驱动开发更简单方便,尤其是简化了电源管理和PNP(Plug and play)方面的工作量。根据该系统的实际需要,对驱动代码进行了修改并编写了应用程序,能够稳定可靠地采集数据,表明该系统满足了预期的设计要求。

  8 系统的后续改进

  在测试测量系统中,很多应用需要系统能够产生预定义的波形,下一步将为该系统添加任意波形发生器功能,进一步完善该系统的功能。

  9 结语

  实践证明,USB 3.0在USB 2.0的基础上大大提高了数据传输速率,实时性也有很好的增强,能够满足高速实时数据采集的要求,在数据采集和测试测量领域必将大显身手。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
elecfans网友 2014-06-02
0 回复 举报
此外,USB总线不是实时计算机总线,没有Host中断,你的FPGA没有挂大容量的缓冲,FPGA里面的那点FIFO会很快就溢出的,这样就出现了丢失数据了。 还有,如果AD采集不是实时连续采集,又怎么知道USB总线的传输速度? 所以,200MB,指标是虚标。 收起回复
elecfans网友 2014-06-02
0 回复 举报
你是40M的AD,怎么能测出来200MB的传输速度? 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分