- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4位十进制频率计的设计 计算机与电子等专业课程设计
4位十进制频率计的设计
主要指标和要求
设计4位十进制频率计,学习较复杂的数字系统设计方法;
深入学习数字系统设计的方法与步骤;
用元件例化语句写出频率计的顶层文件;
用VHDL硬件描述语言进行模块电路的设计;
设计硬件要求:PC机,操作系统为Windows2000/XP,本课程所用系统均为max+plus II 5.1设计平台,GW48系列SOPC/EDA实验开发系统。
二、工作原理以及方案选择
原理工作说明:
根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的对输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期作准备的计数器清0信号。这3个信号可以由一个测频控制信号发生器产生,即图(a)中的TESTCTL,它的设计要求是,TESTCTL的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。当CNT_EN高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要产生一个锁存信号LOAD,在该信号上升沿时,将计数器在前1秒钟的计数值锁存进各锁存器REG4B中,并由外部的7段译码器译出,显示计数值。设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存信号之后,必须有一清零信号RST_CNT对计数器进行清零,为下1秒钟的计数操作作准备。其工作时序波形如图(a)。
图(a) 频率计测频控制器TESTCTL测控时序图
图 (b) 4位十进制频率计顶层文件原理图
选择的设计方案:
根据频率计的工作原理,将电路划分成控制器、计数器、锁存器和LED显示几个模块,
控制器——产生1秒脉宽的计数允许信号、锁存信号和计数器清零信号
计数器——对输入信号的脉冲数进行累计
锁存器——锁存测得的频率值
LED显示——将频率值显示在数码管上
根据图(a)、(b)及(1)(2)描述的4位十进制频率计的工作原理,利用max+ plusII 5.1对以上三者的程序进行文本编辑输入和仿真测试并根据图(b),写出频率计的顶层文件,并给出其测频时序波形,及其分析。
频率计设计硬件验证。编译、综合和适配频率计顶层设计文件,并编程下载进入目标器件中。本实验目标器件是EP1K30TC144-3,实验电路选择模式0,4个数码管(数码4-1:PIO31-PIO16)显示测频输出;待测频率输入FIN由clock0输入,频率
可选4Hz、256HZ . . .或更高;1HZ测频控制信号F1HZ可由clock2输入(用电路帽选选1Hz)。
三、各模块及顶层文件的设计
(1)、十进制计数
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt10 is
port (rst,clk,ena:in std_logic;
cout: out std_logic;
outy :out std_logic_vector(3 downto 0));
end cnt10;
architecture behv of cnt10 is
begin
process (rst,ena,clk)
variable cqi :std_logic_vector(3 downto 0);
begin
if rst=1 then cqi :=(others =0);
elsif clkevent and clk=1 then
if ena =1 then
if cqi 9 then cqi:=cqi+1;cout=0;
elsif cqi=9 then
cqi :=(others =0);
cout=1;
end if;
elsif ena=0 then cqi:=(others =0);
end if;
end if;
outy =cqi;
end process;
end behv;
(2)、4位10进计数器
library ieee;
use ieee.std_logic_1164.all;
entity cnt10_4 is
port(clk,rst,ena:in std_logic;
d:out std_logic_vector(15 downto 0));
end entity;
architecture one of cnt10_4 is
component cnt10
port (rst,clk,ena:in std_logic;
文档评论(0)