基于FPGA的数字频率计设计毕业设计.docx
- 文档编号:28840215
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:42
- 大小:442.62KB
基于FPGA的数字频率计设计毕业设计.docx
《基于FPGA的数字频率计设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的数字频率计设计毕业设计.docx(42页珍藏版)》请在冰豆网上搜索。
基于FPGA的数字频率计设计毕业设计
摘要
EDA技术的发展,改变了传统的电子设计方法。
FPGA等大规模可编程逻辑器件的广泛应用,使电子设计变得和软件编程一样方便快捷。
电子设计技术的进步,也改变了传统频率计的设计方法。
常用的频率测量方法既有模拟的利用电路频率特性测量频率的方法,又有利用脉冲计数测量频率的数字方法。
随着数字电路技术的发展,以脉冲计数法为基础衍生出各种改进型的数字测频方法,在测量精度、测量响应的快速性等方面都有了很大提高。
本文分析了直接测频法和周期测频法的测量原理,说明了这两种测频方法产生±1个计数误差的原因。
多周期同步测频法由于实现了测频的闸门信号与被测脉冲信号的同步,消除了被测信号的±1个计数误差。
文中对多周期同步测频原理进行了深入分析,并通过计算这三种测频方法的测量误差,说明了这三种测频方法的优缺点和适用的测频场合。
由于多周期同步测频法的测量精度和被测信号的频率无关,是一种等精度测量方法,适用于宽范围的频率测量,所以本文采用多周期同步测频法来进行频率计的设计,给出了设计总体方案。
最终设计了一种基于FPGA技术的数字频率计,应用VHDL硬件开发语言,在Quartus
集成开发环境进行了仿真实现。
关键词
数字频率计;直接测频法;FPGA;硬件开发语言
Abstract
DevelopmentofEDAtechnologyhaschangedthetraditionalmethodofelectricaldesign.ExtensiveapplicationofprogrammablelogicdevicessuchasFPGAhasmadetheelectricaldesignasconvenientassoftwareprogramming.Theprogressofelectricaldesigntechnologyalsochangedthetraditionaldesignmethodoffrequencymeter.
Thecommonmeasurementmethodoffrequencyistoutilizethefrequencycharacteristicsofthecircuittomeasurefrequency,andalsotoadoptnumericalmethodofutilizingpulsecountingtomeasurefrequency.Withthedevelopmentofdigitalcircuittechnology,avarietyofimprovedfrequencymeasurementmethodsareproducedbasedonpulsecountingmethod.
Thispaperanalyzesthedirectfrequencymeasurementmethodandthemeasuringprincipleofperiodicfrequencymeasurementmethod,whichshowsthereasonswhythesetwomethodsproduceerrorof±1counts.Multi-periodsynchronousfrequencymeasurementmethodrealizedthesynchronizationofgatesignaloffrequencymeasurementandthemeasuredpulsesignal,eliminatingthemeasuredsignalerrorof±1counts.Thepaperanalyzesthemulti-periodsynchronousfrequencymeasurementprincipleindepthandindicatestheadvantagesanddisadvantagesofthesethreemeasurementmethodsandsuitablemeasuringoccasionsbycalculatingthemeasurementerrorofthesethreemethods.Asthemeasurementaccuracyofmulti-periodsynchronousfrequencymeasurementmethodisindependentonthemeasuredsignalfrequency,whichisanequal-accquracymeasurementmethod,itisapplicabletoawiderangeoffrequencymeasurement.Thefinaldesignofthedigitalfrequencymeter,applicationdevelopmentlanguageVHDLhardwarebasedonFPGAtechnologyinQuartusIIintegrateddevelopmentenvironmentsimulationimplementation.
Keywords
Digitalfrequencymeter;Directfrequencymeasurementmethod;FPGA;VHDL
第一章绪论
频率是电子技术领域最基本的参数之一,频率计是电子电气、仪器仪表等应用领域不可缺少的测量仪器,除电量以外,不少物理量的测量,如振动、转速等的测量都涉及到或可以转化为频率的测量。
1.1课题的研究背景
频率计的设计技术是随着电子电路技术的发展而逐步向前发展的,早期的频率计采用分立元件设计,设计周期长、稳定性差,并且成品体积大、功耗高。
数字电子技术和集成电路的发展,使得数字频率计广泛应用,数字频率计可以使用单元电路和单片机来设计实现。
相比分立件式的频率计来说,数字频率计提高了稳定性,减小了体积,但是数字频率计仍然存在着电路复杂、设计周期长等缺点,数字频率计的测量范围都是有限的,为测量不同频率的信号都要专门的设计某一部分电路,灵活性差。
20世纪末,随着微电子技术的进步和计算机技术的发展,在二者的相互促进下,以FPGA系列器件为代表的可编程逻辑器件的应用逐渐普及。
可编程逻辑器件把通用集成电路通过编程集成到一块尺寸很小的硅片上,成倍缩小了电路的体积,同时由于走线短,减少了干扰,提高了系统的可靠性。
由于这类器件可以通过软件编程而对其硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷,为数字电路系统的设计带来了极大的灵活性。
随着可编程逻辑器件集成规模不断扩大,自身功能的不断完善和计算机辅助设计技术的提高,在现代电子系统设计领域中的EDA便应运而生了。
EDA(电子设计自动化)是在CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)基础上发展起来的计算机辅助设计系统,EDA是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统设计的主要表达方式,以计算机软硬件开发系统为设计工具,自动完成集成电子系统设计的一门新技术。
1.2频率计的发展现状
由于社会发展和科技发展的需要,信息传输和处理的要求的提高,对频率的测量精度也提出了更高的要求,需要更高准确度的时频基准和更精密的测量技术。
而频率测量所能达到的精度,主要取决于作为标准频率源的精度以及所使用的测量设备和测量方法。
目前,国内外使用的测频的方法有很多,有直接测频法、内插法、游标法、时间—电压变化法、多周期同步法、频率倍增法、频差倍增法以及相位比较法等等。
直接测频的方法较简单,但精度不高。
内插法和游标法都是采用模拟的方法,虽然精度提高了,但是电路设计却很复杂。
时间—电压变化法是利用电容的充放电时间进行测量,由于经过A/D转换,速度较慢,且抗干扰能力较弱。
多周期同步法是精度较高的一种。
为了进一步地提高精度,通常采用模拟内插法或游标法与多周期同步法结合使用,虽然精度有了进一步的提高,但始终未解决±1个字的计数误差(±1个字的误差是指在规定的闸门时间内存在±1个信号的脉冲计数误差),而且这些方法设备复杂,不利于推广。
频率误差倍增法可以减小计数器的±1个字的误差,提高测量精度,但用这种方法来提高测量精度是有限的,因为如要得到2×10-13的测量精度,就要把被测频率fx倍频到mfx=1/2×1011Hz=5000MHz,这无论是对倍频技术,还是对目前的计数器都是很难实现的。
频差倍增—多周期法是一种频差倍增法和差拍法相结合的测量方法。
这种方法是将被测信号和参考信号经频差倍增使被测信号的相位起伏扩大,在通过混频器获得差拍信号,用电子计数器在低频下进行多周期测量,能在较少的倍增次数和同样的取样时间情况下,得到比测频法更高的系统分辨率和测量精度。
但是仍然存在着时标不稳而引入的误差和一定的触发误差。
以上只是对现存的几种主要的测频方法的概述,很显然从以上的分析中知道:
不同的测频方法在不同的应用条件下是具有一定的优势的。
本文设计的频率计主要应用于一般性的频率测量,对测量精度要求不是很高,通过比较各种测频方法优缺点,决定使用多周期同步测频法进行频率计的设计。
1.3课题研究的主要内容
本课题主要研究如下内容:
1.分析比较常用的几种测频方式的测量精度,选择一种合适的测频实现方式。
2.根据确定的测频方式分模块设计频率计。
3.用VHDL语言实现频率计的各个模块及频率计的总体设计。
4.将设计程序下载到FPGA中,并设计频率计的附件电路,完成频率计总体硬件设计。
1.4论文各章主要内容
本文旨在通过对于频率计数器理论,频率技术器这样一个完整系统的制作。
来加深自己对于FPGA技术的认识,同时加深对于频率计数器的学习。
具体主要包含以下内容:
第一章是绪论,主要介绍了课题的研究背景、研究现状以及该课题的研究内容。
第二章介绍了频率计量的原理、研究价值和几种常用的频率测量方法,重点介绍了直接测频法、周期测频法,对于本文的设计原理有了更加深入了解原理。
第三章介绍了FPGA的工作原理,同时介绍了VHDL语言。
并且进行了本电路FPGA的软件和硬件设计。
提出了频率计的总体设计方案,并按照不同功能对频率计的总体设计进行了模块划分。
第四章根据第三章的设计理论对各个模块进行了设计与实现,并对FPGA数字频率计进行了仿真。
验证了设计的搭建硬件仿真平台、计数仲裁单元仿真、除法器单元仿真、计时过程仿真。
第二章频率计测量原理
频率测量是电子测量领域的最基本测量之一。
由于频率信号抗干扰性强、易传输,可以获得较高的测量精度,所以测频方法的研究越来越受到重视,在检测技术中,常将一些电量或其他电参量转换成频率进行测量,以提高测量的精度。
2.1常用频率测量方法
目前,用于测量频率的方法很多,频率测量的准确度主要取决于所测量的频率范围以及被测对象的特点。
而测量所能达到的精度,不仅取决于作为标准使用的时钟频率的精度,也取决于所使用的测量设备和测量方法。
下面对几类常用的频率测量方法进行简单介绍。
2.1.1直读法测频
直读法测频是利用电路的频率特性进行频率的判读。
直读法测量频率有电桥测频法、谐振测频法、频率—电压转换测频法等。
1.电桥法
电桥法测频是利用交流电桥的平衡条件与电桥电源频率有关这一特性来测频的。
在电桥面板上将调节电桥平衡的可变电阻(或电容)的调节旋钮(度盘)按频率刻度,则在电桥指示平衡时,测试者便可从刻度上直接读得被测信号频率fx。
电桥法测频的测量精度约为±(0.5~1)%,一般用于低频段的测量。
在高频时,由于寄生参数影响严重,会使测量精确度大大下降,电桥测频法仅适用于10KHz以下的音频范围。
2.谐振法测频
谐振法测频是利用电感、电容组成的串联谐振回路或并联谐振回路的谐振特性来实现频率的测量。
当被测频率加到变压器式的谐振电路中时,调节电容使谐振电路达到谐振。
如果电容的调节度盘按谐振频率刻度,则可直接从该刻度读出被测频率值。
谐振法测量频率的误差大约在±(0.25~1)%范围内,主要用于高频段的频率测量。
谐振法优点是体积小、重量轻,不要求电源等,因而它目仍获得广泛的应用。
3.频率—电压转换测频法
频率—电压转换(f-v)测频法的原理是利用相关电路把正弦频率fx转换为周期相等、宽度、幅度均为定值的矩形脉冲序列,用低通滤波器滤除其全部交流分量,则平均值即直流分量。
如下式:
(2-1)
输出的直流电压Uo按频率刻度的电压表指示,则从电压表指针所指刻度便可直接读出被测频率fx。
f-v转换式频率计最高测量频率可达几兆赫。
可以连续监视频率的变化是这种测量法的突出优点。
2.1.2比较法测频
比较法测频就是用标准频率fc与被测频率fx进行比较,当把标准频率调节到与被测频率相等时指零仪表(零示器)便指零,此时的标准频率值即被测频率值。
比较法测频可分为拍频法测频与差频法测频两种。
前者是将待测频率信号与标准频率信号在线性元件上叠加产生拍频。
后者是将待测频率信号与标准频率信号在非线性元件上进行混频。
目前拍频法测量频率的绝对误差约为零点几赫兹,差频法测量频率的误差可优于10-5量级,最低可测信号电平达0.1μV~1μV。
拍频法和差频法在常规场合很少采用。
2.1.3脉冲计数法测频
计数法测频是数字频率计常用的、最基本的频率测量方法。
计数法就是在单位时间内对信号的周期个数进行计数。
计数法测频的精确度取决于基准时间的精确度和计数误差。
本设计采用计数法进行频率测量,下面对计数法的测频原理和基于计数法的几种的测频方法进行详细分析。
2.2脉冲计数法测量原理
计数法的原理就是在一定的时间内,对周期性脉冲的重复次数进行计数。
可用图2-1来说明。
设时间间隔为T,若周期性脉冲的周期为TA,则计数结果为:
(2-2)
由于T和TA两个量是不相关的,T不一定正好是TA的整数N倍,即T与NTA之间有一定误差,如图2-1所示。
图2-1计数法测量原理
图中∆t1是闸门开启时刻到第一个计数脉冲前沿的时间(假设计数脉冲前沿使计数器翻转计数),∆t2是闸门关闭时刻至下一个计数脉冲前沿的时间。
处在T区间内计数脉冲个数(即计数器计数结果)为N,则有:
(2-3)
其中,∆N的产生是由于计数时闸门的开启时刻与计数脉冲之间的时间关系不相关造成的,即在相同的闸门开启时间内,计数器所得的数并不一定相同。
当闸门开启时间T接近甚至等于被测信号周期Tx的整数倍时,∆N的绝对值最大,为∆N=±1。
所以,脉冲计数的最大绝对误差(又称量化误差)为:
(2-4)
最大相对误差为:
(2-5)
以上是脉冲计数法的测量原理和误差分析。
具体到应用脉冲计数法进行频率测量,通常根据频率值高低,又可分为直接测频法(M法)和周期测频法(T法)。
2.3基于脉冲计数的直接测频法
2.3.1直接测频法原理
直接测频法又称M法,是在脉冲计数法的基础上,选用一个频率相对较低的基准频率信号作为闸门信号(图2-1中信号b),而将被测信号转换为同频的周期性脉冲信号(图2-1中信号a),在固定闸门时间T内对其计数。
若计数结果为N,则用该方法测得的信号的频率为:
(2-6)
这里,时间间隔T=M·Tc=M/fc,Tc、fc分别是基准频率信号的周期和频率值,M为T时间内包含的基准频率信号的周期数。
很显然,直接测频法适合于测量频率较高的信号。
2.3.2直接测频法误差及测频范围分析
直接测频法的误差分析:
经过对直接测频法的分析,我们知道这种方法的主要误差来自阈门时间T以及计数器的结果正确与否,所以,我们可以得到总误差同可用分项误差这二者的绝对值进行相加,得到:
(2-7)
在上面这个公式中,最大量化误差的绝对值主要是由于阈门与被测计数脉冲这二者未在同一时刻打开的原因,然而,根据理论我们可以知道,即便这二者在同一时间开启,也未必能够得到一个相同的值。
在上面的公式中fx为预测基本频率,Δfx为预测频率变化量,我们用Δf0/f0来表示直测法的阈门时间相对误差,这一误差值是由于电路标准频率的偏差而产生的。
通常情况下,阈门时间的正确与否是根据不同的测频需求而先行制定的。
在以往的测频率误差中,阈门时间都会对结果造成一定的影响,为了避免这种影响,我们选取的标准频率的准确度应该取值高于被测信号2个数量级或2个数量级以上。
2.4基于脉冲计数的周期测频法
2.4.1周期测频法原理
周期测频法又称T法,是在脉冲计数法的基础上,将频率相对较高的基准信号作为周期性脉冲计数信号(图2-1中信号a),将被测信号转换为时间长度等同于被测信号周期的闸门信号(图2-1中信号b),在闸门时间T(被测信号周期)内对基准脉冲信号计数。
若计数结果为N,则用该方法测得的信号的周期为:
(2-8)
被测信号的频率为:
(2-9)
很显然,周期测频法适合于测量频率较低的信号。
2.4.2周期测频法的误差分析
经过对直接测周期法的分析,我们知道这种方法的主要误差在于标准频率
数器的结果正确与否,所以,我们可以得到总误差同可用分项误差这二者的绝对值进行相加,得到:
(2-10)
在上面这个2-10式中,最大量化误差的绝对值主要是由于阈门与被测计数脉冲这二者未在同一时刻打开的原因。
在上面的公式中,我们用Δf0/f0测法的阈门时间相对误差,这一误差值是由于电路标准频率的偏差而产生的。
通常情况下,阈门时间的正确与否是根据不同的测频需求而先行制定的。
在以往的测频率误差中,阈门时间都会对结果造成一定的影响,为了避免这种影响,我们选取的标准频率的准确度应该取值高于被测信号2个数量级或2个数量级以上。
由上文可以得出,被测频率fx越高,闸门开启时间T越长(M的值越大),测频的相对误差Δfx/fx越小,即测频的精确度越高。
2.5本章小结
本章主要介绍了常用的几种频率测量方法,并对各个测量方法的测量原理进行了说明,在原理说明的基础上对各个测量方法的最大相对误差进行了分析,给出了各个频率测量方法适用的测频场合。
第三章基于FPGA频率计的设计方案
FPGA是现场可编程逻辑阵列(FieldProgrammableGateArray)的英文缩写。
它和CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)一样,是目前常用的一类大规模可编程逻辑器件。
3.1FPGA的结构与工作原理
3.1.1查找表的原理与结构
对于组合逻辑电路来说,当前的输出总是当前输入的函数,并且当电路结构固定时,输入量不变,输出量也不会发生变化。
如图3-1所示组合逻辑电路。
图3-1组合逻辑电路示例
图3-1所示电路实现的组合逻辑为:
P=AB+C;Q=A(B+C)。
该组合逻辑电路的真值表如表3-1所示。
表3-1示例组合电路的真值表表3-2RAM中存储的数据
ABC
PQ
000
00
001
10
010
00
011
10
100
00
101
11
110
11
111
11
A2A1A0
D1D0
000
00
001
10
010
00
011
10
100
00
101
11
110
11
111
11
真值表决定了输入和输出之间的逻辑关系。
将真值表和随机存储器联系起来,我们会看到,若输入量A、B、C作为随机存储器的地址输入A2、A1、A0,则输出量P、Q可以看作是存储器中该地址对应的存储单元中存储的数据D1、D0。
如表3-2所示。
存储器中各个单元存入不同的数据,地址(输入量)和存储单元中的数据(输出量)可构成不同的组合逻辑关系。
这是用随机存储器(RAM)实现可编程组合逻辑的基本原理。
FPGA可编程逻辑的形成方法就是采用基于这种原理的可编程的查找表(LookUpTable,LUT)结构。
LUT是可编程的最小逻辑构成单元。
大部分的FPGA采用基于SRAM(静态随机存储器)的查找表逻辑形成结构,就是用SRAM来构成逻辑函数发生器。
目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16×1的RAM。
当用户在EDA开发环境中通过原理图或HDL语言描述了一个逻辑电路以后,EDA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。
FPGA查找表单元如图3-2所示。
图3-2FPGA查找表单元
至于一般情况下FPGA采用4输入的LUT,是因为,对于一个N输入的查找表,需要SRAM存储N个输入构成的真值表,需要2N个1位SRAM单元。
显然N不可能很大,否则LUT的利用率很低,所以一般FPGA的LUT多采用4输入的形式即N=4。
当逻辑函数的输入多于4个的时候,必须用几个查找表分开实现。
3.1.2FPGA的数字逻辑实现原理
我们以用FPGA来实现图3-3所示的数字电路来说明FPGA实现数字逻辑的原理。
在FPGA中,A、B、C、D输入信号由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到到LUT,LUT根据图3-3中虚线框内的逻辑关系通过编程已经事先写入了所有可能的逻辑结果,所以LUT通过地址查找到相应的数据,然后输出,这样组合逻辑就实现了。
电路中D触发器是可利用LUT后面D触发器来实现。
时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。
图3-3数字逻辑电路示例
触发器的输出与I/O脚相连,把结果输出到芯片管脚。
这样FPGA就完成了图3-3所示电路的功能。
这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。
对于一个LUT无法完成的电路,就需要通过进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。
3.2EDA技术与VHDL
3.2.1VHDL语言
本文的电路设计语言采用了传统的电路设计语言——VHDL。
这是一种高级的、被广泛应用于设计电路的硬件开发语言。
此硬件语言最早在上世纪的八十年代浮现于人们眼前,在VHDL语言被设计之处,是美国的国防部为了国家军队提高硬件开发的可靠性与缩短开发时间而研发的一种硬件语言。
在那个时候,VHDL的使用范围还是分有限。
VHDL即“Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage”。
在汉文的意思中,是速度非常快的、集成的、用来秒速电路硬件的语言。
经过多年的发展与使用,如今已经被广泛应用于各个领域,尤其是在数字电路的设计方面应用十分广泛。
在我国大陆地区,VHDL硬件语言主要被应用于FPGA/CPLD/EPLD的开发设计之中,只有一些非常有才能的企业应用VHDL来设计开发ASIC。
被主要使用在对系统结构行为、功能接口的VHDL语言,是一种硬件特征明显的语言,但它不仅仅包括了硬件特征的语句,它描
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 数字频率计 设计 毕业设计