四位10进制VHDL频率计设计说明1.docVIP

  • 4
  • 0
  • 约4.65千字
  • 约 6页
  • 2016-09-11 发布于河南
  • 举报
四位10进制VHDL频率计设计说明1

四位10进制VHDL频率计设计 一、频率计数器的功能说明 频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。因此,数字频率计是一种应用很广泛的仪器 。 二、频率计实现 四位频率计的结构包括一个测频率控制信号发生器、四个十进制计数器和一个十六位锁存器(本例中所测频率超过测频范围时有警示灯)。 (1)测频时序控制器TESTCTL 设计频率计的关键是设计一个测频率控制信号发生器,产生测量频率的控制时序。控制时钟信号CLK取为1Hz,2分频后即可产生一个脉宽为1秒的时钟信号TSTEN,以此作为计数闸门信号。当TSTEN为高电平时,允许计数;当TSTEN由高电平变为低电平(下降沿到来)时,输出计数锁存信号LOAD,将计数值保存起来;锁存数据后,还要在下次TSTEN上升沿到来之前产生用于控制计数器清零的信号CLR_CNT,将计数器清零,为下次计数作准备。设计生成电路如下 (2)十进制计数器 计数器以待测信号作为时钟,清零信号CLR_CNT到来时清零端ACLR异步清零; CLK_ENA为高电平时开始计数。如果需要测试较高的频率信号则可将输出位数增加,当然锁存器的位数也要增加。设计中生成的电路如下 (3)锁存器 当LOAD上升沿到来时,将计数器的计数值锁存,然后可由外部的七段译码器将其译码并在数码管显示。设置锁存器的好处是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存器的位数应跟计数器完全一样。设计中生成电路如下 (4)警示灯 将最高位计数器的进位输出送进一个发光二极管,当最高位产生进位后,二极管闪亮,说明所测频率已经超过频率计所能测量的范围。 三、测频时序控制器的设计思路 如下图所示,CLK是由脉冲发生器产生的频率为1Hz的标准时钟信号,当测频计接收到CLK上升沿脉冲时,首先有一个D触发器构成二分频器,在每次时钟CLK的上升沿到来使其值翻转,分为DIV2CLK 与 NOTDIV2CLKA,当接收到首个CLK上升沿时,将产生DIV2CLK=1与NOTDIV2CLK=0,分别将他们送入TSTEN与LOAD,则计数器使能端有效,开始计数。由于二分频为上升沿翻转,而且只有CLK与DIV2CLK均为0时清零端方才有效,所以第一个CLK下降沿来临时其输出不变,维持计数一秒。当第二个CLK上升沿来临时,DIVCLK翻转,则使LOAD有效,计数器停止计数,数据锁存半周期。当第二个CLK下降沿到来时,有CLK与DIV2CLK均为0故,此时计数清零,等待下一次计数。 频率计原理图 四、设计程序及注解 1. 十进制计数器设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY CNT10 IS PORT (CLK : IN STD_LOGIC; CLR : IN STD_LOGIC; ENA : IN STD_LOGIC; CQ : OUT INTEGER RANGE 0 TO 15; CARRY_OUT : OUT STD_LOGIC ); END CNT10 ; ARCHITECTURE behav OF CNT10 IS SIGNAL CQ1 :INTEGER RANGE 0 TO 15; BEGIN PROCESS(CLK, CLR, ENA) BEGIN IF CLR=1 THEN CQ1=0; ELSIF CLKEVENT AND CLK=1 THEN IF ENA=1 THEN IF CQ1 9 THEN CQ1= CQ1+1; ELSE CQ1= 0; END IF; END IF; END IF; END PROCESS; PROCESS (CQ1) BEGIN IF CQ1 = 9 THEN CARRY_OUT=1; ELSE CARRY_OUT=0; END IF; END PROCESS; CQ=

文档评论(0)

1亿VIP精品文档

相关文档