基于FPGA多通道数据采集系统的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第24卷 第6期2017年6月仪器仪表用户INSTRUMENTATION
EIC Vol.24
2017 No.6
基于FPGA多通道数据采集系统的设计
刘立军
(辽宁机电职业技术学院,辽宁 丹东 118009)
摘 要:设计了一种多通道数据采集系统,系统以FPGA作为时序逻辑控制和数据处理的核心,实现了四路传感器信号同步转换数据到FLASH存储器的数据存储方式。

系统硬件电路和软件程序的编写均采用模块化设计,具有较强的可移植性。

该数据采集系统运行稳定、可靠,具有一定的工程实用价值。

关键词:多通道;时序逻辑;数据处理;模块化中图分类号:TP274 文献标志码:A
The Design of Multi Channel Data Acquisition System Based on FPGA
Liu Lijun
(Liaoning mechatronics college,Liaoning,Dandong,118009,China)
Abstract: The design of a multi-channel data acquisition system, the system uses FPGA as the logic control and data processing core, it achieved four sensor signal synchronous conversion data to the data storage of FLASH memory. The hardware circuit and software program of the system are designed with modular design, which has strong portability. The sampling frequency of the sys-tem is up to 2MHz, the data acquisition system is stable and reliable, and has certain practical value in engineering.Key words: multi channel;temporal logic;data processing;modularization
收稿日期:2017-03-24
基金项目:辽宁机电职业技术学院2017教研立项项目(JYLX2017022)。

0 引言
数据采集存储是信号处理过程中的一个重要环节,已经广泛应用于温度测试、冲击波测试、加速度信号测试、瞬态信号测试、无损探伤等领域。

近年来数据采集系统的应用范围越来越多、所涉及到的测量信号和信号源的类型越来越宽、对测量的要求也越来越高。

国内现在已有不少数据测量和采集的系统,但很多系统存在功能单一、采集通道少、采样速率低、操作复杂、并且对测试环境要求较高等问题。

人们需要一种应用范围广、性价比较高的高速数据采集系统。

基于FPGA的多通道高速数据采集系统是将
来自传感器的信号通过放大、滤波、输入A/D转换器转换为数字信号后由FPGA采集、处理与显示,实现了数据处理功能强大、显示直观、界面友好、性价比高、应用广泛的特点[1,2]。

1 系统整体设计
1.1 系统整体设计
测试系统主要由传感器、模拟调理电路模块、数据比较模块、电源管理模块、模数转换及数据采集存储模块、FPGA控制模块和计算机等构成[3],系统硬件组成框图如图1所示。

图1 系统硬件组成框图
Fig.1 System hardware composition diagram
DOI:10.3969/j.issn.1671-1041.2017.06.009
文章编号:1671-1041(2017)06-0031-04
第24卷
32
仪器仪表用户INSTRUMENTATION 图2 测试系统工作流程
Fig.2 Test system workflow filter circuit
本系统设计整体思路是在AD变换完成的数字信号在触发信号到来之前,一直在静态存储器中循环存储,其目的是完成负延时功能(记录触发点以前的信号)。

当触发信号到来后,把多路AD转换器转换完成的数据实时地、不间断地存储到FLASH存储器中。

本系统以四通道为例,四通道模拟信号经过低通滤波处理后通过模拟开关切换进入AD 转换器进行模数转换,在FPGA时序电路的控制下,将四通道AD转换的数据存入到SRAM中。

此后,PFGA提供读写时钟用于完成从SRAM到FLASH存储器数据的存储。

1.2 系统工作过程分析
测试系统工作流程图如图2所示。

首先数据采集系统等待上电信号,本数据采集系统采用上电线常开到常闭的方式,当数据采集系统上电后进行数据采集,将采集的信号存储到静态存储器中进行循环存储。

然后等待出发信号的到来,当数据采集系统出发信号到来后,将AD转换的数据存储到FLASH存储器中,一直到FLASH存储器记录完数据为止。

当FLASH存储器记录完数据后系统进入到休眠状态(低功耗状态),此时系统进入等待读数阶段,将数据采集系统与PC机连接读取测试数据,完毕后对FLASH存储器擦除用于下次数据采集,当FLASH存储器擦除完成后手动给系统“下电”[4]。

图3 压控电压源二阶低通滤波电路
Fig.3 Second order low-passof voltage-controlled source
2 数据采集系统硬件电路
2.1 模拟调理电路
由于在数据采集过程中不可避免地存在着各种干扰和噪声,以及在采样信号时需满足奈奎斯特定理的要求
,所以模拟调理电路在数据采集系统中起着至关重要的作用。

本数据采集系统的模拟调理电路以二阶压控电压源低通滤波器为模型的模拟低通滤波器如图3所示。

2.2 多路信号切换电路
数据采集系统在信号采集过程中需要对经过信号调理的四路模拟信号分别进行AD转换,因此。

在进行AD转换之前应先对四路信号进行选择,然后将模拟信号输入AD转换器。

模拟信号的选择是通过MAXIM公司生产的四通道模拟多路复用器MAX4634来实现四个通道的选择,通道选择如表1所示。

本数据采集系统需要对4个通道进行切换,根据表1将管脚EN接高电平,通道选择由管脚A1和A0共同决定,A1和A0连接的是静态存储器SRAM的地址位A1和A0,地址位A1和A0在每写入一个数据后进行高低电平变化,多路信号切换电路如图4所示。

图4 多路信号切换电路
Fig.4 Multi-channel signal switching circuit
A1X 0011
A0X 0101
EN 01111
通道选择NONE NO1NO2NO3NO4
表1 MAX4634通道选择控制表
Table 1 MAX4634 channel selection Control table
在实际设计过程中取 , ,根据电路设计理论计算知,取 ,
,截止频率: 。

刘立军·基于FPGA多通道数据采集系统的设计第6期
33
2.3 电源管理模块电路设计
本数据采集系统采用了一款线性低压差电源管理芯片,数据采集系统在工作时,模拟调理电路部分和数字控制电路部分分别需要+5V和3.3V的工作电压,电源管理部分选用了MAXIM公司的可编程电压管理器MAX667,其性能指标为:负载能力达到250mA;正常工作电流:20μA;工作电压:3.5V~16.5V。

电源管理模块电路如图5所示。

数据采集系统在工作时,由FPGA发出控制信号 和 ,当数据采集系统上电后 和 信号都为低电平信号,此时模拟调理电路供电电源为5V供电,数字控制电路供电电源为3.3V供电,当数据采集系统触发信号到来后,FLASH存储器记录完数据后由FPGA发出控制信号 和 , 为低电平, 为高电平,此时仅仅是数字控制电路有供电电源3.3V,而模拟调理电路供电电源5V关闭,系统进入休眠状态[5]。

2.4 AD9235控制电路及控制时序分析2.4.1 AD9235控制电路
这个部分的主要工作是对模数转换器AD9235的控制,使得AD9235进行模拟信号转换成相应的数字信号。

AD9235硬件电路图如图5所示。

对AD9235的控制部分主要是通过一个有限状态机来实现的,通过对AD9235的工作时序观察,用有限状态机对AD9235的控制信号做出描述,从而让AD芯片能工作起来,这就是有限状态机的主要任务。

2.4.2 有限状态机的设计及时序分析
根据AD9235芯片资料的时序图设计的状态转换图如图6所示。

图5 电源管理模块
Fig.5 Power management module
图6 AD9235硬件电路图
Fig.6 AD9235 hardware schematic diagram
图7 AD采样的状态转移图
Fig.7 The status transfer graph of AD sampling
在图7中将AD转换过程分为8个状态,由于FPGA芯片
输入时钟信号定在20MHz,故一个周期是0.05us,完成一次AD采样,AD9235大约需要2us,40个时钟周期。

下面对状态机的各个状态进行分析。

ST1:对AD9235的初始化,此时conv<='1';cs<='1' ;rd<='1';lock<='0';wr_en='0';rd_en='0';
ST2:启动AD9235输入端,使采样保持器保持开始转换,此时conv<='0';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0';
ST3:开始进行模数转换,此时conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0';
ST4:采样周期等待,等待EOC跳变低电平,此时conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0';
ST5:判断EOC是否跳变高电平,若跳变,则开始读数据,此时conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0';
ST6:锁存信号有效,锁存转换后的数据到12位并行输出口,FIFO的写信号有效,此时conv<='1';cs<='0';rd<='0';lock<='1';wr_en='1';rd_en='0';
ST7:从FIFO中读出写入的数据,此时conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='1';
ST8:等待状态,准备下次的采样,此时conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0';
通过状态机的分析可以知道,此状态机属于Moore状态机,在一个完整的采样周期中,状态机最先被启动的是以CLK为敏感信号的时序进程,接着两个组合进程COM1和COM2被同时启动,因为他们以同一信号current_state为敏感信号。

最后被启动的是锁存进程,它是在状态机进入ST6后被启动的,即此时LOCK产生了一个上升沿信号,从而启动进程LATCH1,将AD9235在本次采样周期的12位数据和通道选择的3位数据锁存到寄存器中,同时FIFO存储器从Q端读到稳定正确的数据,进入下一个状态后FIFO又把数据读出到q端,这样一个采样周期就完成。

AD9235的时序仿真
波形如图8所示。

第24卷
34
仪器仪表用户INSTRUMENTATION 图8 AD采样控制仿真波形
Fig.8 AD sampling control simulation waveform
从仿真波形可以看出,控制信号符合AD9235的时序,可以对AD进行采样控制,同时数据的锁存信号也符数据采集系统的要求[6]。

但从仿真图中可以看到,这些信号都有很多毛刺,由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间,这对整个系统的影响不会很大,所以就没有对这些毛刺进行处理。

3 数据采集系统软件流程设计
对Flash存储器的读写操作都是基于页操作的。

多路数据采集系统存储器读写操作流程图如图9所示,数据采集系统向存储器发送读/写命令,FPGA内部根据接收到的相应指令执行相应的操作。

在对Flash进行写操作时,FPGA 向Flash写入指令,等待Flash完成写操作,然后再向Flash 写入要读写数据的起始地址。

如果收到的是读或者擦除命令,应先写入一个确认指令;如果收到的是写命令,完成输入待编程的数据后,再输入编程确认命令。

由于K9F1G08U0M 有128 K 页,每页大小为( 2048 + 64) × 8 bit。

因此,写列地址需要 12 根地址线,写页地址需要16根地址线。

这样写入地址就需要5个时钟周期,前两个时钟用来写入列地址,后3个时钟用来写入页地址。

4 结论
文章设计的多路数据采集系统以FPGA 作为时序逻辑控制和数据处理的核心,最终实现了系统的硬件电路和软件控制程序,完成了对多路传感器数据的采集和存储。

在设计的过程中,系统硬件电路和软件程序的编写均采用模块化设计,方便移植。

该数据采集系统运行稳定、可靠,具有一定的工程实用价值。

参考文献:
邹小芳,徐剑.便携式高速数据采集处理系统[J].仪表技术与传感器,2008,03:28-29.
张文栋.存储测试系统的设计理论及其应用[M].北京:高等教育出版社,2002.
杨海涛,苏涛.基于FPGA的高速大容量固态存储设备设计[J].国外电子元件,2007,05(5):68-72.
王楠,韩焱,王鉴.基于FPGA的惯性数据采集与存储系统设计[J].计算机测量与控制,2011,19(11):2871-2873.
李爱华,王章瑞.高速FIFO存储芯片IDT7207在虚拟逻辑分析仪设计中的应用[J]. 元器件与应用,2003,03: 39-42.郭文秀,董永贵,孙照焱.高速连续数据流记录系统中并行处理接口的研究[J].计算机工程与应用,2002(6):67-69.
李杰,马幸,刘俊.小型惯导系统数据实时采集处理与存储设计[J].中国惯性技术学报,2008,16(3):274-277.
[1][2][3][4][5][6][7]
图9 多路数据采集系统存储器读写操作流程图
Fig.9 A flow chart of memory and read operation in multi-channel data acquisition system。

相关文档
最新文档