文档详情

基于FPGA数字频率计 (可测占空比) .pdf

发布:2024-11-28约1.18万字共16页下载文档
文本预览下载声明

VHDL课程设计报告

——基于FPGA的数字频率计

姓名:

学号:

班级:

目录

1设计原理………………….1

2功能设计…………………..1

3系统总体框图……………1

4各功能块设计说明…….2

5实验结果……………………14

6结论分析…………………….15

一、设计原理

频计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其

他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1s。

闸门时间可以根据需要取值,大于或小于1s都可以。闸门时间越长,得到的频

率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。闸门时间越短,

测得的频率值刷新就越快,但测得的频率精度就受影响。一般取1s作为闸门时

间,此测量方法称为直接测频法。由于闸门时间通常不是待测信号的整数倍,这

种方法的计数值也会产生最大为±1个脉冲误差。进一步分析测量准确度:设待

测信号脉冲周期为Tx,频率为Fx,当测量时间为T=1s时,测量相对误差为

Tx/T=Tx=1/Fx。由此可知直接测频法的测量准确度与信号的频率有关:当待测信

号频率较高时,测量准确度也较高,反之测量准确度也较低。

二、功能设计

1、测量范围:1HZ99MHZ,测量精度±1HZ。

2、测量结果高4位与低4位进行分页显示。

当超过9999HZ时,系统亮灯提示超出低4位显示范围,可通过按键进行

高低4位结果的显示切换。高4位显示时,伴有小数点位的点亮,提示已成功切

换到高4位。

3、测量所测信号的占空比。

能够快速测出输入待测信号的占空比,并且通过按键,切换到占空比显示

状态。

4、内置自测信号

由内部时钟产生三个特定时钟,以供自身测试功能是否正常。

三、系统总体框图

系统总框图

四、各功能块设计说明

1、时钟发生器

通过对50MHZ的晶振时钟进行50M的分频,等到一个1HZ信号。再通过此信号,通过

2分频,得到一个0.5HZ的信号,从而得到高电平为1秒的闸门控制信号en来控制计数器的

计数时间.再通过对en求反,等到锁存信号load.而清零信号clr则通过en与1HZ信号共同产

生.

同时对50MHZ信号进行500分频,一个两位的std_logic_vector(1downto0)信号在分

频信号的驱动下不断加‘1’,等到“00”、“01”、“10”、“11”四种片选信号,对应4个数

码管,从而驱动数码管的动态扫描显示。

时钟发生器的代码如下:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

useieee.std_logic_unsigned.all;

entityclockis

port(clk0:instd_logic;

load,en,clr:outstd_logic;

pian:bufferstd_logic_vector(1downto0)

);

endentityclock;

architecturerunofclockis

signalen1,en2,en3:std_logic;

begin

onehz:process(clk0)--产生1HZ信号

variablecnt:integerrange0to

variablex:std_logic;

begin

if(clk0eventandclk0=1)then

if(cnthen

显示全部
相似文档