《eda技术使用教程》
课程设计报告。
题目名称: 设计一个1hz~9999hz的频率计
学生姓名。学号。
专业年级。指导教师。
时间: 2024年12月28日。
目录。一. 设计任务与要求 1
二. 设计思路 2
三. 频率计设计原理 3
四. 频率计的各个设计模块 4
4.1. 频率产生器lpm_counter0: 4
4.2. 测频控制信号发生器testpl: 6
4.3. 十进制计数器cnt10: 7
4.4. 16位锁存器reg16b: 9
4.5. 数码管控制器ledcom: 10
4.6. 译码器ymq: 12
4.7 元件声明及例化 14
五. **结果 16
六. 心得体会 17
七. 参考文献 18
设计一个1hz~9999hz的频率计,需满足一下条件:
1)待测信号为方波信号,且已进行量化,1表示高电平,0表示低电平,占空比不定;
2)提供一个1hz的信号,去控制打开被检测信号的与门,使计数器在一秒钟内计数;
3)数码管显示的就是被检测信号的频率,以十进制显示;
4)系统时钟10mhz
数字频率计是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量方波信号及其他各种单位时间内变化的物理量。本数字频率计采用自顶向下的设计思想,通过闸门提供的1s闸门时间对被测信号进行计数及测出的被测信号的频率,测出的频率再通过译码器译码后输出给显示器显示。
我分为以下的六个部分来完成这次的设计:
1) 频率产生器lpm_counter0:
2) 测频控制信号发生器testpl:
3) 十进制计数器cnt10:
4) 16位锁存器reg16b
5) 数码管控制器ledcom:
6) 译码器ymq:
在实验**电路中clk端口用实验箱的输出为标准时基信号,sig端口接入被测的信号,clr端口连接一个电平开关,将电平开关-置高电平,输出端接好led显示器就可以观察被测信号的频率了。
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
数字式频率计的测量原理有两类:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法即测周期法,如周期测频法。直接测频法适用于高频信号的频率测量,通常采用计数器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短在达到不同的测量精度;间接测频法适用于低频信号的频率测量。
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
数字式频率计的测量原理有两类:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法即测周期法,如周期测频法。直接测频法适用于高频信号的频率测量,通常采用计数器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短在达到不同的测量精度;间接测频法适用于低频信号的频率测量。
本设计中使用的就是直接测频法,即用计数器在计算1s内输入信号周期的个数,其测频范围为1hz~9999h。
有一50mhz的时钟输入端clk,经过分频处理后从输出端q[26..0]输出27种频率信号,从中选出三个不同频率的信号:q[25]为1hz输入testpl的clk端,q[13]为测试信号输入低位计数器的cnt10的clk端,q[17]为数码管显示选择的扫描信号输入数码管控制器的clk端。
library ieee;
use library lpm;
use entity lpm_counter0 is
port(clock: in std_logic ;
q: out std_logic_vector (26 downto 0));
end lpm_counter0;
architecture syn of lpm_counter0 is
signal sub_wire0 : std_logic_vector (26 downto 0);
component lpm_counter
generic (
lpm_directionstring;
lpm_port_updownstring;
lpm_typestring;
lpm_widthnatural
port(clock : in std_logic ;
q : out std_logic_vector (26 downto 0));
end component;
beginq <=sub_wire0(26 downto 0);
lpm_counter_component : lpm_counter
generic map (
lpm_direction =>up",lpm_port_updown =>port_unused",lpm_type =>lpm_counter",lpm_width =>27
port map (
clock =>clock,q =>sub_wire0
end syn;
输入端clk收到1hz信号后,其输出端testen控制各个cnt10的使能,clr_cnt控制各个cnt10的清零,load控制锁存器内数据的输出。
library ieee;
use use
entity testpl is
port(clk:in std_logic;--1hz信号。
tsten:out std_logic;--计数器使能信号。
clr_cnt:out std_logic;--计数器清零信号。
load:out std_logic);-锁存器输出控制信号。
end testpl;
architecture art of testpl is
signal div2clk:std_logic;
beginprocess(clk)
beginif clk'event and clk='1'then
div2clk<=not div2clk; -div2clk为2hz
end if ;
end process;
process (clk ,div2clk)
beginif( clk='0'and div2clk='0')then
clr_cnt<='1当div2clk与clk同时为零时计数器清零。
else clr_cnt<='0'; 当div2clk处于的高电平时计数器计数。
end if;
end process;
load<=not div2clk; -锁存器输出与计数器使能信号反相。
tsten<=div2clk;
end art;
有一时钟使能输入端en,用于锁定计数值。当高电平"1"时计数允许计数,低电平"0"时禁止计数。多位十进制计数器时,最低位的计数器的clk端输入被测信号,各计数器的进位输出端c10将信号输到下一位十进制计数器cnt10的输入端clk,最高位十进制计数器cnt10的进位输出端c10不处理。
**:library ieee;
use use
entity cnt10 is
port(clk,clr,en: in std_logic;
-clk:计数器时钟,clr:清零信号,en:计数使能信号。
q: out std_logic_vector(3 downto 0);-q:4位计数结果输出。
c10: out std_logic);-计数进位。
end cnt10;
architecture art of cnt10 is
signal cqi: std_logic_vector(3 downto 0);
beginprocess (clk,clr)
beginif clr='1' then cqi<="0000";
-当输入的clr_cnt为低电平0时清零。
elsif clk'event and clk='1' then
if en='1' then
-当输入的tesen为高电平1时允许计数。
if (cqi<9) then cqi<=cqi+1;
EDA课程设计
题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...
eda课程设计
哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...
eda课程设计
目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...