单片机数字频率计.docx

上传人:b****6 文档编号:4197901 上传时间:2022-11-28 格式:DOCX 页数:21 大小:31.89KB
下载 相关 举报
单片机数字频率计.docx_第1页
第1页 / 共21页
单片机数字频率计.docx_第2页
第2页 / 共21页
单片机数字频率计.docx_第3页
第3页 / 共21页
单片机数字频率计.docx_第4页
第4页 / 共21页
单片机数字频率计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

单片机数字频率计.docx

《单片机数字频率计.docx》由会员分享,可在线阅读,更多相关《单片机数字频率计.docx(21页珍藏版)》请在冰豆网上搜索。

单片机数字频率计.docx

单片机数字频率计

单片机数字频率计

频率测量在科技研究和实际应用中的作用日益重要。

传统的频率计通采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号时不宜直接使用。

频率信号抗干扰性强、易于传输,可以获得较高的测量精度。

同时,频率测量方法的优化也越来越受到重视.并采用AT89C51单片机和相关硬软件实现。

MCS—51系列单片机具有体积小,功能强,性能价格比较高等特点,因此被广泛应用于工业控制和智能化仪器,仪表等领域。

我们研制的频率计以89c51单片机为核心,具有性能优良,精度高,可靠性好等特点。

  实现一个宽频域,高精度的频率计,一种有效的方法是:

在高频段直接采用频率法,低频段采用测周法。

一般的数字频率计本身无计算能力因而难以使用测周发,而用89c51单片机构成的频率计却很容易做到这一点。

对高频段和低频段的划分,会直接影响测量精度及速度。

经分析我们将f=1MHz做为高频,采用直接测频法;将f=1Hz做为低频,采用测周期法。

为了提高测量精度,我们又对高低频再进行分段。

   以89C51单片机为控制器件的频率测量方法,并用C语言进行设计,采用单片机智能控制,结合外围电子电路,得以高低频率的精度测量。

最终实现多功能数字频率计的设计方案,根据频率计的特点,可广泛应用于各种测试场所。

   在基础理论和专业技术基础上,通过对数字频率计的设计,用十进制数字来显示被测信号频率的测量装置。

以精确迅速的特点测量信号频率,在本设计在实践理论上锻炼提高了自己的综合运用知识水平,为以后的开发及科研工作打下基础。

 

 

 

 

 

 

 

 

2方案设计与初步论证:

2.1.频率测量方法概述

    

                       频率测量方法

模拟法

 数字法

直读法

比较法

 

电容充放电式

 

电子计数式

 

 

电桥法

 

 

谐振法

差频法

示波法

拍频法

 

李沙育图形法

 

测周期法

 

 

 

表1 频率测量方法

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

    利用电子计数式测量频率具有精度高、测量范围宽、显示醒目直观、测量迅速,以及便于实现测量过程自动化等一系列优点,所以下面将重点介绍电子计数式测量频率的几种方法。

     

(1)脉冲数定时测频法(M法):

此法是记录在确定时间Tc内待测信号的脉冲个数Mx,则待测频率为:

 Fx=Mx/Tc                                                            

    显然,时间Tc为准确值,测量的精度主要取决于计数Mx的误差。

其特点在于:

测量方法简单;测量精度与待测信号频率和门控时间有关,当待测信号频率较低时,误差较大。

    ⑵脉冲周期测频法(T法):

此法是在待测信号的一个周期Tx内,记录标准频率信号变化次数Mo。

这种方法测出的频率是:

                     Fx=Mo/Tx                                    

    此法的特点是低频检测时精度高,但当高频检测时误差较大。

    ⑶脉冲数倍频测频法(AM法):

此法是为克服M法在低频测量时精度不高的缺陷发展起来的。

通过A倍频,把待测信号频率放大A倍,以提高测量精度。

其待测频率为:

                    Fx=Mx/ATo                                      

    其特点是待测信号脉冲间隔减小,间隔误差降低;精度比M法高A倍,但控制电路较复杂。

     ⑷脉冲数分频测频法(AT法):

此法是为了提高T法高频测量时的精度形成的。

由于T法测量时要求待测信号的周期不能太短,所以可通过A分频使待测信号的周期扩大A倍,所测频率为:

                       Fx=AMo/Tx                                 

其特点是高频测量精度比T法高A倍;但控制电路也较复杂。

     ⑸脉冲平均周期测频法(M/T法):

此法是在闸门时间Tc内,同时用两个计数器分别记录待测信号的脉冲数

Mx和标准信号的脉冲数Mo。

若标准信号的频率为Fo,则待测信号频率为:

                      Fx=FoMx/Mo                                

M/T法在测高频时精度较高;但在测低频时精度较低。

    ⑹多周期同步测频法:

是由闸门时间Tc与同步门控时间Td共同控制计数器计数的一种测量方法,待测信号频率与M/T法相同。

此法的优点是,闸门时间与被测信号同步,消除了对被测信号计数产生的±1个字误差,

测量精度大大提高,且测量精度与待测信号的频率无关,达到了在整个测量频段等精度测量。

 

3确定实验方案

3.1可用实验方案介绍

3.1.1方案1

   采用频率计模块(如ICM7216)构成,原理框图如图3.2所示。

特点是结构简单,量程可以自动切换。

     ICM7216内部带有放大整形电路,可以直接输入模拟信号。

外部振荡部分选用一块高精度晶振体和两个低温系数电容构成10MHz并联振荡电路。

用转换开关选择10ms,0.1s,1s,10s四种闸门时间,同时量程自动切换。

缓冲电路是为了让频率计采用记忆方式,即计数过程中不显示数据,待计数过程结束后,显示测频结束,并将此显示结果保持到下一次计数结果,显示时间不小于1s,小数点位置随量程自动移动。

芯片驱动电路输出15mA—35mA的峰值电流,所以在5V电源下可直接点亮LED。

 

                   图3.2 ICM7216测频电路原理框图

3.1.2方案2:

系统采用可编程逻辑器件(PLD,如ATV2500)作为信号处理及系统控制核心,完成包括计数、门控、显示等一系列工作。

该方案利用了PLD的可编程和大规模集成的特点,使电路大为简化,但此题使用PLD则不能充分发挥其特点及优势,并且测量精度不够高,导致系统性能价格比降低、系统功能扩展受到限制。

原理框图如图B—1—2所示

 

3.1.3方案3:

系统采用MCS——51系列单片机8032作为控制核心,门控信号由8032内部的计数定时器产生,单位为1µs。

由于单片机的计数频率上限较低(12MhZ晶振时约500khz),所以需对高频被测信号进行硬件欲分频处理,8032则完成运算、控制及显示功能。

由于使用了单片机,使整个系统具有极为灵活的可编程性,能方便地对系统进行功能扩展与改进。

原理框图如B—1—3所示。

 

3.2方案比较及确定

以上方案均需使用小信号放大、整形通道电路来提高系统的测量精度和灵敏度。

方案比较及选用依据:

显然方案二要比方案一简洁、新颖,但从系统设计的指标要求上看,要实现频率的测量范围0.1Hz-10MHz。

以频率下限0.1Hz比来说,要达到误差〈0.01%的目的,必须显示5位的有效数字,而使用直接测频的方法,要达到达个测量精度,需要主门连续开启1000S,由此可见,直接测频方法对低频测量是不现实的,而采用带有运算器的单片机则可以很容易地解决这个问题,实现课题要求。

也就是采用先测信号的周期,然后再通过单片机求周期的倒数的方法,从而得到我们所需要的低频信号的测量精度。

另外由于使用了功能较强的8032芯片,使本系统可以通过对软件改进而扩展功能,提高测量精度。

因此我们选择采用方案三作为具体实施的方案。

 

 

     

 

3.3 频率测量模块

对数字频率计电路各模块的实现有以下几种不同设计方案:

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

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

设计数器的值为N,由频率定义式可以计算得到被测信号频率为

                            f=N/T                                    (3.9)

  经分析,本测量在低频段的相对测量误差较大。

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

(2)组合法 直接测量周期法在低频段精度高。

组合测频法是指在低频时采用直接测量周期法测信号周期,然后换算成频率。

这种方法可以在一定程度上弥补方法

(1)的不足,但是难以确定最佳分测点,且电路实现较复杂。

(3)倍频法 直接测频法在高频段有着很高的精度。

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

(4)高精度恒误差测频法 通过对传统的测量方法的与研究,结合高精度恒误差测量原理,我们设计里一种测量精度与被测频率无关的硬件测频电路。

本方法立足于快速的宽位数高精度浮点数字运算。

   

                   图3.4 预置门控信号图

   如图3.4所示,预置门控信号是一个宽度为Tpr的脉冲,CNT1,CNT2是两个可控计数器,标准频率信号从CNT1的时钟输入端CLK输入,其频率为Fs;经整形后的被测信号从CNT2的时钟输入端CLK输入,其频率为Fxe,测得Fx。

   当预置门控信号为高电平时,经整形后的被测信号的上升沿通过D触发器的Q端同时启动计数器CNT1,CNT2。

CNT1,CNT2分别对整形后的被测信号(频率为Fx)和标准频率信号(频率为Fs)同时计数;预置门信号为低电平时,经整形后的被测信号的一个上升沿将使这两个计数器同时关闭。

   设在一次预置时间Tpr中对被测信号计数值Nx,对标准频率信号的计数值Ns,则下式成立

                         Fx/Nx=Fs/Ns                             

推得                   Fx=(Fs/Ns)·Nx                             

相对误差公式           

                       δ=±(2/Nδ+Fδ/Fδ)                            

   从误差分析中可以看出,其测量精度为Ns和标准频率精确度有关,而与被测频率无关。

显然Ns决定于预置门时间和标准频率信号的频率,其关系式如下:

                       Ns=Tpr·Fs                                  

   如果采用频率为60MHz的晶体振荡器,则有

                       |δ|≤1/Νs                                     

   若顶置门时间Tpr=o.1s,则

                Ns=0.1×60000000=6000000,   |δ|≤1.6×10¯6

可见,在整个测量范围内,精度比赛题发挥部分的要求高一个数量级,若采用更高频串的晶体振荡器或适当延长顶置门时间,精度则会更高。

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

   前三种方法本质上都是立足于频率基本定义,没有摆脱传统的测量方法的局限。

从下文的详细论述中可以看出,用方法(4)可以用单片机程序方便地完成宽位浮点数的数学运算,实现高精度测量。

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

3.4 周期测量模块

   

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

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

                      Tx=NTs                                       (3.15)

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

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

   

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

 计算公式为

                      Tx=(Ts·Ns)/Nx                               (3.16)

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

   从降低电路的复杂度及提高招度上考虑、显然方法

(2)远好于方法

(1),方法

(2)的测量电路完全可以使用高精度恒误差频率测量电路o

3.5 脉冲宽度测量模块

   在进行脉冲宽度的测量时,首先经信号处理电路进行处理,限制只有信号的50%幅度及其以上部分才能输入数字测量部分。

脉冲边沿被处理得非常陡峭,然后送入测量计数器进行测量。

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

由下式

                      Twx=Nx/Fs                                    (3.17)

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

3.6 周期脉冲信号占空比测量模块

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

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

3.7 标频发生电路

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

3.8 小信号处理部分

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

有以下几种方案。

   

(1)采用分立元件 使用场效应管做输入级,以提高输入阻抗。

用截止频率1000的三极管如9018做放大级。

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

   

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

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

   (3)立接采用比较器 采用比较器可以简单地完成设计。

采用高速比较器LM361可以处理高达10MHz的插入信号。

LM961有低输入失调电压和电压范围灵活等特点,响应时间最大仅20ns,输出电平可与TTL电平相匹配。

   综合考虑,本部分电路采用方案(3)。

比较器输入易受干扰,因此电路上采用净化电源并合理安排地线。

经最后实测,输入灵敏度4mV左右,完全满足小信号测量的需要。

4、硬件系统实现

   系统电路原理框图如4.1图所示,因输入信号为脉冲信号,所以直接将信号送入AT89C51单片机计数,但为了增强抗干扰能力及实现对非标准脉冲信号的测量,因此利用试密特触发器(74LS132)进行整形。

 

 

                    图4.1 系统电路原理框图

5、软件系统实现

   该方案主要利用89C51内部的定时器和数据处理,其程序设计相应软件包括:

主程序、数据处理、显示主程序等。

主程序流程图如5.1图所示。

 

                图5.1  主程序流程图

6、基本测量原理与理论误差分析

6.1 高精度恒定误差频率/周期测量技术

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

   

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

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

                         |Δet|≤1                                       (6.1)

而                     Fx/Nx=Fs/Ns                                   (6.2)

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

由上式可得

                     Fx=(Fs/Ns)·Nx                                   (6.4)

                     Fxe=[Fs/(Ns+Δet)]·Nx                             (6.5)

根据相对误差公式有

                    |δ|=ΔFxe/Fxe=|Fxe-Fx|/Fxe                           (6.6)

由上式得              ΔFxe/Fxe=|Δt|/Ns                                 (6.7)

因为                 |Δet|≤1                                           (6.8)

所以                 |Δet|/Ns≤1/Ns                                     (6.9)

即                   |δ|=ΔFxe/Fxe≤1/Ns                                (6.10)

                     Ns=Tpr·Fs                                      (6.11)

由上式可以得出以下结论

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

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

 

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

 (3)分变率误差分析

  先由单片机给出闸门开启信号,此时计数器并不计数,而是等到被测信号的上升沿到来时,才开始计数。

然后,两组计数器分别对被测信号和时标脉冲计数,当单片机给出闸门关闭信号后,计数器并不立即停止计数,而是等到被测信号下降沿到来的时刻才结束计数,完成一次测量过程。

可以看出,实际闸门与设定的闸门并不严格相等,但最大差值不超过被测信号的一个周期。

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

     fx=foNx/No                                                   (6.12)

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

     dfx=-(NxfodNo)/N02                                            (6.13)

      dN0=±1                                                     (6.14)

      τ=Nx/fx                                                       (6.15)

      相对误差为:

     e=ΔfX/fX=ΔNX/NX-ΔN0/N0+Δf0/f0           (6.16)                          式(5)中前两项分别表示计数器T0和计数器T1的误差,第三项为频率准确度。

由于计数是在相关同步门控时间τ内完成的,即由待测信号同步控制,因此同步门控τ与计数器T1的计数脉冲相关,且T/Tx的比值Nx为整数,故被测信号计数值不存在计数误差。

而计数器T0对时标的计数,由于门控τ的启闭时刻的随机性及T/T0之比值N0为非整数(T0为时标周期),在门控τ的启闭时刻分别有时间零头ΔT1和ΔT2无法计入,故存在±1误差。

当忽略频率准确度误差时,多周期同步法测频的最大误差为:

     em=±1/N=±1/(τf0)                                            (6.17)

   由式(6)可以看出,测量分辨率与被测信号频率的大小无关,仅与闸门时间及时标频率有关,即实现了被测频带内的等精度测量,闸门时间越长,时标频率越高,分辨率越高。

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

   预置门的概念与传统的闸门的概念是不同的。

预置门是指同时启动或停止标准频率信号计数器和被测信号计数器的门控信号。

硕置门的概念用于高精度恒定误差测频/测周期方法中,并称预置门的时间宽度为预置门时间。

   高精度恒定误差测频方法测量精度与预置门时间和标准频率有关,与被测信号的频率无关。

在预置门时间和闸门时间相同而被测信号频率不同的情况下,高精度恒误差额率测量法的测量精度不变,而直接测频法精度随着被测信号频率的增加而接近线性地增大。

6.3 高精度恒误差周期测量方法

 分析思路和结果均与对高精度恒误差频率测量相似或相同。

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

 根据方案中的脉冲宽度测量方法,分析脉宽测量误差。

 设被测信号脉宽为Twxe,标准频率信号频率为Fs,则脉冲宽度的测量值为

                       Twx=Nx/Fs                                    (6.18)

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1