基于FPGA瞬变微光能量探测系统的数据采集和存储设计
2008-04-11
作者:梁义涛1,2,汶德胜1,王 宏
摘 要: 在分析目标信号特性的基础上,提出瞬变" title="瞬变">瞬变微光信号探测系统数据采集" title="数据采集">数据采集和存储单元实现方案" title="实现方案">实现方案。针对系统对数据采集和存储的特殊要求,采用FPGA技术,完成了高性能数据采集系统设计。以Altera公司的FPGA为硬件设计载体,使用VHDL语言对数据采集和存储的控制逻辑" title="控制逻辑">控制逻辑和时序进行了硬件描述。在QuartusII集成环境中进行软件设计和仿真,结果与设计吻合。
关键词: FPGA ADC FIFO 数据采集
在传统数据采集系统中,通常采用单片机或DSP作为CPU,控制ADC、存储器和其他外围电路工作。单片机和DSP的各种功能要靠软件的运行来实现。执行的速度和效率受到很大限制,软件运行时间在整个采样时间中占很大的比例[1]。近年来,随着FPGA技术的逐步完善和数据采集系统的发展,以FPGA为系统核心进行数据采集和存储的应用系统方案被广泛采纳。FPGA具有单片机和DSP无法比拟的优势:FPGA时钟频率高,内部时延小;全部控制逻辑和时序由硬件完成,速度快,效率高;组成形式灵活,可以集成外围控制、译码和接口电路。本设计基于FPGA技术,针对特定的目标信号——瞬变微光信号,提出数据采集与存储实现方案并搭建硬件电路,经仿真和实验验证了方案的可行性。
1 目标特性分析和前端处理
空间对地探测瞬变微光辐射能量研究始于上世纪80年代。目前,国外已有多个系统投入运行。国内相关的理论研究也早已开展,但实际系统的研发还属空白。系统中将感兴趣的目标事件分为三类:背景信号探测、瞬变光单峰信号探测、瞬变光双峰信号探测。
背景信号属低高斯限带白噪声,变化缓慢,可看作一缓变直流信号,可采用较慢的均匀频率采样。单峰信号的上升和下降速度都很快,能量一般较双峰信号低,必须以较快的固定频率采集以免丢失信息。双峰信号的第一峰上升、下降都很快,属信号的高频部分;第二峰变化缓慢,是信号的低频部分,峰值能量高信号持续时间长。据此特点,本设计采用变频技术采集双峰信号的方案,采样点先密后疏,保证采集过程有较一致的测量精度和减少对数据存储容量的要求。
2 数据采集和存储的硬件构成
2.1 数据采集的基本构架和实现方案
空间对地探测光辐射事件,属于大视场复杂背景条件下的随机、瞬变、弱暗点目标的非成像探测系统。光学部分带有遮光罩和窄带滤波镜头,结合消杂光技术,控制进入镜头到达探测器的光信号频率在规定范围。除光学部件外,整个系统置于屏蔽箱内屏蔽干扰。数据采集和存储系统实现方案的结构如图1所示。光电探测器选用单元型高性能Si-PDD,按其光伏模式即零偏置工作,信号调理选用运放AD645完成,输出转换成电压量的模拟信号。FPGA通过下载和解读系统计算机指令,实时调整工作模式,选用不同的滤波通道进行背景扣除完成信号提取;调整增益,实现程控放大;根据ADC采集的数据和目标信号的特征点,选用不同的识别算法判断是否有信号发生;当识别出信号后,输出相应的采样频率" title="采样频率">采样频率对其进行实时数据采集和存储,并通知系统计算机下传数据。
2.2 现场可编程门阵列器件FPGA
本设计选用Altera的EPF10K10LC84-4,配置EPC2。使用QuartusII对程序编译,结果如图2所示,表明程序大小与FPGA资源搭配较为合适。
2.3 A/D转换器
由于目标信号动态范围很大(约60db),不同信号经过前端处理后存在一定的差异,需要选择高精度、大动态范围的ADC完成采样。本设计ADC选择ADI公司的14bit AD679KN,在异步单极性采样模式下工作。AD679的输出是8位的。0~10V的模拟量被量化为14位数据,在数据低两位补零,分为高8位和低8位,输出使能oe两个时钟和hbe高低字节电平控制输出[2]。选用该器件可充分利用FPGA内部资源,减少PCB制作压力,提高系统集成度。
2.4 先进先出缓冲器FIFO
由于并行通信较串行通信速度快的特点,使之成为多数实时系统的选择[3]。并行通信的实现主要采用三种方式:缓存器、双口RAM和FIFO。缓存器方式存储数据量小,需要采用严格的通信协议才能保证数据的正确传输;双口RAM方式速度快,但需要占用FPGA大量而宝贵的I/O口资源;FIFO方式速度同双口RAM一样,由于没有地址总线,不会产生地址冲突,接口电路简洁且不占用系统地址资源。在实际应用中,存储单元选用IDT公司生产的CMOS型异步FIFO——IDT7203L25TPI实现。此器件是8位单向异步FIFO的典型芯片,容量为2048×9bit,存取时间为25ns,是一种高速、低功耗的先进先出双端口存储缓冲器[4]。芯片本身具有较完善的控制逻辑,应用方便可靠。
3 软件模块设计
FPGA内部资源划分如图3所示。
(1)控制模块:接收下位机控制指令,解析为工作模式、触发阈值和其他前端预处理电路控制字传送到其他模块。该模块设定有默认的工作模式等参数,当上电复位且系统控制指令未发出时,或者系统前后指令有误时,FPGA使用默认工作状态控制各部分工作,确保系统仍能运行,提高系统可靠性。
(2)分频器:由系统主频分出其他模块所需的工作频率。
(3)采样频率发生器:采样使能ens有效时,输出默认的采样频率,采样数据送到识别检测模块。当发现有信号发生时,根据工作模式参数给出相应的采样频率。一次数据采集和存储完成后,ens无效,屏蔽采样。待FIFO被清空后,ens有效,重新允许采样。ens控制逻辑如图4所示。
(4)数据锁存和识别检测:根据ADC的采样结束脉冲eoc,给出ADC的高低位控制脉冲hbe和输出使能脉冲oe,将采样数据锁存,送向识别检测模块。识别检测模块包含了判断信号是否发生的识别算法。当检测到有信号发生时,锁存模块给出写FIFO的脉冲wr,将数据写入FIFO,同时开始计时。计时时间到,则停止写FIFO;触发ens无效屏蔽采样脉冲。等待FIFO清空。数据采样与存储控制流程如图5所示。
4 仿真与试验结果
这里给出基于Altera的QuartusII和FLEX10K10LC84-4的仿真和实验结果。
图6为变频采样时,采样频率与其他信号关系及其时序波形。先以默认的采样频率进行采样,当探测到有信号发生时(siggen变为高电平),开始输出经过变频的采样频率,每32个点,2分频一次,直到采足要求的数据为止。采样时间到后,siggen信号也随之成无效;信号ens屏蔽采样时钟。待到FIFO被清空后,ens有效,恢复输出默认采样时钟,重新开始采样、识别和存储工作。
图7所示为以固定频率采样时,hbe、oe和wr的时序关系。采样数据先送入锁存模块。经识别算法处理,当探测到信号后,siggen信号变高电平,开始给出写脉冲,向FIFO输出数据,给出第一个写脉冲后开始计时(timeout信号高电平有效)。输入数据din传到输出数据线outdout上。
根据软件功能设计,搭建了相应的硬件电路并在实验室实际进行了测试。图8为示波器显示的各信号波形。从图中可看出它们的相互时序关系符合系统设计和器件要求。各子图中,示波器通道1波形对应图标前面的信号。需要注意的是,AD679开始转换信号sc脉冲的低电平持续时间最好不要超过6.3μs,否则,每6.3μs会在eoc脚出现一个毛刺影响数据输出。因此,当采样频率周期超过10μs后,需要调整信号占空比,确保低电平在6.3μs内。
按照实际工程要求,完成了软件编程、仿真和外围硬件电路的搭建,实现了瞬变微光能量探测系统的数据采集和存储设计方案。软件仿真结果与设计方案吻合,功能较为完善。硬件测试结果说明设计方案可行,系统运行稳定可靠。在实际工程应用中,很多系统会对采样和存储功能有特殊要求,加以约束。对于这些系统的设计,此方案也有一定的参考价值。
参考文献
1 徐海军,叶卫东.FPGA在高性能数据采集系统中的应用[J].计算机技术与应用,2005;25(1):40~43
2 14-Bit 128kSPS Complete Sampling ADC AD679 Datasheet[Z].Analog Devices Comp,2003
3 金 明,罗飞路,朱霞辉等.FIFO芯片在高速系统中的应用[J].电子技术应用,1998;(3):61~63
4 IDT7203/7204/7205/7206 CMOS ASYNCHRONOUS FIFO Data Sheet[Z].Integrated Device Technology Inc,1996