EDA简单频率计设计

上传人:博****1 文档编号:460938611 上传时间:2022-12-14 格式:DOC 页数:7 大小:212.50KB
返回 下载 相关 举报
EDA简单频率计设计_第1页
第1页 / 共7页
EDA简单频率计设计_第2页
第2页 / 共7页
EDA简单频率计设计_第3页
第3页 / 共7页
EDA简单频率计设计_第4页
第4页 / 共7页
EDA简单频率计设计_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《EDA简单频率计设计》由会员分享,可在线阅读,更多相关《EDA简单频率计设计(7页珍藏版)》请在金锄头文库上搜索。

1、简单频率计设计物理与电子工程学院电子信息科学与技术专业2011级董思林指导教师何传红摘要:随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,因此测频计常受到人们的青睐。EDA技术是以大规模可编程逻辑器件为设计载体,以硬件语言为系统逻辑描述的主要方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件设计的电子系统到硬件系统的设计,最终形成集成电子系统或专用集成芯片的一门新技术,其设计的灵活性使得EDA技术快速发展和广泛应用。关键词:可编程逻辑器件;计数;分频;脉冲;扫描1引言在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方

2、案、测量结果都有十分密切的关系,因此,频率的测量就显得非常重要。测量频率的方法有多种,其中电子计数器测量具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内量被测信号的脉冲个数;二是间接测频法,如周期测频法。直接测频法适用于高频信号的频率测量,间接测频法适用于低频号的频率测量。本设计采用直接测频法,以QuartusH软件为设计平台,采用VHDL语言实现数字频率计的整体设计。伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域

3、。电子设计自动化是一种实现电子系统或电子产品自动化设计的技术,它与电子技术,微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。EDA勺一个重要特征就是使用硬件描述语言(HDL)来完成的设计文件,在电子设计领域受到了广泛的接受EDA技术就是以计算机为工具,设计者在EDA软件平台上,有硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作,最终形成集成电子系统或专业集成芯片的一门新技术。EDA技术的出现,极大地提高了电路设计

4、的效率和可操作性,减轻了设计者的劳动强度。2设计原理2.1基本原理数字频率计的主要功能是测量周期信号的频率。频率是单位时间(1秒)内信号发生周期变化的次数。在给定的1秒时间内对信号波形计数,并将所计数值显示出来,就能读取被测信号的频率。数字频率计首先必须获得相对稳定与准确的时间,然后通过计数器计算这一段时间间隔内的方波脉冲个数并显示出来。这就是数字频率计的基本原理。2.2系统框图通过测频控制信号发生器将由脉冲发生器产生的信号转换成所需要的控制信号clkl和en,待测信号计数器在en的控制下对待测信号进行测量并通过锁存与译码器在clkl的控制下按要求进行显示,大体结构如图1所示:脉冲发生器测频t

5、t制信号发生器enb测号数待信计器锁存与译码器数码显示图22系统框图3整体功能介绍3.1计数器设计里用一个双十进制计数器器件频率计的核心元件之一是含有时钟使能及进位扩展输出的十进制计数器。为此,这74390和其他一些辅助元件来完成。电路框图如图3.1所示。q01、址二.ielk1CLR10A.1CLKA1001CLK01QC1QD2QA5CLR2QD2CLKA2QC2CLKB2QD74390DUALCDUimR耳q3,-O严慣yn学匚记coirt罠曲畔一:|52121qq1q2q3q4CGlrt,f、L:图3.1含有时钟使能的2位十进制计数器图中,74390连接成两个独立的十进制计数器,待测频

6、率信号elk通过一个与门进入74390的计数器“1”端的时钟输入端1CLKA。与门的另一端由计数使能信号enb控制:当enb=1时允许计数;enb=0时禁止计数。计数器1的4位输出q3、q2、q1和q0并成总线表达方式,即q3.0,由图左下角的OUTPU输出端口向外输出计数值。同时由一个4输入与门和两个反相器构成进位信号,进位信号进入第二个计数器的时钟输入端2CLKA第二个计数器的4位计数输出是q7、q6、q5和q4,总线输出信号是q7.4.这两个计数器的总得进位信号,可由一个6输入与门和两个反相器产生,由cout输出。clr是计数器的清零信号。对图3.1所示电路进行仿真,其波形图如下图所示。

7、H】xxhix口【I】x(DS呦tW3WWW3WDWSi*SWEW!:;:;:;V;忖V:1:1;:图仿真波形图3.2时序控制电路设计欲使电路能自动测频,还需增加一个测频时序控制电路,如图3.2所示。该电路由图3.2测频时序控制电路三部分组成:4位二进制计数器7493、4-16译码器74154和两个由双与非门构成的RS触发器。3.3时钟分频模块设计由于设计中利用了一个50MHz的时钟信号输入,需要将其分频为合适的频率供给本设计中的各个模块。其程序代码如下:moduleCLK_DIV(CLK,DIVCLK);inputCLK;outputDIVCLK;regDIVCLK;regDIV_WIDTH

8、-1:0counter;parameterDIV_Num=500000;parameterDIV_WIDTH=19;/时钟偶数分频模块/定义输入时钟/定义输出时钟/定义寄存器/定义计数寄存器/参数,定义分频参数参数,定义分频参数占用的位宽always(posedgeCLK)/分频过程beginif(counter=(DIV_Num1)-1)/注意分频数的计算公式begincounter=0;DIVCLK=DIVCLK;endelsecounter=counter+1b1;endendmodule利用此代码生成元件命名为CLK_DIV供上层文件调用。3.4 数码管动态扫描显示驱动模块设计本设计利

9、用8位7段LED数码管,但只需要2位,需采用动态扫描驱动,为显示频率计的结果,需要在计数器和数码管之间放置一个驱动电路模块,由于数码管的现实字符段码过于冗长,这里只作简要说明。代码总共分为三部分:第一部分是相关参数的定义和段码字符的赋值;第二部分有两个case语句,第一个case语句实现对莫一位数码管的定义,第二个case语句实现对数码管某一个段进行定义;第三部分则是对数码管具体要显示哪个字符进行初始化。3.5 顶层电路设计将图3.1所示电路包装入库,元件名取为counter8;将图3.2所示电路包装入库,元件名取为ft_ctrl。有了counter8和ft_ctrl,就可以做成自动测频和数据

10、显示的实用频率计了,电路如图3.5所示。图中counter8为第1步生成的2位十进制计数器模块,ft_ctrl为第2步生成的时序控制模块,只含有两个输入信号:待测频率输入信号F_IN和测频控制时钟clk。时钟分频模块CLK_DIV在此设计中被调用(例化)了3次,因为此模块采用了参数可配置的设计模式,所以调用同一个原型,通过改变参数就可以实现不同的特性,其中最上面一个时钟分频模块把50MHz分频到1024Hz(参数DIV_Num为48828,所以输出频率为50MHZ/488281024Hz;参数DIV_WIDTH随DIV_Num而变;中间一个分频模块把1024Hz分频到8Hz作为时序控制模块的时

11、钟,则计数使能信号CNT_EN的脉冲宽度即为1秒,从而可使数码管直接显示F_IN的频率值了;下面一个分频模块把1024Hz分频到约51Hz作为被测频率F_IN输入到十进制计数器。ParameterValueDIV.Nuni4S62&15:ZDIVDfVNum12877ParameterValueCLKDIVCLXf1_clrldkCHTJNdr2LKDI/CLKParameterValueDVlJum勃DVJYErm7:,砸a隹31隹aLKEG7.0:邹R詆問.&SES.Di&pRD1Q102Q2D33D4Qi英QfD606DTa?BsaEliCLK74374隧OCTALD-FFcouniei

12、fgibq30elkq74clrcuirtinstzq3.0,=-*seg?.OjParaimeterValueSegCoceC911000000ScCoCel3111110013W1001QQ-EegCDceJ3iDIIOOOtSegCo&t45IQ011001-BW01001CBI3QC001CSegCDE&73nuioocSegCoc-tE:-B13Q100QC61001000SegCoceb91300001rSegCDcec31100011Calaioooov3I3C3C11CSegCocefB10001110-s=_catJ5_?r:Z3C_3t;25机Dm口昨产-*.-.D=_3a

13、CTKCNTENAll77=IL-Fili7-All_72P1N70All6S削_辿PIUJ1Pll匸说Pll申pnFa-cpigpniag图3.5顶层电路设计电路4设计总结通过这次EDA课程设计,我对课堂上所学到的理论知识的理解加深了许多,自己动脑、动手设计的能力也得到了较大提高。在这次课程设计的过程中,我对VHDL语言有了更深的认识。通过查阅相关资料和动手设计我发现我以前对VHDL语言的认识太过肤浅,认为VHDL语言只能用于设计小型的电路系统。但有了更深刻的认识之后我发现学好VHDL语言可以设计出大规模的、功能复杂的电路系统。以前之所以会有错误的认识是因为自己对VHDL语言的了解和掌握还不

14、够。现在仔细想想,这次课程设计使得我对VHDL语言的理解与应用能力得到了较大的提升,也让我认识到只要深入学习,提升的空间永远是存在的。在设计的过程中我遇到了一些问题,通过查阅书本我发现了产生错误的原因并解决了问题完成了设计。经过反思我发现较大一部分错误是因为操作的不熟练造成的,这也让我明白了要保持设计的高效率必须经常练习。另一方面我也发现了动手实践的重要性。动手实践是理论知识得以灵活运用的必要前提,也是今后走上工作岗位之后能够很好的完成设计工作的技术保证。只有遇到实际问题并根据自己对课堂上获得的专业知识的理解来解决才能真正的提高自己的能力。这也提醒我在平时的学习生活中不能一味埋头于课本知识,当今社会竞争越来越激烈,社会对人才的要求越来越全面,只有理论知识是远远不够的,必须靠实践作支撑。虽然此次设计完成了,但是我意识到,我对FPGA技术仅仅只是停留在入门的阶段,想要有更大的发展,更深入的研究,还需要更多的努力与实践。因此在学习之余我们应该积极参加各种与专业知识有关的实践活动和竞赛,巩固所学的理论知识,多注重培养实际动手能力和专业技术能力,这样才能在以后的工作岗位上有所作为。参考文献:潘松.黄继业潘明.EDA技术实用教程-VerilogHDL版(第四版)科学出版

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号