欢迎来到天天文库
浏览记录
ID:11594249
大小:67.00 KB
页数:7页
时间:2018-07-12
《数字频率计设计vhdl》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验十八数字频率计实验目的在MagicSOPC实验箱上实现8位十进制频率计的设计。被测信号从CLOCK0(数字信号时钟源)输入,经过检测后测得的频率值用数码管1~8显示。实验器材1、SOPC实验箱2、计算机(装有QuartusII7.0软件)实验预习1、了解数字频率计设计原理各主要模块的设计方法。2、提前预习,编写好主模块的VHDL程序。实验原理频率即信号1s内振动次数,因此测定信号的频率必须有一个脉宽为1秒的输入信号作为计数允许的信号;1秒计数结束后,计数值锁入锁存器,并为下一测频计数周期作准备的计数器清零。数字频率
2、计框图如图18.1所示。由控制、计数、锁存、译码显示四部分组成。工作原理为:控制信号产生电路对系统时钟分频后产生0.5Hz的门控信号gate,锁存允许信号LE,清零信号MR。当gate为高电平时,计数器对被测信号cin进行计数;1s后gate变为低电平,计数器停止计数;当gate为低电平、LE上升沿这两个条件同时满足时,锁存电路将32位计数结果锁存送译码显示电路;当gate为低电平、MR上升沿这两个条件同时满足时,计数器清零,为下一次计数做准备。各信号之间的时序关系见图18.2所示。锁存电路十进制计数器1十进制计数器2
3、十进制计数器8Cin4位4位4位数码管选通信号(8位)显示码(8位)进位选择译码电路32位控制信号产生电路系统时钟LE(锁存允许)MR(清零)Gate图18.1数字频率计框图1、控制信号产生电路:根据选定的输入时钟信号设定分频系数,要求输出0.5Hz门控信号gate、1Hz锁存允许信号LE和1Hz清零信号MR。这几个信号控制整个系统的工作,非常关键,要求先锁存后清零,否则计数结果可能丢失,参考时序图18.2所示。2、计数模块:定义十进制计数器元件,有cp(时钟输入)、MR(清零输入,上升沿有效)、gate(门控信号)三
4、个个输入引脚,Q0~Q3、co(进位)5个输出引脚。功能定义为gate为高电平时在cp上升沿计数;gate为低MR为高时清零。利用元件调用的方法组成8位十进制计数器3、锁存电路:设计一32位锁存器,定义gate(门控信号)、LE(锁存允许,上升沿有效)d0~d31共34个输入引脚;Q0~Q31共32个输出引脚。功能定义为gate为低时在LE上升沿锁存。4、译码显示模块:参考数字钟。图18.2各信号之间的时序关系程序模块设计十进制模块LibraryIEEE;useIEEE.std_logic_1164.all;useIE
5、EE.std_logic_unsigned.all;Entitycounter10ISPORT(clk,rst:instd_logic;bcd:outstd_logic_vector(3downto0);up:outstd_logic);ENDentitycounter10;Architecturebhvofcounter10ISsignalbcd_r:std_logic_vector(3downto0);signalup_r:std_logic;BeginProcess(clk,rst)BeginIFrst='1'T
6、HENbcd_r<=(others=>'0');up_r<='0';ELSIFclk'EVENTANDclk='1'THENIFbcd_r="1001"THENbcd_r<=(others=>'0');up_r<='1';ELSEbcd_r<=bcd_r+1;up_r<='0';ENDIF;ENDIF;ENDPROCESS;bcd<=bcd_r;up<=up_r;ENDbhv;信号控制模块LibraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_unsigned.
7、all;ENTITYkongzhiISPORT(rst_in,sys_clk:instd_logic;gate,lock,rst:outstd_logic);ENDENTITY;ArchitectureoneofkongzhiISsignalcount:std_logic_vector(25downto0);BeginPROCESS(sys_clk,rst_in)BeginIFrst_in='0'THENcount<=(others=>'0');gate<='0';lock<='0';rst<='0';ELSIFsys
8、_clk'EVENTANDsys_clk='1'THENIFcount="10110111000110110000000011"THENcount<="00000000000000000000000000";gate<='1';lock<='0';rst<='0';ELSIFcount="101101110001101100000
此文档下载收益归作者所有