等精度频率测量技能.docx

上传人:b****2 文档编号:1848934 上传时间:2022-10-24 格式:DOCX 页数:12 大小:527.28KB
下载 相关 举报
等精度频率测量技能.docx_第1页
第1页 / 共12页
等精度频率测量技能.docx_第2页
第2页 / 共12页
等精度频率测量技能.docx_第3页
第3页 / 共12页
等精度频率测量技能.docx_第4页
第4页 / 共12页
等精度频率测量技能.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

等精度频率测量技能.docx

《等精度频率测量技能.docx》由会员分享,可在线阅读,更多相关《等精度频率测量技能.docx(12页珍藏版)》请在冰豆网上搜索。

等精度频率测量技能.docx

等精度频率测量技能

数字系统设计实践

设计报告

 

实验名称等精度频率测量技术

班级通信112

学生姓名周焕强

学号116040268

指导教师应祥岳

完成日期2013-05-08

 

摘要

频率计的主要功能是准确测量出待测频率的频率、周期、脉宽及占空比。

在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。

频率测量一般有三种方式:

一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数,该方案将随被测信号频率的下降而下降;二是周期测频法,即是通过测量被测信号一个周期时间计时信号的脉冲个数,然后换算得出被测信号的频率,但该方法在被测信号的周期较短时,其精度大大下降;方法三是等精度测频,可以将误差降到很低。

本实验将应用等精度测频技术,利用FPGA技术设计一个测频计,将测得频率用十进制显示在数码管上。

关键词:

频率、周期、十进制显示、等精度

 

4.1理论分析2

4.2理论计算3

 

一、设计任务

设计一个简易等精度频率计。

二、设计要求

A、测量范围

信号:

方波

幅度:

TTL电平;

频率:

1Hz~1MHz

B、测试误差≤0.1%(全量程)

C、闸门时间:

~1s,响应时间:

~2s

乘除运算:

FPGA

计算:

时钟频率

显示:

十进制(七个数码管显示,小数部分和整数部分按键切换)

三、系统方案

3.1分频器模块

由系统时钟CLK1作为时钟脉冲,仿照单片机的延时电路和计数器,Tc=1/10000s,跳10K下控制输出翻转一下,从而产生脉宽为1s的门控信号。

3.2同步电路模块

利用一个D触发器产生同步的闸门脉冲信号

3.3门控闸门计数模块

利用计数器分别求出在1s的门控信号内被测信号fx与系统时钟fc所经过的个数Nx和Nc,等将数据存入寄存器后,再送到运算模块里。

3.4运算模块

Fx=Nx*fc/Nc,先将Nc*10K,然后放大1000倍,将小数部分升为整数部分,保证计算的精度。

3.5进制转化模块

用10个除法器对输出频率进行转码,f经过一个除法器之后,余数作为10进制数M的第一位,商输入第二个除法器,依次类推,总共用到10个除法器。

3.6输出控制模块

通过一个使能端,控制输出整数还是小数,显示在数码管上。

四、系统理论分析与计算

4.1理论分析

1.工作原理:

采用频率准确的高频信号作为标准频率信号,保证测量的闸门时间为被测时间的整数倍,并在闸门时间内同时对标准信号脉冲和被测信号脉冲进行计数,实现整个频率测量范围内的测量精度相等,当标准信号频率很高,闸门时间也足够长时,就可实现高精度的频率测量。

简单来说,即为:

测量一定闸门时间内标准信号与被测信号的脉冲个数,分别记为Nc和Nx,则被测信号频率为:

Fx=Nx*fc/Nc。

2.波形图

4.2理论计算

1、被测频率:

2、测量误差:

考虑最大误差为1,则

由实验要求测试误差≤0.1%(全量程)则可知≥=1000,由于阈值闸门时间为1s,所以时钟发生器频率fo≥1000Hz,为使测量误差尽量小实验中取fo=10KHz,实验中待测信号和时钟信号分别采用实验箱中CLK1时钟。

 

五、电路与程序设计

5.1电路的设计

5.1.1等精度频率计顶层图形设计

5.1.2系统电路原理图

(1)输入模块

(2)同步计数模块

(3)运算模块

(4)进制转化输出模块

(5)总电路图

5.2程序的设计

5.2.1分频器模块的vhdl设计

libraryieee;

useieee.std_logic_1164.all;

entityzhamenis

port(clr,cp:

instd_logic;

p:

outstd_logic);

endzhamen;

architectureaofzhamenis

signalcount:

integerrange0to10000;

signaltemp:

std_logic;

begin

process(clr,cp)

begin

ifclr='1'then

count<=0;temp<='0';

elsifcp'eventandcp='1'then

ifcount<10000then

count<=count+1;

else

count<=0;

temp<=nottemp;

endif;

endif;

endprocess;

p<=temp;

enda;

5.2.2同步电路模块的vhdl设计

libraryieee;

useieee.std_logic_1164.all;

entitydflipflopis

port(cp,d:

instd_logic;

f:

outstd_logic);

end;

architectureaofdflipflopis

begin

process(cp,d)

begin

ifcp'eventandcp='1'then

f<=d;

endif;

endprocess;

enda;

5.2.3进制转化模块的设计

5.2.4输出控制模块的VHDL设计

libraryieee;

useieee.std_logic_1164.all;

entityoutputis

port(a1,a2,a3,b1,b2,b3,b4,b5,b6,b7:

inintegerrange0to9;

clr,yiwei:

instd_logic;

q1,q2,q3,q4,q5,q6,q7:

outintegerrange0to9);

end;

architectureaofoutputis

begin

process(a1,a2,a3,b1,b2,b3,b4,b5,b6,b7,clr,yiwei)

begin

ifclr='1'then

q1<=0;q2<=0;q3<=0;q4<=0;q5<=0;q6<=0;q7<=0;

else

ifyiwei='0'then

q1<=b1;q2<=b2;q3<=b3;q4<=b4;q5<=b5;q6<=b6;q7<=b7;

else

q1<=a1;q2<=a2;q3<=a3;q4<=0;q5<=0;q6<=0;q7<=0;

endif;

endif;

endprocess;

enda;

六、测试方案与测试结果

6.1测试方案

6.1.1软件测试

在quartus7.1环境下,对电路进行仿真和测试。

6.1.2硬件测试

a.将程序下载到EDA实验箱进行测试,观察与理论结果是否一致。

b.引脚分配

输入:

clr:

清零

fc:

clk1

Fx:

实验箱自带的波形输入

yiwei:

用于控制输出整数还是小数

输出:

fx1[3..0],fx2[3..0],…fx7[3..0]:

数码管1、2、3、4、5、6、7,以十进制的形式显示测得的频率。

6.2测试结果及分析

6.2.1测试结果

下载到实验箱后,各按键功能正常,输入输出都没有问题,数码管能对应的显示十进制数。

 

频率测试数据记录表

理论值

输出值

相对误差

50HZ

50.010HZ

0.02%

100HZ

100.020HZ

0.02%

500KZ

500.150KZ

0.03%

1KHZ

1000.300HZ

0.03%

5KHZ

5000.999HZ

0.02%

10KHZ

10001.999HZ

0.02%

50KHZ

50011.998HZ

0.024%

100KHZ

100024.997HZ

0.02%

500KHZ

500125.987HZ

0.025%

6.2.2测试分析与结论

由实验数据可知,数码管显示的频率与实际频率相比,误差都小于%0.1,符合设计要求。

通过本次实验,掌握了等精度频率计的设计方法,认识到了这种频率测试方法的优越性。

实验中碰到的各种问题也都一一解决,培养了自学能力。

 

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

当前位置:首页 > 党团工作 > 思想汇报心得体会

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

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