《基于FPGA的多功能电子万年历毕业设计》由会员分享,可在线阅读,更多相关《基于FPGA的多功能电子万年历毕业设计(35页珍藏版)》请在金锄头文库上搜索。
1、毕业设计中期报告题目名称:基于FPGA的万年历设计院系名称:电气学院班 级:应电学 号:0832100589学生姓名:梁启超指导教师:潘金凤2011年06月目录一、多功能电子万年历及FPGA简介11.1电子万年历的发展11.2 FPGA简介11.3电子万年历的工作原理2二、多功能电子万年历各功能模块实现42.1时钟问题42.1.1全局时钟42.1.2门控时钟42.1.3多级逻辑时钟52.1.4波动式时钟52.2电子万年历的控制系统62.3主控制模块 maincontrol72.4时间及其设置模块 time_auto_and_set82.2.1时间模块 timepiece_main82.2.2
2、时间设置模块 timeset92.2.3时间数据与时间设置数据多路选择模块 time_mux112.3时间显示动态位选模块 time_disp_select132.4显示模块 disp_data_mux142.5秒表模块 stopwatch152.6日期显示与设置模块 date_main162.6.1日期自动工作模块 autodate162.6.2日期设置模块 setdate172.7闹钟模块alarmclock172.8分频模块 fdiv192.9顶层模块图20三、附录22电子万年历系统的Verilog HDL语言程序设计部分代码223.1主控制模块223.2秒自动计时子模块243.3时间自
3、动工作控制243.4时间数据与时间设置数据多路选择模块253.5时间及其设置模块263.6时间显示动态位选模块273.7秒表模块283.8分频模块28参考文献301 引言1.1 选题意义钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯等。所有这些,都是以钟表数字化为基础的。因此,研究电子万年历及扩大其应用,有非常现实的意义。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。电子万年历从原理上讲
4、是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。因此,我们此次设计与制做电子万年历就是为了了解数字钟的原理,从而学会制作数字钟。而且通过万年历的制作进一步了解各种在制作中用到的中小规模集成电路的作用及使用方法,且由于电子万年历包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。本设计基于 FPGA 芯片,外围电路简单,系统集成化程度高,精度高,采用 Verilog HDL语言编程,用软件的方式设计硬件,灵活性好,方便以后的产品升级。 1.2电子万年历的研究背景 在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间
5、的影响。为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一,没有更大程度上的满足人们的需求。因此在这里,我想能不能把一些辅助功能加入钟表中。在此设计中所设计的钟表不但具有普通钟表的功能,它还能实现额外的功能:世界时、农历显示。人类不断研究,不断创新纪录。发展到现在人们广泛使用的万年历。 万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办
6、公室等公共场所,成为人们常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。它可以对年、月、日、周日、时、分、秒进行计时,对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。综上所述
7、此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。1.3国内外产品研究综述 万年历具有读取方便、显示直观、功能多样、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 近些年我国也开始重视对电子万年历的开发与设计,让更多的电子时钟能够走进人民生活,让更多的人能够应用到功能强大,精度高的电子时钟。但是仍然存在很多问题。 中国电子万年历产业发展出现的问题中,许多情况不容乐观,如产业结构不合理、产业集中于劳动力密集型产品;技术密集型产品明显落后于发达工业国家;生产要素决定性作用正在削弱;产业能源消耗大、产出率低、
8、环境污染严重、对自然资源破坏力大;企业总体规模偏小、技术创新能力薄弱、管理水平落后等。 中国电子万年历产业发展研究报告阐述了世界电子万年历产业的发展历程,分析了中国电子万年历产业发展现状与差距,开创性地提出了“新型电子万年历产业” 及替代品产业概念,在此基础上,从四个维度即“以人为本”、“科技创新”、“环境友好”和“面向未来”准确地界定了“新型电子万年历产业” 及替代产品的内涵。根据“新型电子万年历产业” 及替代品的评价体系和量化指标体系,从全新的角度对中国电子万年历产业发展进行了推演和精准预测,在此基础上,对中国的行政区划和四大都市圈的电子万年历产业发展进行了全面的研究。 随着人们生活水平的
9、提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。1一、多功能电子万年历及FPGA简介1.1电子万年历的发展钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯等。所有这些,都是以钟表数字化为基础的。因此,研究电子万年历及扩大其应用,有非常现实的意义。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。电子万年历从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时
10、序电路。因此,我们此次设计与制做电子万年历就是为了了解数字钟的原理,从而学会制作数字钟。而且通过万年历的制作进一步了解各种在制作中用到的中小规模集成电路的作用及使用方法,且由于电子万年历包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。1.2 FPGA简介PLD/FPGA是近几年集成电路中发展最快的产品。由于PLD性能的高速发展以及设计人员自身能力的提高,可编程逻辑器件供应商将进一步扩大可编程芯片的领地,将复杂的专用芯片挤向高端和超复杂应用。据IC Insights的数据显示,PLD市场从1999年的29亿美元增长到去年的56亿美元,几乎翻了一番
11、。Matas预计这种高速增长局面以后很难出现,但可编程逻辑器件依然是集成电路中最具活力和前途的产业。复杂可编程逻辑器件。可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑(CPLD)。 在这两类可编程逻辑器件中,FPGA提供了最高的逻辑密度、最丰富的特性和最高的性能。 现在最新的FPGA器件,如Xilinx Virtex系列中的部分器件,可提供八百万系统门(相对逻辑密度)。 这些先进的器件还提供诸如内建的硬连线处理器(如IBM Power PC)、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件(device-to-device)信号技术。 FPGA被
12、应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。1.3电子万年历的工作原理按键消抖 可 编功能键 程调整键1 逻调整键2 辑 器 件 CPLD/FPGA LED显示模块u 功能键用来选择不同的工作模式:时间正常显示功能、时间调整与显示、秒表功能、闹钟设置与查看、日期显示、日期调整与设置。u 调整键1:主要用于闹钟设置、日期显示与调整、秒表、时间调整与设置中的位置选择按钮,与功能键配合使用。 2号键功能模式,即时间调整与设置时,用作时、分、秒的移位,按一下,将会实现“时-分-秒”的依次移位,便于在特定位置进行调整; 4号键功能模式,即闹钟设置与查看时,同样用作时、
13、分、秒的移位,按一下,将会实现“时-分-秒”的依次移位,便于在特定位置进行调整; 6号键功能模式,即日期调整与设置时,用作月、日的移位,按一下,将会实现“月-日”的依次移位,便于在特定位置进行调整。u 调整键2:主要用于闹钟设置、日期显示与调整、秒表、时间调整与设置中的调整按钮,与功能键配合使用。 2号键功能模式,即时间调整与设置时,用作时、分、秒的调整,按一下,将会使得当前调整键1选择的位置数字增加1; 4号键功能模式,即闹钟设置与查看时,同样用作时、分、秒的调整,按一下,将会使得当前调整键1选择的位置数字增加1; 6号键功能模式,即日期调整与设置时,用作月、日的移位,按一下,将会使得当前调
14、整键1选择的位置数字增加1。二、多功能电子万年历各功能模块实现2.1时钟问题无论是用离散逻辑、可编程逻辑,还是用全定制器件实现任何数字电路,设计不良的时钟在极限温度、电压或制造工艺存在偏差的情况下将导致系统错误的行为,所以可靠的时钟设计是非常关键的。在FPGA设计时通常采用四种时钟:全局时钟、门控时钟、多级逻辑时钟和波动式时钟,多时钟系统是这四种时钟类型的任意组合。2.1.1全局时钟对于一个设计项目来说,全局时钟(或同步时钟)是最简单和最可预测的时钟。在FPGA设计中最好的时钟方案是:由专用的全局时钟输入引脚驱动单个主时钟去控制设计项目中的每一个触发器。FPGA一般都具有专门的全局时钟引脚,在
15、设计项目时应尽量采用全局时钟,它能够提供器件中最短的时钟到输出的延时。2.1.2门控时钟在许多应用中,整个设计项目都采用外部的全局时钟是不可能或不实际的,所以通常用阵列时钟构成门控时钟。门控时钟常常同微处理器接口有关,例如用地址线去控制写脉冲。每当用组合逻辑来控制触发器时,通常都存在着门控时钟。在使用门控时钟时,应仔细分析时钟函数,以避免毛刺的影响。如果设计满足下述两个条件,则可以保证时钟信号不出现危险的毛刺,门控时钟就可以像全局时钟一样可靠工作:u 驱动时钟的逻辑必须只包含一个“与门”或一个“或门”,如果采用任何附加逻辑,就会在某些工作状态下出现由于逻辑竞争而产生的毛刺。u 逻辑门的一个输入作为实际的时钟,而该逻辑门的所有其他输入必须当成地址或控制线,它们遵守相对于时钟的建立和保持时间的约束。2.1.3多级逻辑时钟当产生门控时钟的组合逻辑超过一级,即超过单个的