EDA简易数字频率计-课设报告.docx

上传人:p** 文档编号:1082093 上传时间:2024-06-29 格式:DOCX 页数:15 大小:165.82KB
下载 相关 举报
EDA简易数字频率计-课设报告.docx_第1页
第1页 / 共15页
EDA简易数字频率计-课设报告.docx_第2页
第2页 / 共15页
EDA简易数字频率计-课设报告.docx_第3页
第3页 / 共15页
EDA简易数字频率计-课设报告.docx_第4页
第4页 / 共15页
EDA简易数字频率计-课设报告.docx_第5页
第5页 / 共15页
EDA简易数字频率计-课设报告.docx_第6页
第6页 / 共15页
EDA简易数字频率计-课设报告.docx_第7页
第7页 / 共15页
EDA简易数字频率计-课设报告.docx_第8页
第8页 / 共15页
EDA简易数字频率计-课设报告.docx_第9页
第9页 / 共15页
EDA简易数字频率计-课设报告.docx_第10页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《EDA简易数字频率计-课设报告.docx》由会员分享,可在线阅读,更多相关《EDA简易数字频率计-课设报告.docx(15页珍藏版)》请在第壹文秘上搜索。

1、EDA技术课程设计报告题目:简易数字频率计专业:本组成员:简述随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,因此测频计常受到人们的青睐。目前很多高精度的数字频率计都采纳单片机加上外部的高速计数器来实现,然而单片机的时钟频率不高导致测频速度比较慢,并且在这种设计中,IllTPCB版的集成度不高,导致PcB板走线长,因此难以提高计数器的工作频率。为了克服这种缺点,大大提高测量精度和速度,我们可以设计一种可编程逻辑器件来实现数字频率计。EDA技术是以大规模可编程逻辑器件为设计载体,以硬件语言为系统逻辑描述的主要方式,以计算机、大规模可编程逻辑器件的开发软件及试验开发系统为设计工具,通过有

2、关的开发软件,H动完成.用软件设计的电子系统到硬件系统的设计,最终形成集成电子系统或专用集成芯片的一门新技术。其设计的敏捷性使得EDA技术得以快速发展和广泛应用。以QUARTUSn软件为设计平台,采纳VHD1.语言实现数字频率计的整体设计。EDA技术已经广泛应用于模拟与数字电路系统等很多领域。电子设计自动化是一种实现电子系统或电子产品自动化设计的技术,它与电子技术,微电子技术的发展亲密相关,它汲取了计算机科学领域的大多数最新探讨成果,以高性能的计算机作为工作平台,促进了工程发展。EDA的一个重要特征就是运用硬件描述语言(HD1.)来完成的设计文件,VHD1.语言是经IEEE确认的标准硬件语言,

3、在电子设计领域受到了广泛的接受。1 .设计概述1.1 设计原理在电子技术中,频率是最基本的参数之一,并且与很多电参量的测量方案、测星结果都有非常亲密的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、运用便利、测量快速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。数字式频率计的测量原理有两类:一是干脆测频法,即在肯定闸门时间内测量被测信号的脉冲个数:二是间接测频法即测周期法,如周期测频法.干脆测频法适用于高频信号的频率测量,通常采纳计数器、数据锁存器及限制电路实现,并通过变更计数器阀门的时间长短在达到不同的测量精度:间接测频法适用于低

4、频信号的频率测量。本设计中运用的就是干脆测频法,即用计数器在计算Is内输入信号周期的个数,其测频位围为IHz9999Hz01.2 原理框图图1数字频率计原理框图1.3 系统原理图5:11.jIjl1.J5。1.J1.l1.lKJIC系统原理图仿真分析说明:Clk为IHZ,待测信号SiS为IOHZ1.5引脚图F1.EX10KEPF10K101.C84-3OOVOOTopView2 .设计思路须率测量的基本原理是计算每秒钟内待测信号的脉冲个数。这就要求测频限制信号发牛器tcstpl的计数使能信号tstcn能产生一个1杪脉宽的周期信号,并对频率计的每一计数涔cntl的使能端cn进行同步限制。当tst

5、cn为高电平I时,允许计数:为低电平0时停止计数,并保持其计数结果。在停止计数期间,首先须要一个锁存信号kad的上跳沿将计数器在前I秒种的计数值锁存进16位锁存器regl6b中。锁存信号之后,必需有一个清零信号CIJCrH对计数器进行清零,为下1秒的计数操作做打算。.然后由外部数码管限制器Iedcom限制的7段洋码器ymq译出,并秘定显示。3 .模块划分3.1 测频限制侑号发生器testpl模块1输入端CIk收到IHZ信号后,其输出端testcn限制各个CIUlO的使能,clr_cnt限制各个CntlO的清零,load限制锁存器内数据的输出。仿真图如下:3.2 十进制计数器CntIO模块:有一

6、时钟使能输入端en,用下锁定计数值。当而电平1时计数允许计数,低电平“0”时禁止计数。多位十进制计数器时,最低位的计数器的CIk端输入被测信号,各计数器的进位输出端ClO将信号输到下位十进制计数器Cntlo的输入端elk,故高位十进制计数器CmlO的进位输出端Clo不处理。仿真图如下:3.3 16位顿存器reg16b模块:将已有16位bed码存在于此模块的输入口din15.0J,在信号load的上升沿后即被锁存到寄存器reg16b的内部,并由rcgl6b的输出端doutl5.0输出,设置锁存:器的好处是,数码管上显示的数据稳定,不会由于周期性的清零信号而不断闪耀。3.4 数码管限制着Iedco

7、m模块:两个输入端一个为datainl5.0,另一个为数码管显示选择的扫描频率输入湍elk,输出端为数码管选择信号COml30和对应显示的数码管的BCD码信号端dataouH3J),数码管显示选择随扫描须率CIk循环变更,实现稳定显示。仿真.图如下:3.5 译码器ynu模块;输入端d_in3.O将接收BCD码信号.译码后输出端dut7.0输出8为7段数码管信号,其中输出的第8位均为高电平“1可以使四个数码管的小数点不显示。经译码器的处理输出后数码管显示相应的数值。djn_out-d_out6-d-out5-d_out4-d-out3-d_out2-d-outl1.d_out04 .VHD1.顶

8、层文件:1ibraryieee;useieee.std_logic_l164.al1;entityIxisport(elk:instd-logic;led:outsldlogicveclor(7downto0);ledc:outsttl_logic_vector(2downto0):endlx;architectureartofIxis-十进制计数器componentcntl一待调用的有时钟使能的十进制计数器潴口定义port(elk,clr,en:instd_logic;q:outstllogicvector(3downto0);cl:outstd_logic):endcomponent:一1

9、6位锁存器componentreg16b一待调用的32位锁存器端口定义port(load:instd_logic:din:instd_logic_vector(15downto0):dout:outstd_1ogic_vector(15downto0);endcomponent;一测频限制器componenttestpl一待调用的测频限制信号发生器端口定义port(elk:instdlogic;tsten:outstdOgic;clr_cnt:outstd_logic:load:ouIstdlogic);endcomponent:一数码管选择器componentIedcom一待谢用的数码管选择

10、蹲端口定义POrI(CIk:inSldlogic;datain:instdlogic_vector(15downtoO):dataout:outstdOgie_VeCtor(3downtoO);sei:outstdogicvector(2downto0);endcomponent;一译码器componentymq一待调用的译码器端口定义port(din:instdlogicvector(3downtoO);dout:outstdIOgiC_VeClor(7downto0);endcomponent:signalclkl,clk2,clk3:stdOgic;-Clkl为IHZ信号,clk2为被测

11、信号,clk3为数码管扫描信号signallsten,clr,lwd:stdlogic;signalcl,c2,c3,c4:stdOgic;signalqout,rout:stdIogiJVeCtor(15downtoO):signaldatao;std_logic_vector(3downtoO);beginu:testplportmap(clkl,tsten,clr,load):ul:cnt!Oportmap(clk2,clr,tsten,qout(3downtoO),cl);u2:cnt!0portnap(cl,dr,tsten,qoul(7lownlo4),c2);u3:cntlOpo

12、rtnap(c2,clr,tsten,qout(lldownto8),c3):u4zcntlportmap(c3,clr,tstenlqout(15downto12),c4);u5:reg16bportmap(load,qout(15downtoO).rout);u6:IedcomPorl11cip(clk3,rout,datao,ledc):u8:ymqportmap(datao,led):endart:5 .心得体会这次课程设计中,我不仅复习巩固了课堂所学的理论学问,提高了对所学学问的综合应用实力,并从根本上了解了VHD1.语言的一些基本用法,应用了原来不会或者不娴熟的句型,如if句,ca

13、se句等,也学会了一些基本功能的实现方法,如分频,状态限制等等,从另外一个角度重新谛视了上学期完全从硬件角度动身的电路设计,明白了软硬件之间的交互。通过这个课题,对系统框图、逻辑流程图、状态转移图的设计有了肯定的了解。也懂得了系统的前期设计对于后续的编程和调试的重要性。本课题采纳了H下而上的设计方法,依据系统对硬件的要求,画出系统限制流程图;然后依据限制流程图,分化模块,利用模块实现功能:最终进行仿真和调试。每个胜利的背后都要面对多数次的失败,这次课设也不例外。虽然遇到不少问题与困难,但通过老师以及同学的帮助,都一一得到顺当地解决。我想这必定会为将来的实践积累珍贵的阅历和教训。总之,这次课设我

14、们都受益匪浅。雅个过程次围深厚,本人也看法非常仔细,主动向老师和同学求教并在此过程中收获良多,能够进一步了解和运用一门与硬件干脆打交道的基本语言对我们将来的学习和工作都会非常有益。6 .五个模块的程序源代码6.1 流频限制信号发生器libraryieee:useieee.std_logic1164.all:useieee.stdlogicunsigned.all;entitytestplisport(elk:instd_logic;IHZ信号tsten:OUtstdIOgic;一计数器使能信号cIrent:outstdlogic:-计数器清零信号load:outSt(1.logic);一锁存器

15、输出限制信号endtestpl:architectureartoftestplissignaldiv2clk:st(llogic;beginprocess(elk)beginifelkeventandclk=thentli2clk=notdiv2dk;一(12(:11为21也endif;endprocess;process(elk,div2clk)beginif(clk=Oanddiv2clk=0,)thenclr_cnt=,:一当div2clk与elk同时为零时计数器清零elsedrcnl=O:一当div2clk处于的高电平常计数器计数endif;endprocess:load=notdiv2clk;一锁存器输出与计数器使能信号反相tsten=div2clk;endart:有时停使能的十进制计数器libraryieee;useieee.stllogic11

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

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!