四位十进制频率计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hefei University

项目报告

项目名称:4位十进制频率计

作者姓名:

作者姓名:

作者姓名:

一、实验目的

1、设计4位十进制频率计,理解用VHDL表达和设计电路的方法;

2、掌握4位十进制频率计的分析和测试方法;

3、学习较复杂的数组系统设计方法。

二、实验原理

根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的对输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期作准备的计数器清0信号。这3个信号可以由一个测频控制信号发生器产生,它的设计要求是,TESTCTL的计数使能信号CNT_EN 能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。当CNT_EN高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要产生一个锁存信号LOAD,在该信号上升沿时,将计数器在前1秒钟的计数值锁存进各锁存器REG4B中,并由外部的7段译码器译出,显示计数值。设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存信号之后,必须有一清零信号RST_CNT 对计数器进行清零,为下1秒钟的计数操作作准备。

在Quartus II上完成4位计数器、测频控制器的设计以及4位锁存器的设计,根据这三个设计完成4位十进制频率计的设计并验证。编译、综合和适配频率计顶层设计文件,并编程下载进目标器件中。建议选实验电路模式0,4个数码管显示测频输出;待测频率输入FIN由clock0输入,频率可选4Hz、256Hz……或更高;1Hz测频控制信号F1HZ可由clock2输入。

三、实验内容

1、总体设计方案

根据频率计的定义和频率测量的基本原理:频率计即是指单位时间 1 秒内输入脉冲个数并显示出来的电路。因为要显示被测信号的,只要限制计数器的计数过程为一秒则计数器的结果即为被测信号的频率。频率值为:Fx=N,N 为一秒内计数器所计脉冲个数。因为是 4 位十进制频率计计数器是模为 9999 的十进制加法计数器,可以由 4 个模为 10 的十进制计数器级联而成,所以可以显示的频率范围是 1-9999HZ。因此,频率计的功能分割成四个模块:计数器,测

频控制信号发生器和输出锁存器,各个模块均用 VHDL 语言描述。待测信号的转速必须有一个脉宽为 1 秒的输入信号脉冲计数允许的信号;1 秒计数结束后,计数值锁入锁存器的锁存信号,并有为下一测频计数周期作准备的计数器清零信号。这三个信号可以由一个测频控制信号发生器产生。当系统正常工作时,标准信号提供频率为 1 Hz 的输入信号,经过测频控制信号发生器进行信号变换,产生计数信号,将被测信号当做脉冲信号送入计数器模块,计数模块对输入的脉冲个数进行计数数结束后,将计数结果送入锁存器中,保证系统可以稳定显示数据,计数结果能够显示在七段数码显示管上。根据系统设计要求,要实现一个4 位十进制数字频率计,则要设计测频控制信号发生器模块 test、四位十进制加法计数器模块 cnt4、reg4 锁存器模块, 顶层设计原理框图如下图所示。

图5-1 4位十进制频率计顶层文件原理图

2、测频计设计

VHDL语言描述为:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY test IS

PORT(CLKK:IN STD_LOGIC;--1Hz

CNT_EN,RST_CNT,LOAD:OUT STD_LOGIC);

END test;

ARCHITECTURE behav OF test IS

SIGNAL DIV2CLK:STD_LOGIC;

BEGIN

PROCESS(CLKK)

BEGIN

IF CLKK'EVENT AND CLKK='1' THEN DIV2CLK<=NOT DIV2CLK;

END IF;

END PROCESS;

PrOCESS (CLKK,DIV2CLK)

BEGIN

IF CLKK='0'AND Div2CLK='0' THEN RST_CNT<='1';

ELSE RST_CNT <='0';

END IF;

END PROCESS;

LOAD <=NOT DIV2CLK;

CNT_EN<=DIV2CLK;

END behav;

仿真波形如图5-2所示:

图5-2 频率计测频控制器TESTCTL测控时序图3、十位计数器设计

VHDL语言描述为:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY cnt4 IS

PORT( CLK:IN STD_LOGIC;

RST,ENA:IN STD_LOGIC;

COUT:OUT STD_LOGIC;

OUTY:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)

);

END cnt4;

ARCHITECTURE behv OF cnt4 IS

BEGIN

PROCESS(RST,ENA,CLK)

V ARIABLE CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

IF RST='1' THEN CQI:=(OTHERS =>'0');

ELSIF CLK'EVENT AND CLK='1' THEN

IF ENA='1' THEN

IF CQI<9 THEN CQI:=CQI+1;

ELSE CQI:=(OTHERS=>'0');

END IF;

END IF;

END IF;

IF CQI=9 THEN COUT<='1';

ELSE COUT<='0';

END IF;

OUTY<=CQI;

END PROCESS;

END behv;

相关文档
最新文档