等精度频率测量技术

等精度频率测量技术

ID:6132748

大小:800.50 KB

页数:15页

时间:2018-01-04

等精度频率测量技术_第1页
等精度频率测量技术_第2页
等精度频率测量技术_第3页
等精度频率测量技术_第4页
等精度频率测量技术_第5页
资源描述:

《等精度频率测量技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数字系统设计实践设计报告实验名称等精度频率测量技术班级通信112学生姓名周焕强学号116040268指导教师应祥岳完成日期2013-05-08摘要频率计的主要功能是准确测量出待测频率的频率、周期、脉宽及占空比。在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。频率测量一般有三种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数,该方案将随被测信号频率的下降而下降;二是周期测频法,即是通过测量被测信号一个周期时间计时信号的脉冲个数,然后换算得出被测信号的频率,但该方法在被测信号的周期较短时,其精度大

2、大下降;方法三是等精度测频,可以将误差降到很低。本实验将应用等精度测频技术,利用FPGA技术设计一个测频计,将测得频率用十进制显示在数码管上。关键词:频率、周期、十进制显示、等精度目录一、设计任务1二、设计要求1三、系统方案13.1分频器模块13.2同步电路模块13.3门控闸门计数模块13.4运算模块13.5进制转化模块13.6输出控制模块2四、系统理论分析与计算24.1理论分析24.2理论计算3五、电路与程序设计35.1电路的设计35.1.1频率计顶层图形设计35.1.2系统电路原理图45.2程序的设计55.2.1分频器模块的vhdl设计65.2.2同步电路模块的vhdl设计75

3、.2.3进制转化模块的设计75.2.4输出控制模块的VHDL设计9六、测试方案与测试结果106.1测试方案106.1.1软件测试106.1.2硬件测试106.2测试结果与分析116.2.1.测试结果116.2.2.测试分析与结论12一、设计任务设计一个简易等精度频率计。二、设计要求A、测量范围信号:方波幅度:TTL电平;频率:1Hz~1MHzB、测试误差≤0.1%(全量程)C、闸门时间:~1s,响应时间:~2s乘除运算:FPGA计算:时钟频率显示:十进制(七个数码管显示,小数部分和整数部分按键切换)三、系统方案3.1分频器模块由系统时钟CLK1作为时钟脉冲,仿照单片机的延时电路和计

4、数器,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个除法器。123.6输出控制模块通

5、过一个使能端,控制输出整数还是小数,显示在数码管上。四、系统理论分析与计算4.1理论分析1.工作原理:采用频率准确的高频信号作为标准频率信号,保证测量的闸门时间为被测时间的整数倍,并在闸门时间内同时对标准信号脉冲和被测信号脉冲进行计数,实现整个频率测量范围内的测量精度相等,当标准信号频率很高,闸门时间也足够长时,就可实现高精度的频率测量。简单来说,即为:测量一定闸门时间内标准信号与被测信号的脉冲个数,分别记为Nc和Nx,则被测信号频率为:Fx=Nx*fc/Nc。2.波形图124.2理论计算1、被测频率:2、测量误差:考虑最大误差为1,则由实验要求测试误差≤0.1%(全量程)则可知≥

6、=1000,由于阈值闸门时间为1s,所以时钟发生器频率fo≥1000Hz,为使测量误差尽量小实验中取fo=10KHz,实验中待测信号和时钟信号分别采用实验箱中CLK1时钟。五、电路与程序设计5.1电路的设计5.1.1等精度频率计顶层图形设计125.1.2系统电路原理图(1)输入模块(2)同步计数模块(3)运算模块(4)进制转化输出模块12(5)总电路图5.2程序的设计125.2.1分频器模块的vhdl设计libraryieee;useieee.std_logic_1164.all;entityzhamenisport(clr,cp:instd_logic;p:outstd_logi

7、c);endzhamen;architectureaofzhamenissignalcount:integerrange0to10000;signaltemp:std_logic;beginprocess(clr,cp)beginifclr='1'thencount<=0;temp<='0';elsifcp'eventandcp='1'thenifcount<10000thencount<=count+1;elsecount<=0;temp<=nottemp;endi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。