版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于fpga数字频率计的设计和实现摘 要近些年来,随着微电子技术的发展,可编程逻辑器件在集成度、速度等性能方面也获得了空前的发展,数字频率计是数字信号处理中的重要内容之一,本文主要研究了如何使用fpga设计和实现数字频率计,详细论述了利用vhdl 硬件描述语言设计,并在eda(电子设计自动化) 工具的帮助下,用大规模可编程逻辑器件(fpga/ cpld) 实现数字频率计的设计原理及相关程序。特点是:无论底层还是顶层文件均用vhdl 语言编写,避免了用电路图形式设计时所引起的毛刺现象;改变了以往数字电路小规模多器件组合的设计方法,整个频率计设计在一块fpga/ cpld 芯片上,与用其他方法做
2、成的频率计相比,体积更小,性能更可靠。关键字:数字频率计;电子设计自动化;大规模可编程逻辑器abstract with the development of the microelectronic technology, much improvement has been achieved in the pld techniques. digital cymometer is one of the important contents of digital signal process. this paper has studied how to design and realize digi
3、tal cymometer with fpga , discusses digital cymometer design principles and procedures by using vhdl hardware descriptive programming ,eda tools and on the basis of grand scale programmable logic device fpga/ cpld. the main point of this article is that bothbottoms and tops documents are written by
4、vhdl programming , which avoids“rough phenomenon”, a phenomenon caused by using electric circuit picture style design. this software procedure is different from traditional digital circuit design at small scale and composed of many devices. instead , the whole cymometer is designed on a fpga/ cpld a
5、nd is composed of a decimal system cymometer. compared with other cymometer , it is small in volume and has reliable functions.key words: digital cymometer ; eda; fpga/ cpld目录摘 要- 1 -abstract- 2 -目录- 3 -第1章 绪 论- 4 -1.1 引言- 4 -1.2 数字频率计的工作原理- 5 -1.3 fpga实现频率计的优点- 6 -1.4 本文研究内容- 6 -第2章 max+plus ii软件介绍
6、- 8 -2.1 max+plus ii简介- 8 -2.2 ax+plus ii的主要特点- 8 -2.3 设计流程- 9 -第3章 数字频率计的fpga设计- 11 -3.1 fpga的结构与编程原理- 11 -3.1.1 xilinx fpga的结构与编程原理- 11 -3.1.2 xilinx fpga设计流程及本文的设计方式选择- 13 -3.1.3 fpga设计原则- 14 -3.2数字频率计的设计- 15 -3.2.1 数字频率计的测量方案选取- 15 -3.2.2 测量方案确定- 16 -第4章 简易数字频率计的设计- 18 -4.1 数字频率计的软件实现- 18 -4.1.1
7、 频率计的整体实现结构- 18 -4.1.2 频率计的具体设计- 19 -4.2 数字频率计的硬件实现- 23 -4.2.1 硬件开发系统简介- 23 -4.2.2 芯片介绍- 23 -4.2.3 具体实现- 24 -第5章 数字频率计功能的扩展- 25 -5.1 框图及信号流程- 25 -5.2 比较限幅整形电路- 25 -5.3 功能选择电路- 26 -5.4 闸门电路- 27 -5.5 时基发生器与控制电路- 27 -5.6 计数与译码电路- 28 -第6章 结束语- 30 -6.1体会- 30 -6.2 感谢- 30 -参 考 文 献- 31 -附图一 可编程控制芯片时序仿真图- 32
8、 -附录- 33 -第1章 绪 论1.1 引言fpga/ cpld 是一种新兴的高密度大规模可编程逻辑器件,它具有门阵列的高密度和pld 器件的灵活性和易用性,目前已成为一类主要的可编程器件。可编程器件的最大特点是可通过软件编程对其器件的结构和工作方式进行重构,能随时进行设计调整而满足产品升级。使得硬件的设计可以如软件设计一样方便快捷,从而改变了传统数字系统及用单片机构成的数字系统的设计方法、设计过程及设计观念,使电子设计的技术操作和系统构成在整体上发生了质的飞跃。采用fpga/ cpld 可编程器件,可利用计算机软件的方式对目标器件进行设计,而以硬件的形式实现。既定的系统功能,在设计过程中,
9、可根据需要随时改变器件的内部逻辑功能和管脚的信号方式,借助于大规模集成的fpga/ cpld和高效的设计软件,用户不仅可通过直接对芯片结构的设计实行多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量及难度,同时,这种基于可编程芯片的设计大大减少了系统芯片的数量,缩小了系统的体积,提高了系统的可靠性。eda(电子设计自动化) 技术就是以计算机为工具,在eda 软件平台上,对以硬件描述语言hdl 为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合及优化、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作(本文选用的开发工具为
10、altera 公司的max + plus ) 。eda 的仿真测试技术只需要通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,大大提高了大规模系统电子设计的自动化程度。设计者的工作仅限于利用软件方式,即利用硬件描述语言(如vhdl)来完成对系统硬件功能的描述,在eda 工具的帮助下就可以得到最后的设计结果,这使得对整个硬件系统的设计和修改过程如同完成软件设计一样方便、高效。基于eda 技术的设计方法为“自顶向下”设计,其步骤是采用可完全独立于目标器件芯片物理结构的硬件描述语言,在系统的基本功能或行为级上对设计的产品进行行为描述和定义,结合多层次的仿真技
11、术,在确保设计的可行性与正确性的前提下,完成功能确认。然后利用eda 工具的逻辑综合功能,把功能描述转换为某一具体目标芯片的网表文件,经编程器下载到可编程目标芯片中(如fpga 芯片) ,使该芯片能够实现设计要求的功能。这样,一块芯片就是一个数字电路系统。使电路系统体积大大减小,可靠性得到提高。1.2 数字频率计的工作原理频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则没测一次频率的间隔就越长。闸门时间越短,测的频
12、率值刷新就越快,但测得的频率精度就受影响。本文。数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。因此,数字频率计是一种应用很广泛的仪器 电子系统非常广泛的应用领域内,到处可见到处理离散信息的数字电路。数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功能,从而提高系统可靠性和速度。 集成电路的类型很多,从大的方面可以分为模拟电路和数字集成电路2大类。数字集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中。一般说来,数字系统中运
13、行的电信号,其大小往往并不改变,但在实践分布上却有着严格的要求,这是数字电路的一个特点。数字集成电路作为电子技术最重要的基础产品之一,已广泛地深入到各个应用领域 vhdl(very high speed integrated circuit hardware description language,超高速集成电路硬件描述语言)诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为ieee(the institute of electrical and electronics engineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,vhdl具有多层次描
14、述系统硬件功能的能力,支持自顶向下(top to down)和基于库(librarybased)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用vhdl对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的cpld器件中去,从而实现可编程的专用集成电路的设计。 数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件的广泛应用,以eda工具作为开发手段,运用v
15、hdl语言。将使整个系统大大简化。提高整体的性能和可靠性。 1.3 fpga实现频率计的优点数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。采用vdhl编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片fpga芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。 1.4 本文研究内容在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量
16、就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。直接测频法适用于高频信号的频率测量,间接测频法适用于低频信号的频率测量。本文主要研究了如何使用fpga设计和实现数字频率计,详细论述了利用vhdl 硬件描述语言设计,并在eda(电子设计自动化) 工具的帮助下,用大规模可编程逻辑器件(fpga/ cpld) 实现数字频率计的设计原理及相关程序。特点是:无论底层还是顶层文件均用vhdl
17、 语言编写,避免了用电路图形式设计时所引起的毛刺现象;改变了以往数字电路小规模多器件组合的设计方法,整个频率计设计在一块fpga/ cpld 芯片上,与用其他方法做成的频率计相比,体积更小,性能更可靠。第2章 max+plus ii软件介绍2.1 max+plus ii简介max+plus是美国altera公司的一种eda软件,用于开发cpld和fpga,进行数字系统的设计。它可运行在unix、windowsnt、windows95/98、windows2000、windows xp等几乎所有目前流行的操作系统下,是一个用于可编程逻辑器件(cpld)的集成化软件包,包括classic、max3
18、000a 、max5000 、max7000、 max9000、flex6000、flex8000以及flex10k系统器件。该软件由11个应用程序构成:5个编辑器-图形编辑器、符号编辑器、文本编辑器、波形编辑器和平面布置编辑器,通过这5个编辑器可进入设计程序;1个编译器,能对项目进行逻辑综合并能得到最优的资源配置;1个定时分析器,能对已编译项目的有关变量进行精确的时序分析;1个仿真器,可对已编译的系统进行仿真,进行精确的综合逻辑功能检查;1个编程器,能对编译器产生的编程文件进行编程;1个信息处理器,能够与max+plus ii所有应用程序进行信息交换,记录错误并发出警告内容;1个项目分组系统
19、显示程序。2.2 ax+plus ii的主要特点(1) 与结构无关。max+plus ii编译器(compiler)是系统的核心 ,它支持altera的所有pld系列,为设计者提供了一个真正与结构无关的可编程逻辑设计环境。该编译器还强有力地支持逻辑综合和逻辑简化,使设计者可以比较容易地将其设计集成到器件中。(2) 全集成化。max+plus ii的设计输入、编译处理、功能校验全部集成在统一的开发环境下,可以加快动态调试,缩短开发周期。(3) 兼容性强。max+plus ii与其他工业标准(如xilinx的网表文件、verilog hdl网表文件、标准延迟格式(sdf,standard dela
20、y format)文件、标准edif网表文件、vhdl文件以及cad原理图绘制文件)的设计输入、逻辑综合和校验工具结合密切。设计者可以用altera或标准的eda设计输入工具生成一个逻辑设计,再用max+plus ii compiler将设计编译到altera器件中。(4) 硬件描述语句。max+plus ii支持各种hdl设计输入形式,包括vhdl、verilog hdl和altera公司的硬件描述语言ahdl。2.3 设计流程使用max+plus ii软件开发工具进行设计的整个过程如图1所示,大体上可分为四个阶段:设计输入、设计实现、设计验证和器件编程。具体如下。(1) 设计输入。max+
21、plus ii支持多种设计输入方式,如原理图输入、文本输入、波形输入以及它们的混合输入,此外还支持标准的eda格式文件输入等。(2) 设计处理。这是电路设计中的核心环节。在设计处理过程中,max+plus ii的comliler(编译器)将对设计输入文件进行逻辑化简、综合、优化和适配,最后生成编程用的编程文件。(3) 设计校验。max+plus ii为设计者提供了省时、省力的项目验证方法:设计仿真和定时分析。其目的是检验电路的逻辑功能是否正确,同时测试目标器件在最差情况下的时间关系。这个过程对于检验组合逻辑电路的竞争冒险现象以及检查时序逻辑电路的时序、延时等指标非常重要。(4) 器件编程。当电
22、路设计、校验完成后,max+plus ii的programmer(编程器)将编译器所生成的编程文件下载到具体的可编程器件中,即实现目标器件的物理编程。对于在系统的可编程器件而言,只需1根编程电缆就可完成下载任务。第3章 数字频率计的fpga设计3.1 fpga的结构与编程原理3.1.1 xilinx fpga的结构与编程原理现场可编程门阵列(fpga)器件是xilinx公司1985年首家推出的,它是一种新型的高密度pld(programmable logic device,可编程逻辑器件)。 fpga内部由许多独立的可编程逻辑模块(configurable logic block, clb)组
23、成,逻辑块之间可以灵活地相互连接。fpga的结构一般分为三部分:可编程逻辑块、可编程i/o模块和可编程内部连线。结构示意图3.1.1如下:(1) clb模块clb是fpga的主要组成部分,是实现逻辑功能的基本单元,clb主要是由逻辑函数发生器、触发器、数据选择器等电路组成。clb的功能很强,不仅能够实现逻辑函数,还可以配置成ram等复杂的形式,配置数据存放在片内的sram或熔丝图上,基于sram的fpga器件工作前需要从芯片外部加载配置数据。配置数据可以存储在片外的eprom或计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即现场可编程。(2) i/o模块iob(inpunt/o
24、utput block) iob提供了器件引脚和内部逻辑阵列之间的连接,通常排列在芯片的四周。主要是由触发器、输入缓冲器、输出触发器和输出缓冲器组成,每个iob控制一个引脚,可被配置为输入、输出或双向i/o功能。(3)可编程互连资源可编程互连资源包括各种长度的金属连线线段和一些可编程开关,它们将各个clb之间和clb与iob之间互相连接起来,构成各种复杂功能的系统。fpga的发展非常迅速,形成了各种不同的结构。按逻辑功能块的大小分类,fpga可分为细粒度fpga和粗粒度fpga。细粒度fpga的逻辑功能块较小,资源可以充分利用,但连线和开关多,速度慢;粗粒度fpga的逻辑功能块规模大,功能强,
25、但资源不能充分利用。从逻辑功能块的结构上分类,可分为查表结构、多路开关结构和多级与非门结构。根据fpga内部连线的结构不同,可分为分段互连型fpga和连续互连型fpga两类。分段互连型fpga中具有各种不同长度的金属线,各金属线段之间通过开关矩阵或反熔丝编程连接,走线灵活方便,但是无法预测走线延时;连续互连型fpga是利用相同长度的金属线,连接与距离远近无关,布线延时是固定的和可预测的。xilinx公司提供的产品有xc4000 xc5200, xc9500,xc9500xl, spartan, virtex系列。fpga是由存放在片内ram中的程序来设置其工作状态的,因此,工作时需要对片内的r
26、am进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,fpga芯片将eprom中数据读入片内编程ram中,配置完成后,fpga进入工作状态。掉电后,fpga恢复成白片,内部逻辑关系消失,因此,fpga能够反复使用。fpga的编程无须专用的fpga编程器,只须用通用的eprom. prom编程器即可。当需要修改fpga功能时,只需换一片eprom即可。这样,同一片fpga,不同的编程数据,可以产生不同的电路功能。因此,fpga的使用非常灵活。fpga有多种配置模式:并行主模式为一片fpga加一片eprom的方式;主从模式可以支持一片prom编程多片fpga;串行模式可以采用串行p
27、rom编程fpga;外设模式可以将fpga作为微处理器的外设,由微处理器对其编程。3.1.2 xilinx fpga设计流程及本文的设计方式选择xilinx 作为当今世界上最大的fpga/cpld生产商之一,提供了多种支持xilinx fpga/cpld结构的开发系统开发产品,其中包括具有当代水平的设计软件,与流行原理图编辑器和时序仿真器配合的库和接口软件,以及基于行为级的设计输入工具等等。其开发软件不断升级,由早期的foundation系列逐步发展到现在的ise 6.x系列。ise是集成综合环境的简称,本文设计选用的是ise6.5。完整的xilinx fpga设计流程包括电路设计与输入、功能
28、仿真、综合、综合后仿真、实现、布线后仿真和下板调试等主要步骤。电路设计与输入(design entry)电路设计与输入是根据工程师的设计方法将所设计的功能描述给eda软件。通常采用硬件描述语言(hdl)和原理图设计输入方法。但原理图设计输入法在大型的设计中维护性差,而且所选用的芯片升级换代后,所有的原理图都要作相应的改动。hdl设计输入法中使用最为广泛的语言是vhdl、verilog hdl,它们共同特点是利于由顶向下设计,利于模块的划分和复用,可移植性好,通用性好。波形输入法和状态机输入法是两种常用的辅助设计输入方法,可以在某些特殊情况下缓解设计者的工作量。本文设计选用的是vhdl语言的设计
29、。功能仿真(behavioral simulation)通过功能仿真可以验证电路功能是否符合设计要求,及时发现设计中的错误,加快设计进度,提高设计的可靠性。常用仿真工具有:modeltech公司的modelsim, synopsys公司的vcs, canence公司的nc-verilog和nc-vhdl等。本文设计选用的是modelsim se v5.7e。综合(synthesize)综合指将hdl语言,原理图等设计输入翻译成由与门,或门,非门,ram寄存器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求优化所生成的逻辑连接,输出edf和edn等格式的文件,供fpga厂家的布局布线器进行
30、实现。常用fpga综合工具有:synplicity公司的synplify/synplify pro, synopsys公司的fpga compiler ii,xilinx集成开发环境自带的xst(xilinx synthesis technology)等。由于xilinx对自己的fpga/cpld内部结构最为了解,所以本文设计选用的是xst。综合后仿真(post-synthesize simulation)综合后仿真用于检查综合结果是否与原设计一致。综合后仿真把综合生成的延时文件反标到综合仿真模型中,可估计门延时带来的影响,但是不能估计连线延时,仿真结果与布线后实际情况还有差距。实现(impl
31、ementation) 使用fpga厂商提供的工具软件,根据所选芯片型号,将综合输出的逻辑网表示配置到具体的fpga器件上。对于xilinx fpga,实现过程分为:翻译(translate),映射(map)和布局布线(place and route)三个步骤。因为只有器件开发商最了解器件的内部结构,所以实现步骤必须选用器件开发商提供的软件工具。 布线后仿真(post-place & route simulation) 布线后仿真即时序仿真,是将布局布线的延时文件反标到设计中,使仿真既包含门延时,又包括连线延时,全面准确的反映芯片的实际工作情况。 下板调试(download) 设计的最后步骤是
32、将生成的配置文件写入芯片中进行测试。ise中包含下载工具impact,它具有生成prom格式的下载文件、向fpga/cpld/prom下载配置文件、验证配置数据是否正确等功能。本文运用的配置模式为jtag模式(边界扫描模式),通过tdi(数据输入)、tdo(数据输出)、tms(测试模式)、tck(测试时钟)等四根信号线实现fpga的下载与配置。这种模式下,每个tck传送1bit配置文件。3.1.3 fpga设计原则fpga设计的一个重要指导原则:面积和速度的平衡与互换。这里“面积”指一个设计消耗fpga/cpld的逻辑资源的数量,对于fpga可以用所消耗的触发器(ff)和查找表(lut)来衡量
33、,更一般的衡量方式可以用设计所占用的等价逻辑门数来衡量。“速度”指设计在芯片上稳定运行所能够达到的最高频率,这个频率由设计的时序状况决定,和设计满足的时钟周期,pad to pad time, clock setup time, clock hold time, clock-to-output delay等众多时序特征量密切相关。面积(area)和速度(speed)这两个指标贯穿着fpga设计的始终,是设计质量评价的终极标准。关于面积和速度的两个最基本的概念:面积与速度的平衡和面积与速度的互换。科学的设计目标应该是在满足设计时序要求(包含对设计频率的要求)的前提下,占用最小的芯片面积。或者在所
34、规定的面积下,使设计的时序余量更大,频率跑得更高。面积和速度的地位是不一样的。相比之下,满足时序、工作频率的要求更重要一些,当两者冲突时,采用速度优先的准则。面积和速度的互换是fpga设计的一个重要思想。3.2数字频率计的设计3.2.1 数字频率计的测量方案选取测量部分方案比较:在频率测量方法中,常用的有直接测频法、倍频法和等精度测频法。这三种方案各有利弊,其中直接测频法是依据频率的含义把被测频率信号加到闸门的输入端,只有在闸门开通时间t (以1 s计)内,被测(计数)的脉冲送到十进制计数器进行计数。设计数器的计数值为n,则可得到被测信号频率为f =n。但是由于闸门的开通、关闭的时间与被测频率
35、信号的跳变难以同步,因此采用此测量方法在低频段的相对测量误差可能达到50% ,即在低频段不能满足设计要求。但根据三个方案的分析,直接测频法比其他两个方案更加简单方便可行,直接测频法虽然在低频段测量时误差较大,但在低频段我们可以采用直接测周法测量,这样就可以提高测量精度了。直接周期测量法是用被测周期信号直接控制计数门控电路,使主门开放时间等于tx , 时标为ts 的脉冲在主门开放时间进入计数器。设在tx 期间计数值为n,可以根据tx =n ts 来算得被测信号周期。与直接测频法相似,经误差分析,用该测量法测量时,被测信号的周期越短,测量误差越大。也就是说,直接周期测量法在高频段时误差较大,但同样
36、可以在高频段采用直接测频法来提高测量精度。占空比测量是分别测被测信号的上升沿脉宽tw和周期t, 并分别将两数值直接显示出来, 以示占空比:q = tw t ( 1)脉冲宽度测量时,测量电路在检测到脉冲信号的上升沿时打开计数器, 在下降沿时关闭计数器。设脉冲宽度为twx , 计数时钟周期为ts = 1 / fs , 计数结果为n,则根据twx = n / fs = n ts 就可得出测量结果。这种脉宽测量方法与周期测量方法基本相同。根据测频、测周误差分析,在不同的测量档位,选择合理的时基信号频率,可以降低测量误差,在此给出数字频率计的量程档位与时基信号分配,如表1所示。将数字频率计分成6 个量程
37、档位,在1mhz、100khz、10 khz量程档位完成频率测量; 在1 ms、10 ms、100 ms量程档完成周期测量。3.2.2 测量方案确定综合上述分析,方案三为本设计测量部分最佳选择方案。方案一: 采用小规模数字集成电路制作 被测信号经过放大整形变换为脉冲信号后加到主控门的输入端,时基信号经控制电路产生闸门信号送至主控门,只有在闸门信号采样期间内输入信号才通过主控门,若时基信号周期为t,进入计数器的输入脉冲数为n,则被信号的测频率其频率f=n/t。方案一测频原理图如下图3.1.2:图3.1.2方案二:采用单片机进行测频控制 单片机技术比较成熟,功能也比较强大,被测信号经放大整形后送入
38、测频电路,由单片机对测频电路的输出信号进行处理,得出相应的数据送至显示器显示。方案二测频原理图如下图3.1.3:图3.1.3该方案优点是依赖成熟的单片机技术、运算功能较强、软件编程灵活、自由度大、设计成本也较低,缺点是显而易见的,在传统的单片机设计系统中必须使用许多分立元件组成单片机的外围电路,整个系统显得十分复杂,并且单片机的频率不能做得很高,使得测量精度大大降低。方案三:采用现场可编程门阵列(fpga)为控制核心 采用 fpga为控制核心,利用vhdl语言编程,下载烧制实现。将所有器件集成在一块芯片上,体积大大减小的同时还提高了稳定性,可实现大规模和超大规模的集成电路,测频测量精度高,测量
39、频率范围大,而且编程灵活、调试方便。第4章 简易数字频率计的设计4.1 数字频率计的软件实现4.1.1 频率计的整体实现结构设计一个6 位十进制数字频率计,需要由四种器件来组成,即:测频控制信号发生器(testctl) 、有时钟使能的十进制计数器(cnt10) 、24 位锁存器(reg32b) 、7 段显示译码器(ledl7s) 。因为是6 位十进制数字频率计,所以计数器cnt10需用6 个,7 段显示译码器led7 也需用6 个。图4.1.1 电路设计原理框图4.1.2 频率计的具体设计vhdl (vhsic hardware description language)即超高速集成电路硬件描
40、述语言。若按传统的设计方法,完成这个频率计需用上述的四种器件共计十几块芯片构成,不仅体积大,而且因外接引脚多,影响可靠性。而采用eda 技术,整个设计分仅两步:第一步,在max + plus 开发工具中,先用vhdl 语言分别编写出以上四种器件的文本文件(称为底层文件) ,并将它们分别转换成相应的器件,然后分别进行时序仿真,使每个器件的时序仿真结果与设计要求一致;第二步,将这四种器件共十几块芯片按电路设计图连接起来,形成顶层文件后进行整个系统的综合,并将整个频率计作为一个器件进行时序仿真。下面分步给出设计过程。(1)测频控制信号发生器频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。为此,测
41、频控制信号发生器testctl 应设置一个控制信号时钟clk,一个计数使能信号输出端testen、一个与testen 输出信号反向的锁存输出信号load、和清零输出信号clrj_cnt。如clk的输入频率为1hz ,则输出信号端testen 输出一个脉宽恰好为1 秒的周期信号,可以作为闸门信号用。由它对频率计的每一个计数器的使能端进行同步控制。当jsen 高电平时允许计数,低电平时停止计数,并保持所计的数。在停止计数期间,锁存信号load 的上跳沿将计数器在前1 秒钟的计数值锁存进24 位锁存scq32b ,由7 段译码器译出并稳定显示。设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零
42、信号而不断闪烁。锁存信号之后,清零信号clr- cnt 对计数器进行清零。为下1 秒钟的计数操作作准备。测频控制信号发生器的工作时序如图1 示。用vhdl语言编写程序,进行编译仿真,得出的仿真波形如图4.1.2。图4.1.2和预期仿真结果相同。所以测频部分编写成功。(2)带时钟使能十进制计数器cnt10,仿真波形见图4.1.3。图4.1.3(3)数字显示译码电路设计,数字显示译码选用cpld内部元件库中的74248,原码输出的数字显示译码器,原理图如图4.1.4所示。图4.1.4(4)24 位锁存器reg32b,程序如下。功能要求为:当锁存信号load = 1 时,电路输出等于输入信号,当lo
43、ad = 0 时,输出保持不变实现锁存,该电路选择vhdl硬件描述语言设计逻辑功能简单。仿真波形如图4.1.5:library ieee; use ieee.std_logic_1164.all;entity reg32b is port(load:in std_logic; din:in std_logic_vector(23 downto 0); dout:out std_logic_vector(23 downto 0);end reg32b;architecture art of reg32b is beginprocess ( load,din )beginif load event
44、 and load= 1 then dout=din; end if;end process;end art;图4.1.5(5) 顶层文件的编写在以上四个器件正确设计的基础上,再按设计原理图的要求将这四种器件共十几块芯片连接起来,形成顶层文件。常用的方法是将顶层文件编成电路图的形式,进行综合仿真。这种方法虽然较简单,但缺点是有可能使电路系统工作中出现“毛刺”,从而降低系统的可靠性。因此,在我们的设计中最突出的地方是不用电路图的形式编写顶层文件,而是用文本形式来编写,即用vhdl 语言来描述十几块芯片的连接,避免了系统在工作中出现“毛刺”现象,使系统的稳定度和可靠性均得到提高。顶层设计框图4.1
45、.6:图4.1.64.2 数字频率计的硬件实现4.2.1 硬件开发系统简介将设计项目下载至芯片epm7128sl84215,完成数字电路功能,还要进行项目处理,包括器件选择、引脚锁定、编程下载等工作。4.2.2 芯片介绍可编程控制芯片选用epm 7128sl 84215, 其逻辑功能的实现是通过使用max+plus ii, 用vhdl 语言编程, 经综合、下载得到的, 其时序仿真见图2. 在主控板上与可编程控制芯片相关的部分有: 小键盘、显示电路、信号源电路和时钟电路. 其中可编程控制芯片cpld 完成的键盘扫描码的识别; 为数码管和1616 l ed 点阵提供动态扫描列信号; 与两片555
46、配合工作, 提供了两路十六进制数的信号和一路单脉冲信号源; 对64mhz 晶振时钟信号进行2、4、8、16 分频, 然后进行四选一, 最后把选出的时钟信号送两片cc4060b 分频, 得到1hz 64mhz 的各档时钟信号.各部分的具体电路连接说明如下: 1) 小键盘按键信号从epm 7128sl 84215 的第33、34、36、37 脚输入, 由epm 71285l 84215 的键盘扫描码的识别逻辑部分完成键盘扫描码的识别, 识别结果由8、10、11、12 脚输出; 2) 数码管的动态扫描列信号是epm 7128sl 84215 的第64、65、67、68、69、70、74、75 引脚通
47、过74l s244 提供的, 1616l ed 点阵动态扫描列信号是epm 7118l s84215 的第39、40、41、44、45、46、48、49、50、51、52、54、55、56、57、58 引脚通过两片74l s244 提供的; 3) 两路十六进制数的信号源和一路单脉冲信号源是epm 7128l s84215 的9、17、18、20、21 脚与两片555 及其外围电路配合工作所提供的; 4) 时钟信号是通过epm 7128l s84215 的第2 脚连接64mhz 的晶振作为epm 712884215的内部分频电路的输入信号, 分频电路通过四选一后的输出信号通过epm 7128l
48、s84215 的第一脚连接第一级cc4060b 的ck i 引脚口, 然后把第一级的cc4060b 的qj 引脚连接到第二级cc4060b 的ck i 引脚, 进行两级分频得到1hz 64mhz 的各档时钟信号.4.2.3 具体实现将程序通过lattice ispexpert软件,下载入实验箱中的epm 7128sl 84215芯片上。然后接入信号发生器,调出不同的频率,看实验箱上7段数码管是否和信号发生器上的显示的频率数值吻合。结果显示吻合,稍有误差,数字频率计实现成功。第5章 数字频率计功能的扩展5.1 框图及信号流程图5.1.1多功能数字频率计的电路框图如图5.1.1所示,一般信号经a端
49、输入,当测两个信号的时间间隔时,另一信号由b端同时输入。被测信号经a端输入比较限幅整形电路,变成一系列脉冲信号,经功能选择电路,例如功能选择信号频率,则闸门开闭由控制电路控制的时基脉冲来完成,在闸门开放的时间内,如时基脉冲为1s,则被测脉冲通过闸门的脉冲个数,进入计数电路计数,再由显示电路显示出脉冲的数目,这样得出1s内脉冲个数即为被测信号频率。当然测时间时由信号控制闸门的开闭,而通过多少个时基脉冲即为多少时间并显示出来。5.2 比较限幅整形电路在多功能数字频率计的设计中,设计了两个信号输入电路a和b,其目的就是为了测量两个同频率的相关信号的时间(相位)差而用。a输入电路为主信号输入通道。若要
50、测量信号的频率、周期、脉冲宽度记技术等电参数时,被测信号均由a输入端输入;若测量两个相关信号的时间间隔(相位差)时,同时启用b接口输入。a接口输入信号u1(t),b接口输入另外一个相关信号u2(t),当两信号进入了各自的比较限幅整形电路,此时功能选择开关被置于测量时间间隔档,比较整形电路中的电阻r接地,构成了鉴零电路。在整形电路的输出端,获得了一系列反映两个信号在时间坐标上相对位置的脉冲(见图5.1.2)档;当输入信号电压大于5v小于50v时,选择50v档。图5.1.2 两信号输出脉冲由于比较整形电路里设有电平匹配电位器r15,可以调节比较电平以对输入信号进行比较整形,并用一红色led发光二极
51、管显示电平匹配的情况,利用电位器可以调到比较良好的电平匹配状态,保证工作的稳定。电路由比较器、单稳态电路及触发器组成,其输出脉冲信号进入下一级功能选择电路和闸门电路。5.3 功能选择电路功能选择电路由门电路、触发器和多路转换开关组成,利用功能转换开关可以选择测量的状态。本设计具备7种功能可供选择,它们是:频率测量、周期测量、正脉冲宽度测量、负脉冲宽度测量、ab两信号的时间间隔测量、脉冲计数和输出标准频率。5.4 闸门电路闸门电路由门电路、触发器和单稳态电路组成。触发器由74ls74肖特基ttl电路组成的双d触发器,它是高速型触发器,每个触发器均有一个单独的清零和置“1”输入端。在数据输入端d的
52、信息只在时钟脉冲的正沿上被传递到q输出端。时钟触发是通过时钟脉冲的电压电平来实现的,与正脉冲的跃变时间无直接关系。闸门电路由时基控制电路和功能选择电路产生的信号来启动或关闭,即由时基信号与输入信号脉冲来开启或关闭闸门电路。在闸门电路里设有闸门时间选择开关,可选择闸门开启时间,设计为1、10、100a三档。该三种时基信号来自时基发生器(分频器输出)。5.5 时基发生器与控制电路时基发生器和时基控制电路,产生时基信号及闸门开启和关闭的时间信号,显示时间长短的控制信号等。时基信号发生器是数字频率计的关键部件,基准信号的准确稳定与否是决定测量准确度的关键问题。因此采用10mhz晶体振荡器,确保时基稳定
53、。(见图5.1.4)图5.1.4 时基发生器电路10mhz晶体振荡器输出频率十分稳定的脉冲,经多级分频电路获得不同的时基信号。5.6 计数与译码电路输入脉冲信号经过闸门后,进入计数译码电路,计数器对脉冲个数进行计数(用电平的高低 表示),通过译码电路驱动显示电路,显示具体结果(脉冲个数)。计数器采用74ls90肖特基ttl电路,这种单片机计数器包含四个主从触发器和附加选通电路,第一个触发器作除二计数器,其余三个触发器组成除5计数器,从而组成十进计数器。进行除10计数时,把qd输出点接到a输入端,当把输入计数脉冲加到b输入端时,在输出端qa上就出现了除10的方波,其功能表如表1所示。计数电路由7
54、位计数器组成,计数容量为9999999个脉冲数。计数器电路的输出电平,直接输入到译码驱动电路中。译码驱动电路由对应的7个相同的74ls47 bcd-7段译码器驱动器电路组成。译码驱动器电路由“与非”门、输入缓冲器和7个“与-或非”门电路组成。当输出处于有效的低电平时,高的灌入电流的输出可直接驱动显示器。该电路接受二-十进制编码(bcd)输入并借助于辅助输入端状态,将输入数据(由计数器输出的高、低电平)译码后输出,驱动一个7段显示器。7段译码驱动器的输出、输入功能见表2.当输出b,c为开(1),其余为关时(0),led的b,c发光,其余为暗,显示1。又如b,c,f,g为开,其余为关时,显示4。以
55、此类推,得出1至0的数。对应于7个计数器,译码驱动器也有7个。7段显示器第6章 结束语6.1体会历时三个多月的毕业设计已接近尾声了,几个月以来,我经历了一个运用vhdl编程软件实现数字频率计设计的学习的全过程,这是一个从学习再到掌握最后熟练运用的过程。通过这次毕业设计,在老师的指导下,我熟练使用vhdl编程语言、 max+plus ii仿真工具。在进行源程序的编写时遇到了一些困难,终于成功地解决了此问题。通过此次毕业设计,不但对于相关知识有了自己的理解,而且在分析问题,解决问题的能力,自学的能力上更是有了很大程度的提高。这将在今后的学习生活中起到巨大意义。当然由于时间仓促,能力有限源程序还有不
56、完善的地方,恳请各位老师提出批评改进意见。总的来说,经过本次毕业设计,培养了自己的动手能力,提高了自己的自学能力和解决问题的能力,丰富了自己的专业知识和专业技能。6.2 感谢/此次毕业设计能够顺利完成,并达到任务要求,要特别感谢我的指导老师奚吉老师,他给与了我许多帮助和耐心的指导。从奚吉老师严谨的治学态度中我学到了做研究应有的认真、踏实、肯吃苦的工作作风,这对我将来的学习有着很重要的帮助。还要感谢四年里,学校里各位老师的指导与帮助,是他们让我打下了坚实的学科基础,才得以在毕业设计中充分利用平日所学的知识。最后,感谢河海大学对我的栽培,使我能够成为一名具备个方面能力的合格的大学生。参 考 文 献
57、1徐志军 许光辉. cpld/fpga的开发与使用. 北京:电子工业出版社,20022黄志伟 等. fpga系统设计与实践. 北京:电子工业出版社,20053朱明程 董尔令. 可编程逻辑器件原理与应用. 西安:西安电子科技大学出版社,20044林敏 方颖立. vhdl数字系统设计与高层次综合. 北京:电子工业出版社,20025 陈云洽,保延翔. cpld应用技术与数字系统设计m . 北京:高等教育出版社, 2003.6 鲍可进,赵念强,赵不贿. 数字逻辑电路设计m . 北京:清华大学出版社, 2003.7 廖裕评,陆瑞强. cpld 数字电路设计使用max +plusm . 北京:清华大学出版社, 2003.8 于枫,张丽英,廖宗建. altera可编程逻辑器件应用技术m . 北京:科学出版社, 2004.9王诚 等. xilinx ise5.x 使用详解. 北京:人民邮电出版社,200310
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件行业市场营销总结
- 职业高中体育老师个人教学工作年终总结合集(5篇)
- 幼儿园小班教案《感恩大树》及教学反思
- 超市零售行业会计工作总结
- 2024年版特定担保事务合作合同模板版B版
- 办公用品行业营业员工作总结
- 2024年外债借款合同展期与债务重组及还款能力评估范本3篇
- 2024年度水文地质勘察与评价服务合同3篇
- 果茶制作课程设计
- 特殊凿井课程设计
- 机架结构设计
- 护理部副主任绩效考核评分细则表
- 手卫生规范课件
- “统计与概率”在小学数学教材中的编排分析
- 臭氧发生器确认方案W
- xx中心小学综合实践基地计划模板(完整版)
- 谈心谈话记录表 (空白表)
- LY/T 1863-2009自然保护区生态旅游评价指标
- T-JSTJXH 15-2022 装配式劲性柱-钢梁框架结构设计规程
- 2023年上海市市高考物理一模试卷含解析
- 市政工程人行道维修方案
评论
0/150
提交评论