![FPGA的数字日历设计_第1页](http://file4.renrendoc.com/view/689ff963d8da5cca026c6975f1644205/689ff963d8da5cca026c6975f16442051.gif)
![FPGA的数字日历设计_第2页](http://file4.renrendoc.com/view/689ff963d8da5cca026c6975f1644205/689ff963d8da5cca026c6975f16442052.gif)
![FPGA的数字日历设计_第3页](http://file4.renrendoc.com/view/689ff963d8da5cca026c6975f1644205/689ff963d8da5cca026c6975f16442053.gif)
![FPGA的数字日历设计_第4页](http://file4.renrendoc.com/view/689ff963d8da5cca026c6975f1644205/689ff963d8da5cca026c6975f16442054.gif)
![FPGA的数字日历设计_第5页](http://file4.renrendoc.com/view/689ff963d8da5cca026c6975f1644205/689ff963d8da5cca026c6975f16442055.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 FPGA的数字日历设计 基于FPGA 设计数字日历可以实现以软件方式设计硬件的目的,无需购买专用数字芯片,从而克服了传统利用多片数字集成电路设计数字日历存在焊接麻烦、调试繁琐、成本较高等问题。而且,基于FPGA 的数字日历与传统系统相比,在设计灵活、开发速度、降低成本、计时精度、功能实现上都得到大幅度提升,能够更好地满足人们日常生活的需要。 本文介绍如何利用VHDL 硬件描述语言设计一个具有年、月、日、星期、时、分、秒计时显示功能,时间调整功能和整点报时功能的数字日历。在Quartus 开发环境下,采用自顶向下的设计方法,建立各个基本模块,再构建成一个完整的基于
2、FPGA 设计的数字日历的顶层模块,然后对其开展编译、仿真、引脚锁定,终到可编程逻辑器件上开展结果验证。 1 数字日历整体设计方案 基于FPGA 的数字日历设计分为硬件设计和软件设计两大部分。其原理框图如图1所示。整个数字日历由六个部分组成:显示控制部分,时分秒部分,年月日部分,定时与整点报时部分,星期部分,调整控制部分。秒、分、时分别由两个60进制的计数器和一个24进制的计数器组成。当个计数器到达进位的条件时向下一计数器进位。同样日、月、年也是由不同的计数器组成,当到达所需进位的条件时向下一计数器进位,各计数器在进位的同时分别把各自的结果输出给显示部分开展实时显示。 图1 数字日历原理框图
3、2 数字日历的工作原理 首先由外部振荡器产生稳定的高频脉冲信号,作为数字日历的时间基准,然后经过分频器输出标准秒脉冲,输入到FPGA的CLOCK端,实现计数。当秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“24进1”规律计数。计满后各计数器清零,重新计数。日部分由于日有28天、29天、30天、31天4种情况,故日由年和月共同判断其天数,日计满后向月进位,月满后向年进位。计数器的输出分别经译码器送数码管显示。计时出现误差时,可以用校时电路校时、校分、校秒和校年、校月、校日。 设计中用到了6 个按键K1,K2,K3,K4,ZHENG,NAO。其中K1用于切换显示
4、,刚开始时显示日期,按两次K1显示星期+时间,再按两次K1显示定时时间,再按两次重新显示日期,以此循环。K2、K3和K4配合开展调节:开始正常显示不开展调节;当按两下K2 键切换到对分钟开展调节,此时每按两下K3 键分钟加1;再按两下K2 键切换到对小时开展调节,此时每按两下K3 键小时加1;依照分钟小时星期天月年定时正常分钟的次序循环调节,每按两下K2 键切换到调节相应显示,此时每按下K3键两次,对应显示加1;当切换到定时调节时,每按两下K3键,定时的分钟加1,此时按两下K4 键,切换到定时小时调节,每按两下K3 键,定时的小时加1。按键ZHENG和NAO为整点报时和定时闹钟的使能端(低电平
5、有效)。 3 软件设计 软件设计分为秒分时、年月日、按键调整、控制显示、闹钟等几大模块。设计好各子模块,然后在原理图编辑窗口创立顶层原理图文件shuzirili.bdf,将各子模块按照逻辑关系连接起来得到数字日历电路部分的原理图。下面对各子模块设计及仿真开展介绍。 3.1 时分秒模块 分和秒都是60进制的计数器,小时则是24进制的计数器,先对各个子模块开展设计编译,验证无误后再将其组织到一起。外部时钟信号通过秒模块的clk 输入,产生的进位信号输送到分模块的clk,分模块产生的进位信号输送到小时模块的clk,构成时分秒模块。其构造图如图2所示。 图2 时分秒原理图 3.2 星期模块 星期模块为
6、七进制计数器。其计数时钟信号来自于调时电路产生的星期进位脉冲信号,计数至6 瞬间,计星期模块返回0 重新开始计数。 3.3 年月日模块 年月日模块有daycounter 模块、days-control 模块、monthcounter模块、yearcounter模块组成,具有大小月判断和闰年判断功能,其构造图如图3所示。 图3 年月日连接框图 下面以年月日模块为例,连接好之后开展编译并仿真,闰/平年的2月仿真结果如图4,图5所示,年进位如图6所示。 图4 仿真结果(20*年2月) 图5 仿真结果(20*年2月) 图6 仿真结果(20*年12月) 年月日模块计数设定为2000年2999年,从图4中
7、可以看出20*年2月,计数到29天;从图5得到20*年2 月计数到28天;从图6看出20*年12月计数到31天,设计正确。 3.4 定时模块 定时模块通过按键K4来切换调节定时的分钟和小时,调整功能由调时模块的按键K3来完成,每按两下K3对应的显示加1。 3.5 调时模块 调时模块设计思想是:通过把整个设计中的上一个模块(比方:分的上一个模块是秒;年的上一个模块是月,等等)的进位输出接到本模块的输入in,out接到下一个模块的时钟输入。正常状态下sout=fin,fout=hin,hout=din,dout=min,mout=yin ,win=hout;当每按下两次K2键,产生一个上升沿分别对
8、fin,hin,win,din,min,yin,dingshi调节,调节信号由K3 给出。其中定义一个信号w,计数到7 返0,对应正常状态,fin,hin,win,din,min,yin,dingshi 7个状态。 当K2 每来一个上升沿时,分别对分,时,星期,天,月,年以及定时调整,调整信号由K3 给出,经仿真调时模块结果与系统设计要求符合。 3.6 控制模块 控制模块通过K1按键开展切换显示调整,起初显示年月日,按下2次K1显示时间,再按下2次显示定时时间。 若仿真参数设置数值为:20* 年05 月15 日,星期三,15:28(33 s),定时为07:19。仿真后结果如图7所示。 从图7可
9、以看出,通过K1 按键控制显示,开始显示年月日:20*0515,当按下K1 两下,显示星期+时间:03152833;再按两下显示定时时间:00000719。仿真结果与预期设计一致,设计正确。 图7 仿真结果 3.7 闹钟模块 闹钟模块设计为当定时时间到或者整点时闹铃响,分别有ZHENG,NAO 两个控制端子控制,低电平有效。经验证,定时和整点报时仿真结果均符合设计要求。 3.8 顶层模块 将各个子模块设计好之后,并创立各自文件的图元,以供原理图设计文件中调用。然后在原理图编辑窗口创立顶层原理图文件shuzirili.bdf,即将各图元的引线端子按照逻辑关系连接起来,得到如图8所示的完整原理图,
10、也即顶层模块。 对顶层文件分别开展时间、日期、闹铃功能的波形仿真,得到的仿真结果和预想设计一致,说明设计正确。 图8 顶层原理图 4 硬件验证 在Quartus 开发环境中完成上述软件设计及仿真后,还需将程序到FPGA器件中开展硬件测试,以进一步验证所设计程序是否正确。硬件验证时,还需对顶层文件开展管脚分配、并编译,然后将编译好的目标文件通过电缆到FPGA 开发板中开展验证和调试。 采用GW48-SPOC/EDA 实验开发系统并设置在工作模式0来验证设计结果。下面仅给出部分验证结果。刚完成,数码管显示20000000,按两下K1切换到时间显示,才刚刚开始计数,同时扬声器发出“滴答滴答”的频率为
11、1 Hz的响声(为整点报时)60 s,然后通过按键8(K1)、键7(K2)、键6(K3)、键5(K4)对各个功能开展验证。首先调整时间,按两下K2键切换到分的调整,此时每按两下K3 键,分钟加1,验证过程中看到加到59就变为00;再按两下K2键切换到小时的调整,此时每按两下K3键,分钟加1;用同样的方法调整星期,天,月,年以及定时的分钟和小时。 调整日期为20*年7月31号,当再调整天时,就变为20*年7月1号,结果如图9所示。其他月份实验结果也符合生活规律,与设计要求一致。 其他的测试结果,数码管能够正确显示计时时间,定时验证及时间调节、整点报时均能够正常工作,实验结果符合设计要求。 图9 实际电路验证 5 结语 本文基于FPGA 环境设计了一个具有年、月、日、星期、时、分、秒计时显示功能,时间调整功能和整点报时功能的数字日历系统,并将之到FPGA 芯片EP1C3T144-3 上开展结果验证,实验验证说明:数码管能够正确显示计时时间,能够通过按键调整时间,能够设定时间并调整,整点报时能够正常工作,实验结果符合设计要求。由于设计中利用硬件描述语言和FPGA芯片相结合开展数字日历的研究,即利用EDA 技术在一定程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级语文上册 第一单元 5《世说新语》两则《陈太丘与友期》说课稿 新人教版
- 小学四年级语文教师工作总结
- 彩钢房施工合同范本
- 光伏电站项目委托开发协议书范本
- 贷款买房借款合同范本
- 珠海新型泳池工程施工方案
- 达州五年级抽考数学试卷
- 人教版道德与法治九年级下册第三单元《走向未来的少年》听课评课记录
- 湘教版八下数学1.4.1《角平分线的性质(一)》听评课记录
- 冀教版九年级数学下册听评课记录:30.1 二次函数
- 小学六年级数学上册《简便计算》练习题(310题-附答案)
- 青海省西宁市海湖中学2025届中考生物仿真试卷含解析
- 2024年河南省《辅警招聘考试必刷500题》考试题库及答案【全优】
- -情景交际-中考英语复习考点
- 安全隐患报告和举报奖励制度
- 地理标志培训课件
- 2023行政主管年终工作报告五篇
- 2024年中国养老产业商学研究报告-银发经济专题
- GA/T 1003-2024银行自助服务亭技术规范
- 公园卫生保洁考核表
- 培训如何上好一堂课
评论
0/150
提交评论