




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学号:式修理7次学应用设计课程名FPGA原理及应用题目采用测频原理的数字频率计学院信息工程学院专业通信工程班级姓名指导教师陈适2021年6月20日课程设计任务书学生姓名:专业班级:通信1405班指导教师:陈适工作单位:信息工程学院题目:采用测频原理的数字频率计初始条件:VHDL硬件描述语言,QuartusII开发环境要求完成的主要任务:1 .采用测频法,设计一个4位十进制数字显示的数字频率计2 .其测量的范围为19999KHz课程设计进度安排序号阶段内容所需时间1力泵设计1天2软件设计2天3系统调试1天4撰写1天合计5天指导教师签名:系主任或责任教师签名:目录摘要I.AbstractII1 F
2、PGA、VHDL以及QuartusII简介1.1.1 FPGA简介.1.1.2 VHDL简介1.1.3 QuartusII简介2.2频率测量原理及方案3.2.1 设计要求3.2.2 测频原理3.3系统设计4.3.1 系统实现方案提出及确定4.3.2 系统组成5.4数字频率计VHDL设计与仿真6.5心得体会116参考文献12附录1.3摘要数字频率计是采用数字电路制做成的能实现对周期性变化信号频率测量的仪器.频率计主要用于测量正弦波、矩形波、三角波和尖脉冲等周期信号的频率值,其扩展功能可以测量信号的周期和脉冲宽度.数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比拟复杂,而
3、且会产生比拟大的延时,造成测量误差.假设使用现场可编程门阵列FPGA来实现,可使整个系统大大简化,而且提升了系统的整体性能和可靠性.本文介绍了测频原理,在此根底上描述了如何通过VHDL语言编程,在QuartusII仿真平台上编译、仿真、调试,设计出一个4位十进制数字显示的数字频率计.关键字:FPGA,数字电路,测频法,数字频率计AbstractDigitalfrequencymeterismadeofdigitalcircuitsystemcanachieveperiodicchangesignalfrequencymeasurementinstrument.Frequencymeterism
4、ainlyusedtomeasuresinewave,rectangularwave,trianglewaveandsharppulseandotherperiodicsignalfrequencyvalue.Itsexpansionfunctioncanmeasurethesignalcycleandpulsewidth.Digitalfrequencymeterisatypicalapplicationofdigitalcircuit,theactualhardwaredesignusedmoredevices,wiringismorecomplex,andwillproducerelat
5、ivelylargedelay,resultinginmeasurementerror.IfthefieldprogrammablegatearrayFPGAisused,thewholesystemcanbegreatlysimplified,andthewholeperformanceandreliabilityofthesystemcanbeimproved.Thispaperintroducestheprincipleoffrequencymeasurement,basedonthedescriptionofhowtousetheVHDLprogramminglanguage,inth
6、eQuartusIIsimulationplatformcompiler,simulationanddebugging,thedesignofadigitalfrequency4decimaldigitaldisplaymeter.Keywords:FPGA,digitalcircuit,frequencymeasuringmethod,digitalfrequencymeter1 FPGA、VHDL以及QuartusII简介首先对设计所采用的可编程逻辑器件FPGA、VHDL和QuartusII进行简单的介绍1.1 FPGA简介FPGA是20世纪80年代中期出现的高密度可编程逻辑器件,它一般由
7、布线资源分隔的可编程逻辑单元构成阵列,又由可编程I/O单元围绕阵列构成整个芯片,排列阵列的饿逻辑单元由布线通道中的可编程内连线连接起来实现一定的逻辑功能.一个FPGA包含丰富的具有快速系统速度的逻辑门、存放器和I/O组成.FPGA/CPLD芯片都是特殊的ASIC芯片,除了具有ASIC的特点外还有一下几个优点:随着超大规模集成电路VLSI工艺的不断提升,单一芯片内部可以容纳上百万个晶体管;FPGA/CPLD芯片出厂前100%都做过测试,不需要设计人员承当风险和费用;用户可以反复地编程、擦除、使用或者在外围电路不动的的情况下,用不同软件就可实现不同的功能,用FPGA/CPLD试制样片,能以最快的速
8、度占领市场.FPGA/CPLD软件包中有各种输入工具、仿真工具、幅员设计及编程器等全线产品,使电路设计人员在较短的时间内就可以完成电路的输入、编译、优化、仿真,直至最后芯片的制作.1.2 VHDL简介VHDL语言是一种用于电路设计的高级语言.它在80年代的后期出现.最初是由美国国防部开发出来供美军用来提升设计的可靠性和缩减开发周期的一种使用范围较小的设计语言VHDL的英文全写是:VHSICVeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage译成中文就是超高速集成电路硬件描述语言.因此它的应用主要是应用在数字电路的设计中.目前,它在中
9、国的应用多数是用在FPGA/CPLD/EPLD的设计中.当然在一些实力较为雄厚的单位,它也被用来设计ASIC.VHDL主要用于描述数字系统的结构,行为,功能和接口.除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言.VHDL的程序结构特点是将一项工程设计,或称设计实体可以是一个元件,一个电路模块或一个系统分成外部或称可视局部,及端口和内部或称不可视局部,既涉及实体的内部功能和算法完成局部.在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体.这种将设计实体分成内外局部的概念是VHDL系统设计的根本点.VHDL
10、主要特点有:1功能强大、设计灵活(2)支持广泛、易于修改(3)强大的系统硬件描述水平(4)独立于器件的设计、与工艺无关(5)很强的移植水平(6)易于共享和复用VHDL系统优势:(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述水平,从而决定了他成为系统设计领域最正确的硬件描述语言.强大的行为描述水平是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证.(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟.(2)VHDL语句的行为描述水平和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能.符合
11、市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现.(3)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表.(4)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必治理最终设计实现的目标器件是什么,而进行独立的设计.1.3QuartusII简介QuartusII作为一种可编程逻辑的设计环境,由于其强大的设计水平和直观易用的接口,越来越受到数字系统设计者的欢送.当前官方提供下载的最新版本是v13.0.QuartusII(3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能Har
12、dCopy器件统一设计流程的设计工具.工程师使用同样的低价位工具对StratixFPGA进行功能验证和原型设计,又可以设计HardCopyStratix器件用于批量成品.系统设计者现在能够用QuartusII软件评估HardCopyStratix器件的性能和功耗,相应地进行最大吞吐量设计.QuartusII可编程逻辑软件属于第四代PLD开发平台.该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计.Quartus平台与Cadence.ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供给商的开发工具相兼容,改良了
13、软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试水平.2频率测量原理及方案2.1 设计要求1 .采用测频法,设计一个4位十进制数字显示的数字频率计2 .其测量的范围为19999KHz2.2 测频原理数字频率计是用于测量信号频率的电路.本设计采用测频原理对数字频率计进行设计,下面对测频原理进行简要介绍.测频率时,以分频后的时钟信号作为闸门信号,由于输入信号的频率大于闸门信号频率,所以在闸门信号周期内,计算输入信号的周期数目,就可以计算出输入信号的频率值了.原理图如图1所示:被测信号闸门信号在确定的闸门时间号的频率为:fx=Nx/Tw的数值Nx
14、有关.图1原理图Tw内,记录被测信号的变化周期数或脉冲个数Nx,那么被测信这种方法的计数值会产生土个字误差,测试精度与计数器中记录3系统设计3.1 系统实现方案提出及确定方法一:采用小规模数字集成电路制作被测信号经过放大整形变换为脉冲信号后加到主控门的输入端,时基信号经限制电路产生闸门信号送至主控门,只有在闸门信号采样期间内输入信号才通过主控门,假设时基信号周期为T,进入计数器的输入脉冲数为N,那么被信号的测频率其频率F=N/T,其原理方框图如图2所示图2方案一测频原理图方案二:采用单片机进行测频限制单片机技术比拟成熟,功能也比拟强大,被测信号经放大整形后送入测频电路,由单片机对测频电路的输出
15、信号进行处理,得出相应的数据送至显示器显示.原理方框图如图3所示.图3单片机测频电路原理图采用这种方案优点是依赖成熟的单片机技术、运算功能较强、软件编程灵活、自由度大、设计本钱也较低,缺点是显而易见的,在传统的单片机设计系统中必须使用许多分立元件组成单片机的外围电路,整个系统显得十分复杂,并且单片机的频率不能做得很高,使得测量精度大大降低.万案三:采用现场可编程门阵列FPGA为限制核心采用现场可编程门阵列FPGA为限制核心,利用VHDL语言编程,下载烧制实现.将所有器件集成在一块芯片上,体积大大减小的同时还提升了稳定性,可实现大规模和超大规模的集成电路,测频测量精度高,测量频率范围大,而且编程
16、灵活、调试方便.综合上述分析,方案三为本设计测量局部最正确选择方案.3.2 系统组成如图4所示,本系统包含输入模块,FPGA模块,显示模块.输入模块包括基准时钟,复位信号和被测信号.FPGA模块是系统的核心局部,其包括分频、7位十进制计数器、数据处理和动态译码.当系统正常工作时,分频局部的作用是对基准时钟进行分频,得到一个闸门信号,作为7位十进制计数器的使能信号.数据处理局部用于取7位十进制计数器的有效高4位数据,送入动态显示译码局部进行显示译码.显示模块用于显示频率值.FPGA基准时钟J分频I复位信号被测信号7位十进制计数器数据处理态示码动U译图4系统组成框图4数字频率计VHDL设计与仿真本
17、设计采用QuartusII13.1对数字频率计进行设计.设计步骤如下:(1)翻开工程及设计输入1)双击桌面QuertusII13.1的图标翻开软件;2)File>OpenProject翻开事先已经创立并保存的工程文件,文件及源代码初始页面如图5所示;注意:文件夹要用英文命名图5初始界面示意图3)运行程序得到设置界面,此时需要先添加中间变量再设置各个变量参数的数据类型,运行设置图如图6所示;图6运行设置图存放器等参量如图6所示,例如b1b7,bcd0bcd3等.这里我们将显示类型设置为波形;clkl的值设置为100ns,显示波形也设置为要添加的管脚、rtnclk的值设置为10.0ns,波形
18、;start的初始值为十进制显示.1";b1b7、bcd、bcd0bcd3以及q和qq的数值类型都设置为(2)功能仿真1)保存设置参数后点击界面上方的“运行按钮,耐心等待几分钟(运行时长和参图7仿真图由输入设置我们可以计算出理论值:Nx=5000X10=50000fx=50000/200=250仿真后输出b3b2b1的值为253,与理论值相比拟存在很小的误差,根本上可以认为是一致的,从而得出仿真结果正确的结论.2鼠标点击左上方“调节图标后光标变为“+号,点击鼠标左键放大图片点击鼠标右键缩小图片调节界面以直观得观察输入输出,放大后的界面如图8所示;图8放大后的仿真图由放大后的仿真图,我
19、们可以清楚得看到q栏和qq栏的逐个计数,也可以很明显得观察到clk信号波形和clkl信号得波形关系.3点击菜单栏的“Tools,从下拉列表里选择“NetistViewers",再从下一级的下拉列表中选择“RTLViewers便可得RTL图,如图9所示;(1IL-kF图9RTL图4通过调出综合图可以得到综合的实验数据,比方总的存放器个数Totalregisters以及RevisionName,Totalmemorybits等,FlowSummary截图如图10所示;图10综合图5心得体会本设计采用FPGA技术,利用测频法的原理和VHDL语言,采用自顶向下的设计方法,实现了1Hz10kH
20、z测量范围的四位十进制的数字频率计,并在QuartusII软件平台下对设计工程进行的了编译和时序仿真.实验结果说明,该系统能够满足本次设计的要求,并且具有测量误差小,可靠性高的优点.通过本次FPGA课程设计,我发现了自己的很多缺乏,发现了很多知识上的漏洞.同时也看到了自己的实践经验还是比拟缺乏,理论联系实际的水平还急需提升.这次课程设计让我学到了很多,不仅是稳固了先前学的EDA技术的理论知识,而且也培养了我的动手水平,更令我的创造性思维得到拓展.在课程设计中一个人的力量是远远不够的,真正的完成任务需要共同的智慧与劳动,团结协作是我们成功的一项非常重要的保证.在这个过程中,我也曾经由于实践经验的
21、缺乏失落过,也曾经为仿真成功而热情高涨.我在本次课程设计中学到的另一个重要的品质是细心认真.在此次设计中,由于编程的时候没有做到足够的细心,导致一串代码弄混了.但是密密麻麻的英文字母混在一起,我始终没有发现.最终在调试的时候,就出现了问题.只知道出现了问题,就是不知道到问题的根源在哪里,好长时间都没有找出问题的所在.这也让我真正的明白了科学的严谨性,它不允许出半点过失,否那么后果会是比拟麻烦的.做其他事情也一样,都需要我们付出足够的认真去对待,才能顺利的完成.对我而言,知识上的收获重要,精神上的丰收更加可喜.本次应用设计让我知道了学无止境的道理.我们每一个人永远不能满足于现有的成就,人生就像在
22、爬山,一座山峰的后面还有更高的山峰在等着你.这次课程设计不仅夯实了我的理论根底,锻炼了我的动手实践做工程的水平,对今后的职业开展也有很大的参考价值.6参考文献1刘睿强、陈鸿、邓显林.FPGA应用技术及实验.北京理工大学出版社.2021.12顾巨峰、周浩洋.基于可编程逻辑器件的多功能数字频率计.东南大学出版社.2002.53赵曙光、郭万有.可编程逻辑器件原理、开发与应用.西安电子科技大学出版社,2000.14杜建国.VerilogHDL硬件描述语言.国防工业出版社.2021.8.5赵雅兴.FPGA原理、设计与应用.天津大学出版社.1999.126李景华,杜玉远.可编程逻辑器件与EDA技术.东北大
23、学出版社.2002.5附录源代码:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitypljisport(start:instd_logic;-复位信号clk:instd_logic;-系统时钟clk1:instd_logic;-被测信号yy1:outstd_logic_vector(7downto0);-八段码w1:outstd_logic_vector(3downto0);-数码管位选信号endplj;signasignasignasignasignasignasignaarchitectu
24、rebehavofPLjisb1,b2,b3,b4,b5,b6,b7:std_logic_vector(3downto0);-十进制计数器-BCD码存放器-秒分频系数-动态扫描分频系数-使能信号,有效被测信号-小数点bcd:std_logic_vector(3downto0);q:integerrange0to49999999;qq:integerrange0to499999;en,bclk:std_logic;sss:std_logic_vector(3downto0);bcd0,bcd1,bcd2,bcd3:std_logic_vector(3downto0);-存放7位十位计数器中有效的
25、高4位数据beginsecond:process(clk)-此进程产生一个持续时间为一秒的的闸门信号beginifstart='1'thenq<=0;elsifclk'eventandclk='1'thenifq<49999999thenq<=q+1;elseq<=49999999;endif;endif;ifq<49999999andstart='0'thenen<='1'elseen<='0'endif;endprocess;and2:process(en,cl
26、k1)-此进程得到7位十进制计数器的计数脉冲beginbclk<=clk1anden;endprocess;com:process(start,bclk)-此进程完成对被测信号计脉冲数beginifstart='1'then-复位b1<="0000"b2<="0000"b3<="0000"b4<="0000"b5<="0000"b6<="0000"b7<="0000"elsifbclk'
27、;eventandbclk='1'thenifb1="1001"thenb1<="0000"-此IF语句完成个位十进制计数ifb2="1001"thenb2<="0000"-此IF语句完成百位十进制计数ifb3="1001"thenb3<="0000"-此IF语句完成千位十进制计数ifb4="1001"thenb4<="0000"-此IF语句完成万位十进制计数ifb5="1001&quo
28、t;THENb5<="0000"-此IF语句完成十万位十进制计数ifb6="1001"thenb6<="0000"-此IF语句完成百万位十进制计数ifb7="1001"thenb7<="0000"-此IF语句完成千万位十进制计数elseb7<=b7+1;endif;elseb6<=b6+1;endif;elseb5<=b5+1;endif;elseb4<=b4+1;endif;elseb3<=b3+1;endif;elseb2<=b2+1;e
29、ndif;elseb1<=b1+1;endif;endif;endprocess;process(clk)-此进程把7位十进制计数器有效的高4位数据送如bcd03;并得到小数点信息beginifrising_edge(clk)thenifen='0'thenifb7>"0000"thenbcd3<=b7;bcd2<=b6;bcd1<=b5;bcd0<=b4;sss<="1110"elsifb6>"0000"thenbcd3<=b6;bcd2<=b5;bcd1&
30、lt;=b4;bcd0<=b3;sss<="1101"elsifb5>"0000"thenbcd3<=b5;bcd2<=b4;bcd1<=b3;bcd0<=b2;sss<="1011"elsebcd3<=b4;bcd2<=b3;bcd1<=b2;bcd0<=b1;sss<="1111"endif;endif;endif;endprocess;weixuan:process(clk)-此进程完成数据的动态显示beginifclk'e
31、ventandclk='1'thenifqq<99999thenqq<=qq+1;bcd<=bcd3;w1<="0111"ifsss="0111"thenyy1(0)<='0'elseyy1(0)<='1'endif;elsifqq<199999thenqq<=qq+1;bcd<=bcd2;w1<="1011"ifsss="1011"thenyy1(0)<='0'elseyy1(0)<='1'endif;elsifqq<299999thenqq<=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学前教育音乐开学第一课:乘着音乐的翅膀
- 剃须刀包装设计核心要素
- 2025订购电动车合同模板
- 病毒的作用与防治课件
- 2025居民房屋租赁合同
- 创意绘画《献给祖国妈妈的花篮》课件
- 幼儿园全民安全日教育教案
- 2025城乡劳动者短期务工合同范本下载
- 2024-2025春统编版道德与法治二年级下册第二单元《7 我们有新玩法》说课稿(二篇)
- 儿童护理培训
- 5G-Advanced通感融合仿真评估方法研究报告
- DB33 860-2012 危险化学品重大危险源安全监控管理规范
- 隐蔽工程影像资料采集要求和拍摄方法(网络版)
- DB37T 1913-2011 金属非金属地下矿山特种作业人员配置
- 2025年日历(日程安排-可直接打印)
- 大单元教学学历案4 《现代诗二首》(略读实践课) 统编版语文四年级上册
- 3.1 农业区位因素及其变化-看《种地吧》思考 课件 高一下学期 地理 人教版(2019)必修二
- 《保护板培训教材》课件
- 绿色医疗器械设计
- 用电协议书范文双方简单一致
- DB11T 2155-2023 建设工程消防验收现场检查评定规程
评论
0/150
提交评论