开题报告毕业设计题目:基于FPGA的数字钟系统设计1基于FPGA的数字钟系统设计开题报告1选题目的意义和可行性在这个时间就是金钱的年代里,数字电子钟已成为人们生活中的必需品。目前应用的数字钟不仅可以实现对年、月、日、时、分、秒的数字显示,还能实现对电子钟所在地点的温度显示和智能闹钟功能,广泛应用于车站、医院、机场、码头、厕所等公共场所的时间显示。随着现场可编程门阵列(fieldprogram-mablegatearray,FPGA)的出现,电子系统向集成化、大规模和高速度等方向发展的趋势更加明显[1],作为可编程的集成度较高的ASIC,可在芯片级实现任意数字逻辑电路,从而可以简化硬件电路,提高系统工作速度,缩短产品研发周期。故利用FPGA这一新的技术手段来研究电子钟有重要的现实意义。设计采用FPGA现场可编程技术,运用自顶向下的设计思想设计电子钟。避免了硬件电路的焊接与调试,而且由于FPGA的I/O端口丰富,内部逻辑可随意更改,使得数字电子钟的实现较为方便。本课题使用CycloneEP1C6Q240的FPGA器件,完成实现一个可以计时的数字时钟。该系统具有显示时、分、秒,智能闹钟,按键实现校准时钟,整点报时等功能。满足人们得到精确时间以及时间提醒的需求,方便人们生活[2-3]。2研究的基本内容与拟解决的主要问题2.1研究的基本内容数字时钟是采用电子电路实现对时间进行数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度不断提高。数字时钟系统的实现有很多,可以利用VerilogDHL语言在QuartusII里实现时、分、秒计数的功能。在芯片内部存储器设24个字节分别存放时钟的时、分、秒信息。数字时钟首先是秒位(共8位)上按照系统时钟CLK进行计数,存储器内相应的秒值加1;若秒位的值达到60(110000),则将其清零,并将相应的分位(共8位)的值加1;若分值达到60(110000),则清零分位,并将时位(共8位)的值加1;若计数满24(100100)后整个系统从0开始重新进行计数。2本设计使用CycloneEP1C6Q240的FPGA器件为核心,通过编写程序,完成此电子时钟的主要功能显示时,分,秒,以及通过按键实现校准时钟主要功能,[5]使用LED液晶屏显示,分别显示时,分,秒。并且能够实现附加功能----闹铃设置功能和整点报时。[4]2.2拟要解决的问题本设计电子钟系统功能简单,用CycloneEP1C6Q240的FPGA器件为核心,通过编写程序,完成此电子时钟的主要功能。本课题主要解决以下问题:(1)学习VerilogDHL语言、运用QuartusII环境进行程序设计。用VerilogDHL语言能进行综合的电路设计,也可用于电路的仿真;设计的规模是任意的,语言不对设计规模施加任何限制;内置各种基本的逻辑门。便于改进和扩充,有利于本系统的研制,并使其性能更完备的。(2)在了解CycloneEP1C6Q240的FPGA器件的基础上设计程序。对于Altera公司Cyclone系列EP1C6Q240芯片需要有所了解,数码管显示、键盘输入,都在芯片上分配各自的I/O口引脚,这样就需要对各自的I/O口配置,并且编写各自的程序,来实现各自的功能。与此同时,为了保护芯片,未使用的引脚都要设置三态输入。(3)CycloneEP1C6Q240的FPGA器件的动态数码管和显示模块程序的编写。需要了解EP1C6Q240内部原理构造,熟悉动态数码管和显示模块的内部功能指令。(4)实现闹铃设置功能和整点报时的附加功能的程序编写。(5)将各个模块单独调试成功后,进行整合,进行整体系统调试。3总体研究思路及预期研究成果3.1总体研究思路本设计通过在QuartusII编程、运用芯片,实现时间显示。运用键盘对时间进行调时,并且设定闹钟和定时闹铃。设计系统由计时模块、显示模块、键盘模块、闹铃模块、校时模块6个模块组成,电路系统构成如图1所示:3图1数字时钟电路系统构成框图(1)分频模块晶体振荡器是构成数字式时钟的核心,振荡器的稳定度及频率的精度决定了数字钟计时的准确程度,它保证了时钟的走时准确及稳定。石英晶体的选频特性非常好,只有某一频率点的信号可以通过它,其它频率段的信号均会被它所衰减,而且,振荡信号的频率与振荡电路中的R、C元件的数值无关。因此,这种振荡电路输出的是准确度极高的信号。[6]然后再利用分频电路,将其输出信号转变为秒信号,其组成框图如图2。图2秒信号产生电路框图本系统使用的晶体振荡器电路给数字钟提供一个频率稳定准确的48MHz的方波信号,其输出至分频电路。经分频后输出1HZ的标准秒信号CLK、4MHZ的按键扫描信号、1KHZ的按键去抖信号和500HZ用于报时模块的输入信号。(2)计时模块将时钟的时、分、秒分成24个字节,秒的个位为hour[3,0],十位为hour[4,7]以分频电路石英晶体振荡电路秒信号4此类推到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研究预期成果在QuartusII下程序调试成功,在FPGA的EP1C6Q240芯片上进行烧写运行,可以成功初始化时间信息,并且更新时间:能显示时间信息时、分、秒。液晶屏的第四行显示时钟调整文字。实现键盘控制程序,可以通过四个按键(设置、加键/闹钟开关、减键/整点报时开关、确认)对时间进行调时,先按下“设置”键,界面切换到调时界面,“加键”和“减键”分别对对应时间值进行加“1”和减“1”修改,修5改完毕按“确认”退出。同时,也可以通过按键设定闹钟时间,时间到蜂鸣器鸣叫的功能。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.102013.05.04~2013.05.10论文初稿上交,指导教师评阅评阅教师评阅2013.05.11~2013.05.12毕业设计第一次论文答辩6参考文献7[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]SongKezhu.FPGAbaseddigitalclockDesign[J].NuclearElectronics&DetectionTechnology.2008(05):983-986[7]刘笑嫘;何广平;FPGA芯片的配置与下载[J];科技信息;2011(15):235-238