毕业设计(论文)-基于单片机及FPGA的等精度测频系统设计.doc
基于单片机及FPGA的等精度测频系统设计I论文原创性声明我以诚信声明:本人所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得武汉纺织大学或其它教育机构的学位或证书而使用过的材料。与我一同学习的同学对本次写论文做的贡献均会在论文中作了明确的说明并表示了谢意。作者(签字):签字日期:年月日版权使用授权书武汉纺织大学有权保存学位论文的电子和纸质文档,可以借阅或上网公开本学位论文的全部或部分内容,允许论文被查阅,可以向有关部门或机构送交并授权其保存、借阅或上网公布本学位论文的全部或部分内容。对于保密论文,按保密的有关规定进行法律处理。作者(签字):签字日期:年月日指导老师(签字):签字日期:年月日基于单片机及FPGA的等精度测频系统设计II目录摘要.III第一章概论.错误!未定义书签。1.1课题研究的目的和意义.III1.2测量原理.11.3系统设计指标.3第二章硬件电路设计.32.1系统顶层电路设计.32.2FPGA测频模块逻辑设计.42.3单片机主控模块.52.4外围电路设计.6第三章软件设计.83.1QUARTUSII概述.83.2VHDL语言简介.103.3频率计FPGA模块的顶层设计.103.4频率计FPGA模块的仿真.123.5单片机的C语言编程.13第四章系统测试.144.1测频精度分析.144.2实验测试数据.15结束语.17参考文献.18致谢.19基于单片机及FPGA的等精度测频系统设计III摘要本文主要论述了利用FPGA(FieldProgrammableGateArray,现场可编程门阵列)进行测频计数,单片机实施控制实现频率计的设计过程。该频率计利用等精度的设计方法,克服了基于传统测频原理的频率计的测量精度随被测信号频率的下降而降低的缺点。等精度的测量方法不但具有较高的测量精度,而且在整个频率区域保持恒定的测试精度。设计中用一块FPGA芯片(型号为Cyclone的EP2C5T144C8N)完成各种时序逻辑控制、计数功能。在Quartus平台上,用VHDL语言编程完成了FPGA的软件设计、编译、调试、仿真和下载。用STC89C52RC单片机作为系统的主控部件,实现整个电路的测试信号控制,数据运算处理和控制数码管的显示输出。系统将单片机的控制灵活性及FPGA芯片的现场可编程性相结合,不但大大缩短了开发研制周期,而且使本系统具有结构紧凑、体积小,可靠性高,测频范围宽、精度高等优点。文章详细论述了系统自上而下的设计方法及各部分硬件电路组成及单片机、FPGA的软件编程设计。使用杭州康芯KX-7C5T型EDA实验开发与电子设计学习板为主的实验环境下,配合单片机最小系统对软硬件进行仿真和验证,达到了较高的测量精度和测量速度。关键词:FPGA,VHDL,频率计,单片机,STC89C52RC基于单片机及FPGA的等精度测频系统设计IVAbstractThispaperdiscussestheuseofFPGA(FieldProgrammableGateArray,fieldprogrammablegatearray)tomeasurethefrequencycount,singlechipimplementationofthecontroldesignprocesstoachievefrequencymeter.Theuseofsuchprecisionfrequencymeterdesignwaystoovercomethetraditionalfrequencymeasurementbasedontheprincipleofthemeasurementprecisionfrequencymeterwithadeclineinthesignalfrequencydecreasesthedisadvantages.Andotherprecisionmeasurementmethodnotonlyhashighaccuracy,butintheentirefrequencyregiontomaintainaconstanttestaccuracy.DesignusinganFPGAchip(modelcycloneIIofEP2C5T144C8N)completeavarietyoftemporallogiccontrolandcountingfunctions.IntheQuartusplatform,completewithVHDL,FPGAprogrammingsoftwaredesign,compilation,debugging,simulation,and,download.SCMasasystemwithSTC89C52RCmaincontrolunit,theentirecircuitofthetestsignalcontrol,dataprocessingandcontroloperationsdigitaldisplayoutput.Systemflexibilityandcontrolofthemicrocontrollerchipfield-programmableFPGAcombiningnotonlyshortenthedevelopmentcycledevelopment,andmakethesystemcompact,smallsize,highreliabilityandwiderangeoffrequencymeasurement,highprecision.Thearticlediscussesindetailthesystemandthepartoftop-downdesignofhardwarecircuitandmicrocontroller,FPGAdesignsoftwareprogramming.UseHangzhouHongcoreKX-7C5TtypeexperimentaldevelopmentandelectronicdesignEDAboardbasedexperimentallearningenvironmenttomeettheminimumsystemmicrocontrollersimulationandverificationofhardwareandsoftwaretoachieveahighermeasurementaccuracyandmeasurementspeed.Keywords:FPGA,VHDL,frequencymeter,microcontroller,STC89C52基于单片机及FPGA的等精度测频系统设计1一绪论1.1课题研究的目的和意义测频一直以来都是电子和通讯系统工作的重要手段之一。高精度的测频仪有着广泛的市场前景。以往的测频仪都是在低频段利用测周期的方法、高频段用测频率的方法,其精度往往会随着被测频率的下降而下降2。基于传统测频原理的频率计的测量精度将随被测信号频率的下降而降低,在实用中有较大的局限性,而等精度频率计不但具有较高的测量精度,而且在整个测频区域内保持恒定的测试精度。所以等精度频率计有研究的价值。1.2测量原理等精度测频法:其实现可用主控结构图1-1和波形图1-2来说明3。ENBCLKCLRBZQ31.0BZHCLR1ENBCLKCLRBZQ31.0TFCLR1DQCLRMUX64-8数据输出通道选择SEL2.0SEL2.0清零信号CLR待测信号TCLK预置门控制信号CL100MHZ标准频率信号BCLK外部清零信号CLR1323283DATA8.0START图1-1等精度频率计主控结构图基于单片机及FPGA的等精度测频系统设计2图1-2频率计测控时序图1-1中的“预置门信号”CL由单片机发出,CL的时间宽度对测频精度几乎没有影响,在此设其宽度为Tpr。BZH和TF模块是两个可控的32位高速计数器,EN为它们的技术允许信号端,高电平有效。标准频率信号从BZH的时钟输入端BCLK输入,设其频率为Fs;经放大整形后的被测信号从与BZH相似的32位计数器TF的时钟输入端TCLK输入,设其真实频率值为Fxe,被测频率为Fx。测频原理说明如下:测频开始前,首先发出一个清零信号CLR,使两个计数器和D触发器清零,同时通过信号EN,禁止两个计数器计数。这是一个初始化操作。如果系统启动不能正常清零,可以由外部的按键强制清零。然后由单片机发出允许测频信号,即令预置门控信号CL为高电平(把图1-1和图1-2结合起来看),这时D触发器要一直等到被测信号的上升沿通过时Q端才被置1(即令START为高电平),与此同时,将同时启动计数器BZH和TF,进入图1-2所示的“计数允许周期”。在此期间,BZH和TF分别对被测信号(频率为Fx)和标准频率信号(Fs=100MHz)同时计数。当Tpr秒后,预置门信号被单片机置为低电平,但此时两个计数器仍没有停止计数,一直等到随后而至的被测信号的上升沿到来时,才通过D触发器将这两个计数器同时关闭。由图1-2可见,CL的宽度和发生的时间都不会影响这样一个事实,计数使能信号(START)允许计数的周期总是恰好等于待测信号TCLK的完整周期数,这正是确保TCLK在任何频率条件下都能保持恒定精度的关键。而且,CL宽度的改变以及随机的出现时间造成的误差最多只有BCLK信号的一个时钟周期,但是BCLK是倍频后的100MHz信号,则任何时刻的绝对测量误差只有亿分之一秒5.被测频率值为Fx,标准频率为Fs,设在一次预置门时间Tpr中对被测信号计数值为Nx,对标准信号的计数值为Ns,则下式成立:Nx/Fx=Ns/Fs由此式可推得:Fx=(Fs×Nx)/NsTpr计数允许周期基于单片机及FPGA的等精度测频系统设计3最后通过控制SEL选择信号和64位至8位的多路选择器MUX64-8,将计数器BHZ和TF中两个32位数据分8次读入单片机并按式进行计算和结果显示。1.3系统设计指标设计并制作出一种数字频率计,其技术指标如下:(1)频率测量范围:0.1Hz128MHz;(2)输入电压幅度:>300mV;(3)输入信号波形:任意周期方波信号;(4)显示位数:8位LED数码管显示;第二章硬件电路设计2.1系统顶层电路设计等精度数字频率计涉及到的计算包括加、减、乘、除,耗用的资源比较大,用一般中小规模的FPGA芯片难以实现。因此,我们选择单片机和FPGA的结合来实现。电路系统原理图如图2-1所示,其中单片机完成整个测量电路的测试控制、数据处理和显示输出;FPGA完成测频功能。显示电路采用7段LED动态显示,由单片机P2口直接驱动4.STC89C52RC单片机P0P27段LED数码管20MHz晶振倍频到100MHz信号放大整形电路待测信号BCLKTCLKFPGADATA7.0图2-1系统原理图等精度频率计主要由由以下几个部分构成:信号放大整形电路:用于对待测信号进行放大整形,以便作为FPGA的输入信号。测频电路:是测频的核心模块,由FPGA担任。