苏鹏飞,杨延宁,任新成,张 雄
(1.延安大学 网络信息中心,陕西 延安 716000;2.延安大学 物理与电子信息学院, 陕西 延安 716000)
在电子测量领域,频率是一个重要的参数,往往作为计算的基础参量与参考数值,随着计算机网络和电子科学技术的不断发展,频率的测量要求越来越高[1]。常见的测频方法中,以电子计数器测量频率的方法最为常见,电子计数器测频电路主要由时序逻辑电路和组合逻辑电路组成,成品频率计体积大,测量速度较慢,测量结果误差较大[2]。这种传统的硬件电路测频方法已不能满足现代频率测量的要求,需重新引入软件设计,寻求一种更快速、准确的频率测量方法。因此,本文采用STC89C52单片机设计了一种便携式数字频率计,它较好地克服了传统频率计存在的不足,提高了频率测量精确度,该频率计具有适用范围广,产品体积小巧,测量准确,便于携带等特点。
为减小量化误差,一般采用测频法测量高频信号,采用测周法测量低频信号[3]。对于频率范围在1 Hz~20 MHz的信号,采用测周法更为准确。设计要求具体如下:
(1)测量信号:方波,正弦波和三角波等周期信号;
(2)测量范围:1 Hz~20 MHz;
(3)显示范围:8位数值。
电路由信号采集模块、脉冲产生模块、分频模块、单片机系统和输出显示模块组成,经信号采集与放大后的被测信号,从施密特反相器74HC14输入后触发并反相,将放大的被测信号整形为平滑、没有毛刺的信号,当频率过大时再通过分频电路进行分频处理,后经单片机STC89C52脉冲计数,最后显示在液晶显示屏LCD1602上。系统原理框图如图1所示。
图1 系统原理框图
频率计原理如图2所示。被测信号从P1输入,将微弱频率信号通过电容耦合、三极管2SC3355放大电路放大到可检测到的信号。经放大后的信号进入74HC14施密特触发反相器,对不同的波形进行变换,变换成稳定清晰、平滑的脉冲信号。若该信号频率大于20 kHz,进入计数器74HC390进行100分频。未经分频的脉冲信号进入单片机的定时/计数器0,而100分频后的脉冲信号进入单片机的定时/计数器1,经软件算法量程自动切换处理,换算出真实数值,输出待测信号频率数值,最后通过LCD1602液晶显示器显示测量值,显示的最高位为8位,频率单位为Hz。实际上,被测信号在整形之前,信号频率未知,有时无法采集到微弱信号,而单片机STC89C52对输入电压要求很严,达到一定范围的电平值才能够导通[4],因此,要确保合适的信号输入,需调节放大器的增益,放大微弱信号,衰减强信号。由于单片机只能辨识采样信号,也只能对脉冲波形进行计数,而实际的被测信号往往可能是三角波、正弦波等,为提高波形的平滑度、减小毛刺,需对这类信号整形处理,以减小测量误差。可在放大电路后加上整形电路,利用施密特触发器将边缘平滑,将待测信号变换成相同频率的脉冲波后计数。
图2 频率计原理图
输入正弦波时的一组测量结果见表1所列。测量结果与实际值接近,测量误差很小,表明所设计的频率计符合要求。
软件系统设计部分通过模块化实现,包括初始化模块、频率测量模块、量程自动切换模块以及显示模块等。软件编程采用功能强大、兼容性强的C语言实现[5]。分频器,寄存器,中断控制,量程档位,显示器和计数/定时器等通过初始化模块进行初始化。其中起到初始化作用的是初始化定时器0和计数器1,当脉冲信号分别经过初始化定时器0和初始化计数器1时,信号每下降一次就会触发一次计数器1,执行一次中断处理,在中断处理程序中就会相应的加1次,如果用下降沿次数Cnt来表示,即Cnt+1。与此同时,每50 ms触发一次定时器0,对下降沿次数进行计数处理,如果数据大于20 kHz,即转入量程自动切换模块,自动切换量程后,算上100分频后作为最后的数据,计算出信号频率的实际值,输入到显示模块,表示数值。主程序流程如图3所示。
焊接是工艺设计中的重要环节,应保证焊接工艺质量,优化排版布局,减小焊接过程对元器件的损伤[6]。同时尽可能减少程序调试,达到理想的指标和要求。首先,焊接输入波形的整形放大电路,通过示波器观察输入波形和输出波形,若波形出现偏差,检查各元器件引脚焊接是否存在“虚焊”现象,或者引脚连接是否正确,发现问题,及时调整,直至出现正确的波形;其次,焊接分频电路和显示电路接入函数信号发生器,调节频率为1 Hz~20 MHz范围内的方波、三角波、正弦波,观察显示是否正确,若不正确,重新调试;最后将两部分电路连接起来再调试,多次复测,直至出现正确结果。在Proteus中绘制仿真图,若输出准确波形,则说明电路符合设计要求,再绘制电路原理图,最后用Keil软件进行软件编程及调试,直至出现正确结果[7]。
图3 主程序流程图
表1 正弦波的测量值
本文基于STC89C52单片机设计的频率计适用于多种场合,可准确测量常见波形的频率值,具有高精确度,操作简单,显示速度快,自动测量等优点。虽然可测量1 Hz~20 MHz之间的频率,但仍存在一定的局限性,当测量频率接近20 MHz时,误差增大,还需改进。
[1]吴佳军.简易数字频率计的设计分析[J].无线互联科技,2017(15):69-70.
[2]李朝阳.数字频率计的设计与实现[J].电子测试,2017(14):5-6.
[3]张国勤.基于单片机与FPGA的等精度频率计设计[J].四川兵工学报,2015,36(12):85-88.
[4]宋璐,卫亚博,冯艳平.基于单片机的数字频率计的设计和仿真[J].电子设计工程,2017,25(1):140-142.
[5]张玉叶,郗艳华.一种100 MHz数字频率计的设计与实现[J].陕西理工学院学报(自然科学版),2016,32(4):11-16.
[6]张楠楠,陈龙,郭恒哲,等.基于FPGA的多功能数字频率计的设计与实现[J].电子世界,2016(12):50-51.
[7] 高香梅,刘春梅.基于Proteus和Keil的仿真技术在单片机教学中的应用[J].电子世界,2017(7):88-90.
[8]章津楠,张长胜,郭清成.一种简单方法实现基于STC89C52RC单片机的频率计[J].福建电脑,2009,25(1):160-161.