智能频率时间相位测量仪.docx
- 文档编号:25468286
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:25
- 大小:531.95KB
智能频率时间相位测量仪.docx
《智能频率时间相位测量仪.docx》由会员分享,可在线阅读,更多相关《智能频率时间相位测量仪.docx(25页珍藏版)》请在冰豆网上搜索。
智能频率时间相位测量仪
智能频率—时间—相位测量仪
1功能
电子技术中。
周期性信号是普遍存在的,测量这些周期性信号的基本参数的仪器是电子测量仪器中的重要分支。
正弦型周期性信号是模拟电子技术中最常见的,频率(或周期)、振幅和相角(或两个信号间的相位差)是正弦信号的3个基本参数。
对于其他形式的周期性信号,除了信号幅值外,还经常要求测量它们的时间参数,如周期、脉冲宽度、脉冲占空比等。
本节介绍的是一种以8032单片机为核心的,用于测量频率(周期)、时间间隔和相位差的智能仪器。
它充分发挥了8032中的3个定时/计数器的作用,并利用了单片机的运算和控制功能,是一台价格低廉、功能多样,量程宽广、精度适中的智能仪器。
2测量原理
2.1频率测量
在以微处理机为核心的智能仪器中,频率测量和周期测量是可以互通的,频率与周期互为倒数,而倒数计算对一般CPU而言是轻而易举的事。
图1频率测量基本原理
频率测量的基本原理见图6-14。
按定义可知,频率是单位时间内周期信号的发生次数。
图中参考晶体振荡器提供了测量时间基准。
晶振的输出经放大整形和分频后,通过控制电路去开启或关闭时间闸门。
闸门开启时间内,被测信号经放大整形后通过闸门进入计数器,进行计数;闸门关闭时,计数器停止计数。
闸门开放时间t。
=M*TR=M/fR,其中,M为分频器的分频系数,TR、fR为参考晶体振荡器的振荡周期和频率。
若计数器的计数值为N,则得被测频率f为:
式中fR/M或tG为时间闸门开放时间,是一个常数,故计数器的计数值N与被测频率成正比。
这种频率测量原理,对于较低频率的被测信号来说,存在着测量实时性与测量精度之间
的严重矛盾。
由式(6-1)可知,分频系数M是没有误差的(只要电路正常工作),频率测量误差将由下列两个因素造成:
l)计数误差;2)参考晶振的误差。
事实上,从式(6-1)可得:
为了减小第2项误差,应采用高精度的参考晶体振荡器。
对于第1项误差,ΔN是计数绝对误差,其最大值可达±1,为了减小ΔN/N,必须增大N。
N的大小取决于两个因素:
阀门的开放时间和被测频率的高低。
闸门开放时间愈长(在fR不变的条件下,要求分频系数愈大)和被测频率愈高,则计数值N愈大。
若被测频率很低,为达到一定的测量精度,就要求闸门开放时间很大,也就是测量的过程时间很长,往往超过用户所能容忍的程度。
例如,设被测频率为lOHz时,频率测量的精度要求为±0.01%,求最短的闸门开放时间。
解:
由式(6-2),略去△fR/fR项,得
N=ΔN*f/△f=1/0.0001=10000
由式(6-1),得闸门开放时间
tM=N/f=1000秒
这样长的测量时间是根本不能接受的。
上例说明了频率测量法不适于低频测量。
现将上例中的被测频率改为10MHz,为保证同样的精度,要求闸门开放时间仅为1ms,说明了频率测量法适于高频测量。
2.2周期测量
图2周期测量基本原理
周期测量的基本原理见图6-15。
对照图6-14可以发现,频率测量与周期测量的电路基本结构是相同的,只是把晶体振荡器产生的基准信号与被测信号的位置互换了一下。
我们得到被测周期T与计数器计数值N之间的关系式:
式中TR为晶体振荡器的振荡周期.M和f。
(或T。
)为常数,故计数器的计数值N与被测信号周期成正比,N反映了M个信号周期的平均值。
利用周期测量法,在一定的信号频率X围内,通过调节分频系数M,可以较好地解决测量精度与实时性的矛盾。
由式(6-3)可得误差公式:
式中第2项误差取决于晶体振荡器的稳定度,第1项为计数器的量化误差,ΔN=±l,故该项主要取决于N的大小。
在平均周期测量法中.N值的大小与测量时间的长短成正比,而期望的N值大小可根据测量精度要求而定。
假定分配给ΔN/N项的允许误差为±0.001%,则N=100000,在TR选定的情况下,测量时间=100000TR,若TR=2μS,则测量时间=0.2s。
对于不同X围的被测周期信号,可以通过调节分频系数M的大小,达到相接近的测量精度,也就有相接近的测量时间,而不象频率测量法那样,在低频信号X围内,为了达到足够的精度,其测量时间
将漫长得不可容忍。
当然,对于频率很高的信号,利用周期测量法,就需要采用很大的分频系数,大大增加了硬件的复杂性。
故对于高频信号宜采用频率测量法。
上面只是在理想状态下比较两种测量方法的利弊。
但从实际的角度,我们还要考虑其它的因素。
比较图6-14和图6-15可知,频率测量法中,时间闸门由内部参考晶体振荡器控制,只要晶振稳定度高,其他一些干扰因素容易得到控制,时间基准就可以定得很准。
周期测量法中,时间闸门由外部被测信号控制,被测信号的直流电平,波形的陡峭程度和噪声的叠加情况难以预测,而这些因素都会影响开放和闭合闸门的时间,造成测量误差。
2.3时间测量
时间测量广泛应用于脉冲信号测量中,如测量脉冲周期TP、脉冲宽度Tw、占空比(Tw/TP),两个脉冲序列的时间间隔tAB,脉冲上升时间等,如图6-16所示。
周期测量法已在前面游过,事实上,其他时间间隔测量法都类同于周期测量法,只要在图6-15的基础上增加一个信号通道即可,如图6-17所示。
在图6-16的每个波形中,我们都注有符号A(或V。
)和B(或VB),它们分别对应于图6-17中的信号通道A和通道B。
A和B在同一波形中,表示两个通道接同一个信号。
脉冲占空比是脉冲宽度与周期之比,分别测得这两个参数,再加以简单的计算,即可得到占空比。
(a)
(b)
(c)
(d)
(e)
图6-16时间间隔测量波形图
(a)两信号间的时间间隔测量之一;(b)两信号间的时间间隔测量之二;
(c)脉冲周期测量;(d)脉冲宽度测量;(e)脉冲上升时间测量
图6-17时间间隔测量基本原理
为了测量脉冲上升时间,就要求电路中具有触发电平选择功能,本电路方案中不具备此功能。
2.4相位测量
相位是指两个同频率的正弦信号间的相位角之差。
我们可以把相位测量转换为时间的测量:
先把正弦波信号放大整形,变为边沿陡峭的方波,然后测得波形的周期T和两个方波前沿之间的时间差TΦ(见图6-18),得相位差Φ为:
图6一l8相位测量
3方案设计
8032单片机内部有3个定时/计数器,这些定时/计数器有多种工作模式和控制方式,可以靠软件对它们进行读和写,为实现上述测量方案提供了充分的手段。
3.1频率测量法
采用频率测量法时,可用8032中的定时/计数器2(T2)和辅助的软件计数器产生时间基准信号,而用定时/计数器0或1(TO或T1)加上外扩计数器作为被测信号的计数器。
T2和软件计数器相当于图6-14中的分频器,分频系数靠软件设定。
TO(或Tl)和扩展计数器相当于图6-l4中的计数器。
图6-19是工作于定时器方式下的T2的逻辑图,由TH2和TL2构成16位计数器,计数脉冲由内部晶体振荡器产生(设置C/T2=O),当晶振频率为12MHz时,计数脉冲周期为1μs,故最大定时时间为216=65536μs,对于频率测量而言,这一时间太短,故需加一辅助的软件计数器。
若定时器T2的定时时间为0.05s,用一个字节单元作为软件计数器,则最多可定时0.05×255=12.75s。
T2具有16位捕获和自动重装载的能力,我们利用它的重装载能力(设置CP/RL2=O),可以提高定时的精度。
由于T0或T1都是16位的,直接用它们作为被测信号计数器,则其精度不可能高于l/216=0.0015%,对于频率测量而言,这样的精度仍嫌不够;而且,直接用TO或T1计数,则信号频率不能高于500kHz,这是由8032的硬件内部结构决定的。
因此,我们在TO或Tl的基础上外扩了8位计数器,与内部的16位计数器串联工作,这时被测频率可达l00MHz以上。
与此相适应,我们选用2片可预置的4位二进制计数器74S197作为扩展计数器,它的上限计数频率为1OOMHz。
本仪器方案的上限频率受此限制。
若要提高仪器的上限频率,必须选用更高速的扩展计数器,但同时也要增加扩展计数器的位数,否则会超过8032中TO和T1的上限计数频率(500kHz)。
我们选取TO或T1工作于模式1(TMOD寄存器中M1=O,MO=1),计数器方式(C/T=1)。
若同时利用TO和T12个通道,则可同时测量2个信号频率,并计算出2个信号的频率比。
频率测量过程如下:
1)设置T2、TO(T1)和扩展计数器的初始状态,清除所有计数器;
2)启动T2、T0(T1)和扩展汁数器,T2开始计时,TO(T1)和扩展计数器开始计数;
3)T2定时时间到,申请中断,立即关闭TO(Tl)和扩展计数器,停止计数,CPU读取计数值;
4)根据T2的定时时间(相当于图6-14中闸门开放时间)以及TO(T1)和扩展计数器的计数值,算出信号频率值。
若测量频率比,则计算频率比。
图6-19工作于定时器方式下的定时/计数器2
3.2周期测量法
周期测量中,利用TO(或T1来测定信号周期数,它相当于图6-15中的分频器,分频系数靠软件设定;用T2作为参考晶体振荡器的计数器,T2相当于图6-15中的计数器,计数器的启停受被测信号的控制。
TO(或T1)仍工作于模式1,为16位计数器方式,分频系数可在宽阔的X围内调节(由1~65535),因此可适应很宽的测量X围。
T2工作于定时器方式,但T2是16位的,将限制周期测量的精度。
为此,我们仍利用一个字节单元作为T2的扩展软件计数器。
周期测量的逻辑电路见图6-20。
被测信号经放大整形后变成边沿很陡的方波脉冲。
在软件的控制下,同时启动TO(或Tl)和T2,信号脉冲进入TO(或T1),开始计数。
在信号的下降沿,使TO(或Tl)计数器翻转,还通过定时计数器T2的控制端T2EX,使T2产生捕获操作(发生于T2Ek端信号负跳变时),读得T2的初值。
TO(或T1)溢出中断后,再靠软件读取T2的和扩展软件计数器的终值。
本系统可以同时测量两个信号的周期,一个信号接到TO输入端,另一个接到T1输入端。
T2的作用不变。
双通道周期测量的逻辑电路图示于图6-21。
初始状态,两个D触发器被置1,数据端设置为0。
测试过程中,T2连续计数,在B通道或C通道的信号的下降沿,T2EX(P1.1)端出现负跳变,T2产生捕获操作(TH2和TL2的值被自动读入到RCAP2H和RCAP2L寄存器)。
同时标志EXF2置1,申请中断。
在中断服务程序中通过Pl.2和Pl.4读入2个D触发器的状态,判断是A信号还是B信号的上升沿,以便把RCAP2H和RCAP2L中的值放置到相应的缓冲区内,作为计数器的初值,两个信号通道对应有两个初值。
在中断服务程序中还应把相应的D触发器置1,
图6-20周期测量的逻辑电路
以便在另一通道信号下降沿时,在T2EX端仍能产生负跳变。
TO或T1溢出中断后,再读取相应的计数器(包括T2和扩展软件计数器)终值。
令Ni0和Ni1为A和B通道所对应的计数器的初值,Nt0和Nt1为A和B通道所对应的计数器的终值,则
No=Nt0-Ni0为A通道信号周期所对应的计数值。
N1=Nt1-Ni1为B通道信号周期所对应的计数值。
图6-21双通道周期测量的逻辑电路图
若DTo和DT1分别为TO和Tl的预置值,则两个通道的分频系数为216一DTo和216-DTl,因此,A通道和B通道测得的信号周期分别为:
和
式中t2为T2计数脉冲周期,当晶体振荡器频率为12MHz时,t2=1μS。
3.3时间间隔的测量
时间间隔的测量波形参见图6-16。
对于图6-16(e)所示的脉冲周期测量,与正弦信号周期测量并无两样,不再另述。
对于图6-16(e)所示的脉冲上升时间的测量,本仪器方案中无此功能。
这里只介绍图6-16(a)、(b)和(d)所示的波形的测量。
1)两信号之间时间间隔的测量
两信号之间的时间间隔的测量,可以利用双通道周期测量的部分电路(见图6-21)。
对于图6-16(a)所示的波形,波形VA和VB反相后加到图6—21所示的A通道和B通道;则VA上升沿(反相后为下降沿),在T2EX端出现负跳变,捕获T2的初值N2A;VB上升沿(反相后为下降沿),在T2EX端再次出现负跳变,捕获T2的终值N2B。
则所测时间间隔为△T=(N2B-N2A)t2,t2为T2的定时脉冲周期。
上面讲的是直接测量两个信号序列的相邻两个波形上升沿之间的时间间隔。
为了提高测量的精度,可以连续测量多次时间间隔后,再取平均值。
若取N次平均值,则
其中N=216-DT,DT为T0和Tl的预置值。
在平均值测量中,要反复捕获T2的计数值。
对于图6-16(b)所示的波形,测量方法类同,只是把波形VB反相后加到图6-21所示的B通道。
而把VC,直接加到C通道。
从式(6-7)可知,时间间隔的测量精度和信号频率X围主要受t2的制约。
8098的晶振频率为12MHz时,t2为1μs。
显然,这种方案不适于高频信号序列的测量。
要测量高频信号序列的时间间隔必须增加硬件开销,如增加高频晶体振荡器,T2扩展高频计数器及用相应的读写电路等。
2)脉冲宽度的测量
对于图6-16(d)所示的波形,即单脉冲宽度,测量方法比较简单。
我们可以充分利用定时计数器T1(或TO)的结构特点,如图6-22所示。
图中TR1(或TRO)和GATE是软件控制位,INT1(或INTO)是外部引脚。
T1计数器内部控制开关的选通条件是:
(TR1=1)AND(GATE=00RINT1=1)
若TR1=1和GATE=1,则T1是否计数,取决于INT1引脚的信号,当INT1由0变1时,开始计数.当INT1由1变O时,停止计数。
这样就可以测量在INT1端出现的正脉冲的宽度。
若要测量负脉冲宽度,则只要把被测信号反相后接到INT1端。
脉冲占空比是脉冲宽度与周期之比,因此分别测得脉冲宽度与周期之比,即可算得占空比。
3.4相位测量
相位可按式(6-5)算得,式中T按周期测量法测得,TΦ按两个信号前沿之间的时间间隔测得,因此毋须增加新的硬件开销。
图6-22定时计数器1(或O)的操作模式1:
16位计数器
4系统电路原理
图6-23示出了智能频率—时间一相位测试仪的电路图。
系统由下列基本部分组成:
4.1单片机最小系统
由单片机8032,地址锁存器74LS373和EPROM2764组成。
8032包含256字节的内部数据存贮器。
本系统已够用。
不必加外部扩展RAM。
4.26位静态LED显示电路
8032中的3个定时计数器已全部用于测量,很难用于实现动态扫描所需的定时功能,故本系统采用静态显示方式。
用静态显示方式,显示不会闪烁,软件设计简单,要求的段驱动器驱动能力低。
本系统LED的驱动电流由6片串入并出的移位寄存器74LS164提供,74LS164能提供8mA的低电平输出电流。
基本可以保证静态显示LED的亮度。
6片74LS164串级后与8032的串行口相连。
串行口工作于操作模式0,即作同步移位寄存器用。
6个字节的显示字形数据的传输过程极快(波特率为1M位/秒),人眼是感觉不出来的。
6位带小数点的7段LED显示器只用于显示被测量的数值。
频率和周期的单位靠另外4个发光二极管指示,它们分别表示kHz、ms、×103和×10-3。
因此,除了6位数值的小数点可变之外,显示单位还可有不同的组合:
×103kHz,kHz,×l0-3kHz和×103ms,ms,×10-3ms足以适应极宽阔的测量X围。
脉冲占空比和相位差的显示单位是隐含的,前者为百分比、后者为度。
kHz、ms、×103和×10-3四个单位发光二极管由8032经锁存器74LS374(U20)提供信号。
4.3功能选择开关扫描电路
系统可配置16个功能选择开关,CPU采用扫描方式读取开关值,P1.6和P1.7为扫描线,开关值经74LS244由总线(PO口)读入。
本系统用到的l4个功能开关为:
fA、fB——A通道和B通道周期测量
TA、TB——A通道和B通道周期测量
PWA、PWB——A通道和B通道脉宽测量
PDCA、PDCB——A通道和B通道脉冲占空比测量
fX/fB——A通道和B通道的频率比
TA/TB——A通道和B通道的周期比
TA_B,TB_A——A通道和B通道的脉冲边沿时间间隔(见“极性”键描述)
A极性——A通道信号极性。
在脉宽和占空比测量时,用于选择是正脉冲还是负脉冲。
在时间间隔测量时,用于选择是正跳变还是负跳变。
B极性——B通道信号极性。
同上。
例如:
在图6-10中,对于(a)的情况,A极性和B极性都取“+”,表示测取两个脉冲序列信号的正跳变边沿的时间间隔;对于(b)的情况,A极性取“+”,B极性取“一”。
对于(d)的情况,上图取极性为“+”,下图取极性为“一”。
极性是靠接入或不接入一个反相器来控制的。
4.4测量电路
本系统利用了8032内部3个定时计数器作为基本测量电路,为了扩大信号频率测量X围,并提高测量精度,在TO和T1输入端各扩展了2片4位二进制计数器74S197,2片74SI97串接后再与TO或Tl串接.构成24位二进制计数器。
74Sl97的最高计数频率为100MHz,这是信号频率的上限。
若信号频率为1OOMHz.则经8位二进制计数器后,在TO和T1输入端,信号频率已降到100/256=0.391MHz,在允许的频率X围之内。
在本系统中,74S197只用于对高频信号进行频率测量。
周期、时间间隔和相位测量中,信号直接接到TO或T1输入端,信号的切换是通过双2-4分配器74LS155实现的;信号的极性选择是通过四2-1多路开关74LS157实现的。
一个信号通道(通道A)的有关电路示于图6-24。
信号的极性靠多路开关74LS157(U14)的选择端S来选择。
选择正极性时,S=0,74LS157(U14)的通道A选通,被测信号由1A端经1Y端接到分配器74LS155(U12)的数据输入端1C,然后把信号(经1Y1)直接连接到TO输入端,或(经lYO)通过扩展计数器74S197连接到T0端。
当74LS155的选择端A0=0和A1=0时,1C与1YO接通,同时三态门74LS125(U19)被选通,扩展计数器被接入,当74LS155的选择端AO=l和A1=O时,1C与1Y1接通,同时74LS125未选通,为高阻状态,故扩展计数器被断开。
应注意,分配器74LS155有反相作用。
在周期、时间间隔和相位测量中,信号的边沿应引发定时计数器T2的捕获功能。
因此,信号还经过多路开关74LS157的2Y端造成信号负跳变。
选择极性为“+”时,在输入端信号正跳变时,造成T2EX处的负跳变,捕获T2的计数值。
选择极性为“一”时,则在输入端信号负跳变时捕获T2的计数值。
74LS155(U12)和74LS157(U14)的选择信号由锁存器74LS374(U20)提供。
扩展计数器74S197只在频率测量时使用,频率测量时,要清除扩展计数器,但不必对它预置数据,因此不用预置电路。
8032通过总线缓冲器74LS244读取扩展计数器的计数值。
4.5译码电路
74LS244(U4、U6和U9)74LS374(U20)都是按外部数据存贮器配置的外设器件,它们的片选信号由3/8译码器74LS138提供。
图6-24极性选择和信号切换电路
5软件设计简述
5.1频率和周期测量中的自动量程变换
本仪器可用于测量频率、周期、时间间隔、相位等参数。
其中频率和周期是可以互相转换的,测出其中一个参数就可以靠高精度的算法算出另一个参数。
因此,在测量频率或周期中,实际上是采用频率测量法还是采用周期测量法,并不取决于最后要求显示(或输出)的是频率参数,还是周期参数,而是取决于用哪一种测量方法精度更高些。
本仪器面板上功能键所指定的是用户要求显示(或输出)的参数名,而不是指定内部的测量方法。
例如:
按下功能键fA,只是要求仪器显示测量通道A的信号频率,并不要求系统必须用频率测量法来求得fA。
实际上,系统将根据信号频率X围,来自动选取测量方法。
信号频率较高时将采用频率测量法,直接求得fA,信号频率较低时将采用周期测量法先求得信号周期,然后采用高精度的算法算出fA。
在频率测量法中,根据不同的信号频率X围,将改变计数闸门开放时间(定时时间),使得能达到尽可能高的测量精度,又不致使计数器溢出(事实上,计数器T0和T1溢出时可申请中断,用软件计数器继续计数,但本系统采用74S179扩展计数器后,计数器的位数已达24位,最大计数值可达16777215,已经超过了所期望的计数值,故再采用扩展的软件计数器是没有必要的)。
周期测量法中,也将根据信号频率X围自动地改变周期扩展倍数,以满足精度要求。
本仪器的设计目标是:
智能化、多功能、低成本和中等精度。
设计时采用尽可能少的硬件和价格低廉的器件(如采用一般的晶体)。
据此,我们分配给计数部分的允许原理误差为l0-5的数量级。
根据这一要求,可以确定不同信号频率X围应采用的测量方法以及定时时问或周期扩大倍数,见表6—4所示。
信号频率的上限受器件速度的制约,100MHz是74系列计数器所能达到的最高计数频率。
信号频率的下限从原理上不受限制,但受用户所能容忍的测量时间的制约。
现设最低信号频率为0.1Hz,则测量一个周期(周期扩展倍数为l,本仪器硬件中没有倍频电路)需10秒钟,已经是相当长的时间了。
根据表6-4,我们来核算一下计数误差,即式(6-2)和(6-4)中的误差项ΔN/N,其中ΔN=±1。
1)信号频率f=107Hz,定时时间TM=O.1秒,则N=106,ΔN/N=±10-6。
2)f=105Hz.TM=1秒,则N=105,ΔN/N=±l0-5。
3)f=105Hz,周期扩展倍数M=1O4,参考晶振频率fR=1MHz,则N=MfR/f=lO4×106/105=105,ΔN/N=±10-5。
4)f=0.1Hz,M=1,fR=1MHz,则N=107,ΔN/N=±10-7。
由此可见,按表6-4式的设置,都能满足规定的计数精度要求。
表6-4测量方法与信号频率关系表
信号频率X围
频率测量法
周期测量法
(Hz)
定时时间(秒)
周期扩展倍数
0.1
1
104
103
102
10
1
108~107
\
107~106
\
106~105
\
105~104
\
104—103
\
103~102
\
102~10
\
10~1
\
1—0.1
\
测量方法的选择,定时时间或周期扩展倍数的选择都是单片机根据粗测的结果自动实现
的,这相当于一般数字电压表中的自动量程变换。
每当用户选择频率或周期测量功能时,先设置定时时间为1秒,用频率法对信号频率进行粗测,确定出信号频率X围,随后根据表6-4选择测量方法,确定定时时间或周期扩展倍数。
频率和周期测量的流程图见图6-25,图中TM——定时时间,由定时器T2和扩展软件定时器提供;f-被测信号频率;M-周期扩展倍数,由计数器TO或T1的预置值确定。
5.2系统程序流程
本仪器的系统基本程序流程如图6-26所示。
系统的初始化模块极为简单,主要是设置堆栈指针,对于3个定时计数器的设置,分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 频率 时间 相位 测量仪