基于FPGA的多功能电子万年历毕业设计.docx

上传人:b****4 文档编号:24271112 上传时间:2023-05-25 格式:DOCX 页数:41 大小:596.49KB
下载 相关 举报
基于FPGA的多功能电子万年历毕业设计.docx_第1页
第1页 / 共41页
基于FPGA的多功能电子万年历毕业设计.docx_第2页
第2页 / 共41页
基于FPGA的多功能电子万年历毕业设计.docx_第3页
第3页 / 共41页
基于FPGA的多功能电子万年历毕业设计.docx_第4页
第4页 / 共41页
基于FPGA的多功能电子万年历毕业设计.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

基于FPGA的多功能电子万年历毕业设计.docx

《基于FPGA的多功能电子万年历毕业设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的多功能电子万年历毕业设计.docx(41页珍藏版)》请在冰豆网上搜索。

基于FPGA的多功能电子万年历毕业设计.docx

基于FPGA的多功能电子万年历毕业设计

毕业设计中期报告

 

题目名称:

基于FPGA的万年历设计

 

毕业论文(设计)原创性声明

本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。

据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。

对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。

作者签名:

日期:

毕业论文(设计)授权使用说明

 

本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。

有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。

学校可以公布论文(设计)的全部或部分内容。

保密的论文(设计)在解密后适用本规定。

 

作者签名:

指导教师签名:

日期:

日期:

 

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:

引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:

理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:

任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。

图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:

按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

3)其它

1引言

1.1选题意义

钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯等。

所有这些,都是以钟表数字化为基础的。

因此,研究电子万年历及扩大其应用,有非常现实的意义。

数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。

电子万年历从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

因此,我们此次设计与制做电子万年历就是为了了解数字钟的原理,从而学会制作数字钟。

而且通过万年历的制作进一步了解各种在制作中用到的中小规模集成电路的作用及使用方法,且由于电子万年历包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。

本设计基于FPGA芯片,外围电路简单,系统集成化程度高,精度高,采用VerilogHDL语言编程,用软件的方式设计硬件,灵活性好,方便以后的产品升级。

1.2电子万年历的研究背景

在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。

为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。

钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能——计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一,没有更大程度上的满足人们的需求。

因此在这里,我想能不能把一些辅助功能加入钟表中。

在此设计中所设计的钟表不但具有普通钟表的功能,它还能实现额外的功能:

世界时、农历显示。

人类不断研究,不断创新纪录。

发展到现在人们广泛使用的万年历。

万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。

因此,研究万年历及扩大其应用,有着非常现实的意义。

它可以对年、月、日、周日、时、分、秒进行计时,对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。

综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

1.3国内外产品研究综述

万年历具有读取方便、显示直观、功能多样、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

近些年我国也开始重视对电子万年历的开发与设计,让更多的电子时钟能够走进人民生活,让更多的人能够应用到功能强大,精度高的电子时钟。

但是仍然存在很多问题。

中国电子万年历产业发展出现的问题中,许多情况不容乐观,如产业结构不合理、产业集中于劳动力密集型产品;技术密集型产品明显落后于发达工业国家;生产要素决定性作用正在削弱;产业能源消耗大、产出率低、环境污染严重、对自然资源破坏力大;企业总体规模偏小、技术创新能力薄弱、管理水平落后等。

中国电子万年历产业发展研究报告阐述了世界电子万年历产业的发展历程,分析了中国电子万年历产业发展现状与差距,开创性地提出了“新型电子万年历产业”及替代品产业概念,在此基础上,从四个维度即“以人为本”、“科技创新”、“环境友好”和“面向未来”准确地界定了“新型电子万年历产业”及替代产品的内涵。

根据“新型电子万年历产业”及替代品的评价体系和量化指标体系,从全新的角度对中国电子万年历产业发展进行了推演和精准预测,在此基础上,对中国的行政区划和四大都市圈的电子万年历产业发展进行了全面的研究。

随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。

[1]

一、多功能电子万年历及FPGA简介

1.1电子万年历的发展

钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯等。

所有这些,都是以钟表数字化为基础的。

因此,研究电子万年历及扩大其应用,有非常现实的意义。

数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。

电子万年历从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

因此,我们此次设计与制做电子万年历就是为了了解数字钟的原理,从而学会制作数字钟。

而且通过万年历的制作进一步了解各种在制作中用到的中小规模集成电路的作用及使用方法,且由于电子万年历包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。

1.2FPGA简介

PLD/FPGA是近几年集成电路中发展最快的产品。

由于PLD性能的高速发展以及设计人员自身能力的提高,可编程逻辑器件供应商将进一步扩大可编程芯片的领地,将复杂的专用芯片挤向高端和超复杂应用。

据ICInsights的数据显示,PLD市场从1999年的29亿美元增长到去年的56亿美元,几乎翻了一番。

Matas预计这种高速增长局

面以后很难出现,但可编程逻辑器件依然是集成电路中最具活力和前途的产业。

复杂可编程逻辑器件。

 可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑(CPLD)。

在这两类可编程逻辑器件中,FPGA提供了最高的逻辑密度、最丰富的特性和最高的性能。

现在最新的FPGA器件,如XilinxVirtex"系列中的部分器件,可提供八百万"系统门"(相对逻辑密度)。

这些先进的器件还提供诸如内建的硬连线处理器(如IBMPowerPC)、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件(device-to-device)信号技术。

FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。

1.3 电子万年历的工作原理

◆功能键用来选择不同的工作模式:

时间正常显示功能、时间调整与显示、秒表功能、闹钟设置与查看、日期显示、日期调整与设置。

◆调整键1:

主要用于闹钟设置、日期显示与调整、秒表、时间调整与设置中的位置选择按钮,与功能键配合使用。

Ø2号键功能模式,即时间调整与设置时,用作时、分、秒的移位,按一下,将会实现“时-分-秒”的依次移位,便于在特定位置进行调整;

Ø4号键功能模式,即闹钟设置与查看时,同样用作时、分、秒的移位,按一下,将会实现“时-分-秒”的依次移位,便于在特定位置进行调整;

Ø6号键功能模式,即日期调整与设置时,用作月、日的移位,按一下,将会实现“月-日”的依次移位,便于在特定位置进行调整。

◆调整键2:

主要用于闹钟设置、日期显示与调整、秒表、时间调整与设置中的调整按钮,与功能键配合使用。

Ø2号键功能模式,即时间调整与设置时,用作时、分、秒的调整,按一下,将会使得当前调整键1选择的位置数字增加1;

Ø4号键功能模式,即闹钟设置与查看时,同样用作时、分、秒的调整,按一下,将会使得当前调整键1选择的位置数字增加1;

Ø6号键功能模式,即日期调整与设置时,用作月、日的移位,按一下,将会使得当前调整键1选择的位置数字增加1。

二、多功能电子万年历各功能模块实现

2.1 时钟问题

无论是用离散逻辑、可编程逻辑,还是用全定制器件实现任何数字电路,设计不良的时钟在极限温度、电压或制造工艺存在偏差的情况下将导致系统错误的行为,所以可靠的时钟设计是非常关键的。

在FPGA设计时通常采用四种时钟:

全局时钟、门控时钟、多级逻辑时钟和波动式时钟,多时钟系统是这四种时钟类型的任意组合。

2.1.1 全局时钟

对于一个设计项目来说,全局时钟(或同步时钟)是最简单和最可预测的时钟。

在FPGA设计中最好的时钟方案是:

由专用的全局时钟输入引脚驱动单个主时钟去控制设计项目中的每一个触发器。

FPGA一般都具有专门的全局时钟引脚,在设计项目时应尽量采用全局时钟,它能够提供器件中最短的时钟到输出的延时。

2.1.2 门控时钟

在许多应用中,整个设计项目都采用外部的全局时钟是不可能或不实际的,所以通常用阵列时钟构成门控时钟。

门控时钟常常同微处理器接口有关,例如用地址线去控制写脉冲。

每当用组合逻辑来控制触发器时,通常都存在着门控时钟。

在使用门控时钟时,应仔细分析时钟函数,以避免毛刺的影响。

如果设计满足下述两个条件,则可以保证时钟信号不出现危险的毛刺,门控时钟就可以像全局时钟一样可靠工作:

◆驱动时钟的逻辑必须只包含一个“与门”或一个“或门”,如果采用任何附加逻辑,就会在某些工作状态下出现由于逻辑竞争而产生的毛刺。

◆逻辑门的一个输入作为实际的时钟,而该逻辑门的所有其他输入必须当成地址或控制线,它们遵守相对于时钟的建立和保持时间的约束。

2.1.3 多级逻辑时钟

当产生门控时钟的组合逻辑超过一级,即超过单个的“与门”或“或门”时,该设计项目的可靠性将变得很差。

在这种情况下,即使样机或仿真结果没有显示出静态险象,但实际上仍然可能存在危险,所以我们不应该用多级组合逻辑区作为触发器的时钟端。

不同的系统需要采用不同的方法消除多级时钟,并没有一个固定的模式。

2.1.4 波动式时钟

许多系统要求在同一设计内采用多时钟,最常见的例子是两个异步微处理器之间的接口,或微处理器和异步通信通道的接口。

由于两个时钟信号之间要求一定的建立和保持时间,所以上述应用引进了附加的定时约束条件,它们会要求将某些异步信号同步化。

而在许多应用中只将异步信号同步化还是不够的,当系统中有两个或两个以上非同源时钟时,数据的建立和保持时间很难得到保证,设计人员将面临复杂的时间分析问题。

最好的方法是将所有非同源时钟同步化。

使用FPGA内部的锁相环(PLL)是一个效果很好的方法,但并不是所有FPGA都带有PLL,而且带有PLL功能的芯片大多价格昂贵。

这时就需要使用带使能端的D触发器,并引入一个高频时钟来实现信号的同步化。

稳定可靠的时钟是保证系统可靠工作的重要条件,设计中不能够将任何可能含有毛刺的输出作为时钟信号,并且尽可能只使用一个全局时钟,对多时钟系统要特别注意异步信号和非同源时钟的同步问题。

为了获得高驱动能、低抖动时延、稳定的占空比的时钟信号,一般使用FPGA内部的专用时钟资源产生同步时序电路的主工作时钟。

专用时钟资源主要指两部分,一部分是布线资源,包括全局时钟布线资源和长线资源等,另一部分则是FPGA内部的PLL。

2.2 电子万年历的控制系统

此电子万年历系统主要有8个模块分别设计仿真,分别是以下8个模块:

1.主控制模块maincontrol

2.时间及其设置模块timepiece_main

3.时间显示动态位选模块time_disp_select

4.显示模块disp_data_mux

5.秒表模块stopwatch

6.日期显示与设置模块date_main

7.闹钟模块alarmclock

8.分频模块fdiv

2.3 主控制模块maincontrol

该模块实现对各个功能模块的整体控制,包括对时间显示与调整、日期显示与调整、闹钟显示与调整、秒表操作等的控制,结构功能图如2-1所示,波形仿真图如2-2所示。

图2-1主控制模块的结构功能图

图2-2主控制模块的波形仿真图

SW3是功能键,从波形图中可知,SW3每出现一次上升沿,输出都会发生相应的变化,即按照Timepiece_EN(时钟自动显示使能),TimeSet_EN(时钟设置与调整使能),Stopwatch_EN(秒表功能使能),Alarmclock_EN(闹钟时间设置使能),Date_EN(日期显示使能),DateSet_EN(日期显示与设置使能)的顺序依次输出有效波形“1”,对相应的模块输入有效使能,从而实现相应的功能。

2.4 时间及其设置模块time_auto_and_set

时间及其设置模块主要完成时间的自动正常运行与显示,以及在相应的功能号下,实现时间的调整与设置。

2.2.1 时间模块timepiece_main

该模块主要完成时间的自动增加与显示功能,即为正常的自动模式运行,其结构功能图如2-3所示,波形仿真图如2-4所示。

图2-3时间及其设置模块的结构功能图图2-4时间模块的结构功能图

◆秒自动计时子模块second_counter,结构功能图如2-5所示,

图2-5秒自动计时子模块的结构功能图

◆分自动计时子模块minute_counter,结构功能图如2-6示。

图2-6分自动计时子模块的结构功能图

◆小时自动计时子模块hour_counter,结构功能图如2-7所示。

图2-7小时自动计时子模块的结构功能图

图2-8时间模块的波形仿真图

当Timepiece_EN为1时,即处于时间自动工作状态,即每出现一次时钟信号clk,计数一次,先计数second0,当计数到1001(即十进制的9)时,向second1发出一个计数信号,此时second1进行一次计数,类推,second1计数到0101(即十进制的5),且second0计数到1001(即十进制的9)时,minute0则进行一次计数,按照此规律进行时间的计数。

当计满24小时,向day_EN发出一个计数信号,即此使能端输出有效信号1,进行日期的计数。

2.2.2时间设置模块timeset

该模块主要完成对时间的设置相关的闪烁显示控制以及时间中的小时、分钟、秒等数据的改变,流程图如2-9所示,结构功能图如2-10所示,波形仿真图如2-11所示。

图2-9时间设置模块的流程图

图2-10时间设置模块的结构功能图

图2-11时间设置模块的波形仿真图

表2-12时间设置模块的端口说明

输入端口

功能

TimeSet_EN

时间设置使能,当其电平为高时,时间设置有效

SW1,SW2

调整键1与调整键2输入信号

hour1,hour0

当前时间的小时数输入

minute1,minute0

当前时间的分钟数输入

second0,second1

当前时间的秒数输入

输出端口

功能

hour_set1,hour_set0

设置时间后的小时数

minute_set1,minute_set0

设置时间后的分钟数

second_set1,second_set0

设置时间后的秒数

disp_drive

设置中的闪烁显示设置

当Timeset_EN为1时,即实现时间设置功能。

SW1实现时间格式中小时高、低位,分钟高、低位,秒钟高、低位的位选,即每出现一个SW1上升沿,disp_drive的相应数值加1(选择具体的需要调整的位置)。

SW2实现相应得位的数值得调整,即每出现一个SW2上升沿,相应位的数值增加1。

2.2.3 时间数据与时间设置数据多路选择模块time_mux

该模块用来分时向显示单元传输显示数据,流程图如2-13所示,结构功能图如2-14所示,波形仿真图如2-15所示。

图2-13多路选择模块的结构功能图

图2-14多路选择模块的流程图

图2-15多路选择模块的波形仿真图

输入端口

功能

TimeSet_EN

时间设置使能信号

hour1,hour0

自动模式中当前时间的小时数输入

minute1,minute0

自动模式中当前时间的分钟数输入

second0,second1

自动模式中当前时间的秒数输入

hour_set1,hour_set0

时间设置后的小时数输入

minute_set1,minute_set0

时间设置后的分钟数输入

second_set1,second_set0

时间设置后的秒数输入

输入端口

功能

hour_1,hour_0

当前需要显示的小时输出

minute_1,minute_0

当前需要显示的分钟输出

second_0,second_1

当前需要显示的秒输出

表2-16多路选择模块的端口说明

2.3 时间显示动态位选模块time_disp_select

该模块用来分时显示时间数据,但是在选择合适的时间间隔下,人眼并不能分辨出是分时显示的,这样显示的方式可以降低功耗,结构功能图如2-17所示,波形仿真图如2-18所示。

图2-17时间显示动态位选模块的结构功能图

图2-18(a)时间显示动态位选模块的波形仿真图

图2-18(b)时间显示动态位选模块的波形仿真图

TimeSet_EN表示时间设置使能,Time_EN表示时间自动显示使能,clk_1kHz用于动态显示时间,clk_200Hz用于闪烁显示时间,timeset_disp_drive表示时间设置数据显示的同步信号,time_disp_select表示显示动态位选输出信号。

当TimeSet_EN为0,Time_EN为1时,以clk_1kHz为是时钟信号,输出自动显示的时间,按位依次显示;当TimeSet_EN为1,Time_EN为0时,则以clk_200Hz为时钟信号,输出以timeset_disp_drive对应的位置。

2.4 显示模块disp_data_mux

模块是时间、日期等数据用数码管显示的控制与数据传输模块,包括数据的传输以及BCD码的译码等,结构功能图如2-19所示,波形仿真图如4-20所示。

图2-19显示模块的结构功能图

 显示原理采用的是七段数码管的现实原理,如2-20所示:

图2-20七段数码管的显示原理

图2-21显示模块的波形仿真图

2.5 秒表模块stopwatch

该模块实现秒表的功能,在实际中,可以通过改变自动工作模式下的时间的计数时钟的频率来实现秒表的功能,流程图如2-22所示,结构功能图如2-23所示,波形仿真图如2-24所示。

图2-22秒表模块的流程图

图2-23秒表模块的结构功能图

图2-24秒表功能的波形仿真图

EN表示秒表使能控制信号,clk1表示自动工作模式的时钟信号,clk2表示秒表工作模式的时钟信号,故当EN为有效信号1时,输出F_out与clk2同,即处于秒表工作状态,同理EN为0时,输出F_out与clk1同,即处于自动工作状态。

2.6 日期显示与设置模块date_main

该模块实现日期的显示和日期的调整与设置,结构功能图如2-25所示。

图2-25时间显示与设置模块的结构功能图

2.6.1 日期自动工作模块autodate

该模块实现的是日期的自动工作功能,结构功能图如2-26所示,波形仿真图如2-27所示。

图2-26日期自动工作模块的结构功能图

图2-27(a)日期自动工作模块的波形仿真图

图2-27(b)日期自动工作模块的波形仿真图

2.6.2 日期设置模块setdate

该模块用于日期,结构功能图如2-28所示。

图2-28日期设置模块的结构功能图

2.7 闹钟模块alarmclock

该模块实现的功能包括闹钟的设置以及闹钟时间到后的提示,流程图如2-29所示,结构功能图如2-30所示,波形仿真图如2-31所示。

图2-29闹钟模块的流程图

图2-30闹钟模块的结构功能图

图2-31闹钟模块的波形仿真图

EN为闹钟设置使能,clk_200Hz用于设置中的闪烁显示的时钟,其中还定义了hour_set1,hour_set0,minute_set1,minute_set0,second_set1,second_set0,用来表示已经设置好的闹钟时间。

闹钟一直处于工作状态,当前时间(hour1,hour0,minute1,minute0,second1,second0)与设置的闹钟时间相比较,当小时、分钟、秒钟的时间完全相同时,则闹铃响,输出信号alarm为有效信号1。

SW1和SW2是调整键,分别控制位选和数值的调整。

2.8 分频模块fdiv

该模块完成全局时钟信号分频输出200Hz、60Hz、1Hz的三种时钟信号,流程图如2-32所示,结构功能图如2-33所示,波形仿真图如2-34所示。

图2-33分频模块的结构功能图

图2-34分频模块的波形仿真图

图2-32分频模块的流程图

2.9 顶层模块图

将各个主模块综合成电子万年历系统,其包括:

fdiv分频模块,maincontrol主控制模块,stopwatch秒表模块,time_auto_and_set时间及其设置模块,date_main日期及其设置模块,alarmclock闹钟模块,time_disp_select时间显示动态位选模块及disp_data_mux显示模块,该顶层电路Top如图2-35所示。

图2-35顶层电路Top

三、附录

电子万年历系统的VerilogHDL语言程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1