基于vhdl的频率计设计

上传人:876****10 文档编号:141571778 上传时间:2020-08-10 格式:DOC 页数:10 大小:864KB
返回 下载 相关 举报
基于vhdl的频率计设计_第1页
第1页 / 共10页
基于vhdl的频率计设计_第2页
第2页 / 共10页
基于vhdl的频率计设计_第3页
第3页 / 共10页
基于vhdl的频率计设计_第4页
第4页 / 共10页
基于vhdl的频率计设计_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《基于vhdl的频率计设计》由会员分享,可在线阅读,更多相关《基于vhdl的频率计设计(10页珍藏版)》请在金锄头文库上搜索。

1、 课程论文(设计)题 目 基于quartus的频率计的设计院 系 电子与信息工程学院专 业 电子与通信工程学生姓名 学 号 指导教师 二 一 四 年 元 月 三 日一、频率计的说明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系统原理框图 二、顶层原理图如下图2.1所示,系统顶层原理图包括CNT12、CODE、CNT10、LOC

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

4、 cnt10 isport(clk:in std_logic; clr:in std_logic; cs :in std_logic; qq :buffer std_logic_vector(3 downto 0); co :out std_logic);end cnt10;architecture one of cnt10 isbegin process(clk,clr,cs) begin if (clr=1) then qq=0000; elsif (clkevent and clk=1) then if (cs=1) then if (qq=9) then qq=0000; else q

5、q=qq+1; end if;end if; end if; end process;process(qq) begin if (qq=9) then co=0; else co=1; end if; end process;end;3.2十二进制加法计数器CNT12library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt12 isport(clk: in std_logic; qq : buffer std_logic_vector(3 downto 0);end cnt12;arc

6、hitecture one of cnt12 isbegin process(clk) begin if (clkevent and clk=1) then if (qq=11) then qq=0000; else qq=qq+1; end if; end if; end process; end one; 3.3控制模块CODElibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity code isport( dd : in std_logic_vector(3 downto 0); cs

7、 : out std_logic; clr : out std_logic; lock: out std_logic);end code;architecture one of code isbegin process(dd) begin if (dd=0) then clr=1; else clr=0; end if; if (dd=11) then lock=1; else lock 0 ) and (dd 9 ) then cs=1; else cs=0; end if; end process;end one;3.4锁存器LOCKlibrary ieee;use ieee.std_lo

8、gic_1164.all;use ieee.std_logic_unsigned.all;entity lock isport( clk: in std_logic; dd : in std_logic_vector(3 downto 0); qq : out std_logic_vector(3 downto 0) );end lock;architecture one of lock isbegin process(clk,dd) begin if (clkevent and clk=1) then qq=dd; end if; end process;end one;四、底层模块的仿真

9、4.1LOCK模块的仿真结果4.2CNT12的仿真结果4.3CNT10模块的仿真结果 4.4CODE模块的仿真结果 五、频率计顶层原理图的输入和硬件电路 六、频率计仿真结果 通过仿真图可以通过aa、bb、cc、dd读出此时的频率为140hz,由于1s的闸门信号仿真起来会很慢,所以我们使用很小的一个闸门信号以方便仿真,相应的频率显示可能会有些偏差。总结通过这次EDA的系统设计,我重拾了专科期间学习的知识,同时也把软件从原来的maxplus2升级到了quartus2。一开始我不太情愿使用quartus2,因为很多的功能都不太会使用,遇到了很多的问题,后来通过查阅资料和同学讨论等途径硬着头皮解决了些问题,最终也是在quartus里实现了频率计的系统,在这里要真心地向我们的指导老师刘老师感谢,在他的课堂上我学到了很多,对我以后的硬件和数字处理有太大的帮助,真心的感谢您。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号