欢迎来到天天文库
浏览记录
ID:52536950
大小:54.50 KB
页数:3页
时间:2020-03-28
《基于VHDL地数字频率计地设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于VHDL的数字频率计的设计一、数字频率计的基本设计原理频率信号易于传输,抗干扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。本文的数字频率计是按照计算每秒内待测信号的脉冲个数的基本原理来设计,此时取闸门时间为1秒。数字频率计的关键组成部分包括一个测频控制信号发生器、一个计数器和一个锁存器,另外包含信号整形电路、脉冲发生器、译码驱动电路和显示电路,其原理框图如图1所示。信号整形电路计数器锁存器译码驱动电路数码显示脉冲发生器测频控制信号发生器图1数字频率计原理框图工作过程
2、:系统正常工作时,脉冲信号发生器输入1Hz的标准信号,经过测频控制信号发生器的处理,2分频后即可产生一个脉宽为1秒的时钟信号,以此作为计数闸门信号。测量信号时,将被测信号通过信号整形电路,产生同频率的矩形波,输入计数器作为时钟。当计数闸门信号高电平有效时,计数器开始计数,并将计数结果送入锁存器中。设置锁存器的好处是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。最后将锁存的数值由外部的七段译码器译码并在数码管上显示。本程序采用了直接测频法:把被测频率信号经脉冲整形电路处理后加到闸门的一个输入端,只
3、有在闸门开通时间T(以秒计)内,被计数的脉冲送到十进制计数器进行计数。二、VHDL的设计实现1.基本原理设计频率计的核心是设计一个测频控制信号发生器,产生测量频率的控制时序。这里控制信号clk取为1Hz,2分频后就是一个脉宽为1秒的时钟信号testen,用来作为计数闸门信号。当testen为高电平时开始计数;在testen的下降沿,要产生一个锁存信号lock,该锁存信号是testen取反的值,并且是上跳沿有效;锁存数据后,还要在下次testen上升沿到来之前产生清零信号clear,为下次计数作准备,c
4、lear信号也是上跳沿有效。测频控制信号发生器各信号之间的时序关系见图2所示。计数器在清零信号clear到来时清零,testen为高电平时开始测量待测信号FSIN的个数,输出DOUT以十进制数显示,本频率计测量范围在65535Hz(16位)以内。clktestenlockclear图2测频控制信号发生器的控制时序3/3VHDL的实现过程中,其逻辑图如图3所示。图3数字频率计顶层逻辑图2.VHDL程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_L
5、OGIC_UNSIGNED.ALL;ENTITYFREQCOUNTERISPORT(fsin:INSTD_LOGIC;------待测信号clk:INSTD_LOGIC;------1Hz基准时钟dout:OUTINTEGERRANGE0TO65535------计数结果);ENDFREQCOUNTER;ARCHITECTUREbehavOFFREQCOUNTERISSIGNALtesten:STD_LOGIC;------计数器使能信号SIGNALclear:STD_LOGIC;-------计数器
6、清零信号SIGNALFIG:INTEGERRANGE0TO65535;------计数值BEGINPROCESS(clk)BEGINIFclk'eventANDclk='1'THENtesten<=NOTtesten;---对1Hz时钟2分频ENDIF;ENDPROCESS;PROCESS(clk,testen)BEGINIFclk='0'ANDtesten='0'THENclear<='1';---产生计数器清零信号3/3ELSEclear<='0';ENDIF;ENDPROCESS;PROCESS
7、(fsin)BEGINIFclear='1'THENFIG<=0;--计数值清零ELSIFfsin'eventANDfsin='1'THENFIG<=FIG+1;--计数器计数ENDIF;ENDPROCESS;PROCESS(testen,fig)BEGINIFtesten'eventANDtesten='0'THENdout<=fig;----输出锁存信号ENDIF;ENDPROCESS;ENDbehav;3、设计结果与分析利用QuartusII8.0对VHDL的源设计进行编译,其仿真波形如图4所示
8、。(a)4Hz的仿真结果(b)5kHz的仿真结果图4.仿真波形图从仿真结果来看,该程序实现了频率计数的要求。3/3
此文档下载收益归作者所有