《电子技术应用》
您所在的位置:首页 > 模拟设计 > 设计应用 > 基于QuickUSB的数据采集系统
基于QuickUSB的数据采集系统
摘要: QuiekUSB是基于CY7C68013A开发的一款针对USB2.0的高速USB模块。Bitwise公司为这款模块提供嵌入EEPROM的底层程序,同时还在PC端提供了相应的LabVIEW和C语言的API底层程序,这为系统的开发提供了很大的便利。本文设计的系统就是基于这个原理。
Abstract:
Key words :
  引言

  工程师在设计基于PC的数据采集系统时都认为,要想获得比较好的性能,都需要使用PCI总线。其实并不是这样,随着USB通信技术的不断发展,USB总线的传输速度和可靠性都在逐步提升。对于广范应用的USB2.0,其最快速度能够达到480Mb/s。就算其中一些中断或者协议占用一部分带宽,高于80Mb/s的速度也是很容易实现的。而USB3.0协议下的理论速度可以达到USB2.0的10倍左右。另外,相比于PCI卡,USB接口对系统的开发与升级更加方便。

  QuiekUSB是基于CY7C68013A开发的一款针对USB2.0的高速USB模块。Bitwise公司为这款模块提供嵌入EEPROM的底层程序,同时还在PC端提供了相应的LabVIEW和C语言的API底层程序,这为系统的开发提供了很大的便利。本文设计的系统就是基于这个原理。

  1硬件电路设计

  系统的核心硬件是FPGA、ADS803E、CY7C68013A以及Bitwise公司的内嵌底层程序的EEPROM。

  图1是FPGA的配置电路。CY7C68013A可以通过PS模式来配置FPGA,而不需要其他的下载器。系统选择的FPGA型号是EP2C50F484,为了使用PS模式下载,需要分别设置MSEL0=1,MSEL1=0,MSEL2=0。注意配置端口需要增加上拉电阻来保证其正常工作。

a.JPG

  系统选择ADS803E作为ADC转换电路,ADS803E的转换速度可以达到5MHz,而且其引脚与同类型的10MHz的ADS804以及20MHz的ADS805兼容。图2是系统ADC转换电路。

b.JPG

  对于ADS803E的输入信号首先要经过一级运放跟随,目的是为了将输入信号控制在其测量范围之内。ADS803E的测量范围可以通过改变图中电阻R1与R2的值来实现,其量程范围为d.jpg。ADS803E的输出要在6个时钟之后才会有效,也就是说其数字输出对于模拟输入存在6个时钟的延时。同时,为了减小系统的功耗,在不需要进行ADC转换的时候,可以通过FPGA将ADS803E的时钟停止。

  CY7C68013A原理图设计如图3所示。其中包括9根地址线(GPIF_ADR0~8),16根数据线(PPB0~7、PPD0~7),以及相应的控制线。

c.JPG

  FPGA与CY7C68013A连接软件界面如图4所示。配合CY7C68013A设计编写的相应读写控制时序,能够与PC端进行通信,同时根据获得的控制命令来对ADC进行操作,并将获得的数据从FIFO中读取出来,传递到PC端。

e.JPG

  2控制软件设计

  数据采集系统的流程略——编者注。系统所有的初始化配置都是写在一个TXT文件中,程序开始运行时会根据设置好的路径读取该文件,并初始化所有配置信息。

  该软件采用了读取PC环境变量的方法来增强软件系统的可移植性。需要将该软件系统从一台PC转移到另外一台PC时,只需更改一下环境变量的定义。FPGA通过CY7C68013A从PC端接收数据和控制命令,将其转化为存储器读写、A/D转换、前端电子学控制等命令,并最终将测量数据传递给PC。

  3测试结果

  测试结果如图5所示,利用直流电源作为测试源对数据采集系统进行性能测试。分别测试OUT+和OUT-为0~1.2V和-1.2~0V的变化,然后从PC端得到ADC的转换结果。图中横坐标是|OUT+|与|OUT-|的和,纵坐标是与模拟电压相对应的ADC数值。通过对图中数据的拟合,得到模拟信号和数字信号的线性关系y=357.144+2.223x。这就意味着每mV电压对应2.2的数字输出,也可以表示为每1个数字值对应0.45mV的模拟电压。直线在Y轴上的截距被称为基值,一般为300~400个ADC计数。

f.JPG

  结语

  基于QuickUSB的数据采集系统可以实现数据的快速采集与存储,并且在体积、功耗方面都有明显的优势。系统目前已经应用到很多实验当中(如PEBS实验),都取得了很好的测试效果。



 

此内容为AET网站原创,未经授权禁止转载。