数字显示频率计的设计Word格式.docx

上传人:b****4 文档编号:7936337 上传时间:2023-05-09 格式:DOCX 页数:12 大小:180.67KB
下载 相关 举报
数字显示频率计的设计Word格式.docx_第1页
第1页 / 共12页
数字显示频率计的设计Word格式.docx_第2页
第2页 / 共12页
数字显示频率计的设计Word格式.docx_第3页
第3页 / 共12页
数字显示频率计的设计Word格式.docx_第4页
第4页 / 共12页
数字显示频率计的设计Word格式.docx_第5页
第5页 / 共12页
数字显示频率计的设计Word格式.docx_第6页
第6页 / 共12页
数字显示频率计的设计Word格式.docx_第7页
第7页 / 共12页
数字显示频率计的设计Word格式.docx_第8页
第8页 / 共12页
数字显示频率计的设计Word格式.docx_第9页
第9页 / 共12页
数字显示频率计的设计Word格式.docx_第10页
第10页 / 共12页
数字显示频率计的设计Word格式.docx_第11页
第11页 / 共12页
数字显示频率计的设计Word格式.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字显示频率计的设计Word格式.docx

《数字显示频率计的设计Word格式.docx》由会员分享,可在线阅读,更多相关《数字显示频率计的设计Word格式.docx(12页珍藏版)》请在冰点文库上搜索。

数字显示频率计的设计Word格式.docx

八位数字显示频率计

1设计目的

通过EDA的试验设计,加深我们对FPGA的了解,熟悉FPGA的工作原理和试验环境,知道FPGA的开发流程,熟悉各种软件如QuartusII6.0的使用。

通过设计小型试验项目学会仿真和硬件测试的基本方法。

2设计的主要内容和要求

在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更加重要。

通过运用HDL语言,实现8位数字频率计,并利用QuartusII6.0集成开发环境进行编辑、综合、波形仿真,并下载到FPGA器件中,经实际电路测试,该系统性能可靠。

3整体设计方案

3.1八位十进制数字显示频率计设计

在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。

测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。

数字式频率计的测量原理有两类:

一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;

二是间接测频法即测周期法,如周期测频法。

直接测频法适用于高频信号的频率测量,通常采用计数器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短在达到不同的测量精度;

间接测频法适用于低频信号的频率测量,本设计中使用的就是直接测频法,即用计数器在计算1S内输入信号周期的个数

数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。

随着现场可编程门阵列FPGA的广泛应用,以EDA工具作为开发手段,运用VHDL等硬件描述语言,将使整个系统大大简化,提高了系统的整体性能和可靠性。

3.2具体设计方法

本实验通过频率控制模块,将时钟信号clk两分频后分别取反赋给锁存使能和计数使能端,这样计数完成后就能实现数据的锁存,当计数使能和锁存使能同时无效,即都出现低电平的时候,计数复位信号有效,将计数器清零,从新开始计数。

3.3原理框图

译码显示

锁存器

计数器

被测信号

图3.3实验原理框图

频率控制部分

4底层文件设计程序及仿真

4.1十进制计数器模块

4.1.1计数器程序

cnt.vhd

LIBRARYieee;

USEieee.std_logic_1164.all;

--打开库

ENTITYcntIS--端口定义

PORT

clk,rst,ena:

INSTD_LOGIC;

--clk为时钟脉冲,rst为复位信号,ena使能

outy:

OUTintegerrange0to9;

--计数输出端口

COUT:

OUTSTD_LOGIC);

--计数进位输出端口

ENDCnt;

--实体定义结束

ARCHITECTUREaOFCntIS--结构体开始

BEGIN

PROCESS(clk,RST,ena)--过程定义,敏感表

VARIABLECQI:

integerrange0to9;

--定义进程里的局部变量,整型0到9

BEGIN

IFRST='

1'

THENCQI:

=0;

--如果复位信号高电平,这将cqi清零

ELSIF(clk'

EVENTANDclk='

)THEN--复位信号无效,clk上升沿到来就执行下一步

IFena='

THEN--如果ena高,则cqi加1

IFCQI<

9THENCQI:

=CQI+1;

--如果ena高且cqi小于9,则cqi加1

ELSECQI:

--否则cqi置零

ENDIF;

--结束if语句

ENDIF;

IFCQI=9THENCOUT<

='

;

--若

ELSECOUT<

0'

--

outy<

=CQI;

--将进程局部变量赋值给outy输出端口

ENDPROCESS;

--结束进程

ENDa;

--结束结构体

图4.1十进制计数器元件符号

4.1.2十进制计数器模块软件仿真图

图4.2十进制计数器仿真波形图

仿真说明:

仿真结果验证了十进制计数器的设计的正确性。

clk是时钟信号,clk是上升沿的时候执行下一步。

r是复位信号,低电平有效。

ena是使能信号,ena为1时,进行加计数。

当加到9时,进位输出,COUT=1。

计数又重新开始。

仿真结果说明了计数器设计的正确性。

4.2锁存器模块

4.2.1锁存器程序

reg4b.vhd

libraryieee;

useieee.std_logic_1164.all;

entityreg4bis--定义实体

port(load:

instd_logic;

--信号锁存

din:

instd_logic_vector(3downto0);

--信号输入端口

dout:

outstd_logic_vector(3downto0));

--锁存输出

endreg4b;

--实体定义完毕

architecturetwoofreg4bis--定义结构体

begin

process(load,din)--定义进程及其敏感表

ifload'

eventandload='

then--锁存有效,则将输入给输出显示

dout<

=din;

endif;

--否则不改变输出

endprocess;

--进程结束

endtwo;

图4.3锁存器元件符号

4.2.2锁存器软件仿真图

图4.4锁存器软件仿真波形图

load=1时锁存有效,则将输入给输出显示。

则din=dout。

仿真结果说明锁存器的设计是正确的。

4.3频率控制模块

4.3.1频率控制的程序

Testctl.vhd

--打开标准库

useieee.std_logic_unsigned.all;

--打开ussigned库

entitytestctlis--定义实体

port(clkk:

--输入时钟端口定义

cnt_en,rst_cnt,load:

outstd_logic);

--cnt使能端口,rst

endtestctl;

--结构体结束

architectureoneoftestctlis--结构体开始

signaldiv2clk:

std_logic;

--2分频信号

process(clkk)--2分频进程

ifclkk'

eventandclkk='

then--时钟上升沿到来

div2clk<

=notdiv2clk;

--2分频

--if时序结束

endprocess;

--2分频进程结束

process(clkk,div2clk)--计数复位控制进程,div2clk为计数使能信号缓冲单元

begin

ifclkk='

anddiv2clk='

then--时钟信号低电平,2分频信号低电平,则计数复位置一

rst_cnt<

--计数复位信号置一

else

rst_cnt<

--否则置零

--计数复位控制进程结束

load<

--2分频取反给锁存器使能信号

cnt_en<

=div2clk;

--2分频给计数使能信号

endone;

图4.5频率控制模块元件符号

4.3.2频率控制模块软件仿真图

图4.6频率控制模块软件仿真波形图

clkk时钟信号上升沿来临,开始2分频。

当clkk时钟信号为低电平,2分频信号为低电平,则计数复位rst_cnt置1,否则清零。

2分频取反给锁存使能信号。

仿真结果说明频率控制模块的设计是正确的。

5顶层设计原理图及仿真

5.1顶层原理图

Freq.bdf

图5.1顶层原理图

5.2最终程序仿真图

结果输出:

F1hz=1us,ftest=250ns时的仿真波形图:

图5.2.1仿真波形图1

F1hz=1us,ftest=50ns时的仿真波形图:

图5.2.1仿真波形图2

当F1hz=1us,ftest=250ns的周期是ftest=50ns的5倍,即频率是1/5。

频率控制的计数复位rst_cnt为1时,输出dout为0。

当复位端为0时,load=1锁存,输出为0。

进位输出为0。

6心得体会

这次EDA试验我学会了vhdl语言的基本语法规范,了解了quartus软件的使用方法,学会了用硬件测试的基本技能,在学习过程中也遇到各种各样的问题,下面就总结出来,做为以后的学习的经验:

语法规则不熟悉,vhdl语法规则在刚刚接触的时候确实有各种各样的疏漏,写源码的时候会不小心遗漏一两个字母或者标点符号,有时候把半角改成全角,这都会导致编译出错。

Quartus软件版权问题,应为条件有限,实验室的软件都是破解版的,这些软件都经过了一定的修改,部分功能缺失,在使用过程中常常会出现奇怪的问题。

如毛刺现象:

不同的工程在同一个文件夹中是编译常会出现毛刺,如果把一个工程新建到一个新的文件夹中,毛刺显现就消除了。

图形化界面顶层设计,如设计时输出端口dout【0..3】为四输出端口,定义是应该用..,不能用:

,另外连线时候可能是一端口连到多端口,或者多端口连到一端口,这时候应该注意连线的根数。

硬件测试的时候,要选对工作模式,管脚的封装必须正确,否则会出现八段数码管乱显示的现象。

参考文献

[1]赵伟军.Protel99se教程[M].北京:

人民邮电出版社,1996年.

[2]金西.VHDL与复杂数字系统设计[M].西安:

西安电子科技大学出版社,2003.

[3]汉泽西.EDA技术及其应用[M].北京:

北京航空航天大学出版社,2004.

[4]江国强.EDA技术与应用[M].北京:

电子工业出版社,2010.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2