毕业设计:基于FPGA的多功能数字时钟.doc

上传人:文****钱 文档编号:43110 上传时间:2018-05-09 格式:DOC 页数:55 大小:12.43MB
下载 相关 举报
毕业设计:基于FPGA的多功能数字时钟.doc_第1页
第1页 / 共55页
毕业设计:基于FPGA的多功能数字时钟.doc_第2页
第2页 / 共55页
毕业设计:基于FPGA的多功能数字时钟.doc_第3页
第3页 / 共55页
毕业设计:基于FPGA的多功能数字时钟.doc_第4页
第4页 / 共55页
毕业设计:基于FPGA的多功能数字时钟.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、编号200903122009031236南京航空航天大学金城学院毕业设计题目基于FPGA的多功能数字时钟学生姓名学号系部自动化系专业电气工程与自动化班级指导教师二一三年六月南京航空航天大学金城学院本科毕业设计(论文)诚信承诺书本人郑重声明所呈交的毕业设计(论文)(题目基于FPGA的多功能数字时钟)是本人在导师的指导下独立进行研究所取得的成果。尽本人所知,除了毕业设计(论文)中特别加以标注引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写的成果作品。作者签名2013年5月31日(学号)2009031236毕业设计(论文)报告纸I基于FPGA的多功能数字时钟摘要数字钟由于其具有

2、走时准,显示直观,款式新颖,附加功能多等特点而受到人们的广泛使用。采用FPGA设计一个具有整点报时,可校时,可显示万年历的数字时钟是本课题的主要任务。由于数字集成电路的发展和石英晶体震荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产、生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些都是以钟表数字化为基础的。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求,因此研究数字钟以及扩大其应用有着非常现实的意义。本文介绍的基

3、于现场可编程门阵列FPGA实现数字多功能数字时钟,采用自上而下的方法对系统进行设计,以硬件描述语言VHDL为描述语言,利用QUARTUSII软件进行设计,并在智能可编程器件开发实验系统KH310上实现数码管显示的时钟,及其计时、校时、整点提示和万年历功能。其中时钟的秒钟、分钟为60进制计时方式,小时可通过24进制的计时方式,天可通过与月传过来的判断信号来判断大、小平、闰月,可分别用28、29、30、31进制计数实现,月通过12进制计数实现,年通过100进制计数实现。本课题通过设置一个专门的按键来实现时间和万年历的切换显示。关键词VHDL,FPGA,QUARTUSII,多功能毕业设计(论文)报告

4、纸IIFPGABASEDMULTIFUNCTIONDIGITALCLOCKABSTRACTBECAUSEOFITSQUASITRAVELTIME,INTUITIVEDISPLAY,FASHIONABLE,ADDITIONALFUNCTIONS,DIGITALCLOCKSAREWIDELYUSEDBYTHEPEOPLETHEMAINTASKOFTHISPROJECTISTHATFPGADESIGNCANBEONTIMEALARM,TIMEKEEPING,ANDSHOWCALENDARINDIGITALCLOCKSDUETOTHEDEVELOPMENTANDWIDELYUSEOFDIGITALIN

5、TEGRATEDCIRCUITSANDQUARTZCRYSTALOSCILLATORS,ITMAKESTHATTHEACCURACYOFTHEDIGITALCLOCKISFARMORETHANTHEOLDFASHIONEDWATCHTHEDIGITIZEDCLOCKSHAVEBROUGHTGREATCONVENIENCEFORPEOPLESLIFEANDWORK,ANDALSOGREATLYEXPANDTHEORIGINALTIMEKEEPINGFUNCTIONOFTHEWATCHSUCHASREGULARAUTOMATICALARM,TIMEDTOOPENANDCLOSETHECIRCUIT

6、,OVENTIMERSWITCHOFFTHEPOWEREQUIPMENT,ANDEVENAVARIETYOFTIMINGELECTRICALAUTOMATICALLYENABLED,ALLOFTHESEAREBASEDONDIGITALCLOCKSINRECENTYEARS,WITHTHEDEVELOPMENTOFTECHNOLOGYANDTHEPROGRESSOFSOCIETY,PEOPLEHAVETHEHIGHERDEMANDFORTHEDIGITALCLOCKSTHEUSEOFCONVENTIONALCLOCKCANNOTMEETTHENEEDSOFPEOPLE,SORESEARCHIN

7、GDIGITALCLOCKANDEXPANDINGITSAPPLICATIONHASAVERYPRACTICALSIGNIFICANCETHISARTICLEDESCRIBESTHEFIELDPROGRAMMABLEGATEARRAYFPGA,WHICHISBASEDONDIGITALMULTIFUNCTIONDIGITALALARMCLOCK,ITDESIGNSSYSTEMFROMTHETOPTOTHEDOWN,TREATSHARDWAREDESCRIPTIONLANGUAGEVHDLASTHEDESCRIPTIONLANGUAGE,ANDUSESQUARTUSIISOFTWARETODES

8、IGN,ANDALSOUSESTHESMARTPROGRAMMABLEDEVICESDEVELOPEDEXPERIMENTALSYSTEMKH310TOACHIEVETHEDIGITALDISPLAYOFTHECLOCK,ITSTIME,SCHOOLHOURS,THEWHOLEPOINTOFPROMPTANDCALENDARFUNCTIONSCLOCKSECONDS,MINUTESHANDSISBY60HEXADECIMALTIMING,HOURHANDISBY24HEXADECIMALTIMING,DAYSAREBY28,29,30,OR31HEXADECIMALCOUNT,MONTHISB

9、Y12HEXADECIMALCOUNT,YEARONYEARISBY100HEXADECIMALCOUNTTHISARTICLEDESIGNSADEDICATEDBUTTONTODISPLAYTIMEANDCALENDARCONVERSIONKEYWORDSVHDLQUARTUSFPGAMULTIFUNCTION毕业设计(论文)报告纸III目录摘要IABSTRACTII第一章引言111课题研究的概况1111课题研究的背景和意义1112课题研究的主要任务2第二章硬件描述语言VHDL321VHDL语言简介3211VHDL语言的特点322VHDL语言结构4第三章FPGA简介531FPGA基本结构53

10、2ALTERA公司的介绍6321FPGA的应用选择6322课题研究采用的FPGA介绍7第四章QUARTUSII的使用841QUARTUSII51简介842QUARTUSII设计流程9第五章基于FPGA的多功能数字时钟1151系统设计任务及流程1152系统的总体设计1153系统的各模块的设计12531分频模块12532计数模块13533校时模块22毕业设计(论文)报告纸IV534报时模块24535译码显示模块25536显示转换模块27第六章整体系统的实现3061系统的顶层原理图3062多功能数字闹钟系统在KH310实验系统上的演示32第七章总结与展望3671总结3672展望36参考文献37致谢3

11、8附录39源程序39毕业设计(论文)报告纸1第一章引言11课题研究的概况111课题研究的背景和意义随着科学技术的进步,现在的闹钟也不再是过去的老样子。在过去几百年的时间里,人类发明的闹钟有的采用公鸡的鸣叫声,有的用教堂和佛寺的钟声,而现在市面上出现了各种各样的钟,以声或光的形式提醒。如数字闹钟、字谜闹钟、小鸡闹钟、礼品小闹钟、旅行闹钟、卡通闹钟、机械闹钟、石英闹钟、卡通语言钟、扫描钟、打铃钟、工艺钟等系列产品。制造者们根据社会的需求为人类定制各种各样的产品。数字钟在向美观化、多功能化、时尚化的方面发展,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的要求。数字钟是一种利用数字电路来显示

12、秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优。多功能数字钟不管在性能还是在样式上都发生了质的变化。数字钟被广泛用于个人家庭,车站,码头、办公室等公共场所,成为人们日常生活中的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度运用超过老式钟表,钟表的数字化给人们生产生活带了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意

13、义。数字钟可以由各种技术实现,如用数字电路、单片机等技术实现。利用可编程逻辑器件具有其他方式没有的特点,它具有易学、方便、新颖、有趣、直观,设计与实验成功率高、理论与实践结合紧密、体积小、量大、I/O口丰富、编程和加密等特点,并且它还具有开放的界面、丰富的设计库、模块化的工具以及LPM定制等优良性能,应用非常方便。因此,本设计采用可编程逻辑器件实现。本文采用的是基于FPGA的多功能数字时钟系统设计。研究了如何以现场可编程门阵列FPGA为载体,运用高级硬件描述语言VHDL进行系统功能编程,并通过QUARTUSII环境进行仿真,验证多功能数字钟的功能是否满足以下基本指标具有年、月、日、时、分、秒毕

14、业设计(论文)报告纸2计数显示功能;具有整点报时功能;可以对年、月、日、时、分及秒进行单独校对,使其校正到标准时间;并进行优化完善。FPGA即现场可编程门列阵,它是1985年由美国XILINX公司首家推出的一种新型的可编程逻辑器件。FPGA在结构上由逻辑功能块阵列,并由可编程的内部连线连接这些功能块来实现一定的逻辑功能。FPGA的功能由逻辑结构的配置数据决定,工作时,这些配置数据放在片内SRAM或者熔丝图上。使用SRAM的FPGA器件,在工作前需要从芯片外部加载配置数据,这些配置数据可以放在片外的EPROM或其他储存体上,人们可以控制加载过程,在现场修改器件的逻辑功能。FPGA的发展十分迅速,

15、目前已达到超过300万门/片的集成度、3NS内部延时的水平。除XILINX公司外,ALTERA和ACTEL等公司也提供高性能的FPGA芯片。本文使用ALTERA公司的ACEX1K系列的FPGA,型号为EP1K30Q208112课题研究的主要任务设计具有如下功能的数字钟1)该数字钟能进行正常的时钟走时功能以及日期的计时功能。2)在KH310设置专门按键K3用来进行模式切换,当按键置“1”时,显示年、月、日;当按键置“0”时,显示时、分、秒。3)在KH310上设有专门的按键K1、K2实现年、月、日和时、分、秒的校对功能。当按下K1键时进入校时模式,K2按键为各模块计时值得更改按键。4)同时设有5个

16、校时模式下的LED灯,编号为、。当灯被点亮时表示进入调时模式下的分调时,当灯被点亮时表示进入调时模式下的时调时,当灯被点亮时表示进入调时模式下的天调时,当灯被点亮时表示进入调时模式下的月调时,当灯被点亮时表示进入调时模式下的年调时。5)本时钟带有整点报时功能,用一个LED灯的点亮一秒来表达,该LED灯编号为。当检测的秒、分计数模块的值都为“00”时灯会被点亮一秒钟,然后熄灭。各个模块设计好后,通过综合仿真软件QUARTUS采用VHDL实现,仿真该系统的各个功能模块,并在综合开发实验系统KH310上调试时钟系统的整体功能。毕业设计(论文)报告纸3第二章硬件描述语言VHDL21VHDL语言简介21

17、1VHDL语言的特点与其他硬件描述语言相比,VHDL具有以下特点11)功能强大、设计灵活VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。2)支持广泛、易于修改由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中

18、,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。3)强大的系统硬件描述能力VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。4)独立于器件的设计、与工艺无关设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用

19、多种不同的器件结构来实现其功能。5)很强的移植能力VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。毕业设计(论文)报告纸46)易于共享和复用VHDL采用基于库(LIBRARY)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。22VHDL语言结构VHDL语言通常包括库说明、实体说明、结构体说明3个部分2。VHDL提供5个库,IEEE库,STD库,VITAL库,自定义库和WORK库。库LIB

20、RARY是一些常用代码的集合,有利于设计的重用和代码的共享。代码通常以函数(FUNCTION)、过程(PROCEDURE)或元件(COMPONENT)等标准形式存放在包集(PACKAGE)中,用户可以根据需要对其进行编译。VHDL设计中3个常用的库IEEE库,STD库和WORK库。实体是一个设计实体的表层设计单元,是对设计实体与外部电路进行的接口描述,是设计实体经封装后对外界的一个通信界面。实体类似于原理图中的符号,它并不描述模块的具体功能。此时只是一个“黑盒子”,只描述了它的输入输出接口信号。结构体(ARCHITECTURE)用来描述实体的内部结构或逻辑功能。它必须和实体(ENTITY)相联

21、系。一个实体(ENTITY)可以有多个结构体,设计结构可以为多进程,运行是并行的,结构体描述方式包括行为描述、数据流描述、结构描述。毕业设计(论文)报告纸5第三章FPGA简介31FPGA基本结构FPGA由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等3。每个单元简介如下1、可编程输入/输出单元(I/O单元)目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电器标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。2、基本可编程逻辑单元FPGA的基本可编

22、程逻辑单元是由查找表(LUT)和寄存器(REGISTER)组成的,查找表完成纯组合逻辑功能。FPGA内部寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。3、嵌入式块RAM目前大多数FPGA都有内嵌的块RAM。嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结构。CAM,即为内容地址存储器。写入CAM的数据会和其内部存储的每一个数据

23、进行比较,并返回与端口数据相同的所有内部数据的地址。简单的说,RAM是一种写地址,读数据的存储单元;CAM与RAM恰恰相反。4、丰富的布线资源布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。布线资源的划分1)全局性的专用布线资源以完成器件内部的全局时钟和全局复位/置位的布线。2)长线资源用以完成器件BANK间的一些高速信号和一些第二全局时钟信号的布线。毕业设计(论文)报告纸63)短线资源用来完成基本逻辑单元间的逻辑互连与布线。4)其他在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。5、底层嵌入功能单元6、内嵌专用硬核与“底层嵌入单元”是有

24、区别的,这里指的硬核主要是那些通用性相对较弱,不是所有FPGA器件都包含硬核。32ALTERA公司的介绍321FPGA的应用选择由于FPGA具备设计灵活、可以重复编程的优点,因此在电子产品设计领域得到了越来越广泛的应用。在工程项目或者产品设计中,选择FPGA芯片可以参考以下的几点策略和原则4。1、尽量选择成熟的产品系列FPGA芯片的工艺一直走在芯片设计领域的前列,产品更新换代速度非常快。稳定性和可靠性是产品设计需要考虑的关键因素。厂家最新推出的FPGA系列产品一般都没有经过大批量应用的验证。选择这样的芯片会增加设计的风险。而且,最新推出的FPGA芯片因为产量比较小,一般供货情况都不会很理想,价

25、格也会偏高一些。如果成熟的产品能满足设计指标要求,那么最好选这样的芯片来完成设计。2、尽量选择兼容性好的封装FPGA系统设计一般采用硬件描述语言(VHDL)来完成设计。这与基于CPU的软件开发又有很大不同。特别是算法实现的时候,在设计之前,很难估算这个算法需要占用多少FPGA的逻辑资源。作为代码设计者,希望算法实现之后再选择FPGA的型号。但是,现在的设计流程一般都是软件和硬件并行开始设计。也就是说,在VHDL代码设计之前,就开始硬件板卡的设计。这就要求硬件板卡具备一定的兼容性,可以兼容不同规模的FPGA芯片。3、尽量选择一个公司的产品如果在整个电子系统中需要多个FPGA器件,那么尽量选择一个

26、公司的产品。这样的好处不仅可以降低成本,而且降低开发难度。因为开发环境和工具是一致的,芯片接口电平和特性也一致,便于互联互通。毕业设计(论文)报告纸7在全球不同的地区,ALTERA和ACTEL公司的FPGA芯片产品的市场表现会有所差别。在中国市场,两家公司可以说是平分秋色,在高校里面ALTERA的客户会略多一些。针对特定的应用,两个厂家的产品目录里面都可以找到适合的系列或者型号。而本课题中采用的是ALTERA公司的ACEX1K系列的EP1K30型号。322课题研究采用的FPGA介绍本课题研究选用的是ALTERA公司的FPGA芯片,ACEX1K器件系列中的EP1K30型号,208个引脚,576个

27、逻辑单元,3个嵌入式RAM块。ACEX1K系列器件是ALTERA公司近期推出的新型FPGA产品。该器件基于SRAM,结合查找表(LUT)和嵌入式阵列块(EAB)提供了高密度结构,可提供10000到100000可用门,每个嵌入式阵列块增加到16位宽可实现双端口,RAM位增加到49125个。其多电压引脚可以驱动25V、33V、50V器件,也可以被这些电压所驱动;双向I/O引脚执行速度可达250MHZ。该器件还应用ALTERA专利技术进行了重要的生产改进,进一步降低了器件的成本,提高了产品的性能价格比。因此,ACEX1K器件可用来实现许多逻辑复杂、信息量大的系统。但是在器件操作过程中,ACEX1K系

28、列器件的配置数据存储在SRAM单元中,由于SRAM的易失性,配置数据在每次上电时必须被重新载入SRAM。毕业设计(论文)报告纸8第四章QUARTUSII的使用41QUARTUSII51简介ALTERA公司开始发售51版的QUARTUSII软件,包括了时序分析工具TIMEQUEST,并且能够支持SYNOPSYS设计约束(SDC)时序格式。这一最新版本还包括扩展的团队设计功能,能够有效地管理高密度设计团队之间的协作。这些改进主要针对当今高密度90NM的设计要求,同时对更高密度的FPGA的需求以及ALTERA发展下一代65NM产品系列打下了基础。ALTERA在最新版QUARTUSII软件中引入了新的

29、技术改进,以满足客户对90NM的需求,并为65NM工艺节点打下了基础。TIMEQUEST时序分析工具帮助用户对时序约束较为复杂的设计进行建立、管理和分析操作,例如时钟复用设计和源同步接口等,用户还可以迅速完成高级时序验证。该软件的团队设计支持特性包括工程管理器接口、用于顶层设计的资源管理和时序预算。此外,工程管理器接口还支持设计人员管理模块间的时序约束,实现最佳性能。这一新特性支持团队在高密度FPGA设计上的协作,从而提高了团队效率,增强了设计模块相互之间的性能。同时,通过对流行的IEEE18002005标准SYSTEMVERILOG语法硬件描述和验证语言设计结构的支持,该工具实现了速度更快的

30、寄存器传送级(RTL)。其增强的I/O引脚规划器与ALTERA知识产权(IP)更直接的集成,简化了引脚分配。该软件扩展的电路板级设计还能支持提供STRATIXII单端输出的HSPICE模型。图41为QUARTUS软件的用户界面。图41QUARTUS软件的用户界面毕业设计(论文)报告纸942QUARTUSII设计流程基于QUARTUSII的FPGA系统设计流程51)设计输入使用QUARTUS软件的模块输入方式、文本输入方式、CORE输入方式和EDA设计输入工具等表达用户的电路构思,同时使用分配编辑器(ASSIGNMENTEDITOR)设定初始约束条件。2)综合将HDL语言、原理图等设计输入翻译成

31、由与门、或门、非门、RAM和触发器等基本逻辑单元组成的逻辑链接(网络表),并根据目标与要求(约束条件)优化生成逻辑链接,输出EDF或VQM等标准格式的网络表文件。3)布局布线布局布线输入文件是综合后的网络表文件,QUARTUS软件中布局布线包含分析布局布线结果、优化布局布线、增量布局布线和通过反向标注分配等。4)时序分析允许用户分析设计中所有逻辑的时序性能,并协助引导布局布线以满足设计中的时序分析要求。默认情况下,时序分析作为全编译的一部分自动运行。5)仿真波形矢量文件的扩展名为“VWF”,仿真分为功能仿真和时序仿真,也称为前仿真和后仿真,功能仿真是忽略延时后的仿真,是最理想的仿真,时序仿真则

32、是加上了一些延时的仿真,是最接近于实际的仿真,在设计中通常先做功能仿真验证逻辑的正确性,后做时序仿真验证时序是否符合要求,需注意默认为时序仿真,在设置功能仿真后需要生成功能仿真网络表。6)引脚分配引脚分配是为了对所设计的工程进行硬件测试,将输入/输出信号锁定在器件确定的引脚上,分配完引脚后必须再次编译才能存储这些引脚锁定的信息。7)下载验证JTAG下载模式相应的文件为“SOF”,ACTIVESERIAL下载模式相应的文件为“POF”。毕业设计(论文)报告纸10图42QUARTUS的设计流程图图42为QUARTUSII设计流程图,从图中我们可以更清楚地看出基于QUARTUSII的FPGA系统设计

33、流程。设计输入综合功能仿真时序仿真器件仿真硬件测试设计修改毕业设计(论文)报告纸11第五章基于FPGA的多功能数字时钟51系统设计任务及流程为了实现本系统设计的功能,本系统设计安排了用数码管显示,用24小时进制来计时,万年历天部分分为28、29、30、31不同月份的计数,月份为12进制,年用100进制来实现同时也能校时和整点闹钟提示等任务。通过自上而下的设计理念(自上而下的设计方法,一般用于全新设计,其设计过程遵循“设计验证修改设计再验证”的原则),把多功能数字钟的整体功能考虑其中,然后再细化到各个模块,包括分频模块(用以获得时钟内部所需的脉冲),校时模块(用以校准时间),计时模块(用以计时)

34、,显示模块(用以显示结果以及转换显示),整点报时模块(用以报时功能)的功能实现,最终在智能可编程器件开发实验系统KH310上实现。52系统的总体设计整个系统利用QUARTUSII软件进行设计,以硬件描述语言VHDL为设计语言。本系统设计可以采用自上而下的方法对系统进行描述。为使本次设计系统得时钟显示采用数码管显示,计时及校时功能和整点提示功能得以实现,本系统设计了这几大模块分频模块,校时模块,计时模块,显示模块,整点报时模块。分频模块利用智能可编程器件开发实验系统KH310上提供的40MHZ的脉冲分频得到多功能数字闹钟计时用的1HZ的脉冲。校时模块可以通过控制外部电平的输入来设置数字钟的分、时

35、的计数。计时模块可以实现数字钟的秒、分、时的计时功能以及万年历的计数。显示模块通过共阴极数码管扫描显示,来显示当下的时间或设定的时间和日历。整点报时模块连接外部设备LED灯,用来设定整点提示。通过以上各个模块的组合工作,实现多功能数字钟的整体功能,如图51所示。毕业设计(论文)报告纸12图51系统框架图53系统的各模块的设计531分频模块分频模块用于给整个系统提供所需的脉冲。该模块利用智能可编程器件开发实验系统KH310试验箱上的的1KHZ脉冲分频得到1HZ的脉冲。频率,1HZ的脉冲用于秒计数。我们知道一个脉冲有上升沿和下降沿,那么,1KHZ的脉冲经过499次的计数循环后,使一个信号X产生一个

36、上升沿,再过499次的计数循环后,使这个X信号产生一个下降沿。这样,因此,在1000次计数后信号X形成一个新的脉冲信号,该脉冲即为1HZ的脉冲。当然,在语言处理中需要有一个“翻折”的概念。IFCLK1ANDCLKEVENTTHENIFCLR1THENCOUNTER0Q20Q20CQ4IFCQ3“0001“ANDCQ4“0011“判断信号为00时为31进THENCQ3IFCQ3“0000“ANDCQ4“0011“判断信号为01时为30进THENCQ3IFCQ3“1000“ANDCQ4“0010“判断信号为10时为28进THENCQ3IFCQ3“1001“ANDCQ4“0010“判断信号为11时为

37、29进THENCQ3NULLENDCASEENDIF由VHDL程序代码生成生成如图57所示的图元元件,其中PANDUAN10端口是判断月份大小的判断信号,它由月计数模块提供;CLK端口是低位进位信号提供的时钟信号;CQ130端口是天计数的个位计数输出信号;CQ230端口是天计数的十位计数的输出信号;COUT端口是向高位产生进位的输出端口。图57天计数模块的图元元件该模块的仿真波形如图58、59、510、511所示图58判断信号为00时31天计数模块仿真图图59判断信号为01时30天计数模块仿真图毕业设计(论文)报告纸18图510判断信号为10时28天计数模块仿真图图511判断信号为11时29天

38、计数模块仿真图4、月计数模块月模块为12进制计数器,同时其需要为天提供判断信号输出PAN,其与天的判断输入信号相一致。由于二月的判断信号输出要受到平年和闰年的影响,平年时判断信号是“10”,闰年时判断信号为”11“,所以它要有接收来之年模块的判断平年闰年的输出信号(RUN0时表平年,RUN1时表闰年)。月计数模块的时钟信号由天计数模块在正常计时状态下的进位信号提供。当个位CQ1计数到“9”时会向十位CQ2产生进位,使得CQ2开始计数。当CQ1为“1”并且CQ2为“2”时,COUT会产生进位信号给校时模块的YI,在正常计时情况下驱动年计数模块的时钟信号。同时,CQ1会被清零,但CQ2会被重新赋值

39、“1”,因为月时从1月份开始计的。IFCLKEVENTANDCLK1THENCQ1PANIFRUN1THENPANPANPANPANPANPANPANPANPANPANPANNULLENDCASE由VHDL程序代码生成生成如图512所示的图元元件,其中CLK端口为低位进位信号提供的时钟信号;RUN端口为闰年的判断信号,它由年计数模块提供;PAN端口输出大小月的判断信号,提供给天计数模块;CQ1端口输出月计数的个位计数;CQ2端口输出月计数的十位计数;COUT端口输出向高位的进位信号。图512月计数模块的图元元件毕业设计(论文)报告纸20该模块的仿真波形如图513、514所示图513平年(RUN

40、0)时月模块仿真图图514闰年(RUN1)时月模块仿真图如图513和514所示月模块为12进制计数器,并且1、3、5、7、8、10、12月(大月)判断信号为“00”,4、6、9、11月(小月)判断信号为“01”,平年(RUN0)2月的判断输出信号为10,闰年(RUN1)2月的判断输出信号为11,与天模块的判断输入信号相一致,符合设计要求。5、年计数模块年计数为一百进制的计数器,模块有闰年判断输出信号RUN,要传送给月份模块,计满四次就产生一个闰年输出信号,因为闰年数值是4的整倍数。年计数模块的时钟信号来自正常计时状态下的COUT进位信号。年的个位Y1计数达到“9”就会向十位Y2产生进位,使得Y

41、2开始计数。当YI,Y2都为“9”时,Y1,Y2会被清零。IFCLKEVENTANDCLK1THENQ10Q20RUNFOFOFOFOFOFONULLENDCASE由VHDL程序代码生成生成如图517所示的图元元件,其中K1端口为按键信号,来实现系统调试模式与计时模式转换的;K2端口也为按键信号,主要实现系统的调试功能;M1端口输入秒的进位信号;FI端口输入分的进位信号;SI端口输入时的进位信号;TI端口输入天的进位信号;YI端口输入月的进位信号;FO端口在正常计时模式下输出秒的进位信号MI,毕业设计(论文)报告纸23在调时模式下输出K2调时信号;SO端口在正常计时模式下输出秒的进位信号FI,

42、在调时模式下输出K2调时信号;TL端口在正常计时模式下输出秒的进位信号SI,在调时模式下输出K2调时信号;YO端口在正常计时模式下输出秒的进位信号TI,在调时模式下输出K2调时信号;NO端口在正常计时模式下输出秒的进位信号YI,在调时模式下输出K2调时信号。图517校时模块的图元元件该模块的仿真波形如图518和519所示图518校时模块仿真图毕业设计(论文)报告纸24图519校时模块仿真图如图518所示,当按键K1没按下时,按下K2键,校时模块的FO只随着MO值的改变而改变,不K2按键的影响。当K1按键按下时,校时模块的FO的值随着K2按键按下的次数而改变,而不受MO值改变的影响,同时与调分相

43、对应的LED灯会被点亮。同理,如图519所示,当K1按键按下到第四次时,校时模块的YO只会随着K2按键的按下的次数而改变,同时,相应的调月LED灯会被点亮。调年也是一样。534报时模块利用计数模块的输出作为报时模块的输入,当检测到分和秒的都为“00”时令报时模块输出为1,驱动LED灯亮一秒。IFCLKEVENTANDCLK1ANDM1“0000“ANDM2“0000“ANDS1“0000“ANDS2“0000“)THEN毕业设计(论文)报告纸25SPEAKER1ELSESPEAKER0ENDIF由VHDL程序代码生成生成如图520所示的图元元件,其中CLK端口输入外部时钟信号;M1端口输入秒的

44、低位信号;M2端口输入秒的高位信号;S1端口输入时的低位信号;S2端口输入时的高位信号;SPEAKER端口输出报时信号。图520整点报时模块的图元元件535译码显示模块本次使用的数码管为7段共阴极数码管,而且需要各数码管轮流显示各自数值,因此需采用数码管扫描显示,才能使数码管显示多功能数字钟的整体计数功能。而且,一个数码管只能显示一个数字,所以,在计数时如用的计数进制大于10,就必须考虑将该数的高位和地位分开显示。同时,时、分、秒,日、月、年还要单独为一组显示,所以在每个计数模块后面加一个间隔符“”。数码管采用扫描方式,从第一个数码管依次扫描到第八个数码管。IFCLKEVENTANDCLK1T

45、HEN测试时钟上升沿IFCNT87THENCNT8SCANSCANSCANSCANSCANSCANSCANSCANNULLENDCASE给每个数码管扫描到了就要对计数器里的数据进行译码了,将BCD码译成数码管对应AG七段显示信号。这就要对数码管的七个管子进行编号译码。GFEDCBAWHEN“0000“SEGSEGSEGSEGSEGSEGSEGSEGSEGSEGSEGNULL其他的不显示ENDCASEAQ6Q6NULLENDCASE由VHDL程序代码生成生成如图522所示的图元元件,其中SL30YH30端口分别输入秒、分、时、日、月、年的计数信号;K3端口为按键,主要实现系统的显示转换功能的;Q

46、130Q630端口输出要显示的内容,它与译码显示模块的DATA1、DATA2、DATA4、DATA5、DATA7、DATA8相连接实现整个系统的显示与显示转换功能。图522显示转换模块的图元元件毕业设计(论文)报告纸29该模块的仿真波形如图523所示图523显示模块仿真图如图523所示,当按键K1没有按下时Q1到Q6显示的是年月日部分,当按键K1按下一次,检测到一次上升沿,Q1到Q6显示的是时分秒部分,当K1键再次按下时,上升沿一到,显示年月日,这样通过按键K1可以实现显示模式的切换。毕业设计(论文)报告纸30第六章整体系统的实现61系统的顶层原理图图61时钟系统的整体连线图如图61所示位系统

47、的整体框图。途中共有12个小模块,分别为分频模块,秒计数模块,分计数模块,时计数模块,天计数模块,月计数模块,年计数模块,校时模块,显示译码模块,显示转换模块,整点报时模块,显示“”模块。各个模块之间都紧密联系,相互作用,共同构成了整个数字钟系统。毕业设计(论文)报告纸31图62系统的管脚分配图1图63系统的管脚分配图2图64系统的管脚分配图3如图62、63、64所示为本系统的管脚分配图。毕业设计(论文)报告纸3262多功能数字闹钟系统在KH310实验系统上的演示图65时间显示“061740”如图65所示,该图是在正常计时模式下显示的时时间,清楚可见当时的时间是上午六点十七分四十秒。图66日历

48、显示“20130517”如图66所示,该图是在正常计时模式下显示的日期,清楚可见当时的诶器时13年05月17日。毕业设计(论文)报告纸33图67整点报时显示如图67所示,该图是在正常计时模式下的整点报时,清楚可见当时是下午五点整,在数码管的上方号LED灯点亮,说明整点报时功能正确。图68调时模式的分调时如图68所示,该图是在校时模式下的调分模式,清楚可见数码管上方的号LED灯点亮,说明这时可以对分计时模块进行校对,当按下拨码开关K2键时,分计时模块的值会随着K2键的变化而变化。毕业设计(论文)报告纸34图69调时模式的时调时如图69所示,该图是在校时模式下的调时模式,清楚可见数码管上方的号LE

49、D灯点亮,说明这时可以对时计时模块进行校对,当按下拨码开关K2键时,时计时模块的值会随着K2键的变化而变化。图610调时模式的天调时如图610所示,该图是在校时模式下的调天模式,清楚可见数码管上方的号LED灯点亮,说明这时可以对天计数模块进行校对,当按下拨码开关K2键时,天计数模块的值会随着K2键的变化而变化。毕业设计(论文)报告纸35图611调时模式的月调时如图611所示,该图是在校时模式下的调月模式,清楚可见数码管上方的号LED灯点亮,说明这时可以对月计数模块进行校对,当按下拨码开关K2键时,月计数模块的值会随着K2键的变化而变化。图612调时模式的年调时如图612所示,该图是在校时模式下的调年模式,清楚可见数码管上方的号LED灯点亮,说明这时可以对年计数模块进行校对,当按下拨码开关K2键时,年计数模块的值会随着K2键的变化而变化。毕业设计(论文)报告纸36第七章总结与展望71总结在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,例如在对具体模块的仿真的过程中,往往没有考虑到整体设计的层面以及与上下模块接口的设计。再加上器件对信号的延时等问题,实际下载到实验箱上后会出现一系列的问题,因此仿真图和电路连接图还是有一定区别的

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

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。