1、单片机数字频率计频率测量在科技研究和实际应用中的作用日益重要。传统的频率计通采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号时不宜直接使用。频率信号抗干扰性强、易于传输 ,可以获得较高的测量精度。同时 ,频率测量方法的优化也越来越受到重视.并采用 AT89C51 单片机和相关硬软件实现。MCS51系列单片机具有体积小,功能强,性能价格比较高等特点,因此被广泛应用于工业控制和智能化仪器,仪表等领域。我们研制的频率计以89c51单片机为核心,具有性能优良,精度高,可靠性好等特点。 实现一个宽频域,高精度的频率计,一种有效的方法是:在高频段直接采用频率法,低
2、频段采用测周法。一般的数字频率计本身无计算能力因而难以使用测周发,而用89c51单片机构成的频率计却很容易做到这一点。对高频段和低频段的划分,会直接影响测量精度及速度。经分析我们将f=1MHz做为高频,采用直接测频法;将f=1Hz做为低频,采用测周期法。为了提高测量精度,我们又对高低频再进行分段。 以89C51单片机为控制器件的频率测量方法,并用C语言进行设计,采用单片机智能控制,结合外围电子电路,得以高低频率的精度测量。最终实现多功能数字频率计的设计方案,根据频率计的特点,可广泛应用于各种测试场所。 在基础理论和专业技术基础上,通过对数字频率计的设计,用十进制数字来显示被测信号频率的测量装置
3、。以精确迅速的特点测量信号频率,在本设计在实践理论上锻炼提高了自己的综合运用知识水平,为以后的开发及科研工作打下基础。2方案设计与初步论证:2.1. 频率测量方法概述 频率测量方法模拟法 数字法直读法比较法电容充放电式电子计数式电桥法谐振法差频法示波法拍频法李沙育图形法测周期法表1 频率测量方法直读法又称无源网络频率特性测量法;比较法是将被测频率信号与已知频率信号相比较 ,通过观、听比较结果 ,获得被测信号的频率;电容充放电式计数法是利用电子电路控制电容器充放电的次数 ,再用电磁式仪表测量充放电电流的大小 ,从而测出被测信号的频率值;电子计数法是根据频率定义进行测量的一种方法 ,它是用电子计数
4、器显示单位时间内通过被测信号的周期个数来实现频率的测量。 利用电子计数式测量频率具有精度高、测量范围宽、显示醒目直观、测量迅速 ,以及便于实现测量过程自动化等一系列优点 ,所以下面将重点介绍电子计数式测量频率的几种方法。 (1) 脉冲数定时测频法(M 法) : 此法是记录在确定时间 Tc内待测信号的脉冲个数 Mx ,则待测频率为 : Fx= Mx/ Tc 显然,时间 Tc 为准确值,测量的精度主要取决于计数 Mx的误差。其特点在于:测量方法简单;测量精度与待测信号频率和门控时间有关 ,当待测信号频率较低时 ,误差较大。 脉冲周期测频法(T法) : 此法是在待测信号的一个周期 Tx内,记录标准频
5、率信号变化次数 Mo。这种方 法测出的频率是: Fx = Mo/ Tx 此法的特点是低频检测时精度高 ,但当高频检测时误差较大。 脉冲数倍频测频法(AM法) : 此法是为克服 M 法在低频测量时精度不高的缺陷发展起来的。通过 A倍频,把待测信号频率放大 A 倍,以提高测量精度。其待测频率为: Fx= Mx/ ATo 其特点是待测信号脉冲间隔减小 ,间隔误差降低;精度比 M法高A倍 ,但控制电路较复杂。 脉冲数分频测频法(AT法) : 此法是为了提高T法高频测量时的精度形成的。由于T法测量时要求待测信号的周期不能太短 ,所以可通过A分频使待测信号的周期扩大A倍,所测频率为: Fx = AMo/
6、Tx 其特点是高频测量精度比T法高A倍;但控制电路也较复杂。 脉冲平均周期测频法(M/ T法) : 此法是在闸门时间 Tc内,同时用两个计数器分别记录待测信号的脉冲数 Mx 和标准信号的脉冲数Mo 。若标准信号的频率为Fo ,则待测信号频率为 : Fx = FoMx/ Mo M/ T 法在测高频时精度较高 ;但在测低频时精度较低。 多周期同步测频法: 是由闸门时间Tc与同步门控时间Td共同控制计数器计数的一种测量方法,待测信号频率与 M/ T法相同。此法的优点是 ,闸门时间与被测信号同步,消除了对被测信号计数产生的1个字误差 , 测量精度大大提高 ,且测量精度与待测信号的频率无关,达到了在整个
7、测量频段等精度测量。 3 确定实验方案31可用实验方案介绍3.1.1方案 1 采用频率计模块(如 ICM7216)构成 ,原理框图如图3.2 所示。特点是结构简单 ,量程可以自动切换。 ICM7216内部带有放大整形电路 ,可以直接输入模拟信号。外部振荡部分选用一块高精度晶振体和两个低温系数电容构成10MHz并联振荡电路。用转换开关选择 10ms ,0. 1s ,1s ,10s 四种闸门时间 ,同时量程自动切换。 缓冲电路是为了让频率计采用记忆方式 ,即计数过程中不显示数据 ,待计数过程结束后 ,显示测频结束 ,并将此显示结果保持到下一次计数结果 ,显示时间不小于1s ,小数点位置随量程自动移
8、动。芯片驱动电路输出 15mA 35mA 的峰值电流 ,所以在5V电源下可直接点亮 LED。 图3.2 ICM7216测频电路原理框图3.1.2方案 2:系统采用可编程逻辑器件(PLD,如ATV 2500)作为信号处理及系统控制核心,完成包括计数、门控、显示等一系列工作。该方案利用了PLD的可编程和大规模集成的特点,使电路大为简化,但此题使用PLD则不能充分发挥其特点及优势,并且测量精度不够高,导致系统性能价格比降低、系统功能扩展受到限制。原理框图如图 B12所示313方案3:系统采用MCS51系列单片机8032作为控制核心,门控信号由8032内部的计数定时器产生,单位为1 s。由于单片机的计
9、数频率上限较低(12MhZ晶振时约500khz),所以需对高频被测信号进行硬件欲分频处理,8032则完成运算、控制及显示功能。由于使用了单片机,使整个系统具有极为灵活的可编程性,能方便地对系统进行功能扩展与改进。原理框图如B13所示。3.2 方案比较及确定以上方案均需使用小信号放大、整形通道电路来提高系统的测量精度和灵敏度。方案比较及选用依据:显然方案二要比方案一简洁、新颖,但从系统设计的指标要求上看,要实现频率的测量范围01Hz-10MHz。以频率下限0.1Hz 比来说,要达到误差001的目的,必须显示5位的有效数字,而使用直接测频的方法,要达到达个测量精度,需要主门连续开启1000S,由此
10、可见,直接测频方法对低频测量是不现实的,而采用带有运算器的单片机则可以很容易地解决这个问题,实现课题要求。也就是采用先测信号的周期,然后再通过单片机求周期的倒数的方法,从而得到我们所需要的低频信号的测量精度。另外由于使用了功能较强的8032芯片,使本系统可以通过对软件改进而扩展功能,提高测量精度。因此我们选择采用方案三作为具体实施的方案。 3.3 频率测量模块对数字频率计电路各模块的实现有以下几种不同设计方案: 对频率测量模块有以下四种实现方法:(1)直接测频法 直接测频法是把被测频率信号经脉冲形成电路后加到闸门的一个输入端,只有在闸门开通时间T(以秒计)内,被计数的脉冲被送到十进制计数器进行
11、计数。设计数器的值为N,由频率定义式可以计算得到被测信号频率为 f=N/T (3.9) 经分析,本测量在低频段的相对测量误差较大。增大T可以提高测量精度,但在低频段仍不能满足该题发挥部分的要求。(2)组合法 直接测量周期法在低频段精度高。组合测频法是指在低频时采用直接测量周期法测信号周期,然后换算成频率。这种方法可以在一定程度上弥补方法(1)的不足,但是难以确定最佳分测点,且电路实现较复杂。(3)倍频法 直接测频法在高频段有着很高的精度。可以把频率测量范围分成多个频段,使用倍频技术,根据频段设置倍频系数将经整形的低频信号进行倍频后再进行测量,高频段则进行直接测量。(4)高精度恒误差测频法 通过
12、对传统的测量方法的与研究,结合高精度恒误差测量原理,我们设计里一种测量精度与被测频率无关的硬件测频电路。本方法立足于快速的宽位数高精度浮点数字运算。 图3.4 预置门控信号图 如图3.4所示,预置门控信号是一个宽度为Tpr的脉冲,CNT1,CNT2是两个可控计数器,标准频率信号从CNT1的时钟输入端CLK输入,其频率为Fs;经整形后的被测信号从CNT2的时钟输入端CLK输入,其频率为Fxe,测得Fx。 当预置门控信号为高电平时,经整形后的被测信号的上升沿通过D触发器的Q端同时启动计数器CNT1,CNT2。CNT1,CNT2分别对整形后的被测信号(频率为Fx)和标准频率信号(频率为Fs)同时计数
13、;预置门信号为低电平时,经整形后的被测信号的一个上升沿将使这两个计数器同时关闭。 设在一次预置时间Tpr中对被测信号计数值Nx,对标准频率信号的计数值Ns,则下式成立 F x/Nx=Fs/Ns 推得 Fx=(Fs/Ns)Nx 相对误差公式 =(2/N+F/F) 从误差分析中可以看出,其测量精度为Ns和标准频率精确度有关,而与被测频率无关。显然Ns决定于预置门时间和标准频率信号的频率,其关系式如下: Ns=TprFs 如果采用频率为60 MHz的晶体振荡器,则有 |1/s 若顶置门时间Tpro1s,则 Ns=0.160000000=6000000, |1.6106可见,在整个测量范围内,精度比赛
14、题发挥部分的要求高一个数量级,若采用更高频串的晶体振荡器或适当延长顶置门时间,精度则会更高。 以上四种方法中,倍频法虽然在理论上可以达到很高的精度,但在低频段,就目前常规的锁相器件而言,锁相电路工作性能不理想,频率小于looHz时甚至不能工作. 前三种方法本质上都是立足于频率基本定义,没有摆脱传统的测量方法的局限。从下文的详细论述中可以看出,用方法(4)可以用单片机程序方便地完成宽位浮点数的数学运算,实现高精度测量。 基于上述论证及第二部分中详细的理论分析,我们拟选择方法(4)。3.4 周期测量模块 (1)直接周期测量法 用被测信号经放大整形后形成的方波信号直接控制计数门控电路,使主门开放时间
15、等于信号周期Tx,时标为Ts的脉冲在主门开放时间进入计数器。设T为被测周期,Ts为时标,在Ts期间计数值为N,可以根据以下公式来算得被测信号周期: Tx=NTs (3.15)经误差分析表明,被测信号频率越高,测量误差越大。 采用对多个周期进行计数取平均值的方法虽可提高精皮,但如果要达到赛题要求,测量频率为01Hz信号时,每测一次至少要等待1000s,显然是不可取的。 (2)高料度恒误差周期测量方法 本方法在测量电路和测量精度上与高精度恒误差频率测量完全相同,只是在进行计算时公式不同,用周期T代换高精度恒误差频率测量公式中的频率因数即可. 计算公式为 Tx=(TsNs)/Nx (3.16)式中,
16、Tx为被测信号周期的测量值,Ns,Nx分别与(12)式中的Ns,Nx含义相同。 从降低电路的复杂度及提高招度上考虑、显然方法(2)远好于方法(1),方法(2)的测量电路完全可以使用高精度恒误差频率测量电路o3.5 脉冲宽度测量模块 在进行脉冲宽度的测量时,首先经信号处理电路进行处理,限制只有信号的50幅度及其以上部分才能输入数字测量部分。脉冲边沿被处理得非常陡峭,然后送入测量计数器进行测量。 测量电路在检测到脉冲的上升沿时打开计数器,在下降沿时关掉计数器。由下式 Twx=Nx/Fs (3.17)可知计数值既为测得的脉冲宽度。3.6 周期脉冲信号占空比测量模块 测一个脉冲信号的脉宽,记其值为Tw
17、x1;信号反相后,再测一次脉宽并记录其值Twx2,通过以下公式汁算: 占空比=Twx1/(Twx1+Twx2)100% (3.18)3.7 标频发生电路本模块采用高频率稳定度和高精度的恒温可微调的晶体振荡器作标频发生电跃3.8 小信号处理部分小信号处理部分受限于宽带放大器的性能,放大电路需要附有高速整形电路。有以下几种方案。 (1)采用分立元件 使用场效应管做输入级,以提高输入阻抗。用截止频率1000的三极管如9018做放大级。由于电路复杂,要调节部分较多,且一致性差,故不采用。 (2)采用运算放大器 电路简洁,但因为与TTL电平接口而另需电平移位电路。并且要用运放做一高速宽带放大器,市场上难
18、以买到高速运放,应用受到了限制。 (3)立接采用比较器 采用比较器可以简单地完成设计。采用高速比较器LM361可以处理高达10 MHz的插入信号。LM961有低输入失调电压和电压范围灵活等特点,响应时间最大仅20ns,输出电平可与TTL电平相匹配。 综合考虑,本部分电路采用方案(3)。比较器输入易受干扰,因此电路上采用净化电源并合理安排地线。经最后实测,输入灵敏度4mV左右,完全满足小信号测量的需要。4、硬件系统实现 系统电路原理框图如4.1图所示,因输入信号为脉冲信号,所以直接将信号送入AT89C51单片机计数,但为了增强抗干扰能力及实现对非标准脉冲信号的测量,因此利用试密特触发器(74LS
19、132)进行整形。 图4.1 系统电路原理框图5、软件系统实现 该方案主要利用89C51内部的定时器和数据处理,其程序设计相应软件包括:主程序、数据处理、显示主程序等。主程序流程图如5.1图所示。 图5.1 主程序流程图6、基本测量原理与理论误差分析6.1 高精度恒定误差频率周期测量技术频率测量误差分析及其公式推导如下。 (1)量化误差 设测得频率为Fx被测频率真实值为Fxe标准频率为Fs,在一次测量中预置门时间为Tpr,被测信号计数值为Nx,标推频率信号计数值为Ns . Fx计数的起停时间都是由该信号的上升沿触发的,在Tpr时间内对Fx的计数Nx无误差;在此时间内Fs的计数从Ns最多相差一个
20、脉冲,即 |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|/Ns1/Ns (6.9)即 |=Fxe/Fxe1/Ns (6.10) Ns=TprFs (6.11)由上式可以得出以下结论相对测量误差与频率无关。增大Tpr或提高Fs,可以增大Ns,减少测量误差,提高测量精度。 (2)
21、标准频率误差 标准频率误差为Fs/Fs,因为晶体的稳定度很高,标准频率误差可以进行校准,相对于量化误差,校准后的标准频率误差可以忽略。 (3)分变率误差分析先由单片机给出闸门开启信号 ,此时计数器并不计数 ,而是等到被测信号的上升沿到来时,才开始计数。然后,两组计数器分别对被测信号和时标脉冲计数,当单片机给出闸门关闭信号后 ,计数器并不立即停止计数 ,而是等到被测信号下降沿到来的时刻才结束计数 ,完成一次测量过程。可以看出 ,实际闸门与设定的闸门并不严格相等 ,但最大差值不超过被测信号的一个周期。 设被测信号的计数为 NX ,对时标的计数为 N0 ,时标频率为 f0 ,闸门时间为,则被测信号频
22、率为: 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 的比值 N
23、x为整数 ,故被测信号计数值不存在计数误差。而计数器 T0 对时标的计数 ,由于门控的启闭时刻的随机性及 T/ T0之比值 N0 为非整数( T0 为时标周期) ,在门控的启闭时刻分别有时间零头T1 和 T2 无法计入,故存在 1 误差。当忽略频率准确度误差时,多周期同步法测频的最大误差为: em = 1/ N = 1/ (f0) (6.17) 由式(6)可以看出 ,测量分辨率与被测信号频率的大小无关 ,仅与闸门时间及时标频率有关 ,即实现了被测频带内的等精度测量,闸门时间越长,时标频率越高 ,分辨率越高。 6.2 预置门时间信号与闸门时间信号 预置门的概念与传统的闸门的概念是不同的。预置门是
24、指同时启动或停止标准频率信号计数器和被测信号计数器的门控信号。硕置门的概念用于高精度恒定误差测频测周期方法中,并称预置门的时间宽度为预置门时间。 高精度恒定误差测频方法测量精度与预置门时间和标准频率有关,与被测信号的频率无关。在预置门时间和闸门时间相同而被测信号频率不同的情况下,高精度恒误差额率测量法的测量精度不变,而直接测频法精度随着被测信号频率的增加而接近线性地增大。6.3 高精度恒误差周期测量方法 分析思路和结果均与对高精度恒误差频率测量相似或相同。6.4 脉冲宽度测量理论误差分析 根据方案中的脉冲宽度测量方法,分析脉宽测量误差。 设被测信号脉宽为Twxe,标准频率信号频率为Fs,则脉冲
25、宽度的测量值为 Twx=Nx/Fs (6.18) 在一次测量中,对标准频率信号的计数值Nx可能产生1个标准频率信号周期的计数误差,则脉宽测量相对误差为 |Twx/Twx|=(1Fs)/(NxFs)=1/Nx (6.19)其中NxTwxFs.可以看出,在Fs一定时,脉宽越小,误差越大。 当Twx=100s,Fs=60MHz时,Nx6000,则有 |Twx/Twx|=1/6000=0.176.5周期脉冲信号占空比测量误差分析 使用第一部分中所述的占空比方法,根据误差合成原理,周期测量相对误差最大恒等于脉冲宽度测量相对误差。 在标准频率为60MHz,被测频率1kHz(即周期为0.001s)时。设其占
26、空比为10,如果要满足题日部分要求,由脉冲宽测量相对误羌公式计算出的相对误差应小于 1(0.00110%60106)160000.17实际精度完全可以超过这个要求。7、系统设计与电路分析7.1稳压电源设计 本项设计要求的电源:12V、-12v、+5v稳压电源。在进行电源设计时,功率交流输入端加一级电源滤波器,以降低工频频率干扰。7.2测量控制电路 单片机(AT89C51)完成整个测量电路的控制和数据处理两片Dpl5H016完成计数器功能。键盘信号由AB9c51进行处理。AT89C51从ispLSI1016读回计数数据进行高精度浮点运算,并向显示电路输出测量结果。电路如图7.1所示。 图7.1
27、测量控制电路7.3 输入信号处理部分为测量小侍号,需要在输入端加前置信号处理电路,将小信号放大后送入整形电路.7.4 小信号处理部分 电路如图7.2所示,在调试中发现LM361的输出在零瞬间有些毛刺,在输出与地间并联一只100Hz瓷片电容消除了毛刺,且处理后的波形仍较陡峭,本部分电路抗干扰能力也很强。 图7.2 LM361信号电路7.5 标准频率方波发生电路 本设计采用60Hz的晶体振荡器产生标准频率方波信号(频标)供数字测量电路使用。晶体振荡器采用恒温晶振,稳定度为:2.010724小时。7.6 显示器电路 显示器电路采用7SEG LED显示器。 因为本设计用高精度恒误差的频率和周期测试方法
28、,预置门时间为15s,在标准频率信号为60MHz的情况下,根据上文讨论的高精度恒误差的频率和周期测试方法相对误差计算公式可以算出测量精度为 1(1.560106)=1.1108即能够显示接近8位有效数字,所以,电路中采用了8位LED显示器.7.7 实际数字测量部分 本题目要求测量功能模块较多,题目中要求的被测信号以及标准频率信号为1MHz,发挥部分要求为10MHz,高频信号之间的信号干扰非常强。在方案实现过程中要求处处考虑到干扰问题,减少布线的复杂度。 本设计拟定计数器所采用电路中的两个计数器应不低于60MHz。 我们选用LATTICE公司高速ispLSI器件(在系统可编程大规模集成电路)。在
29、一片ispLSI器件中可以完成一个或多个模块的设计,大大降低了电路复杂度,减少引线信号间的干扰,提高电路的可靠性、稳定性。鉴于本题目要求测量功能模块较多、我们采用两片工作频率为60MHz的ispLSI1016-60器件。 采用在系统可编程逻辑器件来设计测量功能模块电路。 在具体实现过程中我们将以下模块做在两片ispLSI1016器件中:a频率测量模块b周期测量模块;c脉冲宽度测量模块;d脉冲占空比测量模块;e自校电路。 图7.3 ispLSI电路原理图各模块电路详细设计如下: (1)频率测量与周期测量电路 因为本设计采用高精度恒误差频率测量法与高精度恒误差周期测量法,这两种方法使用的电路完全相
30、同,所以在方案实现中,频率测量与周期测量用同一电路,只是单片机运算部分算法不同。 频率测量与周期测量电路由前图中的控制信号及以下三个子模块所构成: a. CONTRL本模块的控制部分,主要接收单片机的指令控制计数器CONT1、CONT2。 b. CONTl对由被测信号整形后形成的脉冲进行计数。 c. CONT2 对标准频率信号进行计数。 根据高精度恒误差频率和周期测量原理,本模块电路按以下方式进行工作:经整形后被测信号脉冲从CONTRL的FIN端输人,标准频率信号从CONTRL的FSD端输入,CONTRL的CLK输入端是本模块电路的工作初始化信号输入端。在进行频率或周期测量时,进行以下几步:
31、a. 在CONTRL的CLR端加一正脉冲信号以完成测试电路状态的初始化; b. 由预置门控信号将CONTRL的START端置高电平,预置门开始定时。同时出被测信号的上升沿打开计数器CONT1,并使标准频率信号进入计数器CONT2; c. 须置门定时结束信号把CONTRL的START端置为低电平。这位在被测信号的下一个脉冲的上升沿到来时,CONTl停止计数,同时输入CONT2的标准频率信号被关断。 d. 控制部分CONTRL的EEND端输出低电乎来指示测量计数结束。单片机读回CONTl和CONT2的计数值,根据高精度恒误差测量公式进行浮点运算,计算出被测信号的频率或周期值。 (2) 控制部分设计
32、 控制部分原理图如图7.4所示: 图7.4 控制设计电路图 当D触发器的输入端START为高电平时,在FIN端来一个上升沿时,Q端为高电平,导通FINCLK1和FSDCLK2,同时EEND被置为高电平;在D触发器的输入端START为低电平时,当FIN端输入一个脉冲上升沿,FINCLK1和FSDCLK2的信号通道披切断。 计数器CONT1是用8个四位并行二进制计数器按行波计数器原理所构成的32位二进制计数器,输出8位数据总线,分4次将32位数据全部读出。CONT1的设计是用ABEL语言实现的。 ispLSI1016器件在结构上是由16个GLB所构成,每个GLB中含有四个可配置的触发器、(对应着G
33、LB的四个输出端)。根据GLB的结构及我们的设计经验,四位并行二进制计数器在ispLSI中的布线是最优的。 我们在EDA设计中严格采用模块设计法、总体设计采用原理图输入方式,每个子模块都采用ABEL语言描述。 (3)脉冲宽度测量和占空比列量电路 本模块的电路设计在ispLSIl016中。 根据第二部分所述的脉宽副量原理,设计电路原理图如下所示。 图7.5 脉冲测量宽度和占空比测量电路输入到本模块的被测量信号是经过信号处理电路处理后的被测信号,该信号的上升沿和下降沿信号对应于未经处理时的被测信号的50幅度时上升沿和下降沿信号。 信号从FIN端输入,CLR为本模块电路的工作初始化信号输入端。STA
34、RT为本电路的工作使能端,PUL端输出如图中所示GATE的输入端PUL。 测量脉冲宽度采用以下几步: a向CONTRL2的CLR端送一个脉冲以进行电路的工作状态初始化。 b将GATE的CNT端置高电平,表尔进入脉冲宽度测量,这时CONT2的输入信号为PUL&FSD c在经处理后的被测脉冲的上升沿到来时,CONTRAL2的PUL端输出高电平,标准频率信号进入计数器CONT2。 d在经处理后的被测脉冲的下降沿到来时,CONTRL2的PUL端输出低电平,计数器CONT2被关断。 e单片机渎计数器CONT2的结果通过所述的测量原理公式计算得出脉冲宽度. 占空比的测量方法是通过测量脉冲宽度记录CONT2
35、的计数值Twx1,然后将输入信号反相,再测量其脉冲宽度,测得CONT2计数值Twx2,则可以计算出 占空比Twx1/(Twx1Twx2)100% (4)自校电路为了检测系统的精度,本电路附加了自校电路,用以产生1MHz信号,可在功能按键控制下进行自校。8、高频抗干扰设计 在高频情况下,线路之间的干扰对频率测量结果影响很大,因此我们采用了一些高频线路抗干扰措施。 测量电路的电路板采用自制印刷电路板,减少了引线交叉,降低了高频引线干扰,效果明显。例如,在模块初步设计和调试期间,我们在实验板上采用直接连线方式,因电路工作不稳定而出现了很大的测量误差。在自制印刷电路板上完成设计时,这个现象消失了。 被
36、测信号经过前置处理后,引向测量部分的引线全部采用屏蔽线。 由于输入信号的变化可能很大,在大信号时能满足要求而在50 mv(峰峰值)时,很容易受到干扰。电路在设计时,采用大面积接地和金属屏蔽层,输入引线采用高频输入线,以消除外界的电磁场干扰;在每一部分的电源电路均采用电感、电容滤波,消除各部分电路的相互干扰;而且在电路中采用施密特触发器,提高比较门限,消除了大部分杂波,保证了信号的纯真度;对机械按键在闭合时伴有的抖动,加上了防抖控制;单片机还采用了“看门狗”电路防止CPU失控,确保系统安全运行;在软件上采用软件陷阱、容错技术和均值滤波等抗干扰措施,提高了抗干扰特性;采用四字节乘除法保证了测试的精
37、度在数据处理时不受影响。9,频率计的软件设计9.1计数原理信号经过整形成为方波,输入到 端,在P3.2处于低电平时进行初始化操作;TR0置位,打开定时器/计数器;GATE=1,使T0在TR0和 均为1时开始计数;将T0的高八位单元TH0和低八位单元TL0均赋值00H,使T0由0开始计数(如图7所示)。 图7 计数原理T0初始化完成后,TR0=1,GATE=1,此时T0等待 升为高电平,高电平到达,T0启动计数。每一机器周期,T0自动加1计数。当 降为低电平后,由于不能同时满足TR0和 均为高电平,故T0停止计数。T0中存储的是以周期数表示的脉宽。经式(2)计算得出频率f为 (8) 此计算过程调
38、用无符号双字除法程序来实现。 为显示频率,必须将二进制码转换为BCD码,这一过程分两步完成。第一步,二进制转换成压缩BCD码;第二步,将压缩BCD码分送各缓冲区,调用显示子程序,送数码管延时显示频率值。 9.2总体软件编程: 921、设计方案 利用AT89C51单片机的T0、T1的定时计数器功能,来完成对输入的信号进行频率计数,计数的频率结果通过4位动态数码管显示出来。要求能够对010KHZ的信号频率进行准确计数,计数误差不超过1HZ。922、电路图923、工作原理1). 定时/计数器T0和T1的工作方式设置,由图可知,T0是工作在计数状态下,对输入的频率信号进行计数,但对工作在计数状态下的T0,最大计数值为fOSC/12,由于fOSC12MHz,因此:T0的最大计数频率为10KHz。对于频率的概念就是在一秒只数脉冲的个数,即为频率值。所以T1工作在定时状态下,每定时1秒中到,就停止T0的计数,而从T0的计数单元中读取计数的数值,然后进行数据处理。送到数码管显示出来。2) . T1工作在定时状态下,最大定时时间为65ms,达不到1秒的定时,所以采用定时50ms,共定时20次,即可完成1秒的定时功能。9