6位十进制频率计实践报告_第1页
6位十进制频率计实践报告_第2页
6位十进制频率计实践报告_第3页
6位十进制频率计实践报告_第4页
6位十进制频率计实践报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

六位十进制频率计引言在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更加重要。数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着现场可编程门阵列 FPGA 的广泛应用,以 EDA 工具作为开发手段,运用 VHDL等硬件描述语言语言,将使整个系统大大简化,提高了系统的整体性能和可靠性。一、 课程设计题目和设计要求简易频率计要求:设计一个简易的 6 位十进制频率计。功能分析:可以测量的频率范围:0999999Hz ,并在数码管显示器频率的值二、 设计思路分析与方案选择1、 频率计设计原理在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。数字式频率计的测量原理有两类:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法即测周期法,如周期测频法。直接测频法适用于高频信号的频率测量,通常采用计数器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短在达到不同的测量精度;间接测频法适用于低频信号的频率测量。本设计中使用的就是直接测频法,即用计数器在计算 1S 内输入信号周期的个数,其测频范围为 1Hz999999Hz。2、 频率计设计思路频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。这就要求测频控制信号发生器 TESTCTL 的计数使能信号 TSTEN 能产生一个 1 秒脉宽的周期信号,并对频率计的每一计数器 CNT10 的使能端 ENA 进行同步控制。当TSTEN 为高电平时,允许计数;为低电平时停止计数,并保持其计数结果。在停止计数期间,首先需要一个锁存信号 LOAD 的上跳沿将计数器在前 1 秒种的计数值锁存进 24 位锁存器 REG24B 中,并由外部的 7 段译码器译出,并稳定显示。设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存信号之后,必须有一个清零信号 CLR-CNT 对计数器进行清零,为下 1 秒的计数操作做准备。测频控制信号发生器的工作时序如所示。寄存器 REG24B 设计要求是:若已有 24 位 BCD 码存在于此模块的输入口,在信号 LOAD 的上升沿后即被锁存到寄存器 REG24B 的内部,并由 REG24B的输出端输出,然后由 7 段译码器译成能在数码管上显示输出的相应数值。计数器 CNT10 设计要求:有一时钟使能输入端,用于锁定计数值。当高电平时计数允许,低电平时禁止计数。3、 系统的总体框图分频电路模块 测频信号控制模块计数模块锁存模块译码显示模块三、 频率计的层次化设计方案1、 分频模块由于 KHF3 型实验箱上基准时钟信号没有 1Hz 的频率,本设计采用10MHz 的频率,首先通过设计一个 10 分频的电路,然后将七个 10 分频电路级联就可以将 10MHz 的方波信号变为 1Hz 的方波信号。10 分频电路的源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity clk_div isport(clk:in std_logic;clk_div10:out std_logic);end;architecture one of clk_div issignal count:std_logic_vector(2 downto 0);signal clk_temp:std_logic;beginprocess(clk)beginif(clkevent and clk=1) thenif (count=“100“)then count0);clk_tempclk1,clk_div10=s1);u2:clk_div port map(clk=s1,clk_div10=s2);u3:clk_div port map(clk=s2,clk_div10=s3);u4:clk_div port map(clk=s3,clk_div10=s4);u5:clk_div port map(clk=s4,clk_div10=s5);u6:clk_div port map(clk=s5,clk_div10=s6);u7:clk_div port map(clk=s6,clk_div10=clk_div10m);end;将程序进行编译、仿真成功后生成一个电路图可供顶层设计调用。电路图如图(1)所示:图(1)2、 测频控制信号发生器测频控制信号发生器使能信号 tsten 能产生一个 1 秒脉宽的周期信号,并对频率计的每一个计数器 CNT10 的 ENA 使能端进行控制。当 tsten 为高电平时允许计数,当为低电平时禁止计数,并保持其所计的脉冲个数。源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity div2clk isport(clk:in std_logic;tsten:out std_logic;clr_cnt:out std_logic;load:out std_logic);end;architecture one of div2clk issignal div2clk:std_logic;beginprocess(clk)beginif clkevent and clk=1thendiv2clkclk,clr=clr,en=en,cq=q1(3 downto 0),cout=s1);u2:count10 port map(clk=s1,clr=clr,en=en,cq=q2(7 downto 4),cout=s2);u3:count10 port map(clk=s2,clr=clr,en=en,cq=q3(11 downto 8),cout=s3);u4:count10 port map(clk=s3,clr=clr,en=en,cq=q4(15 downto 12),cout=s4);u5:count10 port map(clk=s4,clr=clr,en=en,cq=q5(19 downto 16),cout=s5);u6:count10 port map(clk=s5,clr=clr,en=en,cq=q6(23 downto 20),cout=co);end;将程序进行编译、仿真成功后生成一个电路图可供顶层设计调用。电路图如图(3)所示:图(3)4、24 位锁存器当 load 端到达上升沿,产生锁存信号,将前面计数器的计数值输入到锁存器里进行锁存,当 clr 端为高电平时,将锁存器里的值清零。锁存器的源程序如下:library ieee;use ieee.std_logic_1164.all;entity reg24 isport(load,clr:in std_logic;din:in std_logic_vector(23 downto 0);dout:out std_logic_vector(23 downto 0);end;architecture atr2 of reg24 issignal data:std_logic_vector(23 downto 0);beginprocess(clr,load)beginif clr=1 thendata0);elsif(loadevent and load=1) thendata=din;end if;dout=data;end process;end;将程序进行编译、仿真成功后生成一个电路图可供顶层设计调用。电路图如图(4)所示:图(4)5、显示译码模块将锁存器保存的计数值送到译码器里译码,在将译码后的数送到七段共阴数码管,这样就能将计数值显示出来,即将频率计的频率在数码管上显示出来。显示译码模块的源程序如下:library ieee;use ieee.std_logic_1164.all;entity led7 isport(d_in:in std_logic_vector(3 downto 0);led:out std_logic_vector(6 downto 0);end;architecture art3 of led7 isbeginwith d_in selectled=“0111111“ when “0000“,“0000110“ when “0001“,“1011011“ when “0010“,“1001111“ when “0011“,“1100110“ when “0100“,“1101101“ when “0101“,“1111101“ when “0110“,“0000111“ when “0111“,“1111111“ when “1000“,“1101111“ when “1001“,“0000000“ when others;end;将程序进行编译、仿真成功后生成一个电路图可供顶层设计调用。电路图如图(5)所示:图(5)6、顶层设计将每个模块的程序编译仿真后生成的电路图进行调用,然后将每个模块连起来,形成一个系统,然后再进行编译、仿真,验证其功能是否达到设计要求,频率计的总体电路图如图(6)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论