数字频率计 课程设计.docx
- 文档编号:2401415
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:10
- 大小:61.18KB
数字频率计 课程设计.docx
《数字频率计 课程设计.docx》由会员分享,可在线阅读,更多相关《数字频率计 课程设计.docx(10页珍藏版)》请在冰豆网上搜索。
数字频率计课程设计
课程设计任务书
学院
信息科学与工程学院
专业
电子信息工程1班
学生姓名
学号
设计题目
数字频率计
设计目的:
通过综合性课程设计题目的完成过程,运用所学EDA知识,解决生活中遇到的实际问题,达到活学活用,所学为所用的目的,进一步理解EDA的学习目的,提高实际应用水平。
设计要求:
1、题目:
数字频率计
2、设计要求:
测量范围:
1HZ~10HZ。
测量误差≤1/响应时间≤15s。
显示时间不小于1s。
具有记忆显示的功能。
即在测量过程中不刷新数据。
等数据过程结束后才显示测量结果。
给出待测信号的频率值。
并保存到下一次测量结束。
包括时基产生与测评时序控制电路模块。
以及待测信号脉冲计数电路模块和锁存与译码显示控制电路。
3、课程设计报告要求:
内容:
1)、第一页为设计任务书。
第二页为目录;
2)、第三页开始正文部分,包括:
设计目的;设计要求;设计方案;时序仿真;
数据分析
3)、最后是结论和参考文献
进度安排:
周一:
根据设计要求查阅相关资料;
周二:
源代码设计;
周三、四:
程序设计及程序调试;
周五:
写课程设计报告和验收准备。
指导教师(签字):
年月日
学院院长(签字):
年月日
目录
任务书…………………………………………………………1
目录……………………………………………………………2
正文
摘要…………………………………………………………………3
1.设计目的……………………………………………….4
2.设计要求…………………………………………………5
3.设计方案…………………………………………………6
4.程序源码……………………………………………7
5.时序仿真………………………………………………14
6.数据分析………………………………………………15
结论………………………………………………………………16
参考文献……………………………………………………17
正文
摘要
频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。
频率计主要由四个部分构成:
时基(T)电路、输入电路、计数显示电路以及控制电路。
在传统的电子测量仪器中,示波器在进行频率测量时测量精度较低,误差较大。
频谱仪可以准确的测量频率并显示被测信号的频谱,但测量速度较慢,无法实时快速的跟踪捕捉到被测信号频率的变化。
正是由于频率计能够快速准确的捕捉到被测信号频率的变化,因此,频率计拥有非常广泛的应用范围。
在传统的生产制造企业中,频率计被广泛的应用在产线的生产测试中。
频率计能够快速的捕捉到晶体振荡器输出频率的变化,用户通过使用频率计能够迅速的发现有故障的晶振产品,确保产品质量。
在计量实验室中,频率计被用来对各种电子测量设备的本地振荡器进行校准。
在无线通讯测试中,频率计既可以被用来对无线通讯基站的主时钟进行校准,还可以被用来对无线电台的跳频信号和频率调制信号进行分析。
1.设计目的
通过综合性课程设计题目的完成过程,运用所学EDA知识,解决生活中遇到的实际问题,达到活学活用,所学为所用的目的,进一步理解EDA的学习目的,提高实际应用水平。
本次设计的数字频率计具有精度高、使用方便、测量迅速、便于实现测量过程自动化等优点,是频率测量的重要手段之一。
数字频率计主要包括时基产生与测评时序控制电路模块、待测信号脉冲计数电路、译码显示与锁存控制电路模块。
2.设计要求
要求:
设计一个四位十进制的数字频率计。
要求具有以下功能:
(1)测量范围:
1HZ~10HZ。
(2)测量误差≤1。
(3)响应时间≤15s。
(4)显示时间不小于1s。
(5)具有记忆显示的功能。
即在测量过程中不刷新数据。
等数据过程结束后才显示测量结果。
给出待测信号的频率值。
并保存到下一次测量结束。
(6)包括时基产生与测评时序控制电路模块。
以及待测信号脉冲计数电路模块和锁存与译码显示控制电路。
3.设计方案
设计方案自顶向下设计,底层模块分时基产生与测评时序控制电路模块、待测信号脉冲计数电路模块、译码显示与锁存控制电路模块。
(1)时基产生与测评时序控制电路模块:
设计频率记的关键是设计一个测频率控制信号发生器(即时基产生与测评时序控制电路模块),产生测量频率控制时序。
控制时钟信号clk取为1Hz,二分频后即可产生一个脉宽为1s的时钟control-en,以此作为计数闸门信号。
当control-en为高电平时,允许计数;当control-en的下降沿时,应产生一个锁存信号,将计数值保存起来;锁存数据后,在下一个control-en上升沿到来之前对计数器清零,为下次计数做准备。
(2)待测信号脉冲计数电路模块
待测信号脉冲计数电路模块就是计数器,计数器以待测信号作为时钟,在清零信号clr到来时,异步清零;使能信号en为高电平时允许计数,为低电平时禁止计数。
(3)锁存与译码显示控制电路模块
锁存器在control-en下降沿到来时,将计数器的计数值锁存,这样就不会因为周期性的清零信号而不断闪烁了。
译码显示电路将计数器测得的BCD码数字转换为七段晶体管LED显示(0——9),显示出十进制的数字结果。
顶层文件框图如下:
4.程序源码
一.底层程序源码
1、时基产生与测频时序控制电路模块的VHDL源程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycontrolis
port(clk:
instd_logic;--定义输入
rst,ena:
outstd_logic);--定义输出
endcontrol;
architecturebehvofcontrolis
begin
process(clk)--clk为敏感信号
variablecqi:
std_logic_vector(2downto0);
begin
ifclk'eventandclk='1'then--时钟上升沿
ifcqi<1thencqi:
=cqi+1;ena<='1';rst<='0';
elsifcqi=1then
cqi:
=(others=>'0');
ena<='0';rst<='1';
endif;
endif;
endprocess;--进程结束
endbehv;
2、待测信号脉冲计数电路模块的VHDL源程序
(1)10进制计数器:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycnt10is
port(rst,fx,ena:
instd_logic;--rst,fx,ena为输入端口
cout:
outstd_logic;
outy:
outstd_logic_vector(3downto0));
endcnt10;
architecturebehvofcnt10is
begin
process(rst,ena,fx)--rst,fx,ena为敏感信号
variablecqi:
std_logic_vector(3downto0);
begin
ifrst='1'thencqi:
=(others=>'0');--执行清零
elsiffx'eventandfx='1'then--fx上升沿
ifena='1'then--如果使能信号为1
ifcqi<9thencqi:
=cqi+1;cout<='0';
elsifcqi=9then
cqi:
=(others=>'0');
cout<='1';
endif;
elsifena='0'thencqi:
=(others=>'0');--使能信号为0
endif;
endif;
outy<=cqi;
endprocess;--进程结束
endbehv;
(2)4位10进计数器:
libraryieee;
useieee.std_logic_1164.all;
entitycnt10_4is
port(fx,rst,ena:
instd_logic;--定义输入
d:
outstd_logic_vector(15downto0));--定义输出
endentity;
architectureoneofcnt10_4is
componentcnt10
port(rst,fx,ena:
instd_logic;
cout:
outstd_logic;
outy:
outstd_logic_vector(3downto0));
endcomponent;
signale:
std_logic_vector(3downto0);
begin--元件例化
u1:
cnt10portmap(fx=>fx,rst=>rst,ena=>ena,cout=>e(0),outy=>d(3downto0));
u2:
cnt10portmap(fx=>e(0),rst=>rst,ena=>ena,cout=>e
(1),outy=>d(7downto4));
u3:
cnt10portmap(fx=>e
(1),rst=>rst,ena=>ena,cout=>e
(2),outy=>d(11downto8));
u4:
cnt10portmap(fx=>e
(2),rst=>rst,ena=>ena,cout=>e(3),outy=>d(15downto12));
endarchitectureone;
3、译码显示电路的VHDL源程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitylatch4is
port(d:
instd_logic_vector(15downto0);--d,ena,clk为锁存器输入
ena,clk:
instd_logic;
q:
outstd_logic_vector(15downto0));--q为锁存器输出
endlatch4;
architectureoneoflatch4is
begin
process(clk,ena,d)--ck,d,,ena为敏感信号
variablecqi:
std_logic_vector(15downto0);
begin
ifena='0'thencqi:
=cqi;
elsifclk'eventandclk='1'thencqi:
=d;
endif;
q<=cqi;
endprocess;--进程结束
endone;
二.顶层程序源码
总体例化语句:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycntfis
port(rset,clk:
instd_logic;
fx:
instd_logic;
ledout:
o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字频率计 课程设计