基于FPGA的高速数据采集系统设计 - 图文

更新时间:2023-12-17 09:15:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

北京航空航天大学第八届研究生学术论坛

8th Academic Forum for Graduate Students at Beihang University

2011年4月 Apr 2011

基于FPGA的高速数据采集系统设计

金 刚,徐志跃

(北京航空航天大学自动化科学与电气工程学院,北京,100191)

摘 要:设计一种基于FPGA 的高速数据采集系统,该系统采用FPGA作为控制器,PXIe总线作为总线接口,采用Verilog HDL硬件编程语言进行程序控制,这种于FPGA 的同步采集、实时读取采集数据的方案,可以提高系统采集和传愉速度,此种设计方案结构灵活、控制简单、可靠性高。

关 键 词: FPGA;PXIe总线;高速数据采集;Verilog HDL 中图分类号:TP391

文献标识码:A 文章编号:

Design of high-speed data acquisition system based on FPGA

Jin Gang,Xu Zhiyue

(Beihang University School of Automation Science and Electrical Engineering, Beijing, 100191)

Abstract: Design of a high-speed data acquisition system based on FPGA, the system uses the FPGA as a controller, PXIe bus as the bus interface, using verilog HDL programming language for process control hardware, which in the FPGA synchronization acquisition, real-time data collection program to read, can improve system speed of acquisition and transmission of discovery, this design is flexible, simple control and high reliability.

Key words: FPGA; PXIe Bus; High-speed Data Acquisition; Verilog HDL

引言

随着信息技术的飞速发展,各种数据的实时采集和处理在现代工业控制和科学研究中已成为必不可少的部分。在信号测量、图像处理、音频信号处理等一些高速、高精度的测量中都需要进行高性能的数据采集。传统的数据采集系统往往采用单片机或数字信号处理器(DSP)作为控制器,控制模/数转换器、存储器和其他外围电路的工作。但由于单片机本身的指令周期以及处理速度的影响,其时钟频率较低,各种功能都要靠软件的运行来实现,软件运行时间在整个采样时间中占有很大的比例,效率较低,很难满足系统对数据采集系统实时性和同步性的要求[1]。然而基于DSP的数据采集系统,虽然处理速度快,但成本较高,过于频繁的中断会使CPU的效率降低,响应速度变差[2]。

采用可编程逻辑器件FPGA设计数据采集系统[3],具有开发周期短,集成度高,功耗低,工作频率高,设计费用低,编程配置灵活等一系列优点。此外,还可以在FPGA芯片内进行采集控制、缓冲、处理、传输控制、通信。这里给出一种基于FPGA 的同步采集、实时读取采集数据的数据采集方案,极大地提高了系统采集和传输速度。

————————————————

1 系统总体设计

该高速数据采集系统主要性能指标设计如下:

1)4路同步差分模拟量输入通道; 2)16位的分辨率;

3)采样速率为125MS/s/通道,500MS/s AI总吞吐量;

4)输入量程:±10V、±5V、±2V、±1V可选;

5)模拟量输入带宽典型值为650MHz; 6)支持内部或外部触发采集功能; 7)支持中断和查询两种获取数据方式; 该系统总体框图如图1所示。此系统硬件组成分为以下几个部分[4]:

1)PXIe总线接口部分。此部分又由PXIe总线连接器和PXIe桥接芯片及其外围电路组成;

2)电源供电部分。实现多种电源转换,得到各器件所需的电压;

3)FPGA部分。所用FPGA芯片,处于核心位置,用于实现对电路板上其他各组成部分的连接和操控;另外还有FPGA下载接口及其外围电路部分;

4)板载缓存部分。为了满足高速数据采集

收稿日期:2011-06-13

导师简介:徐志跃,男,副教授,主要从事计算机测控技术、电子电路技术研究。 作者简介:金刚,男,硕士研究生,主要研究方向为检测技术和自动装置开发。 论文研究方向:基于FPGA的数据采集模块

金刚、徐志跃:基于FPGA的高速数据采集系统设计

的需要,实现数据的缓存与读取;

5)AD芯片部分。是整个模块中至关重要的部分,实现高速数据的实时采集;

6)时钟电路部分。整个模块需要多种时钟,2.2电源供电部分的设计

电源供电单元部分电路图如图3所示。该系统需要+1.2V、+3.3V、+1.8V、+2.5V、+5V多种如PXIe总线时钟、AD芯片SPI接口、缓存FIFO时钟等,由于所需时钟的频率很高,需要一些外围电路对时钟进行有效的调理;

7)辅助电路部分。包括复位电路部分、外接电源调试接口部分、连接器接口部分;

外围电路EEPROM差分配置电量程选路时钟AD芯片(2路)PXIe桥接芯片择电路接模拟量转入调理时钟外部参考PXIe电压调理FPGAFIFO总线口模拟量转入调理FIFO量程选AD芯片(2路)择电路差分配置电EEPROM路ASJTAG外围电路复位电路外接电源接口图1 基于FPGA的高速数据采集系统总体框图 2 系统硬件电路设计

2.1 PXIe总线接口部分的设计

图2 PXIe总线接口电路图

PXIe总线接口部分电路图如图2所示,此

部分主要包括PXIe总线连接器和PXIe桥接芯片及其外围电路。

由于PXIe串行传输速率很高,协议芯片的外围电路直接会影响数据传输的质量,此电路图是按照协议芯片技术文档建议的外围电路所设计,满足PXIe总线传输的要求。

电压,需要多种电源转换模块得到所需的电压;为了减少电源噪声对板卡上器件工作性能的影响,避免选用开关型的电源模块,采用线性电源模块给相应的器件供电,且有滤波、去耦外围电路,大大削弱电源的噪声。

图3 电源供电部分电路图

2.3 FPGA部分的设计

FPGA芯片处于核心位置,用于实现对电路板上其他各组成部分的连接和操控。为了满足高速数据采集的要求,选用高级、快速、容量大的FPGA是重中之重,会直接影响程序逻辑复杂度、开辟内存的大小和程序执行的速度。另外还有FPGA下载接口及其外围电路部分。下载选择AS和JTAG两种模式,JTAG模式便于程序的调试,AS模式用于程序的固化。。 2.4板载缓存部分的设计

时钟FPGAFIFOFIFOEEPROMASJTAG图4板载缓存部分结构框图

板载缓存部分结构框图如图4所示。为了满足高速数据采集的数据不丢失要求,数据缓冲部分是必不可少的,而且需要根据PXIe总线传输数据速率、AD芯片的采集速率、FPGA存储数据的速率和FPGA读取数据的速率等条件估算出所需缓存的大小,而且为了实现数据的无缝传输,采用两片FIFO利用兵乓操作原理来实现数据的缓存与读取。 2.4 AD芯片部分的设计

AD芯片部分的结构框图如图5所示。选用

金刚、徐志跃:基于FPGA的高速数据采集系统设计

双通道、16位、125MS/s/通道的AD转换芯片。此AD芯片需要复杂的外围电路来保证其良好的工作性能,是整个模块中至关重要的部分,外围主要包括:模拟量输入调理电路,差分输入配置电路,外部参考电压调理电路,时钟输入调理电路,输入量程选择电路,数字电与模拟电分别供应电路,一些AD功能所需的基本外围电路。

外围电路差分配置电量程选路择电路AD芯片(2路)模拟量转入调理时钟外部参考电压调理模拟量转入调理量程选AD芯片(2路)择电路差分配置电路外围电路图5 AD芯片部分结构框图

1)量程选择电路 为了满足模块±10V、±5V、±2V、±1V量程可选,需要放大、衰减、可控调理电路作支撑,使得进入到AD芯片的电压在允许的范围内变化。

2)差分输入配置电路和模拟量输入调理电路

图6 差分输入配置电路和模拟量输入调理电路图

该部分电路如图6所示,可以根据输入模拟信号的频率和峰峰值,选择精度、带宽、建立时间合适的运放,实现模拟信号的差分输入和滤波功能。

3)基准参考电压电路

图7基准参考电压电路图

该部分电路如图7所示,该部分采用AD公司的基准源芯片ADR421BRZ,输出电压为

2.5V,精度为+-0.05%,温漂典型值为1ppm/℃,最大不超过3ppm/℃,比AD芯片片上自带的基准电压更精确,温漂更低。

3 FPGA程序设计

该部分主要内容为利用Verilog HDL 语言编写FPGA程序[5],从而实现各功能模块工作的逻辑功能控制。整个系统大体工作过程如下:

1)首先,PXIe总线计算机完成初始化底层硬件和顶层软件过程;

2)其次,PXIe总线计算机下发数据采集开启命令,底层FPGA响应开启命令,操作周围器件如AD芯片、存储芯片等,进入数据采集、处理、存储过程;

3)然后,由PXIe总线计算机选择的读数响应方式(触发或查询),决定FPGA程序的处理过程;紧接着,若满足了PXIe总线计算机读取底层采集数据条件后,进入到上位机读取底层采集数据过程,此过程的传输方式为DMA或Target单次两种模式可选;

4)最后,上位机读完所需数据后,进入数据采集完成阶段,下发相应命令给底层FPGA作为数据采集结束标志,整个采集过程完成。

开始初始化过程数据采集开启命令模式选择无中断无查询等待中断查询有中断有查询读取采集数据格式选择DMA读Target单次读停止采集一次采集结束图8 PXIe总线计算机工作流程图

PXIe总线计算机工作流程如图8所示: 1)首先,PXIe总线计算机完成初始化过程,如PXIe协议芯片、AD采集芯片的初始化等;

2)其次,PXIe总线计算机下发数据采集开启命令,从而启动底层硬件的数据采集;

3)然后,PXIe总线计算机进入等数据采集中断状态,或者以查询方式获取底层数据采集信息;

4)紧接着,若PXIe总线计算机得到数据采集中断或以查询方式获知数据采集完成后,进入

金刚、徐志跃:基于FPGA的高速数据采集系统设计

读取采集数据状态,或以DMA方式读取,或以Target单次读取;

5)最后,一次数据采集过程结束。 开始无初始化命令等待初始化初始化无开启命令等待开始命令开启AD转换开始并行工作开始上位机关闭采上位机命令关闭集命令检测结束无关闭命令上位机读中断处理数据处理数据存储数过程过程过程过程图9底层FPGA工作流程图

底层FPGA工作流程图如图9所示:

1)首先,FPGA等待上位机初始化过程; 2)其次,FPGA等待上位机下发数据采集开启命令或外部触发信号有效;

3)然后,FPGA控制AD芯片进入数据转换采集过程;

4)紧接着,FPGA进入多模块并行监控过程,如:采集数据的处理过程、采集数据的存储过程、中断检测处理过程、上位机读取采集数据过程、数据采集关闭命令的监测过程等等,非常清晰流畅的完成数据采集、存储、读取、关闭过程。

4 结论

本设计实现了基于FPGA的高速数据采集系统,可以实现双通道、16位、125MS/s的高速数据采集。本系统数据采集精度高、性能稳定、可靠性高;PXIe总线数据传输具有DMA功能,高速连续传输不丢帧;采用阻抗控制设计,信号完整性及电磁兼容性好;结构简单,价格低廉,使用方便, 对数据采集技术的研究与应用具有重要意义。

参考文献 References

[1] 杨志方,王泽成,涂坦等.基于FPGA 的多路高速数据采集系统的实现[J].武汉化工学院学报,2006,28(3) : 58-61.

[2] 张东升,张东来,秦海高等.基于FPGA 的高速采集系统设计与实现[J].电子技术应用,2006(5) : 76-78. [3] 林长青,孙胜利.基于FPGA 的多路高速数据采集系统[J].电测与仪表,2005,42(3) :52-54.

[4] 梁颖.基于USB和FPGA技术的高性能数据采集模块的设计与实现[D].成都:四川大学,2005.

[5] 夏宇闻. 复杂数字逻辑系统的Verilog HDL设计技术和方法[M]. 北京:高等教学出版社,2000.1-9.

本文来源:https://www.bwwdw.com/article/8af5.html

Top