基于FPGA的存储测试系统的设计
2011-09-06刘成明李新娥张艳兵
刘成明,李新娥,张艳兵
(中北大学电子测试技术国家重点实验室,仪器科学与动态测试教育部重点实验室,山西太原 030051)
0 引言
动态测试技术是以捕捉和处理各种动态信息为目的的一门综合技术,它在当代科学技术中地位十分重要,在航天航空、仪器仪表、交通运输、军事、医疗等研究中均应用广泛。常用的测试方法有遥测与存储测试,与无线电遥测仪相比,存储测试仪结构更为简单、无需发送天线、体积小、功耗低。存储测试技术是对被测对象没有影响或影响在允许范围的条件下,在被测体内放置微型数据采集存储测试仪,现场实时完成信号的快速采集和存储,事后回收,由计算机处理和再现测试信息同时保证测试仪器完好的一种动态测试技术[1]。由于存储测试对测试结果影响较小,测试数据准确可靠,已经渐渐成为测试动态参数的重要手段。
1 系统整体设计
测试信号通过传感器输入测试电路中进行处理并存储,随后通过接口电路输入到计算机中。测试参数限于一定范围,测试通道数为4通道,最大采样频率为1 MHz,最大存储容量为512 kW。本设计选用Altera公司推出的Cyclone II系列的EP2C5T144I8芯片。该芯片具有4608个逻辑单元,26块M4K RAM块,13个嵌入式乘法器,2个锁相环,用户I/O引脚数目有89,可以满足设计要求,并且有一定余量,方便以后功能的扩展。AD转换器选用AD公司推出的AD7492,而存储器选用NanoAmp公司推出的N08L163WC2A,容量为512 k×16 bit。系统的整体框图如图1。
图1 系统整体框图
FPGA控制模块实现对整个系统的逻辑控制,主要包括:AD控制、存储器的读写、时钟产生、负延迟计数及触发模块等。其中时钟模块为系统各芯片提供工作时钟,并产生适合不同环境的采样时钟信号。负延迟模块是为确保记录信号的完整性,不致于把触发信号以前的数据丢失。本设计负延迟为8 kW,负延迟计数器记满(512-8)kW后停止计数,采样结束。触发模块主要是对系统由一个环境进入另一个环境的方式进行控制。触发方式包括外触发、计数触发、比较触发。计数触发是对采样点数进行计数,采样点数等于预设的计数点数时,就会产生触发信号。比较触发是采样值与预设值作比较,当采样值大于或小于预设值时就会产生触发信号[2]。
2 采样策略的研究
2.1 变频采样的状态设计
在一些测试中,例如弹丸在全弹道运动过程中的加速度变化、石油开采过程中射孔时的压力变化,被测信号的频率变化很大,因此仅由信号的最高上限截止频率确定采样频率是不合理的,信号的采样频率应该是可变的。因此,需要对被测信号进行采样规律设计,即设计一定的采样策略,综合考虑模糊误差、测量时间、存储容量等因素,从而达到最优的测试效果[3]。张文栋教授结合存储测试理论与应用对动态测试的信号存储过程提出了四种采样策略,包括均匀采样策略、自动分段均匀采样策略、编程分段自适应均匀采样策略以及自适应采样策略,这四种采样策略均适合瞬态速变信号的存储记录[4]。
根据被测信号频率变化很大的特点,设计如图2所示的状态图,实现对此类信号的变频采样。测试系统分环境对信号采样记录,每个环境的采样频率可以在采样前进行设置,本系统设计为三个环境,即采样频率最多变化三次。
图2 分段自适应均匀采样状态图
在存储测试开始之前,通过软件编程将采集存储过程分为几个阶段,根据被测信号的变化,每一个阶段的采样频率、存储点数、采样开始时间会作自适应的调整。首先接通电源使电路处于复位态,此时数字电源VDD为通电、模拟电源VEE为断电状态,系统中只有FPGA控制模块工作;然后对电路编程设定各个环境的采样频率,给电路上电,电路进入等待触发态,此时VDD、VEE通电,存储器、AD转换器启动,开始采样,地址计数器开始工作;触发信号TRI1到来后,进入f1采样态,系统按编程设定的采样频率f1开始采样,负延迟计数器开始工作;2环境触发后,系统按照设定的采样频率f2进行采样,此时处于f2采样态;3环境触发后,系统按采样频率f3采样,处于f3采样态;当负延迟计数器计满设定值时,地址计数器和负延迟计数器均停止工作,VEE断电,系统进入等待读出态;在读出数据态,地址同步推进,直到读完所有的数据。
2.2 变频采样的模块设计
采样频率决定了采样信号的质量和数量,采样频率太高,会使采得的信号数量剧增,占用大量的存储单元,采样频率太低的话,会使模拟信号的某些信息丢失,恢复出的信号会出现失真。为了达到最佳效果,必须根据信号的特点选择合适的采样频率[5]。图3为设计的采样时钟选择模块。
图3 时钟选择模块原理图
设计可选采样频率有八种,如图3中1 MHz~1 kHz,都是由FPGA的时钟模块分频而来,可根据实际情况修改。S1、S2为环境选择信号;P0~P2、P3~P5、P6~P8三组信号分别是三个环境的采样频率控制字,在测试前根据环境采样频率的需要来编程设定;模块mux8为8选1数据选择器,根据输入的三个控制字来选择对应的采样频率输出。系统上电后,环境选择信号S1、S2为"00",模块mux3将1环境的采样频率控制字P0、P1、P2输入到模块mux8中,系统自动以1环境的采样频率进行采样;2环境的触发信号到来时,S1、S2由"00"跳变为"10",2环境的采样频率控制字P3~P5送到mux8中,以2环境的采样频率进行采样;当3环境的触发信号来临,S1、S2由"10"跳变为"11",3环境的采样频率控制字P6~P8被选中,系统以3环境的采样频率采样。
3 实验验证
该实验对标准信号发生器输出的正弦波信号进行采集和存储,采样策略选择为三环境采样,1环境采样频率为1 MHz,2环境为100 kHz,3 环境为 50 kHz,外触发进入 1 环境,计数触发进入2环境,计数值128 kW,计数触发进入3环境,计数值32 kW。系统采样完毕后,连接到计算机通过上位机软件读取数据,实验波形如图4。
图4 三环境采样波形
设置为计数128 kW进入2环境,计数32 kW进入3环境,而系统负延迟为8 kW,分为4个通道,因此1、2环境的分界点为(128+8)*1024/4=34816点,2、3环境的分界点为(128+8+32)*1024/4=43008点,实验波形与计算值相符。如表1所示:
表1 采样频率数据记录
通过上表可以看出,系统变频采样模块的设计满足系统的要求,并且系统是完全按照设定的采样策略进行采样的。
4 结束语
介绍了一种用FPGA实现的动态测试存储测试系统。通过实验验证,表明系统能对信号进行不失真采样存储。证实了所设计的采样策略对多种变化规律的信号采集具有通用性,实现了对信号的变频采样,扩展了系统的应用范围。
[1]祖静,张志杰,裴东兴,等.新概念动态测试[J].测试技术学报,2004(18):20-23.
[2]巩林萍,靳鸿,祖静.基于CPLD的多次重触发存储测试系统设计[J].电子设计工程,2009,17(12):80-84.
[3]白艳萍,曹济,张文栋,等.瞬态信号测试的自适应采样策略[J].测试技术学报.1996,10(1):28-33.
[4]张文栋.存储测试系统的设计理论及其在导弹动态数据测试中的实现[D].北京理工大学,1995.
[5]崔春生,马铁华,裴东兴.新一代石油井下测试仪多采样策略研究[J].中国测试技术,2007,3(33):74-76.