数字频率计课程设计Word格式.docx
- 文档编号:1014551
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:11
- 大小:61.24KB
数字频率计课程设计Word格式.docx
《数字频率计课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《数字频率计课程设计Word格式.docx(11页珍藏版)》请在冰点文库上搜索。
并保存到下一次测量结束。
包括时基产生与测评时序控制电路模块。
以及待测信号脉冲计数电路模块和锁存与译码显示控制电路。
三、进度安排:
12.22-25查资料、方案设计、程序设计。
1.9-1.12程序设计、调试、写课程设计报告。
1.13验收。
指导教师(签字)
2012年1月11日
学院院长(签字)
2012年1月11日
目录
1、数字频率计的设计要求和任务………………………3
2、数字频率计的设计目的………………………………3
3、数字频率计的设计思路及原理图…………………………3
4、数字频率计设计的解决方案……………………………4
5、数字频率计的时序仿真图………………………………11
6、设计心得…………………………………………………11
7、参考文献…………………………………………………11
1、设计要求
设计一个四位十进制的数字频率计。
要求具有以下功能:
(1)测量范围:
(2)测量误差≤1/
(3)响应时间≤15s。
(4)显示时间不小于1s。
(5)具有记忆显示的功能。
等数据过
程结束后才显示测量结果。
并保存到
下一次测量结束。
(6)包括时基产生与测评时序控制电路模块。
以及待测信号脉冲计
数电路模块和锁存与译码显示控制电路。
2、设计目的
通过综合性课程设计题目的完成过程,运用所学EDA知识,解决生活中遇到的实际问题,达到活学活用,所学为所用的目的,进一步理解EDA的学习目的,提高实际应用水平。
本次设计的数字频率计具有精度高、使用方便、测量迅速、便于实现测量过程自动化等优点,是频率测量的重要手段之一。
数字频率计主要包括时基产生与测评时序控制电路模块、待测信号脉冲计数电路、译码显示与锁存控制电路模块。
3、设计思路及原理图
4、设计的解决方案
设计方案自顶向下设计,底层模块分时基产生与测评时序控制电路模块、待测信号脉冲计数电路模块、译码显示与锁存控制电路模块。
(1)时基产生与测评时序控制电路模块:
设计频率记得关键是设计一个测频率控制信号发生器(即时基产生与测评时序控制电路模块),产生测量频率控制时序。
控制时钟信号clk取为1Hz,二分频后即可产生一个脉宽为1s的时钟control-en,以此作为计数闸门信号。
当control-en为高电平时,允许计数;
当control-en的下降沿时,应产生一个锁存信号,将计数值保存起来;
锁存数据后,在下一个control-en上升沿到来之前对计数器清零,为下次计数做准备。
(2)待测信号脉冲计数电路模块
待测信号脉冲计数电路模块就是计数器,计数器以待测信号作为时钟,在清零信号clr到来时,异步清零;
使能信号en为高电平时允许计数,为低电平时禁止计数。
(3)锁存与译码显示控制电路模块
锁存器在control-en下降沿到来时,将计数器的计数值锁存,这样就不会因为周期性的清零信号而不断闪烁了。
译码显示电路将计数器测得的BCD码数字转换为七段晶体管LED显示(0——9),显示出十进制的数字结果。
一.底层程序源码
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);
ifclk'
eventandclk='
1'
then--时钟上升沿
ifcqi<
1thencqi:
=cqi+1;
ena<
='
;
rst<
0'
elsifcqi=1then
cqi:
=(others=>
'
);
ena<
endif;
endprocess;
--进程结束
endbehv;
2、待测信号脉冲计数电路模块的VHDL源程序
(1)10进制计数器:
entitycnt10is
port(rst,fx,ena:
--rst,fx,ena为输入端口
cout:
outstd_logic;
outy:
outstd_logic_vector(3downto0));
endcnt10;
architecturebehvofcnt10is
process(rst,ena,fx)--rst,fx,ena为敏感信号
std_logic_vector(3downto0);
ifrst='
thencqi:
--执行清零
elsiffx'
eventandfx='
then--fx上升沿
ifena='
then--如果使能信号为1
9thencqi:
cout<
elsifcqi=9then
cout<
elsifena='
thencqi:
--使能信号为0
endif;
outy<
=cqi;
endprocess;
(2)4位10进计数器:
entitycnt10_4is
port(fx,rst,ena:
d:
outstd_logic_vector(15downto0));
endentity;
architectureoneofcnt10_4is
componentcnt10
endcomponent;
signale:
begin--元件例化
u1:
cnt10portmap(fx=>
fx,rst=>
rst,ena=>
ena,cout=>
e(0),outy=>
d(3downto0));
u2:
e(0),rst=>
e
(1),outy=>
d(7downto4));
u3:
e
(1),rst=>
e
(2),outy=>
d(11downto8));
u4:
e
(2),rst=>
e(3),outy=>
d(15downto12));
endarchitectureone;
3、译码显示电路的VHDL源程序
libraryieee;
entityled_controlleris
port(d:
instd_logic_vector(3downto0);
a:
outstd_logic_vector(6downto0));
endled_controller;
architectureartofled_controlleris
process(d)
variables:
std_logic_vector(3downto0);
begin
s:
=d(3)&
d
(2)&
d
(1)&
d(0);
casesis
when"
0000"
=>
a<
="
1111110"
0001"
0110000"
0010"
1101101"
0011"
1111001"
0100"
0110011"
0101"
1011011"
0110"
0011111"
0111"
1110000"
1000"
1111111"
1001"
1110011"
1010"
0001101"
1011"
0011001"
1100"
0100011"
1101"
1001011"
1110"
0001111"
1111"
0000000"
endcase;
end;
entitylatch4is
port(d:
instd_logic_vector(15downto0);
--d,ena,clk为锁存器输入
ena,clk:
q:
--q为锁存器输出
endlatch4;
architectureoneoflatch4is
begin
process(clk,ena,d)--ck,d,,ena为敏感信号
variablecqi:
std_logic_vector(15downto0);
ifena='
elsifclk'
=d;
q<
endone;
二.顶层程序源码
总体例化语句:
entitycntfis
port(rset,clk:
fx:
ledout:
outstd_logic_vector(27downto0));
architectureoneofcntfis
componentcontrol--时基产生与测评时序控制部分
componentcnt10_4--4位十进制计数器部分
componentlatch4--锁存器部分
componentled_controller--BCD码输入转LED显示部分
a:
outstd_logic_vector(6downto0));
signalx,z:
std_logic;
signalg,h:
signalleds:
std_logic_vector(27downto0);
controlportmap(clk=>
clk,ena=>
x,rst=>
z);
cnt10_4portmap(fx=>
z,ena=>
x,d=>
g);
latch4portmap(clk=>
g,q=>
h);
led_controllerportmap(d(3downto0)=>
h(3downto0),a(6downto0)=>
leds(6downto0));
u5:
h(7downto4),a(6downto0)=>
leds(13downto7));
u6:
h(11downto8),a(6downto0)=>
leds(20downto14));
u7:
h(15downto12),a(6downto0)=>
leds(27downto21));
ledout<
=leds;
end;
--结束
5、时序仿真图
6、设计心得:
通过此次课程设计,使我对课本上的基础知识了解的更加透彻了。
虽然,在设计中遇到过困难以及失败,但通过老师和同学们的帮助让我顺利通过了这次课程设计的验收。
即使时间短了些,却激发了我对EDA方面的兴趣及爱好。
我相信在不久的将来会有更大的进步。
7、参考文献:
《EDA技术与数字系统设计》邹彦主编电子工业出版社《EDA技术及应用教程》赵全利编机械工业出版社《EDA技术实用教程》潘松编电子工业出版社《ALTERFPGA/CPLD设计》王城人民邮电出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字频率计 课程设计