基于FPGA的全自动等精度频率计设计
2012-03-15湖南涉外经济学院信息科学与工程学院
湖南涉外经济学院信息科学与工程学院 杨 灿
1.引言
在测量技术中,使用比较广泛的是对宽频率范围的时间和宽的频率测量技术。而数字式的频率和时间的测量技术具有精度高,读数方便等优点,因而成为当前普遍使用的时间和频率的测量方式。虽然构成测量频率的仪器使用直接计数的方法构成是最简单的,但是直接计数方法的测量精度并不高,而且随着被测信号频率的变化测量精度也会变化,而多周期同步测量的方法虽然没有在实质上达到提高测量精度的目的,但是对高低频信号能实现相同的测量分辨率[1]。这种测频方法在实现高精度频率测量的同时大大减少了对硬件的需求,从而对电路的体积也实现了小型化。
2.基本原理
使用多周期同步法测频技术,可以提高测量精度,并且可以实现整个测量频段内的等精度测量,其原理就是多周期同步法测频技术的闸门时间随着被测信号周期的变化而变化,实现了与被测信号周期的同步,从而消除了对被测信号计数产生的误差[2]。
如图1,一开始,闸门电路等待时基闸门电路发出的开启信号,计数器检测到被测信号的上升沿后才开始计数[3]。接着,计数器A对被测信号计数,计数器B对时基脉冲技术。而当闸门关闭等到时基闸门电路给出的信号后,两组计数器一直等到被测信号上升沿到来的时刻才真正结束计数,从而完成一次测量过程。可以看出时基闸门与设定的闸门并不是严格相等,但最大差值不会超过被测信号的一个周期,被测信号的计数值是准确的不存在±1误差。
被测信号频率的计算方法如下:
设被测信号的计数值为N,对时基信号的计数值为N0,时基信号的频率为f0,闸门时间为τ,则被测信号的频率为:
计数器的开闭与被测信号是完全同步的,即在实际闸门中包含整数个被测信号的完整周期,因而不存在对被测信号计数的±1误差,由上式微分可得:
得到测量分辨率为:
由上式可以看出,测量分辨率与被测信号频率的大小无关,仅与实际闸门时间及时基频率有关,即实现了被测频带内的等精度测量。闸门时间越长,时基频率越高,分辨率越高。
图1 多周期同步法原理图
图2 时基闸门仿真波形图
图3 运算处理单元方框图
3.软件各模块设计与仿真
3.1 时基闸门模块
时基闸门模块的主要功能是为两个计数器提供清零信号和时基闸门信号,同时为计数器A提供结果输出的控制信号。由于整个系统的标准频率信号为50MHz,量程为5Hz-200MHz,为了尽量提高测量精度,采用的闸门时间为1s。具体实现方法为将标准信号计数分频计数产生2Hz左右的信号,将该信号的高电平作为闸门时间,在信号的低电平的时刻,根据计数器的计数值,先后分别产生数据输出信号和清零信号。图2是该模块的仿真结果。
3.2 计数模块
具体的实现方式为,首先由时基闸门电路给出闸门开启信号,此时,计数器A和B并不开始计数,而是等到被测信号的上升沿到来时,计数器A才真正开始计数,与此同时计数器A输出另一个闸门开启信号,计数器B接到A的闸门信号后开始计数。然后,两组计数器分别对被测信号和时基脉冲计数。当时基闸门电路给出闸门关闭信号后,计数器A和B并不立即停止计数,而是等到被测信号上升沿到来的时刻计数器A才真正结束计数,与此同时计数器A输出一个闸门关闭信号,计数器B收到该信号后停止计数,完成一次测量过程。可以看出,实际闸门与设定的闸门并不严格相等,但最大差值不超过被测信号的一个周期,被测信号的计数值是准确的不存在±1误差。
3.3 运算处理单元
运算处理单元是整个系统最复杂的部分,也是整个系统消耗资源最多的部分。整个运算处理单元要完成两个计数结果的运算处理,同时将处理得到的二进制结果转换成二进制的BCD码。本设计中乘法器的设计直接采用综合工具元件库内的乘法器,用booth编码和WALLACE TREE的结构实现。倒数单元采用除法器实现,考虑到是无符号的除法,本设计中采用的是基本的存储式除法器。BCD码的转换主要采用除法器和加法器实现,由于本设计要得到除法运算的商和余数。所以除法器的设计没有采用乘法器实现,而直接采用常系数除法器完成除10运算。图3是该模块的方框图。
4.实验结果
实验测试数据如表1所示。
表1 测试结果
5.结束语
本文所采用的等精度频率测量原理,由被测信号来启动计数器的时基闸门,实现了被测信号的无误差计数。实验表明,该频率计基本达到了预期的设计指标。克服了传统的直接测频法和测周法的缺点,能在频率范围变化较大时,都有比较高的测量精度。
[1]林建英,宋野.高精度数字频率计的FPGA设计实现[J].电测与仪表,2001,38(432):5-7.
[2]周欣.高精度恒误差数字频率计设计[J].南京气象学院学报,2000,23(3):435-439.
[3]武卫华,陈德宏.基于EDA技术的数字频率计芯片化的实现[J].电测与仪表,2004,41(460):52-55.