毕业设计论文基于FPGA的等精度频率计的设计.doc

上传人:sccc 文档编号:4863697 上传时间:2023-05-20 格式:DOC 页数:28 大小:445.52KB
返回 下载 相关 举报
毕业设计论文基于FPGA的等精度频率计的设计.doc_第1页
第1页 / 共28页
毕业设计论文基于FPGA的等精度频率计的设计.doc_第2页
第2页 / 共28页
毕业设计论文基于FPGA的等精度频率计的设计.doc_第3页
第3页 / 共28页
毕业设计论文基于FPGA的等精度频率计的设计.doc_第4页
第4页 / 共28页
毕业设计论文基于FPGA的等精度频率计的设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《毕业设计论文基于FPGA的等精度频率计的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于FPGA的等精度频率计的设计.doc(28页珍藏版)》请在三一办公上搜索。

1、摘 要伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。电子设计自动化是一种实现电系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。数字频率计是一种基本的测量仪器。它被广泛应用与航天、电子、测控等领域。采用等精度频率测量方法具有测量精度保持恒定,不随所测信号的变化而变化的特点。本文首先综述了EDA技术的发展概况,FPGA/CPLD开发的涵义、优缺点,VHDL语言的历史及其优点,概述了EDA软件平台QUARTU

2、S;然后介绍了频率测量的一般原理,利用等精度测量原理,通过FPGA运用VHDL编程,利用FPGA(现场可编程门阵列)芯片设计了一个8位数字式等精度频率计,该频率计的测量范围为0-100MHZ,利用QUARTUS 集成开发环境进行编辑、综合、波形仿真,并下载到CPLD器件中,经实际电路测试,仿真和实验结果表明,该频率计有较高的实用性和可靠性。 关键词:电子设计自动化;VHDL语言;频率测量;数字频率计AbstractThe Electronic Design Automation (EDA) technology has become an important design method of

3、analog and digital circuit system as the integrated circuits growing. The EDA technology, which is closely connected with the electronic technology, microelectronics technology and computer science, can be used in designing electronic product automatically. Digital frequency meter is a basic measuri

4、ng instruments. It is widely used in aerospace, electronics, monitoring and other fields. With equal precision frequency measurement accuracy to maintain a constant, and not with the measured signal varies.We firstly present some background information of EDA, FPGA/CPLD,VHDL and the EDA software pla

5、tform QUARTUS in this thesis;then introduced the general principle of frequency measurement, utilization of precision measuring principle, using VHDL programming, use of FPGA (Field Programmable Gate Array) chip design such as the precision of a digital frequency meter, this frequency meters measuri

6、ng range is 0-100MHZ,use QUARTUS integrated development environment for editing, synthesis, wave simulation, and download to the CPLD device, by the actual circuit testing, simulation and experimental results show that the frequency meter has high practical and reliability.Keywords: Electronic Desig

7、n Automation,VHDL, Frequency measurement,digital frequency meter目 录摘 要IABSTRACTII目 录III1. 前言12. 频率测量32.1 数字频率计工作原理概述32.2 测频原理及误差分析42.3.1常用测频方案42.3.2等精度测频原理42.3.3误差分析5本章小结63. 数字频率计的系统设计与功能仿真73.1 系统的总体设计73.2 信号源模块83.3 分频器93.4 测频控制信号产生器103.5 锁存器113.6 十进制计数器113.7显示模块123.7.1显示模块设计123.7.2显示电路133.7.3译码器14本

8、章小结14结 论15致 谢16参考文献17附录一 频率计顶层文件18附录二 信号源模块源程序19附录三 分频器源程序20附录四 测频控制信号发生器源程序21附录五 32位锁存器源程序22附录六 有时钟使能的十进制计数器的源程序23附录七 显示模块源程序24IV1. 前言EDA是指以计算机大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术1。EDA技术高级阶

9、段采用一种新的设计概念:自顶而下(Top_Down)的设计程序和并行工程(Concurrent engineering )的设计方法,设计者的精力主要集中在所要电子产品的准确定义上,EDA系统去完成电子产品的系统级至物理级的设计。此阶段EDA技术的主要特征是支持高级语言对系统进行描述,高层次综合(High Level Synthesis )理论得到了巨大的发展,可进行系统级的仿真和综合。VHDL(超高速集成电路硬件描述语言)是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(The Institute of Electrical and Electronics Engineers

10、)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top_Down)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。VHDL主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻辑芯片的应用设计。与其它的HDL相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的EDA工具和VHDL综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA和

11、CPLD等目标器件的网表文件己不成问题。VHDL语言在硬件设计领域的作用将与C和C+在软件设计领域的作用一样,在大规模数字系统的设计中,它将逐步取代如逻辑状态表和逻辑电路图等级别较低的繁琐的硬件描述方法,而成为主要的硬件描述工具,它将成为数字系统设计领域中所有技术人员必须掌握的一种语言。VHDL和可编程逻辑器件的结合作为一种强有力的设计方式,将为设计者的产品上市带来创纪录的速度。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件

12、中去,从而实现可编程的专用集成电路(ASIC)的设计。CPLD和FPGA建立内部可编程逻辑连接关系的编程技术有三种:基于反熔丝技术的器件只允许对器件编程一次,编程后不能修改。其优点是集成度、工作频率和可靠性都很高,适用于电磁辐射干扰较强的恶劣环境。基于EEPROM内存技术的可编程逻辑芯片能够重复编程100次以上,系统掉电后编程信息也不会丢失。编程方法分为在编程器上编程和用下载电缆编程。用下载电缆编程的器件,只要先将器件装焊在印刷电路板上,通过PC, SUN工作站、ATE(自动测试仪)或嵌入式微处理器系统,就能产生编程所用的标准5V, 3.3V或2.5V逻辑电平信号,也称为ISP ( In Sy

13、stem Programmable)方式编程,其调试和维修也很方便。基于SRAM技术的器件编程数据存储于器件的RAM区中,使之具有用户设计的功能。在系统不加电时,编程数据存储在EPROM、硬盘、或软盘中。系统加电时将这些编程数据实时写入可编程器件,从而实现板级或系统级的动态配置。数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差,可靠性差。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言。将使整个系统大大简化。提高整体的性能和可靠性。数字频率计是通信设备、音、视频等科研生产领域不可缺少的

14、测量仪器。采用VHDL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分外,其余全部在一片FPGA芯片上实现。整个系统非常精简,且具有灵活的现场可更改性。本文用VHDL在CPLD器件上实现一种8 位数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且能对其他多种频率信号进行测量。具有体积小、可靠性高、功耗低的特点。2. 频率测量2.1 数字频率计工作原理概述数字频率计的设计原理实际上是测量单位时间内的周期数。这种方法免去了实测以前的预测,同时节省了划分频段的时间,克服了原来高频段采用测频模式而低频段采用测周期模式的测量

15、方法存在换挡速度慢的缺点。采用一个标准的基准时钟,在单位时间(1s)里对被测信号的脉冲数进行计数,即为信号的频率。由于闸门的起始和结束时刻对于信号来说是随机的,将会有一个脉冲周期的量化误差。进一步分析测量准确度:设待测信号脉冲周期为Tx,频率为Fx,当测量时间为T=1s时,测量准确度为=Tx/T=1/Fx。由此可知直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不变的要求。 为克服低频段测量的不准确问题,采用门控信号和被测信号对计数器的使能信号进行双重控制,大大提

16、高了准确度。当门控信号为1时,使能信号并不为1,只有被测信号的上升沿到来时,使能端才开始发送有效信号,两个计数器同时开始计数。当门控信号变为0时,使能信号并不是立即改变,而是当被测信号的下一个上升沿到来时才变为0,计数器停止计数。因此测量的误差最多为一个标准时钟周期。当采用100MHz的信号作为标准信号时,误差最大为0.01s。计算每秒钟内待测信号脉冲个数。这就要求计数使能信号TSTEN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器cnt10的ENA使能端进行同步控制。当TSTEN为高电平时,允许计数;低电平时,停止计数,并保持其所计的数。在停止计数期间,首先需要一个锁存信号LOAD的上

17、跳沿将计数器在前1秒钟的计数值锁存进32位锁存器REG32B中,并由外部的译码器译出并稳定显示。锁存信号之后,必须由清零信号CLR_CNT对计数器进行清零,为下一秒钟的计数操作做准备。当系统正常工作时,脉冲发生器提供的1 Hz的输入信号,经过测频控制信号发生器进行信号的变换,产生计数信号,被测信号通过信号整形电路产生同频率的矩形波,送入计数模块,计数模块对输入的矩形波进行计数,将计数结果送入锁存器中,保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果3。2.2 测频原理及误差分析2.3.1常用测频方

18、案频率测量方案方案一:采用周期法。通过测量待测信号的周期并求其倒数,需要有标准倍的频率,在待测信号的一个周期内,记录标准频率的周期数,这种方法的计数值会产生最大为1个脉冲误差,并且测试精度与计数器中记录的数值有关,为了保证测试精度,测周期法仅适用于低频信号的测量。方案二:采用直接测频法。直接测频法就是在确定的闸门时间内,记录被测信号的脉冲个数。由于闸门时间通常不是待测信号的整数倍,这种方法的计数值也会产生最大为1个脉冲误差。进一步分析测量准确度:设待测信号脉冲周期为Tx,频率为Fx,当测量时间为T=1s时,测量准确度为=Tx/T=1/Fx。由此可知直接测频法的测量准确度与信号的频率有关:当待测

19、信号频率较高时,测量准确度也较高,反之测量准确度也较低。因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不变的要求。方案三:采用等精度频率测量法,测量精度保持恒定,不随所测信号的变化而变化。在快速测量的要求下,要保证较高精度的测频,必须采用较高的标准频率信号。单片机受本身时钟频率和若干指令运算的限制,测频速度较慢,无法满足高速、高精度的测频要求;而采用高集成度、高速的现场可编程门阵列FPGA为实现高速、高精度的测频提供了保证。本设计所采用的测频方法就是等精度频率测量法,下面我们将对等精度频率测量法做进一步介绍。2.3.2等精度测频原理等精度测频方法是在直接测频方法

20、的基础上发展起来的。它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步,因此,避除了对被测信号计数所产生1个字误差,并且达到了在整个测试频段的等精度测量。其测频原理如图2.1所示。在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。然后预置闸门关闭信号(下降沿)到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。可以看出,实际闸门时间t与预置闸门时间t1并不严格相等,但差值不超过被测信号的一个周期4。图2.1 等精

21、度测频原理波形图等精度测频的实现方法可简化为图2.2所示。CNT1和CNT2是两个可控计数器,标准频率信号从CNT1的时钟输入端CLK输入;经整形后的被测信号从CNT2的时钟输入端CLK输入。当预置门控信号为高电平时,经整形后的被测信号的上升沿通过D触发器的Q端同时启动CNT1和CNT2。CNT1、CNT2同时对标准频率信号和经整形后的被测信号进行计数,分别为NS与NX。当预置门信号为低电平的时候,后而来的被测信号的上升沿将使两个计数器同时关闭,所测得的频率为(FS/NS)*NX。则等精度测量方法测量精度与预置门宽度的标准频率有关,与被测信号的频率无关。在预置门时间和常规测频闸门时间相同而被测

22、信号频率不同的情况下,等精度测量法的测量精度不变。图2.2 等精度测频实现原理图2.3.3误差分析设在一次实际闸门时间t中计数器对被测信号的计数值为Nx,对标准信号的计数值为Ns。标准信号的频率为fs,则被测信号的频率如式(2-1): fx=(Nx/Ns)fs (2-1)由式1-1可知,若忽略标频fs的误差,则等精度测频可能产生的相对误差如式(2-2): =(|fxe-fx|/fxe)100% (2-2)其中fxe为被测信号频率的准确值。在测量中,由于fx计数的起停时间都是由该信号的上升沿触发的,在闸门时间t内对fx的计数Nx无误差(t=NxTx);对fs的计数Ns最多相差一个数的误差,即|N

23、s|1,其测量频率如式(2-3):fxe=Nx/(Ns+Ns)fs (2-3)将式(2-1)和(2-3)代入式(2-2),并整理如式(2-4):=|Ns|/Ns1/Ns=1/(tfs) (2-4)由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,即实现了整个测试频段的等精度测量。闸门时间越长,标准频率越高,测频的相对误差就越小。标准频率可由稳定度好、精度高的高频率晶体振荡器产生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门时间缩短,即提高测试速度5。本章小结本章从各个方面说明了频率计的工作原理,介绍了频率测量的原理和误差的分析,通过对各种频率

24、测量方法的比对,对等精度频率计的实现,在理论上起到了作用。 3. 数字频率计的系统设计与功能仿真3.1 系统的总体设计当系统正常工作时,由系统时钟提供的100MHz的输入信号,经过信号源模块,先通过100分频产生1MHZ的时钟信号,再将1MHZ的时钟信号分频产生多种频率输出,其中1HZ的输出频率被作为控制模块的时钟输入,7812HZ的输出频率被作为显示模块的时钟输入,由控制模块产生的计数使能信号testen和清零信号clr对计数模块进行控制,而由其产生的锁存信号load对锁存模块进行控制,一旦计数使能信号为高电平,并且时钟上升沿到来,计数器便开始正常计数,清零信号到来则计数清零,而当锁存信号为

25、高电平时,数据便被锁存器锁存,然后将锁存的数据输出到显示模块显示出来,数据锁存保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果。数字频率计的原理框图如图3.1所示。主要由5个模块组成,分别是:信号源模块、控制模块、计数模块、锁存器模块和显示器模块6。图3.1 数字频率计的原理框图根据数字频率计的系统原理,cnt控制信号发生器。testctl的计数使能信号testen能产生一个1 s宽的周期信号,并对频率计的每一计数器Cnt10的ENA使能端进行同步控制:当testen高电平时允许计数、低电平时停止

26、计数。reg32b为锁存器。在信号load的上升沿时,立即对模块的输入口的数据锁存到reg32b的内部,并由reg32b的输出端输出,然后,七段译码器可以译码输出。在这里使用了锁存器,好处是可以稳定显示数据,不会由于周期性的清零信号而不断闪烁。 Cnt10为十进制计数器。有一时钟使能输入端ENA,用于锁定计数值。当高电平时允许计数,低电平时禁止计数。将八个十进制计数器Cnt10级联起来实现8 位十进制计数功能2,7 。 disply为七段译码显示驱动电路,可以将频率计数的结果译成能在数码管上显示的相对应的阿拉伯数字,便于读取测量的结果。为了实现系统功能,测频控制信号发生器testctl、计数器

27、Cnt10、锁存器reg32b存在一个工作时序的问题,设计时需要综合考虑。8位数字频率计的顶层框图(endfreq.bdf),设计实现包括信号源模块(F1MHZ、CNT)、频率计模块(FREQ)和显示模块(display)三大模块。下面分别介绍三个模块的结构和实现方法。 3.2 信号源模块信号源是为了产生1MHz 的门控信号和待测的定频信号,而对输入系统时钟clk(50MHz)进行分频的模块,设计源代码PIN1MHZ.VHD 对输入系统时钟clk(50MHz)进行分频产生1MHz 信号。PIN1MHZ的封装图如3.2所示,图中CLKIN为接入的100MHZ信号,图中CLKOUT为接到CNT的C

28、LK的1MHZ的信号。图3.2 PIN1MHZ封装图PIN1MHZ的工作时序仿真图如图3.3所示。图3.3信号源模块仿真图从PIN1MHZ的工作时序仿真图可以看出:由系统时钟提供的100MHz的输入信号,经过信号源模块,通过100分频产生1MHZ的时钟信号,达到了设计所需的预期效果。3.3 分频器此程序要求将1MHZ的输入频率分别进行21分频(产生500KHZ的输出频freq500k)、23分频(产生125 KHZ的输出频率freq125k)、25 分频(产生31250HZ的输出频freq31250)、27分频(产生7812HZ的输出频率freq7812)、29分频(产生1953HZ的输出频率

29、freq1953)、211分频(产生488HZ的输出频率freq488)、213分频(产生1HZ的输出频率freq1)。 CNT的封装图如图3.4,图中CLK为PIN1MHZ输入的1MHZ信号,freq1为输出给控制信号发生器的1HZ信号,7812HZ的输出频率freq7812被作为显示模块的时钟输入,freq 488、freq1953、freq31250、freq125K、freq500K作为待测信号。图3.4CNT封装图CNT的工作时序仿真图如图3.5所示。图3.5 CNT的时序仿真图当1MHZ频率波形输入后,分别产生了设计所需要的500KHZ的输出频freq500k,125 KHZ的输出

30、频率freq125k,31250HZ的输出频freq31250,7812HZ的输出频率freq7812,1953HZ的输出频率freq1953,488HZ的输出频率freq488,1HZ的输出频率freq1。3.4 测频控制信号产生器控制模块的作用是产生测频所需要的各种控制信号。控制信号的标准输入时钟为1HZ,每两个时钟周期进行一次频率测量。该模块产生的3个控制信号,分别为TSTEN,LOAD,CLR_CNT.CLR_CNT信号用于在每次测量开始时,对计数器进行复位,以清除上次测量的结果,该复位信号高电平有效,持续半个时钟周期的时间。TSTEN为计数允许信号,在TSTEN信号的上升沿时刻计数模

31、块开始对输入信号的频率进行测量,测量时间恰为一个时钟周期(正好为单位时间1s),在此时间里被测信号的脉冲数进行计数,即为信号的频率。然后将值锁存,并送到数码管显示出来。设置锁存器的好处是使显示的数据稳定,不会由于周期性的清零信号而不断闪烁。在每一次测量开始时,都必须重新对计数器清07。测频控制产生器如图3.6,图中CLK接CNT的FREQ1的1HZ的信号,TSTEN为计数允许信号,接计数器CNT10的ENA,CLR_CNT信号用于在每次测量开始时,对计数器进行复位,接计数器CNT10的CLR,LOAD接锁存器的LOAD。图3.6 TESTCTL的封装图测频控制信号发生器TESTCTL的工作时序

32、图,控制模块的几个控制信号的时序关系图如图3.7所示。图3.7 TESTCTL的时序仿真图从图中可看出,计数使能信号TSTEN在1s的高电平后,利用其反相值的上跳沿产生一个锁存信号LOAD,随后产生清0信号上跳沿CLR_CNT。为了产生这个时序图需首先建立一个由D触发器构成的二分频器,在每次时钟CLK上升沿到来时令其翻转。其中,控制信号时钟clk的频率取1HZ,而信号TSTEN的脉宽恰好为1s,可以用作闸门信号。此时,根据测频的时序要求,可得出信号LOAD和CLR_CNT的逻辑描述。由图可知,在计数完成后,计数使能信号TETEN在1s的高电平后,利用其反相值的上跳沿产生一个锁存信号LOAD,0

33、.5s后,CLR_CNT产生一个请零信号上跳沿。3.5 锁存器锁存器模块也是必不可少的,测量模块测量完成后,在load信号的上升沿时刻将测量值锁存到寄存器中,然后输出到显示模块。锁存器是起数据保持的作用,它将会把数据保存到下次触发或复位。主要是主从触发器组成的。用于存储数据来进行交换,使数据稳定下来保持一段时间不变化,直到新的数据将其替换。锁存器REG32B的封装如图3.8,图中LOAD接控制测频产生器TESTCTL的LOAD,而DIN31.0接计数器CNT10的CQ3.0,DOUT31.0接显示器display的in端。图3.8 REG32B的封装图32位锁存器REG32B的工作时序图如图3

34、.9。图3.9 REG32B的时序仿真图本程序是用来实现锁存器模块的功能,但它的程序相当简单,在锁存信号load的上升沿到来时,锁存器将测量值锁存到寄存器,然后输出到显示模块。但从仿真图3.9中可以明显的看出,锁存输出并不是立即进行的,而是经历了一个短暂的延时,这是由于硬件引起的。3.6 十进制计数器计数器模块是由8个带有异步清零端,进位信号输出的模为10的计数模块级连而成。通过(freq.vhd)进行元件例化实现。此十进制计数器的特殊之处是,有一时钟使能输入端ENA,用于锁定计数器。当高电平计数允许,低电平时计数禁止。计数器模块用于对输入信号的脉冲进行计数,该模块必须有计数允许、异步清零等端

35、口,以便于控制模块对其进行控制。CNT10的封装如图3.10,其中CLR为复位接TESTCTL的CLR_CNT端,ENA接TESTCTL的TSTEN端,CQ3.0接锁存器的DOUT31.0端。图3.10 CNT10的封装图有时钟使能的十进制计数器CNT10的工作时序仿真如图3.11。图3.11 CNT10的时序仿真图此程序模块实现的功能是带使能端的10进制计数。程序要求只有当使能端信号为高电平时计数器才能正常工作,每个时钟的上升沿到来时计数器加1,因为这里要实现的是10进制计数,所以当计数到10时计数器清零,同时产生进位信号,这里的进位信号仅为一个脉冲信号,一旦计数从10变为1,脉冲信号立即变

36、为低电平。同时该计数器也应带有清零信号,一旦清零信号为高电平,计数器立即清零。3.7 显示模块3.7.1显示模块设计LED有段码和位码之分,所谓段码就是让LED显示出八位数据,一般情况下要通过一个译码电路,将输入的4位2进制数转换为与LED显示对应的8位段码。位码也就是LED的显示使能端,对于共阴级的LED而言,低电平使能,在本设计中设计了一个3位的循环计数器,将计数结果输入到译码器,译码结果输出即可依次使能每个LED。例如:要让8个LED同时工作显示数据,就是要不停的循环扫描每一个LED,并在使能每一个LED的同时,输入所需显示的数据对应的8位段码。虽然8个LED是依次显示,但是受视觉分辨率

37、的影响,看到的现象是8个LED同时工作。display 模块的顶层图如下所示。CNT计数产生扫描信号(位码),LED模块用于查表产生LED段码输出。图3.12位display的封装图。图中in0in7接锁存器的DOUT31.0端。图3.12 display的封装图display工作时序图如下图3.13。图3.13 disply工作时序图用8个LED将待测频率显示出来,将通过十进制计数器的时钟信号CLK,输出为时钟信号计数译码后的显示驱动端,在八段LED译码为对应的八段二进制编码,并由数码显示器显示出来。图3.13中为相应二进制编码与相对应的屏显数字。3.7.2显示电路图3.14 display

38、硬件结构图此部分如图3.14,图中主要由07循环累加器、3-8译码器、BCD-7段显示译码器、8选1多路数据开关和8个LED显示器组成的扫描数码显示器。3.7.3译码器74138译码器作为数据分配器的功能表如表1所示。表1 74LS138编码器作为数据分配器的功能表输入输出EN1 EN2B EN2A C B AY0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 X X X X 1 1 1 1 1 1 1 1 1 0 D 0 0 0 D 1 1 1 1 1 1 1 1 0 D 0 0 1 1 D 1 1 1 1 1 1 1 0 D 0 1 0 1 1 D 1 1 1 1 1 1 0 D 0

39、1 1 1 1 1 D 1 1 1 1 1 0 D 1 0 0 1 1 1 1 D 1 1 1 1 0 D 1 0 1 1 1 1 1 1 D 1 1 1 0 D 1 1 0 1 1 1 1 1 1 D 1 1 0 D 1 1 1 1 1 1 1 1 1 1 D 74LS138的3个译码输入C、B、A用做数据分配器的地址输入,8个输出Y0Y7用做8路数据输出,3个输入控制端中的EN2A用做数据输入端,EN2B接地,EN1用做使能端6。当EN1=1,允许数据分配,若需要将输入数据转送至输出端Y2,地址输入应为CBA=010,由功能表可得: (3-1)而其余输出端均为高电平。因此,当地址CBA=0

40、10时,只有输出端Y2得到与输入相同的数据波形。 本章小结本章介绍了频率计的各个软件组成模块,通过运用QUARTUS 集成开发环境对各功能模块进行编辑、综合、波形仿真,对各功能模块的的仿真图,及其仿真功能做了基本讲解,对本设计的实现起到了主要作用。结 论本设计对等精度频率计进行了系统的设计。首先介绍了频率测量的一般方法,着重介绍等精度测频原理并进行了误差分析,利用等精度测量原理,通过FPGA运用VHDL编程,利用FPGA(现场可编程门阵列)芯片设计了一个8位数字式等精度频率计,该频率计的测量范围为0-100MHZ,利用QUARTUS 集成开发环境进行编辑、综合、波形仿真,并下载到CPLD器件中

41、,经实际电路测试,仿真和实验结果表明,该频率计有较高的实用性和可靠性,达到预期的结果。和传统的频率计相比,利用FPGA设计的频率计简化了电路板设计,提高了系统设计的实用性和可靠性,实现数字系统的软件化,这也是数字逻辑设计的趋势。本次毕业设计中,我除了对相关的专业知识以及相关的实验操作进行了回顾,还有许多其他的收获,比如在绘制论文中所需要的相关的电路图的过程中,我还学会使用word绘图,这次毕业设计不但让我对本专业的相关基础知识进行了很好的复习,还对原由书本上的知识进行了拓展和延伸,毕业设计不但锻炼了我的动手能力,也锻炼了我处理问题的能力,并且学会了许多新的知识。致 谢通过两个多月的努力,参阅了

42、大量的文献、专著、和资料,才使我有了较为清晰的思路来完成本课题的设计。设计也引用了其中的部分内容,在此,对这些文献、专著和资料的作者和编著们表示感谢。在这里同时也要感谢指导老师徐进老师,由于对以前所学知识的遗忘,我在最初的一个星期里总是不知道该怎么入手,正是有了徐进老师的指点我的毕业设计才得以顺利进行。在论文的撰写和设计模块的仿真过程中,我也得到了很多同学和朋友的帮助与支持,在这里一并表示感谢。同时,也向我的家人致以真心的谢意!他们在我的大学阶段中给予我的一切是无法用言语来表达的。最后,衷心感谢各位评阅老师!感谢您们在百忙之中参与我的论文评阅工作。谢谢! 参考文献1 王紫婷,吴蓉,张彩珍,吴晓

43、春.EDA技术与应用.兰州:兰州大学出版社,2003年4月2 谭会生,张昌凡.EDA技术及应用.西安:西安电子科技大学出版社,2004年4月3 林敏,方颖立.VHDL数字系统设计与高层次综合.北京:电子工业出版社,2002年1月4 李国洪,沈明山.可编程器件EDA技术与实践.北京:机械工业出版社,2004年7月5 王锁萍.电子设计自动化教程.成都:电子科技大学出版社,2000年2月6 周国富.现场可编程门阵列及应用.电子技术应用,1995年6月附录一 频率计顶层文件附录二 信号源模块源程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.S

44、TD_LOGIC_UNSIGNED.ALL; ENTITY PIN1MHZ_1 IS PORT (clkin : IN STD_LOGIC; clkout : OUT STD_LOGIC); END PIN1MHZ_1; ARCHITECTURE A OF PIN1MHZ_1 IS BEGIN PROCESS(clkin) variable cnttemp : INTEGER RANGE 0 TO 99; BEGIN IF clkin=1 AND clkinevent THEN IF cnttemp=99 THEN cnttemp:=0; ELSE IF cnttemp50 THEN clkout=1; ELSE clkout=0; END IF; cnttemp:=cnttemp+1; END IF; END IF; END PROCESS; END A;附录三 分频器源程序library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt is port(clk : in std_logic; -1MHz 输入 freq1 : out std_logic; -1Hz 输出 freq488

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号