- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4位数字频率设计
成绩
课程论文题目:设计一个4位数字频率计,测量范围为0~9999Hz,假设被测信号为标准的方波信号
摘要:数字频率计硬件电路设计方案。硬件电路包括FPGA芯片、显示电路,时钟产生电路。FPGA的芯片采用EP2C5T144,用于实现熟悉频率计的主要逻辑电路。由于数字频率计频率范围为0~9999HZ,因此显示电路采用4位LED数码管。
关键词:数字频率机;硬件电路设计;顶层,底层模块设计;项目的输入、编译、仿真、处理
一、概述
数字系统是指对数字信息进行存储,传输,处理的电子系统。它的输入都是数字量。数字系统既可以是一个逻辑部件,也可以是一个独立的实用装置,就其组成而言,都是由许多能够进行各种操作的功能部件组成。
数字系统一般可划分为控制单元和处理单元,数据处理单元完成数据处理,产生系统的输出信号,并产生数据运算状态信息。数据处理单元主要由寄存器,运算器,数据选择器等部件组成。控制单元根据外部控制信号,并从数据单元得到状态信号,产生控制信号序列,以决定何时进行何种数据运算。
二、工作原理
所谓“频率”,就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔T内测得这个周期性信号的重复变化次数N,则其频率可表示为f=N/T。其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率fx。中断T0提供标准的时间脉冲信号,若其周期为1s,当周期时间到达是,T1中断的计数器就会记下在周期1S的时间脉冲所到达的个数,最后通过单片机将二进制转换成十进制送到计数译码显示电路。1S的时间达到,计数器停止计数。由于计数器计得的脉冲数N是在1秒时间内的累计数。
三、底层模块设计
CNT10的功能定义,其VHDL语言编写
Cnt10模块为十进制加法计数器模块,该计数器模块设置了技数,异步清零,计数使能,进位输出多种功能。异步清零功能是为了闸门开通之时计数器从零开始计数。计数器使能信号实际上就是闸门信号,高电频允许计数,低电频时停止计数。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt10 is
port(clkin: in std_logic;
clr: in std_logic;
cs: in std_logic;
QQ:out std_logic_vector(3 downto 0);
CO:out std_logic);
end;
architecture one of cnt10 is
signal Q:std_logic_vector(3 downto 0);
begin
process(clkin,clr,cs)
begin
if clr=1 then Q=0000;
else
if clkinevent and clkin=1 then
if cs=1 then
if Q=9 then Q=0000;
else
Q=Q+1;
end if;
end if;
end if;
end if;
end process;
QQ=Q;
process(Q)
begin
if Q=9 then
co=0;
else
co=1;
end if;
end process;
end;
control模块
用于产生时序要求的控制信号。Control模块实际上是一个具有10个状态的摩尔型状态机。该状态机的时钟信号为8HZ的基准信号CLK1,因此每个状态维持时间为0.125s。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity contrl is
port( clk: in std_logic;
clr: out std_logic;
cs: out std_logic;
le: out std_logic);
end;
architecture one of control is
signal Q: std_logic_vector(3 downto 0);
begin
process(clk)
begin
if clkevent and clk=1 then
if Q=9 then
Q=0000;
else
Q=Q+1;
end if;
end if;
end process;
process(Q)
begin
if Q=9 then
le=1;cs=0;c
文档评论(0)