1 引 言
本设计目的在于测量出任意两相同频率正弦信号之间的相位差,并将测量结果以数字形式显示出来。具体实现方法为:先通过比较电路将两路同频信号分别转换为相应的脉冲信号,然后将其中的一路信号通过反相器取反后与另一路信号相与,得到一等脉宽的脉冲波形,此脉冲波形的脉宽t,即表示两信号的相位差。将原信号对应的任意一路脉冲信号(周期为T)倍频后,作为单片机计数器的计数脉冲,并对相位差脉冲记数,得记数值为W。设倍频电路的倍频系数为A,则记数脉冲周期为T/A,可得到两信号相位差角计算公式如下:
其中N=360/A,N为常数,是相位测量系统的最小精确度。
经过单片机系统编程即可实现此简单运算式,并将运算结果Q送LED显示。原理框图如图1所示。
2系统硬件电路原理分析与设计
整个系统硬件电路由比较整形电路、倍频电路、单片机AT89C51及显示电路组成。
2.1比较整形电路
电路采用电压比较器LM339。LM339内有4个电压比较器,取其中的两个比较器即可。两路信号分别接两个比较器同相输入端,将反相输入端接地,即构成过零比较电路。两比较器输出即转换为脉冲信号。将其中一路脉冲通过反相器CC4069取反后与另一路信号通过与门CC4081相与,可得一等脉宽的脉冲信号,此脉宽即记载着两输入信号之间的相位差,我们称之为相位差脉宽。转换过程见图2。
2.2倍频电路
由相位差计算公式可知,倍频系数A越大,测量精度就越高,测量越准确。本电路采用A=720的倍频电路,因此相位测量精度为N=360/720=0.5°,可以满足实际需要。倍频电路由锁相环集成电路CC4046和双BCD(Binary-Coded DecimalNotation)同步加法计数器CC4518组成。电路框图如图3所示。
两片CC4518双BCD同步加法计数器分别实现10分频和72分频。分频器的输出信号与锁相环的输入信号fi相一致时,锁相环芯片锁存输出的信号频率为fo=Afi,从而实现倍频。假如输入信号频率fi=50Hz,则输出频率fo=36kHz。
2.3单片机处理及显示电路
本系统数据处理和显示控制采用AT89C51单片机。原理简图如图4所示。
单片机需要处理2路输入脉冲,分别为相位差脉冲和经过倍频电路得到的计数脉冲。要求在相位差脉冲为高电平时对记数脉冲进行计数,并对计数值进行软件处理并予以显示。因此,可将相位差脉冲作为计数器工作的门控脉冲,从AT89C51的P3.2/INT0管脚输入,而将计数脉冲从P3.4/T0管脚输入,这样,门控制位GATE0使定时器T0的启动计数受INT0的控制。当GATE0和TR0均为1时,只有引脚P3.2/INT0输入为高电平,T0才允许计数。利用GATE0的这个功能,可以方便地检测出相位差脉宽的外部记数脉冲值W。
根据计算公式Q=W×N=0.5W即可求出相位差值。将数据Q送显示电路显示,由于相位差值Q的范围为0~180°,考虑到可能有一位小数位(W为奇数时),因此采用4位8段LED数码管显示。设计中将AT89C51的P0口作为8段显示的段选位,P0.0~P0.7分别对应数码管的a b c d e f g h段。将P2口作为位选位,P2.0~P2.3分别对应从高到低的4位数码管位选端,采用动态扫描显示技术。由于该种显示电路较为简单,在此不再赘述。
当单片机定时器/计数器用作计数器,来自相应的外部输入引脚T0或T1的计数脉冲信号产生由1至0的跳变时,计数器的值增1。由于确定一次下跳变要花2个机器周期,即24个振荡器周期,因此,外部输入的计数脉冲最高频率为振荡器频率的1/24。此系统采用6MHz的晶体振荡器,可以计算出被测信号可达到的最大频率为:6000000/24/720=347 Hz。因此,此系统可测量的输入信号频率范围为:0~347Hz。
3软件设计
本系统软件主要是对相位差脉冲进行计数,并对数值进行换算处理,同时在显示器上显示出相位差的度数值。系统软件流程框图如图5所示。
4结束语
此系统可以测量一定频率范围内两同频正弦信号之间的相位差,并能达到一稳定的测量精度(0.5°)。在实际应用中,可以通过增加倍频电路的倍频系数来提高测量精度,单片机系统可采用更高的晶振频率来增加频率测量范围。