毕业设计基于FPGA的简易数字频率计设计学院:信息科学技术学院专业:姓名:指导老师电子科学与技术黄锐填学号:职称:0601521013张应省黄相杰副教授助教北京理工大学珠海学院2010届本科生毕业设计中国·珠海二○一○年五月II北京理工大学珠海学院2010届本科生毕业设计基于FPGA的简易数字频率计设计摘 要本设计是基于FPGA的一个简易数字频率计,利用Verilog硬件描述语言设计实现了频率计内部功能模块,采用了等精度测量的方法,并结合NIOS软核CPU嵌入FPGA,构成SOPC系统,利用NIOS软核对数据浮点运算处理,管理人机交换界面实时显示,跟传统FPGA+单片机的多芯片系统方案相比更加灵活,系统体积小和功耗小等优势,具备软硬件在系统可编程的功能。本设计测量频率的方法采用的是等精度测量法,相比直接测频法和测周法有精度更高的特点。前端信号输入调理采用宽带放大器AD811对微弱信号进行放大,经过比较器整形调理后,FPGA进行采用测量,系统实时性好,精度高。关键词:等精度频率计FPGANIOSVerilogI北京理工大学珠海学院2010届本科生毕业设计TheDesignOfSimpleDigitalFrequencyMeterBaseOnFPGAABSTRACTThedesignisbasedonFPGAdigitalfrequencyofasimpleplan,useVeriloghardwaredesignrealizedthefrequencyofinternalfunctionmodule,theaccuracyofthemeasurementmethod,etcNIOSandFPGA,softnuclearCPUembeddedsystems,usingtheSOPCconstituteNIOSsoftcheckdatamanagementman-machinefloatingpointcalculations,exchange,withreal-timedisplayinterfacechiptraditionalFPGA+MCUsolutions,systemismuchmoreflexiblethansmallvolumeandlowconsumption,haveadvantagesofhardwareandsoftwaresystemsinprogrammablefunctions.Thisdesignmethodofmeasuringfrequencybymeasuringmethodiscomparedwithdirectfrequencymeasurementmethod,andthemeasuringaccuracyofZhouFaYoucharacteristics.Front-endsignalinputbyAD811amplifiertorecuperatebroadbandamplification,weaksignalbycomparatorplastic,afterusingmeasurementsonFPGA,systemofgoodreal-time,highprecision.Keywords:EqualprecisionFrequencycounterFPGANIOSVerilogII北京理工大学珠海学院2010届本科生毕业设计目录参考文献------------------------------------------------------31谢辞----------------------------------------------------------42III北京理工大学珠海学院2010届本科生毕业设计1概述随着微电子技术和计算机技术的迅速发展,特别是单片微机和片上可编程系统的出现和发展,使传统的电子测量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代测量仪器。频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。传统的频率计测量误差较大,等精度频率计以其测量准确、精度高、方便等优势将得到广泛的应用。频率计是电子计数器的一种,在电子技术领域内,频率与电压一样,也是一个基本参数。目前,随着电子技术、微电子技术、数字技术、计算机科学的发展,电子计数器已经大量采用大规模、超大规模集成电路,尤其是与微处理器相结合,实现了程控化和智能化,频率计不断得到发展和完善。尤其是近代以来,随着电子工业的飞速发展,EDA技术的问世,新型的频率计具有测量精度高、速度快、自动化程度高、直接数字显示、操作简便等特点。在此基础上附加参数转换电路,可以完成多参数、多功能测量,应用前景非常广阔。传统的测频方法有直接测频法和测周法,在一定的闸门时间内计数,门控信号和被测信号不同步,计数值会产生一个脉冲的误差。等精度测频法采用门控信号和被测信号同步,消除对被测信号计数产生的一个脉冲的误差。等精度频率测量方法消除了量化误差,可以在整个测试频段内保持高精度不变,其精度不会因被测信号频率的高低而发生变化。采用FPGA作为控制核心的等精度频率计,可以充分利用FPGA高速数据采集技术较容易实现等精度测频。通过FPGA对同步门的控制,使被测信号和标准信号在闸门时间内同步测量,为了提高精度,将电子计数功能转为测周期,采用多周期同步测量技术,实现等精度测量。随着电子设计技术的飞速发展,专用集成电路ASIC、用户现场可编程门阵列(FPGA)及复杂可编程逻辑器件(CPLD)的复杂度越来越高,数字通信、工业自动化控制等领域所用的数字电路及系统的复杂程度也越来越高。设计这样复杂的电路及系统也不再是简单的个人劳动,而需要综合许多专家的经验和知识才能够完成。硬件描述语言Verilog顺应这种潮流,迅速发展,目前已得到广泛的应用。FPGA的结构灵活,其逻辑单元、可编程内部连线和I/O单元都可以由用户编程,可以实现任何逻辑功能,满足各种设计需求。其速度快,功耗低,通用性强,特别适用于复杂系统的设计。使用FPGA还可以实现动态配置、在线系统重构(可以在系统运行的不同时刻,按需要改变电路的功能,使系统具备多种空间相关或时间相关的任务)及硬件软化、软件硬化等功能。在大多数的研制过程中,人们习惯把FPGA技术跟MCU技术相结合的方式来完成设计。1北京理工大学珠海学院2010届本科生毕业设计FPGA有速度快,灵活等特点,速度快的优势来源于FPGA的硬逻辑方式。由于FPGA的逻辑功能全部用硬件电路实现,故所有的延迟只来源于门电路,而一般门电路的延迟都在ns级别。但与MCU相比,FPGA实现的功能较为简单。你无法想象用硬件电路可以实现一个windows操作系统。所以人更习惯把FPGA在绝大多数系统中充当配角,比如,为系统的主控MCU扩展某种接口等等。现在,FPGA有向MCU发展的趋势。当然,最终FPGA不会变成MCU,最终FPGA会发扬其优点,成为比MCU更为强大的东西。目前有些FPGA已带有模拟IO,很多FPGA可嵌入8051,ARM等软核,尽管现在由于成本等因素,这类应用并不多,但是这个发展路线不会错。一些厂商已经考虑把软核变成硬核,也就是在FPGA中嵌入MCU,一旦类似的产品出现,实现systermononechip便变得非常容易。本设计采用的就是目前相对成熟的NIOS软核嵌入到FPGA中实现SPOC。2北京理工大学珠海学院2010届本科生毕业设计2系统方案分析及比较选择2.1方案构想方案一:系统测频部分采用中小规模数字集成电路,用机械式功能转换开关换档,完成测频率功能。该方案的特点是中小规模集成数字电路应用技术成熟,能可靠的完成频率计的基本功能,但由于系统功能要求较高,所以电路过于复杂。而且多量程换档开关使用不便。此方案对输入信号作分频整形处理后,再与1秒脉宽带信号共同输入与非门,其输出作为计数脉冲,由计数器计数,然后锁存、译码输出到数码管显示。原理框图如图2-1所示。图2-1中小规模数字集成电路方案框图方案二:采用MCS-51系列单片机,将欲测量的输入信号(1Hz~10MHz)进行限幅、放大、整形和分频处理,利用单片机进行频率、周期的测量和计算处理,运算结果并行输出到数码显示。如图2-2所示,显然此种方案由于采用单片机技术,利用定时器计时一段时间,在通过计数器在这段时间内计数,实现用计数法测量频率。图2-2基于单片机方案框图方案三:采用FPGA+nios软核cpu组合,外围信号输入电路经放大整形调理,fpga采集3北京理工大学珠海学院2010届本科生毕业设计模块负责输入信号的采集,nios负责对采集信号的运算及人机界面的控制,如图2-3所示,为了进一步提高测量频率的精度和实时性,采用等精度测量频率,用FPGA可以容易实现等精度频率的测量。放大、整形50Mhz晶振频率计数器时间计数器同步预置阀门阀门NIOS软核cpu显示FPGA图2-3基于FPGA方案框图2.2方案比较及选用依据:显然方案二要比方案一简洁、新颖,但从系统设计的指标要求上看,要实现频率的测量范围1Hz~10MHz,但由于使用的是计数法测量频率,在频率较低时会产生较大的误差,方案三利用FPGA高速的信号采集处理能力,采用等精度测量频率,在整个频率范围测量内都能达到相同的精度,不随频率变化而变化测,因此选用方案三作为具体实施的方案。4北京理工大学珠海学院2010届本科生毕业设计3工作原理及其系统框图常见的测量原理有三种计数式直接测频法、计数式直接测周法、等精度测量法。3.1计数式直接测频法计数式直接测频的原理方框图如图3-1所示。放大、整形主门10计数显示NTs晶振分频器0.1s1s10s信号输入放大、整形主门10计数显示NTs晶振分频器0.1s1s10s信号输入图3-1直接测频法原理图其中主门具有与门的逻辑功能,主门的一个输入端送人的是频率为fx的窄脉冲。它是由被测信号经放大整形后得到的,主门的另一个输入端送入的是来自门控闸门信号时间Ts。因为门控是受时基控制,所以Ts既准确有稳定。设计时通过晶振和分频器的配合,可以获得0.1s、1s、10s等闸门时间,由于主门的与功能,其输出端只有在闸门信号Ts有效期间才有频率fx的窄脉冲输出,并送到计数器去计数,计数值为N=Ts/Tx=Ts*fx,它与被测信号的频率fx成正比,由此可得fx=N/Ts(3.1)由上式可知,当闸门时间Ts为1s时,N值即为被测信号的频率。计数式直接测频方法由于主门的开启时间与被测信号之间不同步,而使计数器值N带有±1量化误差,且当被测信号频率越低时,该量化误差的影响越大,若再考虑由晶体振荡器引起的闸门时间误差,则对式(3.1)进行误差的累积与合成运算后,可得到计数式直接测频误差的计算公式如下:5北京理工大学珠海学院2010届本科生毕业设计)1(fcfcTsfxTsTsNNxfxfxΔ+±=Δ-Δ=Δ(3.2)上式右边第一项为量化误差的相对值,其中△Nx=±1,第二项为闸门时间的相对误差,数值上等于晶体振荡器基准频率的相对不确定度∣△fc/fc∣。分析表明,在fx一定时,闸门时间Ts选得越长,测量准确度越高,而当Ts选定后,fx越高,由于±1误差对测试结果的影响减小,测量准确度越高。但是随着±1误差影响的减小,闸门时间自身的准确度对测量结果的影响不可忽略,这时可认为∣△fc/fc∣是计数式直接测频率准确度的极限。3.2计数式直接测周期周期测量基本原理图如图3-2所示:主门10计数显示NKTx晶振分频器0.1s1s10s信号输入放大、整形分频器KTxTo图3-2直接测周法原理图与计数式直接测频原理方框图相比,其中门控改由输入信号放大、整形和分频后的脉冲控制,所以闸门时间的宽度就等于K倍被测信号的周期KTx,而主门的另一个输入端有晶体振荡器和分频器产生周期为T0的时标脉冲信号。由于主门的与功能,它只在kTx期间有时标脉冲信号输出,并由计数器计数,其值为N。不难看出,被测信号的周期为:Tx=NT0/K(3.