基于USB的高多通道数据采集卡设计

出处:ysj4744047 发布于:2010-04-12 15:30:19

  摘要:详细叙述了用USB控制器CY7C68013与A/D转换器ADS8364,构成高多路同步数据采集卡的过程,并给出了相应的前端电路和FPGA的控制流程。数据采集卡通过USB协议进行数据传输,增加了数据传输的有效性和采集卡的通用性。ADS8364可以进行6通道高的数据采集,符合大部分的数据采集要求。通过运用FPGA对数据采样,传输等进行控制,并在传输过程中进行一些基本的数据处理。

  在电子测量中,不仅需要对多路信号进行高的采集和预处理,而且要将其快速地传送到计算机,以便于对测量的监测。文中选用ADS8364来进行多通道信号采集,通过CY7C68013芯片采用USB2.O协议进行数据的快速传输。

  1 多通道,高的A/D转换

  ADS8364是美国TI公司生产的高速、低功耗,6通道同步采样16位模数转换器。ADS8364采用+5 V工作电压,并带有80 dB共模抑制的全差分输入通道以及*μs连续近似的模数转换器、6个差分采样放大器。

  当ADS8364采用5 MHz的外部时钟来控制转换时,它的取样率是250 kHz,同时对应于4μs的吞吐率,这样,采样和转换共需花费20个时钟周期。另外,当外部时钟采用5 MHz时,ADS8364的转换时间是3.2μs,对应的采集时间是0.8μs。因此,为了得到的输出数据率,读取数据可以在下一个转换期间进行。

  ADS8364中的采样/保持模块以吞吐率250 kB工作,它的输入带宽大于ADC的奈奎斯特频率。而典型的小信号带宽是300 MHz。孔径延迟时间为5 ns,每次的平均增量为5 ops。这些特性反映了ADS8364接收输人信号的能力。

  1.1 A/D前端信号调理电路

  鉴于多通道信号采集的时序的重要性,这里选用差分放大电路对信号进行调理。

  采用TI公司的运算放大器OPA2227组成一个电压放大器,将输入电压转换到ADS8364的差分输入电压范围。根据需要,可以通过调整放大电路中电阻的大小,改变输入电压的范围,其对应的参数表如表1所示。

  ADS8364在参考电压为2.5 V的情况下,其测量范围为±1.25 V。而实际中的测试信号一般为±2.5 V,±5 V或±lO V,所以,在ADS8364的前端,要经过线性衰减、限幅和滤波。其调理电路原理图,如图1所示。

  1.2 A/D电源电路

  数据采集电路需要完成高的数据采集,因此电源部分的设计是相对比较重要的。

  在作进一步的分析之前,需要说明采样和有效位都是对采样质量高低的描述。设采样为vp,有效位为N,基准电压为vREF,基准电压噪声电平为VN,则有

  2 USB接口模块设计

  Cypress Semiconductor公司的EZ-USB FX2是世界上的款集成USB2.0的微处理器,它集成了USB2.0收发器、SIE(串行接口引擎)、增强型8051微控制器和可编程的外围接口。FX2这种独创性结构可使数据传输率达到56 MB·s-1,即USB2.0允许的带宽。EZ-USB FX2 CY7C68013的微处理器是一个增强型的805l内核,性能可达标准8051的5~10倍,并与标准805l的指令完全兼容。增强型的8051内核使用RAM芯片作程序指令和数据存储器,从而使得EZ-USB FX2 CY7C68013具有“软”特性,也就是说,可以通过自行编写程序指令来实现所需的功能。

  由于USB通信是本系统设计主要的任务目标,所以在设计时也充分考虑到系统的可扩展性,所有的信号引脚都有排线引出,方便了测试和扩展。

  3 FPGA逻辑电路

  图4为采集传输系统中FPGA与各模块的连接。

  整个电路选用Altera公司推出的新一代低成本的Cyclone系列FPGA器件EPlC6Q240作为控制和信号处理芯片。EPlC6Q240型FPGA芯片具有强大的硬件逻辑功能,总逻辑单元达5 980个,有I/O引脚181个,92 160位的内部存储单元,20个RAM单元,2个锁相环。利用这些强大的功能,可以很容易进行模块控制和数据动态滤波。如图4所示,通过FPGA对A/D进行采样控制,将A/D采样的数据进行数字滤波后传送到RAM中进行,或是直接通过USB模块将数据床送到电脑中进行处理。

  采用VerilogHDL硬件语言编程来对A/D采集,RAM传输,USB传输等进行控制信号输出,并对采样的数据进行数字滤波。

  A/D数据接口模块实现对ADS8364数据的采样,采样后的数据进行滤波处理。本模块对ADS8364的控制引脚有:

  (1)模拟采样通道控制信号为/HOLDA,/HOLDB,/HOLDC;

  (2)数据输出模式以及通道选择信号为A0,A1和A2;

  (3)读控制信号为/RD。

  首先将5 MHz时钟和使能信号相与产生新时钟,使用该时钟驱动一个20个状态的状态机。在计数器值为15时将HOLDa,HOLDb,HOLDc置0,启动数据采样。在计数值为2~3,4~5,6~7,8~9,10~ll,12~13且相应的通道得到使能时,分别发出通道l至通道6的通道地址。在计数值为3,5,7,9,ll,13时发出读信号读取相应通道的数据。在计数值为15时发出采样完毕信号,指示6通道数据已经采集完毕。

  USB控制电路分两个模块完成。模块1实现主机向FPGA寄存器单元的配置,模块2实现FPGA向主机的数据包输出。


  模块1实现在地址IO模式下向寄存器写数据。写时序如图7所示。可以根据地址线和PWR信号实现对某寄存器的写控制。


  模块2实现在DMA模式下FPGA向主机的批量数据传输。同步DMA的时序图如图8所示(时钟由FPGA提供)。


  本系统使用一个状态机实现该功能,状态机在“查找”和“传输”两个状态之间切换。系统启动以后首先进入查询FIFO的状态,在查询到FIFO中的数据量大于一个USB数据包(2 040 bit)时,状态机进入到“传输”状态。在“传输”状态下,按照上述同步。DMA写时序,首先传输6 bit包头,然后传输2 040 bit数据,传输2 bit数据校验。在数据传输的过程中,电路要一直查询DMAING的状态,检测到:DMAING为低时要暂停数据传输。在传输完2 kB数据后,状态机再转入到“查询”状态,进行下一轮数据传输状态。

  系统当前的工作时钟为20 MHz,在USB接口处可以达到的带宽约为10 MB,系统分频给A/D的时钟为5 MHz,这样可以保证A/D接口的带宽达到3 MB。在Flash接口处的带宽约为5 MB。将时钟速度提升l倍,则USB口的传输能力可以达到约20 MB。

  数据处理与储存模块主要是FPGA将高速A/D采集到的数据进行打包、暂存。本套电路中使用了一片由,TI公司生产的高速静态RAM IS61-LV51216作为数据暂存器件;由FPGA对这片RAM存储器进行监控。

  4 结束语

  采用USB协议的数据采集卡可以满足对数据进行多通道的高采集、处理和传输,在数据有效采集的情况下,摆脱了对端口的依赖。


  

参考文献:

[1]. CY7C68013 datasheet https://www.dzsc.com/datasheet/CY7C68013_1054335.html.
[2]. ADS8364 datasheet https://www.dzsc.com/datasheet/ADS8364_1095420.html.
[3]. OPA2227 datasheet https://www.dzsc.com/datasheet/OPA2227_524588.html.
[4]. 805l datasheet https://www.dzsc.com/datasheet/805l_2246002.html.


关键词:USB

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!