数字时钟系统设计报告.docx
《数字时钟系统设计报告.docx》由会员分享,可在线阅读,更多相关《数字时钟系统设计报告.docx(16页珍藏版)》请在冰豆网上搜索。
数字时钟系统设计报告
电子课程设计实验报告
设计题目:
EDA与数字系统课程设计
学号:
姓名:
专业:
电气卓越班
指导老师:
钟维年
课程设计任务书
设计题目
EDA与数字系统课程设计
主要内容
了解各种PLD器件的基本结构,掌握MAX+Plus2的使用方法,用图形输入法和VerilogHDL完成规定的基本练习题,在此基础上完成一个数字系统设计题的设计、仿真、下载(FPGA实现)。
应收集的资料
1.《EDA与数字系统设计》李国丽朱维勇栾铭主编
2.《数字电子技术基础》阎石主编
设计进度计划
讲课:
EDA简介
实验一:
Max+Plus2使用练习,完成一个简单门电路的图形设计输入、编译、仿真、管脚分配、下载。
实验二:
图形设计输入3-8译码器,同步二十四进制计数器、同步六十进制计数器。
设计输入、编译、仿真、管脚分配、下载。
实验三:
完成实验二的VerilogHDL设计输入。
讲课:
扫描显示电路原理,数码管驱动方式,对应于实验箱的扫描模块介绍。
实验四:
例1-4-1设计一个电路,使八个数码管依次显示0、1、2、…A、B、…E、F。
例1-4-2设计一个电路,使两个数码管显示112的十二进制计数,两个数码管显示059的六十进制计数。
实验五布置一个数字多功能时钟设计题,讲解设计要求、原理框图、设计提示。
方案设计、设计调试、下载验证。
(12学时)
设计考核验收,写课程设计报告。
(4学时),
主要参考文献
1李国丽,朱维勇.电子技术实验指导书.合肥:
中国科技大学出版社,2000
2王金明编,杨吉斌.数字系统设计与VerilogHDL.北京:
电子工业出版社,2002
3潘松,黄继业.EDA技术实用教程.北京:
科学出版社,2002
指导教师意见
按照设计进度计划要求完成每一步任务
备注
1总体功能设计-1-
2子模块设计-1-
2.1基本显示模块-1-
2.1.1六十进制计数器-1-
2.1.2二十四进制计数器-3-
2.1.3级联显示-5-
2.2时钟校准调整功能-6-
2.3闹钟设定提醒功能-6-
2.3.1时间比较-6-
2.3.3十进制计数器-7-
2.3.3闹钟定时模块-9-
2.3.4蜂鸣器控制模块-11-
2.3.5闹钟模块组合-12-
2.4按键精简-12-
2.4.1模式选择控制-13-
2.4.2模式分配-13-
2.4.3按键精简-14-
2.4.3.1调时按键-14-
2.4.3.2闹钟按键-15-
2.4.4显示切换-15-
2.5整点报时-17-
3系统功能验证-17-
4结束语-18-
1总体功能设计
本文设计的是具有时间校准、闹钟提醒功能的数字时钟,能实现正常时间的顺序显示、分钟、小时的校准调整、闹钟定时提醒功能。
试验箱上面硬件采用的是FPGA器件CycloneⅡ系列的ER2C8Q208。
设计的时候,显示分成时、分、秒部分六个数码管显示,加脉冲提供时钟运行动力,按键1进行模式选择,按键2提供手动脉冲进行位加,模式一为正常显示,模式二为时钟小时校准,模式三为时钟分钟校准,模式四为闹钟小时调整,模式五为闹钟分钟调整。
所有模式均在RESET置1的情况下工作,后四个模式下按按键2加位进行调整。
正常显示:
由六十进制计数器构成秒钟、分钟,秒钟进位让分钟加一;二十四进制计数器构成时钟,分钟进位让时钟加一。
时间校准:
模式二、三时分钟、时钟停止计时,按键2加位调整。
闹钟调整:
模式四、五时显示闹钟定时,由按键2加位调整,时钟正常计时。
达到时钟所定时间时,通过显示时钟与闹钟时钟的比较产生高电平,与脉冲相与后由十进制调整在20分钟内响十声进行提醒。
根据设计要求和系统功能,可画出系统的设计框图:
图1
2子模块设计
2.1基本显示模块
由上述设计,基本显示实现秒和分的六十进制进位以及时的二十四进制进位。
这两个计数器设计如下:
2.1.1六十进制计数器
图2
六十进制计数器采用74160与74161级联,从00000000开始计数,在输入端RESET为1时由外接脉冲计数,8位输出,计数达到01011001(59)时反馈清零,同时进位端CO输入高电平。
时序图如下
图3
2.1.2二十四进制计数器
24进制功能实现于六十进制计数相似,电路图、封装图、时序仿真如下:
图524进制计数器原理图
图724进制时序仿真图
2.1.3级联显示
正常显示模块由两个60进制和一个24进制计数器级联组成,其中两个60进制计数器控制秒和分的显示,24进制计数器控制小时的显示。
上一级计数器的co进位端为下一级的计数器提供计数脉冲。
Reset键控制所有模块清零。
原理图实现如下
图8级联显示模块
此模块为数字时钟基本显示模块,之后的调时模块和闹钟模块将以此为基础进行添加。
2.2时钟校准调整功能
时钟调整模块要实现调整时钟时,正常走时的分和时暂停,由手动脉冲进行输入自加。
原理图如下:
图9调时功能添加
如图,设计了按键change进行正常显示和调时的切换。
上一级的进位端与change进行“与”运算,当change为1的时候上一级的进位输入,进行正常的时钟显示,同时“非”门阻碍了手动输入端的输入,防止正常显示时手动输入对显示的影响。
change为0时clk脉冲端被堵住,时和分的显示暂停,change通过“非”门打开手动输入端,通过按键min和hor分别进行时和分的手动输入。
2.3闹钟设定提醒功能
2.3.1时间比较
闹钟定时后要与正常时钟各位输出进行比较,当全部输出位相同时触发蜂鸣器进行提醒,因此需要设计时钟和分钟共16位的时钟比较电路。
电路原理图如下:
图10时钟比较器
时钟比较原理即闹钟输入和时钟输出向对应每两个位通过与非门连接,当对应的两位输入同为0或1的时候输出为1,所有输出通过8位与门连接,即当所有位都对应相同是满足条件,总输出赋1。
2.3.3闹钟定时模块
闹钟定时要实现闹钟时间的手动输入,并与正常走时的分钟和时钟进行比较,当两者完全相同时向蜂鸣器发出信号。
原理图如下:
图14闹钟定时模块
如原理图所示,上方为一个60进制计数器和一个24进制计数器,分别通过按键ringmin和ringhor进行手动定时,输出通过16个引脚显示,令有16个引脚引入正常时钟的时间,通过下面的两个时钟比较器与闹钟定时进行比较,比较器通过与门输出,当所有对应位都相同时满足条件,总输出为1,其他情况均输出0。
2.3.4蜂鸣器控制模块
蜂鸣器控制模块是定时计数模块的下一级模块,有闹钟定时输出端提供输入,控制十进制计数器的通断,通过计数器产生10次脉冲让蜂鸣器发出十次断续提醒。
原理图如下:
图16蜂鸣器控制模块
如图,时间比较结果通过input输入,由clk提供脉冲。
当时间比较结果相同时input输入为1,十进制计数器开始计数,共输出10个二进制数后停止,计数器输出端所有引脚通过或门连接,即只要计数器有数字有输出,或门最终输出即为1,此输出结果与脉冲相“与”,将输出的连续信号变成脉冲信号,输出控制蜂鸣器发声。
图18蜂鸣器控制模块时序图
由时序图可以验证控制模块功能实现正常。
2.3.5闹钟模块组合
将显示时钟的输出和手动输入按键接入时钟比较器的输入端,时钟比较器的输出用引脚输出,判断结果接入蜂鸣器控制模块就实现了最终闹钟模块的组合。
原理图如下:
图19闹钟模块
2.4按键精简
按键精简要实现的功能是除reset复位键以外,用A、B两个按键所有模块的操作。
其中A按键进行模式选择,时钟系统共分为正常显示、时间调时、时间调分、闹钟调时、闹钟调分五个模式,A按键每按一下,时钟模式顺序切换一次,实现五个模式的顺序循环切换。
按键B实现的是在后四个模式下,对显示进行手动脉冲输入,按键B每按一次,对应显示加一。
2.4.1模式选择控制
为了对时钟的五个模式进行选择控制,需要有控制模块提供五种不同的信号。
为此通过五进制计数器和3线—8线译码器的级联实现。
原理图如下:
图20模式选择控制
74160为4位二进制计数器,通过门的逻辑连接,用反馈清零的方法实现五进制计数器功能,将其输出接入38译码器,取译码器y0、y1、y2、y3低4位输出,输出为1110、1101、1011、0111、1111循环。
后面即用这五个二进制数对应五种模式进行选择控制。
2.4.2模式分配
先对五种模式对应功能和选择信号进行分配:
模式
功能
控制信号
1
正常时钟显示
1110
2
时间校准调时
1101
3
时间校准调分
1011
4
闹钟调时
0111
5
闹钟调分
1111
表1模式分配
利用非门和与门对五种模式进行选通,原理图如下:
图21模式选通
以模式1为例,将y3、y2、y1用与门连接,y0由非门接入与门端,当模式选择产生信号1110时,输出端1输出高电平,选通模式1。
剩下4个模式用同样的方法进行选通。
2.4.3按键精简
2.4.3.1调时按键
精简前,正常显示和调时模式的切换按键为change(如图22)。
change为1时正常显示,change为0时进行调时,这时即相当于精简后的模式2和3的合并,可用同或门连接模式2、3输出(如图23)。
按键B定义为input,分别与模式2、3输入相与接入电路,分别实现调时、调分的手动加一(如图23)。
图22调时模块精简前
图23调时模块精简后
2.4.3.2闹钟按键
闹钟模式与正常模式的切换是通过turn按键实现的,turn为1时时钟正常显示,为0时显示闹钟调时。
精简前的闹钟模式即包括精简后的模式4(闹钟调时)和模式5(闹钟调分),因此只要将模式4、5进行“或非”连接后输出即为turn等于0时模式(输出端为ring),再通过“非”门输出即为turn等于1的模式(输出端为dp)。
图24闹钟模块精简后
2.4.4显示切换
五个模式中,正常显示模式和校准调时、分模式的显示是通过同样的端口输出,而闹钟显示通过其他端口输出,为了用六个数码管显示全部模式的功能,要对引脚进行逻辑处理,实现显示切换。
图25闹钟显示输出端
图26显示切换
如图所示,正常显示的数据输出端与正常显示的选择输出端(dp)相“与”,闹钟显示的数据输出端与闹钟显示的选择输出端(ring)相“与”后即对两种显示状态进行了选择,两者再通过“或”门连接输出,就实现了显示切换功能。
2.5整点报时
这个附加功能实现的是当分钟、秒钟同时清零(整点)时蜂鸣器提醒一声。
原理图如下,只要将秒钟进位和分钟进位相“与”后,与闹钟的蜂鸣器输出端用“或”门连接,接到蜂鸣器即可。
这样闹钟信号和报时信号都会让蜂鸣器发声。
图27整点报时
3系统功能验证
将以上模块对应端口相连接就可以实现整个数字时钟的系统功能,总体机构图如下
图28总结构图
此原理图最终实现4个输入端:
clk脉冲接口、reset复位开关、selece选择按键(即功能要求中按键A)、input手动脉冲按键(即功能要求中按键B);25个输出端,即时、分、秒各8位输出提供给数码管显示,以及一个蜂鸣器连接端口。
连接线路,将reset复位键连接高电平后验证功能如下:
正常显示:
秒钟每一个脉冲加1,满60秒置零并向分钟加1,分钟满60秒向时钟加1。
时钟满24计数清零,且每到整点时钟报时一次。
校准调时:
按键select按下两次,时钟、分钟暂停,按input时钟加1;select按下三次,时钟分钟暂停,按input分钟加1。
闹钟调时:
按键select按下四次,数码管显示闹钟定时数字,按input闹钟时钟设定加1;按键select按下五次,数码管显示闹钟定时数字,按input闹钟分钟设定加1。
闹钟提醒:
时钟显示达到闹钟设定时间时,从第0秒开始报时,每1秒响一声,共响10声。
4结束语
这次EDA课程设计历时三天半,在整整三天半的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。
特别是当每一个子模块调试成功时,心里特别的开心。
当然也遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,问题解决了,心里终于舒了一口气。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
总的来说,这次设计的数字秒表还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。
最后,更多的是对钟老师的悉心教导表示衷心感谢。