新闻中心

EEPW首页 > 测试测量 > 设计应用 > 填充计数式相位测量的分析与实现

填充计数式相位测量的分析与实现

作者:时间:2012-11-09来源:网络收藏
一. 填充计数测量相位的原理

要获得两个同频信号间的相位值有多种实现方法。较为常用的一种是采用过零鉴相法,这种方法的基本要点是:将两个同频被测信号整形为两个方波信号,其前后沿分别对应于被测信号的正向过零点和负向过零点,然后测量出这两个同频方波的前沿(或后沿)之间的时间差比例,即为这两个被测信号之间的相位差,简称相差。

而要获得这个时间差比例,通常采用填充计数法,其基本原理见图1,设A,B为两路同频待测的正弦波信号,两信号经整形后形成A'和B'两路方波,若A'的两个前沿之间(一个信号周期)的的个数为N个,A'与B'的两个相邻前沿之间的的个数为n个,则A,B两路之间的相位差为:

n/N * 360° (1)

二.频率与相位计算精度的关系

从上述方法测量相位的原理来看,要获得两个同频信号间的相位差,只要获得两个计数值N和n,通过(1)式计算即可。那么相位计算的分辩率就为3600/N ,也就是表示相差的最小单位。当被测信号的频率一定时,计数脉冲的频率就决定了的精度。如在一个信号周期内所获得的计数脉冲的个数为360个,则获得相差的最小单位是3600/360=10(可看作是每个脉冲代表10)。若在一个信号周期内所获得的计数脉冲的个数为3600个,则获得相差的最小单位就为3600/3600=0.10(可看作是每个脉冲代表0.10)。由此可见在一个信号周期内所获得的计数脉冲的个数越多,则获得相位差的最小单位也就越小,精度也就越高。要达到0.10以上的精度,则计数脉冲的频率必须是被测信号频率的3600倍以上。设被测信号频率为fx,计数脉冲频率为fa ,则设计时应满足:

fa>3600×fx (2)

三.利用MCS-51系列单片机片内资源实现的分析

由于需要进行计算,目前市场上流行的相位表,多数为单纯利用MSC─51系列机片内资源实现计数与计算。在典型的MSC-51系列单机片内,有2个16位的定时/计数器(CTC0,CTC1),5个中断源,时钟频率为3.8-12MHz ,这些都为实现相位差的测量与计算提供了一定的硬件基础。可利用片内2个定时/计数器,(CTC0,CTC1)分别记录前面所述的N和n的计数值。将CTC0,CTC1设置为定时方式(计片内机器周期数)。两个外部中断INT0,INT1,设置成下沿触发方式,并将上述A',B'两个方波信号接至INT0,INT1的输入端。利用INT0和INT1的中断服务程序来控制CTC0,CTC1的启动与停止,以此来获取N和n的计数值。

由于MCS-51系列单片机的最高工作频率为12MHZ,故CTC0,CTC1的最高计数频率为1MHz。16位字长的CTC0和CTC1计数范围是0ー65535。对于1MHz的计数频率而言,输入信号的频率响应范围的下限是:在一个信号周期内CTC的计数从零计到最大65535,而每一计数脉冲的周期是1μS(1MHz的计数脉冲)。故CTC从零计到最大值所需时间是:65535 * 1μS=65535μS,因而,输入信号的最低频率约为1/0.065535=15.26Hz。频率响应的上限是:虽然在一个信号周期内CTC的计数值大于零即可计算,但为了使计算结果具有足够的精度(至少0.10),故记录N值的CTC在一个信号周期内的计数值必须大于3600(因3600/3600=0.10)而CTC从零计数到3600所需时间为3600*1μS=3600μS。由此可得输入信号的最高频率约为1/0.0036=277.78Hz。

在最高的输入信号频率下,每一个计数脉冲即代表0.10机器每多计或少计一个脉冲就意味着带来一个0.10的误差。另外由于CTC的启停是由中断服务程序来控制的,那么CTC启停时刻不能绝对代表信号的下沿时刻,故误差是不可避免。当信号频率较低时,其误差尚可忽略。当信号频率越接近最高响应频率,其单片机所带来的误差就越不可忽略。以这样的方式构成的相位计,实际上的最高响应频率仅在100Hz左右。

四.高频计数的实现

从以上分析得知,若仅利用单片机的资源来实现相差的测量,是无法以高精度测得较高频率信号的相位差的。其关键所在是计数频率已无法再提高。鉴于这点笔者考虑到不用单片机内部的CTC计数,而是采用廉价的74系列芯片搭成高速计数,锁存电路。当计数值锁定这后,再读入单片机进行计算和显示。

具体实现的电路图如图2所示。高速计数器由4片74LS191串联组成16位计数器。计数脉冲的输入由一个触发器控制,触发器设计成自锁式,即由被测的周期信号A'锁定一个完整的信号周期后,封锁计数脉冲的输入 ,不再响应后一个周期,待单片机处理完该周期内的数据后,由单片机先对计数器清零,然后解除触发器的封锁,系统才继续采集下一个信号周期的数据。周期计数锁存器(记N值)由74LS373(U8),(U7)组成,相差计数锁存器(记n值)由74LS373(U6),(U5)组成,其中(U5),(U7)锁存低8位数据,(U6) ,(U8)锁存高8位数据,当A'信号的上沿来临时,由触发器打开U10门,开始计数。当B' 信号的上沿来临时,锁存U6,U5(获得n值)。当A'信号的上沿再次来临时,锁存U8,U7(获得N值)。并封锁触发器。通知单片机依次读入U5,U6,U7,U8的锁存值进行计算。高频振荡源采用高精度晶体振荡器,以提供高精度的计数脉冲。

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭