基于fpga的usb接口数据采集系统设计

上传人:wm****3 文档编号:41490286 上传时间:2018-05-29 格式:DOC 页数:4 大小:346.50KB
返回 下载 相关 举报
基于fpga的usb接口数据采集系统设计_第1页
第1页 / 共4页
基于fpga的usb接口数据采集系统设计_第2页
第2页 / 共4页
基于fpga的usb接口数据采集系统设计_第3页
第3页 / 共4页
基于fpga的usb接口数据采集系统设计_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于fpga的usb接口数据采集系统设计》由会员分享,可在线阅读,更多相关《基于fpga的usb接口数据采集系统设计(4页珍藏版)》请在金锄头文库上搜索。

1、作者简介:赵 泰(1983-) ,男,山东菏泽人,硕士研究生,主要研究方向是信号的获取与处理,手机: 13452054823,E-mail: ;张思杰(1967-) ,男,重庆人,博士,副教授,主要研究方向 为智能微系统。基于 FPGA 的 USB 接口数据采集系统设计张思杰1,赵 泰2,汪振兴3,石岭4(重庆大学 通信工程学院,重庆市,400030)摘摘 要要:介绍了一种高速实时数据采集系统的设计。该系统以 FPGA 作为逻辑控制的核心,以 USB2.0 作为与上位机数据传输的接口,能同时支持单端 16 路和差分 8 路模拟信号输入,最大采样率为 200KHz,12位的转换精度。描述了系统的

2、主要组成和 FPGA 模块化设计的实现方法,并给出了其核心模块的时序仿真波形图。关键词关键词:FPGA;USB2.0;数据采集;转换精度。 Design of data acquisition system based on USB and FPGAZhang Si-jie1, Zhao Tai2, Wang Zhen-xing3, Shi Ling4(Institute of Communications engineering, Chongqing University, Chongqing, 400030, China)Abstract: This paper introduces a

3、high-speed and real-time data acquisition system. The system can support both single 16-route and differential 8-route analog signals input, with 200KHz of maximal frequency and 12bits of conversion accuracy, using FPGA as the core logic control and using USB2.0 as the interface of data transmission

4、 with the host computer. The main component of the system and the implementing method of FPGA are described and the simulation waveforms of main modules are presented. Key words: FPGA, USB2.0, Data Acquisition, Conversion Accuracy.文献标志码文献标志码: A 中图法分类号:中图法分类号:TP274 引言传统的数据采集系统,通常采用单片 机或DSP作为控制模块,控制A/

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

6、速传输。1 系统总体结构本设计采用FPGA+USB的设计思路, 利用FPGA芯片作为系统的逻辑控制核心, 通过USB 2.0接口与上位机通信,实现单端 16路/差分8路模拟数据的高速、实时、便携 式的采集。本文设计的数据采集系统划分 为A/D转换电路,FPGA采集控制和USB传 输控制器等若干部分。如图1所示。A/D转换电路USB2.0传输控制器FPGA逻辑控制控制DATA 控制FLAG信号DATA上位机DATA模拟信号多路模拟信号控制图1 数据采集系统总体框图 本数据采集系统支持单端16路和差分8 路模拟信号输入,每路12位的转换精度, 最高采样率为200KHZ。主机应用程序首先 向USB控

7、制器发出采样时控包,在时控包 中设置采集通道及其采样频率。进而USB 控制器触发FPGA采集信息,FPGA根据时 控包开始启动A/D进行模数转换,转换结束 后,FPGA接受AD输出的12位串行数据, 并通过串并转换将它转换成16位并行数据 输出。然后将采集到的数据信息通过USB 控制器发送给主机,最后由主机做进一步 信息处理。2 主要芯片选型本数据采集系统用到的主要芯片包括 FPGA芯片、ADC转换芯片和USB传输控制 芯片。2.1 FPGA芯片的选取依据本系统设计的需要选用ALTERA 公司的Cyclone II系列EP2C8Q208C8。该芯 片内部逻辑单元8256个,有165888个RA

8、M 位,182个可用I/O口,系统时钟频率高于 260MHZ,只需要3.3V和1.2V的工作电压, 完全能够满足设计的要求。2.2 ADC转换芯片的选取考虑到系统的采样率、分辨率、通道 数等要求,本系统选用德州仪器公司 (TI)的 ADS7817 模数转换器。该器件是12 位的低功耗,高阻抗全差分模拟输入、 具有串行输出接口的模数转换器,内部基 准电压范围为 100mV 2.5V,最高采样率 200KHZ,相应输入分辨率范围 49V1.22mV。2.3 USB传输控制芯片的选取1本系统选用CYPRESS公司的USB2.0外 设控制器EZ-USB FX2 CY7C68013-56。该 芯片包括带

9、8.5KB片上RAM的高速8051单 片机、4KB FIFO存储器以及通用可编程接 口(GPIF) 、串行接口引擎(SIE)和USB2.0 收发器,可与任何ASIC或DSP进行接合, 并且还支持所有通用总线标准,性价比较 高。USB2.0协议提供480Mb/s的传输速度, 因此CY7C68013是USB2.0的完整解决方案。3 系统硬件设计方案实现3.1 FPGA与ADC及模拟多路开关的电路设计系统选用8通道模拟多路开关CD4501 和SN74LS174集成D触发器组合构成FPGA 信号采集控制的输入通道。本系统要求支 持单端16路和差分8路模拟信号输入,因此 使用2片CD4501来实现最大1

10、6路模拟输入 通道的多路复用。在选择单端或差分输入 时,通过硬件开关来实现。在一个采样周 期内,选择哪路模拟信号进行A/D转换由 FPGA控制D触发器SN74LS174其中的5个D 输入端的电平高低来选择通道实现。每路 模拟信号都要经过多路模拟开关选择通道 后,再送入AD芯片的输入端,如图2所示。 本方案中,FPGA向采样通道SN74LS174提供30MHZ的时钟CLK1及复位信号,_ CLR向AD芯片提供3MHz的同步时钟信号DCLK 和片选信号CS,从而使AD芯片对相应的通 道进行数据转换。SN74LS174QDQDCD4501. . .S1S2S3S8SmINHCBACD4501. .

11、.S9S10S11S16SmINHCBAD0D1 D2 D3 D4 D5Q1 Q2 Q3 Q4Q0Q5ADC+-图2 FPGA与ADC级多路模拟开关的连接3.2 FPGA与USB芯片的连接设计当EZ-USB FX2LP工作于从属FIFO模 式时,外围电路可以像普通FIFO一样对EZ- USB FX2LP中的端点数据缓冲区进行读写2。 本系统采用FPGA作为主控制器,因而,对 USB控制采用Slave FIFO模式,FPGA通过 控制CY7C68013内4K的FIFO进行与上位机 之间的数据传输。FPGA与USB芯片的硬件 连接如图3所示。CY7C68013 (Slave FIFO)FPGA 主

12、控制器U_IFCLKU_FLAGAU_FLAGBU_SLRDU_SLWRU_SLOEU_FIFOADR1:0FD16:0PKTEND图3 FPGA与USB芯片的硬件连接4 系统软件设计系统软件设计主要包括FPGA控制逻辑 设计、USB固件程序设计、USB设备驱动 程序和上位机应用程序。4.1 FPGA设计FPGA程序的设计是整个采集系统的关 键,整体分成三大模块:分频采样控制模 块、通道选择模块和USB传输控制模块。 以下是各个模块设计的具体介绍。4.1.1 分频采样控制模块本系统中,FPGA的主时钟m_clk是由 USB芯片输出的30MHz频率提供,由于AD 采样需要3MHz的时钟频率,因此

13、首先模块 对主时钟进行十分频得到3MHz同步时钟信 号o_clk。同时,该模块还要控制数据采样、 AD转换以及数据的串并转换。在采样时刻 到来时,在同步脉冲o_clk和片选信号 cs(低电平有效)的控制下,依据 ADS7817转换时序图进行采样、转换。转 换过程中计数o_clk脉冲每12个脉冲,置位 cs为高电平,使结果仅输出一次,否则在 DOUT端继续从最低位到最高位依次输出转 换结果。in_data是ADC转换后的串行输出 数据,o_Para是对in_data经过串并转换后输 出的并行16位数据。4.1.2 USB传输控制模块该模块主要负责对USB芯片端点的读 写控制。USB芯片端点FIF

14、O用于数据的缓 存,一方面存储上位机发出的采集参数信 息,另一方面存储FPGA输出的并行16位采 集数据。该模块通过判断端点FIFO的空、 满标志位,来对USB端点2、4、6、8进行 读写控制。本系统采用异步FIFO读、写控 制模式,该模块用状态机来实现,将读、 写过程分别分成五个状态,异步FIFO读状 态机如图4所示。状态1状态2状态3IDLE状态4完成空启动图4 FPGA异步读FIFO状态机 IDLE:当“写”事件发生时,转到状态1。 状态1:指向OUT FIFO,激活 FIFOADR1:0,转向状态2。 状态2:激活SLOE,如果FIFO空标志为“假” (FIFO 不空),则转向状态3;

15、否则停留在 状态2。 状态3:激活SLOE,SLRD,传送数据到总 线上;撤销激活SLRD(指针加1)和SLOE, 转向状态4。 状态4:如果有更多的数据要求,则转向状 态2;否则转向IDLE。44.1.3 通道选择模块该模块主要负责系统通道的选通,根 据得到的采集参数信息选择相应的通道进 行数据采集3。该模块通过产生不同的电平, 来控制集成D触发器SN74LS174的其中五个 输入端,从而达到选择通道的目的。4.2 USB固件程序设计本系统中数据通道分为采集数据上传 通道和控制字下传通道。根据设计需要进 行配置,配置端点4、6、8为采集数据上传 通道,用于从FPGA向主机传输采集数据, 采用

16、块传输模式,512字节2重缓冲,16位 数据自动输入模式;配置端点2为控制字下 传通道,用于传送主机控制字到FPGA,采 用块传输模式,512字节2重缓冲,16位自 动输出模式。固件程序采用Cypress公司提 供的固件程序框架,在其初始化函数中添 加了用户配置代码。改动部分代码如下所 示: void TD_Init(void) .EP2CFG=0xA2;EP4CFG=EP6CFG=EP8CFG=0xE2;EP2FIFOCFG=0x15;EP4FIFOCFG=EP6FIFOCFG=EP6FIFOCFG =0x0D;. 4.3 USB设备驱动程序设计Cypress为其EZ-USB系列USB接口芯片 提供了一个完整的开发包,里面包括了通 用USB驱动程序。本系统按照设计的要求, 在DDK平台上修改通用USB驱动程序代码, 生成本系统的驱动程序代码。4.4 上位机应用程序设计上位机应用程序的作用就是提供一个 人机交互的显示界面,体现系统的运行状 态。这里采用Microsoft Vis

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号