单位文秘网 2021-10-26 08:12:30 点击: 次
工业技术创新 URL: http: // DOI: 10.14103/j.issn.2095-8412.2017.05.003
引言
在工业生产和科学研究中,基于USB2.0的数据采集系统能够快速、精确地对数据进行采集、存储、分析和处理[1, 2]。目前,单片机时钟频率较低,ARM计算能力较弱,DSP控制外围复杂逻辑器件能力较差,它们无法对高精度、高速率、高实时性的瞬间急剧变化的数据进行处理[3]。鉴于FPGA的优势及其不断的完善,使其在数据采集中的应用甚为广泛,可与USB2.0技术相得益彰。
1 整体方案设计
系统整体方案设计图如图1所示。首先,为了使输入信号达到A/D芯片的工作范围之内,通过滤波对输入的信号进行处理,由前端模拟电路完成;其次,将处理后的信号模数转换为数字信号,由A/D转换器来完成;再次,利用FPGA完成对FIFO数据的缓存,同时实现其对USB2.0与A/D芯片的控制;从次,数据的传输主要通过USB接口电路来完成,作为上位机和下位机的纽带;最后,通过上位机实现设备的控制、检测,以及数据显示等功能。
1.1 系统工作流程
系统工作流程为:首先,上位机应用程序产生控制命令,通过USB芯片发送到FPGA主控模块;其次,由FPGA对控制命令进行解析,存入对应的寄存器,实现对前端模拟电路动作的控制;再次,FPGA对数据信号有效性进行判断,只有在判断为有效时,才将控制信号与时钟信号转发给A/D芯片;最后,转化后的数字信号通过FPGA的FIFO缓冲进入USB芯片的FIFO中,同时通过上位机对数据进行相应操作。
1.2 系统芯片选型
1.2.1 A/D转换芯片选型
该系统性能在一定程度上受到A/D转换器的影响。本文选用的转换器型号为AD9288,是8bit的双通道芯片,其功耗非常低、体积非常小。选用的轉换速率为100Mbps,在工作范围内可表现出良好的动态特性。
1.2.2 FPGA芯片选型
采用Altera公司Cyclone系列EP1C6Q240C8N型号的芯片。这是一款高性价比的 FPGA 芯片,工作电压为1.5V,存储密度可达5980个逻辑单元,包括20个128×36位的RAM块,总RAM空间达到92160位;可实现NIOS II嵌入式处理器,且占用不到600个逻辑单元;嵌入两个锁相环电路和一个用于连接SDRAM的特定双重数据速率接口;拥有足够多的I/O引脚,支持不同的I/O标准(包括PCI接口以及串行设备接口等);应用广泛,性价比高[4]。
1.2.3 USB2.0接口芯片选型
采用Cypress公司的 EZ-USB FX2LP系列作为USB接口芯片,可以进行 12Mb/s 全速传输和480Mb/s高速传输,完全适用于 USB2.0,并向下兼容 USB1.1。传输方式可分为4种:控制传输、中断传输、块传输以及同步传输[5]。该系列中的CY7C68013A 提供了一种独特的“量子 FIFO”架构,即 USB 接口和外围电路直接共享FIFO存储器,可有效避免USB高速模式下由微控制器带来的一系列问题。
2 硬件设计
硬件系统包括FPGA内部模块、前端模拟电路、数据采集单元。
2.1 FPGA内部模块
FPGA是该系统的核心。首先,它能够通过控制前端电路来调整信号输入的大小;其次,它能够控制A/D转换器完成模数转换;最后,它可以控制USB接口的数据通信。FPGA内部模块主要分为4个部分:时钟模块、FIFO存储模块、A/D-FIFO控制模块和USB接口传输控制模块。
2.2 前端模拟电路
前端模拟电路包括5个部分:差分运放电路、放大电路、阻抗变换网络、无源衰减网络和交直流耦合网络。为了实现较宽范围的输入电压,可通过前端模拟电路实现调整,信号的改变倍数与相应的电路范围关系如表1。
2.3 数据采集单元
模拟信号输入后,首先需要利用前端模拟电路的放大、衰减等一系列调整,转换为适合A/D转换器处理的信号,方可进行数字化处理,最终将数字信号送到其他模块。在数据采集单元中,USB接口电路是核心。EZ-USB FX2LP的端点缓冲区和外围电路之间通信时,有两类接口模式可供选择: Slave FIFO(从属 FIFO)模式和GPIF(通用可编程接口)模式[6]。本系统令CY7C68013A工作在 Slave FIFO 模式下,如果USB芯片进行复位,它就会进入默认模式,即输入输出接口模式,所以必须通过寄存器IFCONFIG将其设置为Slave FIFO,即在固件中令IFCFG[1:0]=11。
3 软件设计
系统软件主要是在KEIL编译环境下进行编程的。对于USB固件程序,利用DDK+VC++6.0的方式开发驱动程序,并利用MFC对上位机应用程序进行开发。USB设备的识别或者相关USB协议的处理,以及数据通信功能,都需要固件程序的支持。驱动程序位于上位机与外部USB设备之间,以实现两者之间的传输。下位机接收到的数据的存储与显示是利用应用程序来实现的,与此同时亦可实现对下位机硬件采集电路的控制。系统软件设计图如图2所示。
3.1 USB固件程序
USB固件程序的开发是一个特别复杂的过程。为了最大限度地减小系统开发周期、提高开发效率,选用现有的固件编程框架。本系统采用的开发工具是Cypress公司的EZ-USBdevtools,开发环境为集成的Keilu Vision2。
3.2 USB驱动程序
目前Windows平台下常用的USB驱动有两种,一种是Cypress公司提供的驱动程序,客户可对其进行修改;另外一种是微软提供的DDK工具。本数据采集系统将两者进行有效的结合。
3.3 应用程序
简洁的显示界面需要由上位机应用程序来完成。该系统的主要应用平台为VC++6.0。数据读写功能交由WIN32API中的各个函数来完成。
4 系统调试及评测
4.1 系统调试
对系统进行整体调试时,需按照系统开发次序,具体为:USB接口→FPGA以及内部模块→A/D采集控制电路→前端电路。完成系统的软硬件调试后,需要对系统整体进一步联调,以确保所设计的系统能够完成既定功能。
4.2 系统评测
为了验证系统的有效性,设定采样频率为50MHz,并利用信号发生器产生一个频率为1MHz,幅值为1V的正弦信号。观测得知,输入的正弦波形信号恢复完好。
利用不同的采样频率对输入信号进行采样,表明系统采样频率在大于输入信号频率的10倍时可得到较为理想的波形。通过大量实验可知,本文设计的数据采集系统性能良好。
5 结论
本文针对数据采集过程中提出的高速率采集与传输、高可靠實时性等要求,设计了一种基于FPGA的数据采集系统。系统以FPGA作为主控芯片,同时包含了前端电路、模数转换芯片及USB2.0芯片等控制模块。通过硬件设计与软件设计的融合,提高了系统应用的灵活性,是一种有效的数据采集方案。
参考文献
[1]于得钰. 基于FPGA的A/D数据采集系统的设计[D]. 哈尔滨: 黑龙江大学, 2012.
[2]Tu Y Q, Shen Y L. Phase correction autocorrelation-based frequency estimation method for sinusoidal signal[J]. Signal Processing, 2017, 130:183-189.
[3]马军. 高速高性能数据采集系统的实现方法[J]. 现代电子技术, 2007, 30(9):130-131.
[4]丁鹭飞, 耿富录, 陈建春. 雷达原理: 第5版[M]. 北京: 电子工业出版社, 2014.
[5]蒋刘义. 基于USB2.0高速接口的气动打标机系统的开发[D]. 重庆: 重庆大学, 2011: 67-68.
[6]薛园园, 赵建领. USB应用开发宝典[M]. 北京: 人民邮电出版社, 2011: 90-93.
A Data Acquisition System Based on FPGA and USB2.0
CHEN Ke-xun, WANG Zhen-tian, WANG Fei
(Beijing Institute of Structure & Environment Engineering, Beijing, 100076, China)
Abstract: A data acquisition system with high speed and good scalability is proposed by combination of the advantages of FPGA and USB2.0. The FPGA is used to control the input signal size from front-end circuit, conversion mechanism of analog to digital converter, as well as data communication of USB2.0 interface. USB interface is treated as the link between host computer and lower computer, to complete data transmission. The hardware and software parts are designed respectively. The hardware part includes the FPGA internal module, front-end analog circuit and data acquisition unit. The software part includes driver, application and USB firmware. The system is evaluated by different sampling frequencies, showing that better waveform can be obtained when the sampling frequency of the system is more than 10 times of the input signal frequency, so the system performance is good.
Key words: FPGA; USB2.0; Data Acquisition; High Precision
(责任编辑:单位文秘网) )地址:https://www.kgf8887.com/show-181-97025-1.html
下一篇:无线通信技术及其应用研究
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用