基于FPGA的高速高精度频率测量的研究作者:包明赵…文章来源:单片机与嵌入式系统应用点击数:35 更新时间:2007-2-11作者:包明赵明富郭建华来源:《单片机及嵌入式系统应用》摘要:以FPGA为核心的高速高精度的频率测量,不同于常用测频法和测周期法。
本文介绍的测频方法,不仅消除了直接测频方法中对测量频率需要采用分段测试的局际,而且在整个测试频段内能够保持高精度不变。
又由于采用FPGA芯片来实现频率测量,因而具有高集成度、高速和高可靠性的特点。
关键词:频率测量 FPGA 高精度引言在电子测量技术中,测频是最基本的测量之一。
常用的直接测频方法在实用中有较大的局限性,其测量精度随着被测信号频率的下降而降低,并且对被测信号的计数要产生±1个数字误差。
采用等精度频率测量方法具有测量精度,测量精度保持恒定,不随所测信号的变化而变化;并且结合现场可编程门阵列FPGA (Field Programmable Gate Array)具有集成度高、高速和高可靠性的特点,使频率的测频范围可达到0.1Hz~100MHz,测频全域相对误差恒为1/1 000 000,1 测频原理及误差分析常用的直接测频方法主要有测频法和测周期法两种。
测频法就是在确定的闸门时间Tw内,记录被测信号的变化周期数(或脉冲个数)Nx,则被测信号的频率为:fx=Nx/Tw。
测周期法需要有标准信号的频率fs,在待测信号的一个周期Tx内,记录标准频率的周期数Ns,则被测信号的频率为:fx=fs/Ns。
这两种方法的计数值会产生±1个字误差,并且测试精度与计数器中记录的数值Nx或Ns有关。
为了保证测试精度,一般对于低频信号采用测周期法;对于高频信号采用测频法,因此测试时很不方便,所以人门提出等精度测频方法。
等精度测频方法是在直接测频方法的基础上发展起来的。
它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步,因此,测除了对被测信号计数所产生±1个字误差,并且达到了在整个测试频段的等精度测量。
其测频原理如图1所示。
在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。
首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。
然后预置闸门关闭信号(下降沿)到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。
可以看出,实际闸门时间τ与预置闸门时间τ1并不严格相等,但差值不超过被测信号的一个周期。
设在一次实际闸门时间τ中计数器对被测信号的计数值为Nx,对标准信号的计数值为Ns。
标准信号的频率为fs,则被测信号的频率为由式(1)可知,若忽略标频fs的误差,则等精度测频可能产生的相对误差为δ=(|fxc-fx|/fxe)×100% (2)其中fxe为被测信号频率的准确值。
在测量中,由于fx计数的起停时间都是由该信号的上升测触发的,在闸门时间τ内对fx的计数Nx无误差(τ=NxTx);对fs的计数Ns最多相差一个数的误差,即|ΔNs|≤1,其测量频率为fxe=[Nx/(Ns+ΔNs)]/fs (3)将式(1)和(3)代入式(2),并整理得:δ=|ΔNs|/Ns≤1/Ns=1/(τ·fs)由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,即实现了整个测试频段的等精度测量。
闸门时间越长,标准频率越高,测频的相对误差就越小。
标准频率可由稳定度好、精度高的高频率晶体振荡器产生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门时间缩短,即提高测试速度。
表1所列为标频在10MHz时闸门时间与最大允许误差的对应关系。
表1 闸门时间与精度的关系等精度测频的实现方法可简化为图2所示的框图。
CNT1和CNT2是两个可控计数器,标准频率(fs)信号从 CNT1的时钟输入端CLK输入;经整形后的被测信号(fx)从CNT2的时钟输入端CLK输入。
每个计数器中的CEN输入端为时钟使能端控制时钟输入。
当预置门信号为高电平(预置时间开始)时,被测信号的上升沿通过D触发器的输出端,同时启动两个计数器计数;同样,当预置门信号为低电平(预置时间结束)时,被测信号的上升沿通过D触发器的输出端,同时关闭计数器的计数。
2 硬件设计在快速测量的要求下,要保证较高精度的测频,必须采用较高的标准频率信号;而单片机受本身时钟频率和若干指令运算的限制,测频速度较慢,无法满足高速、高精度的测频要求。
采用高集成度、高速的现场可编程门阵列FPGA为实现高速,高精度的测频提供了保证。
FPGA是20世纪90年代发展起来的大规模可编程逻辑器件,随着EDA(电子设计自动化)技术和微电子技术的进步,FPGA的时钟延迟可达到ns级,结合其并行工作方式,在超高速、实时测控方面有非常广阔的应用前景;并且FPGA具有高集成度、高可靠性,几乎可将整个设计系统下载于同一芯片中,实现所谓片上系统,从而大大缩小其体积。
整个测频系统分为多个功能模块,如信号同步输入、控制部件、分频和计数部件、定时、脉冲宽度测量、数码显示、放大整形和标频信号等模块。
除数码管、放大整形和标频信号外,其它模块可集成于FPGA芯片中,并且各逻辑模块用硬件描述语言HDL来描述其功能,如用VHDL 或AHDL来对各功能模块进行逻辑描述。
然后通过EDA开发平台,对设计文件自动地完成逻辑编译、逻辑化简、综合及优化、逻辑布局布线、逻辑仿真,最后对 FPGA芯片进行编程,以实现系统的设计要求。
图3所示为测频主系统框图。
一片FPGA(EPF10K10LC84)可完成各种测试功能,可利用单片机完成数据处理和显示输出。
在标准频率信号为60MHz的情况下,其测量精度可达到1.1×10 -8,即能够显示近8位有效数字。
其中A0~A7和B0~B7为两计数器的计数值输出。
计数器是32位二进制计数器(4个8位计数值)。
单片机通过 [R1,R0]数据读出选通端分别从这两个计数值输出端读出4个8位计数值,根据测频和测脉宽原理公式计算出频和脉冲宽度。
STR为预置门启动输入; F/T为测频和测脉宽选择;CH为自校/测频选择;Fa为自校频率输入端;Fs为标准频率信号输入端;Fx为经过放大整形后的被测信号输入端;END为计数结束状态信号。
FPGA中各功能模块如图4所示。
图4中,CH1和CH2为选择器,CH1进行自校/测频选择,CH2进行测频和测脉宽选择。
CONTRL1为控制模块,控制被测信号fx和标频信号fs的导通,以及两个计数器(CONTa和CONTb)的计数。
CONTa和CONTb为32位计数器,分别以4个8位二进制数输出。
FPGA与单片机AT89C51的接口比较简单。
图3中的输入/输出端与单片机连接:A[7..0]与单片机P2端口相连接;B[7..0]与单片机P0口相连接;其它输入/输出端与单片机P3口相连接。
结语随着EDA技术和FPGA集成度的提高,FPGA不但包括了MCU(微控制器或单片机)特点,并兼有串、并行工作方式和高速、高可靠性以及宽口径适用性等诸多方面的特点。
单片机完成的数据处理功能也可集成在FPGA芯片中。
基于FPGA的电子系统设计仅仅是各种逻辑模块与IP核的逻辑合成和拼装。
测频系统的标准信号频率的提高,可进一步提高测频的精度或缩短测频时间。
一种新型的高精度频率计摘要:本文介绍了一种利用多周期同步法与量化时延法结合测量频率的方法,在此方法基础上设计的样机测量分辨率达到ns量级,由于使用了CPLD器件,该仪器体积小、成本低。
关键词:多周期同步;量化时延;短时间间隔引言时间频率测量是电子测量的重要领域。
频率和时间的测量已越来越受到重视,长度、电压等参数也可以转化为与频率测量有关的技术来确定。
本文通过对传统的多周期同步法进行探讨,提出了多周期同步法与量化时延法相结合的测频方法。
多周期同步法最简单的测量频率的方法是直接测频法。
直接测频法就是在给定的闸门信号中填入脉冲,通过必要的计数电路,得到填充脉冲的个数,从而算出待测信号的频率或周期。
在直接测频的基础上发展的多周期同步测量方法,在目前的测频系统中得到越来越广泛的应用。
多周期同步法测频技术的实际闸门时间不是固定的值,而是被测信号的整周期倍,即与被测信号同步,因此消除了对被测信号计数时产生的±1个字误差,测量精度大大提高,而且达到了在整个测量频段的等精度测量,其原理框图和波形图如图1所示。
设Na、Nb分别为计数器A和B记得的数值,τ‟为闸门时间,则Na=τ…·fx (1)Nb=τ…·f0 (2)计数器A的计数脉冲与闸门的开闭是完全同步的,因而不存在±1个字的计数误差,由式(3)微分可得:dNb=±1,τ…=Nb/f0 (5)得到测量分辨率:dfx/fx=±1/(τ…×f0) (6)由式(6)可以看出,测量分辨率与被测频率的大小无关,仅与取样时间及时基频率有关,可以实现被测频带内的等精度测量。
取样时间越长,时基频率越高,分辨率越高。
多周期同步法与传统的计数法测频比较,测量精度明显提高。
在时频测量方法中,多周期同步法是精度较高的一种,但仍然未解决±1个字的误差,主要是因为实际闸门边沿与标频填充脉冲边沿并不同步,如图2所示。
从图2可以得出,Tx=N0T0-△t2+△t1,如果能准确测量出短时间间隔Δt1和Δt2,也就能够准确测量出时间间隔Tx,消除±1个字的计数误差,从而进一步提高精度。
为了测量短时间间隔Δt1和Δt2,通常使用模拟内插法或游标法与多周期同步法结合使用[1],虽然精度有很大提高,但终未能解决±1个字的误差这个根本问题,而且这些方法设备复杂,不利于推广。
要得到精度高,时间响应快,结构简单的频率和时间测量方法是比较困难的。
从结构尽量简单同时兼顾精度的角度出发,将多周期同步法与基于量化时延的短时间间隔测量方法结合,实现了宽频范围内的等精度高分辨率测量。
量化时延法测短时间间隔光电信号可以在一定的介质中快速稳定的传播,且在不同的介质中有不同的延时。
通过将信号所产生的延时进行量化,实现了对短时间间隔的测量。
其基本原理是“串行延迟,并行计数”,而不同于传统计数器的串行计数方法,即让信号通过一系列的延时单元,依靠延时单元的延时稳定性,在计算机的控制下对延时状态进行高速采集与数据处理,从而实现了对短时间间隔的精确测量。
其原理如图3所示。
量化时延思想的实现依赖于延时单元的延时稳定性,其分辨率取决于单位延时单元的延迟时间。
作为延时单元的器件可以是无源导线,有源门器件或其他电路。
其中,导线的延迟时间较短(接近光速传播的延迟),门电路的延迟时间相对较长。