基于FPGA的数字跑表设计毕业论文(37页).doc
《基于FPGA的数字跑表设计毕业论文(37页).doc》由会员分享,可在线阅读,更多相关《基于FPGA的数字跑表设计毕业论文(37页).doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于FPGA的数字跑表设计毕业论文-第 30 页本 科 毕 业 论 文基于FPGA的数字跑表设计Digital stopwatch design based on FPGA 学院名称: 电子信息与电气工程学院 专业班级: 电子信息工程(专升本)2013级 2015年5月毕业设计(论文)原创性声明和使用授权说明原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得安阳工学院及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出
2、过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 目 录摘 要IAbstractII引 言1第一章 绪 论11.1 设计背景与意义11.2 跑表的发展趋势2第二章 实验的软件环境22.1 MAX+pl
3、us软件22.2 VHDL语言3第三章 跑表的设计53.1跑表的方案选择53.2跑表的程序流程图63.3顶层设计与VHDL源代码73.3.1顶层实体设计及VHDL源代码73.3.2顶层结构体的设计83.4跑表的各个模块分析93.4.1键输入模块93.4.2时钟分频模块113.4.3控制模块133.4.4跑表计时模块143.4.5跑表显示模块173.5仿真结果20结 语22致 谢23参考文献24附录A 管脚引用表25附录B 跑表的程序代码26基于FPGA的数字跑表设计摘要:本数字跑表用于检测需要准确计时或计时场合较为精确且比较精密的环境中。在现在的竞赛、科研、测验的环境中,跑表依然扮演着十分重要
4、的角色。随着电子技术的发展,它有着更加广阔的发展空间、也有着更加广泛的应用。本论文对数字跑表进行了电路设计与程序设计,并划分为五个模块:键输入模块、分频模块、控制模块、计时模块和显示模块。各个模块通过合理的配合来实现跑表的功能,所有功能语言都用VHDL来完成描述。本实验主要借助Altera公司开发的EDA工具MAX+plus 软件作为编译和仿真的实验环境,主要利用EPF10K10LC84-4器件在FPGA的实验箱上来完成数字跑表的设计。关键词:跑表;VHDL语言;MAX+plus ;FPGADigital stopwatch design based on FPGAABSTRACT:The d
5、igital stopwatch for detection requires accurate timing or timing occasions more accurate and more sophisticated environment. In the current competition, scientific research, test environment, stopwatch still plays a very important role. With the development of electronic technology, it has a more b
6、road development space, also has a more extensive application. In this paper, the digital stopwatch were hardware circuit design and software design, and is divided into five modules: key input module, frequency module, control module, timing module and display module. Each module is realized by the
7、 stopwatch with reasonable, all functions are accomplished with VHDL description language. This experiment mainly by Altera corporation development of EDA tools MAX + PLUS II software as compilation and simulation experiment environment, the main use of epf10k10lc84-4 device in FPGA experimental box
8、 completed the design of digital stopwatch.Keywords: Stopwatch; VHDL language; MAX + plus ; FPGA引 言本跑表无机械装置,是用电子设备来完成数字跑表的设计,它具有更长的使用寿命和更加精确的计时装置,因此才得到了广泛的应用。通过跑表的制作使我进一步的了解了各种中小规模集成电路的作用及特点,使我进一步的学习与掌握了各种组合逻辑电路与时序电路的原理和使用方法。 人生苦短,日月如梭。时间是人生中最珍贵的东西,但当事情不怎么重要的时候,这种遗忘倒不会出什么事。但一旦遇到了重要事情,一时的遗忘就会酿成大祸。例如:
9、在医院中,病体发作时间频率值、手术的时间间隔、麻药的药效长短等高危手术中,计时就显得尤为重要;在科研中,火箭的发射、飞机的起飞、导弹的攻击、航母的运行、空间站的对接等高科技产品中,一秒钟的误差就会产生极其严重的后果;在竞赛中,即使是相差0.01s那也会有一个先后,分秒必争的理念就变得尤为的突出;在工程的测试中;在万物生长中等等观测结果的情况下,这种对时间的精确度要求就变的非常高了,这时对于数字跑表的研究就变得尤为突出的重要。所以,制作一个精确计时的跑表系统是多么明智的选择。第一章 绪 论1.1设计背景与意义现在电子产品已经融入了我们身边的每个角落,它使我们的生活变的更加的美满和和谐,同时也使电
10、子产品的性能进一步提高、功能进一步强大,其中带给我们最大的红利就是便捷。现在的电子时钟也已经布满我们的生活里,如手机、电脑、手表、钟表以及各大中小地点的公共场所里都有时钟的出现。然而数字跑表的功能和用途有许多是电子钟无法用精确性和准确性来取代的,跑表有着这些独特的特点,也有着不可被取代的趋势。电子产品朝着高精度高准确度的方向发展,跑表依然如此。因此本设计不采用单片机、不采用机械设备、而采用基于FPGA来完成数字跑表的设计。随着现场可编程门阵列的发展,电子系统向着集成化、大规模和高速度等方向升级的趋势也愈加明显,所以设计本跑表为打开FPGA领域而研究FPGA数字跑表具有里程碑式的意义。1.2跑表
11、的发展趋势数字跑表已经成为了人类在科技、竞赛和检测中的一种十分必要的计时装置,给人们的生活、学习、工作、娱乐带来极大的方便。数字跑表的发展方向将会为以后的航空航天、航空母舰、高铁磁悬浮列车等科技方面做出更加可靠的计时参考和更加精确的依据,也会为竞技竞赛、公平竞争等项目比赛提供更加公平公正的参考。第二章 实验的软件环境2.1 MAX+plus软件本软件主要由层次显示器、信息处理器、输入编辑器、设计编译器、设计校验器和器件编程器一起构成了一个完整独立的EDA设计平台。 当程序编译完毕并能产生MAX+plus或第3方EDA工具的一系列文件和报告,如图2.1所示。MAX+plus编译器第三方EDA设计
12、文件(.edf,.sch,.xnf)映射文件(.imf)MAX+plus设计文件(.gdf,.tdf,).vhd)指定和配置信息 (.acf)第三方EDA仿真和定时文件(.edo,vo,vho,sdo)功能仿真(.snf)定时仿真(.snf)编程文件(.pof.sof.jed)图2.1 MAX+plus编译器定时分析器,有这样的分析模式:时序逻辑电路性能分析模式。分析时序电路的性能,包括限制性能上有限制的延迟,还有最小的时钟周期和最高的电路工作频率。MAX+plus的设计流程主要由设计输入、设计编译、功能仿真、时序仿真、器件编程等步骤来完成。2.2 VHDL语言经过多年的检测与使用,最终工程师
13、们吧定为标准硬件描述语言。VHDL语言的主要优点是:(1)有良好的可读性,容易被读者理解。(2) VHDL是通用硬件描述语言。(3)用它从事设计工作,不用考虑线路布局问题,降低了设计的复杂度。(4)接近于算法的推演,不必关心如何用逻辑电路实现这种算法的过程。VHDL语言结构体的完整格式如下:ARCHITECTURE 结构体OF实体名IS定义语句BEGIN并行语句1;并行语句2;END ARCHITECTURE 结构体名 ;VHDL中实体的完整格式如下:ENTITY 实体名 IS GENERIC (类属表); PORT (端口表); BEGIN 实体语句部分;END ENTITY 实体名; 它描
14、述了一个系统或者电路的外观图。实体中的类属和端口用来说明所设计的系统或者电路与其它模块通信的对象。实体语句部分定义实体接口中的公共信息。第三章 跑表的设计3.1跑表的方案选择 方案一:设计一款基于单片机的数字跑表。1. 核心用一块AT89C51和555定时器结合来完成;2. 硬件准备好后,编辑程序下载、调试、试运行;3. 试验成功后将其包装。 方案二:设计一款基于FPGA的数字跑表。 1.核心用FPGA开发平台和Max+plusII操作平台来完成; 2.程序编辑好后,用软件仿真运行;3.实验成功后将其展示。 方案比较: 相同点:这两种方案的原理相似都分别由计数部分、显示部分组成。都能按照设计要
15、求完成有百分秒计时功能的数字跑表。不同点:方案一主要是单片机来完成跑表,应用范围略广,但考虑到单片机本身的特点,不适合结合比较高端的设备。方案二应用领域比较广泛,能结合许多设备,能够更好、更精确的实现计时功能。 方案采用:根据以上方案分析和研究的可行性、价值性和意义性分析,数字跑表的设计采用方案二。方案二设计主要由五个主要模块组成:键输入模块(主要是消除抖动之类的);时钟分频模块(输出为100Hz用于计时、1kHz用于数码管动态扫描);使能控制模块(实现开始及暂停功能);计数器模块(由模十计数器和模六计数器级联);显示控制模块(包括数据选择和显示译码)。它是采用VHDL语言来设计的跑表系统,能
16、通过计算机来完成,从而缩短了系统的开发时间,提高了系统的工作效率。其主要特点描述如下:(1)启/停功能。在任何情况下只要按复位开关,跑表都会无条件地执行复位操作。(2)计时精度高于0.01秒,内部定时时钟信号频率采用1000Hz的时钟输入信号,以24h为最长计时周期。(3)对跑表进行更换电源操作是由系统电源复位电路提供给跑表的电源复位信号来控制跑表的复位操作。图3.1 跑表系统的结构框图3.2 开始跑表的程序流程图清零显示CLR=1Y NY SL=9 NSL=0 NYSH=5? SH=SH+1MH=0,CN2=1 结束图3.2 秒计数进程程序流程图 开始YCLR=1?清零显示 NYSL=9?
17、NML=0 YSH=5? NMH=MH+1MH=0 结束图3.3 分计数进程程序流程图3.3顶层设计与VHDL源代码3.3.1顶层实体设计及VHDL源代码在自顶向下的VHDL语言设计描述中,第一个应该考虑的是描述顶层信号接口,如图3.4所示。图3.4 跑表各个模块的连接关系VHDL的系统接口是由实体说明来描述的。下面是跑表顶层实体说明的VHDL源代码。源代码1library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity stopwatch
18、isport ( reset1 : in std_logic; on_off : in std_logic; sysreset : in std_logic; clk : in std_logic; choose : out std_logic_vector(7 downto 0); segment : out std_logic_vector(6 downto 0);end stopwatch;3.3.2顶层结构体的设计因我们通常用的跑表大部分都由按键产生的,但这种操作会产生一定的误差,因为当需要计时的时候你的手按下的速度,和按键接触的速度以及弹簧反应的速度都直接影响计时的精度,因此设计一款
19、消抖同步电路就显的十分重要。根据大部分资料的情况,本文采用了最普遍使用的一种消抖同步电路,结构图如3.5所示。图3.5 常用消抖同步电路根据图3.4所示的各个模块。将各个模块描述如下:(1) 键输入模块复位键和开关键属于键输入模块。这些都是跑表基本的输入功能按键。(2) 时钟分频模块根据跑表要求的情况,用时钟分频模块来进行分频,已达到各种功能模块的需求。(3) 控制模块控制模块是由键输入模块导入信号,再由相应的程序功能分配相应的操作,从而执行相应的动作,已完成所要控制的对象。(4) 跑表计时模块由输入的控制键和时钟分频模块的参考,跑表就根据分频数据在键输入的命令下开始计时。(5) 跑表显示模块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 数字 跑表 设计 毕业论文 37
限制150内