欢迎来到天天文库
浏览记录
ID:38225363
大小:348.96 KB
页数:5页
时间:2019-06-01
《等精度频率计设计[1]》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、HUST等精度频率计设计报告创新2班(电气0515班)李柱炎一、频率计的原理测量频率的方法有三种:一是测频法,原理是在给定的时间内(比如1s)的时间内,统计被测信号脉冲的个数,即可得出频率。此方法适用于测量高频信号。二是测周法,原理是测量信号一个周期的时间,周期的倒数即为信号的频率。此方法适用于测量低频信号。三是多周期同步法,等精度频率计即基于此原理。此方法适用于各种频率。二、等精度频率计的原理图1多周期同步法中,实际的信号闸门时间不是固定的值,而是被测信号的整周期倍,即与被测信号同步,因此消除了对被测信号计数时产生的±1个字误差,测量精度大大提高,而且达到了在整
2、个测量频段的等精度测量,其原理框图和波形图如图1所示。设na、nb分别为计数器a和b记得的数值,τ'为闸门时间,则na=τ'·fx(1)nb=τ'·f0(2)fX/f0=na/nb计数器a的计数脉冲与闸门的开闭是完全同步的,因而不存在±1个字的计数误差,由式(3)微分可得:dnb=±1,τ'=nb/f0(5)得到测量分辨率:dfx/fx=±1/(τ'×f0)(6)由式(6)可以看出,测量分辨率与被测频率的大小无关,仅与取样时间及时基频率有关,可以实现被测频带内的等精度测量。取样时间越长,时基频率越高,分辨率越高。多周期同步法与传统的计数法测频比较,测量精度明显提高
3、。三、等精度频率计的架构等精度频率计架构如图2所示。频率计由一个D触发器,两个24位的计数器,控制部件,运算部件,输出转换与显示部件构成。计数器Stcount(Counter)(上面的那个)对标准信号进行计数,计数器UKcount(Counter)(下面的那个)对被测信号进行计数。运算部件由MoveBD、Div32、DivideIF三个模块构成。BinToBCD模块为输出转换与显示部件。FreCon为控制部件,协调和控制触HUST发器、计数器、运算部件、输出转换与显示部件的工作。图21、计数器的设计由于标准信号的频率为10M,如果被测信号频率为1Hz,那么计数器的
4、计数值可达107,24位计数器的最大计数值为1.6×107,故24位计数器满足要求。2、运算部件的设计频率计需要对计数器的计数值进行运算之后才能得到被测信号频率。运算部件的核心部件是除法器,除法器是32位的。但由于被测信号的频率范围很大,两个计数器的计数器都无法预测,仅仅除法器,得到的结果精度不高。为了提高运算结果,设计了一个对被除数进行预处理的模块(MoveBD)和一个对运算结果进行后处理的模块(DivideIF)。MoveBD模块对被除数进行移位,以保证送到除法器的被除数的最高位为1,这样可以增加除法运算的商的有效位数。MoveBD模块输出两个数,一个为处理后
5、的被除数(32位),另一个是左移位的次数。DivideIF模块对运算结果进行移位,以得到正确的无阶码的结果。输出结果分为两部分,一部分为整数部分(Iout,4位),另一部分为小数部分(Fout,32位)。该结果隐含了以被测信号的频率为指数(十进制)。除法器的算法:(1)、初始化RA、RB、RC、Res四个32位寄存器(RA存放被除数,RB存放除数,Res存放商),移位次数寄存器i。RC=0,Res=0,i=0。(2)、从高位到低位,把RA的一位移入RC的最低位,Res左移一位,i加1。(3)、RC和RB比较,如果RC>=RB,Res加1。(4)、如果i<32,则跳
6、回(2)HUST(5)输出商,结束除法运算。除法器模块(Div32)的代码见文件夹“VerilogHDL代码”下面的文件:Div32.vMoveBD模块的代码见文件夹“VerilogHDL代码”下面的文件:MoveBD.vDivideIF模块的代码见文件夹“VerilogHDL代码”下面的文件:DivideIF.v3、输出转换与显示部件的设计输出转换与显示部件的架构如图3所示。图3将二进制数转换为耳BCD码表示的十进数的算法:假如要将一个32位二进制整数转换为BCD码表示的十进制数。(1)、初始化寄存器Databuf、Dataout、DB,i,DB存放二进数每一位
7、的BCD码形式十进制数的权值(比如二进数01110000第5位的权为16,那么DB中的内容为0000_0001_0110),Databuf、Dataout存放对两个BCD码形式十进制数相加后的中间结果。i存放加法次数。DB的初始值为十进数2147483648(231)的BCD码,Databuf,Dataout,i均初始化为32。(2)、若第i位为1,则将DB和Dataout中的数送到BCD码加法器中相加,否则第i位为0,则将0和Dataout中的数送到BCD码加法器中相加。(3)、待加法器中的结果稳定后,将结果保存到Databuf中。(4)、待Databuf中数稳
8、定后,将D
此文档下载收益归作者所有