×
单片机 > 单片机程序设计 > 详情

基于单片机的等精度频率计设计

发布时间:2020-06-15 发布时间:
|

0 引言
随着微电子技术和计算机技术的迅速发展,特别是单片微机的出现和发展,使传统的电子测量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代测量仪器。频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。传统的频率计测量误差较大,等精度频率计以其测量准确、精度高、方便等优势将得到广泛的应用。
传统的测频方法有直接测频法和测周法[1],在一定的闸门时间内计数,门控信号和被测信号不同步,计数值会产生一个脉冲的误差。等精度测频法采用门控信号和被测信号同步,消除对被测信号计数产生的一个脉冲的误差。等精度频率测量方法消除了量化误差,可以在整个测试频段内保持高精度不变,其精度不会因被测信号频率的高低而发生变化。采用单片机作为控制核心的等精度频率计,可以充分利用单片机软件编程技术实现等精度测频。通过单片机对同步门的控制,使被测信号和标准信号在闸门时间内同步测量,为了提高精度,将电子计数功能转为测周期,采用多周期同步测量技术,实现等精度测量。
1等精度频率计的测量原理
1.1等精度频率计的测量原理

基于传统测频原理的频率计的测量精度将随被测信号频率的变化而变化。传统的直接测
频法其测量精度将随被测信号频率的降低而降低,测周法的测量精度将随被测信号频率的升高而降低,在实用中有较大的局限性,而等精度频率计不但具有较高的测量精度,而且在整个频率区域能保持恒定的测试精度。
等精度频率的测量原理图1所示[2]。频率为fx的被测信号经通道滤波、放大、整形后
输入到同步门控制电路和主门1(闸门),晶体振荡器的输出信号作为标准信号(时基信号)输入到主门2。被测信号在同步控制门的作用下,产生一个与被测信号同步的闸门信号,被测信号与标准信号(时基信号)在同步门控制信号的控制下。在同步门打开时通过同步门分别输入到事件计数器和时间计数器的信号输入端,计数器开始计数。同步门关闭时信号不能通过主门,计数器停止计数,单片机发出命令读入计数器的数值,并进行数据处理,将处理后的结果送显示。
等精度频率测量方法是采用多周期同步测量。如图1的测量原理图所示由单片机发出预置门控信号GATE,GATE的时间宽度对测频精度影响较少,可以在较大的范围内选择,即在高频段时,闸门时间较短;低频时闸门时间较长。实现了全范围等精度测量,减少了低频测量的误差。
在同步门的控制下,一方面保证了被测信号和时基信号的同步测量;另一方面在同步门打开后计数器并不是马上计数,而是在被测信号的下一个上升沿开始计数,同步门关闭后计数器也不是马上停止计数,而是在被测信号的下一个上升沿停止计数。即在实际闸门时间计数,从而提高了测量精度。
由于采用D触发器实现的同步门的同步作用,事件计数器所记录的Nx值已不存在误差的影响,但由于时钟信号与闸门的开和关无确定的相位关系,时间计数器所记录的N0的值仍存在±1误差的影响,只是由于时钟频率很高,误差的影响很小。所以在全频段的测量精度是均衡的,从而实现等精度频率测量。
1.2  等精度频率计计数测量误差

2 等精度测频的硬件电路设计及测量过程[page]

2.1  硬件电路设计
等精度测频的硬件电路如图2所示[3] [4],其主要由以下几部分组成:单片机控制部分、同步门控制电路、计数和键盘与显示电路。单片机控制部分主要完成测量过程的控制、测量结果的处理和显示。单片机选用AT89C52,其中P1.0用于控制同步门D触发器74LS74 产生同步的闸门信号,P1.2用于对74LS393组成的计数器清零,一次计数完成后单片机通过控制两片74LS244读取被测信号与标准信号的低8位计数值,高位计数值在单片机的T0、T1中。然后单片机对计数值进行运算处理,并送出显示。AT89C52 P1.3、 P1.4、 P1.5和 P1.6用于和串行接口8位LED数码管及键盘控制芯片HD7279A的连接,控制和管理键盘及显示。同步门控制电路主要由D触发器74LS74(同步门控制)、六反相器74LS04和二输入或非门74LS02组成(主门1、主门2)。主门1控制被测信号fx的通过,主门2控制时钟信号f0的通过,两门的启闭都由同步门控制电路控制。计数器包括事件计数器和时间计数器两部分,它们是两组完全相同的计数电路。分别由前后两级组成。前级由双4位异步计数器74LS393级联构成八位二进制计数器;后级由AT89C52单片机内的定时/计数器构成十六位二进制计数器。标准信号部分采用10MHz石英晶体振荡器来提供测量所需要的标准脉冲信号。键盘与数码显示部分采用串行接口方式8位LED数码管及64键键盘管理芯片HD7279A与单片机连接,驱动八位LED共阴极数码管和键盘接口,键盘与数码显示部分主要完成测量功能的选择和测量频率的数据显示。
2.2  测量过程
AT89C52单片机的P1.3引脚发出复位信号,使两个计数器清零,同时P1.1也发出复位信号,使同步门控制器的端为低电平,则主门1和主门2都关闭。这时P1.0的初始状态为“1”,使D触发器的D端为高电平。根据D触发器的功能,端与D端的逻辑状态不同,触发器处于闭锁状态,这时被测信号即使到达CK端,也不能使其触发翻转,保证了同步门可靠关闭。AT89C52单片机的P1.0从高电平跳到低电平,使D触发器的D端为“0”,这样端与D端的逻辑状态相同,触发器解除闭锁,这时被测信号一旦到达CK端,触发器立即翻转,由“0”变为“1”,于是同步门被打开,被测信号和时间信号分别进入到相应的计数器进行计数。P1.0从高电平跳到低电平的同时,也启动了计时系统开始计量闸门时间。当预定的闸门时间结束时,使P1.0又从低电平恢复到高电平,D触发器再次解除闭锁。随后紧跟而来的被测信号再次触发D触发器使之翻转,端由高电平转为低电平,使同步门关闭,计数器停止计数。

[page]

3 软件设计
系统软件的设计主要是和硬件电路相结合,正确地实现等精度测量。整个系统软件的设计采用了自顶向下的模块化的结构方式,将各个功能分成独立模块,由系统的程序统一管理执行。它主要完成各种功能,如测量、 数据运算、显示等。如图4所示为频率测量主程序流程图,在计数前对计数器清零。然后,发出命令打开闸门进入闸门时间,计数器在闸门时间内计数。延时子程序结束后,发出命令关闭闸门使计数器停止计数;单片机再依照程序读取计数器的值,并与单片机内部计数器所计的值合并在一起。由公式(1),即被测频率fx=f0×Nx/N0来进行运算,由于精度要求,Nx和N0都由24位二进制数来计数。因此,要在单片机内部进行多字节无符号二进制数的乘法和除法运算,并将运算结果转换成BCD码,显示运算结果。
4 结束语
本文作者创新点:采用单片机AT89C52作为系统控制单元,辅以适当的软、硬件资源完成以单片机为核心的等精度频率计设计,实现频率的等精度测量。设计采用标准时基信号为10MHz,也可以在晶振部分加一分频电路,根据不同的被测频率调整不同的标准信号频率;等精度频率计不仅可以测量频率,还可以测量周期、相位[5]和用于计数,只要编写相应的程序变可实现相应的功能。经过实验测试后,等精度频率计运行可靠;该等精度频率计可用于工程领域的高速计数场合,预计可以产生20万元左右的经济效益。

 

 

关键字:单片机  等精度频率计 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析