本科毕业设计基于FPGA的高精度数字频率计测频系统的设计.doc

上传人:仙人指路1688 文档编号:3945294 上传时间:2023-03-28 格式:DOC 页数:46 大小:1.30MB
返回 下载 相关 举报
本科毕业设计基于FPGA的高精度数字频率计测频系统的设计.doc_第1页
第1页 / 共46页
本科毕业设计基于FPGA的高精度数字频率计测频系统的设计.doc_第2页
第2页 / 共46页
本科毕业设计基于FPGA的高精度数字频率计测频系统的设计.doc_第3页
第3页 / 共46页
本科毕业设计基于FPGA的高精度数字频率计测频系统的设计.doc_第4页
第4页 / 共46页
本科毕业设计基于FPGA的高精度数字频率计测频系统的设计.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《本科毕业设计基于FPGA的高精度数字频率计测频系统的设计.doc》由会员分享,可在线阅读,更多相关《本科毕业设计基于FPGA的高精度数字频率计测频系统的设计.doc(46页珍藏版)》请在三一办公上搜索。

1、基于FPGA的高精度数字频率计测频系统的设计The design of frequency of high-precision digital measuring frequency system 姓 名: 学 院:信息技术学院专 业:电子信息科学与技术指导教师: 摘要: 介绍了一种利用EDA技术设计的数字频率计。目前流行的EDA 软件平台是美国A ltera 公司的M ax+Plus可编程逻辑器件开发系统。本文采用自顶向下的设计方法, 对数字频率计的核心十进制计数器和测频控制信号发生器进行设计,其特点是将数字频率计的电路集成在一块大规模可编程逻辑器件(FPGA )芯片上。该方法改变了以往数字

2、电路小规模多器件组合的设计,而且设计周期短,内部电路模块具有可移植等特点。与用其他方法做成的频率计相比,其体积更小、性能更可靠。 关键词: 数字频率计; FPGA ; EDA ; VHDL Digital Cymometer Design Based on FPGA Abstract: This paper discusses the digital cymometer design principles by using EDA technology. It is used in the paper that a kind of popular EDA software Max+Plus p

3、rogrammable logic device development system developed by American Alter Company.The writer has adopted the design idea of top graphic to design the core chip , a decimal counter and a frequency controlling signal generator .Particularly, the circuit of the digital cymometer is designed on a grand sc

4、ale programm able logic device FPGA .This software procedure is different from the traditional digital circuit design composed of many sm all scale devices. Furthermore the circuit design cycle is short and parts of the circuit are transp lantable Comparing with other cymometer,it is smaller involum

5、 e and more reliable in functions.Key words :digital cymometer ; FPGA ; EDA ; VHDL 目 录前言31 EDA概述41.1 EDA技术的特点与应用41.2 FPGA技术与VHDL语言概述51.3 EDA与传统电子设计方法的比较61.4 EDA技术的未来发展前景62 总体方案的确定82.1 设计分析82.2 设计方案挑选82.3 实现方案的确定142.4 系统结构框图153 FPGA芯片的选择及MAX+PLUS开发工具简介163.1 MAX+PLUS开发工具简介163.2 Max+plus设计过程163.2.1设计流程

6、163.2.2设计步骤173.3 FPGA芯片的选择及确定174 数字频率计的硬件设计194.1系统的开发环境与设计步骤194.2数字频率计的硬件设计194.3小结225 VHDL程序设计及仿真结果24参考文献:32致谢33附录134附录240前言 EDA技术丰富的内容以及与电子技术各学科领域的相关性,其发展的历程同大规模集成电路设计技术、计算机辅助工程、可编程逻辑器件,以及电子设计技术和工艺的发展是同步的。就过去近30年的电子技术的发展历程,可大致将EDA技术的发展分为三个阶段。20世纪70年代,集成电路制作方面,MOS工艺得到广泛的应用。可编程逻辑技术及其器件已经问世,计算机作为一种运算工

7、具已在科研领域得到广泛应用。而在后期,CAD的概念己见雏形。这阶段人们开始利用计算机取代手工劳动,辅助进行集成电路版图编辑、PCB布局布线等工作。20世纪80年代,集成电路设计进入了CMOS(互补场效应管)时代。复杂可编程逻辑器件己进入商业应用,相应的辅助设计软件也已投入使用。而在80年代末,出现了FPGA(Field Programmable Gate Array),CAE和CAD技术的应用更为广泛,它们在PCB设计方面的原理图输入、自动布局布线及PCB分析,以及逻辑设计、逻辑仿真、布尔方程综合和化简等方面担任了重要的角色,特别是各种硬件描述语言的出现、应用和标准化方面的重大进步,为电子设计

8、自动化必须解决的电路建模、标准文档及仿真测试奠定了基础。进入20世纪90年代,随着硬件描述语言的标准化得到进一步的确立,计算机辅助工程、辅助分析和辅助设计在电子技术领域获得更加广泛的应用,与此同时电子技术在通信、计算机及家电产品生产中的市场需求和技术需求,极大地推动了全新的电子设计自动化技术的应用和发展。特别是集成电路设计工艺步入了超深亚微米阶段,百万门以上的大规模可编程逻辑器件的陆续面世,以及基于计算机技术的面向用户的低成本大规模ASIC设计技术的应用,促进了EDA技术的形成。更为重要的是各EDA公司致力于推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件的研究,都有效地将EDA

9、技术推向成熟。1 EDA概述1.1 EDA技术的特点与应用EDA(Electronic Design Autom ation)技术就是以计算计为工具,在MAX+PLUS软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件,自动完成逻辑编辑,用EDA技术作为开发手段。实现一个数字系统的设计。系统采用了顶层图形设计思想,基于硬件描述语言 VHDL,以可编程器件为核心,具有体积小、可靠性高、灵活性强等特点。并比较了EDA技术与传统电子设计方法的差异,总结出别EDA技术的优势。电子设计的必由之路是数字化,这已成为共识。在数字化的道路上,我国的电子技术经历了一系列重大的变革。从应用小规模

10、集成电路构成电路系统,到广泛地应用微控制器或单片机(MCU),在电子系统设计上发生了具有里程碑意义的飞跃。电子产品正在以前所未有的速度进行着革新,主要表现在大规模可编程逻辑器件的广泛应用。特别在当前,半导体工艺水平已经达到深亚微米,芯片的集成高达到干兆位,时钟频率也在向干兆赫兹以上发展,数据传输位数达到每秒几十亿次,未来集成电路技术的发展趋势将是SOC(System On aCh5p)片上系统。从而实现可编程片上系统芯片CPU(复杂可编程逻辑器件)和FPGA(现场可编程门阵列)必将成为今后电子系统设计的一个发展方向。所以电子设计技术发展到今天,又将面临另一次更大意义的突破,FPGA在EDA(电

11、子设计自动化)基础上的广泛应用。EDA技术的概念: EDA是电子设计自动化(Elechonic Design Automation)的缩写,由于它是一门刚刚发展起来的新技术,涉及面广,内容丰富,理解各异,所以目前尚无一个确切的定义。但从EDA技术的几个主要方面的内容来看,可以理解为:EDA技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计电子系统到硬件系统的一门新技术。可以实现逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化,逻辑布局布线、逻辑仿真。完成对

12、于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片。EDA技术是伴随着计算机、集成电路、电子系统的设计发展起来的,至今已有30多年的历程。大致可以分为三个发展阶段。20世纪70年代的CAD(计算机辅助设计)阶段:这一阶段的主要特征是利用计算机辅助进行电路原理图编辑,PCB布局布线,使得设计师从传统高度重复繁杂的绘图劳动中解脱出来。20世纪80年代的CAE(计算机辅助工程设计)阶段:这一阶段的主要特征是以逻辑摸拟、定时分析、故障仿真、自动布局布线为核心,重点解决电路设计的功能检测等问题,使设计而能在产品制作之前预知产品的功能与性能。20世纪90年代是EDA(电

13、子设计自动化)阶段:这一阶段的主要特征是以高级描述语言,系统级仿真和综合技术为特点,采用“自顶向下”的设计理念,将设计前期的许多高层次设计由EDA工具来完成。EDA是电子技术设计自动化,也就是能够帮助人们设计电子电路或系统的软件工具。该工具可以在电子产品的各个设计阶段发挥作用,使设计更复杂的电路和系统成为可能。在原理图设计阶段,可以使用EDA中的仿真工具论证设计的正确性;在芯片设计阶段,可以使用EDA中的芯片设计工具设计制作芯片的版图;在电路板设计阶段,可以使用EDA中电路板设计工具设计多层电路板。特别是支持硬件描述语言的EDA工具的出现,使复杂数字系统设计自动化成为可能,只要用硬件描述语言将

14、数字系统的行为描述正确,就可以进行该数字系统的芯片设计与制造。有专家认为,21世纪将是EDA技术的高速发展期,EDA技术将是对21世纪产生重大影响的十大技术之一。EDA技术的基本特征:EDA代表了当今电子设计技术的最新发展方向,利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在汁算机上自动处理完成。设计者采用的设计方法是一种高层次的“自顶向下”的全新设计方法,这种设汁方法首先从系统设计人手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错并用硬件描述语言对高

15、层次的系统行为进行描述,在系统一级进行验证。然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路(ASIC)。设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避免设计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次性成功率。 由于现代电子产品的复杂度和集成度的日益提高,一般分离的中小规模集成电路组合已不能满足要求,电路设计逐步地从中小规模芯片转为大规模、超大规模芯片,具有高速度、高集成度、低功耗的可编程ASIC器件已蓬

16、勃发展起来。在EDA技术中所用的大规模、超大规模芯片被称为可编程ASIC芯片,这些可编程逻辑器件自70年代以来,经历了CPD、PGA 、CPLD、FPGA几个发展阶段,其中CPLD(复杂可编程逻辑器件)、FPGA(现场可编程逻辑器件)兼高密度可编程逻辑器件,目前集成度已高达200万门片以上,它将掩模ASIC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易地转由掩模ASIC实现,因此开发风险也大为降低。可以说CPLDFPGA器件,已成为现代高层次电子设计方法的实现裁体。硬件描述语言(HDL)是E

17、DA技术的重要组成部分,是EDA设计开发中的很重要的软件工具,VHDL即:超高速集成电路硬件描述语言,仍然是作为电子设计主流硬件的描述语言。1.2 FPGA技术与VHDL语言概述FPGA即现场可编程门阵列(Filed Programmable Gate Array),是大规模可编程逻辑器件除了CPLD外的另一大类PLD器件。常用硬件描述语言有WDL、Velllq和AHDL语言。WDL语言是一种高级描述语言,适用于行为级和R,几级的描述;Vedlq语言和ABEL语言属于一种较低级的描述语言,适用于R,几级和门电路级的描述。现在WDL和Velllq作为工业标准硬件描述语言,已得到众多EDA公司的支

18、持,在电子工程领域,它们已成为事实上的通用硬件描述语言,承担几乎全部的数字系统的设计任务。电子EDA技术发展迅猛,逐渐在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。在教学方面几乎所有理工科(特别是电子信息)类的高校都开设了EDA课程。主要是让学生了解EDA的基本原理和基本概念、掌握用VHDL语言描述系统逻辑的方法、使用EDA工具进行电子电路课程的模拟仿真实验并在作毕业设计时从事简单电子系统的设计,为今后工作打下基础。具有代表性的是全国每两年举办一次大学生电子设计竞赛活动。在科研方面:主要利用电路仿真工具(EwB或PSPICE、VLOL等)进行电路设计与仿真;利用虚拟仪器进行产品调试;

19、将CPLDFPGA器件的开发应用到仪器设备中。例如在CDMA无线通信系统中,所有移动手机和无线基站都工作在相同的频谱,为区别不同的呼叫,每个手机有一个唯一的码序列,CDMA基站必须能判别这些不同观点的码序列才能分辨出不同的传呼进程;这一判别是通过匹配滤波器的输出显示在输人数据流中探调到特定的码序列;FPGA能提供良好的滤波器设计,而且能完成DSP高级数据处理功能,因而FPGA在现代通信领域方面获得广泛应用。在产品设计与制造方面:从高性能的微处理器、数字信号处理器一直到彩电、音响和电子玩具电路等,EDA技术不单是应用于前期的计算机模拟仿真、产品调试,而且也在前期的制作、电子设备的研制与生产、电路

20、板的焊接、朋比的制作过程等有重要作用。可以说电子EDA技术已经成为电子工业领域不可缺少的技术支持。应用VHDL进行电子系统设计有以下优点:(1)与其他硬件描述语言相比,VHDL具有更强的行为描述能力,强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期就能检查设计系统的功能可行性,并可以随时对系统进行仿真。(3)VHDL语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和对已有设计的再利用功能。(4)用VHDL完成的设计,可以利用EDA工具进行逻辑综合和优化,并可根据不同的目标芯

21、片自动把VHDL描述设计转变成门级网表,这种设计方式极大地减少了电路设计的时间及可能发生的错误,从而降低了开发成本。(5)VHDL对设计的描述具有相对独立性,可以在设计者不使用硬件结构的情况下,也不必管最终设计的目标器件是什么,而进行独立的设计。(6)由于VHDL具有类属描述语句和子程序调用等功能,所以对于已完成的设计,可以在不改变源程序的情况下,只需改变类属参量或函数,就能很容易地改变及设计的规模和结构。 1.3 EDA与传统电子设计方法的比较它具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计较串和可靠性,用VHDL进行电子系统设计的

22、一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。例如一个32位的加法器,利用图形输入软件需要输入500至1千个门,而利用VHDL语言只需要书写一行“AB+C”即可。使用硬件描述语言(HDL)可以用模拟仿真的方式完成以前必须设计和制作好的样机上才能进行的电子电路特性的说明和调试。能在系统行为级就发现可能出现的错误、问题,并加以多次反复修改论证,避免了物理级器件的损伤和多次制作,节约了时间和开发成本,缩短了电子系统开发的周期。将EDA技术与传统电子设计方法进行比较可以看出,传统的数字系统设计只能在电路板上进行设计,是一种搭积木式的方式,

23、使复杂电路的设计、调试十分困难;如果某一过程存在错误查找和修改十分不便;对于集成电路设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差;只有在设计出样机或生产出芯片后才能进行实泅,因而开发产品的周期长。而电子EDA技术则有很大不同,采用可编程器件,通过设计芯片来实现系统功能。采用硬件描述语言作为设计输入和库(LibraIy)的引入,由设计者定义器件的内部逻辑和管脚,将原来由电路板设计完成的大部分工作故在芯片的设计中进行。由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量和难度,有效增强了设计的灵活性,提高了工作效率。并且可减少芯片的数量,缩小系统体积,降低能源消耗,提高了

24、系统的性能和可靠性。能全方位地利用计算机自动设计、仿真和调试。 硬件描述语言 : 硬件描述语言(HDL)是一种用于进行电子系统硬件设计的计算机高级语言,它采用软件的设计方法来描述电子系统的逻辑功能、电路结构和连接形式。 硬件描述语言可以在三个层次上进行电路描述,其层次由高到低分为行为级、R,几级和门电路级。1.4 EDA技术的未来发展前景EDA技术在进入21世纪后,由于更大规模的FPGA和CPLD器件的不断推出,在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断更新、增加,使电子EDA技术得到了更大的发展。电子技术全方位纳入EDA领域,EDA使得电子领域各学科的界限更加模糊,更加

25、互为包容,突出表现在以下几个方面:使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;基于EDA工具的ASIC设计标准单元已涵盖大规模电子系统及IP核模块;软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认;SoC高效低成本设计技术的成熟。随着半导体技术、集成技术和计算机技术的迅猛发展,电子系统的设计方法和设计手段都发生了很大的变化。可以说电子EDA技术是电子设计领域的一场革命。传统的“固定功能集成块十连线”的设计方法正逐步地退出历史舞台,而基于芯片的设计方法正成为现代电子系统设计的主流。作为高等院校有关专业的学生和广大的电子工程师了解和掌握这一先进技术是势在必行

26、,这不仅是提高设计效率的需要,更是时代发展的需求,只有掌握了EDA技术才有能力参与世界电子工业市场的竞争,才能生存与发展。随着科技的进步,电子产品的更新日新月异,EDA技术作为电子产品开发研制的源动力,已成为现代电子设计的核心。所以发展EDA技术将是电子设计领域和电子产业界的一场重大的技术革命,同时也对电类课程的教学和科研提出了更深更高的要求。特别是EDA技术在我国尚未普及,掌握和普及这一全新的技术,将对我国电子技术的发展具有深远的意义。作为一名电子硬件工程师、大专院校电子类专业的在校学生或者电子爱好者,必须掌握EDA技术用于CPLDFPGA的开发,只有这样才能乘上现代科技的快车去适应激烈竞争

27、的环境。在现在和未来,EDA技术主要应用于下面几个方面:1高校电子类专业的实践教学中,如实验教学、课程设计、毕业设计、设计竞赛等均可借助CPLDFPGA器件,既使实验设备或设计出的电子系统具有高可靠性,又经济、快速、容易实现、修改便利,同时可大大提高学生的实践动手能力、创新能力和计算机应用能力。2科研和新产品开发中,CPLDFPGA可直接应用于小批量产品的芯片或作为大批量产品的芯片前期开发。传统机电产品的升级换代和技术改造,CPLDFPGA的应用可提高传统产品的性能,缩小体积,提高技术含量和产品的附加值。2 总体方案的确定2.1 设计分析测频方法主要可分为两种:一种为直接测量法,即在一定的闸门

28、时间内测量被测信号的脉冲个数;另一种为间接测量法,如周期测量法,V-F转换法等。本次设计的数字频率计采用直接测频法,测量范围为0-1MHz,频率计输出用5只数码管显示。按照自顶向下的设计方法,进行功能分割。频率计的关键是控制电路的设计,由控制电路产生测频所需的满足一定时序关系的闸门信号、清零脉冲信号和锁存信号。为了保证测频准确,在每次闸门信号开通前必须让计数器处于零状态,保证计数器每次都从零开始计数。因此,在闸门信号变为高电平前,必须给计数器提供一个清零脉冲信号。当闸门信号为高电平时,被测信号经过与门并且作为计数器的时钟输入,计数器开始计数;当闸门信号变为低电平时,与门被封锁,计数器停止计数。

29、如果闸门宽度为1s,则闸门时间内计数器的计数值即为被测信号的频率;如果闸门宽度为0.1s,则闸门时间内计数器的计数值为被测信号频率的10倍,相当于频率计的量程为10档;改变闸门宽度可以改变频率计的量程,闸门宽度小,频率计的量程越大。 如果计数器的输出直接译码显示,那么在闸门信号高电平期间,频率计的显示随着计数值的增加不断闪烁,人眼难以分辨。为了防止这种现象,在计数器和显示、译码之间增加一锁存电路。当计数器停止计数后(闸门信号由高变低后),才将计数值锁存并译码显示。为了防止显示闪烁,锁存信号的周期必须大于人的视觉滞留时间(约0.1s)。经过以上的分析可知,本设计需要将电路理论、模拟电子技术、数字

30、电子技术、硬件描述语言、可编程控制器等方面的知识加以综合运用。由设计要求可见其组成有脉冲整形电路、控制器、计数器、分频器、锁存器、译码扫描显示电路等,由于这样类似的装置已经被广泛采用,而且在一些专业期刊上可查到相关内容,所以其可行性是毋庸质疑的。在设计过程中先设计系统的总体方案,然后将其细化并确定硬件功能。在设计中应尽可能选择标准化,模块化的典型电路,选用集成度高,功能强的电路或芯片,选择通用性强,货源充足的元器件,充分考虑FPGA强大的可编程能力, FPGA 在集成度和结构上呈现的特点是具有更大的与阵列和或阵列,增加了大量的宏单元和布线资源,触发器的数量也明显增加。 高速的译码器、多位计数器

31、、寄存器、时序状态机、网络适配器、总线控制器等较大规模的逻辑设计都可选用FPGA来实现。在整个设计过程中,尤其要注意系统软件部分控制器的时序等方面的设计。软件设计将在后面祥述。2.2 设计方案挑选方案一 自适应数字频率计1设计要求 设计个3位十进制数字式频率计,其测量范围为:0-lMHz. 量程分:10kHz、100kHz和1MHz 3档(最大读数分别为999KHz、999KHz利999KHz). 量程自动转换规则如下: (1)当读数大于999KHZ时,频率计处丁超量程状态,此时显示器发出溢出指示(最高位显示F,其余各位不显示数字),下一次测量时,量程自动增大一档。 (2)当读数小于0.99K

32、HZ时,频率计处于欠量程状态。下一次测量时,量程自动减小一档。显示方式如下: (1)采用记忆显示方式,即计数过程中不显示数据,待计数结乘以后,显示计数结果,并将此显示结果保持到下一次计数结果结束,显示时间应不小于1s。(2)小数点位置随量程变动自动移位。2设计步骤(1) 根据题意确定初步方案 ,如下图 控制器校时 校分起停分频器锁 存 器计 数 器闸 门显示电路被测信号频率计由控制器、分频器、闸门、计数器、锁存器利显示电路6部分组成,各部分的作用简述如下: 控制器控制器是频率计的核心,它能根据外围部件的状态,发出相应控制信号,使系统正常运转。 分频器分频器将标频信号分成一系列较低频率的信号,作

33、为测量的时基信号,送入闸门。分频器是为了扩大频率测量范围,在有限的数码管上提高显示精度而设。 闸门闸门可用来根据被测频率的高低选择相应的时基信号(闸门信号),以期达到较好的测量精度。计数器计数器的作用是对一个闸门信号中的被测信号脉冲数进行计数,计数结果即为被测频率对所选的时基的相对值。锁存器锁存器用来锁存计数结果。显示电路 显示电路使频率值在数码管上显示,供读数。根据测频原理可以确定系统的基本流程程图如下图所示。接通电源 待命状态 测频计数下一频率 NO YES RESET 初始化量程YES 量程恰当显示频率值 转换量程 NO YESNO (2)确定详细方案从自顶向下的观点来看,系统可以划分为

34、控制器和受控电路两大部分,而受控电路又可由各种模块实现。确定详细方案时就是根据上一步确定的系统功能,决定采用哪些模块(抽象的模块,不涉及器件)以及如何实现受控电路与控制器的连接(控制器向模块发出信号和模块向控制器反馈信号)。本例要求实现1MHz以下的3位频率计功能,量程分为l0KHz,l00KHz,1MHz共3档,故从分频器选择出来的时基信号应为0.1s,0.01s,0.001s共3档。另外,系统要不断地检测信号的变化情况,每隔一定时间重复测量当前的频率。根据设汁要求,频率显示时间不能少于1s,故这个间隔可以定为1s。这个1s的间隔也从分频器中获得。时基信号从分频器出来,送往闸门,闸门根据控制

35、器发来的时基选择信号来选择相应的闸门信号。可见,闸门可用一个数据选择器实现。从闸门选择出的时基信号(闸门信号),和被测信号一起选送入计数器。闸门信号作为计数器使能信号,在信号有效期间,计数器对被测信号计数,计数结果即为被测信号的频率与闸门信号时间的相对值,即测量结果。测量结果送入锁存器。显然,测量范围应为0-999KHZ,计数期间,若测量结果溢出,说明以当前闸门时间测频超量程,计数器发出一溢出信号送往控制器。右测量结果小于0.99KHZ,则说明以当前闸门时间测量欠量程,计数器发出一欠量程信号送往控制器。控制器在收到超量程信号后,若当前闸门时间为0.1s,则控制器将提高量程一个档位,即选择闸门时

36、间减少一档,且小数点向右移一位,测量结果若不超量程即可;若仍超量程,则闸门时间还应再减一档,小数点再向右移位,继续测量;若闸门信号已经在0.001s的档位上,测量结果仍超量程,则控制器输出超量程信号送入显示电路,数码管将只在最高位显示F,其余数码管全灭。同样地,控制器收到欠量程信号后,控制器将降低全程一个档位,使得输出的闸门时间加长,小数点往左移一位,若测量结果在最低量程仍欠量程,则显示实际测量结果,不过,此时测量误差最大。锁存器中的测量结果送入译码电路以输出到数码管上,小数点由控制器发出。通过以上分析可得系统详细框图、流程图如图1和图2所示。 超量程欠量程锁存器 显示电路 计数值频率溢出小数

37、点被测信号1s reset 选择信号reset 0.1s0.01s0.001s分频器 闸门 信号 闸 门 计数器 控 制 器 图1待命状态初始化量程时基0.01s测频计数显示频率值量程恰当时基降一档时基升一档显示超量程时基=0.01S图2(2) 具体电路设计a.分频器分频器由三个10位计数器和三个脉冲取样器实现,用于将1KHZ的标频信号分频,产生1s,0.01s,0.001s的时基信号(计数器和脉冲取样器均由VHDL编程实现)。b.闸门闸门部分采用了一个典型的四选一的数据选择器,用于根据被测信号的大小选择相应的测量时间。c.计数器计数器采用3个10位计数器实现,其进位输出端作为溢出指示,高4位

38、可同时用于欠量程指示。10位计数器与分频器中的计数器相同d.锁存器锁存器由VHDL编程实现。e.显示电路数码管为七段码共阴显示,计数结果通过译码器方能接到数码管。译码器可用库中的7448实现,但由于超量程时要在最高位显示F,故用VHDL编程实现比较方便。f.控制器控制器的设计在数字系统中最重要,往往也最复杂。本方案中用状态机来描述,用VHDL编程实现。方案二采用相关计数法测频的原理,提出了用传统计数芯片8254 和复杂可编程逻辑器件(FPGA) 实现应用该原理的数字频率计。1双计数器相关测频原理对频率量的测量,通常采用直接测量的方法,即在一设定时间周期内, 对待测信号脉冲进行计数,设计数值为N

39、 , 则待测信号频率f x = N/。在实际的应用过程当中,常常对高频段,采用直接测量频率;对低频段,则改为间接测量,用测周期的方法。直接测量的方法一般用于对测量精度要求不高的场合。直接测频法限制了测量精度的提高,而相关计数法则可实现较大范围频段的等精度测量, 即同时使用两个计数器分别对待测信号频率f x 和频标信号频率f o在同一时间间隔内进行计数。其测量原理时序图如下图所示。 双计数器相关测频原理图中Tp为预置门控信号的门控时间, T 为精确门控信号的门控时间, M 和N 分别为对待测信号和频标信号测量的计数值。测频开始时, 由单片机的p10 打开预置门,预置门开启后,精确门并不马上打开,

40、而是由待测信号的下一个上升沿到来时开启。精确门开启后, 两个计数器分别对待测信号和频标信号进行计数。经过单片机设置好的预置门控时间后,由单片机的p10 关掉预置门。预置门关掉后,精确门并不马上关掉,而在待测信号的下一个上升沿到来时才关闭。这时两个计数器停止计数。若两个计数器A 和B 的计数值分别为M 和N , 则待测频率f x和测频误差e 为:fx = Mfo/ N (1)e = fx/ fx = M/ N - N/ N +fo/ fo (2)式(2) 中前两项分别表示计数器A 和B 的计数误差,第三项为基准频标信号f o的频率准确度。由于计数是在相关同步门控时间T 内完成的,即由待测信号同步

41、控制,所以同步门控时间T 与计数器A 的计数脉冲相关,且T/ Tx的比值M 为整数( Tx为待测信号周期) ,故待测信号计数值M 不存在计数误差。对于计数器B 对频标信号的计数,由于精确门的启闭时刻对频标信号来说是随机的, T/ To的比值N 为非整数,在精确门的启闭时刻分别有时间零头无法计入,故会多计或少计一个脉冲, 即存在1的误差。由于晶体振荡器有很高的稳定度, 基准频标信号频率f o误差很小,一般可忽略。因而双计数器相关测频法的最大误差为:eM = 1/ N = 1/ Tf o (3)由式(3) 可知,该测频方法的相对误差与被测信号的频率无关,通常称为等精度测量,且提高频标的频率可减少测

42、量误差。2.数字频率计的实现本方案是在单片机最小系统平台上使用8254实现的。单片机最小系统包括键盘显示人机交互电路、82C59 中断扩展电路、外设端口地址扩展电路以及数据与并行口电路等等。测量前向电路由两片8254 计数器、两个D 触发器及逻辑门电路组成。图2 相关门控实现电路原理图图2中第一个D 触发器起门控同步的作用。P12为两D 触发器复位信号。P10 为单片机的p1. 0 引脚,是预置门启闭信号。该D 触发器的输出Q 为精确门,配合两个与门分别控制待测信号和频标信号的通过。如前相关测频原理所述,精确门的开启和关闭由预置门和待测信号的上升沿决定。第二个D触发器产生计数完成中断信号,即在

43、门控时间T 之后,计数完成则向单片机系统的82C59 发出一个中断信号Ir3 ,请求单片机读出计数值,进行计算。从图2 中可以看出,精确门Q 关闭,Q 产生一个下跳沿,Q则产生一个上跳沿,送给第二个D 触发器,所以第二个触发器的输出对82C59 产生一正脉冲中断信号。由于8254 的三个计数器为16 位,为了提高测频范围,需级联成两个32 位的计数器。级联时如果直接把低阶的输出接至高阶的输入,则由于低阶进位输出为上升沿,而高阶计数为下降沿,会造成丢失计数脉冲。实际应用中,是把低16 位计数器的输出反相后再接至高阶的输入,如图3 所示。这里必须强调8254 计数器的特点。8254 计数器正常工作

44、前, CPU 需送一组控制字给8254 , 将8254 设置成预定的工作方式。在预置之前,8254 任何计数器的工作方式、计数初值和输出都是不确定的。而8254 计数器的一个重要特点是初始化时只赋值给计数初值寄存器,而装入减1 计数器要靠外部信号CL K来触发,也就是说计数初值的装入严格依赖于一个完整的正脉冲。即CPU 送完控制字和计数初值后,控制字装入了控制寄存器,但计数初值并没有真正装入,而是必须等到CLK端出现一个完整的正脉冲后才真正装入。显然,这对计数事件而言,自然丢失了一个事件。这样的结果在低阶只产生1 的误差,而在高阶却要引起极大的计数误差。针对8254 这一设计上的不足,本文提出

45、了一种简洁合理的解决方法。其设计思想是,利用8254 写入不同的控制方式会在out端出现不同电平的特点,用软件编程的简单方法人为模拟一个正向脉冲,以解决高阶计数器计数初值的装入。具体方法为:(1) 设置高阶16 位计数器的工作方式及其初值;(2) 设置低阶16 位计数器为方式0 ,此时out0端的电平在写完控制字后马上变低;(3) 设置低阶16 位计数器为方式1 ,此时out0端的电平在写完控制字后马上变高;(4) 设置低阶16 位计数器为方式0 ,此时out0端的电平在写完控制字后马上变低;(5) 设置低阶16 位计数器的工作方式及其初值。上述步骤1和5是设置高低阶计数器正常的工作方式和初值

46、。步骤2、3、4 是为了把高阶计数器的初值装入而在CLK1端人为模拟一个正向脉冲。这样就解决了高阶初值的装入问题,但低阶的1误差仍然存在。这可以在单片机软件编程中加以修正来解决。在此方案中,考虑到8254的最高计数频率为10MHz ;以及为了避免引入额外的误差,没有对被测信号进行分频。预置门控时间Tp 一方面影响到精确门控时间T , 由M = f x .T (或N = f o.T) 可知,继而会影响到计数器的计数容量;另一方面, Tp 也会影响到测量中实时跟踪频率变化的速度,等待时间过长往往令人难以忍受。综合考虑,单片机编程中设置预置门控时间为1s , fo为1MHz。当待测频率低于1Hz 时

47、,单片机的计时器检查测量时间超过1s ,而自动调整预置门控时间为10s。单片机系统显示为8 位数码管。为了准确显示频率的个位,如果采用科学计数法,则8 位显然不够。所以实际采用的是直接显示的方法,这样就可以完整显示出频率的个位。由于实验是用标准的数控信源代替待测信号来获得测量数据的,所以对测量结果误差的分析依赖于标准信源产生信号的精度。如果信源只能够产生0. 10 Hz 精度的信号, 而实验结果显示为0. 100 000 0Hz ,那是无意义的。尽管高频端测量指标很高,但是低频端由于信源产生信号精度的影响,不可能在整个频段用统一误差分析。方案三(即本论文所采取的方案)本次设计的要求是用FPGA制作简易数字计频器。对此我设计了一个4位十进制数字式频率计,其测量范围为0

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号