文档详情

基于VHDL的数字显示频率计的设计.doc

发布:2017-07-28约字共12页下载文档
文本预览下载声明
EDA课程设计报告书 课题名称 基于VHDL的数字显示频率计的设计 姓 名 学 号 院 系 专 业 指导教师 设计任务及要求: 1.1设计任务 做(1)(2)(3) 指导教师签名: 年 月 日 二、指导教师评语: 指导教师签名: 年 月 日 三、成绩 验收盖章 年 月 日 基于VHDL的数字显示频率计的设计 1设计目的 通过EDA的试验设计,加深我们对FPGA的了解,熟悉FPGA的工作原理和试验环境,知道FPGA的开发流程,熟悉各种软件如Quartus II 6.0的使用。通过设计小型试验项目学会仿真和硬件测试的基本方法。 2设计的主要内容和要求 在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更加重要。通过运用VHDL语言,实现4位数字频率计,并利用Quartus II 6.0集成开发环境进行编辑、综合、波形仿真,并下载到FPGA器件中,经实际电路测试,该系统性能可靠3 整体设计方案 3.1四位十进制数据显示频率计设计  在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。数字式频率计的测量原理有两类:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法即测周期法,如周期测频法。直接测频法适用于高频信号的频率测量,通常采用计数器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短在达到不同的测量精度;间接测频法适用于低频信号的频率测量,本设计中使用的就是直接测频法,即用计数器在计算1S内输入信号周期的个数。 。3.2具体设计方法 本实验通过频率控制模块,将时钟信号clk两分频后分别取反赋给所存使能和计数是能端,这样计数完成后就能实现数据的锁存,当计数使能和锁存使能同时无效,基都出现低电平的时候,计数复位信号有效,将计数器清零,重新开始计数。根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的脉冲计数允许信号,1秒计数结束后,计数值(即所测信号频率)锁入锁存器,并为下一次测频作准备,即将计数器清零。 3.3原理框图: 图3.3 实验原理框图 4. 实验程序和原理图模块 4.1四位十进制加法计数器模块 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt4 is --实体声明 port(clk,rst,ena:in std_logic; --端口声明clk,rst,ena是标准逻辑位类型输入端口 q0,q1,q2,q3:buffer std_logic_vector(3 downto 0); cout: out std_logic); --端口声明cout是输出端口, end cnt4; architecture one of cnt4 is signal en1,en2,en3:std_logic; --内部信号声明 begin process(clk,rst,ena) --描述四位十进制加法器的功能 begin if rst=1 then q0=0000; --复位信号 elsif clkevent and clk=1 then --时钟上升沿来到时执行下一条语句 if ena=1 then --使能允许 if q0=1001 then q0=0000;else q0=q0+1; --当q0等于9时清零,其他则加1 end if; end if; end if; if q0=1001 then en1=1; else en1=0;end if; --当q0进位则将en1置位为1 end process; process(clk,rst,en1) --对第二位十进制计数器进行功能描述 begin if rst=1 then q1=0000; elsif clkevent and clk=1
显示全部
相似文档