基于fpga的数字跑表设计大学本科毕业论文.docx
《基于fpga的数字跑表设计大学本科毕业论文.docx》由会员分享,可在线阅读,更多相关《基于fpga的数字跑表设计大学本科毕业论文.docx(44页珍藏版)》请在冰豆网上搜索。
本科毕业论文
基于FPGA的数字跑表设计
DigitalstopwatchdesignbasedonFPGA
学院名称:
电子信息与电气工程学院
专业班级:
电子信息工程(专升本)2013级
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得安阳工学院及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
目录
摘要 错误!
未定义书签。
Abstract 错误!
未定义书签。
引言 错误!
未定义书签。
第一章绪论 错误!
未定义书签。
1.1设计背景与意义 错误!
未定义书签。
1.2跑表的发展趋势 错误!
未定义书签。
第二章实验的软件环境 错误!
未定义书签。
2.1MAX+plusⅡ软件 错误!
未定义书签。
2.2VHDL语言 错误!
未定义书签。
第三章跑表的设计 5
3.1跑表的方案选择 5
3.2跑表的程序流程图 6
3.3顶层设计与VHDL源代码 7
3.3.1顶层实体设计及VHDL源代码 7
3.3.2顶层结构体的设计 8
3.4跑表的各个模块分析 9
3.4.1键输入模块 9
3.4.2时钟分频模块 11
3.4.3控制模块 13
3.4.4跑表计时模块 14
3.4.5跑表显示模块 17
3.5仿真结果 20
结语 22
致谢 23
参考文献 24
附录A管脚引用表 25
附录B跑表的程序代码 26
基于FPGA的数字跑表设计
摘要:
本数字跑表用于检测需要准确计时或计时场合较为精确且比较精密的环境中。
在现在的竞赛、科研、测验的环境中,跑表依然扮演着十分重要的角色。
随着电子技术的发展,它有着更加广阔的发展空间、也有着更加广泛的应用。
本论文对数字跑表进行了电路设计与程序设计,并划分为五个模块:
键输入模块、分频模块、控制模块、计时模块和显示模块。
各个模块通过合理的配合来实现跑表的功能,所有功能语言都用VHDL来完成描述。
本实验主要借助Altera公司开发的EDA工具MAX+plusⅡ软件作为编译和仿真的实验环境,主要利用EPF10K10LC84-4器件在FPGA的实验箱上来完成数字跑表的设计。
关键词:
跑表;VHDL语言;MAX+plusⅡ;FPGA
II
DigitalstopwatchdesignbasedonFPGA
ABSTRACT:
Thedigitalstopwatchfordetectionrequiresaccuratetimingortimingoccasionsmoreaccurateandmoresophisticatedenvironment.Inthecurrentcompetition,scientificresearch,testenvironment,stopwatchstillplaysaveryimportantrole.Withthedevelopmentofelectronictechnology,ithasamorebroaddevelopmentspace,alsohasamoreextensiveapplication.Inthispaper,thedigitalstopwatchwerehardwarecircuitdesignandsoftwaredesign,andisdividedintofivemodules:
keyinputmodule,frequencymodule,controlmodule,timingmoduleanddisplaymodule.Eachmoduleisrealizedbythestopwatchwithreasonable,allfunctionsareaccomplishedwithVHDLdescriptionlanguage.ThisexperimentmainlybyAlteracorporationdevelopmentofEDAtoolsMAX+PLUSIIsoftwareascompilationandsimulationexperimentenvironment,themainuseofepf10k10lc84-4deviceinFPGAexperimentalboxcompletedthedesignofdigitalstopwatch.
Keywords:
Stopwatch;VHDLlanguage;MAX+plusⅡ;FPGA
引言
本跑表无机械装置,是用电子设备来完成数字跑表的设计,它具有更长的使用寿命和更加精确的计时装置,因此才得到了广泛的应用。
通过跑表的制作使我进一步的了解了各种中小规模集成电路的作用及特点,使我进一步的学习与掌握了各种组合逻辑电路与时序电路的原理和使用方法。
人生苦短,日月如梭。
时间是人生中最珍贵的东西,但当事情不怎么重要的时候,这种遗忘倒不会出什么事。
但一旦遇到了重要事情,一时的遗忘就会酿成大祸。
例如:
在医院中,病体发作时间频率值、手术的时间间隔、麻药的药效长短等高危手术中,计时就显得尤为重要;在科研中,火箭的发射、飞机的起飞、导弹的攻击、航母的运行、空间站的对接等高科技产品中,一秒钟的误差就会产生极其严重的后果;在竞赛中,即使是相差0.01s那也会有一个先后,分秒必争的理念就变得尤为的突出;在工程的测试中;在万物生长中等等观测结果的情况下,这种对时间的精确度要求就变的非常高了,这时对于数字跑表的研究就变得尤为突出的重要。
所以,制作一个精确计时的跑表系统是多么明智的选择。
20
第一章绪论
1.1设计背景与意义
现在电子产品已经融入了我们身边的每个角落,它使我们的生活变的更加的美满和和谐,同时也使电子产品的性能进一步提高、功能进一步强大,其中带给我们最大的红利就是便捷。
现在的电子时钟也已经布满我们的生活里,如手机、电脑、手表、钟表以及各大中小地点的公共场所里都有时钟的出现。
然而数字跑表的功能和用途有许多是电子钟无法用精确性和准确性来取代的,跑表有着这些独特的特点,也有着不可被取代的趋势。
电子产品朝着高精度高准确度的方向发展,跑表依然如此。
因此本设计不采用单片机、不采用机械设备、而采用基于FPGA来完成数字跑表的设计。
随着现场可编程门阵列的发展,电子系统向着集成化、大规模和高速度等方向升级的趋势也愈加明显,所以设计本跑表为打开FPGA领域而研究FPGA数字跑表具有里程碑式的意义。
1.2跑表的发展趋势
数字跑表已经成为了人类在科技、竞赛和检测中的一种十分必要的计时装置,给人们的生活、学习、工作、娱乐带来极大的方便。
数字跑表的发展方向将会为以后的航空航天、航空母舰、高铁磁悬浮列车等科技方面做出更加可靠的计时参考和更加精确的依据,也会为竞技竞赛、公平竞争等项目比赛提供更加公平公正的参考。
第二章实验的软件环境
2.1MAX+plusⅡ软件
本软件主要由层次显示器、信息处理器、输入编辑器、设计编译器、设计校验器和器件编程器一起构成了一个完整独立的EDA设计平台。
当程序编译完毕并能产生MAX+plusⅡ或第3方EDA工具的一系列文件和报告,如图
2.1所示。
第三方EDA设
计文件
映射文件
(.imf)
功能仿真(.snf)
MAX+plusⅡ设
计文件
(.gdf,.tdf,)
MAX+plusⅡ编译器
定时仿真(.snf)
指定和配置
信息(.acf)
编程文件(.pof.sof.jed)
第三方EDA仿真和定时文件
(.edo,vo,vho,sdo)
图2.1MAX+plusⅡ编译器
定时分析器,有这样的分析模式:
时序逻辑电路性能分析模式。
分析时序电路的性能,包括限制性能上有限制的延迟,还有最小的时钟周期和最高的电路工作频率。
MAX+plusⅡ的设计流程主要由设计输入、设计编译、功能仿真、时序仿真、器件编程等步骤来完成。
2.2VHDL语言
经过多年的检测与使用,最终工程师们吧VHDL定为标准硬件描述语言。
VHDL语言的主要优点是:
(1)有良好的可读性,容易被读者理解。
(2)VHDL是通用硬件描述语言。
(3)用它从事设计工作,不用考虑线路布局问题,降低了设计的复杂度。
(4)接近于算法的推演,不必关心如何用逻辑电路实现这种算法的过程。
VHDL语言结构体的完整格式如下:
ARCHITECTURE结构体OF实体名IS
[定义语句]BEGIN
[并行语句1;]
[并行语句2;][……]
END[ARCHITECTURE][结构体名];
VHDL中实体的完整格式如下:
ENTITY实体名IS
[GENERIC(类属表);][PORT(端口表);]
[BEGIN实体语句部分;]END[ENTITY]实体名;
它描述了一个系统或者电路的外观图。
实体中的类属和端口用来说明所设计的系统或者电路与其它模块通信的对象。
实体语句部分定义实体接口中的公共信息。
第三章跑表的设计
3.1跑表的方案选择
方案一:
设计一款基于单片机的数字跑表。
1.核心用一块AT89C51和555定时器结合来完成;
2.硬件准备好后,编辑程序下载、调试、试运行;
3.试验成功后将其包装。
方案二:
设计一款基于FPGA的数字跑表。
1. 核心用FPGA开发平台和Max+plusII操作平台来完成;
2. 程序编辑好后,用软件仿真运行;
3.实验成功后将其展示。
方案比较:
相同点:
这两种方案的原理相似都分别由计数部分、显示部分组成。
都能按照设计要求完成有百分秒计时功能的数字跑表。
不同点:
方案一主要是单片机来完成跑表,应用范围略广,但考虑到单片机本身的特点,不适合结合比较高端的设备。
方案二应用领域比较广泛,能结合许多设备,能够更好、更精确的实现计时功能。
方案采用:
根据以上方案分析和研究的可行性、价值性和意义性分析,数字跑表的设计采用方案二。
方案二设计主要由五个主要模块组成:
键输入模块(主要是消除抖动之类的);时钟分频模