-1-基于FPGA的等精度频率计的设计学生姓名:罗雪晶指导教师:梁西银学生届别:2009届专业:电子信息工程班级:2005级(1)班学号:200572020121摘要本文提出了一种采用VHDL语言在FPGA(EP1C12Q240C8)平台上设计实现等精度频率计的方法。该方法设计的频率测量系统在对频率变化范围较大的信号进行频率测量时能够满足高速度、高精度的测频要求。系统的软件设计、编译、调试、仿真以及下载工作采用QuartusⅡ6.1完成。该等精度频率计的测量频率值采用VGA显示,同时显示10秒内频率的测量情况,具有良好的人机界面。关键词:FPGA、VHDL、等精度、频率计、VGAABSTRACTThispapermainlyintroducesamethodwhichusesVHDLlanguageintheFPGA(EP1C12Q240C8)platformdesignedtoachievethefrequencyaccuracy.Thismethodisdesignedfrequencymeasurementsysteminthefrequencyrangeofthesignalfrequencymeasurementstomeetthehigh-speed,high-precisionfrequencymeasurementrequirements.Systemsoftwaredesigning,compiling,debugging,simulation,anddownloadingtheworkareallcompletedbytheuseofQuartusⅡ6.1.ThesystemusesVGAdisplaytoshowthemeasuredvalueofthefrequencyofprecision,atthesametimeitshowsthefrequencyofmeasurementsin10seconds.Thisdesignhasagoodman-machineinterface.Andhasrealizedbroadbandmeasurementandcanmeettherequestofhighspeedandhighdegreeofaccuracy.KeywordsFPGA,VHDL,Precisionsurvey,frequencymeter,VGA-2-目录引言............................................................-3-1.原理分析......................................................-4-1.1等精度频率测量原理.......................................-4-1.2误差分析.................................................-5-2.概述..........................................................-6-2.1FPGA可编程逻辑器件......................................-6-2.2VHDL硬件描述语言........................................-7-2.3QuartusⅡ开发环境.....................................-8-2.4E-PLAY-SOPC系列开发板..................................-9-2.5EP1C12Q240C8芯片.......................................-9-2.6IPCore................................................-10-3.总体设计.....................................................-10-3.1流程图设计..............................................-10-3.2系统设计框图............................................-11-4详细设计.....................................................-13-4.1前端信号处理...........................................-13-4.2分频器的设计...........................................-13-4.3除法器的IPCore调用...................................-14-4.3.1设计中的除法器应用................................-14-4.3.2除法器IPCore的调用方法如下:...................-14-4.4译码电路的实现.........................................-15-4.5显示模块的设计实现......................................-16-4.5.1方案选择..........................................-16-4.5.2VGA接口的原理....................................-17-4.5.3VGA接口的时序分析................................-18-4.5.4VGA接口驱动波形仿真..............................-19-4.5.5VGA接口的驱动程序的设计实现......................-20-4.6系统综合及布局布线......................................-22-4.7引脚分配................................................-22-5.测试.........................................................-23-5.1测试仪器...............................................-23-5.2测试数据...............................................-24-结论...........................................................-24-致谢...........................................................-25-参考文献.......................................................-26-附录1.........................................................-27--3-基于FPGA的等精度频率计的设计引言频率是常用的物理量,频率测量是电子测量技术中最基本的测量之一。在现代信号分析和处理领域中,高精度的频率测量有非常重要的意义。常用的测频方法有计数法和周期法。计数法是在预制的闸门时间Tw内测量被测信号的脉冲个数Nx,进行换算得出被测信号的频率为fx=Nx/Tw。这种测量方法的测量精度取决于闸门时间和被测信号频率。当被测信号频率较低时将产生较大误差,除非闸门时间取得很大。周期法是在被测信号的一个周期Tx内,测量标准信号(周期Tc)ΔFs/Fs的周期个数Ns,进行换算得出被测信号的频率为fx=fc/Ns。这种测量方法的测量精度取决于被测信号的周期和计时精度。测量以频率为参数的被测信号,通常采用的是测频法或测周法。但是,当频率变化较大,如范围为100Hz~100KHz时,测频法和测周法就存在着很大的局限性,难以实现宽频带、高精度的测量。所以,当要求有一种测频方法能对频率变化范围较大的信号进行高精度的测量时,就必须采用等精度的测频技术。本文采用的测量方法克服了以上两种方法的缺点,测频精度与被测信号的频率大小无关,从而保证了频率的等精度测量。本文运用等精度测量原理,采用基于FPGA的VHDL语言设计了一款数字频率计,该频率计可在较宽定的频率范围内对频率进行测量,并可通过调整闸门时间预置测量精度。选取的这种综合测量法作为数字频率计的测量算法,提出了基于FPGA的数字频率计的设计方案。给出了该设计方案的实际测量效果,证明该设计方案切实可行,能达到较高的频率测量精度。-4-1.原理分析1.1等精度频率测量原理基于传统测频原理的频率计的测量精度将随被测信号频率的下降而降低,在实用中有较大的局限性。而等精度频率计不但具有较高的测量精度,并且在整个频率区域保持恒定的测量精度。等精度频率测量技术又叫做多周期同步测量计算,是在直接测频方法的基础上发展起来的。它的闸门时间不是固定的值。而是被测信号周期的整数倍,即与被测信号同步,消除了对被测信号计数所产生±1个字的误差,测量精度大大提高,而且达到了在整个测量频段的等精度测量。其测频原理图如图1所示。图1等精度测量原理波形图由图可知,等精度测量法的机理是在标准频率比较测量法的基础上改变计数器的计数开始和结束与闸门门限的上升沿和下降沿的严格关系。在测量过程中,有两个计数器分别对标准频率信号和被测频率信号同时计数。首先给出闸门开启信号(预置闸门上升沿),当闸门门限的上升沿到来时,如果待测量信号的上升沿未到时两组计数器也不计数,只有在待测量信号的上升沿到来时,两组计数器才开始计数;然后预置闸门关闭信号(下降沿)到时,如果待测量信号的一个周期未结束时两组计数器也不停止计数,只有在待测量信号的一个周期结束时两组计数器才停止计数。完成一次测量过程。可以看出,实际闸门时间T与预置闸门时间T1并不严格相等,但差值不超过被测信号的一个周期。这样就克服了待测量信号的脉冲周期不完整的问题,其误差只由标准频率信号产生,与待测量信号的频率无关。因此可以实现精度的恒定。-5-等精度频率计的原理图如图2所示图2等精度频率计原理图图中预置门控信号是宽度为T的一个脉冲,Bcount和Dcount是两个可控计数器,标准频率信号从Bcount的时钟输入端clk输入,其频率为Fs;经整形后的被测信号从Dcount的时钟输入端clk输入,当预置门控信号为高电平时,经整形后的被测信号的上沿通过控制模块的en端同时启动计数器Bcount和Dcount。Bcount、Dcount分别对被测信号(频率为Fx)和标准频率信号(频率为Fs)同时计数。当预置门信号为低电平时,随后而至的被测信号的上沿将使这两个计数器同时关闭。设在一次预置门时间T中对被测信号计数值为Nx;对标准频率信号的计数值为Ns,则下式成立:Nx/Fx=Ns/Fs(1)则待测频率信号的频率值为:Fx=(Nx/Ns)Fs(2)1.2误差分析设在1次实际闸门时间T中计数器对被测信号的计数值为Nx,对标准信号的计数值为Ns。标准信号的频率为Fs,则有:Nx/Fx=Ns/Fs(1)Fx=(Nx/Ns)Fs(2)有式(2)可知,若忽略标额的误差Fs,则等精度频率测量可能产生的相对误差为δ=(|Fx-Fe|Fe)×100%(3)-6-其中,Fe为被测信号频率的准确值。在测量中,由于Fx计数的起停时间都是由该信号的上升沿触发的,在闸门时间T内对Fx的计数Nx无误差(T=Nx-tx);对Fs的计数Ns最多相差1个数的误差,即|ΔNs|≤1,其测量频率为:Fe=[Nx/(Ns+ΔNs)]/Fs(4)由以上(1)、(2)