EDA数字频率计.docx

上传人:b****5 文档编号:7637709 上传时间:2023-01-25 格式:DOCX 页数:21 大小:438.49KB
下载 相关 举报
EDA数字频率计.docx_第1页
第1页 / 共21页
EDA数字频率计.docx_第2页
第2页 / 共21页
EDA数字频率计.docx_第3页
第3页 / 共21页
EDA数字频率计.docx_第4页
第4页 / 共21页
EDA数字频率计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

EDA数字频率计.docx

《EDA数字频率计.docx》由会员分享,可在线阅读,更多相关《EDA数字频率计.docx(21页珍藏版)》请在冰豆网上搜索。

EDA数字频率计.docx

EDA数字频率计

毕业设计(论文)任务书

专业班级姓名

一、课题名称:

EDA的数字频率计的设计

二、主要技术指标:

1)能够测量正弦波、三角波、锯齿波、矩形波等周期性信号的频率;2)能直接用十进制数字显示测得的频率;3)频率测量范围:

1HZ~10KHZ切量程能自动切换;4)输入信号幅度范围为0.5~5V,要求一起自动适应;5)测量时间:

T〈=1.5S;6)用CPLD/FPGA可编程逻辑器件实现

三、工作内容和要求:

数字频率计是数字电路中的一个典型应用!

实际的硬件设计用到的器件较多!

连线比较复杂!

而且会产生较大的延时!

造成测量误差可靠性差.随着可程逻辑器件(CPLD)的广泛应用!

以EDA工具为开发平台!

利用VHDL硬件描述语言!

采用自顶向下和基于库的设计!

设计者不但可以不必了解硬件结构设计!

而且将使系统大大简化!

提高整体的性能和可靠性#本文用VHDL在CPLD器件上实现一种数字频率计测频系统!

能够用十进制数码管显示被测信号的频率!

它不仅能测量频率!

还可以测量其他多种物理量!

具有体积小&可靠性高&功耗低的特点

四、主要参考文献:

[1]潘松VHDL实用教程成都电子科技大学出版社,2000

【2]卢毅,赖杰VHDL与数字电路设计北京科学出版社,2001[3]徐志军大规模可编程逻辑器件及其应用成都电子科技大学出版社,2004.2[4]赵曙光可编程逻辑器件原理、开发与应用西安电子科技大学出版社,2000.6[5]武卫华、陈德宏基于EDA技术的数字频率计芯片化的实现电子科技大学出版社,2004.4[6]熊秋娥、熊英华基于VHDL的数字频率计设计南通大学现代教育技术中心,2007.1

【摘要】

【关键词】

引言………………………………………………………………………………………………6

第一章频率计的设计原理

1.1频率计测量频率的设计原理………………………………………………………………6

1.2频率计测量周期的原理……………………………………………………………………7

第二章频率计测量频率的层次化设计方案

2.14位十进制计数器模块……………………………………………………………………8

2.2控制模块设计………………………………………………………………………………12

2.3分频模块的设计……………………………………………………………………………19

2.4译码模块……………………………………………………………………………………23

2.5量程自动切换模块…………………………………………………………………………30

第三章频率计测量频率的顶层设计和仿真

…………………………………………………33

第四章频率计测量周期的层次化设计方案

4.1计数模块…………………………………………………………………………………34

4.2译码模块…………………………………………………………………………………34

4.3.分频模块…………………………………………………………………………………34

4.4控制模块…………………………………………………………………………………38

4.5量程自动切换模块………………………………………………………………………40

第五章.频率计测量周期顶层电路原理图设计

………………………………………………42

第六章下载测试

6.1编译…………………………………………………………………………………………44

6.2管脚配置……………………………………………………………………………………44

6.3编程下载和测试……………………………………………………………………………44

第七章结束语

…………………………………………………………………………………45

第八章答谢词

…………………………………………………………………………………45

参考文献

 

基于EDA的数字频率计的设计

摘要:

数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置。

它不仅可以测量正弦波、方波、三角波、尖脉冲信号和其他具有周期特性的信号的频率,而且还可以测量它们的周期。

经过改装,可以测量脉冲宽度,做成数字式脉宽测量仪;可以测量电容做成数字式电容测量仪;在电路中增加传感器,还可以做成数字脉搏仪、计价器等。

因此数字频率计在测量物理量方面应用广泛。

本设计用VHDL在CPLD器件上实现数字频率计测频系统,能够用十进制数码显示被测信号的频率,能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。

具有体积小、可靠性高、功耗低的特点。

数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

采用VDHL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。

在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。

该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。

关键词:

FPGA芯片、VHDL语言、数字频率计、数字频率计原理图、Max+plusII软件、EDA技术

DesignofDigitalCymometerBasedonEDA

Abstract:

Digitalcymometeristodirectlyshowtobemeasuredakindofdiagraphofsignalfrequencytoequipwiththedecimalsystemnumber.Itnotonlycanmeasuresinewave,squarewave,trianglewave,sharppulsesignalandotherhaveaperiodofthefrequencyofthesignalofcharacteristic,andcanalsomeasuretheirperiods.Hasbeenrefitted,canmeasurepulsewidth,makeintothenumbertypeveinbreadthtomeasureaninstrument;Canmeasureelectriccapacitytomakeintoanumbertypetheelectriccapacitymeasureaninstrument;Increasetospreadafeelingmachineintheelectriccircuit,canalsomakeintoanumberpulseinstrument,accountapricemachineetc..Thereforethedigitalcymometeraccountsinthediagraphphysicstomeasureaspectappliedextensive.ThisdesignisusedVHDLthesparepartisatCPLDupcarryoutdigitalcymometertoaccounttomeasurerepeatedlysystem,canshowtobemeasuredthefrequencyofsignalwiththedecimalsystemfigures,canmeasurethefrequencyofsinewave,squarewaveandtrianglewaveetc.signal,andreturnanabilityastoit'shevariousphysicalquantitycarryondiagraph.HavethephysicalvolumesmallanddependablesexGaoandachievementtoconsumealowcharacteristics.digitalcymometeristhediagraphinstrumentofresearchproductionrealmindispensabilities,suchascalculator,communicationequipmentsandaudiofrequencyvideofrequency...etc..ThedigitalcymometerthatadoptsVDHLtoweaveadistancetodesignarealizationaccounts,inadditiontoismeasuredtheorthopedicsofsignalpart,thekeyimportationpartandfiguresshowpart,restallinoneFPGArealizationofchip,thewholesystemsimplifiesverymuch,andhasvividspottochangesex.Onthefoundationthatdoesn'tchangehardwareelectriccircuit,carriesonvariousfunctionthattheimprovementcanalsoraisesystemfurthertothesystem.Thenumber'sfrequencyaccountstohavehighspeed,precision,credibility,theanti-interferenceisstrongandthespotprogrammableetc.advantage.

Keywords:

TheFPGAchip,VHDLlanguageanddigitalcymometer,thedigitalcymometeraccountprinciplediagramandMax+plusIIsoftwareandEDAtechnique

0.引言

所谓频率,就是周期性信号在单位时间(1s)里变化的次数。

本频率计设计测量频率的基本原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED数码显示管显示出来。

根据数字频率计的基本原理,本文设计方案的基本思想是分为五个模块来实现其功能,即整个数字频率计系统分为分频模块、控制模块、计数模块、译码模块和量程自动切换模块等几个单元,并且分别用VHDL对其进行编程,实现了闸门控制信号、计数电路、锁存电路、显示电路等。

本频率计设计还可以测量周期性信号,其基本原理与测量频率的基本原理基本一样,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把被测信号一个周期内标准基准信号的脉冲计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED数码显示管显示出来,显示管的读数就是被测信号以标准信号的周期为单位乘积的周期。

技术性能指标:

1)能够测量正弦波、三角波、锯齿波、矩形波等周期性信号的频率;

2)能直接用十进制数字显示测得的频率;

3)频率测量范围:

1HZ~10KHZ切量程能自动切换;

4)输入信号幅度范围为0.5~5V,要求一起自动适应;

5)测量时间:

T〈=1.5S;

6)用CPLD/FPGA可编程逻辑器件实现;

第一章频率计的设计原理

1.1频率计测量频率的设计原理

(1)频率计测量频率的原理

频率计测量频率需要设计整形电路使被测周期性信号整形成脉冲,然后设计计数器对整形后的脉冲在单位时间内重复变化的次数进行计数,计数器计出的数字经锁存器锁存后送往译码驱动显示电路用数码管将数字显示出来,需要设计控制电路产生允许计数的门闸信号、计数器的清零信号和锁存器的锁存信号使电路正常工作,再设计一个量程自动转换电路使测量范围更广。

(2)频率计测量频率的原理图

频率计测量频率的原理图如下:

图1

1.2频率计测量周期的原理

(1)频率计测量周期的原理

频率计测量周期需要设计整形电路使被测周期性信号整形成脉冲,然后设计计数器对基准信号在被测信号一个周期内重复变化的次数进行计数,计数器计出的数字经锁存器锁存后送往译码驱动显示电路用数码管将数字显示出来,需要设计控制电路产生允许计数的使能信号、计数器的清零信号和锁存器的锁存信号使电路正常工作,再设计一个量程自动转换电路使测量范围更广。

(2)频率计测量周期的原理图

频率计测量周期的原理图如下:

图2

第二章频率计测量频率的层次化设计方案

2.14位十进制计数器模块

4位十进制计数器模块包含4个级联十进制计数器,用来对施加到时钟脉冲输入端的待测信号产生的脉冲进行计数,十进制计数器具有集束使能、清零控制和进位扩展输出的功能。

使能信号和清零信号由闸门控制模块的控制信号发生器所产生来对4个级联十进制计数器周期性的计数进行控制。

(1)十进制计数器元件的设计

十进制计数器的程序如下:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjishu10is

port(clk,rst,en:

instd_logic;

cq:

outstd_logic_vector(3downto0);

cout:

outstd_logic);

endjishu10;

architecturebehavofjishu10is

begin

process(clk,rst,en)

variablecqi:

std_logic_vector(3downto0);

begin

ifrst='1'thencqi:

=(others=>'0');

elsifclk'eventandclk='1'then

ifen='1'then

ifcqi<9thencqi:

=cqi+1;

elsecqi:

=(others=>'0');

endif;

endif;

endif;

ifcqi=9thencout<='1';

elsecout<='0';

endif;

cq<=cqi;

endprocess;

endbehav;

在源程序中COUT是计数器进位输出;CQ[3..0]是计数器的状态输出;CLK是始终输入端;RST是复位控制输入端,当RST=1时,CQ[3..0]=0;EN是使能控制输入端,当EN=1时,计数器计数,当EN=0时,计数器保持状态不变。

编译成功后进行仿真,其仿真波形如下:

图3

在项目编译仿真成功后,将设计的十进制计数器电路设置成可调用的元件jishu10.sym,用于以下的顶层设计。

图4

(2)4位十进制计数器的顶层设计

新建一个原理图编辑窗,从当前的工程目录中凋出4个十进制计数器元件jishu10.sym,并按如图所示的4位十进制计数器的顶层原理图完成电路连接。

图5

完成4位十进制计数器的原理图编辑以后,即可进行仿真测试和波形分析,其仿真输出波形如图所示,当RST=0、EN=1是其计数值在0到9999之间循环变化,COUT为计数进位输出信号,作为后面的量程自动切换模块的输入脉冲。

图6

因此仿真结果正确无误,可将以上设计的4位十进制计数器设置成可调用的元件jishu10_4.sym,以备高层设计中使用,其元件符号图如下图所示。

图7

2.2控制模块设计

1)闸门信号的设计

频率计电路工作时先要产生一个计数允许信号(即闸门信号),闸门信号的宽度为单位时间,如1S。

在闸门信号有效时间内,对被测信号计数,即为信号的频率。

该频率计电路的精度取决于闸门信号T。

本设计中选取的基准信号频率为750khz,为了得到1s高电平的周期性闸门信号,本设计采用对频率为750khz基准信号先进行75分频,再进行3个10分频,最后进行11分频,再用非门对分频出的信号进行取非变换,这样得到的门闸信号高电平为1秒钟。

(1)75进制计数器的程序如下:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjishu75is

port(clk,rst,en:

instd_logic;

cq:

outstd_logic_vector(7downto0);

cout:

outstd_logic);

endjishu75;

architecturebehavofjishu75is

begin

process(clk,rst,en)

variablecqi:

std_logic_vector(7downto0);

begin

ifrst='1'thencqi:

=(others=>'0');

elsifclk'eventandclk='1'then

ifen='1'then

ifcqi<74thencqi:

=cqi+1;

elsecqi:

=(others=>'0');

endif;

endif;

endif;

ifcqi=74thencout<='1';

elsecout<='0';

endif;

cq<=cqi;

endprocess;

endbehav;

编译成功后生成元件图如下:

图8

(2)11进制计数器的程序如下:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjishu11is

port(clk,rst,en:

instd_logic;

cq:

outstd_logic_vector(3downto0);

cout:

outstd_logic);

endjishu11;

architecturebehavofjishu11is

begin

process(clk,rst,en)

variablecqi:

std_logic_vector(3downto0);

begin

ifrst='1'thencqi:

=(others=>'0');

elsifclk'eventandclk='1'then

ifen='1'then

ifcqi<10thencqi:

=cqi+1;

elsecqi:

=(others=>'0');

endif;

endif;

endif;

ifcqi=10thencout<='1';

elsecout<='0';

endif;

cq<=cqi;

endprocess;

endbehav;

编译成功后生成元件图如下:

图9

2).D触发器的设计

其程序如下:

libraryieee;

useieee.std_logic_1164.all;

entityreg_2is

port(clk,d:

instd_logic;

q:

outstd_logic);

endreg_2;

architecturebehavofreg_2is

signalq1:

std_logic;

begin

process(clk)

begin

ifclk'eventandclk='1'then

q1<=d;

endif;

endprocess;

q<=q1;

endbehav;

编译成功后生成如下元件图:

图10

将生成的75进制计数器、11进制计数器、10进制计数器和非门按下图连接来得到1S高电平门闸信号。

图11

将其电路图进行仿真,其仿真波形如下:

图12

对照其仿真波形,其输出门闸信号高电平为1S,符合设计,将其电路生成如下元件图,以便顶层调用。

图13

2).控制信号发生器模块

该模块主要根据输入高电平的1S闸门信号,产生计数允许信号EN,该信号的高电平的持续时间即计数允许时间,与输入的门闸控制时钟脉冲周期相同;产生清零信号RST,在计数使能前对计数器先清零;产生存储信号LOAD,在计数结束后,利用上升沿把最新的频率测量值保存在显示寄存器中。

为了产生清零信号RST,使能信EN和存储信号LOAD。

不失一般性,控制信号发生器用74161构成4分频计数器,用一个与非门,一个或非门和一个异或门实现3种译码状态,与闸门模块按下图连接。

图14

编译成功后进行仿真,其仿真波形如下:

图15

该功能正确无误后生成的元件符号图如下图所示。

图16

2.3分频模块的设计

当被测频率超出量程时,设计分频模块对被测频率进行分频衰减,单位上升,从而扩大测量频率的范围。

1).四选一数据选择器

四选一数据选择器的程序如下:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitysi_xuan_1is

port(a,b,c1,c2,c3,c4:

instd_logic;

y:

outstd_logic);

endsi_xuan_1;

architecturebehavofsi_xuan_1is

signalx:

std_logic_vector(1downto0);

begin

process(a,b)

begin

x<=b&a;

casexis

when"00"=>y<=c1;

when"01"=>y<=c2;

when"10"=>y<=c3;

when"11"=>y<=c4;

whenothers=>null;

endcase;

endprocess;

endbehav;

编译成功后进行仿真,其仿真波形如下图:

图17

其仿真波形真确无误后生成元件符号图如下图所示。

图18

2)分频电路的设计

将生成的四选一数据选择、74139译码器、D触发器和3个十进制计数器按下图连接。

图19

编译成功后进行仿真,起仿真波形如下图:

图20

如图所示,此电路图实现了将被测信号进行分频功能,通过四选一数据选择器的控制按不同的BA二进制数值时输出被测信号的1分频、10分频、100分频、1000分频,通过二四译码器按不同的BA二进制数值时输出四个档次p0、p1、p2、p3,分别代表1hz、10hz、100hz、1000hz为单位,其功能正确无误后生成可调用的元件图如下:

图21

2.4译码模块

译码模块是对计数出的数进行译码显示出来,该部分由寄存器、动态扫描电路和译码驱动电路组成。

1).寄存器设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1