2 / 8
EDA课程设计报告
名 称:8位十进制频率计
学 号:
姓 名:
年级专业:2011级电子信息工程
学 院:物电学院
指导老师:
日 期:2014年6月2日
安徽师范大学,频率的测量就显得更为重要。测量频率的方法有很多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
数字式频率计的测量原理有两类:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法即周期法,如周期测频法。直接测频法适用于高频信号的频率测量,通常采用计数器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短在达到不同的测量精度;间接测频法适用于低频信号的频率测量。
3 / 8
本次设计中使用的就是直接测频法,即用计数器在计算机1S内输入信号周期的个数,其测频范围为1Hz~999999Hz。
五、设计电路的顶层结构及仿真图
这次设计有三个模块组成,测频控制信号发生器TESTCTL八个有时钟时能功能的十进制计数器CNT10和一个32位锁存器REG32B,如图:
顶层结构图
测频控制信号发生器TESTCTL仿真效果图
六、实验现象
从时钟源TJ4~TJ6输入一方波信号,数码管则将显示该信号的频率值,输入信号频率范围为1Hz~100MHz,频率高时有误差。另外,可从GCLK2端输入外部数字信号,进行测量。
七、设计源码
十进制计数器CNT10程序:
library ieee;
use ieee.;
entity cnt10 is
port(clk: in std_logic;
clr: in std_logic;
ena: in std_logic;
cq : out integer range 0 to 9;
carry_out: out std_logic);
end cnt10;
architecture behav of cnt10 is
signal cqi: integer range 0 to 9;
begin
process(clr,clk,ena)
begin
if(clr='1') then
cqi<=0;
elsif(clk'event and clk='1') then
if(ena='1') then
if(cqi=9) then
cqi<=0;
carry_out<='1';
else
cqi<=cqi+1;
carry_out<='0';
end if;
end if;
end if;
end process;
cq<=cqi;
end behav;
4 / 8
作用:实现十进制计数功能。当第一个CNT10计数输出CQ=9时,下一秒时钟上升沿到来时,将产生一个CARRY_OUT信号作为下一个CNT10的时钟信号,同时CQ清零。依次递推到8个CNT10。
32位锁存器REG32B程序:
library ieee;
use
8位十进制频率计-EDA课程设计报告 来自淘豆网m.daumloan.com转载请标明出处.