八位十进制分频器实验报告 联系客服

发布时间 : 星期五 文章八位十进制分频器实验报告更新完毕开始阅读df97961afad6195f312ba66d

重庆交通大学

信息科学与工程学院 综

验报告

姓 名: 赵娅琳 学 号 10950214

班 级: 通信工程专业2010级 2班

实验项目名称: 8位16进制频率及设计

实验项目性质: 设计性

实验所属课程: 数字设计基础

实验室(中心): 现代电子实验中心

指 导 教 师 : 李 艾 星

实验完成时间: 2012 年 6 月 18 日

教师评阅意见:

签名: 年 月 日 实验成绩: 一、课题任务与要求

1、验证8位16进制频率计的程序;

2、根据8位16进制频率计的程序设计8位10进制频率计;

二、设计系统的概述

频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率,通常情况下计算每秒内待测的脉冲个数,此时闸门时间为1秒,闸门时间也可以大于或小于1秒。频率信号易于传输,抗干扰性强,可以获得较好的测量精度。

数字频率计的关键组成部分包括一个测频控制信号发生器、一个计数器和一个锁存器,另外包括脉冲发生器、姨妈驱动电路和显示电路。

工作过程:系统正常工作时,脉冲信号发生器输入1HZ的标准信号,经过测频控制信号发生器的处理,2分频后即可产生一个脉宽为1秒的时钟信号,以此作为计数闸门信号。测量信号时,将被测信号通过计数器作为时钟。当技术闸门信号高平有效时,计数器开始计数,并将计数结果送入锁存器中。设置锁存器的好处是现实的数据稳定,不会由于周期的清零信号而不断闪烁。最后将所存的数值由外部的译码器并在数码管上显示。

三、单元电路的设计与分析(重点描述自己设计部分)

1、八位十进制计数顶层模块设计

(1)、此模块是元件例化语句将各个元件(测频控制模块、十进制计数模块、测频锁存器模块)连接形成一个整体,完成最终频率计所期望的功能。

(2)、具体程序如下。

library ieee; --频率计顶层文件 library ieee;

use ieee.std_logic_1164.all;

entity freqtest is --定义逻辑电路的端口 port(clk1hz,fsin:in std_logic;

dout:out std_logic_vector(31 downto 0)); end freqtest;

architecture behv of freqtest is --说明语句 component cnt10_8 --元件说明语句 port(rst,fx,ena:in std_logic;

d:out std_logic_vector(31 downto 0)); end component; component reg32b port(lk:in std_logic;

din:in std_logic_vector(31 downto 0); dout:out std_logic_vector(31 downto 0)); end component; component ftctrl port (clkk:in std_logic; cnt_en :out std_logic; rst_cnt:out std_logic; load:out std_logic); end component;

signal tsten1:std_logic; --信号量定义说明语句 signal clr_cnt1:std_logic; signal load1:std_logic;

signal dto1:std_logic_vector(31 downto 0); signal carry_out1:std_logic_vector(6 downto 0); begin --功能描述语句

u1:ftctrl port map(clkk=>clk1hz,cnt_en=>tsten1,rst_cnt=>clr_cnt1,load=>load1); u2:reg32b port map(lk=>load1,din=>dto1,dout=>dout);

u3:cnt10_8 port map(fx=>fsin,rst=>clr_cnt1,ena=>tsten1,d=>dto1); end behv;

(3)、顶层文件的模块图

2、测频控制模块

(1)、此模块主要是由时钟输入、计数器使能、计数器清零、输出所存构成、其具体的实现是由一个1秒的输入信号脉冲计数允许的信号,1秒计数器结束后,计数值被锁入锁存器,计数器清零,为下一测频计数周期做好准备。

(2)、具体程序如下。

LIBRARY IEEE; --测频控制电路 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY FTCTRL IS --定义逻辑电路的端口 PORT (CLKK:IN STD_LOGIC; --1Hz

CNT_EN:OUT STD_LOGIC; --计数器时钟使能 RST_CNT:OUT STD_LOGIC; --计数器清零 Load:OUT STD_LOGIC);--输出锁存信号 END FTCTRL;

ARCHITECTURE behav OF FTCTRL IS --说明语句 SIGNAL Div2CLK:STD_LOGIC;

BEGIN --功能描述语句 PROCESS(CLKK) BEGIN

IF CLKK'EVENT AND CLKK='1' THEN --1Hz时钟2分频 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;