基于vhdl的频率计设计.doc

基于vhdl的频率计设计.doc

ID:58404474

大小:864.00 KB

页数:10页

时间:2020-05-09

基于vhdl的频率计设计.doc_第1页
基于vhdl的频率计设计.doc_第2页
基于vhdl的频率计设计.doc_第3页
基于vhdl的频率计设计.doc_第4页
基于vhdl的频率计设计.doc_第5页
资源描述:

《基于vhdl的频率计设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程论文(设计)题目基于quartus的频率计的设计院系电子与信息工程学院专业电子与通信工程学生姓名学号指导教师二O一四年元月三日一、频率计的说明3二、顶层原理图4三、底层模块设计43.1十进制加法计数器CNT1043.2十二进制加法计数器CNT1253.3控制模块CODE63.4锁存器LOCK7四、底层模块的仿真74.1LOCK模块的仿真结果74.2CNT12的仿真结果84.3CNT10模块的仿真结果84.4CODE模块的仿真结果8五、频率计顶层原理图的输入9六、频率计仿真结果9总结10一、频率计的说明频率就是周期性信号在单位时间(1S)

2、内的变化次数。频率计的作用就是测量输入信号的频率,我设计的频率计的原理是若在一定1S的时间间隔内测得这个周期性信号的重复变化次数为N,则其频率可表示为:f=N。如下图1.1所示,通过定义闸门信号为1s后,通过统计下该时间内有多少次脉冲即可得到相应的频率。图1.1系统测量频率的原理系统的框图如下图1.2所示,首先由时基电路产生基准信号,通过控制电路产生出1s的闸门信号,闸门电路把1s内截取的检测信号传递给计数器,通过计数器计数就可以得到需要测量的频率。锁存器的作用就是为了保存当前的频率交给显示电路显示。图1.2系统原理框图二、顶层原理图如下图

3、2.1所示,系统顶层原理图包括CNT12、CODE、CNT10、LOCK、CODE模块。其中CNT10和CNT12分别为10和12进制计数器,CODE则为控制模块输出清零、锁存、和闸门信号,LOCK则为锁存模块,负责将采集的频率数值锁存起来方便显示,CODE模块则是将二进制转换成十进制的模块。系统中的clk1为为我们为测试时候的输入闸门信号,通过CNT12信号后模拟1s的闸门的信号,系统输出的端口为4个QQ[3..0],这样方便系统仿真,也可以减少系统的复杂程度。三、底层模块设计3.1十进制加法计数器CNT10libraryieee;use

4、ieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt10isport(clk:instd_logic;clr:instd_logic;cs:instd_logic;qq:bufferstd_logic_vector(3downto0);co:outstd_logic);endcnt10;architectureoneofcnt10isbeginprocess(clk,clr,cs)beginif(clr='1')thenqq<="0000";elsif(clk'ev

5、entandclk='1')thenif(cs='1')thenif(qq=9)thenqq<="0000";elseqq<=qq+1;endif;endif;endif;endprocess;process(qq)beginif(qq=9)thenco<='0';elseco<='1';endif;endprocess;end;3.2十二进制加法计数器CNT12libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt12isport(cl

6、k:instd_logic;qq:bufferstd_logic_vector(3downto0));endcnt12;architectureoneofcnt12isbeginprocess(clk)beginif(clk'eventandclk='1')thenif(qq=11)thenqq<="0000";elseqq<=qq+1;endif;endif;endprocess;endone;3.3控制模块CODElibraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsig

7、ned.all;entitycodeisport(dd:instd_logic_vector(3downto0);cs:outstd_logic;clr:outstd_logic;lock:outstd_logic);endcode;architectureoneofcodeisbeginprocess(dd)beginif(dd=0)thenclr<='1';elseclr<='0';endif;if(dd=11)thenlock<='1';elselock<='0';endif;if((dd>0)and(dd<9))thencs<='1

8、';elsecs<='0';endif;endprocess;endone;3.4锁存器LOCKlibraryieee;useieee.std_logic_1164.all;us

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

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

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