EDA数字频率计Word文件下载.docx
《EDA数字频率计Word文件下载.docx》由会员分享,可在线阅读,更多相关《EDA数字频率计Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
频率信号易于传输,抗干扰性强,可以获得较好的测量精度。
因此,频率检测是电子测量领域最基本的测量之一。
本文的数字频率计是按照计算每秒内待测信号的脉冲个数的基本原理来设计,此时取闸门时间为1秒。
数字频率计的关键组成部分包括一个测频控制信号发生器、一个计数器和一个锁存器,另外包含信号整形电路、脉冲发生器、译码驱动电路和显示电路,其原理框图如图1所示。
数码显示
译码驱动电路
信号整形电路
锁存器
计数器
脉冲发生器
测频控制信号发生器
图1数字频率计原理框图
工作过程:
系统正常工作时,脉冲信号发生器输入1Hz的标准信号,经过测频控制信号发生器的处理,2分频后即可产生一个脉宽为1秒的时钟信号,以此作为计数闸门信号。
测量信号时,将被测信号通过信号整形电路,产生同频率的矩形波,输入计数器作为时钟。
当计数闸门信号高电平有效时,计数器开始计数,并将计数结果送入锁存器中。
设置锁存器的好处是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。
最后将锁存的数值由外部的七段译码器译码并在数码管上显示。
2.1.1.频率测量模块
(1)直接测频法:
把被测频率信号经脉冲整形电路处理后加到闸门的一个输入端,只有在闸门开通时间T(以秒计)内,被计数的脉冲送到十进制计数器进行计数。
(2)组合测频法:
是指在高频时采用直接测频法,低频时采用直接测量周期法测信号的周期,然后换算成频率。
课程设计说明书NO.3
(3)倍频法:
是指把频率测量范围分成多个频段,使用倍频技术,根据频段设置倍频系数,将经整形的低频信号进行倍频后再进行测量,对高频段则直接进行测量。
倍频法较难实现。
2.2VHDL的设计实现
2.2.1VHDL具有支持自顶向下(ToptoDown)和基于库(LibraryBased)的设计特点,因此设计者可以不必考虑具体的器件工艺结构,从系统级开始,在顶层进行系统的结构
设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一
级。
进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去。
设计频率计的核心是设计一个测频控制信号发生器,产生测量频率的控制时序。
这里控制信号clk取为1Hz,2分频后就是一个脉宽为1秒的时钟信号testen,用来作为计数闸门信号。
当testen为高电平时开始计数;
在testen的下降沿,要产生一个锁存信号lock,该锁存信号是testen取反的值,并且是上跳沿有效;
锁存数据后,还要在下次testen上升沿到来之前产生清零信号clear,为下次计数作准备,clear信号也是上跳沿有效,它滞后lock信号0.5秒。
测频控制信号发生器各信号之间的时序关系见图2所示。
计数器在清零信号clear到来时清零,testen为高电平时开始测量待测信号FSIN的个数,输出DOUT以十进制数显示,本设计的频率计测量范围在10kHz以内。
课程设计说明书NO.4
Clk
Testen
Lock
Clear
图2测频控制信号发生器的控制时序
VHDL的实现过程中,其顶层的逻辑图如图3所示,由一个测频控制信号发生器TESTCTL,4个有时钟功能的十进制计数器CNT10,一个16位锁存器REG16B组成。
CLKCQ[3..0]
CLRCARRY_OUT
ENA
FSINDIN[3..0]CNT10
CLKCLEAR
TESTEN
LOCK
CLK
CLRCARRY_OUT
ENA
DIN[7..4]CNT10
TESTCTL
REG16BDIN[11..8]CNT10
LOCKDOUT[15..0]
DIN[15..0]
DIN[15..12]CNT10
DOUT[15..0]
图34位十进制数字频率计顶层逻辑图
2.2.2VHDL程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
课程设计说明书NO.5
ENTITYTESTCTLIS
PORT(CLK:
INSTD_LOGIC;
CNT_EN,RST_CNT,LOAD:
OUTSTD_LOGIC);
END;
ARCHITECTUREBEHAVIOROFTESTCTLIS
SIGNALdiv2clk:
STD_LOGIC;
BEGIN
PROCESS(CLK)
BEGIN
IFCLK'
EVENTANDCLK='
1'
THEN
div2clk<
=NOTdiv2clk;
ENDIF;
ENDPROCESS;
PROCESS(CLK,div2clk)
IF(CLK='
0'
ANDdiv2clk='
)THEN
RST_CNT<
='
;
ELSERST_CNT<
ENDPROCESS;
LOAD<
CNT_EN<
=div2clk;
ENDBEHAVIOR;
课程设计说明书NO.6
锁存器(REG4B)的程序如下。
ENTITYREG4BIS
PORT(LOAD:
DIN:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ARCHITECTUREBEHAVIOROFREG4BIS
PROCESS(LOAD,DIN)
IFLOAD'
EVENTANDLOAD='
DOUT<
=DIN;
顶层描述的VHDL程序。
课程设计说明书NO.7
ENTITYpljIS
PORT(fsin:
------待测信号
clk:
INSTD_LOGIC;
------1Hz基准时钟
dout:
OUTSTD_LOGIC_VECTOR(15DOWNTO0));
------计数结果
ENDplj;
ARCHITECTUREbehavOFpljIS
SIGNALtesten:
------计数器使能信号
SIGNALclear:
STD_LOGIC;
-------计数器清零信号
SIGNALfig:
STD_LOGIC_VECTOR(15DOWNTO0);
------计数值
IGNALfig:
PROCESS(clk)
IFclk′eventANDclk=′1′THENtesten<
=NOTtesten;
---对1Hz时钟2分频
ENDIF;
PROCESS(clk,testen)
IFclk='
0'
ANDtesten='
THENclear<
1'
;
---产生计数器清零信号
ELSEclear<
PROCESS(fsin)
IFclear='
THENfig<
="
0000000000000000"
ELSIFfsin'
eventANDfsin='
THEN
课程设计说明书NO.8
IFfig(11DOWNTO0)="
100110011001"
THENfig<
=fig+"
011001100111"
--999进位
ELSIFfig(7DOWNTO0)="
10011001"
=fig+"
01100111"
---99进位
ELSIFfig(3DOWNTO0)="
1001"
0111"
---9进位
ELSEfig<
=fig+'
PROCESS(testen,fig)
IFtesten'
eventANDtesten='
THENdout<
=fig;
----输出锁存信号
ENDbehav;
3、设计结果与分析
利用MAX+plusII对VHDL的源设计进行编译、优化、逻辑综合,自动地把VHDL程序转变成门级电路,其仿真波形如图4所示。
NameValue0.0ns2.0μs4.0μs
fsin0
clk0
doutH000000000010
图四仿真波形图
课程设计说明书NO.9
4、设计体会
通过这次的课程设计让我们提高了动手能力,加深巩固了EDA技术的学习内容。
在几天的设计中充分体会到了EDA技术在我们电子信息工程专业的学习中有着很大的重要性,必须要学好这门技术才能理解电子信息工程专业的发展方向。
VHDL语言在将来的学习生活中也有可能占有重要的地位,是我们专业就业必须要有的一门技术。
5、参考资料
[1]潘松,黄继业.EDA技术实用教程[M].北京:
科学出版社,2005170-260
[2]杨则,龙海燕.VHDL与数字系统设计[M].北京:
电子工业出版社,200465-160
[3]徐志军大规模可编程逻辑器件及其应用[M].成都:
电子科技大学出版社,2000130-200
[4]武卫华陈德宏基于EDA技术的数字频率计芯片化的实现电测与仪表2004年第4期
[5]边计年,薛宏熙译.用VHDL设计电子线路[M].北京:
清华大学出版社,2000
205-300
[6]张霞.VHDL在现代EDA中的应用.现代电子技术.2005.5143-170
课程设计说明书NO.10