开 题 报 告
毕业设计题目:基于FPGA的数字钟系统设计
基于FPGA的数字钟系统设计
开题
1选题目的意义和可行性
在这个时间就是金钱的年代里,数字电子钟已成为人们生活中的必需品。目前应用的数字钟不仅可以实现对年、月、日、时、分、秒的数字显示,还能实现对电子钟所在地点的温度显示和智能闹钟功能,广泛应用于车站、医院、机场、码头、厕所等公共场所的时间显示。随着现场可编程门阵列( field program-mable gate array ,FPGA) 的出现,电子系统向集成化、大规模和高速度等方向发展的趋势更加明显[1], 作为可编程的集成度较高的ASIC,可在芯片级实现任意数字逻辑电路,从而可以简化硬件电路,提高系统工作速度,缩短产品研发周期。故利用 FPGA这一新的技术手段来研究电子钟有重要的现实意义。设计采用FPGA现场可编程技术,运用自顶向下的设计思想设计电子钟。避免了硬件电路的焊接与调试,而且由于FPGA的 I /O端口丰富,内部逻辑可随意更改,使得数字电子钟的实现较为方便。本课题使用Cyclone EP1C6Q240的FPGA器件,完成实现一个可以计时的数字时钟。该系统具有显示时、分、秒,智能闹钟,按键实现校准时钟,整点报时等功能。满足人们得到精确时间以及时间提醒的需求,方便人们生活[2-3]。
2 研究的基本内容与拟解决的主要问题
2.1研究的基本内容
数字时钟是采用电子电路实现对时间进行数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度不断提高。
数字时钟系统的实现有很多,可以利用VerilogDHL语言在Quartus II里实现时、分、秒计数的功能。在芯片内部存储器设24个字节分别存放时钟的时、分、秒信息。数字时钟首先是秒位(共8位)上按照系统时钟CLK进行计数,存储器内相应的秒值加1;若秒位的值达到60(110000),则将其清零,并将相应的分位(共8位)的值加1;若分值达到60(110000),则清零分位,并将时位(共8位)的值加1;若计数满 24(100100)后整个系统从 0开始重新进行计数。
本设计使用Cyclone EP1C6Q240的FPGA器件为核心,通过编写程序,完成此电子时钟的主要功能显示时,分,秒,以及通过按键实现校准时钟主要功能,[5]使用LED液晶屏显示,分别显示时,分,秒。并且能够实现附加功能----闹铃设置功能和整点报时。[4]
2.2 拟要解决的问题
本设计电子钟系统功能简单,用Cyclone EP1C6Q240的FPGA器件为核心,通过编写程序,完成此电子时钟的主要功能。
本课题主要解决以下问题:
(1) 学习VerilogDHL语言、 运用Quartus II环境进行程序设计。
用VerilogDHL语言能进行综合的电路设计,也可用于电路的仿真;设计的规模是任意的,语言不对设计规模施加任何限制;内置各种基本的逻辑门。便于改进和扩充,有利于本系统的研制,并使其性能更完备的。
(2) 在了解Cyclone EP1C6Q240的FPGA器件的基础上设计程序。
对于Altera公司Cyclone系列EP1C6Q240芯片需要有所了解,数码管显示、键盘输入,都在芯片上分配各自的I/O口引脚,这样就需要对各自的I/O口配置,并且编写各自的程序,来实现各自的功能。与此同时,为了保护芯片,未使用的引脚都要设置三态输入。
(3) Cyclone EP1C6Q240的FPGA器件的动态数码管和显示模块程序的编写。
需要了解EP1C6Q240内部原理构造,熟悉动态数码管和显示模块的内部功能指令。
(4) 实现闹铃设置功能和整点报时的附加功能的程序编写。
(5) 将各个模块单独调试成功后,进行整合,进行整体系统调试。
3 总体研究思路及预期研究成果
3.1总体研究思路
本设计通过在Quartus II编程、运用芯片,实现时间显示。运用键盘对时间进行调时,并且设定闹钟和定时闹铃。设计系统由计时模块、显示模块、键盘模块、闹铃模块、校时模块6个模块组成,电路系统构成如图1所示:
图1数字时钟电路系统构成框图
(1) 分频模块
晶体振荡器是构成数字式时钟的核心,振荡器的稳定度及频率的精度决定了数字钟计时的准确程度,它保证了时钟的走时准确及稳定。
石英晶体的选频特性非常好,只有某一频率点的信号可以通过它,其它频率段的信号均会被它所衰减,而且,振荡信号的频率与振荡电路中的R、C元件的数值无关。因此,这种振荡电路输出的是准确度极高的信号。[6]然后再利用分频电路,将其输出信号转变为秒信号,其组成框图如图2。
图2秒信号产生电路框图
本系统使用的晶体振荡器电路给数字钟提供一个频率稳定准确的48MHz的方波信号,其输出至分频电路。经分频后输出1HZ的
秒信号CLK、4MHZ的按键扫描信号、1KHZ的按键去抖信号和500HZ用于报时模块的输入信号。
(2) 计时模块
将时钟的时、分、秒分成24个字节,秒的个位为hour[3,0],十位为hour[4,7]以此类推到hour[23,20]。数字时钟首先是秒位(共8位)上按照系统时钟CLK进行计数,存储器内相应的秒值加1;若秒位的值达到60(110000),则将其清零,并将相应的分位(共8位)的值加1;若分值达到60(110000),则清零分位,并将时位(共8位)的值加1;若计数满 24(100100)后整个系统从 0开始重新进行计数。
(3) 显示模块
静态数码管通过分频模块得到1Hz的频率信号,加载于时钟输入端,最后通过气短译码模块一码后在数码管上显示出来。
动态数码管的8个数码管分别由8个选通信号DIG0~DIG7来选择。被选通的数码管显示数据,其余关闭。但是本系统的时钟是能够实现在同一时间内显示8个数码管上的时间值,这样就必须是的8个选通信号DIG0~DIG7分别单独选通,同时在段信号输入口加上对应数据管上显示的数据,于是随着选通信号的扫描就能实现扫描显示的目的。[7]
(4) 闹钟模块
闹铃模块用蜂鸣器实现,当系统时间走时到整点或者是闹铃设置的时间,蜂鸣器会响起。
(5) 键盘模块
键盘模块设有4个独立键盘,功能分别为“设置”、“确认”、“加/闹铃开关”、“减/整点报时开关”。系统内通过编写键盘调时的程序,进行调用来实现。
(6) 校时模块
按下设置键可以进去Mode模式,选择闹钟定时或者是时钟校时。可以通过“加/闹铃开关”、“减/整点报时开关”两个键的控制来实现调节闹钟定时功能或者调时的功能。
3.2研究预期成果
在Quartus II下程序调试成功,在FPGA的EP1C6Q240芯片上进行烧写运行,可以成功初始化时间信息,并且更新时间:能显示时间信息时、分、秒。液晶屏的第四行显示时钟调整文字。实现键盘控制程序,可以通过四个按键(设置、加键/闹钟开关、减键/整点报时开关、确认)对时间进行调时,先按下“设置”键,界面切换到调时界面,“加键”和“减键”分别对对应时间值进行加“1”和减“1”修改,修改完毕按“确认”退出。同时,也可以通过按键设定闹钟时间,时间到蜂鸣器鸣叫的功能。
4研究工作
起止时间
内容
2012.11.21~2013. 01.19
完成开题报告、文献综述、英文翻译并上交
2013.01.20~2013. 01.21
开题报告答辩,并对开题报告、文献综述、英文翻译修改
2013.01.22~2013.02.18
熟悉FPGA,熟练掌握VerilogHDL编程语言
2012.02.19~2012.03.19
完成时钟更新程序和LED显示程序
2013.03.20~2013. 03.22
毕业设计中期检查
2013. 03.23~2013.04.20
实现按键校准功能、闹铃设置功能和整点报时的功能,调试修改程序,准备撰写
2013.05.04~2013.05.10
2013.05.04~2013.05.10
论文初稿上交,指导教师评阅
评阅教师评阅
2013.05.11~2013.05.12
毕业设计第一次论文答辩
参考文献
[1] 张 强.基FPGA的多功能数字钟的设计与实现 [ J ].仪器表用户,2008,15( 6 ) :103—104.
[2] 潭浩强. C程序设计[M]. (第二版). 清华出版社. 1999: 4-33
[3] 红军, 谢玉芬, 方便. 使用的电子日历钟程序[J]. 电脑编程技巧与维修, 1997, (4): 20-25
[4] 张勇. 制作基于DS1302的电子时钟时的难点分析[J]. 济南职业学院学报, 2006.6,(3): 74-75
[5] 葛澎. FPGA时钟设计[J]. 现代电子技术, 2011.9(34-11): 171-176
[6] Song Kezhu. FPGA based digital clock Design[J].Nuclear Electronics & Detect ion Technology. 2008(05):983-986
[7] 刘笑嫘;何广平;FPGA芯片的配置与下载[J];科技信息;2011(15):235-238