基于fpga的自动打铃器设计本科论文.doc

上传人:夏** 文档编号:543819992 上传时间:2023-01-23 格式:DOC 页数:35 大小:442KB
返回 下载 相关 举报
基于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页
点击查看更多>>
资源描述

《基于fpga的自动打铃器设计本科论文.doc》由会员分享,可在线阅读,更多相关《基于fpga的自动打铃器设计本科论文.doc(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.5.3时计数模块102.5.4调时模块112.6闹钟模块设计122.6.1定时模

2、块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 摘 要自动打铃器为学校上下课时间的准确控制提供了很大的便利,并且在工厂、办公室等场合也起到了提醒人们时间的作用,因此打铃器的设计有一定的实用意义。本设计的学校打铃器采用基于现场可编程门阵列(FPGA)的方法,底层模块采用硬件描述语言(HDL)设计,不仅能对时、分、秒正常计时和显示,而且还

3、可进行闹铃时间的设定,上下课时间报警,报警时间1-15秒设置。系统主芯片采用美国Altera公司的EP3C40F484I7器件,由时钟模块、控制模块、闹钟模块、定时模块、数据译码模块、显示以及报时等模块组成,由按键进行时钟的校时、清零、启停等。本文在介绍FPGA器件的基础上,着重阐述了如何使用FPGA器件进行系统的开发,以及如何实现学校打铃系统。通过仿真验证及实际测试,打铃器具有正常计时、定时报警、报警时长设定等功能,可为日常作息提供准确、便捷的提醒。系统运行稳定,设计方法可行。关键词:打铃器 现场可编程门阵列 硬件描述语言 第一章 绪论1.1选题目的当今社会,电子技术的应用无处不在,电子技术

4、正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人。数字化的时钟给人们带来了极大的方便。近些年,随着科技的发展和社会的进步,人们对时钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,自动打铃器就是以时钟为基础的,在平时校园生活中是必不可少的工具。自动打铃器的数字化给人们生产生活带来了极大的方便,而且大大地扩展了时钟原先的报时功能。诸如定时自动报警、定时启闭电路、定时开

5、关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以时钟数字化为基础的。因此,研究时钟及扩展应用,有着非常现实的意义。本设计将借助EDA技术,完成基于FPGA器件的学校打铃器的设计。EDA技术的发展经历了一个由浅到深的过程,先后经历了CAD、CAE和现代意义上的EDA三个阶段。在可编程逻辑器件(PLD)内部,数字电路可用硬件描述语言可以进行方便的描述,经过生成元件后可作为一个标准元件进行调用。同时,借助于开发设计平台,可以进行系统的仿真和硬件测试等。对于数字电子技术实验和课程设计等,特别是数字系统性的课题,借助PLD器件和硬件描述语言等开发手段,即可设计出各种比较复杂的数字系统

6、,如设计频率计、交通控制灯、秒表等,有助于实验质量的提高和对学生综合能力的锻炼。同时,作为电子信息工程专业的学生,EDA技术应用于毕业设计中,可快速、经济地设计各种高性能的电子系统,并且很容易实现、修改及完善。1.2 FPGA的发展历程作为一种可编程逻辑器件,现场可编程门阵列(Field Programmable Gate Array,FPGA)的出现是PLD发展变化的必然,他的出现推动着可编程逻辑器件的进一步发展。因此说,了解了可编程逻辑器件的发展历程,也就了解了FPGA的发展历程。PLD是20世纪70年代发展起来的一种新型器。它的应用不仅简化了电路设计,降低了成本,提高了系统的可靠性,而且

7、给数字系统的设计方式带来了革命性的变化,其结构和工艺的变化经历了一个不断发展的过程。20世纪70年代,早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(EEPROM)3种。随后,出现了一类结构稍微复杂的可编程芯片,即可编程逻辑阵列(Programmable Logic Array,PLA)。PLA在结构上由一个可编程的与阵列和可编程的或阵列构成,阵列规模小,编程过程复杂繁琐。PLA既有现场可编程的,又有掩膜可编程的2。1.2.1 FPGA的优点概括地说,FPGA器件具有下列优点:高密度、高速度、系列化、标准化、小型化、多功能、低功耗

8、、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试验证。使用FPGA器件,一般可在几天到几周内完成一个电子系统的设计和制作,可以缩短研制周期,达到快速上市和进一步降低成本的要求。用FPGA器件实现数字系统时用的芯片数量少,从而减少芯片的使用数目,减少印刷线路板面积和印刷线路板数目,最终导致系统规模的全面缩减3。1.3器件及工具介绍1.3.1 Quartus设计步骤Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式。内嵌自有的综

9、合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程4。其设计流程包括设计输入、编译、仿真与定时分析、编程与验证。设计输入包括原理图输入、HDL 文本输入、EDIF 网表输入、波形输入等几种方式。编译时要根据设计要求设定编译方式和编译策略,然后根据设定的参数和策略对设计项目进行网表提取、逻辑综合、器件适配,供分析、仿真和编程使用。设计完成后需要进行仿真,可以测试设计的逻辑功能和延时特性。最后可以用得到的编程文件通过编程电缆配置PLD,进行在线测试。在设计过程中,如果出现错误,则需重新回到设计输入阶段,改正错误或调整电路后重新测试。第二章 系统方案设计2.1设计方案分析与选择方案一:

10、采用通用数字器件来设计。比如,打铃器结构组成中最基本的是数字钟。数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。采用此方法设计数字钟通常使用石英晶体振荡器电路构成数字钟。基于此设计方案的数字钟部分结构组成如图2-1所示。图2-1 数字钟部分结构组成2.2自动打铃器总体构成本设计内容为基于FPGA的学校打铃器,控制器底层模块采用硬件描述语言设计,顶层模块设计方法采用原理图方式;打铃器具有计时功能,能对时、分、秒正常计时和显示;又具有定时打铃功能,当设定的打铃时间

11、与学校上下课时间点相同时打铃;并且计时时间、定时时间、打铃时长(1S15S内)自由设置和调整,其数据信息通过数码管或LCD显示。学校打铃器总体设计框图如图2-2所示。振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“24翻1”规律计数。计满后各计数器清零,重新计数。计数器的输出分别经译码器送数码管显示。在控制信号中除了一般的校时信号外,还有时钟清零信号。时基电路可以由石英晶体振荡电路构成,晶振频率为25MHz,经过分频可得到秒脉冲信号。译码显示电路由七段译码器完成,显示由数码管构成

12、。图2-2 学校打铃器总体设计框图2.3分频模块设计本设计FPGA外部使用的是25MHz晶振,在其内部再根据需要进行分频。如图2-3所示为分频模块连接图。分频模块由25k分频、200分频、5分频、50k分频、250分频组成。其中25k分频的输出作为按键消抖模块的输入时钟信号,其频率为1kHz;200分频的输出作为计时模块调分模块的时钟输入,其频率为5Hz,周期为0.2s;5分频的输出作为计时模块中秒计时的输入,为1Hz频率的1s时钟信号;50k分频的输出作为动态扫描模块的输入时钟,其频率为500Hz;250分频的输出作为计时模块调时模块的输入时钟,其频率为2Hz,周期为0.5s。图2-3 分频

13、模块连接图现以5分频为例进行仿真,当时钟到第五个上升沿时,输出由“0”变为“1”,下降沿时又由“1”变为“0”,产生一个脉冲。满足设计要求。2.4消抖模块设计在本设计初期完成后,下载程序测试时,拨动按键或者按下按键时显示出现异常,这就需要加入按键消抖模块。按键消抖模块一般有硬件和软件两种方式,硬件就是加入去抖动电路,这样从根本上解决了按键抖动问题,除了专用电路以外,还可用编程FPGA或者CPLD设计相应的逻辑和时序电路,对按键信号进行处理,同样可以达到去抖动的目的,本次设计中采用硬件模块消抖动方式。模块的实现方法是先判断是否有按键按下,如有按键按下则延时一段时间,待抖动过去之后再读行线状态,如

14、果仍有低电平行线,则确定有按键按下,然后产生一个有按键按下的信号。该模块有一个时钟输入端口,输入时钟信号是分频出来的1kHZ的时钟;有一个输入端口与按键端相连;一个输出端口,用于输出有按键按下的信号。如图2-4所示为消抖模块符号图。图2-4 消抖模块符号图本设计的按键消抖模块内部电路相当于一个D触发器,该模块在这里实现的比较简单,原理是当有按键按下的时候,d会变成高电平,当有时钟上升沿到来且按键按下时,q输出高电平。由于时钟脉冲为1kHZ,故从有按键按下到输入信号产生大概需要1ms。而按键产生抖动的时间大约2ms到10ms,所以一旦计数完成,抖动已经过去,不会发生重键现象了,这样就去除了抖动。如图2-5所示为按键消抖模块波形仿真图。图2-5消抖模块波形仿真2.5时钟模块设计时钟模块是学校打铃器最基本的模块,主要实现基本计时、调时、调分功能,包括秒计数模块、分计数模块、时计数模块和调时模块。2.5.1秒计数模块如图2-9所示为秒计数模块符号图。输入端口clr是秒计数模块的清零信号,也是整个数字中的使能信号,低电平有效; cp是秒脉冲输入端口,外接分频模块频率为1Hz的时钟信号;输出端口sqmsl3.0是秒时钟的低位,sqmsh3.0是高位;co端口是进位输出端口,当秒计数到59时输出高电平,其它时候输出低电平。图2-9 秒计数模块

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档 > 租房合同

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号