原创 数字频率计系统设计[ZT]

2008-5-25 15:05 2493 5 6 分类: 模拟
数字频率计系统设计[ZT]
作    者:  刘  昊    黄  建    李慧来
指导教师:  黄根春

摘要:在整个1Hz~15MHz频带范围内采用等精度测量法进行频率的测量。在正确掌握以上等精度测频原理的基础上,通过verilog硬件描述语言在可编程逻辑器件CPLD实现测频模块的集成化。
技术指标与要求
       频率测量
范围   信号:方波
         幅度:大于1.68V
         频率:1Hz~15MHz
一.           系统总体设计
    

预置门

精确门T

计数器1

计数器2




MCU

89S52

键盘

显示

标准频率产生电路

整形放大
处理理

阻抗变换

信号输入












                                                                                                                    

(图1  数字频率设计框图)      
  
二.系统功能的实现
频率测量部分
方案一:直接测频法
在确定的闸门时间T内,通过计数器记录待测信号周期变化的次数N来确定信号的频率fx,
即 fx=N/T;
由于闸门开启和关闭的时间对于fx来说都是随机的,因而存在±1个脉冲周期的误差,
测量相对误差为δ=Tx/T=1/(fx*T);
由上式可以看出,在闸门时间固定的情况下,被测信号频率越高,δ越小,测量精确度越高。因此要确保精确度的要求,直接测频法只适用于对高频信号的测频。一般用于测量频率高于10KHz的信号频率。

方案二:间接测周法
在被测信号的一个周期内,通过计数器测量频率为f0的基准信号的周期变化次数N,则被测信号的频率fx,即 fx=f0/N;
由于被测信号与基准信号的上升沿(或下降沿)不能保证同步,因而此方法存在的量化误差为一个基准信号周期T0,
测量相对误差为:δ=T0/Tx;
由上式可知,信号的周期越长,用测周法测频的精度越高,因而测周法只适用于对低频信号的测频。一般在信号频率小于10Hz时采用此方法。
方案三:组合法
采用方案1和方案2相结合的方法,即将所测信号分两个频段:在>100KHz的频段内采用直接测量法;在频段内采用测周法进行频率测量。
很明显,此法在10Hz~100KHz的频率范围内,测量的精度不能达到预定的要求。
方案四:倍频法
此法属于改进型的直接测频法,对于小于10KHz的信号先采用倍频技术进行倍频后再用直接测频法进行测量,但是由于受计数器最高计数频率的限制,在0.1Hz~10KHz的频段内需要分段进行倍频,这样在硬件和软件上都会使系统变得复杂。
方案五:等精度测量法
在预定的闸门时间T0内,分别用计数器1和计数器2同时对被测信号fx和基准信号f0进行计数,设所得值为Nx和N0,则被测信号的频率为:
fx=(Nx/N0)*f0;

基准源f0
待测源fx、




精确门T  

N0
    
Nx

                          (图4 等精度测量法原理图)
在测量中,闸门的开启和关闭都由被测信号的上升沿(或下降沿)来控制,因而与Nx的计数保持同步,因而Nx不存在误差,但是对于基准信号f0来说,闸门的开启和闭合仍然时随机的,因而N0存在±1的误差,
测频的最大相对误差为:Δfx/fx=±(ΔN0/N0+Δf0/f0)
由上式看出,测频精度与被测信号频率没有关系,只要N0和f0足够大,系统可以满足很高的精度要求。因此,参考计数器的最高计数频率的限制,选取合适的基准信号频率和恰当的闸门开启时间,便可以在0.1Hz~16MHz的范围内使测频精度不变,即等精度测量。
我们设计本数字频率计系统采用等精度测量法。取11.0592MH的晶振信号为基准源f0。通过闸门来控制两个计数器的开启和关闭。由单片机控制预置门的开启,预置门输出相应的控制信号,与fx的上升沿共同控制精确门的开启和关闭,这样使fx的计数与精确门的开启保持同步。

四、           软件的设计
整个软件的流程图见附图2~3。
五、系统参数的测量和分析
测量仪器:泰克信源一台、泰克示波器一台、稳压源一台;
●    测量方法:用泰克信源产生的方波作为被测信号,用所设计的系统进行不同频段的频率测量;
●    测量条件:经过软件对f0调理后,采用软件跟踪测试。
●    频率测量结果记录如下表所示:

信号频率(HZ
  测量值(HZ
信号频率(HZ
测量值(HZ
   1.0000
    1.000
100.0000K  
99.999K
   1.2340
    1.234
166.1239K  
166.123K  
  10.0000
   10.000
166.1240K  
166.123K  
100.0000
  100.000
166.1241K
166.124K  
123.4564
123.456
500.0000K
499.999K  
123.4565
  123.457
   1.0000M
999.999K
   1.0000K
    1.000K
5.0000M
  4.999M
  10.0000K
10.000K
  10.0000M
10.000M
  50.0000K
   49.999K
  15.0000M
15.000M



●    误差分析上面数据是对CPLD集成频率测量系统检验所测,实际测量所有的数据都是采取8位显示的,但是采用泰克信源作为被测信号,其本身精度只能达到两位小数,于是截取了3位小数来记录。
整个频段内的误差基本保持在4*10-5,满足设计要求。

七、实验总结
   通过本次实验,我们对于时间参数的测量有了比较深刻的认识,尤其是系统核心的设计――数字频率计的设计,首先通过硬件设计,从整体上和细节上对于系统有了一个全面深刻的认识,然后通过硬件描述语言实现时间参数测量系统的模块化和集成化。本次实验使我们从本质上认识了时间参数测量系统及其应用。  
原文网址:武汉大学电工电子实验中心
http://eelab.whu.edu.cn/bbs/ShowPost.asp?id=264

文章评论1条评论)

登录后参与讨论

用户1443100 2009-5-27 15:26

我想要你的有关数字频率计的文章,我的毕业设计是基于单片机和CPLD的数字频率计,有的话帮帮我啊,先谢了。
相关推荐阅读
jizzll_617398179 2010-02-08 10:53
正确理解A/D转换器的输入
http://www.freescale.com.cn/tech_ariticles/2005/1102_1.asp 许多嵌入式应用都会用到A/D转换器。然而,如果错误连接了A/D转换器输入端的电路,...
jizzll_617398179 2010-01-12 13:37
好久没来,都长草了
好久没来,都长草了,呵呵。整天忙得很,不过估计再过两个月会轻松点~\(≧▽≦)/~啦啦啦...
jizzll_617398179 2009-03-16 21:57
很奇怪,我收到站内信,但是却找不到发信人呢
发信人是个[],点击就跳到我自己的主页了。只好在这里给那位朋友留言了。 我不知道你说的哪篇文章,还有我也不知道你的EDN的ID。你可以在博客上面留言的。...
jizzll_617398179 2009-03-14 13:08
如何在EXCEL中使用16进制数
最近需要计算串口发送的数据,太多而且比较麻烦。知道EXECL功能强大,所以网上找了找,刚好,不错,很方便。网上找到的http://hi.bccn.net/space-99452-do-blog-id-...
jizzll_617398179 2009-03-05 14:37
〖常识〗不同晶振的最大波特率及其误差
最近犯了个错误,呵呵,晶振和波特率的问题,特查了记在这里,O(∩_∩)O~〖常识〗不同晶振的最大波特率及其误差http://www.aoxue.org/bbs/read.php?tid=65585不同...
jizzll_617398179 2009-02-11 14:30
大端模式和小端模式
转载http://www.cnblogs.com/TsuiLei/archive/2008/10/29/1322504.html大端格式:在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则...
我要评论
1
5
关闭 站长推荐上一条 /2 下一条