采用等精度测频原理的频率计的设计_第1页
采用等精度测频原理的频率计的设计_第2页
采用等精度测频原理的频率计的设计_第3页
采用等精度测频原理的频率计的设计_第4页
采用等精度测频原理的频率计的设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、采用等精度测频原理的频率计的设计一.设计要求1 .设计一个用等精度测频原理的频率计。2 .频率测量测量范围19999;3 .用4位带小数点数码管显示其频率;二.测频原理及误差分析1 .常用的直接测频方法主要有测频法和测周期法两种。2 .测频法就是在确定的闸门时间 Tw内,记录被测信号的变化周期数(或脉冲个数)Nx,则被测信号的频率为:fx=Nx/Tw。3 .测周期法需要有标准信号的频率fs,在待测信号的一个周期Tx内,记录标准频率的周 期数Ns,则被测信号的频率为:fx=fs/Ns 。4 .这两种方法的计数值会产生土 1个字误差,并且测试精度与计数器中记录的数值Nx或Ns有关。为了保证测试精度

2、,一般对于低频信号采用测周期法;对于高频信号采用测频 法,因此测试时很不方便,所以人门提出等精度测频方法。5 .等精度测频方法是在直接测频方法的基础上发展起来的。6 .它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步,因此,测除了对被测信号计数所产生土 1个字误差,并且达到了在整个测试频段的等精度测量。预置闸门k ,口 一 7I_!实际闸门k -二 一 7标准信号juiuiiiiuji皿皿tiumiimi皿皿即1皿皿1!< M W _ »被测信号1_|_I_I_I_»IIIL* MX1I等精度测频原理波形图7 .在测量过程中,有两个计数器分别对标准

3、信号和被测信号同时计数。8 .首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。然后预置闸门关闭信号(下降沿)到时,计数器并不立即停止计数,而是等到被测信号的 上升沿到来时才结束计数,完成一次测量过程。可以看出,实际闸门时间P与预置闸门时问T 1并不严格相等,但差值不超过被测信号的一个周期9 .设在一次实际闸门时间P中计数器对被测信号的计数值为Nx,对标准信号的计数值为Nso10 .标准信号的频率为fs ,则被测信号的频率为11 .由式(1)可知,若忽略标频fs的误差,则等精度测频可能产生的相对误差为12 . 6 =(|fxc

4、-fx|/fxe) X 100% (2)13 .其中fxe为被测信号频率的准确值。14 . 5 =| A Ns|/Ns < 1/Ns=1/( r - fs)由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和 标准信号频率有关,即实现了整个测试频段的等精度测量。闸门时间越长,标准频率越高,测频的相对误差就越小。标准频率可由稳定度好、精度高的高频率晶体振荡器产生,在保证测量精度不变的前 提下,提高标准信号频率,可使闸门时间缩短,即提高测试速度。等精度测频的实现方法可简化为下图所示的框图三.设计步骤CNT1和CNT此两个可控计数器,标准频率(fs)信号从CNT1的时钟卒

5、&入端CLKK入;经整形后的被测信号(fx )从CNT2的时钟卒&入端CLK输入。每个计数器中的CEN俞入端为时钟使能端控制时钟输入。当预置门信号为高电平(预置时间开始)时,被测信号的上升沿通过D触发器的输出端,同时启动两个计数器计数;同样,当预置门信号为低电平(预置时间结束)时, 被测信号的上升沿通过D触发器的输出端,同时关闭计数器的计数。系统组成系统由分频器、计数器1、计数器2、D触发器等组成。分频器出来的信号作为等精度测频原理的预置闸门信号。其中D触发器,计数器2和计数器1的作用与前2页图中所示相同。运算模块就是完成公式(1)的运算。复位主要对分频、计数器1和计数器2进行

6、清零操作。采用等精度测频原理的频率计的程序与仿真PLJu 1 kc 米t el k Xtalka 1 ar-m0datalC 13 - - 0>al anm0al ale1cd i ant 3 - - 0 Jd at al C 1 3 . . 0 一文件名:PLJ.vhd。-功能:4位显小的等精度频率计。-最后修改日期:2004.4.14。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity PLJ isport(clk:in

7、 std_logic;-tclk:in std_logic;-start:in std_logic;-alarm0,alarm1:out std_logic; -dian:out std_logic_vector(3 downto 0);-data1:out integer range 0 to 9999);-end PLJ;architecture behav of PLJ issignal q:integer range 0 to 9999;-signal q1:integer range 0 to 10000;-signal q2:integer range 0 to 20000;-si

8、gnal en,en1:std_logic;-signal qq,qqq:integer range 0 to 200000000;-signal data0:integer range 0 to 9999;-基准时钟(10KHz)被测信号复位信号超量程,欠量程显示小数点频率数据预置闸门分频系数 被测信号计数器 基准信号计数器 预置闸门,实际闸门运算器频率数据中间信号beginprocess(clk)-此进程得到一个预置闸门信号beginif clk'event and clk='1' thenif start='1' then q<=0;en&l

9、t;='0'elsif q=9999 then q<=9999;en<='0'else q<=q+1;en<='1'end if;end if;end process;process(tclk) -此进程计被测信号脉冲数,和得到一个实际闸门信号beginif tclk'event and tclk='1' thenif start='1' then q1<=0;en1<='0'elsif en='1' then q1<=q1+1;en

10、1<='1'else en1<='0'end if;end if;end process;process(clk) -此进程完成在实际闸门时间内,计基准脉冲数beginif clk'event and clk='1' thenif start='1' then q2<=0;elsif en1='1' thenif q2=20000 then q2<=20000;else q2<=q2+1;end if;end if;end if;end process;process(clk)

11、-此进程完成等精度频率计的运算beginif clk'event and clk='1' thenif start='1' thendata0<=0;dian<="0000"alarm0<='0'alarm1<='0'qqq<=0;qq<=00;elsif en1='0' thenif q1>=1000 then qq<=q1*10000;-根据 q1 的大小来判断小数点的位置if qqq<qq then qqq<=qqq+q2

12、;data0<=data0+1;dian<="0000"完成数据运算elsif data0>=10000 then alarm0<='1'-超量程显示else data1<=data0;end if;elsif q1>=100 then qq<=q1*100000;if qqq<qq then qqq<=qqq+q2;data0<=data0+1;elsif data0>=10000 then data1<=1000;dian<="0000"else data1

13、<=data0;dian<="0010"end if;elsif q1>=10 then qq<=q1*1000000;if qqq<qq then qqq<=qqq+q2;data0<=data0+1;elsif data0>=10000 then data1<=1000;dian<="0010"else data1<=data0;dian<="0100"end if;elsif q1>=1 then qq<=q1*10000000;if qqq&l

14、t;qq then qqq<=qqq+q2;data0<=data0+1;elsif data0>=10000 then data1<=1000;dian<="0100"else data1<=data0;dian<="1000"end if;end if;elsif q2>19999 then alarm1<='1'-欠量程显示else alarm1<='0'end if;end if;end process;end behav;矶mri elkW q m en

15、 tclkL sn1 M q1 瞅垠 » qq 国r qqq 瞅 dals£i datal dianDO0DO附录DO O_DO口-0000alarmDtA alarml等精度频率计仿真图一欠量程IM 鼻 me: n_j对 art 2 elk 型q m 百n ticlkLU enl 型ql .他q2 a叫 qqq jOl dataQ datal dian alarmO frf31 alarml等精度频率计仿真图一超量程Name: startelk4q即 en»- iclknl pn I册q"cj24qq即qqq回/daiaOdataldian-alarm

16、O alarmlbktm自: start elkQ/ q m an K- tclk 印 enl Q/ ql 由q2 苗qq QZ qqq L_Z dalaO 亳杉dstl dian-l> alarmO -t> alarml等精度频率计仿真图一5tclk=clkgX1111000DK111188680m11120*11120000等精度频率计仿真图一9tclk=clk200 .Ous400. Ous600. Ous800.Qus0Vsd小0等精度频率计仿真图一50tclk=clkMame;start elkEiZ q EM enm en1GiZ q1 d/ q2 W qq QZ qq

17、q W dataO datal 与"dian -E alarmO alarmlName: »- gtan | elk 舐q Qk en »" tClk m enl 酰q1 酬q2 W qq 心qqq 瞅 dataO datal dian-K alarmO alarml等精度频率计仿真图一80tclk=clkName:» elk瞅q 皿 en IB- tclk m mM 瞅q1 aq2 W qq 觎qqq a dataOdat31 dian alarmO -i alamnil等精度频率计仿真图一300tclk=clk时 WEE: 2- srart

18、 - elk N q ol en 1> itlk LJ en1 呼q1 a q2 qq qqq a dataO 与,F dmtal -y小曲larmO -E «ilarrn1Valui200 Ous如口 Ou£GOO OusBOO. Ous1 0msnLpLRTTrLTLTLnLmT"LrLrLnLrLnnrLrLnLrLnnruTLK:ETJUDZXRnDCECZ9:9000(sooooooa口:900000Wo).:ioooo0Xloo口0000)(1000X0100010D90DName:start0800.Ousm enGi en1aq1“q2OiZ qqL1Z qqqa dataOdatal亳承dianalarmOalarml9999T口 XX2Km0X2000口口口口0川口cioooo0二封口0X2口00000031000000 200等精度频率计仿真图一5000tclk=clk3- start0elk0即q-一i eni

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论