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

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

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

3、y has become an important design method of 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.

4、 Digital frequency meter is a basic measuring 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 E

5、DA, FPGA/CPLD,VHDL and the EDA software platform 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 fre

6、quency meter, this frequency meters measuring 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

7、 and reliability. Keywords: Electronic Design Automation,VHDL, Frequency measurement,digital frequency meter III 目目 录录 摘 要.I ABSTRACT.II 目 录.III 1. 前言1 2. 频率测量3 2.1 数字频率计工作原理概述.3 2.2 测频原理及误差分析.4 2.3.1 常用测频方案.4 2.3.2 等精度测频原理.4 2.3.3 误差分析.5 本章小结.6 3. 数字频率计的系统设计与功能仿真7 3.1 系统的总体设计.7 3.2 信号源模块.8 3.3 分频器.

8、9 3.4 测频控制信号产生器.10 3.5 锁存器.11 3.6 十进制计数器.11 3.7显示模块.12 3.7.1 显示模块设计.12 3.7.2 显示电路.13 3.7.3 译码器.14 本章小结.14 结 论.15 致 谢.16 参考文献.17 附录一 频率计顶层文件.18 附录二 信号源模块源程序.19 附录三 分频器源程序.20 附录四 测频控制信号发生器源程序.21 IV 附录五 32 位锁存器源程序22 附录六 有时钟使能的十进制计数器的源程序.23 附录七 显示模块源程序.24 1 1. . 前言前言 EDA 是指以计算机大规模可编程逻辑器件的开发软件及实验开发系统为设计工

9、具, 通过有关开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻 辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标 芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯 片的一门新技术1。EDA 技术高级阶段采用一种新的设计概念:自顶而下(Top_Down) 的设计程序和并行工程(Concurrent engineering )的设计方法,设计者的精力主要集中在 所要电子产品的准确定义上,EDA 系统去完成电子产品的系统级至物理级的设计。此 阶段 EDA 技术的主要特征是支持高级语言对系统进行描述,高层次综合(High Level

10、 Synthesis )理论得到了巨大的发展,可进行系统级的仿真和综合。 VHDL(超高速集成电路硬件描述语言)是由美国国防部开发的一种快速设计电路的工具,目 前已经成为 IEEE(The Institute of Electrical and Electronics Engineers)的一种工业标准硬件描述语 言。相比传统的电路系统的设计方法,VHDL 具有多层次描述系统硬件功能的能力,支持自顶向下 (Top_Down)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。 VHDL 主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻辑芯 片的应用

11、设计。与其它的 HDL 相比,VHDL 具有更强的行为描述能力,从而决定了它 成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构, 从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的 EDA 工具和 VHDL 综合器而言,将基于抽象的行为描述风格的 VHDL 程序综合成为具体的 FPGA 和 CPLD 等目标器件的网表文件己不成问题。VHDL 语言在硬件设计领域的作用将与 C 和 C+在软件设计领域的作用一样,在大规模数字系统的设计中,它将逐步取代如 逻辑状态表和逻辑电路图等级别较低的繁琐的硬件描述方法,而成为主要的硬件描述 工具,它将成为数字系统设计领域中所

12、有技术人员必须掌握的一种语言。VHDL 和可 编程逻辑器件的结合作为一种强有力的设计方式,将为设计者的产品上市带来创纪录 的速度。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用 VHDL 对 电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具 生成具体的门级逻辑电路的网表,下载到具体的 CPLD 器件中去,从而实现可编程的专用集成电路 (ASIC)的设计。CPLD 和 FPGA 建立内部可编程逻辑连接关系的编程技术有三种:基于反熔丝技 术的器件只允许对器件编程一次,编程后不能修改。其优点是集成度、工作频率和可靠性都很高, 2 适用于电磁

13、辐射干扰较强的恶劣环境。基于 EEPROM 内存技术的可编程逻辑芯片能够重复编程 100 次以上,系统掉电后编程信息也不会丢失。编程方法分为在编程器上编程和用下载电缆编程。 用下载电缆编程的器件,只要先将器件装焊在印刷电路板上,通过 PC, SUN 工作站、ATE(自动测 试仪)或嵌入式微处理器系统,就能产生编程所用的标准 5V, 3.3V 或 2.5V 逻辑电平信号,也称为 ISP ( In System Programmable)方式编程,其调试和维修也很方便。基于 SRAM 技术的器件编程数据 存储于器件的 RAM 区中,使之具有用户设计的功能。在系统不加电时,编程数据存储在 EPROM

14、、硬盘、或软盘中。系统加电时将这些编程数据实时写入可编程器件,从而实现板级或系 统级的动态配置。 数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连 线比较复杂,而且会产生比较大的延时,造成测量误差,可靠性差。随着复杂可编程 逻辑器件(CPLD)的广泛应用,以 EDA 工具作为开发手段,运用 VHDL 语言。将使 整个系统大大简化。提高整体的性能和可靠性。 数字频率计是通信设备、音、视频等科研生产领域不可缺少的测量仪器。采用 VHDL 编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示 部分外,其余全部在一片 FPGA 芯片上实现。整个系统非常精简,且具有

15、灵活的现场 可更改性。 本文用 VHDL 在 CPLD 器件上实现一种 8 位数字频率计测频系统,能够用十进制 数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且 能对其他多种频率信号进行测量。具有体积小、可靠性高、功耗低的特点。 2. . 频率测量频率测量 2.1 数字频率计工作原理概述数字频率计工作原理概述 数字频率计的设计原理实际上是测量单位时间内的周期数。这种方法免去了实测 以前的预测,同时节省了划分频段的时间,克服了原来高频段采用测频模式而低频段 3 采用测周期模式的测量方法存在换挡速度慢的缺点。 采用一个标准的基准时钟,在单位时间(1s)里对被测信号的脉冲数

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

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

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

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

20、测量准确度为=Tx/T=1/Fx。由此可知直接测频法的测量 准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准 确度也较低。因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段 内的测量精度保持不变的要求。 方案三:采用等精度频率测量法,测量精度保持恒定,不随所测信号的变化而变 化。在快速测量的要求下,要保证较高精度的测频,必须采用较高的标准频率信号。 单片机受本身时钟频率和若干指令运算的限制,测频速度较慢,无法满足高速、高精 度的测频要求;而采用高集成度、高速的现场可编程门阵列 FPGA 为实现高速、高精 度的测频提供了保证。 本设计所采用的测频方法就是等精

21、度频率测量法,下面我们将对等精度频率测量 法做进一步介绍。 2.3.2 等精度测频原理等精度测频原理 等精度测频方法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定 的值,而是被测信号周期的整数倍,即与被测信号同步,因此,避除了对被测信号计 数所产生1 个字误差,并且达到了在整个测试频段的等精度测量。其测频原理如图 2.1 所示。在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。首先给 出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上 升沿到来时,计数器才真正开始计数。然后预置闸门关闭信号(下降沿)到时,计数器并 不立即停止计数,而是等到被测信号

22、的上升沿到来时才结束计数,完成一次测量过程。 可以看出,实际闸门时间 t 与预置闸门时间 t1 并不严格相等,但差值不超过被测信号 的一个周期4。 5 图 2.1 等精度测频原理波形图 等精度测频的实现方法可简化为图 2.2 所示。CNT1 和 CNT2 是两个可控计数器, 标准频率信号从 CNT1 的时钟输入端 CLK 输入;经整形后的被测信号从 CNT2 的时钟 输入端 CLK 输入。当预置门控信号为高电平时,经整形后的被测信号的上升沿通过 D 触发器的 Q 端同时启动 CNT1 和 CNT2。CNT1、CNT2 同时对标准频率信号和经整形 后的被测信号进行计数,分别为 NS与 NX。当预

23、置门信号为低电平的时候,后而来的 被测信号的上升沿将使两个计数器同时关闭,所测得的频率为(FS/NS)*NX。则等精度 测量方法测量精度与预置门宽度的标准频率有关,与被测信号的频率无关。在预置门 时间和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精 度不变。 图 2.2 等精度测频实现原理图 6 2.3.3 误差分析误差分析 设在一次实际闸门时间 t 中计数器对被测信号的计数值为 Nx,对标准信号的计数 值为 Ns。标准信号的频率为 fs,则被测信号的频率如式(2-1): fx=(Nx/Ns)fs (2-1) 由式 1-1 可知,若忽略标频 fs 的误差,则等精度测频可能

24、产生的相对误差如式(2-2): =(|fxe-fx|/fxe)100% (2-2) 其中 fxe 为被测信号频率的准确值。 在测量中,由于 fx 计数的起停时间都是由该信号的上升沿触发的,在闸门时间 t 内对 fx 的计数 Nx 无误差(t=NxTx);对 fs 的计数 Ns 最多相差一个数的误差,即 |Ns|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) 由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时 间和标准信号频率

25、有关,即实现了整个测试频段的等精度测量。闸门时间越长,标准 频率越高,测频的相对误差就越小。标准频率可由稳定度好、精度高的高频率晶体振 荡器产生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门时间缩短, 即提高测试速度5。 本章小结本章小结 本章从各个方面说明了频率计的工作原理,介绍了频率测量的原理和误差的分析, 通过对各种频率测量方法的比对,对等精度频率计的实现,在理论上起到了作用。 7 3. 数字频率计的系统设计与功能仿真数字频率计的系统设计与功能仿真 3.1 系统的总体设计系统的总体设计 当系统正常工作时,由系统时钟提供的 100MHz 的输入信号,经过信号源模块, 先通过 10

26、0 分频产生 1MHZ 的时钟信号,再将 1MHZ 的时钟信号分频产生多种频率输 出,其中 1HZ 的输出频率被作为控制模块的时钟输入,7812HZ 的输出频率被作为显 示模块的时钟输入,由控制模块产生的计数使能信号 testen 和清零信号 clr 对计数模块 进行控制,而由其产生的锁存信号 load 对锁存模块进行控制,一旦计数使能信号为高 电平,并且时钟上升沿到来,计数器便开始正常计数,清零信号到来则计数清零,而 当锁存信号为高电平时,数据便被锁存器锁存,然后将锁存的数据输出到显示模块显 示出来,数据锁存保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计 数结果转换成相应的能够在

27、数码显示管上可以显示的十进制结果。在数码显示管上可 以看到计数结果。数字频率计的原理框图如图 3.1 所示。主要由 5 个模块组成,分别是: 信号源模块、控制模块、计数模块、锁存器模块和显示器模块6。 图 3.1 数字频率计的原理框图 根据数字频率计的系统原理,cnt 控制信号发生器。testctl 的计数使能信号 testen 能产生一个 1 s 宽的周期信号,并对频率计的每一计数器 Cnt10 的 ENA 使能端进行同 步控制:当 testen 高电平时允许计数、低电平时停止计数。 8 reg32b 为锁存器。在信号 load 的上升沿时,立即对模块的输入口的数据锁存到 reg32b 的内

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

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

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

31、31250)、 27分频(产生7812HZ的输出频率freq7812)、29分频(产生1953HZ的输出频率freq1953)、 211分频(产生488HZ的输出频率freq488)、213分频(产生1HZ的输出频率freq1)。 CNT的封装图如图3.4,图中CLK为PIN1MHZ输入的1MHZ信号,freq1为输出给控 制信号发生器的1HZ信号,7812HZ的输出频率freq7812被作为显示模块的时钟输入, freq 488、freq1953、freq31250、freq125K、freq500K作为待测信号。 clkfreq1 freq488 freq1953 freq7812 fre

32、q31250 freq125k freq500k cnt inst 图3.4CNT封装图 CNT 的工作时序仿真图如图 3.5 所示。 图 3.5 CNT 的时序仿真图 当 1MHZ 频率波形输入后,分别产生了设计所需要的 500KHZ 的输出频 freq500k,125 KHZ 的输出频率 freq125k,31250HZ 的输出频 freq31250,7812HZ 的输 10 出频率 freq7812,1953HZ 的输出频率 freq1953,488HZ 的输出频率 freq488,1HZ 的 输出频率 freq1。 3.4 测频控制信号产生器测频控制信号产生器 控制模块的作用是产生测频

33、所需要的各种控制信号。控制信号的标准输入时钟为 1HZ,每两个时钟周期进行一次频率测量。该模块产生的 3 个控制信号,分别为 TSTEN,LOAD,CLR_CNT.CLR_CNT 信号用于在每次测量开始时,对计数器进行复位, 以清除上次测量的结果,该复位信号高电平有效,持续半个时钟周期的时间。TSTEN 为计数允许信号,在 TSTEN 信号的上升沿时刻计数模块开始对输入信号的频率进行测 量,测量时间恰为一个时钟周期(正好为单位时间 1s),在此时间里被测信号的脉冲数 进行计数,即为信号的频率。然后将值锁存,并送到数码管显示出来。设置锁存器的 好处是使显示的数据稳定,不会由于周期性的清零信号而不

34、断闪烁。在每一次测量开 始时,都必须重新对计数器清 07。 测频控制产生器如图 3.6,图中 CLK 接 CNT 的 FREQ1 的 1HZ 的信号,TSTEN 为 计数允许信号,接计数器 CNT10 的 ENA,CLR_CNT 信号用于在每次测量开始时,对 计数器进行复位,接计数器 CNT10 的 CLR,LOAD 接锁存器的 LOAD。 CLKTSTEN CLR_CNT LOAD TESTCTL inst 图 3.6 TESTCTL 的封装图 测频控制信号发生器 TESTCTL 的工作时序图,控制模块的几个控制信号的时序关 系图如图 3.7 所示。 图3.7 TESTCTL的时序仿真图 从

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

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

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

38、A,用于锁定计数器。当高电平计数允许,低电平时计数禁止。计数器模块 用于对输入信号的脉冲进行计数,该模块必须有计数允许、异步清零等端口,以便于 控制模块对其进行控制。 CNT10 的封装如图 3.10,其中 CLR 为复位接 TESTCTL 的 CLR_CNT 端,ENA 接 TESTCTL 的 TSTEN 端,CQ30接锁存器的 DOUT310端。 CLK CLR ENA CQ30 CARRY_OUT CNT10 inst 图 3.10 CNT10 的封装图 有时钟使能的十进制计数器CNT10的工作时序仿真如图3.11。 图 3.11 CNT10 的时序仿真图 此程序模块实现的功能是带使能端

39、的 10 进制计数。程序要求只有当使能端信号为 高电平时计数器才能正常工作,每个时钟的上升沿到来时计数器加 1,因为这里要实现 的是 10 进制计数,所以当计数到 10 时计数器清零,同时产生进位信号,这里的进位 信号仅为一个脉冲信号,一旦计数从 10 变为 1,脉冲信号立即变为低电平。同时该计 数器也应带有清零信号,一旦清零信号为高电平,计数器立即清零。 3.7显示模块显示模块 3.7.1 显示模块设计显示模块设计 LED有段码和位码之分,所谓段码就是让LED显示出八位数据,一般情况下要通 过一个译码电路,将输入的4位2进制数转换为与LED显示对应的8位段码。位码也就是 LED的显示使能端,

40、对于共阴级的LED而言,低电平使能,在本设计中设计了一个3位 的循环计数器,将计数结果输入到译码器,译码结果输出即可依次使能每个LED。例 如:要让8个LED同时工作显示数据,就是要不停的循环扫描每一个LED,并在使能每 一个LED的同时,输入所需显示的数据对应的8位段码。虽然8个LED是依次显示,但 是受视觉分辨率的影响,看到的现象是8个LED同时工作。display 模块的顶层图如下 13 所示。CNT计数产生扫描信号(位码),LED模块用于查表产生LED段码输出。 图3.12位display的封装图。图中in0in7接锁存器的DOUT310端。 in730 in630 in530 in4

41、30 in330 in230 in130 in030 clk lout760 SEL20 display inst 图3.12 display的封装图 display 工作时序图如下图 3.13。 图 3.13 disply 工作时序图 用 8 个 LED 将待测频率显示出来,将通过十进制计数器的时钟信号 CLK,输出为时 钟信号计数译码后的显示驱动端,在八段 LED 译码为对应的八段二进制编码,并由数 码显示器显示出来。图 3.13 中为相应二进制编码与相对应的屏显数字。 14 3.7.2 显示电路显示电路 图 3.14 display 硬件结构图 此部分如图 3.14,图中主要由 07 循

42、环累加器、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

43、 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 15 用做 8 路数据输出,3 个输入控制端中的 EN2A用做数据输入端,EN2B接地,EN1 用做 使能端6。当 EN1=1,允许数据分配,若需要将输入数据转送至输出端 Y2,地址输入 应为 CBA=010,由功能表可得: (3-1)

44、21222 () ABA YGGGCBAG 而其余输出端均为高电平。因此,当地址 CBA=010 时,只有输出端 Y2 得到与输入相 同的数据波形。 本章小结本章小结 本章介绍了频率计的各个软件组成模块,通过运用 QUARTUS 集成开发环境对 各功能模块进行编辑、综合、波形仿真,对各功能模块的的仿真图,及其仿真功能做 了基本讲解,对本设计的实现起到了主要作用。 结结 论论 本设计对等精度频率计进行了系统的设计。首先介绍了频率测量的一般方法,着 重介绍等精度测频原理并进行了误差分析,利用等精度测量原理,通过 FPGA 运用 VHDL 编程,利用 FPGA(现场可编程门阵列)芯片设计了一个 8

45、位数字式等精度频率 计,该频率计的测量范围为 0-100MHZ,利用 QUARTUS 集成开发环境进行编辑、综 合、波形仿真,并下载到 CPLD 器件中,经实际电路测试,仿真和实验结果表明,该 频率计有较高的实用性和可靠性,达到预期的结果。和传统的频率计相比,利用 FPGA 设计的频率计简化了电路板设计,提高了系统设计的实用性和可靠性,实现数 字系统的软件化,这也是数字逻辑设计的趋势。 本次毕业设计中,我除了对相关的专业知识以及相关的实验操作进行了回顾,还 有许多其他的收获,比如在绘制论文中所需要的相关的电路图的过程中,我还学会使 用word绘图,这次毕业设计不但让我对本专业的相关基础知识进行

46、了很好的复习,还 对原由书本上的知识进行了拓展和延伸,毕业设计不但锻炼了我的动手能力,也锻炼 了我处理问题的能力,并且学会了许多新的知识。 16 致致 谢谢 通过两个多月的努力,参阅了大量的文献、专著、和资料,才使我有了较为清晰 的思路来完成本课题的设计。设计也引用了其中的部分内容,在此,对这些文献、专 著和资料的作者和编著们表示感谢。 在这里同时也要感谢指导老师徐进老师,由于对以前所学知识的遗忘,我在最初 的一个星期里总是不知道该怎么入手,正是有了徐进老师的指点我的毕业设计才得以 顺利进行。 在论文的撰写和设计模块的仿真过程中,我也得到了很多同学和朋友的帮助与支 持,在这里一并表示感谢。同时

47、,也向我的家人致以真心的谢意!他们在我的大学阶段 中给予我的一切是无法用言语来表达的。 最后,衷心感谢各位评阅老师!感谢您们在百忙之中参与我的论文评阅工作。谢谢! 17 参考文献参考文献 1 王紫婷,吴蓉,张彩珍,吴晓春.EDA 技术与应用.兰州:兰州大学出版社,2003 年 4 月 2 谭会生,张昌凡.EDA 技术及应用.西安:西安电子科技大学出版社,2004 年 4 月 3 林敏,方颖立.VHDL 数字系统设计与高层次综合.北京:电子工业出版社,2002 年 1 月 4 李国洪,沈明山.可编程器件 EDA 技术与实践.北京:机械工业出版社,2004 年 7 月 5 王锁萍.电子设计自动化教

48、程.成都:电子科技大学出版社,2000 年 2 月 6 周国富.现场可编程门阵列及应用.电子技术应用,1995 年 6 月 18 附录一附录一 频率计顶层文件频率计顶层文件 clkfreq1 freq488 freq1953 freq7812 freq31250 freq125k freq500k cnt inst CLK CLR ENA CQ30 CARRY_OUT CNT10 inst1 CLK CLR ENA CQ30 CARRY_OUT CNT10 inst2 CLK CLR ENA CQ30 CARRY_OUT CNT10 inst3 CLK CLR ENA CQ30 CARRY_OUT CNT10 inst4 CLK CLR ENA CQ30 CARRY_OUT CNT10 inst5 CLK CLR ENA CQ30 CARRY_OUT CNT10 inst6 CLK CLR ENA CQ30 CARRY_OUT CNT10 inst7 CLK CLR ENA CQ30 CARRY_OUT CNT10 inst8 in730 in630 in530 in430 in330 in230 in130 in030 clk lout760 SEL20

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

当前位置:首页 > 研究报告 > 信息产业


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