基于单片机的数字频率计设计
2012-09-06沈亚钧
沈亚钧
(太原理工大学机械学院,山西太原 030024)
1 总述
单片机频率计[1]不仅反应快、精度高,操作也非常人性化,而且应用范围大、带宽大以及成本低廉、小巧方便。它可以用来测量一定电压范围内正弦波、三角波及方波。本设计是基于单片机为主控制电路,配合着一定的外围芯片及电路而设计的一款处理数字信号的高频频率计,测量范围能达到1 Hz~20 MHz,其新颖之处在于用运了两种测频方法,且采用自动分频[2]的方式使基于单片机的频率计能够在低成本的前提下完成较高精度的高频数字信号的频率测量。
2 总体设计
本设计欲设计一款基于单片机的数字频率计[3-5],其特色是测量范围为1 Hz~20 MHz。对待低频和高频信号的测量分别使用不同的测频方法去对待。具体总的思想是以单片机为核心,被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测得正弦波或者三角波转化为方波。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。该频率计系统设计共包括五大模块:主芯片控制模块、分频选择模块、放大整形模块、基准频率模块和显示模块。各模块作用如下:
主芯片控制模块:以AT89S52单片机为控制核心,来完成对待测信号的计数,译码和显示以及对分频比的控制。利用其内部的定时/计数器完成待测信号周期/频率的测量。单片机AT89S52内部具有3个16位定时/计数器,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。
分频选择模块:考虑单片机外部计数,使用12 MHz时钟时,最大计数速率为500 kHz,因此需要外部分频。分频电路用于扩展单片机频率测量范围,并实现单片机频率测量使用统一信号,可使单片机测频更易于实现,而且也降低了系统的测频误差。本设计使用的分频芯片是74HC4040,选择芯片是74LS153。
放大整形模块:放大电路是对待测信号的放大,降低对待测信号幅度的要求。整形电路是对一些不是方波的待测信号转化成方波信号,便于测量。本设计使用的放大芯片是LT1358,整形芯片是74LS132。
基准频率模块:为了产生一个标准的频率,这里使用了AT89C2051。这是一款类似于AT89S51的8051内核的非总线单片机。这里运用其一个定时器产生一个稳定的频率。
显示模块:鉴于大部分频率计采用的是数码管形式的显示方式,为了节约用电,减小体积本设计采用液晶显示屏显示,融入了文字提示等信息,方便使用者观察选择。本设计选用LCD1602。
2.1 高频方案
本设计对待高频信号(>10 kHz)欲选用多周期同步测量法[6],在充分利用单片机计数器的条件下,实现更精确的测量。图1所示即为多周期同步法测频原理框图。参考闸门产生大概的取样时间为T,实际闸门的开启由参考闸门和被测信号同步产生。当参考闸门给出后,由随后到来的被测信号的第一个脉冲打开两个计数器的闸门开始计数。被测信号fx通过闸门1由计数器A计数,得到计数值Nx,标频信号脉冲fs通过闸门2由计数器B进行计数,得到计数值Ns。当参考闸门关闭后,由随后到来的被测信号脉冲关闭两个计数器的闸门,停止计数。则被测频率的表达式为:fx=fs×(Nx/Ns)。
多周期同步法的测量误差主要由Ns产生[7,8]。当频率较低(<10 kHz),且测量信号信噪比较小(40 dB)时,触发误差较大,是误差的主要来源。当被测频率大于10 kHz时,误差取决于标频信号的准确度和分辨率带来的误差,两者基本相当。所以低频测量时,运用多周期测量法误差会很大[9,10]。
图1 多周期同步测频法
图2 高频测量原理
如图2所示,高频测量时首先利用单片机的定时器T0进行软件分频,根据定时时间的不同分出一个或几个闸门信号,利用这些不同周期的闸门去做不同的基准时间。对于不同基准时间内的频率测量,其精度是不同的,随着基准时间的加长,精度会越来越高。测频时,根据测量精度要求,预置闸门T0控制起闭时间为t,开启T0,同时放出待测信号和标准信号。这时计数器T2和计数器T1分别对待测信号fx和标准信号fc(频率已知)同时计数,当预置闸门控制时间Tn到达闸门关闭时,两个计数器停止计数。若两个计数器T2、T1的计数值分别为M和N,则待测频率的值为fx=fc×(M/N)。
2.2 低频方案选择
对低频段信号(<10 kHz)的信号采用周期测频法。周期测量法也是频率测量的一种常用方法,而且常常用于低频的测量[11,12]。其原理是在被测频率fx的一个周期内Tx,记录标准频率fc的变化次数M,则有fc=M/Tx,即待测信号频率为fx=fc/M。采用这种方法时,我只用到了单片机的T2定时器,由于T2定时器拥有捕获功能,可以在被测信号脉冲的下降沿到来之际实现对此时时间的捕获,这样在被测频率两个下降沿之间就形成一个周期,产生两次捕获,而这两侧捕获的时间差就是被测频率的周期,其频率就是周期的倒数。运用这种方法可以对频率为65 535 Hz以内的频率进行测量,如图3所示。
图3 低频测量原理
3 结论
本论文中对高频测量进行了软件仿真,从表1中我们可以看出,随着所测频率的位数的增大,频率的误差越小。在甚低频阶段,由于仿真时只开启高频测量,用的是多周期同步测量法,所以可以看到由于基准频率±1的误差而引起的±1的误差,而对于甚低频及低频的测量,±1的误差是极其影响测量效果的。这和理论预测的效果是完全吻合的。由于一些不明原因,低频测量程序无法得到仿真。如果低频测量程序可以开启的话,在低频测量时就会转化成周期法测量。这样由于低频的频率很低,其周期很大,所以单片机的反应速度是可以跟得上的,从而避免了±1的误差,使得低频测量也可以达到误差为0%。对于中频及高频阶段,我们可以在表中看到,虽然差值随着频率的增大而越来越大,但是误差百分比却越来越小,尤其对于高频的测量,其误差可以小到十万分之几,完全可以满足一般用户的需求。
由此,该频率计验证了多周期同步测量法对中高频信号的测量能力是不错的,但是对于低频及甚低频的测量却缺陷很大。而正好周期法的优点就是测量低频信号非常准确。这两种方法的结合正好弥补了两者的缺陷[13],凸显了两者的优点。再加上智能分频使单片机的测量带宽提高了一千倍以上,仅用几个芯片搭成的低成本简单电路,使该频率计拥有了不错的性价比。
表1 测量值对比表
[1]刘竹琴,白泽生.一种基于单片机的数字频率计的实现[J].现代电子技术,2010(1):90-96.
[2]朱雪枝,王学伟.自动分频法宽量程频率测量技术及实现[J].北京化工大学学报2004,31(1):91-93.
[3]陈明莉.单片机精确测量信号频率[J].软件导刊,2007(4):13-14.
[4]凌振宝,叶剑峰,孙正光.多功能数字频率计的设计与研究[J].吉林大学学报(信息科学版),2011(4):95-101.
[5]李育红.基于STC12C5A08S2.单片机频率计的设计与实现[J].科学之友,2011(16):151.
[6]Hong Qunhuan,Song Shile,Xiao Zhihong.Design of Digital Frequency Meter Based on Synchronous Frequency Measurement Method[C].2010 2nd International Conference on Computer Technology and Development 2010:97-700.
[7]梁文海,麦文,张健,等.一种高精度频率测量的研究与实现[J].四川师范大学学报(自然科学版),2008,31(3):376-378.
[8]张晶.数字测频方法的研究[J].吉林广播电视大学学报,2005(4):88-91.
[9]邹魏华.低成本高精度相检宽带频率计的开发[D](硕士学位论文).西安:西安电子科技大学,2008.
[10]王玉兰.基于低采样率的高频信号精密数字化测量方法研究[D](硕士学位论文).北京:中国科学院研究生院,2010.
[11]李坤峪,袁海文,刘颖异.一种高可靠性的频率测量系统[J].电源世界,2012(1):41-44.
[12]ANDRIA NEMAT.A High Resolution Digital Frequency Meter for Low Frequencies[J].IEEE Transactions on Instrumentation and Measurement,1990,39(4):376-382,667.
[13]黄盛霖,沈聪辉,赵晓娟,等.利用最佳分频实现高精度频率测量[J].兵工自动化2011,30(9):68-71.