1 数据采集和传输系统方案设计
数据采集和传输系统主要由3部分组成,USB2.0通道、FPGA和A/D转换器组成,如图1所示。
CY7C68013是Cypress公司推出的EZ-USB FX2系列智能USB接口芯片。其作用是将主机所发送的命令序列经USB2.0端口输出,实现对数据采集系统的控制;同时把A/D转换器采集的数据以高速的数据序列形式发送到主机。其中,USB2.0端口提供一个能和计算机连接的数据传输接口。
FPGA利用内部的SRAM提供数据输入/输出的双缓冲功能。采用双缓冲的原因同USB中的大端点所配置的双缓冲类似,均是防止数据的溢出和保证数据传输的连续性。本文选用Altera公司的CycIone系列芯片EP1C3T144。
A/D转换器将所要采集的模拟量转换成数字量,通过滤波和放大后,由FPGA接收、缓冲、存储,经USB2.0端口传回至主机工作站。高速A/D转换器采用转换速率为20 MHz的MAX1425。
系统工作过程为:主机通过CY7C68013给数据采集系统一个采样控制命令,存入FPGA的控制寄存器中。FPGA根据该命令向A/D转换器发出相应控制信号。由于ADC采样频率为10 MHz,为和PC运行速度相匹配,在FPGA内部生成一个FIFO缓存器。A/D转换器在FPGA的ADC接口控制电路控制下,把模拟信号转换成数字信号,并将指定通道的采样数据存入FPGA内部FIFO缓存。同时,FPGA的USB接口控制逻辑查询CY7C68013是否空闲,如果空闲,那么由FPGA的USB接口控制逻辑将指定通道的采样结果,从FPGA内部FIFO缓存送入CY7C68013的内部FIFO。当内部的FIFO容量达到一定程度后,CY7C68013自动将数据打包传送到PC机。由于固件程序把CY7C68013设置为特定的自动模式,因此CY7C68013把数据送往PC机期间的所有操作无需CY7C68013中CPU的干预,从而保证足够的数据传输速率。采样过程中FPGA的USB接口控制逻辑依次取走批量数据,在USB接口打包传送时A/D转换持续进行,FPGA内部FIFO也被持续写入转换结果。