频率设计的原理及详细讲解

频率设计的原理及详细讲解
频率设计的原理及详细讲解

第一章概述

第一章概述

单片机即MCU(MICRO CTROL UNIT)翻译成中文就是微型控制单元。它的应用遍及各个领域单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。并且由于单片机具显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。

频率测量在科技研究和实际应用中的作用日益重要。传统的频率计通采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号时不宜直接使用。频率信号抗干扰性强、易于传输,可以获得较高的测量精度。同时,频率测量方法的优化也越来越受到重视.并采用AT89C51片机和相关硬软件实现。

MCS—51单片机具有体积小,功能强,性能价格比较高等特点,因此被广泛应用于工业控制和智能化仪器,仪表等领域。我们研制的频率计以89c51,具有性能优良,精度高,可靠性好等特点。

实现一个宽频域,高精度的频率计,一种有效的方法是:在高频段直接采用频率法,低频段采用测周法。一般的数字频率计本身无计算能力因而难以使用测周发,而用89c51机构成的频率计却很容易做到这一点。对高频段和低频段的划分,会直接影响测量精度及速度。经分析我们将f=1MHz做为高频,采用直接测频法;将f=1Hz做为低频,采用测周期法。为了提高测量精度,我们又对高低频再进行分段。

以89C51机为控制器件的频率测量方法,并用C语言进行设计,采用单片机能控制,结合外围电子电路,得以高低频率的精度测量。最终实现多功能数字频率计的设计方案,根据频率计的特点,

可广泛应用于各种测试场所。

在基础理论和专业技术基础上,通过对数字频率计的设计,用十进制数字来显示被测信号频率的测量装置。以精确迅速的特点测量信号频率,在本设计在实践理论上锻炼提高了自己的综合运用知识

水平,为以后的开发及科研工作打下基础。

第二章测量方法及设计方案

2.1频率测量方法

直读法又称无源网络频率特性测量法;比较法是将被测频率信号与已知频率信号相比较,通过观、听比较结果,获得被测信号的频率;电容充放电式计数法是利用电子电路控制电容器充放电的次数,再用电磁式仪表测量充放电电流的大小,从而测出被测信号的频率值;电子计数法是根据频率定义进行测量的一种方法,它是用电子计数器显示单位时间内通过被测信号的周期个数来实现频率的测量。

利用电子计数式测量频率具有精度高、测量范围宽、显示醒目直观、测量迅速,以及便于实现测量过程自动化等一系列优点.首先,被测信号通过放大整形,形成幅度一致,形状一致是计数脉冲。然后,N将它加到闸门的一个输入端,闸门由门控信号来控制其关闭时间。计得的脉冲送至译码,再送显示器显示出来。而由晶振产生的1MHz的振荡信号经放大整形,形成方波,经多个10分频10s,1s,0.1s,

0.01s,1ms,那么有fx=N/T符合测频定义。根据f=N/T。不难看出,采用计数器测频的测量误差,一方面决定于闸门时间T准不准确,即由晶振提供的标准频率的准确度△T/T=-(△fo/fo);另一方面

放大整形

闸门

技术显示器

门控信号

Fx

分频

石英振荡器

控制电源

图一电子技术测频原理方框图

决定于计数器计得的数准不准,即"±1误差",△N/N=±1/N=±(1/○XTfx)。所以,计数器直接测频的误差主要有两项,即±1误差和标准频率误差。测低频时,由于±1误差产生的测频误差大得惊人,所以不宜采用直接测频方法。由于fX较低时,利用计数器直接测频,由±1误差所引起的测频误差将会大到不可允许的程度。所以,为了提高测量低频时的准确度,即减少±1误差的影响,可改成先测周期Tx,然

后计算fx=1/Tx。

2.2设计方案

系统采用MCS——51单片机8032作为控制核心,门控信号由8032内部的计数定时器产生,单位为1 μs。由于单片机的计数频率上限较低(12MhZ晶振时约500khz),所以需对高频被测信号进行硬件欲分频处理,8032则完成运算、控制及显示功能。由于使用了单片机,使整个系统具有极为灵活的可编程性,能方便地对系统进行功能扩展与改进。

2.3频率测量模块

高精度恒误差测频法通过对传统的测量方法的与研究,结合高精度恒误差测量原理,我们设计里一种测量精度与被测频率无关的硬件测频电路。本方法立足于快速的宽位数高精度浮点数字运算。3.3 频

率测量模块

对频率测量模块有以下四种实现方法:

(1)直接测频法直接测频法是把被测频率信号经脉冲形成电路后加到闸门的一个输入端,只有在闸门开通时间T(以秒计)内,被计数的脉冲被送到十进制计数器进行计数。设计数器的值为N,

由频率定义式可以计算得到被测信号频率为 f=N/T

经分析,本测量在低频段的相对测量误差较大。增大T可以提高测量精度,但在低频段仍不能满足该题发挥部分的要求。

(2)组合法直接测量周期法在低频段精度高。组合测频法是指在低频时采用直接测量周期法测信号周期,然后换算成频率。这种方法可以在一定程度上弥补方法(1)的不足,但是难以确定最佳分

测点,且电路实现较复杂。

(3)倍频法直接测频法在高频段有着很高的精度。可以把频率测量范围分成多个频段,使用倍频技术,根据频段设置倍频系数将经整形的低频信号进行倍频后再进行测量,高频段则进行直接测量。

(4)高精度恒误差测频法通过对传统的测量方法的与研究,结合高精度恒误差测量原理,我们设计里一种测量精度与被测频率无关的硬件测频电路。本方法立足于快速的宽位数高精度浮点数字运算。

以上四种方法中,倍频法虽然在理论上可以达到很高的精度,但在低频段,就目前常规的锁相器件而言,锁相电路工作性能不理想,频率小于looHz时甚至不能工作.

前三种方法本质上都是立足于频率基本定义,没有摆脱传统的测量方法的局限。从下文的详细论述中可以看出,用方法(4)可以用单片机程序方便地完成宽位浮点数的数学运算,实现高精度测量。

基于上述论证及第二部分中详细的理论分析,我们拟选择方法(4)。

2.4周期测量模块

(1)直接周期测量法用被测信号经放大整形后形成的方波信号直接控制计数门控电路,使主门开放时间等于信号周期Tx,时标为Ts的脉冲在主门开放时间进入计数器。设T为被测周期,Ts为时标,

在Ts期间计数值为N,可以根据以下公式来算得被测信号周期:

Tx=NTs 经误差分析表明,被测信号频率越高,测量误差越大。

采用对多个周期进行计数取平均值的方法虽可提高精皮,但如果要达到赛题要求,测量频率为0.1Hz信号时,每测一次至少要等待1000s,显然是不可取的。

(2)高料度恒误差周期测量方法本方法在测量电路和测量精度上与高精度恒误差频率测量完全相同,只是在进行计算时公式不同,用周期T代换高精度恒误差频率测量公式中的频率因数即可,计算公

式为: Tx=(Ts·Ns)/Nx 式中,Tx为被测信号周期的测量值,Ns,Nx分别与(1—2)式中的Ns,Nx含义相同。

从降低电路的复杂度及提高招度上考虑、显然方法(2)远好于方法(1),方法(2)的测量电路完全可以使用高精度恒误差频率测量电路o 适应振荡器

放大整形

闸门

技术译码器

门控信号

分频

TX

图二电子技术器测周期原理图

2.5脉冲信号占空比测量模块

在进行脉冲宽度的测量时,首先经信号处理电路进行处理,限制只有信号的50%幅度及其以上部分才能输入数字测量部分。脉冲边沿被处理得非常陡峭,然后送入测量计数器进行测量。

测量电路在检测到脉冲的上升沿时打开计数器,在下降沿时关掉计数器。由下式

Twx=Nx/Fs

可知计数值既为测得的脉冲宽度。

测一个脉冲信号的脉宽,记其值为Twx1;信号反相后,再测一次脉宽并记录其值Twx2,通过以下公式汁算:

占空比=[Twx1/(Twx1+Twx2)]×100%

2.6标频发生电路和信号处理部分

本模块采用高频率稳定度和高精度的恒温可微调的晶体振荡器作标频发生电路

小信号处理部分受限于宽带放大器的性能,放大电路需要附有高速整形电路。有以下几种方案。

(1)采用分立元件使用场效应管做输入级,以提高输入阻抗。用截止频率1000的三极管如9018做放大级。由于电路复杂,要调节部分较多,且一致性差,故不采用。

(2)采用运算放大器电路简洁,但因为与TTL电平接口而另需电平移位电路。并且要用运放做一高速宽带放大器,市场上难以买到高速运放,应用受到了限制。

(3)立接采用比较器采用比较器可以简单地完成设计。采用高速比较器LM361可以处理高达10 MHz的插入信号。LM961有低输入失调电压和电压范围灵活等特点,响应时间最大仅20ns,输出电平

可与TTL电平相匹配。

综合考虑,本部分电路采用方案(3)。比较器输入易受干扰,因此电路上采用净化电源并合理安排地线。经最后实测,输入灵敏度4mV左右,完全满足小信号测量的需要

第三章硬件电路的设计

3.1 电路设计方案

多周期同步测量法的基本思路是使被测信号与闸门之间实现同步化,从而从根本上消除了在闸门时间内对被测信号进行计数时的±1量化误差,使测量精度大大提高。倒数计数器就是基于该方法而设计出来的一种具有创新思想的测频、测周期的仪器。它采用多周期同步测量法,即测量输入多个(整数个)周期值,再进行倒数运算而求得频率。其优点是:可在整个测频范围内获得同样高的测试精度和分辨

率。

LED

单片机

闸门A

A通道

同部门及功能切换

逻辑

事件计数器

时间计数器

LED发光管

fc 闸门B fc

按键

图3.1系统电路原理框图

以单片机为核心按键和经过处理的A通道信号作为单片机的输入信号,运行程序执行相应的LED数码管显示和LED发光管发光最终实现系统功能1.输入通道的设计。输入通道是由前置放大器和整形器组成的,所以要对前置放大器的增益和带宽指标进行估计。为了能准确测量信号,将输入信号经过一个放大整形电路。其具体实施方案为:将输入信号经过LM358运放放大,再通过74LS132整形,此时的信号还不能直接送入单片机,这是因为在硬件上CPU对INT0和INT1引脚的信号不能控制,解决这个问题要通过硬件,再配合软件来解决。

2.预置闸门时间发生电路设计。闸门时间的确定,可以先由一个555定时器产生一个脉冲信号,将555产生的脉冲信号送入到74LS90十进制计数器当中,由于74LS90具有二-五进制混合计数的功能,所以可以用它来实现五进制计数,将74LS90的输出接到3—8线译码器74LS138的输入端,再将译码器的输出端接上五个发光二极管,这样就可以实现硬件上的闸门时间控制。但是考虑到硬件实现上的复杂性,可以通过软件上来实现,就是将五个发光二极管直接接到单片机的P1口由软件上来实现,通过按键来改变它的闸门时间。

3.数码显示电路的设计。该部分电路是由单向八位移位寄存器74LS164和数码管组成的。考虑到精度的问题,取五位计数值,采用五片74LS164级联,同时还要显示频率和周期的单位,所以还需再级联一块74LS164,在74LS164的输出端接六个单位指示灯,分别表示周期频率的三个不同的单位数量级,即周期单位s,ms,μs和频率单位Hz,KHz及MHz。移位寄存器的时钟信号是由单片机的串

行输出口TXD脚控制。

3.2电路各部分及其功能叙述

图3.2.1输入信号选择部分

图3.2.2晶振电路和复位电路

图3.2.3闸门

图3.2.4信号放大电路

图3.2.5整流电路

图3.2.6信号处理电路

图3.2.7以AT89C51单片机为核心的控制电路

第四章理论误差分析与系统电路分析

4.1 高精度恒定误差频率和周期测量技术

频率测量误差分析及其公式推导如下。

(1)量化误差设测得频率为Fx被测频率真实值为Fxe标准频率为Fs,在一次测量中预置门时间为Tpr,被测信号计数值为Nx,标推频率信号计数值为Ns .

Fx计数的起停时间都是由该信号的上升沿触发的,在Tpr时间内对Fx的计数Nx无误差;在此时间内Fs的计数从Ns最多相差一个脉冲,即

|Δet|≤1而Fx/Nx=Fs/Ns

Fex/Nx=Fs/(Ns+Δet)

由上式可得

Fx=(Fs/Ns)·Nx Fxe=[Fs/(Ns+Δet)]·Nx根据相对误差公式有

|δ|=ΔFxe/Fxe=|Fxe-Fx|/Fxe 由上式得ΔFxe/Fxe=|Δt|/Ns因为|Δet|≤1所

以|Δet|/Ns≤1/Ns即|δ|=ΔFxe/Fxe≤1/Ns Ns=Tpr·F由上式可以得出以下结论

①相对测量误差与频率无关。

②增大Tpr或提高Fs,可以增大Ns,减少测量误差,提高测量精度。

(2)标准频率误差标准频率误差为ΔFs/Fs,因为晶体的稳定度很高,标准频率误差可以进行校准,相对于量化误差,校准后的标准频率误差可以忽略。

(3)分变率误差分析

先由单片机给出闸门开启信号,此时计数器并不计数,而是等到被测信号的上升沿到来时,才开始计数。然后,两组计数器分别对被测信号和时标脉冲计数,当单片机给出闸门关闭信号后,计数器并不立即停止计数,而是等到被测信号下降沿到来的时刻才结束计数,完成一次测量过程。可以看出,实际闸门与设定的闸门并不严格相等,但最大差值不超过被测信号的一个周期。

设被测信号的计数为NX ,对时标的计数为N0 ,时标频率为f0 ,闸门时间为τ,则被测信号频率为: FoNx/No

计数器的开闭与被测信号是完全同步的,即在实际闸门中包含整数个被测信号的周期,因而不存在对被测信号计数的±1 个字误差,由式⑴微分可得:

FoNxdNo/

dN0=±1 τ=Nx/fx相对误差为:

e=ΔfX/fX=ΔNX/NX-ΔN0/N0+Δf0/f0式Fxe=[Fs/(Ns+Δet)]·Nx中前两项分别表示计数器T0 和计数器T1 的误差,第三项为频率准确度。由于计数是在相关同步门控时间τ内完成的,即由待测信号同步控制,因此同步门控τ与计数器T1 的计数脉冲相关,且T/ Tx 的比值Nx为整数,故被测信号计数值不存在计数误差。而计数器T0 对时标的计数,由于门控τ的启闭时刻的随机性及T/ T0之比值N0 为非整数( T0 为时标周期) ,在门控τ的启闭时刻分别有时间零头ΔT1 和ΔT2 无法计入,故存在±1 误差。当忽略频率准确度误差时,多周期同步法测频的最大误差为:

由式|δ|=ΔFxe/Fxe=|Fxe-Fx|/Fxe可以看出,测量分辨率与被测信号频率的大小无关,仅与闸门时间及时标频率有关,即实现了被测频带内的等精度测量,闸门时间越长,时标频率越高,分辨率越高。

4.2 预置门时间信号与闸门时间信号

预置门的概念与传统的闸门的概念是不同的。预置门是指同时启动或停止标准频率信号计数器和被测信号计数器的门控信号。硕置门的概念用于高精度恒定误差测频/测周期方法中,并称预置门的时

间宽度为预置门时间。

高精度恒定误差测频方法测量精度与预置门时间和标准频率有关,与被测信号的频率无关。在预置门时间和闸门时间相同而被测信号频率不同的情况下,高精度恒误差额率测量法的测量精度不变,而直接测频法精度随着被测信号频率的增加而接近线性地增大。高精度恒误差周期测量方法的分析思路和结果均与对高精度恒误差频率测量相似或相同。

4.3 脉冲宽度测量理论误差分析

根据方案中的脉冲宽度测量方法,分析脉宽测量误差。设被测信号脉宽为Twxe,标准频率信号频率为Fs,则脉冲宽度的测量值为

Twx=Nx/Fs 在一次测量中,对标准频率信号的计数值Nx可能产生±1个标准频率信号周期的计数误差,则脉宽测量相对误差为

|ΔTwx/Twx|=(1·Fs)/(Nx·Fs)=1/Nx

其中Nx=Twx·Fs.可以看出,在Fs一定时,脉宽越小,误差越大。

当Twx=100μs,Fs=60MHz时,Nx=6000,则有

|ΔTwx/Twx|=1/6000=0.17‰

4.4周期脉冲信号占空比测量误差分析

使用第一部分中所述的占空比方法,根据误差合成原理,周期测量相对误差最大恒等于脉冲宽度测量相对误差。

在标准频率为60MHz,被测频率1kHz(即周期为0.001s)时。设其占空比为10%,如果要满足题日部分要求,由脉冲宽测量相对误羌公式计算出的相对误差应小于

1/(0.001×10%×60×106)=1/6000=0.17‰

实际精度完全可以超过这个要求。

4.5、系统设计与电路分析

(1)稳压电源设计

本项设计要求的电源:±12V、-12v、+5v稳压电源。在进行电源设计时,功率交流输入端加一级电源滤波器,以降低工频频率干扰。

(2)测量控制电路

单片机(AT89C51成整个测量电路的控制和数据处理.两片Dpl5H016完成计数器功

能。键盘信号由AB9c51处理。AT89C51spLSI1016读回计数数据进行高精度浮点运算,并向显示电路输出测量结果。电路如图7.1所示。

(3)输入信号处理部分

为测量小侍号,需要在输入端加前置信号处理电路,将小信号放大后送入整形电路.

(4)小信号处理部分

在调试中发现LM361的输出在零瞬间有些毛刺,在输出与地间并联一只100Hz瓷片电容消除了毛刺,且处理后的波形仍较陡峭,本部分电路抗干扰能力也很强。

(5)标准频率方波发生电路

本设计采用60Hz的晶体振荡器产生标准频率方波信号(频标)供数字测量电路使用。晶体振荡器采用恒温晶振,稳定度为:2.0×107/24小时。

(6)显示器电路

显示器电路采用7SEG LED显示器。

因为本设计用高精度恒误差的频率和周期测试方法,预置门时间为1.5s,在标准频率信号为60MHz的情况下,根据上文讨论的高精度恒误差的频率和周期测试方法相对误差计算公式可以算出测量

精度为

1/(1.5×60×106)=1.1×10-8

即能够显示接近8位有效数字,所以,电路中采用了8位LED显示器.

(7)实际数字测量部分

本题目要求测量功能模块较多,题目中要求的被测信号以及标准频率信号为1MHz,发挥部分要求为10MHz,高频信号之间的信号干扰非常强。在方案实现过程中要求处处考虑到干扰问题,减少布线

的复杂度。

本设计拟定计数器所采用电路中的两个计数器应不低于60MHz。我们选用LATTICE公司高速ispLSI器件(在系统可编程大规模集成电路)。在一片ispLSI器件中可以完成一个或多个模块的设计,大大降低了电路复杂度,减少引线信号间的干扰,提高电路的可靠性、稳定性。鉴于本题目要求测量功能模块较多、我们采用两片工作频率为60MHz的ispLSI1016-60器件。

采用在系统可编程逻辑器件来设计测量功能模块电路。在具体实现过程中我们将以下模块做在两片ispLSI1016器件中:

a频率测量模块

b周期测量模块;

c脉冲宽度测量模块;

d脉冲占空比测量模块;

e自校电路

(8)自校电路

为了检测系统的精度,本电路附加了自校电路,用以产生1MHz信号,可在功能按键控制下进行自校。

(9)、高频抗干扰设计

在高频情况下,线路之间的干扰对频率测量结果影响很大,因此我们采用了一些高频线路抗干扰措施。

测量电路的电路板采用自制印刷电路板,减少了引线交叉,降低了高频引线干扰,效果明显。例如,在模块初步设计和调试期间,我们在实验板上采用直接连线方式,因电路工作不稳定而出现了很大的测量误差。在自制印刷电路板上完成设计时,这个现象消失了。被测信号经过前置处理后,引向测量部分的引线全部采用屏蔽线。由于输入信号的变化可能很大,在大信号时能满足要求而在50 mv(峰—峰值)时,很容易受到干扰。电路在设计时,采用大面积接地和金属屏蔽层,输入引线采用高频输入线,以消除外界的电磁场干扰;在每一部分的电源电路均采用电感、电容滤波,消除各部分电路的相互干扰;而且在电路中采用施密特触发器,提高比较门限,消除了大部分杂波,保证了信号的纯真度;对机械按键在闭合时伴有的抖动,加上了防抖控制;单片机还采用了“看门狗”电路.防止CPU失控,确保系统安全运行;在软件上采用软件陷阱、容错技术和均值滤波等抗干扰措施,提高了抗干扰特性;采用四字节乘除法保证了测试的精度在数据处理时不受影响。

第五章计频器的软件设计

5.1计数原理

信号经过整形成为方波,输入到端,在P3.2处于低电平时进行初始化操作;TR0置位,打开定时器/计数器;GATE=1,使T0在TR0和均为1时开始计数;将T0的高八位单元TH0和低八位单元

TL0均赋值00H,使T0由0开始计数

T0初始化完成后,TR0=1,GATE=1,此时T0等待升为高电平,高电平到达,T0启动计数。每一机器周期,T0自动加1计数。当降为低电平后,由于不能同时满足TR0和均为高电平,故T0停

止计数。T0中存储的是以周期数表示的脉宽。

注:此计算过程调用无符号双字除法程序来实现。

为显示频率,必须将二进制码转换为BCD码,这一过程分两步完成。第一步,二进制转换成压缩BCD码;第二步,将压缩BCD码分送各缓冲区,调用显示子程序,送数码管延时显示频率值。

5.2总体软件编程

(1)设计方案

/12

OSC

利用AT89C51T0、T1的定时计数器功能,来完成对输入的信号进行频率计数,计数的频率结果通过4位动态数码管显示出来。要求能够对0-10KHZ的信号频率进行准确计数,计数误差不超过±1HZ。

TL(8位)THX(8位)

TFX

&

Ta脚

TR

1

〉=1

GATE

INTX脚

图四定时器工作原理图

(2)工作原理

1). 定时/计数器T0和T1的工作方式设置,由图可知,T0是工作在计数状态下,对输入的频率信号进行计数,但对工作在计数状态下的T0,最大计数值为fOSC/12,由于fOSC=12MHz,因此:T0

的最大计数频率为10KHz。对于频率的概念就是在一秒只数脉冲的个数,即为频率值。

所以T1工作在定时状态下,每定时1秒中到,就停止T0的计数,而从T0的计数单元中读取计数的数值,然后进行数据处理。送到数码管显示出来。

2) . T1工作在定时状态下,最大定时时间为65ms,达不到1秒的定时,所以采用定时50ms,共定时20次,即可完成1秒的定时功能。

5.3 源程序

#include

unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7};

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,

0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};

unsigned char dispbuf[4]={0,0, 10,10};

unsigned char temp[4];

unsigned char dispcount;

unsigned char T0count;

unsigned char timecount;

bit flag;

unsigned long x;

void main(void)

{

unsigned char i;

TMOD=0x15;

TH0=0;

TL0=0;

TH1=(65536-4000)/256;

TL1=(65536-4000)%256;

TR0=1;

ET0=1;

ET1=1;

EA=1;

while(1)

{

if(flag==1)

{

flag=0;

x=T0count*65536+TH0*256+TL0;

for(i=0;i<4;i++)

{

temp[i]=0;

}

i=0;

while(x/10)

{

temp[i]=x%10;

x=x/10;

i++;

}

temp[i]=x;

for(i=0;i<6;i++)

{

dispbuf[i]=temp[i];

}

timecount=0;

T0count=0;

TH0=0;

TL0=0;

TR0=1;

}

}

}

void t0(void) interrupt 1 using 0

T0count++;

}

void t1(void) interrupt 3 using 0

{

TH1=(65536-4000)/256;

TL1=(65536-4000)%256;

timecount++;

if(timecount==10)

{

TR0=0;

timecount=0;

flag=1;

}

P0=dispcode[dispbuf[dispcount]];

P2=dispbit[dispcount];

dispcount++;

if(dispcount==4)

{

dispcount=0;

}

}

第一章概述

单片机即MCU(MICRO CTROL UNIT)翻译成中文就是微型控制单元。它的应用遍及各个领域单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。并且由于单片机具显著的优点,它已成为科技领域的有力工具,

人类生活的得力助手。

频率测量在科技研究和实际应用中的作用日益重要。传统的频率计通采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号时不宜直接使用。频率信号抗干扰性强、易于传输,可以获得较高的测量精度。同时,频率测量方法的优化也越来越受到重视.并采用

AT89C51片机和相关硬软件实现。

MCS—51单片机具有体积小,功能强,性能价格比较高等特点,因此被广泛应用于工业控制和智能化仪器,仪表等领域。我们研制的频率计以89c51,具有性能优良,精度高,可靠性好等特点。

实现一个宽频域,高精度的频率计,一种有效的方法是:在高频段直接采用频率法,低频段采用测周法。一般的数字频率计本身无计算能力因而难以使用测周发,而用89c51机构成的频率计却很容易做到这一点。对高频段和低频段的划分,会直接影响测量精度及速度。经分析我们将f=1MHz做为高频,采用直接测频法;将f=1Hz做为低频,采用测周期法。为了提高测量精度,我们又对高低频再进行分段。

以89C51机为控制器件的频率测量方法,并用C语言进行设计,采用单片机能控制,结合外围电子电路,得以高低频率的精度测量。最终实现多功能数字频率计的设计方案,根据频率计的特点,可广

泛应用于各种测试场所。

在基础理论和专业技术基础上,通过对数字频率计的设计,用十进制数字来显示被测信号频率的测量装置。以精确迅速的特点测量信号频率,在本设计在实践理论上锻炼提高了自己的综合运用知识水平,

为以后的开发及科研工作打下基础。

第二章测量方法及设计方案

2.1频率测量方法

直读法又称无源网络频率特性测量法;比较法是将被测频率信号与已知频率信号相比较,通过观、听比较结果,获得被测信号的频率;电容充放电式计数法是利用电子电路控制电容器充放电的次数,再用电磁式仪表测量充放电电流的大小,从而测出被测信号的频率值;电子计数法是根据频率定义进行测量的一种方法,它是用电子计数器显示单位时间内通过被测信号的周期个数来实现频率的测量。

利用电子计数式测量频率具有精度高、测量范围宽、显示醒目直观、测量迅速,以及便于实现测量过程自动化等一系列优点.首先,被测信号通过放大整形,形成幅度一致,形状一致是计数脉冲。然后,N将它加到闸门的一个输入端,闸门由门控信号来控制其关闭时间。计得的脉冲送至译码,再送显示器显示出来。而由晶振产生的1MHz的振荡信号经放大整形,形成方波,经多个10分频10s,1s,0.1s,0.01s,1ms,那么有fx=N/T符合测频定义。根据f=N/T。不难看出,采用计数器测频的测量误差,一方面决定于闸门时间T准不准确,即由晶振提供的标准频率的准确度△T/T=-(△fo/fo);另一方面

放大整形

闸门

技术显示器

门控信号

Fx

分频

石英振荡器

控制电源

放大整形

图一电子技术测频原理方框图

决定于计数器计得的数准不准,即"±1误差",△N/N=±1/N=±(1/○XTfx)。所以,计数器直接测频的误差主要有两项,即±1误差和标准频率误差。测低频时,由于±1误差产生的测频误差大得惊人,所以不宜采用直接测频方法。由于fX较低时,利用计数器直接测频,由±1误差所引起的测频误差将会大到不可允许的程度。所以,为了提高测量低频时的准确度,即减少±1误差的影响,可改成先测周期Tx,然后

计算fx=1/Tx。

2.2设计方案

系统采用MCS——51单片机8032作为控制核心,门控信号由8032内部的计数定时器产生,单位为1 μs。由于单片机的计数频率上限较低(12MhZ晶振时约500khz),所以需对高频被测信号进行硬件欲分频处理,8032则完成运算、控制及显示功能。由于使用了单片机,使整个系统具有极为灵活的可编程性,

能方便地对系统进行功能扩展与改进。

2.3频率测量模块

高精度恒误差测频法通过对传统的测量方法的与研究,结合高精度恒误差测量原理,我们设计里一种测量精度与被测频率无关的硬件测频电路。本方法立足于快速的宽位数高精度浮点数字运算。3.3 频率

测量模块

对频率测量模块有以下四种实现方法:

(1)直接测频法直接测频法是把被测频率信号经脉冲形成电路后加到闸门的一个输入端,只有在闸门开通时间T(以秒计)内,被计数的脉冲被送到十进制计数器进行计数。设计数器的值为N,由频率定义式可以计算得到被测信号频率为 f=N/T

经分析,本测量在低频段的相对测量误差较大。增大T可以提高测量精度,但在低频段仍不能满足

该题发挥部分的要求。

(2)组合法直接测量周期法在低频段精度高。组合测频法是指在低频时采用直接测量周期法测信号周期,然后换算成频率。这种方法可以在一定程度上弥补方法(1)的不足,但是难以确定最佳分测点,

且电路实现较复杂。

(3)倍频法直接测频法在高频段有着很高的精度。可以把频率测量范围分成多个频段,使用倍频技术,根据频段设置倍频系数将经整形的低频信号进行倍频后再进行测量,高频段则进行直接测量。

(4)高精度恒误差测频法通过对传统的测量方法的与研究,结合高精度恒误差测量原理,我们设计里一种测量精度与被测频率无关的硬件测频电路。本方法立足于快速的宽位数高精度浮点数字运算。

以上四种方法中,倍频法虽然在理论上可以达到很高的精度,但在低频段,就目前常规的锁相器件而言,锁相电路工作性能不理想,频率小于looHz时甚至不能工作.

前三种方法本质上都是立足于频率基本定义,没有摆脱传统的测量方法的局限。从下文的详细论述中可以看出,用方法(4)可以用单片机程序方便地完成宽位浮点数的数学运算,实现高精度测量。

基于上述论证及第二部分中详细的理论分析,我们拟选择方法(4)。

2.4周期测量模块

(1)直接周期测量法用被测信号经放大整形后形成的方波信号直接控制计数门控电路,使主门开放时间等于信号周期Tx,时标为Ts的脉冲在主门开放时间进入计数器。设T为被测周期,Ts为时标,在Ts期间计数值为N,可以根据以下公式来算得被测信号周期:

Tx=NTs 经误差分析表明,被测信号频率越高,测量误差越大。

采用对多个周期进行计数取平均值的方法虽可提高精皮,但如果要达到赛题要求,测量频率为0.1Hz信号时,每测一次至少要等待1000s,显然是不可取的。

(2)高料度恒误差周期测量方法本方法在测量电路和测量精度上与高精度恒误差频率测量完全相同,只是在进行计算时公式不同,用周期T代换高精度恒误差频率测量公式中的频率因数即可,计算公式为: Tx=(Ts·Ns)/Nx 式中,Tx为被测信号周期的测量值,Ns,Nx分别与(1—2)式中的Ns,Nx

含义相同。

从降低电路的复杂度及提高招度上考虑、显然方法(2)远好于方法(1),方法(2)的测量电路完全可以使

用高精度恒误差频率测量电路o

适应振荡器

放大整形

闸门

技术译码器

门控信号

放大整形

分频

TX

图二电子技术器测周期原理图

2.5脉冲信号占空比测量模块

在进行脉冲宽度的测量时,首先经信号处理电路进行处理,限制只有信号的50%幅度及其以上部分才能输入数字测量部分。脉冲边沿被处理得非常陡峭,然后送入测量计数器进行测量。

测量电路在检测到脉冲的上升沿时打开计数器,在下降沿时关掉计数器。由下式

Twx=Nx/Fs

可知计数值既为测得的脉冲宽度。

测一个脉冲信号的脉宽,记其值为Twx1;信号反相后,再测一次脉宽并记录其值Twx2,通过以下公

式汁算:

占空比=[Twx1/(Twx1+Twx2)]×100%

2.6标频发生电路和信号处理部分

本模块采用高频率稳定度和高精度的恒温可微调的晶体振荡器作标频发生电路

小信号处理部分受限于宽带放大器的性能,放大电路需要附有高速整形电路。有以下几种方案。

(1)采用分立元件使用场效应管做输入级,以提高输入阻抗。用截止频率1000的三极管如9018做

放大级。由于电路复杂,要调节部分较多,且一致性差,故不采用。

(2)采用运算放大器电路简洁,但因为与TTL电平接口而另需电平移位电路。并且要用运放做一高

速宽带放大器,市场上难以买到高速运放,应用受到了限制。

(3)立接采用比较器采用比较器可以简单地完成设计。采用高速比较器LM361可以处理高达10 MHz 的插入信号。LM961有低输入失调电压和电压范围灵活等特点,响应时间最大仅20ns,输出电平可与TTL

电平相匹配。

综合考虑,本部分电路采用方案(3)。比较器输入易受干扰,因此电路上采用净化电源并合理安排地线。经最后实测,输入灵敏度4mV左右,完全满足小信号测量的需要

第三章硬件电路的设计

3.1 电路设计方案

多周期同步测量法的基本思路是使被测信号与闸门之间实现同步化,从而从根本上消除了在闸门时间内对被测信号进行计数时的±1量化误差,使测量精度大大提高。倒数计数器就是基于该方法而设计出来的一种具有创新思想的测频、测周期的仪器。它采用多周期同步测量法,即测量输入多个(整数个)周期值,再进行倒数运算而求得频率。其优点是:可在整个测频范围内获得同样高的测试精度和分辨率。

LED

数码显示其

单片机

闸门A

A通道

同部门及功能切换

逻辑

事件计数器

时间计数器

LED发光管

fc 闸门B fc

按键

图3.1系统电路原理框图

以单片机为核心按键和经过处理的A通道信号作为单片机的输入信号,运行程序执行相应的LED

数码管显示和LED发光管发光最终实现系统功能

1.输入通道的设计。输入通道是由前置放大器和整形器组成的,所以要对前置放大器的增益和带宽指标进行估计。为了能准确测量信号,将输入信号经过一个放大整形电路。其具体实施方案为:将输入信号经过LM358运放放大,再通过74LS132整形,此时的信号还不能直接送入单片机,这是因为在硬件上CPU对INT0和INT1引脚的信号不能控制,解决这个问题要通过硬件,再配合软件来解决。

2.预置闸门时间发生电路设计。闸门时间的确定,可以先由一个555定时器产生一个脉冲信号,将555产生的脉冲信号送入到74LS90十进制计数器当中,由于74LS90具有二-五进制混合计数的功能,所以可以用它来实现五进制计数,将74LS90的输出接到3—8线译码器74LS138的输入端,再将译码器的输出端接上五个发光二极管,这样就可以实现硬件上的闸门时间控制。但是考虑到硬件实现上的复杂性,可以通过软件上来实现,就是将五个发光二极管直接接到单片机的P1口由软件上来实现,通过按键来改

变它的闸门时间。

3.数码显示电路的设计。该部分电路是由单向八位移位寄存器74LS164和数码管组成的。考虑到精度的问题,取五位计数值,采用五片74LS164级联,同时还要显示频率和周期的单位,所以还需再级联一块74LS164,在74LS164的输出端接六个单位指示灯,分别表示周期频率的三个不同的单位数量

级,即周期单位s,ms,μs和频率单位Hz,KHz及MHz。移位寄存器的时钟信号是由单片机的串行输出

口TXD脚控制。

3.2电路各部分及其功能叙述

图3.2.1输入信号选择部分

图3.2.2晶振电路和复位电路

图3.2.3闸门

图3.2.4信号放大电路

图3.2.5整流电路

图3.2.6信号处理电路

图3.2.7以AT89C51单片机为核心的控制电路

第四章理论误差分析与系统电路分析

4.1 高精度恒定误差频率和周期测量技术

频率测量误差分析及其公式推导如下。

(1)量化误差设测得频率为Fx被测频率真实值为Fxe标准频率为Fs,在一次测量中预置门时间为

Tpr,被测信号计数值为Nx,标推频率信号计数值为Ns .

Fx计数的起停时间都是由该信号的上升沿触发的,在Tpr时间内对Fx的计数Nx无误差;在此时间

内Fs的计数从Ns最多相差一个脉冲,即

|Δet|≤1而Fx/Nx=Fs/Ns

Fex/Nx=Fs/(Ns+Δet)

由上式可得

Fx=(Fs/Ns)·Nx Fxe=[Fs/(Ns+Δet)]·Nx根据相对误差公式有

|δ|=ΔFxe/Fxe=|Fxe-Fx|/Fxe 由上式得ΔFxe/Fxe=|Δt|/Ns因

为|Δet|≤1所

以|Δet|/Ns≤1/Ns即|δ|=ΔFxe/Fxe≤1/Ns Ns=Tpr·F

由上式可以得出以下结论

①相对测量误差与频率无关。

②增大Tpr或提高Fs,可以增大Ns,减少测量误差,提高测量精度。

(2)标准频率误差标准频率误差为ΔFs/Fs,因为晶体的稳定度很高,标准频率误差可以进行校准,

相对于量化误差,校准后的标准频率误差可以忽略。

(3)分变率误差分析

先由单片机给出闸门开启信号,此时计数器并不计数,而是等到被测信号的上升沿到来时,才开始计数。然后,两组计数器分别对被测信号和时标脉冲计数,当单片机给出闸门关闭信号后,计数器并不立即停止计数,而是等到被测信号下降沿到来的时刻才结束计数,完成一次测量过程。可以看出,实际闸门与设定的闸门并不严格相等,但最大差值不超过被测信号的一个周期。

设被测信号的计数为NX ,对时标的计数为N0 ,时标频率为f0 ,闸门时间为τ,则被测信号频率

为: FoNx/No

计数器的开闭与被测信号是完全同步的,即在实际闸门中包含整数个被测信号的周期,因而不存在

对被测信号计数的±1 个字误差,由式⑴微分可得:

FoNxdNo/

dN0=±1 τ=Nx/fx相对误差为:

e=ΔfX/fX=ΔNX/NX-ΔN0/N0+Δf0/f0式Fxe=[Fs/(Ns+Δet)]·Nx中前两项分别表示计数器T0 和计数器T1 的误差,第三项为频率准确度。由于计数是在相关同步门控时间τ内完成的,即由待测信号同步控制,因此同步门控τ与计数器T1 的计数脉冲相关,且T/ Tx 的比值Nx为整数,故被测信号计数值不存在计数误差。而计数器T0 对时标的计数,由于门控τ的启闭时刻的随机性及T/ T0之比值N0 为非整数( T0 为时标周期) ,在门控τ的启闭时刻分别有时间零头ΔT1 和ΔT2 无法计入,故存在±1 误差。当忽略频率准确度误差时,多周期同步法测频的最大误差为:

由式|δ|=ΔFxe/Fxe=|Fxe-Fx|/Fxe可以看出,测量分辨率与被测信号频率的大小无关,仅与闸门时间及时标频率有关,即实现了被测频带内的等精度测量,闸门时间越长,时标频率越高,分辨率越高。

4.2 预置门时间信号与闸门时间信号

预置门的概念与传统的闸门的概念是不同的。预置门是指同时启动或停止标准频率信号计数器和被测信号计数器的门控信号。硕置门的概念用于高精度恒定误差测频/测周期方法中,并称预置门的时间宽

度为预置门时间。

高精度恒定误差测频方法测量精度与预置门时间和标准频率有关,与被测信号的频率无关。在预置门时间和闸门时间相同而被测信号频率不同的情况下,高精度恒误差额率测量法的测量精度不变,而直接测频法精度随着被测信号频率的增加而接近线性地增大。高精度恒误差周期测量方法的分析思路和结果均

与对高精度恒误差频率测量相似或相同。

4.3 脉冲宽度测量理论误差分析

根据方案中的脉冲宽度测量方法,分析脉宽测量误差。设被测信号脉宽为Twxe,标准频率信号频

率为Fs,则脉冲宽度的测量值为

Twx=Nx/Fs 在一次测量中,对标准频率信号的计数值Nx可能产生±1个标准频率信号

周期的计数误差,则脉宽测量相对误差为

|ΔTwx/Twx|=(1·Fs)/(Nx·Fs)=1/Nx

其中Nx=Twx·Fs.可以看出,在Fs一定时,脉宽越小,误差越大。

当Twx=100μs,Fs=60MHz时,Nx=6000,则有

|ΔTwx/Twx|=1/6000=0.17‰

4.4周期脉冲信号占空比测量误差分析

使用第一部分中所述的占空比方法,根据误差合成原理,周期测量相对误差最大恒等于脉冲宽度测

量相对误差。

在标准频率为60MHz,被测频率1kHz(即周期为0.001s)时。设其占空比为10%,如果要满足题日部分要求,由脉冲宽测量相对误羌公式计算出的相对误差应小于

1/(0.001×10%×60×106)=1/6000=0.17‰

实际精度完全可以超过这个要求。

4.5、系统设计与电路分析

(1)稳压电源设计

本项设计要求的电源:±12V、-12v、+5v稳压电源。在进行电源设计时,功率交流输入端加一级电

源滤波器,以降低工频频率干扰。

(2)测量控制电路

单片机(AT89C51成整个测量电路的控制和数据处理.两片Dpl5H016完成计数器功

能。键盘信号由AB9c51处理。AT89C51spLSI1016读回计数数据进行高精度浮点运算,并向显示

电路输出测量结果。电路如图7.1所示。

(3)输入信号处理部分

为测量小侍号,需要在输入端加前置信号处理电路,将小信号放大后送入整形电路.

(4)小信号处理部分

在调试中发现LM361的输出在零瞬间有些毛刺,在输出与地间并联一只100Hz瓷片电容消除了毛刺,且处理后的波形仍较陡峭,本部分电路抗干扰能力也很强。

(5)标准频率方波发生电路

本设计采用60Hz的晶体振荡器产生标准频率方波信号(频标)供数字测量电路使用。晶体振荡器采用

恒温晶振,稳定度为:2.0×107/24小时。

(6)显示器电路

显示器电路采用7SEG LED显示器。

因为本设计用高精度恒误差的频率和周期测试方法,预置门时间为1.5s,在标准频率信号为60MHz 的情况下,根据上文讨论的高精度恒误差的频率和周期测试方法相对误差计算公式可以算出测量精度为

1/(1.5×60×106)=1.1×10-8

即能够显示接近8位有效数字,所以,电路中采用了8位LED显示器.

(7)实际数字测量部分

本题目要求测量功能模块较多,题目中要求的被测信号以及标准频率信号为1MHz,发挥部分要求为10MHz,高频信号之间的信号干扰非常强。在方案实现过程中要求处处考虑到干扰问题,减少布线的复杂

度。

本设计拟定计数器所采用电路中的两个计数器应不低于60MHz。我们选用LATTICE公司高速ispLSI 器件(在系统可编程大规模集成电路)。在一片ispLSI器件中可以完成一个或多个模块的设计,大大降低了电路复杂度,减少引线信号间的干扰,提高电路的可靠性、稳定性。鉴于本题目要求测量功能模块较多、我们采用两片工作频率为60MHz的ispLSI1016-60器件。

采用在系统可编程逻辑器件来设计测量功能模块电路。在具体实现过程中我们将以下模块做在两片

ispLSI1016器件中:

a频率测量模块

b周期测量模块;

c脉冲宽度测量模块;

d脉冲占空比测量模块;

e自校电路

(8)自校电路

为了检测系统的精度,本电路附加了自校电路,用以产生1MHz信号,可在功能按键控制下进行自

校。

(9)、高频抗干扰设计

在高频情况下,线路之间的干扰对频率测量结果影响很大,因此我们采用了一些高频线路抗干扰措

施。

测量电路的电路板采用自制印刷电路板,减少了引线交叉,降低了高频引线干扰,效果明显。例如,在模块初步设计和调试期间,我们在实验板上采用直接连线方式,因电路工作不稳定而出现了很大的测量误差。在自制印刷电路板上完成设计时,这个现象消失了。被测信号经过前置处理后,引向测量部分的引线全部采用屏蔽线。由于输入信号的变化可能很大,在大信号时能满足要求而在50 mv(峰—峰值)时,很容易受到干扰。电路在设计时,采用大面积接地和金属屏蔽层,输入引线采用高频输入线,以消除外界的电磁场干扰;在每一部分的电源电路均采用电感、电容滤波,消除各部分电路的相互干扰;而且在电路中采用施密特触发器,提高比较门限,消除了大部分杂波,保证了信号的纯真度;对机械按键在闭合时伴有的抖动,加上了防抖控制;单片机还采用了“看门狗”电路.防止CPU失控,确保系统安全运行;在软件上采用软件陷阱、容错技术和均值滤波等抗干扰措施,提高了抗干扰特性;采用四字节乘除法保证了测试的精

度在数据处理时不受影响。

第五章计频器的软件设计

5.1计数原理

信号经过整形成为方波,输入到端,在P3.2处于低电平时进行初始化操作;TR0置位,打开定时器/计数器;GATE=1,使T0在TR0和均为1时开始计数;将T0的高八位单元TH0和低八位单元TL0

均赋值00H,使T0由0开始计数

T0初始化完成后,TR0=1,GATE=1,此时T0等待升为高电平,高电平到达,T0启动计数。每一机器周期,T0自动加1计数。当降为低电平后,由于不能同时满足TR0和均为高电平,故T0停止计数。

T0中存储的是以周期数表示的脉宽。

注:此计算过程调用无符号双字除法程序来实现。

为显示频率,必须将二进制码转换为BCD码,这一过程分两步完成。第一步,二进制转换成压缩BCD码;第二步,将压缩BCD码分送各缓冲区,调用显示子程序,送数码管延时显示频率值。

5.2总体软件编程

(1)设计方案

/12

OSC

利用AT89C51T0、T1的定时计数器功能,来完成对输入的信号进行频率计数,计数的频率结果通过4位动态数码管显示出来。要求能够对0-10KHZ的信号频率进行准确计数,计数误差不超过±1HZ。

TL(8位)THX(8位)

TFX

&

Ta脚

TR

1

相关主题
相关文档
最新文档