基于FPGA的数字频率计设计Word文件下载.docx
- 文档编号:18237991
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:44
- 大小:304.70KB
基于FPGA的数字频率计设计Word文件下载.docx
《基于FPGA的数字频率计设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于FPGA的数字频率计设计Word文件下载.docx(44页珍藏版)》请在冰豆网上搜索。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,对以硬件描述语言HDL(HardwareDescriptionLanguage)为系统逻辑描述手段完成设计文件,由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局布线、逻辑优化和仿真测试,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度,这是电子设计技术的一大进步。
目前,以硬件描述语言HDL完成电路设计,借助EDA工具经过简单的综合与布局,快速的烧录至FPGA(Field-ProgrammableGateArray,现场可编程门阵列)或者CPLD(complexprogrammablelogicdevice,复杂可编程逻辑器件)上进行测试,是现代IC设计验证的技术主流。
硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL主要有VHDL、VerilogHdl、ABEL、AHDL、SystemVerilog和SystemC。
本设计采用的是VHDL语言。
VHDL的英文全名是VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage。
VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化,结构化设计方面,表现了强大的生命力和应用潜力。
频率是信号的一个基本参量,信号的频率直接影响着电子系统的性能。
测量信号频率的工具,即频率计,是电子系统测量常用工具。
频率计是一种用十进制数字显示被测信号频率的数字测量仪器[1]。
它的基本功能是测量正弦信号、方波信号、尖脉冲信号及其他各种单位时间内变化的物理量。
在传统的电子测量仪器中,示波器在进行频率测量时测量精度较低,误差较大。
频谱仪可以准确的测量频率并显示被测信号的频谱,但测量速度较慢,无法实时快速的跟踪捕捉到被测信号频率的变化。
由于频率计能够快速准确的捕捉到被测信号频率的变化,因此,频率计拥有非常广泛的应用范围。
但是实际的硬件设计用到的器件较多,连线比较复杂,而且会产生较大的延时,造成的测量误差、可靠性差。
随着FPGA等可编程逻辑器件的发展,EDA技术配合开发软件运用HDL语言设计的方式改变了传统电子设计实现时的器件多、可靠性性等缺点,且它的开发周期短,开发成本低,在硬件电路不变时,通过修改源程序,便可增加新功能,实现数字系统硬件的软件化,是现代电子设计技术的核心和潮流。
1.2研究内容及方法
本设计主要研究了基于FPGA的自适应数字频率计系统的设计方案与实现过程。
系统可以测量正弦波、方波、三角波等波形的频率,测量频率范围为0~10MHz,分为0~999Hz,1~999.999KHz,1~9.999999MHz三档,并可自适应换挡。
为了实现上述设计功能及要求,数字频率计系统应分为外围电路:
信号放大整形电路和数码管动态显示模块;
核心模块:
FPGA模块。
本设计除了对被测信号的整形部分和对测量值的数码管显示部分外,在QuartusⅡ软件平台上应用VHDL文本输入设计方法实现FPGA模块的设计。
其中涉及到在软件平台QuartusII环境下采用层次化的设计方法,首先通过VHDL语言来编写程序,从而实现FPGA部分的各个功能模块,并对各个模块进行仿真。
然后以例化语句完成顶层设计,最后对整个系统进行仿真。
软件部分功能验证正确后,下载到以EP1C6Q240C8芯片为核心的GW48EDA_PK2/PK3实验箱上进行测试。
信号整形放大电路通过Multisim软件进行设计及仿真。
第2章EDA与FPGA概述
2.1EDA技术概述
EDA技术在硬件实现方面融合了大规模集成电路制造技术、IC版图设计、专用集成电路ASIC(ApplicationSpecificIntegratedCircuit)测试和封装、FPGA/CPLD编程下载和自动测试等技术;
在计算机辅助工程方面融合了计算机辅助设计CAD(Computer-AidedDesign)、计算机辅助制造CAM(computer-aidedmanufacturing)、计算机辅助测试CAT(ComputerAidedTranslation)、计算机辅助工程CAE(ComputerAidedEngineering)以及多种计算机语言的设计概念;
而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及其高频的长线技术理论等[2]。
回顾近30年电子设计技术的发展历程,可将EDA技术分为三个阶段:
七十年代为CAD阶段,人们用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作,产生了计算机辅助设计的概念;
八十年代为CAE阶段,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计;
九十年代为ESDA阶段,人们开始追求贯彻整个设计过程的自动化,这就是ESDA即电子系统设计自动化。
传统的电子设计的基本思路是选择标准集成电路“自底向上”的构造出一个新的系统。
这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成本高而且容易出错。
ESDA代表了当今电子设计技术的最新发展方向,它的基本特征是:
设计人员按照“自顶向下”的设计方法,首先从系统设计入手,在顶层进行功能方框图的划分和结构设计;
在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证;
然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。
由于设计的主要仿真和调试过程是在高层次上完成的,有利于早期发现结构设计上的错误,避免设计工作的浪费,同时也减少了逻辑功能仿真的工作量,提高了设计的一次成功率[3]。
2.2FPGA概述
FPGA和CPLD可编程逻辑器件代表了现今最先进和最热门的EDA技术的发展方向。
现代电子产品的复杂度日益加深,这就带来了体积大、功耗大、可靠性差的问题。
解决这一问题的有效方法就是采用ASIC(ApplicationSpecificIntegratedCircuits-专用集成电路)芯片进行设计。
ASIC按照设计方法的不同可分为:
全定制ASIC,半定制ASIC,可编程ASIC(即可编程逻辑器件PLD)。
全定制ASIC和半定制ASIC都是约束性的设计方法,其主要过程是先由设计师进行设计和定义,再由厂家完成IC制作。
PLD则与上述两种设计方法不同:
设计人员完成版图设计后,在实验室内就可以烧制出自己的芯片,无须IC厂家的参与,大大缩短了开发周期[4]。
近年来,随着集成电路的深亚微米制造技术和设计技术的迅速发展,集成电路进入了片上系统(SOC-SystemOnaChip)时代。
它在单一芯片上集成了数字电路、模拟电路、信号采集和转换电路、存储器、MPU、MCU、DSP、MPEG等,实现了过去需要多片集成电路才能完成的功能。
随着SOC技术的发展,也出现了面向SOC的PLD。
如Xilinx公司推出的Virtex系列、Altera公司推出的APEX20K系列集成度都达到了百万门乃至千万门以上,有的SOCPLD还专门集成了CPU。
随着PLD技术和器件性能的不断提高,PLD器件尤其是FPGA器件,已成为现代高层次电子设计方法的首选实现载体。
本系统在以Cyclone公司出产的型号为EP1C6Q240C8的FPGA芯片为核心的GW48EDA_PK2/PK3实验箱上进行硬件测试。
2.3基于EDA软件的FPGA开发流程
完整地了解利用EDA技术进行设计开发的流程对于正确地选择和实验EDA软件、优化设计项目、提高设计效率十分有益,一个完整的,典型的EDA设计流程既是自顶向下设计方法的具体实施途径,也是EDA工具软件本身的组成结构。
FPGA的EDA开发流程如图2-1所示,其具体步骤如下[5]:
(1)设计输入。
设计输入包括图形输入和硬件描述语言文本输入。
图形输入通常包括状态图输入、波形图输入和原理图输入等方法。
硬件描述语言文本输入与传统的计算机软件语言编辑输入基本一致,就是将使用了某种硬件描述语言的电路设计文本,如VHDL,进行编辑输入。
(2)综合。
综合就其字面含义应该为把抽象的实体结合成单一或统一的实体。
因此,综合就是把某些东西结合到一起,把设计抽象层次中的一种表述转化成另外一种表述的过程。
对于电子设计领域的综合概念可以表示为:
将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配而成的过程。
图2-1FPGA的EDA开发流程图
(3)布线布局。
布线布局也称为适配。
适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件。
适配器选定的目标器件必须属于原综合器指定的目标器件系列。
适配完成后可以对适配产生的仿真文件进行精确的时序仿真,同时产生可用于编程的文件。
(4)仿真。
在编程下载前必须利用EDA工具对适配生成的结果进行模拟测试,就是所谓的仿真。
仿真就是让计算机根据一定的算法和一定的仿真库对EDA设计进行模拟,以验证设计,排除错误。
(5)下载和硬件测试。
把适配后产生的下载或配置文件,通过编程器或编程电缆向FPGA或CPLD进行下载,以便进行硬件调试验证。
第3章VHDL与QuartusⅡ概述
3.1VHDL语言
硬件描述语言HDL是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统尤其可编程逻辑器件的设计。
随着EDA技术的发展,使用硬件语言设计CPLD或FPGA成为一种趋势。
目前最主要的硬件描述语言是VHDL和VerilogHDL。
VHDL发展的较早,语法严格,而VerilogHDL是在C语言的基础上发展起来的一种硬件描述语言,语法较自由。
VHDL和VerilogHDL两者相比,VHDL的书写规则比Verilog烦琐一些,但verilog自由的语法也容易让少数初学者出错[6]。
本文主要采用VHDL编写程序。
因此,VHDL在支持各种模块的设计方法,如自顶向下与自底向上或混合方法方面,以及在面对当今许多电子产品生命周期的缩短,需要多次重新设计以融入最新技术,改变工艺等方面都表现出了良好的适应性。
用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的于工艺有关的因素花费过多的时间和精力。
3.2QuartusII软件平台
目前使用比较广泛的PFGA开发工具有Altera公司的MAX+PLUSII和Quartus,Xilinx公司的Foundation和ISE,Lattice公司的ISPSynario和ISPLever,以及其他由第三方公司开发的平台。
本系统采用的仿真平台为QuartusⅡ,因此下面主要介绍一下Altera公司的QuartusII平台。
QuartusⅡ应用开发工具提供完整的多平台设计环境,它可以轻易满足特定设计的需要,是可编程片上系统(SOPC)设计的综合性环境。
它可在个人计算机或Unix/Linux工作站上使用,提供广泛的器件支持库、高速的编译效率、较好的图形界面和便捷的仿真平台,大大简便了整个设计过程,做到真正的快速CPLD/FPGA应用开发。
QuartusⅡ设计软件提供了完全集成且与电路结构无关的开发包环境,可进行层次化的工程设计,不同的功能模块上选择不同的源文件输入方式可设计出不同的底层功能模块,然后再把这些模块用元件例化语句组装起来,便可生成具有一定功能的器件,设计自由,操作方便[7]。
QuartusII设计方法有HDL文本输入方式,原理图输入方式,状态图输入方式以及混合输入方式。
本设计采用的是HDL文本输入方式,基于QuartusII的HDL文本输入设计流程如下:
(1)创建工程准备工作。
任何一项设计都是一项工程,都必须首先为此工程建立一个放置与此工程相关的所有设计文件的文件夹。
(2)创建工程。
在此要利用NewProjectWizard工具选项创建此设计工程,并设定此工程的一些相关信息,如工程名、目标器件、综合器、仿真器等。
(3)编译前设置。
在对工程编译处理前,必须做好必要的设置。
(4)全程编译。
QuartusII编译器是由一系列处理模块构成的,这些模块复杂对设计项目的检错、逻辑综合、结构综合、输出结果的编辑配置,即时序分析。
(5)时序仿真。
工程通过编译后,必须对其功能和时序性质进行仿真测试,以了解设计结果是否满足原设计要求。
(6)观察RTL电路图。
QuartusII可实现硬件描述语言或网表文件对应的RTL电路图的生成。
(7)引脚锁定和下载。
为了能对设计进行硬件测试,应将其输入输出信号锁定在芯片确定的引脚上,将编译产生的SOF格式配置文件下载进FPGA中。
当硬件测试完成后,还必须对配置芯片进行编程,完成FPGA的最终开发。
第4章系统设计及组成原理
4.1基于FPGA的数字频率计的设计算法原理
频率测量方法主要有以下三种:
(1)直接测频法
这个方法又称M法。
其基本原理为在一个单位时间T内计数被测信号的上升沿或下降沿的个数N。
根据公式4-1即可求得被测信号频率
:
(4-1)
如果单位时间T的长度为1s,则被测信号的频率就是N,单位为Hz。
这个方法的优点是过程简单,计算量少,计数值就是被测信号的频率。
误差主要来源于单位时间T是否精确,计数个数存在
的误差。
这一误差对低频信号影响较大,对高频信号的影响可忽略。
(2)等精度测频法
这个方法又称M/T法。
其基本原理为是在直接测频法的基础上改进而来的,闸门信号的产生分为两个步骤:
首先由标准时钟产生一个预设闸门信号,然后用被测信号同步预设闸门信号产生实际闸门信号。
标准时钟和被测信号在实际闸门内进行计数得到
和
,标准时钟的频率为
。
根据公式4-2可求得被测信号的频率
(4-2)
这个方法在测低频信号时,精度比直接测频法有所改进;
但是对高频信号特别是频率比标准时钟高的信号效果不会有很大改善。
(3)周期测频法
其基本原理为被测信号作为闸门信号,而将频率较高的标准频率信号作为填充脉冲进行计数。
设标准频率信号的频率为
,在一个闸门时间内计数值为N,则根据公式4-3可得到被测信号的频率
(4-3)
这种方法的优点是测量时间快,最短只需要被测信号的一个周期;
缺点是需要进行倒数运算,即除法运算。
误差主要是时间间隔T依赖标准时钟的精度;
计数时间间隔也存在
1的误差;
除法运算也存在一定的误差。
这些误差对低频信号影响小,对高频信号影响大,特别是当被测信号的频率大于标准信号时这种方法几乎不能使用[8]。
本设计采用的是直接测频法,取闸门时间为1s。
由公式4-1可知,当T取1s时,
,也就是计数器的计数值即被测频率。
T除了通常取1s外,根据被测信号的范围也可以取0.1s、0.01s或几秒,这样求得的N值必须乘以10、100或除以若干倍后,才能得到所求的
闸门时间越长,得到的频率值就越准确,但每次测量的间隔时间就越长。
闸门时间越短,测量的频率值刷新就越快,但测得的频率精度会受影响。
4.2基于FPGA的数字频率计的系统组成原理
基于FPGA的数字频率计系统的原理框图如图4-1所示,系统主要包括:
信号放大整形电路,FPGA部分和数码管显示部分。
正弦波、方波、三角波等被测信号通过信号整形电路得到同频率的矩形波以便于对频率的测量,运行于FPGA的各功能模块完成频率的测量,并根据频率所处的档位将测量结果输出给数码管显示部分动态显示。
其中信号整形电路和数码管显示部分等外围电路比较简单,FPGA部分是整个系统的核心[9]。
图4-1基于FPGA的数字频率计的原理框图
为了实现频率测量功能及设计要求,FPGA部分应包括分频器,测频控制信号发生器,计数器,锁存器,自适应模块,分频比重置器,数码管扫描译码模块。
这些功能都采用VHDL语言编程并下载到FPGA实现。
FPGA部分的系统工作原理如图4-2所示。
基准信号经过分频器得到测频控制信号发生器需要的频率为1Hz的时钟信号和数码管动态显示需要的扫描时钟信号,测频控制信号发生器在1Hz的时钟信号的控制下输出计数器控制信号和锁存器控制信号。
分频比重置器在分频器的溢出信号下提供预置数保持分频器的分频比。
计数器在计数器控制信号的控制下对经过信号整形电路得到的与待测信号同频率的矩形波的上升沿进行计数,计数完成后,锁存器在锁存控制信号的控制下将计数结果锁存。
这一计数值即为待测信号的频率。
自适应模块根据计数值决定档位,并为数码管扫描译码模块提供档位信号及相应档位计数值的BCD码。
数码管扫描译码模块输出8位数码管的位选信号和相应的每个数码管的八段段码,实现测量结果的动态显示。
由于频率档位分为0~999Hz,1~999.999KHz,1~9.999999MHz三档。
,为了区分档位,可以通过数码管的显示区分档位。
在0~999Hz时,第一位数码管显示‘A’,单位为Hz;
在1~999.999KHz时,第一位数码管显示‘b’,单位为KHz;
在1~9.999999MHz时,第一位数码管显示‘c’,单位为MHz。
图4-2FPGA组成原理框图
第5章系统的实现及仿真
5.1信号放大整形电路
(1)信号放大整形电路设计
本设计可以测量正弦波、方波、三角波等波形,为了便于测量需要对被测周期信号进行放大整形,使之成为矩形脉冲。
如图5-1所示的信号放大整形电路主要由晶体管2N3391和与非门74LS00组成。
其中晶体管2N3391组成的分压式工作点稳定放大电路将输入的被测信号进行放大,调节滑动变阻器可以改变放大倍数。
与非门74LS00构成的施密特触发器对放大器的输出信号进行整形,使之成为矩形脉冲。
与非门u2和u3组成基本RS触发器,u1实质是一个非门,二极管D1起电平偏移作用,它导通时的压降约为0.7V[10]。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 数字频率计 设计