[精品论文]基于VHDL语言的数字频率计设计_第1页
[精品论文]基于VHDL语言的数字频率计设计_第2页
[精品论文]基于VHDL语言的数字频率计设计_第3页
[精品论文]基于VHDL语言的数字频率计设计_第4页
[精品论文]基于VHDL语言的数字频率计设计_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课件之家精心整理资料-欢迎你的欣赏 课件之家精心整理资料-欢迎你的欣赏 基于 vhdl 语言的数字频率计设计 摘 要 在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量 结果都有十分密切的关系,因此频率的测量就显得更为重要。测量频率的方法有多种, 其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程 自动化等优点,是频率测量的重要手段之一。本设计结合采用测频法与测周期法这两 种频率测量方法,可以大大提高数字频率计的频带以及测量精度。 本设计采用模块化思想,将频率计的实现按功能分割成基准时间产生模块、高频 计数模块、低频计数模块、数据处理模块、中央控制模

2、块。其中,中央控制模块是整 个系统的控制部分:高频信号采用测频法,直接在中央控制器显示输出;低频信号采 用测周期法,由基准时间产生模块提供的计数时钟信号,再经过数据处理模块处理, 在中央控制器模块上显示输出。各部分模块都采用超高速集成电路硬件描述语言 (vhdl)来实现,所以尽管目标系统是硬件,但整个设计和修改过程如同完成软件设 计一样方便和高效。 关键词:电子设计自动化;硬件描述语言;数字频率计 课件之家精心整理资料-欢迎你的欣赏 课件之家精心整理资料-欢迎你的欣赏 design of a digital cymometer based on vhdl abstract in electro

3、nics, the frequency is one of the most basic parameters, and with many electrical parameters of the measurement program, measurement consequence of a very close relationship, so the frequency of measurement becomes very important. measuring frequency of means, including electronic counter measuring

4、frequency with high precision, easy to use, fast measurement and easy to realize the advantages of automated measurement process is an important means of frequency measurement. the design combination of frequency measurement method and the measurement cycle the two frequency measurement method can g

5、reatly enhance the digital frequency meter band and the measurement accuracy. the modular design ideas, the realization of the frequency counter divided by function into a reference time generator module, high frequency count module, low frequency count module, data processing module, the central co

6、ntrol module. among them, the central control module is part of the whole system of control: high-frequency signal with frequency measurement method, the direct display output in the central controller; low frequency signal by measuring cycle method, produced by the reference time clock module provi

7、des the count, and then through the data processing module processing, the central controller module display output. the part of the module is ultra high speed integrated circuit hardware description language (vhdl) to implement, so even though the target system hardware, but the whole process of de

8、sign and modification of software design as complete as easy and efficient. key words: eda;vhdl; digital cymometer 课件之家精心整理资料-欢迎你的欣赏 课件之家精心整理资料-欢迎你的欣赏 目录 1绪论.1 1.1电子设计自动化(eda)发展概述.1 1.1.1eda 的发展历史.1 1.1.2eda 的应用.2 1.2选题背景及意义.3 1.3论文的研究内容和结构安排.3 2硬件描述语言 hdl.5 2.1vhdl 语言简介 .5 2.2vhdl 语言的结构模型和设计方法 .6 2

9、.2.1vhdl 的结构模型 .6 2.2.2vhdl 语言设计方法 .7 2.3利用 vhdl 语言开发的优点.8 3基于 vhdl 语言的数字频率计设计.10 3.1用 fpga 实现数字频率计.10 3.2数字频率计的系统设计.11 3.2.1数字频率计的测频原理.11 3.2.2数字频率计系统功能分割.12 3.3数字频率计系统模块的 vhdl 语言实现.15 3.3.1中央控制模块(center).15 3.3.2基准时间产生模块(clockgen) .18 3.3.3高频计数模块(hfcounter).20 3.3.4低频计数模块(lfcounter).21 3.3.5数据处理模块

10、(divid) .23 3.4设计实现.24 课件之家精心整理资料-欢迎你的欣赏 课件之家精心整理资料-欢迎你的欣赏 3.5本设计的数字频率计的特点.25 3.6数字频率计各模块的仿真波形.26 结 论.33 致 谢.34 参考文献.35 大学本科生毕业设计 第 1 页 课件之家精心整理资料-欢迎你的欣赏 1绪论 21 世纪人类将全面进入信息化社会,对微电子信息技术和微电子 vlsi 基础技术 将不断提出更高的发展要求,微电子技术仍将继续是 21 世纪若千年代中最为重要的和 最有活力的高科技领域之一。而集成电路(ic)技术在微电子领域占有重要的地位。 伴随着 ic 技术的发展,电子设计自动化(

11、electronic design automation)eda 己经逐 渐成为重要设计手段,其广泛应用于模拟与数字电路系统等许多领域。 1.1电子设计自动化( eda)发展概述 随着电子技术的发展,当前数字系统的设计正朝着速度快、容量大、体积小、重 量轻的方向发展。推动该潮流迅猛发展的引擎就是日趋进步和完善的设计技术。目前 数字系统的设计可以直接面向用户需求,根据系统的行为和功能要求,自上至下的逐 层完成相应的描述、综合、优化、仿真与验证,直到生成器件。上述设计过程除了系 统行为和功能描述以外,其余所有的设计过程几乎都可以用计算机来自动地完成,也 就是说做到了电子设计自动化(eda) 。这样

12、做可以大大地缩短系统的设计周期,以适 应当今品种多、批量小的电子市场的需求,提高产品的竞争能力1。 1.1.1eda 的发展历史 eda 技术的发展始于 70 年代,至今经历了三个阶段。电子线路的 cad(计算机 辅助设计)是 eda 发展的初级阶段,是高级 eda 系统的重要组成部分。它利用计算 机的图形编辑、分析和存储等能力,协助工程师设计电子系统的电路图、印制电路板 和集成电路板图;采用二维图形编辑与分析,主要解决电子线路设计后期的大量重复 性工作,可以减少设计人员的繁琐重复劳动,但自动化程度低,需要人工干预整个设 计过程。这类专用软件大多以微机为工作平台,易于学用,设计中小规模电子系统

13、可 靠有效,现仍有很多这类专用软件被广泛应用于工程设计。80 年代初期,eda 技术开 始技术设计过程的分析,推出了以仿真(逻辑模拟、定时分析和故障仿真)和自动布 局与布线为核心的 eda 产品,这一阶段的 eda 己把三维图形技术、窗口技术、计算 机操作系统、网络数据交换、数据库与进程管理等一系列计算机学科的最新成果引入 电子设计,形成了 cae(计算机辅助工程) 。也就是所谓的 eda 技术中级阶段。其主 要特征是具备了自动布局布线和电路的计算机仿真、分析和验证功能。其作用已不仅 大学本科生毕业设计 第 2 页 课件之家精心整理资料-欢迎你的欣赏 仅是辅助设计,而且可以代替人进行某种思维。

14、cae 这种以原理图为基础的 eda 系 统,虽然直观,且易于理解,但对复杂的电子设计很难达到要求,也不宜于设计的优 化。所以,90 年代出现了以自动综合器和硬件描述语言为基础,全面支持电子设计自 动化的 esda(电子系统设计自动化) ,即高级 eda 阶段,也就是目前常说的 eda。 过去传统的电子系统电子产品的设计方法是采用自底而上(bottom-up)的程式,设计 者先对系统结构分块,直接进行电路级的设计。这种设计方式使设计者不能预测下一 阶段的问题,而且每一阶段是否存在问题,往往在系统整机调试时才确定,也很难通 过局部电路的调整使整个系统达到既定的功能和指标,不能保证设计一举成功。e

15、da 技 术高级阶段采用一种新的设计概念:自顶而下(top-down)的设计程式和并行工程 (concurrent engineering)的设计方法,设计者的精力主要集中在所要电子产品的准确 定义上,eda 系统去完成电子产品的系统级至物理级的设计。此阶段 eda 技术的主 要特征是支持高级语言对系统进行描述,高层次综合(high level synthesis)理论得到 了巨大的发展,可进行系统级的仿真和综合2。图 1.1 给出了上述三个阶段的示意图。 行为 设计 结构 设计 逻辑 设计 电路 设计 版图 设计 设计 层次 1970 1975 1980 1985 1990 1995 200

16、0 年代 c ad c ae e da 大学本科生毕业设计 第 3 页 课件之家精心整理资料-欢迎你的欣赏 图 1.1 eda 发展阶段示意图 1.1.2eda 的应用 随着大规模集成电路技术和计算机技术的不断发展,在涉及通信、国防、航天、 医学、工业自动化、计算机应用、仪器仪表等领域的电子系统设计工作中,eda 技术 的含量正以惊人的速度上升,电子类的高新技术项目的开发也逾益依赖于 eda 技术 的应用。即使是普通的电子产品的开发,eda 技术常常使一些原来的技术瓶颈得以轻 松突破,从而使产品的开发周期大为缩短、性能价格比大幅提高。不言而喻,eda 技 术将迅速成为电子设计领域中的极其重要的

17、组成部分3。 随着微电子技术的飞速进步,电子学进入了一个崭新的时代。其特征是电子技术 的应用以空前规模和速度渗透到各行各业。各行业对自己专用集成电路(asic)的设 计要求日趋迫切,现场可编程器件的广泛应用,为各行业的电子系统设计工程师自行 开发本行业专用的 asic 提供了技术和物质条件。利用 eda 技术对 fpgacpld 的 开发,通常是一种借助于软件方式的纯硬件开发,可以通过这种途径进行专用 asic 开 发,而最终的 asic 芯片,可以是 fpgacpld,也可以是专制的门阵列掩膜芯片, fpgacpld 起到了硬件仿真 asic 芯片的作用。 1.2选题背景及意义 频率信号抗干

18、扰性强,易于传输,可以获得较高的测量精度,所以测频方法的研 究是电子测量领域的重要内容。数字频率计是计算机、通讯设备、音频视频等科研生 产领域不可缺少的测量仪器。数字频率计是数字电路中的一个典型应用,传统的数字 大学本科生毕业设计 第 4 页 课件之家精心整理资料-欢迎你的欣赏 频率计一般由分离元件搭接而成,实际的硬件设计用到的器件较多,连线比较复杂, 其测量范围、测量精度和测量速度都受到很大的限制。随着新型可编程逻辑器件 fpga 技术的发展,能够将大量的逻辑功能集成于一个单个器件中,根据不同的需要 所提供的门数可以从几百门到上百万门,不但集成度远远超过了以往的数字频率计, 而且在基准频率及

19、精度等外部条件的允许下,根据不同场合的精度要求,对硬件描述 语言进行一定的改动,使系统在精度提高的同时,用较少的器件来实现系统的功能,从 而降低系统的整体造价。 此外,系统芯片(soc)的发展也要求其包含频率测量的功能,所以用 fpga 实现数 字频率计也是实现系统芯片的前提条件。 本设计实现的数字频率计,除被测信号以外,只需要一个标准时基信号,其余全 部在一片 fpga 芯片上实现,系统各功能模块的实现全部采用 vhdl 语言编写。本设 计通过用 vhdl 语言实现数字频率计,用设计实例说明如何采用层次化的设计方法来 实现较大的数字系统,并强化了使用 vhdl 语言来实现数字系统设计的能力。

20、接下来, 在后续的章节会介绍硬件描述语言 vhdl 语言的详细情况。 1.3论文的研究内容和结构安排 本设计采用 eda (electronic design automation) 的方法来完成数字频率计的设计, 即通过 vhdl(very high speed integrated circuit hardware description language)硬件描 述语言来完成的设计,用 fpga (field programmable gate array) 来实现。 本设计主要完成的工作有: 1根据数字频率计的测频原理,对整个数字频率计进行系统划分并合理的设计各 模块的接口; 2应用

21、vhdl 语言完成了数字频率计各模块功能的设计实现,说明了各模块和 系统输入输出信号的功用; 3运用实验系统的软件系统开发环境 max+plus进行编辑、综合、波形 仿真。 本设计共分为三章,论文结构安排及各章的内容安排如下: 第二章介绍了 vhdl 语言的结构模型和设计方法以及 vhdl 语言的优点; 第三章首先介绍了数字频率计测频的基本原理,接着完成了数字频率计的系统设 大学本科生毕业设计 第 5 页 课件之家精心整理资料-欢迎你的欣赏 计,把数字频率计按功能划分为 5 个模块,并用 vhdl 语言完成了数字频率计各模块 的设计,并着重说明了各模块输入输出信号的功用,简述了本设计数字频率计

22、的优点, 最后给出了各模块的仿真波形图。 大学本科生毕业设计 第 6 页 课件之家精心整理资料-欢迎你的欣赏 2硬件描述语言 hdl 硬件描述语言(hdl)是相对于一般的计算机软件语言如 c,pascal 而言的。 hdl 是用于设计硬件电子系统的计算机语言,它描述电子系统的逻辑功能、电路结构 和连接方式。设计者可以利用 hdl 程序来描述所希望的电路系统,规定其结构特征 和电路的行为方式;然后利用综合器和适配器将此程序变成能控制 fpga 和 cpld 内 部结构、并实现相应逻辑功能的门级或更底层的结构网表文件和下载文件。硬件描述 语言具有以下几个优点:(1)设计技术齐全,方法灵活,支持广泛

23、。 (2)加快了硬件 电路的设计周期,降低了硬件电路的设计难度。 (3)采用系统早期仿真,在系统设计 早期就可发现并排除存在的问题。 (4)语言设计可与工艺技术无关。 (5)语言标准, 规范,易与共享和复用。就 fpga/cpld 开发来说,vhdl 语言是最常用和流行的硬 件描述语言之一。本次设计选用的就是 vhdl 语言,下面将主要对 vhdl 语言进行 介绍。 2.1vhdl 语言简介 vhdl 是超高速集成电路硬件描述语言的英文字头缩写简称,其英文全名是 very high speed integrated circuit hardware description language。它

24、是在 70-80 年代中由美 国国防部资助的 vhsic(超高速集成电路)项目开发的产品,诞生于 1982 年。1985 年在美国国防部的支持下正式推出了超高速集成电路硬件描述语言(vhdl) ,它是目 前世界上标准化程度最高的一种硬件描述语言。它源于美国国防部提出的超高速集成 电路计划,最初的目的是为了在各个承担国防部订货的集成电路厂商之间建立一个统 一的设计数据和文档交换格式。由于美国国防部是财力集中、范围广泛的特殊用户, 因此它的要求很快得到了响应。1987 年底,vhdl 被 ieee(the institute of electrical and electronics engine

25、ers)确认为标准硬件描述语言。自 ieee 公布了 vhdl 的标准版 本(ieee std 1076-1987 标准)之后,各 eda 公司相继推出了自己的 vhdl 设计环境。 此后,vhdl 在电子设计领域受到了广泛的接受,并逐步取代了原有的非标准 hdl。1993 年,ieee 对 vhdl 进行了修订,从更高的抽象层次和系统描述能力上扩 展 vhdl 的内容,公布了新版本的 vhdl,即 ansi/ieee std 1076-1993 版本。1996 年 ieee 10763 成为 vhdl 综合标准。 大学本科生毕业设计 第 7 页 课件之家精心整理资料-欢迎你的欣赏 vhdl

26、主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻 辑芯片的应用设计。与其它的 hdl 相比,vhdl 具有更强的行为描述能力,从而决 定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器 件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的 eda 工具和 vhdl 综合器而言,将基于抽象的行为描述风格的 vhdl 程序综合成为具体 的 fpga 和 cpld 等目标器件的网表文件己不成问题。vhdl 语言在硬件设计领域的 作用将与 c 和 c+在软件设计领域的作用一样,在大规模数字系统的设计中,它将逐 步取代如逻辑状态表和逻辑电路图等级别

27、较低的繁琐的硬件描述方法,而成为主要的 硬件描述工具,它将成为数字系统设计领域中所有技术人员必须掌握的一种语言。 vhdl 和可编程逻辑器件的结合作为一种强有力的设计方式,将为设计者的产品上市 带来创纪录的速度。 2.2vhdl 语言的结构模型和设计方法 vhdl 是标准化的硬件描述语言,用于数字电路系统设计,可以在各种级别上进 行逻辑设计,并对设计进行仿真验证,时序分析、逻辑综合。vhdl 有非常丰富的数 据类型,它的结构模型是层次化的,利用这些丰富的数据类型和层次化的结构模型, 对复杂的数字系统进行逻辑设计并用计算机仿真,逐步完善后进行自动综合生成符合 要求的、在电路结构上可实现的数字逻辑

28、,再下载到可编程逻辑器件中,完成设计任 务4。 2.2.1vhdl 的结构模型 vhdl 的结构模型包括五个部分:实体(entity) ,结构体 (architecture),配置 (configuration) ,程序包(package),库(library)。各模块的功能描述如下: 实体:设计实体是 vhdl 中的基本单元和最重要的抽象,它可以代表整个系统、 一块电路板、一个芯片或一个门电路。它可以代表像微处理器那样复杂的电路,也可 以代表像单个逻辑门那样的电路,对于设计实体可以代表什么几乎没有限制。实体说 明定义了器件的端口特性和端口模式,设立了实体与外部进行通信的环境。在 vhdl 层

29、次化设计中引用低层次的设计实体,就好象结构图中调用基本符号并把它们连接起 来。实体中可以有一个或多个输入、输出端口(port)的定义,端口的作用类似于逻辑 大学本科生毕业设计 第 8 页 课件之家精心整理资料-欢迎你的欣赏 符号的引脚。信息通过端口在实体之间流动。 结构体:结构体是 vhdl 设计中最重要的部分,可以单独编译并放入库中。结构 体描述一个设计的结构或行为,把一个设计的输入与输出之间的逻辑关系建立起来。 如果把实体想象为结构图中的功能符号,则结构体描述该功能块的内部情形。结构体 中包含着并行语句和顺序语句。请注意,允许一个实体有多个结构体。在某一特定情 况下,该实体到底和哪一个结构

30、体“绑定”在一起,可以使用配置说明语句 (configuration declaration)来指定。结构体分为两部分:说明部分和描述部分。 配置:大型设计一般采用层次化的设计方法,高层设计实体需要将低层实体作为 元件加以利用,这就要用到配置指定或配置说明。配置指定用于把例化元件和相应的 实体结构体“绑定”起来,配置说明为大型设计提供配置管理的手段。利用配置技术, 可以选取不同的结构体,这样就可以对同一设计任务进行多种配置的性能实验,从而 选取性能最优的逻辑实现。 程序包:程序包是一个可编译的 vhdl 源设计单元,建立一个程序包的目的是将 公用的子程序,数据类型、常数以及编译过的设计接口综合

31、起来,以备顶层调用。如 果已经在程序包中作了定义,并且在 vhdl 的设计的其他部分中想使用它们,就必须 使用 library 和 use 语句使它们成为可能。 库:库用来存放编译结果,包括实体、结构体、配置、程序包,以便模拟时使用 或被其它设计调用,达到资源共享的目的。 2.2.2vhdl 语言设计方法 层次化的设计方法是软件工程中的重要方法,vhdl 将其引入到硬件描述中,这 就是自顶向下的设计(top-down) 。自顶向下的设计是从系统级开始,将整个系统划 分为子模块,然后对这些子模块再进行进一步的划分,一直这样做下去,直到可以直 接用库中的元件来实现为止,如图 2.1 所示 。 大学

32、本科生毕业设计 第 9 页 课件之家精心整理资料-欢迎你的欣赏 图 2.1 自顶向下的设计方法 目前,专用集成电路(asic 的复杂度越来越高,这样复杂的电路已不再是简单的 个人劳动,需要多人的分工协作) 这种自顶向下的设计方法,使一个大型的系统设计 分解为若干个可操作的模块,并且可以对这些模块分别进行模拟仿真,由于设计的主 要模拟仿真是在高层上实现的,所以能及早地发现系统中的错误并改正,提高设计的 一次成功率,使得几十万甚至几百万门规模的大型数字系统的设计成为可能。 2.3利用 vhdl 语言开发的优点 vhdl 语言能够成为标准化的硬件描述语言并获得广泛应用 , 它自身必然具 有很多其他硬

33、件描述语言所不具备的优点。归纳起来 ,vhdl 语言主要具有以下 优点: (1) vhdl 语言功能强大 , 设计方式多样 vhdl 语言具有强大的语言结构 , 只需采用简单明确的 vhdl 语言程序就可 以描述十分复杂的硬件电路。同时 , 它还具有多层次的电路设计描述功能。此外 ,vhdl 语言能够同时支持同步电路、异步电路和随机电路的设计实现, 这是其他 硬件描述语言所不能比拟的。 vhdl 语言设计方法灵活多样 , 既支持自顶向下的 设计方式, 也支持自底向上的设计方法 ; 既支持模块化设计方法 , 也支持层次化设 计方法。 系统 子功能块 1子功能块 2子功能块 n 逻辑块 11逻辑块

34、 12逻辑块 1m逻辑块 21 逻辑块 111 . . . . 大学本科生毕业设计 第 10 页 课件之家精心整理资料-欢迎你的欣赏 (2) vhdl 语言具有强大的硬件描述能力 vhdl 语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以 描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也 可以采用三者的混合描述方式。同时, vhdl 语言也支持惯性延迟和传输延迟, 这样可以准确地建立硬件电路的模型。 vhdl 语言的强大描述能力还体现在它具 有丰富的数据类型。 vhdl 语言既支持标准定义的数据类型,也支持用户定义的数 据类型,这样便会给硬件描述带来较大

35、的自由度。 (3) vhdl 语言具有很强的移植能力 vhdl 语言很强的移植能力主要体现在 : 对于同一个硬件电路的 vhdl 语 言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个 综合器上或者从一个工作平台移植到另一个工作平台上去执行。 (4) vhdl 语言的设计描述与器件无关 采用 vhdl 语言描述硬件电路时 , 设计人员并不需要首先考虑选择进行设计 的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化, 而不需 要考虑其他的问题。当硬件电路的设计描述完成以后 ,vhdl 语言允许采用多种 不同的器件结构来实现。 (5) vhdl 语言程序易于共

36、享和复用 vhdl 语言采用基于库 ( library) 的设计方法。在设计过程中 , 设计人员可 以建立各种可再次利用的模块 , 一个大规模的硬件电路的设计不可能从门级电路 开始一步步地进行设计 , 而是一些模块的累加。这些模块可以预先设计或者使用 以前设计中的存档模块 , 将这些模块存放在库中 , 就可以在以后的设计中进行复 用。 由于 vhdl 语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言 , 因此它可以使设计成果在设计人员之间方便地进行交流和共享, 从而减小硬件电 路设计的工作量 , 缩短开发周期。 大学本科生毕业设计 第 11 页 课件之家精心整理资料-欢迎你的欣赏 3基

37、于 vhdl 语言的数字频率计设计 本设计通过用 vhdl 语言实现数字频率计,用设计实例具体说明如何采用层次化 的设计方法来实现较大的数字系统,并强化了使用 vhdl 语言来实现数字系统设计的 能力。该频率计的设计要求是:频率测量范围为 0.01hz16mhz;输入信号为符合 ttl 和 cmos 电平要求的脉冲信号。整个设计在 altera 公司的 fpga 上实现。 3.1用 fpga 实现数字频率计 传统的数字频率计一般是由分离元件搭接而成。实际的硬件设计用到的器件较多, 连线比较复杂,而且会产生比较大的延时,造成测量误差。fpga 是新型的可编程逻 辑器件,能够将大量的逻辑功能集成于

38、一个单个器件中,它所提供的门数从几百门到 上百万门,可以满足不同的需要。因此用 fpga 来实现数字频率计与以往的数字频率 计相比,有如下优点: (1)集成度高。这是最显著也是最重要的一个特点。很明显,在一片 fpga 里实 现了数字频率计的绝大部分功能,它的集成度远远超过了以往的数字频率计。这对于 系统的集成化很有益处。 (2)易于升级、换代,灵活适用于各种场合。由于数字频率计最初的实现形式是 用硬件描述语言写成的程序,所以在外在的条件(如基准频率的提高,基准频率精度 的提高)的允许下,只需对原程序作很小的改动,可以使数字频率计的精度提高几个 数量级。同时对于频率精度要求不高的场合,可以修改

39、原程序,使之可以用较小的器 件实现,从而降低系统的整体造价。这些都不需要变动系统硬件,只需修改原程序, 选用相应的器件就可以实现。这是以往的数字频率计(由分离元件搭接而成的)所无法实 现的。 (3)符合系统芯片 (soc,system on a chip)的发展要求。系统芯片是 21 世 纪微电子技术发展的重点,它从整个系统的角度出发,把处理机制、模型算法、芯片 结构、各层次电路直至器件的设计紧密结合起来,在单个(或少数几个)芯片上完成 整个系统的功能。由于 soc 设计能够综合并全盘考虑整个系统的各种情况,因此可以 在同样的工艺技术条件下实现更高性能的系统指标。若一个包含频率测量的系统要想

40、实现 soc,则首先要保证频率测量系统要可以集成化,所以用 fpga 实现数字频率计 大学本科生毕业设计 第 12 页 课件之家精心整理资料-欢迎你的欣赏 是实现系统芯片的前提条件。 3.2数字频率计的系统设计 3.2.1数字频率计的测频原理 频率是周期信号在单位时间内的重复次数。可以对一个周期信号发生的次数进行 记数。频率测量一般有测频法与测周期法两种基本方式: (1)测频法:是由标准时钟分频产生一门控信号,在门控信号下对输人信号进行计 数,如图 3.1 所示。设输人信号频率为 fx,门控信号有效电平时间为 t,在此有效电 平时间内的计数值为 n,则输人信号的频率为:fx=n/ t 。 (2

41、)测周期法:是将输人信号作为门控信号,在此门控信号下,对标准时钟进行计 数,如图 3.2 所示。设输人信号频率为 fx,标准时钟频率为 f,在门控信号(输人信 号)下的计数值为 n,测得输人信号的频率为:fx=f/n 。 输入 信号 闸门 图 3.1 测频法原理 输入 信号 时钟 大学本科生毕业设计 第 13 页 课件之家精心整理资料-欢迎你的欣赏 图 3.2 测周期法原理 从上述原理可以看出,测频法适合于测量频率较高的信号的频率,而测周期法用 来测量低频信号的频率误差较小,综合采用这两种方法可以有效地拓宽测量的频带, 并大幅度提高测量精度。所以本设计采取的方法是高频测频率,低频测周期。 为了

42、保证测量精度,把整个量程分为 4 段:40hz16mhz 为高频段,1hz40hz 为中频段,0.1hz1hz 为低频段,0.01hz0.1hz 为超低频段。除高频段用直接计数 的方法测量并提供 8 位整数外,其余各频段均采用测量周期并倒数的方法测量,提供 3 位有效数字,用浮点数字显示。 3.2.2数字频率计系统功能分割 由于 fpga 只能实现数字电路,因此输入信号的处理部分不能用 fpga 来实现, 所以整形电路需另外实现外加。本设计考虑的处理方法是对输入信号经预处理及整形 电路后整形为方波信号,预处理电路用来完成信号衰减或放大和滤波;整形电路是一个 过零比较电路,将外部的模拟信号转换为

43、方波信号。假定本设计 fpga 接受的都是经 过整形电路整形、变换后的规则的方波信号,电压幅值为 0-5v。 根据频率计的测频原理,可以把数字频率计划分为三个模块:控制模块、基准时 间产生模块和计数模块,考虑到不同频段采用不同的测量方法,本设计又把计数模块 分为高频计数和低频计数两个模块,然后加上进行求周期倒数及转换为 bcd 码的数据 处理模块,这样整个数字频率计系统根据各自功能和控制关系共分为五个模块:高频 计数模块、低频计数模块、基准时间产生模块、数据处理模块和中央控制模块,实现 这个频率计的结构原理框图如图 3.3 所示。 大学本科生毕业设计 第 14 页 课件之家精心整理资料-欢迎你

44、的欣赏 中央控制器 显示 输出小数 点 采样 指示 1 0hz 低频计数 高频计数 基准时间产生 1 0hz 100 hz1000 hzc ount 1mhz 时钟 1 sdigita lhf 数据处理 digita llf 被测 信号 图 3.3 频率计结构原理框图 基准时间产生模块为低频计数模块提供计数的时钟信号,并产生中央控制模块内 部逻辑的时钟信号。中央控制模块是整个系统的控制部分,它控制着系统的复位、测 频的开始,测频结果的选择输出等。控制模块接受从基准时间模块产生的内部控制逻 大学本科生毕业设计 第 15 页 课件之家精心整理资料-欢迎你的欣赏 辑的时钟信号,从而产生系统内的复位信

45、号去复位其他模块。中央控制模块控制着高 频计数模块的运作,从而控制着测频的开始,它还控制着数据处理模块的运作,从而 控制着低频计数模块将计数的结果转换为周期的倒数。高频计数模块和低频计数模块 是整个测频系统核心,它们接受中央控制单元产生的复位信号,清除上一次计数结果, 以便进行下一次计数。高频计数模块把计数的结果直接送到中央控制模块用于显示输 出。低频计数模块接受基准时间模块产生的三个不同频率的信号,用作低频计数器里 的时钟信号,进行低频计数。数据处理模块接受中央控制模块产生的置位信号,把从 低频计数模块转化的结果送到中央控制模块用于显示。 本设计中将数字频率计系统分为 5 个功能模块,全部使

46、用 vhdl 进行设计,各模 块功能描述如下: (1)基准时间产生(clockgen)模块 基准时间产生 clockgen(clock genetater) 模块利用输入 1mhz 标准时基信号分频 得到 1000hz 信号 clk1k, 100hz 信号 clk100 和 10hz 信号 clk10。这三个信号用作测量 低频信号周期的时钟信号,以实现不同量程的需要。同时 10hz 信号也用作内部控制逻 辑的时钟信号。在数字电路设计中,分频器实际上就是一个加法器,cnt1000 为 1000 进制计数器,cnt 为 10 进制计数器。具体实现模块如图 3.4 所示。 cnt1000cnt100

47、cnt10 1m hz 1000hz 100hz 1 0hz clk100 clk1k clk10 图 3.4 分频的具体实现 (2)低频计数(lowcnt)模块 低频计数 lowcnt(low frequency counter)模块是测量输入信号单个周期长度的计时 电路。其基本结构由 3 个相同的 1000 进制计数器构成。这三个计数器分别接 大学本科生毕业设计 第 16 页 课件之家精心整理资料-欢迎你的欣赏 1000hz,100hz 和 10hz 的时钟信号。在每一个测量周期里,第一次出现的被测信号使 这三个计数器同时开始计数,下一个被测脉冲信号使计数停止。这样,计数器的计数 值代表了

48、被测信号的一个周期的长度。如果被测信号的频率低于 1hz(即周期大于 1s), 则第一个计数器会发生溢出,并将 ov1 信号置 1。同样如果被测信号的频率低于 0.1hz(即周期大于 10s),则第二个计数器会发生溢出,并将 ov2 信号置 1。利用计数器 的溢出信号可以判断当前被测频率在哪个范围之内,从而选择适当的计数值作为输出 count 的值,并设置相应的标志位。fr-high,fr-low 和 fr-vlow 代表了当前被测频率所处 的频率范围,也代表了小数点的位置。fr-high 为 1 代表被测频率大于 1hz,小数点在 个位和十位之间(至于是否大于 40hz,还要通过 hicnt

49、 的输出判断) ;fr-low 为 1 代表 被测频率在 0.1hz1hz 之间,小数点在十位和百位之间;fr-vlow 为 1 代表被测频率小 于 0.1hz0.01hz 之间,小数点在百位和千位之间。具体实现模块与高频计数模块思想 相同,不同的是三个计数器之间是一起执行计数操作的,相互之间是独立的。 (3)高频计数(hicnt)模块 高频计数 hicnt(high frequency counter)模块是直接测量输入信号每秒脉冲个数的 电路,适用于 40hz 以上信号的测量。本模块频率测量采用测频法,由中央控制模块提 供的长为 1s 的时钟信号作为输入被测脉冲信号计数的使能信号,在此使能

50、信号的控制 下对输入信号的频率进行测量。这个电路由 8 个十进制 bcd 码同步计数器级联组成, 输出就是这 8 个计数器的计数值。具体实现模块如图 3.5 所示。 clk cy cnt10 en clr clk cy cnt10 en clr clk cy cnt10 en clr q0 q1 q7被测 信号 使能 信号清零 信号 大学本科生毕业设计 第 17 页 课件之家精心整理资料-欢迎你的欣赏 图 3.5 高频计数的具体实现 (4)数据处理(divide)模块 数据处理模块在采用测频法的高频计数模块工作时对数据不做处理而直接输出 (因为高频计数模块由 8 个十进制 bcd 码同步计数器

51、级联组成) ,在采用测周期法的 低频计数模块工作时完成求倒数及 bcd 码转换的运算。 这个模块主要完成除法运算(即求周期的倒数) ,然后进行再处理后转换为 bcd 码,结果输出到 digital 端。 数据处理模块采用减法器来完成,10000 作减数与低频计数模块测量得到的值 n 相减,并设计一个计数器对减法次数进行计数,直到最后的余数小于 n,这样就完成 了除法运算。具体措施为:数据处理单元从低频计数模块获得计数值,此时的计数值 的数据类型为 std-logic,vhdl 语言的程序包中提供了一些转换函数,在具体编程实现时, 可以先把该计数值变成整型,用 10000 作被除数,得到的商可根

52、据显示要求的有效值 位数,再转换成 std-logic 的数据类型。 (5)中央控制 (center)模块 中央控制模块 center:这个模块产生所有的控制信号,并对被测信号选择合适的测 量方法和量程。在每一个测量周期中,各控制信号的情况是这样的:由一个计数器对 10hz 的时钟信号计数,在前十个时钟周期(1s)内,置计数使能信号 ce 为 1,使高频计 数器 hicnt 进行计数,同时低频计数器也在进行计数。在第 11 个时钟周期的上升沿检 测被测信号的频率范围,如果被测信号频率高于 40hz,则置内部标志位 high 为 1,在 第 13 个时钟周期将计数值送到显示输出 display。

53、如果被测信号频率低于 40hz, 则置 内部标志位 high 为 0,在以后的时钟周期里,中央控制模块进入等待周期,等待低频 计数器完成计数。低频计数器完成计数后,将 busy 置 0,使中央控制模块脱离等待状 大学本科生毕业设计 第 18 页 课件之家精心整理资料-欢迎你的欣赏 态,进入第 12 个时钟周期,产生置位信号 set,使数据处理模块对低频计数模块产生 的计数值求倒数并转换成 bcd 码。在第 13 个时钟周期结果输出到 display。最后,在 第 14 个时钟周期,清零信号 clr 置 1,使所有电路清零并复位,从而完成一个测量周 期,并开始下一个测量周期。 3.3数字频率计系

54、统模块的 vhdl 语言实现 数字频率计系统总共划分为五个模块:中央控制模块、基准时间产生模块、 高频计数模块、低频计数模块、数据处理模块。下面依次介绍各模块输入输出信号的 作用及 vhdl 语言的实现。 3.3.1中央控制模块(center) 中央控制模块是整个数字频率计系统的控制部分,它控制着其他四个模块的工作。 图 3.6 是中央控制模块的模块图。 图 3.6 中央控制器模块的模块图 中央控制模块的输入信号有: clk10 为内部控制逻辑的时钟信号。它是由基准时间产生模块分频后产生的。 digitalhf31:0为高频段频率测频结果(用十进制 bcd 码表示) 。它来自于高频 计数模块。

55、在第 11 个时钟周期上升沿来时,通过判断该值与 40hz 的大小,给内部标 志位 high 置 1 或 0。若被测信号频率高于 40hz,则 high=1, 若被测信号频率低于 40hz, 则 high=0。根据 high 的值可以判断被测信号是在高频段还是中频段,就可以判断出低 频计数模块的标志信号 fr_high=1 时小数点的位置。 digitallf11:0 为低频段频率测频结果(此时为周期的倒数) 。它来自数据处理 模块,此结果为 3 位有效数字。 大学本科生毕业设计 第 19 页 课件之家精心整理资料-欢迎你的欣赏 busy 为低频计数模块工作标志信号。它来自低频计数器模块,当低

56、频计数器完 成计数后,将 busy 置 0,中央控制模块接受到此信号后,使 center 进入脱离等待状态。 fr_high,fr_low 和 fr_vlow 通过这三个标志位的值可以判断被测频率小数点的位 置。它们是从低频计数器获得的。 输出信号有: display31:0为数字频率计系统测得的被测信号的频率值。它通过外接数码管显 示出来。当被测频率为高频段时(量程的的划分在前面已经介绍) ,输出为 8 位整数; 当被测频率为中频段、低频段、超低频段时,输出为 3 位浮点小数。 dp2:0用于确定被测频率信号小数点的位置。它由 fr_high,fr_low 和 fr_vlow 的 值确定(d

57、p=fr_high use ieee.std_logic_1164.all; /使该库中的资源在实体描述中可以使用 use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity counter10 is /十进制计数器 counter10 port( clk,enable,clr:in std_logic;/分别为计数时钟/使能/清零信号 大学本科生毕业设计 第 20 页 课件之家精心整理资料-欢迎你的欣赏 cy:out std_logic; /计数进位 q:out std_logic_vector(3 downto

58、 0) ); /四位计数结果输出 end counter10; architecture counter_arch of counter10 is begin process(clk,clr,enable) variable tmp:integer; /内部变量定义 begin if(clr=1) then tmp:=0; /清零 elsif(enable= 1) then if(clkevent and clk=1) then /开始计数 if(tmp=9) then /进位 tmp:=0; cy=1; else tmp:=tmp+1; cy=1; end if; end if; end i

59、f; end process; q=conv_std_logic_vector(tmp,4) ; /将整形转化为四位二进制数 end counter_arch; 3.3.2基准时间产生模块(clockgen) 基准时间产生模块主要用来产生频率测量和内部控制逻辑所需的时钟信号。图 3.7 是基准时间产生模块的模块图。 大学本科生毕业设计 第 21 页 课件之家精心整理资料-欢迎你的欣赏 图 3.7 基准时间产生模块的模块图 基准时间产生模块的输入信号有: clock 是标准的时钟信号。由 eda 实验箱上的标准频率提供,标准的时钟信号 分频后产生三个不同频率的信号:1000hz 信号 clk1k

60、,100hz 信号 clk100 和 10hz 信号 clk10。同时标准的时钟信号还用作数据处理模块的触发脉冲信号,上升沿时有效。 输出信号有: clk1k,clk100,clk10 是由标准的时基信号分频得到的。这三个信号可用作测量 低频计数模块三个计数器的时钟信号,同时 clk10 还可作为中央控制模块的内部逻辑时 钟信号。 该模块的 vhdl 逻辑描述如下: begin process(clkhf) begin if(clkhfevent and clkhf=1) then / 对标准的时钟信号分频,有效电平为高 电平 if(t1=“1111100111”) then / 计到 100

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论