新闻中心

EEPW首页>嵌入式系统>设计应用> 基于FPGA的USB接口数据采集系统设计

基于FPGA的USB接口数据采集系统设计

作者: 时间:2011-07-22 来源:网络 收藏

摘 要:介绍了一种高速实时系统的设计。该系统以作为逻辑控制的核心,以作为与上位机数据传输的接口,能同时支持单端16路和差分8路模拟信号输入,最大采样率为200 kHz,12位的转换精度。描述了系统的主要组成和模块化设计的实现方法,并给出了其核心模块的时序仿真波形图。
关键词:; 转换精度

传统的系统中通常采用单片机或DSP作为控制模块,控制A/D转换、存储和其他外围电路的工作,利用PCI、ISA等接口与上位机进行通信。随着数据采集对速度、实时性、简易性的要求越来越高,传统数据采集系统的弊端也日趋明显。近年来随着FPGA技术和USB技术的应用深度和广度的不断加大,利用FPGA芯片和USB接口设计高速数据采集系统成为新的研究热点。FPGA芯片不仅体积小、功耗低、时钟频率高、内部时延小,而且能够使用VHDL语言来编程实现程序的并行执行,配置灵活,开发周期短,性能可靠。USB是一种高效、快速、价格低廉、体积小并支持热插拔的新型串行通信接口,目前的高速传输速率能够达到480 Mb/s,能够实现数据的高速传输。

1 系统总体结构
本设计采用FPGA+USB的设计思路,利用FPGA芯片作为系统的逻辑控制核心,通过USB 2.0接口与上位机通信,实现单端16路/差分8路模拟数据的高速、实时、便携式的采集。本文设计的数据采集系统划分为A/D转换电路、FPGA采集控制和USB传输控制器等若干部分。如图1所示。

基于FPGA的USB接口数据采集系统设计

本数据采集系统支持单端16路和差分8路模拟信号输入,每路12 bit的转换精度,最高采样率为200 kHz。主机应用程序首先向USB控制器发出采样时控包,在时控包中设置采集通道及其采样频率。进而USB控制器触发FPGA采集信息,FPGA根据时控包开始启动A/D进行模数转换,转换结束后,FPGA接受A/D输出的12 bit串行数据,并通过串并转换将它转换成16 bit并行数据输出。然后将采集到的数据信息通过USB控制器发送给主机,最后由主机做进一步信息处理。


2 主要芯片选型
本数据采集系统用到的主要芯片包括FPGA芯片、A/D转换芯片和USB传输控制芯片。


2.1 FPGA芯片的选取
依据本系统设计的需要选用Altera公司的Cyclone II系列EP2C8Q208C8。该芯片内部逻辑单元8 256个,有165 888个RAM位,182个可用I/O口,系统时钟频率高于260 MHz,只需要3.3 V和1.2 V的工作电压,完全能够满足设计的要求。


2.2 ADC转换芯片的选取
考虑到系统的采样率、分辨率、通道数等要求,本系统选用德州仪器公司(TI)的ADS7817模数转换器。该器件是12位的低功耗、高阻抗全差分模拟输入、具有串行输出接口的模数转换器,内部基准电压范围为100 mV~2.5 V,最高采样率200 kHz,相应输入分辨率范围49 μV~1.22 mV。


2.3 USB传输控制芯片的选取[1]
本系统选用CYPRESS公司的USB2.0外设控制器EZ-USB FX2 CY7C68013-56。该芯片包括带8.5 KB片上RAM的高速8051单片机、4 KB FIFO存储器以及通用可编程接口(GPIF)、串行接口引擎(SIE)和USB2.0收发器,可与任何ASIC或DSP进行接合,并且还支持所有通用总线标准,性价比较高。USB2.0协议提供480 Mb/s的传输速度,因此CY7C68013是USB2.0的完整解决方案。


3 系统硬件设计方案实现
3.1 FPGA与ADC及模拟多路开关的电路设计

系统选用8通道模拟多路开关CD4501和SN74LS174集成D触发器组合构成FPGA信号采集控制的输入通道。本系统要求支持单端16路和差分8路模拟信号输入,因此使用2片CD4501来实现最大16路模拟输入通道的多路复用。在选择单端或差分输入时,通过硬件开关来实现。在一个采样周期内,选择哪路模拟信号进行A/D转换由FPGA控制D触发器SN74LS174其中的5个D输入端的电平高低来选择通道实现。每路模拟信号都要经过多路模拟开关选择通道后,再送入A/D芯片的输入端,如图2所示。本方案中,FPGA为采样通道SN74LS174提供30 MHz的时钟CLK1及复位信号CLR,为A/D芯片提供3 MHz的同步时钟信号DCLK和片选信号CS,从而使A/D芯片对相应的通道进行数据转换。

基于FPGA的USB接口数据采集系统设计


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭