基于FPGA的数字频率计设计
余 果,郭心伟,刘小浩,张国栋,马 骁
【摘 要】摘要:随着电子技术的发展,快速准确获得各种电子信号的频率显得越来越重要。但传统的频率计大多采用单元电路或单片机进行设计,存在测频范围窄,测量精度低,操作复杂和功能单一等问题。此数字频率计主要由AGC模块、整形模块、FPGA处理及显示模块组成,利用时钟脉冲计数的方式,实现正弦波和矩形波信号的频率、矩形波信号的占空比和输入的两路同频周期矩形波信号时间间隔的测量功能。该数字频率计测频范围宽,测量精度高,操作简单,稳定可靠。
【期刊名称】电子设计工程 【年(卷),期】2016(024)018 【总页数】3
【关键词】数字频率计;时钟脉冲计数;FPGA;频率
数字频率计是计算机、通信设备和音视频等科研生产领域必不可少的测量仪器,它是一种用十进制数字来显示被测信号频率的数字测量仪器[1]。以往的频率计大多数是采用单元电路或单片机技术进行设计的。本文在QuartusⅡ9.0开发环境下,借助强逻辑,弱算法的FPGA器件,用Verilog HDL语言设计了一种高精度计数式频率计[2],较传统的单元电路设计更灵活,更具可编程性,大大简化了电路结构的复杂性,提高了电路的稳定性。同时为设计者提供了一种与结构无关的设计环境,使设计者能方便的进行设计输入、快速处理和器件编程。
1 系统组成
文中所述数字频率计主要由AGC模块、整形模块、FPGA处理模块、功能选择
模块及显示模块组成,如图1所示。它具有频率、占空比和时间间隔测量功能,频率测量范围为10 Hz~10 MHz,占空比测量范围为10%~90%,时间间隔测量范围为0.1 us~100 ms,测量相对误差的绝对值小于0.1%。
不同的功能实现,输入的信号也不相同。实现频率、占空比测量功能时只输入幅度在50 mV~1.5 V范围的A路信号。输入的A路信号经过AGC模块后其峰峰值可稳定在4V左右,然后由整形模块处理成矩形波信号送给FPGA。A路信号输入正弦波信号时,可实现频率测量;输入矩形波信号时,可实现频率、占空比测量。实现时间间隔测量功能时,输入为A、B两路同频同周期的且幅度在50 mV~1 V范围的矩形波信号。
该数字频率计的频率、占空比和时间间隔测量功能的程序在FPGA处理模块中是同时进行的,而所得结果则是在同一个显示屏上分开显示的。功能选择模块会根据输入信号的不同,控制显示屏显示频率、占空比的数值或是时间间隔的数值。只有A路信号输入时,显示屏显示频率或占空比数值;A、B两路信号同时输入时,显示屏显示时间间隔数值。
2 硬件电路设计
硬件电路对输入信号做放大及整形处理,使输入信号变为FPGA可检测到的信号后送入FPGA进行后续的运算。
为了使输入正弦信号电压有效值在50 mV~1.5 V、频率在10 Hz~10 MHz之间时,输出矩形波电压的幅度稳定在2 V,我们采用如图2所示的AGC电路和TL3016整形电路。AGC及自动增益控制,其原理是控制信号随输入信号幅度的变化而变化,使信道输出幅度检波后的直流值与参考电压之间的误差值尽量减少到最小值[3]。AGC电路由两级AD603程控放大电路、增益控制电路组
成。AD603程控放大电路由三级电路构成,即第一级调偏电路、第一级AD603程控放大电路,第二级调偏电路、第二级程控放大电路,以及末级放大电路。为了使通带内输出平坦,在第一级和第二级之间加入低通滤波。通过调节增益控制电路中的可变电阻RW3,能够实现增益的手动控制。最终,AGC输出的放大后的正弦信号S2送入TL3016整形电路转换化成矩形波。当输入信号为矩形波时,情况如上描述。
3 软件设计
3.1 频率测量方案选取
在频率测量方法中,常用的有直接测频法、直接测周法、倍频法和等精度测频法等。其中直接测频法是以待测信号为计数脉冲在闸门信号持续时间内进行计数从而直接得出待测信号频率的方法[4]。但是这种方法在低频段误差较大,而该数字频率计所测信号频率范围很广,因此在低频段采用直接测周法进行频率测量。直接测周法则是以时钟信号为计数脉冲在闸门信号持续时间内进行计数从而得到待测信号的周期,再取倒数得到待测信号频率[5]。为了保证精度,需要找到两种方法转换的临界频率。当待测信号频率高于此临界频率时,采用直接测频法进行测量;反之,则采用直接测周法测量。经过多次实验,确定该临界频率为60 kHz。 3.2 总体结构
文中所述的数字频率计软件部分的总体结构由测周模块、分频模块、测频模块、功能转换模块、时间间隔测量模块、倍频模块以及显示模块组成,如图3所示。 倍频模块通过调用altera FPGA内部的pll将50 MHz时钟信号倍频到100 MHz,作为时钟信号分别送入测周模块、时间间隔测量模块以及分频模块;分