基于FPGA的频率测量仪的设计毕业设计Word下载.docx
- 文档编号:21817461
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:38
- 大小:626.52KB
基于FPGA的频率测量仪的设计毕业设计Word下载.docx
《基于FPGA的频率测量仪的设计毕业设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于FPGA的频率测量仪的设计毕业设计Word下载.docx(38页珍藏版)》请在冰豆网上搜索。
参考文献23
附录……………………………………………………………………………..24
致谢……………………………………………………………………………39
基于FPGA的频率测量仪的设计
摘要
本文介绍了基于FPGA的数字频率计的设计方法。
设计采用硬件描述语言VHDL进行编程,并在软件平台QuartusⅡ7.2上完成部分功能,让该频率计可以在较高的时钟频率下正常工作。
该数字频率计采用测频的方法能基本测量1Hz到10MHz之间的信号。
我在设计时设计类六个模块,执行不同的功能,然后利用这六个模块,综合成一顶层文件,来实现频率计的功能设计,并且使用仿真软件QuartusⅡ7.2对各个模块的VHDL程序和顶层做了仿真。
关键词:
VHDL,数字频率计,FPGA,QuartusⅡ7.2
DesignoffrequencymeasuringinstrumentbasedonFPGA
Abstract
ItisintroducedinthispaperthatthedesignmethodofdigitalfrequencymeterbasedonFPGA,whichuselanguage-VHDLinsoftwaredevelopmentplatformQuartusⅡ7.2andwordinrelativelysixmodulesinthedesign,performdifferentfunctions,Thenusingthesesixmodules,integratedintoatop-levelfiles,torealizethefunctionofthedesignfrequency,ThissystemusesthesimulationtoolQuartusⅡ7.2torunanddebugtheVHDLprogram.
Keywords:
VHDL,Frequencymeasurement,digitalfrequencymeter,FPGA,QuartusⅡ7.2
1绪论
1.1研究背景:
频率测量仪是一种应用非常广泛的电子测量仪器,近年来随着科技发展频率测量仪被广泛应用于各个领域。
频率测量仪是一种基础测量仪器,目前已有30年的历史。
人们衡量频率测量仪的标准是测量的范围以及测量的精度。
如今技术发展飞快,基本技术已经应用完善,应用现代技术我们可以轻松扩展频率测量仪的测频上限。
对于电子技术来说,虽然我国发展迅速,但就整体来讲我国与西方国家的差距还是很大的,我们必须更加重视这个现状,努力学习和研究电子技术,学习国外先进文化,才有可能超越他们成为科技强国。
1.2研究现状:
随着科学技术的发展,我们对频率测量仪的要求也越来越高。
现在频率测量仪使用操作方便,量程宽,可靠性能高,价格低,分辨率高,精度高,稳定度高,测量速率高;
除通常通用计数器所具有的功能外,还有数据处理功能,时域分析功能,电压测量等其他功能。
这些要求有的已经实现或者部分实现,但要真正实现这些目标,还有许多工作要做,而不是表面看来似乎发展到头了。
由于计算机技术的发展,频率测量仪设计技术也不断地进步,灵敏度不断提高,频率范围不断扩大,功能不断地增加。
为了能正确地测量不同类型的信号,必须了解待测信号特性以及各种频率测量仪器的性能和优缺点。
1.3发展趋势:
数字电路技术的进步,使系统设计人员可以在更小的空间实现更多的功能,提高了系统可靠性和速度。
如今,频率测量仪已经不单是测量信号频率的装置了,还可以用它测量方波脉冲的脉宽。
在人们的生活中频率计也发挥着越来越重要的作用。
在以后的生活中它将更广泛的用于各个领域,而且更加精确测量范围更广。
顺应电子技术的发展趋势,可编程逻辑器件和EDA技术使设计方法发生了质的变化。
把以前“电路设计+硬件搭试+调试焊接”转化为“功能设计+软件模拟+仿真下载”。
利用EDA开发工具,采用可编程逻辑器件CPLDFPGA使硬件的功能可通过编程来实现,这种新的基于芯片的设计方法能够使设计者有更多机会充分发挥创造性思维,实现多种复杂数字逻辑系统的功能,将原来由电路板设计完成的工作放到芯片的设计中进行,减少了连线和体积,提高了集成度,降低了干扰,大大减轻了电路设计和PCB设计的工作量和难度,增强了设计的灵活性,有效地提高了工作效率,增加了系统的可靠性和稳定性,提高了技术指标。
近年来随着科技的飞速发展,FPGA的应用正在不断地走向深入,在很多领域中FPGA往往是作为一个核心来使用。
而且FPGA的应用也越来越频繁越来越方便。
1.4研究目的和意义
目的:
我们要能熟练运用FPGA技术、VHDL编程语言以及电路电子知识,设计出综合的数字系统,进一步理解电子设计自动化——EDA技术。
并且能够利用VHDL语言,在QuartusII开发环境中编程、调试、仿真、并能将程序下载到FPGA中,并结合辅助电路,来完成频率测量仪的设计。
通过本课题的设计,能够培养我们综合运用知识的能力,实践应用的能力,分析问题与解决问题的能力,激发我们的创新精神。
意义:
频率测量仪是计算机、广播等通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
因此,频率的测量以及测量的精度是否高就显得更为重要。
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得尤为重要。
测量频率的方法有多种,其中频率测量仪具有使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
如今频率测量仪在电子测量、航海、军事、探测、等众多领域都得到了应用。
1.5研究内容和要求
1.编程时用硬件描述语言VHDL语言来实现频率测量仪功能,使其能计算出某一段时间内的待测信号的脉冲个数,并且能够通过数码管显示出来。
2.之后在QuartusII7.2中进行VHDL程序的编译调试、功能仿真与时序仿真,来验证频率测量仪逻辑功能的正确性。
在仿真通过后
2相关技术综述
2.1FPGA(可编程逻辑器件)
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物[8]。
我们认为,基于EDA技术的FPGACPLD器件的开发应用可以从根本上解
决MCU所遇到的问题。
与MCU相比,FPGACPLD的优势是多方面的和根本
性的:
(1).编程方式简便、先进。
FPGA产品越来越多地采用了先进的
IEEE1149.1边界扫描测试(BST)技术(由联合测试行动小组,JTAG开发)和
ISP(在系统配置编程方式)。
在+5V工作电平下可随时对正在工作的系统上的
FPGA进行全部或部分地在系统编程,并可进行所谓菊花链式多芯片串
行编程,对于SRAM结构的FPGA,其下载编程次数几乎没有限制(如Altera
公司的FLEXIOK系列)。
这种编程方式可轻易地实现红外编程、超声编程或无
线编程,或通过电话线远程在线编程。
这些功能在工控、智能仪器仪表、通讯
和军事上有特殊用途。
(2).高速。
FPGA的时钟延迟可达纳秒级,结合其并行工作方式,在
超高速应用领域和实时测控方面有非常广阔的应用前景。
(3).高可靠性。
在高可靠应用领域,MCU的缺憾为FPGA的应用留
下了很大的用武之地。
除了不存在MCU所特有的复位不可靠与PC可能跑飞
等固有缺陷外,FPGA的高可靠性还表现在几乎可将整个系统下载于同
一芯片中,从而大大缩小了体积,易于管理和屏蔽。
(4).开发工具和设计语言标准化,开发周期短。
由于FPGACPLD的集成规
模非常大,集成度可达数百万门[14]。
因此,FPGA的设计开发必须利用功
能强大的EDA工具,通过符合国际标准的硬件描述语言(如VHDL或
Verilog-HDL)来进行电子系统设计和产品开发。
由于开发工具的通用性、设计语言
的标准化以及设计过程几乎与所用的FPGA器件的硬件结构没有关
系,所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性,它几乎
可用于任何型号的FPGA中,由此还可以以知识产权的方式得到确认,并
被注册成为所谓的IP芯核,从而使得片上系统的产品设计效率大幅度提高。
由
于相应的EDA软件功能完善而强大,仿真方式便捷而实时,开发过程形象而
直观,兼之硬件因素涉及甚少,因此可以在很短时间内完成十分复杂的系统设
计,这正是产品快速进入市场的最宝贵的特征。
美国TI公司认为,一个ASIC80
%的功能可用IP芯核等现成逻辑合成。
EDA专家预言,未来的大系统的FPGA
设计仅仅是各类再应用逻辑与IP芯核的拼装,其设计周期最少仅数分钟。
(5).功能强大,应用广阔。
目前,FPGA可供选择范围很大,可根
据不同的应用选用不同容量的芯片。
利用它们可实现几乎任何形式的数字电路
或数字系统的设计。
随着这类器件的广泛应用和成本的大幅度下降,FPGA
在系统中的直接应用率正直逼ASIC的开发。
同时,FPGA设计方法也有其局限性。
这主要体现在以下几点:
(1).FPGA设计软件一般需要对电路进行逻辑综合优化(LogicSynthesis&
Optimization),以得到易于实现的结果,因此,最终设计和原始设计之间在逻辑实现和时延方面具有一定的差异。
从而使传统设计方法中经常采用的一些电路形式(特别是一些异步时序电路)在FPGACPLD设计方法中并不适用。
这就要求设计人员更加了解FPGACPLD设计软件的特点,才能得到优化的设计。
(2).FPGA一般采用查找表(LUT)结构(Xilinx),AND-OR结构(Altera)或多路
选择器结构(Actel),这些结构的优点是可编程性,缺点是时延过大,造成原
始设计中同步信号之间发生时序偏移。
同时,如果电路较大,需要经过划分才
能实现,由于引出端的延迟时间,更加大了延迟时间和时序偏移。
时延问题是
ASIC设计当中常见的问题,要精确地控制电路的时延是非常困难的,特别是
在像FPGACPLD这样的可编程逻辑当中。
(3).FPGA的容量和IO数目都是有限的,因此,一个较大的电路必
须经过逻辑划分((LogicPartition)才能用多个FPGA芯片实现,划分算法
的优劣直接影响设计的性能。
(4).由于目标系统的PCB板的修改代价很高,用户一般希望能够在固定引出端分配的前提下对电路进行修改。
但在芯片利用率提高,或者芯片IO引出端很多的情况下,微小的修改往往会降低芯片的布通率。
(5).早期的FPGA芯片不能实现内存、模拟电路等一些特殊形式的电路。
最新的一些FPGA产品集成了通用的RAM结构。
但这种结构要么利用率不
高,要么不完全符合设计者的需要。
这种矛盾来自于FPGA本身的结构局限性,
短期内很难得到很好的解决。
(6).尽管FPGA实现了ASIC设计的硬件仿真,但是由于FPGA和门阵列、
标准单元等传统ASIC形式的延时特性不尽相同,在将FPGA设计转向其它
ASIC设计时,仍然存在由于延时不匹配造成设计失败的可能性。
针对这个问
题,国际上出现了用FPGA数组对ASIC进行硬件仿真的系统(如Quickturn
公司的硬件仿真系统)。
这种专用的硬件仿真系统利用软硬件结合的方法,用
FPGA数组实现了ASIC快速原型,接入系统进行测试。
该系统可以接受指定
的测试点,在FPGA数组中可以直接观测(就像软件模拟中一样),所以大大
提高了仿真的准确性和效率。
2.2VHDL(硬件描述语言)
VHDL是硬件描述语言的一种,对系统硬件的描述功能很强而语法又比较简单。
因为VHDL具有强大的行为描述能力,使得设计者可以不懂硬件的结构,只需进行电子系统的设计和性能优化[3];
方便逻辑仿真与调试。
目前,VHDL作为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域已经成为事实上通用硬件描述语言。
VHDL语言与其它HDL语言相比有一些自己的特色,下面作一简要说明。
(1)设计功能强、方法灵活、支持广泛。
VDHL语言可以支持自上而下
(Top_Down)的设计方法,它具有功能强大的语言结构,可用简洁明确的代码
描述来进行复杂控制逻辑的设计,可以支持同步电路、异步电路、以及其它随
机电路的设计[5]。
其范围之广是其它HDL语言所不能比拟的。
此外,VHDL语言
可以自定义数据类型,这也给编程人员带来了较大的自由和方便。
(2)系统硬件描述能力强。
VHDL语言具有多层次的设计描述功能,可以从
系统的数学模型直到门级电路,支持设计库和可重复使用的组件生成,它支持
阶层设计且提供模块设计的创建[10]。
VHDL语言能进行系统级的硬件描述是它的
一个最突出的优点。
(3)可以进行与工艺无关编程。
VHDL语言设计系统硬件时,没有嵌入描述
与工艺相关的信息,不会因为工艺变化而使描述过时。
与工艺技术有关的参数可
通过VHDL提供的类属加以描述,工艺改变时,只需修改相应程序中的类属参数即可。
(4)VHDL语言标准、规范,易于共享和复用[12]。
VHDL既是IEEE承认的标
准,故VHDL的设计描述可以被不同的EDA设计工具所支持。
从一个仿真工
具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工
作平台移植到另一个工作平台去执行。
这意味着同一个VHDL设计描述可以在
不同的设计项目中采用,方便了设计成果的设计和交流。
另外,VHDL语言的
语法比较规范,从而其可读性比较好,给阅读和使用都带来了极大的好处。
(5)方便ASIC移植。
VHDL语言的效率之一,就是如果你的设计是被综合
到一个CPLD或FPGA的话,则可以使你设计的产品以最快速度上市。
当产品
的产量达到相当的数量时,采用VHDL进行的设计可以很容易转成用专用集成
电路(ASIC)来实现,仅仅需要更换不同的库重新进行综合。
由于VHDL是一
个成熟的定义型语言,可以确保ASIC厂商交付优良质量的器件产品。
此外,
由于工艺技术的进步,需要采用更先进的工艺时,仍可以采用原来的VHDL代
码。
2.3EDA技术
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的[4]。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术是以计算机为工具完成数字系统的逻辑综合、布局布线和设计仿真等工作。
电路设计者只需要完成对系统功能的描述,就可以由计算机软件进行系统处理,最后得到设计结果,并且修改设计方案如同修改软件一样方便。
利用EDA工具可以极大地提高设计效率[15]。
利用硬件描述语言编程来表示逻辑器件及系统硬件的功能和行为,是EDA设计方法的一个重要特征。
EDA技术在现在使用时越来越广泛,学习EDA也是刻不容缓。
2.4QuartusII
QuartusII是Altera提供的FPGACPLD开发集成环境,Altera是世界上最大的可编程逻辑器件供应商之一。
QuartusII在21世纪初推出,是Altera前一代FPGACPLD集成开发环境MAX+PLUSII的更新换代产品,其界面友好,使用便捷。
它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。
Altera的QuartusII提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为AlteraDSP开发包进行系统模型设计提供了集成组合环境。
QuartusII设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。
QuartusII也可利用第三方的综合工具。
同样,QuartusII具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。
此外,QuartusII与MATLAB和DSPBuilder结合,可以进行基于FPGA的DSP系统开发和数字通信模块的开发。
QuartusII包括模块化的编译器。
编译器包括的功能模块有分析综合器(Analsis&
Synthesis)、适配器(Fitter)、装配器(Assembler)、时序分析器(TimingAnalyzer)、设计辅助模块(DesignAssistant)、EDA网表文件生成器(EDANetlistWriter)、编辑数据接口(CompilerDatabaseInterface)等。
可以通过选择StartCompilation来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。
还可以通过选择CompilerTool(Tools菜单),在CompilerTool窗口中运行该模块来启动编译器模块。
在CompilerTool窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。
此外,QuartusII还包含许多十分有用的LPM(LibraryofParameterizedModules)模块,它们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量使用,也可以与QuartusII普通设计文件一起使用。
Altera提供的LPM函数均基于Altera器件的结构做了优化设计。
在许多实用情况中,必须使用宏功能模块才可以使用一些Altera特定器件的硬件功能,如各类片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES和DDIO电路模块等。
QuartusII编译器支持的硬件描述语言有VHDL(支持VHDL’87及VHDL’97标准)、VerilogHDL及AHDL(AlteraHDL)。
QuartusII支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块(元件)进行调用,从而解决了原理图与HDL混合输入设计的问题。
在设计输入之后,QuartusII的编译器将给出设计输入的错误报告。
可以使用QuartusII带有的RTLViewer观察综合后的RTL图。
3系统整体设计
3.1系统整体设计要求
1、测试频率范围为:
10Hz~100MHz的方波
2、显示工作方式:
a、用六位BCD七段数码管显示读数。
b、能够实现对高位无意义零的消隐。
3.2系统设计原理
【2】所谓“频率”,其实就是周期性信号在单位时间(1秒)内变化的次数。
如果在一定的时间间隔T内计数,计算可得某周期性信号的重复变化次数为N,则该信号的频率可表达为:
f=NT.
基于这一频率测量的原理我们可以使用某一单位时间内对被测信号脉冲频率进行计数的方法来求得对该信号的频率测量,并且要使测量结果尽量精确无误。
具体的实现过程简述如下:
首先,我们要将被测信号①(方波)加到闸门的输入端。
由一个高稳定的石英振荡器和一系列数字分频器组成了时基信号发生器,它输出时间基准(或频率基准)信号③去控制门控电路形成门控信号④,门控信号的作用时间T是非常准确的(由石英振荡器决定)。
门控信号控制闸门的开与闭,只有在闸门开通的时间内,方波脉冲②才能通过闸门成为被计数的脉冲⑤由计数器计数。
闸门开通的时间称为闸门时间,其长度等于门控信号作用时间T。
比如,时间基准信号的重复周期为1S,加到闸门的门控信号作用时间T亦准确地等于1S,即闸门的开通时间——“闸门时间”为1S。
在这一段时间内,如果计数器计得N=100000个数,根据公式f=NT,那么被测频率就是100000Hz。
如果计数式频率计的显示器单位为“KHz”,则显示100.000KHz,即小数点定位在第三位。
不难设想,若将闸门时间设为T=0.1S,则计数值为10000,这时,显示器的小数点只要根据闸门时间T的改变也随之自动往右移动一位(自动定位),那么,显示的结果为100.00Khz。
在计数式数字频率计中,通过选择不同的闸门时间,可以改变频率计的测量范围和测量精度。
这就是我的数字频率计的设计原理。
原来框图如下图所示。
3.3系统单元模块划分
1)分频器,分频器用于较高频率的时钟进行分频操作,得到较低频率的信号在该模块中我们要将输入信号分别分频到4个不同的频率段。
即将产生用于计数控制的时钟分别为1HZ,10HZ,100HZ脉冲和1KHZ的用于七段显示数码管扫描显示的扫描信号。
这是整个设计的基础模块,我们必须要完成这个模块的设计。
2)闸门选择器,当上一个模块的信号输入后,用于选择不同的闸门时间以及产生后续的小数点的显示位置。
这个模块的设计可以将该频率测量仪分成几个测量档,对不同频率范围的频率能够进行更精确的测量,使测量结果更加准确。
3)门控电路,该模块可以产生用于计数的使能控制信号,清零信号以及锁存器锁存信号。
该模块与计数器模块和锁存器模块共同作用后,可以产生清零,计数,锁存等功能。
这个模块的成功运行也对整个设计起着至关重要的作用。
如果这个模块设计不好或出错,那么频率的测量就会产生很大的误差。
4)计数器,该模块能够用于对输入的待测信号进行脉冲计数,使其能够将所测得的脉冲计数正确的输出。
这是整个设计中必不可少的环节。
5)锁存器,该模块能够用于对计数器输出数据的锁存,便于后续译码显示电路的对数据进行记忆显示,同时避免计数器清零信号对数据产生影响。
对整个模块的设计也是非常重要。
设计顶层模块时要将它与计数器模块相连接。
6)译码显示,该模块能够用于产生使七段显示数码管的扫描数字显示、小数点显示的输出信号,同时要能够对高位的无意义零进行消隐。
是整个系统设计的最后环节。
4系统各个模块设计及波形仿真
4.1各个模块设计
4.1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 频率 测量仪 设计 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)