收藏 分享(赏)

基于fpga的自动打铃器设计毕业设计.doc

上传人:无敌 文档编号:631990 上传时间:2018-04-15 格式:DOC 页数:35 大小:386.50KB
下载 相关 举报
基于fpga的自动打铃器设计毕业设计.doc_第1页
第1页 / 共35页
基于fpga的自动打铃器设计毕业设计.doc_第2页
第2页 / 共35页
基于fpga的自动打铃器设计毕业设计.doc_第3页
第3页 / 共35页
基于fpga的自动打铃器设计毕业设计.doc_第4页
第4页 / 共35页
基于fpga的自动打铃器设计毕业设计.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、基于 FPGA 的自动打铃器的设计学 院 电 子 工 程 学 院 学 号 11111010103 班 级 A1121 班 专 业 电 子 信 息 工 程 姓 名 何树良 指 导 教 师 罗静 目 录第一章 绪论 .41.1 选题目的 .41.2 FPGA 的发展历程 .41.2.1 FPGA 的优点 .51.3 器件及工具介绍 .51.3.1 Quartus设计步骤 .5第二章 系统方案设计 .52.1 设计方案分析与选择 .52.2 自动打铃器总体构成 .62.3 分频模块设计 .72.4 消抖模块设计 .82.5 时钟模块设计 .82.5.1 秒计数模块 .92.5.2 分计数模块 .92

2、.5.3 时计数模块 .102.5.4 调时模块 .112.6 闹钟模块设计 .122.6.1 定时模块 .122.6.2 比较模块 .132.7 打铃模块设计 .152.8 报警模块设计 .172.8.1 报警时长设定模块 .172.8.2 蜂鸣器发声模块 .172.9 显示模块设计 .182.9.1 时间切换模块 .182.9.2 动态扫描模块 .202.10 按键电路设计 .22第三章 实验结果分析 .223.1 测试过程 .223.2 结果分析 .23参考文献 .25附 录 .26摘 要自动打铃器为学校上下课时间的准确控制提供了很大的便利,并且在工厂、办公室等场合也起到了提醒人们时间的

3、作用,因此打铃器的设计有一定的实用意义。本设计的学校打铃器采用基于现场可编程门阵列(FPGA)的方法,底层模块采用硬件描述语言(HDL)设计,不仅能对时、分、秒正常计时和显示,而且还可进行闹铃时间的设定,上下课时间报警,报警时间 1-15 秒设置。系统主芯片采用美国Altera 公司的 EP3C40F484I7 器件,由时钟模块、控制模块、闹钟模块、定时模块、数据译码模块、显示以及报时等模块组成,由按键进行时钟的校时、清零、启停等。本文在介绍 FPGA 器件的基础上,着重阐述了如何使用 FPGA 器件进行系统的开发,以及如何实现学校打铃系统。通过仿真验证及实际测试,打铃器具有正常计时、定时报警

4、、报警时长设定等功能,可为日常作息提供准确、便捷的提醒。系统运行稳定,设计方法可行。关键词:打铃器 现场可编程门阵列 硬件描述语言 第一章 绪论1.1 选题目的当今社会,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人。数字化的时钟给人们带来了极大的方便。近些年,随着科技的发展和社会的进步,人们对时钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发

5、生了质的变化,自动打铃器就是以时钟为基础的,在平时校园生活中是必不可少的工具。自动打铃器的数字化给人们生产生活带来了极大的方便,而且大大地扩展了时钟原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以时钟数字化为基础的。因此,研究时钟及扩展应用,有着非常现实的意义。本设计将借助 EDA 技术,完成基于 FPGA 器件的学校打铃器的设计。 EDA 技术的发展经历了一个由浅到深的过程,先后经历了 CAD、CAE 和现代意义上的 EDA 三个阶段。在可编程逻辑器件(PLD)内部,数字电路可用硬件描述语言可以进行方便的描述,经过生成

6、元件后可作为一个标准元件进行调用。同时,借助于开发设计平台,可以进行系统的仿真和硬件测试等。对于数字电子技术实验和课程设计等,特别是数字系统性的课题,借助PLD器件和硬件描述语言等开发手段,即可设计出各种比较复杂的数字系统,如设计频率计、交通控制灯、秒表等,有助于实验质量的提高和对学生综合能力的锻炼。同时,作为电子信息工程专业的学生,EDA技术应用于毕业设计中,可快速、经济地设计各种高性能的电子系统,并且很容易实现、修改及完善。1.2 FPGA 的发展历程作为一种可编程逻辑器件,现场可编程门阵列(Field Programmable Gate Array, FPGA)的出现是 PLD 发展变化

7、的必然,他的出现推动着可编程逻辑器件的进一步发展。因此说,了解了可编程逻辑器件的发展历程,也就了解了 FPGA 的发展历程。PLD 是 20 世纪 70 年代发展起来的一种新型器。它的应用不仅简化了电路设计,降低了成本,提高了系统的可靠性,而且给数字系统的设计方式带来了革命性的变化,其结构和工艺的变化经历了一个不断发展的过程。20 世纪 70 年代,早期的可编程逻辑器件只有可编程只读存储器(PROM) 、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(EEPROM)3 种。随后,出现了一类结构稍微复杂的可编程芯片,即可编程逻辑阵列(Programmable Logic Array,

8、PLA) 。PLA 在结构上由一个可编程的与阵列和可编程的或阵列构成,阵列规模小,编程过程复杂繁琐。PLA 既有现场可编程的,又有掩膜可编程的 2。1.2.1 FPGA 的优点概括地说,FPGA器件具有下列优点:高密度、高速度、系列化、标准化、小型化、多功能、低功耗、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试验证。使用FPGA器件,一般可在几天到几周内完成一个电子系统的设计和制作,可以缩短研制周期,达到快速上市和进一步降低成本的要求。用FPGA器件实现数字系统时用的芯片数量少,从而减少芯片的使用数目,减少印刷线路板面积和印刷线路板数目,最终导致系统规模的全面缩减 3。1.3 器件

9、及工具介绍1.3.1 Quartus设计步骤Quartus II 是 Altera 公司的综合性 PLD 开发软件,支持原理图、VHDL、VerilogHDL 以及 AHDL(Altera Hardware Description Language)等多种设计输入形式。内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD 设计流程 4。其设计流程包括设计输入、编译、仿真与定时分析、编程与验证。设计输入包括原理图输入、HDL 文本输入、EDIF 网表输入、波形输入等几种方式。编译时要根据设计要求设定编译方式和编译策略,然后根据设定的参数和策略对设计项目进行网表提取、逻辑综合、器件

10、适配,供分析、仿真和编程使用。设计完成后需要进行仿真,可以测试设计的逻辑功能和延时特性。最后可以用得到的编程文件通过编程电缆配置PLD,进行在线测试。在设计过程中,如果出现错误,则需重新回到设计输入阶段,改正错误或调整电路后重新测试。第二章 系统方案设计2.1 设计方案分析与选择方案一:采用通用数字器件来设计。比如,打铃器结构组成中最基本的是数字钟。数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的 1HZ 时间信号必须做到准确稳定。采用此方法设计数字钟通常使用石英晶体振荡器电路构成数字钟。基

11、于此设计方案的数字钟部分结构组成如图 2-1 所示。图 2-1 数字钟部分结构组成2.2 自动打铃器总体构成本设计内容为基于 FPGA 的学校打铃器,控制器底层模块采用硬件描述语言设计,顶层模块设计方法采用原理图方式;打铃器具有计时功能,能对时、分、秒正常计时和显示;又具有定时打铃功能,当设定的打铃时间与学校上下课时间点相同时打铃;并且计时时间、定时时间、打铃时长(1S15S 内)自由设置和调整,其数据信息通过数码管或 LCD 显示。学校打铃器总体设计框图如图 2-2 所示。振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒计数器满 60 后向分计数器进位,分

12、计数器满 60 后向小时计数器进位,小时计数器按照“24 翻 1”规律计数。计满后各计数器清零,重新计数。计数器的输出分别经译码器送数码管显示。在控制信号中除了一般的校时信号外,还有时钟清零信号。时基电路可以由石英晶体振荡电路构成,晶振频率为 25MHz,经过分频可得到秒脉冲信号。译码显示电路由七段译码器完成,显示由数码管构成。图 2-2 学校打铃器总体设计框图2.3 分频模块设计本设计 FPGA 外部使用的是 25MHz 晶振,在其内部再根据需要进行分频。如图 2-3 所示为分频模块连接图。分频模块由 25k 分频、200 分频、5 分频、50k 分频、250 分频组成。其中 25k 分频的

13、输出作为按键消抖模块的输入时钟信号,其频率为1kHz;200 分频的输出作为计时模块调分模块的时钟输入,其频率为 5Hz,周期为0.2s;5 分频的输出作为计时模块中秒计时的输入,为 1Hz 频率的 1s 时钟信号;50k分频的输出作为动态扫描模块的输入时钟,其频率为 500Hz;250 分频的输出作为计时模块调时模块的输入时钟,其频率为 2Hz,周期为 0.5s。图 2-3 分频模块连接图现以 5 分频为例进行仿真,当时钟到第五个上升沿时,输出由“0”变为“1” ,下降沿时又由“1”变为“0” ,产生一个脉冲。满足设计要求。2.4 消抖模块设计在本设计初期完成后,下载程序测试时,拨动按键或者

14、按下按键时显示出现异常,这就需要加入按键消抖模块。按键消抖模块一般有硬件和软件两种方式,硬件就是加入去抖动电路,这样从根本上解决了按键抖动问题,除了专用电路以外,还可用编程FPGA 或者 CPLD 设计相应的逻辑和时序电路,对按键信号进行处理,同样可以达到去抖动的目的,本次设计中采用硬件模块消抖动方式。模块的实现方法是先判断是否有按键按下,如有按键按下则延时一段时间,待抖动过去之后再读行线状态,如果仍有低电平行线,则确定有按键按下,然后产生一个有按键按下的信号。该模块有一个时钟输入端口,输入时钟信号是分频出来的 1kHZ的时钟;有一个输入端口与按键端相连;一个输出端口,用于输出有按键按下的信号

15、。如图 2-4 所示为消抖模块符号图。图 2-4 消抖模块符号图本设计的按键消抖模块内部电路相当于一个 D 触发器,该模块在这里实现的比较简单,原理是当有按键按下的时候,d 会变成高电平,当有时钟上升沿到来且按键按下时,q 输出高电平。由于时钟脉冲为 1kHZ,故从有按键按下到输入信号产生大概需要 1ms。而按键产生抖动的时间大约 2ms 到 10ms,所以一旦计数完成,抖动已经过去,不会发生重键现象了,这样就去除了抖动。如图 2-5 所示为按键消抖模块波形仿真图。图 2-5 消抖模块波形仿真2.5 时钟模块设计时钟模块是学校打铃器最基本的模块,主要实现基本计时、调时、调分功能,包括秒计数模块

16、、分计数模块、时计数模块和调时模块。2.5.1 秒计数模块如图 2-9 所示为秒计数模块符号图。输入端口 clr 是秒计数模块的清零信号,也是整个数字中的使能信号,低电平有效; cp 是秒脉冲输入端口,外接分频模块频率为 1Hz 的时钟信号;输出端口 sqmsl3.0是秒时钟的低位,sqmsh3.0 是高位;co 端口是进位输出端口,当秒计数到 59 时输出高电平,其它时候输出低电平。图 2-9 秒计数模块符号图如图 2-6 所示波形仿真图。由图可以看出,随着 1s 时钟脉冲上升沿的到来,每来一次秒计数的低位就产生一个脉冲,当计到 9 时变为 0,秒计数的高位变为 1,当低位为 9,高位为 5

17、 时,也就是计到 59 时,高、低位都变为 0,且输出 co 产生一个脉冲信号,由仿真图可知满足设计的要求。图 2-6 秒计数模块波形仿真图2.5.2 分计数模块如图 2-7 所示为分计数模块符号图。输入端口 clr 是分计数模块的清零信号,也是整个数字中的使能信号,低电平有效; clk 是秒脉冲输入端口输出端口; min03.0是分计时的低位,min13.0是分计时的高位;co 端口是进位输出端口,接时计数的 clk作为时钟输入,当秒计数到 59 时输出高电平,其它时候输出低电平。图 2-7 分计数模块符号图如图 2-8 所示为分计数模块波形仿真图。给 clk 一定时钟信号之后,clr 高电平清零无效,每次达到时钟脉冲上升沿时,分计数低位 min0 计一个数,计到 9 时向高位进位,当计到 59 时,模块进位输出 co 产生一个脉冲信号,由仿真图可知此模块设计满足设计要求。图 2-8 分计数模块波形仿真图2.5.3 时计数模块图 2-9 时计数模块符号图如图 2-9 所示为时计数模块符号图。输入端口 clr 是时计数模块的清零信号,也是整个数字中的使能信号,低电平有效; clk 是秒脉冲输入端口输出端口; sl3.0是分计时的低位,sh3.0是分计时的高位。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报