基于数字钟设计.docx
《基于数字钟设计.docx》由会员分享,可在线阅读,更多相关《基于数字钟设计.docx(29页珍藏版)》请在冰点文库上搜索。
基于数字钟设计
南京理工大学
EDA设计
(2)
实验报告
作者:
王刚学号:
0904210246
学院:
电光
专业:
电子信息工程
指导老师:
花汉兵
实验日期:
11月24—11月28
2011年
多功能数字钟设计
摘要:
利用QuartusII软件采用模块化设计方法设计一个数字钟。
通过原理图输入进行设计,取代VHDL语言设计。
软件仿真调试成功后编译下载至可编程实验系统SmartSOPC中进行硬件测试。
实现并充分领略硬件设计软件化的精髓。
关键词:
软件;数字钟;模块化;VHDL;可编程;硬件
Abstract:
UsingtheQuartusIIsoftwaredesignadigitalbellwiththeblockingmethod.ThedesigntakestheorydrawinginsteadofVHDLlanguage.Afteremluatinganddebugingsuccessfully,translateandeditthecode.Then,downloadtheresulttotheprogrammableSmartSOPCsystemandtestitinhardware.Realizingthesoulofdesigninghardwarebysoftware.
Keywords:
software;digitalbell;blockingmethod;VHDL;programmable;hardware
目录
一、设计内容简介……………………………………………………………………4
二、设计要求…………………………………………………………………………4
三、方案论证(整体电路设计原理)…………………………………………………4
四、子模块设计原理
4.0脉冲产生电路……………………………………………………………6
4.1计时电路………………………………………………………………11
4.2显示电路………………………………………………………………14
4.3保持电路………………………………………………………………16
4.4清零电路………………………………………………………………17
4.5校分电路………………………………………………………………18
4.6校时电路………………………………………………………………18
4.7整点报时电路…………………………………………………………18
4.8闹钟设定电路…………………………………………………………20
4.9闹钟报时电路…………………………………………………………22
4.10其他模块……………………………………………………………24
4.11电路总图……………………………………………………………26
五、实验中遇到问题及解决方法……………………………………………………29
六、结论………………………………………………………………………………29
七、实验心得…………………………………………………………………………29
八、参考文献…………………………………………………………………………30
一设计内容简介
设计一个数字钟,可以完成00:
00:
00到23:
59:
59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、
整点报时等功能。
我们设计的电路在具有基本功能的基础上,增加了下列功能:
整点报时、闹钟设置、彩铃和星期显示调节功能。
二设计要求
2.0基本要求
1、能进行正常的时、分、秒计时功能;
2、分别由六个数码管显示时分秒的计时;
3、K1是系统的使能开关(K1=0正常工作,K1=1时钟保持不变);
4、K2是系统的清零开关(K2=0正常工作,K2=1时钟的分、秒全清零);
5、K3是系统的校分开关(K3=0正常工作,K3=1时可以快速校分);
6、K4是系统的校时开关(K4=0正常工作,K4=1时可以快速校时);
2.1提高部分要求
1、使时钟具有整点报时功能(当时钟计到59’53”时开始
报时,在59’53”,59’55”,59’57”时报时频率为512Hz,59’59”时报时频率为1KHz);
2、闹表设定功能;
三方案论证
本实验在实现实验基本功能的基础上,加入了整点报时、闹钟设置、示调节。
数字计时器基本功能是计时,因此首先需要获得具有精确振荡时间的脉振信号,以此作为计时电路的时序基础,实验中可以使用的振荡频率源为48MHZ,通过分频获得所需脉冲频率(1Hz,1KHz,2KHz)。
为产生秒位,设计一个模60计数器,对1HZ的脉冲进行秒计数,产生秒位;为产生分位,通过秒位的进位产生分计数脉冲,分位也由模60计数器构成;为产生时位,用一个模24计数器对分位的进位脉冲进行计数。
整个数字计时器的计数部分共包括六位:
时十位、时个位、分十位、分个位、秒十位和秒个位。
显示功能是通过数选器、译码器、码转换器和7段显示管实现的。
因为实验中只用一个译码显示单元,7个7段码,所以通过4个8选一{其中六个输出端有效}MUX和一个3-8译码器配合,根据计数器的信号进行数码管的动态显示。
清零功能是通过控制计数器清零端的电平高低来实现的。
只需使清零开关按下时各计数器的清零端均可靠接入有效电平(本实验中是低电平),而清零开关断开时各清零端均接入无效电平即可。
校分校时功能由防抖动开关、逻辑门电路实现。
其基本原理是通过逻辑门电路控制分计数器的计数脉冲,当校分校时开关断开时,计数脉冲由低位计数器提供;当按下校分校时开通时,既可以手动触发出发式开关给进位脉冲,也可以有恒定的1Hz脉冲提供恒定的进位信号,计数器在此脉冲驱动下可快速计数。
为实现可靠调时,采用防抖动开关(由D触发器实现)克服开关接通或断开过程中产生的一串脉冲式振动。
保持功能是通过逻辑门控制秒计数器输入端的1Hz脉冲实现的。
正常情况下,开关不影响脉冲输入即秒正常计数,当按下开关后,使脉冲无法进入计数端,从而实现计时保持功能。
整点报时功能可以通过组合逻辑电路实现。
当计数器的各位呈现特定的电平时,可以选通特定的与门和或门,将指定的频率信号送入蜂鸣器中,实现在规定的时刻以指定频率发音报时。
闹钟设定功能。
闹钟只设定时和分,时\分由莫六十与莫二十四计时器构成,时钟信号为二赫兹。
由于数码管有限,要复用时分显示数码管,这由数据选择其实现,用一个开关控制。
按下该键后进入闹钟设定界面,此时校时校分开关用于调节闹钟时间,对正常计时没有影响,且此时7段显示码显示的是闹钟时间;恢复使能键后校分校时键用于对数字钟进行时间调节,对设定的闹钟时间没有影响。
闹钟报时功能。
在计时电路走到设定的时间时闹铃报时功能会被启动,通过与闹铃产生电路进行逻辑组合,使得在达到闹铃时,发出音乐声。
四子模块设计原理
4.0脉冲产生电路原理
实验板上振荡源为48MHz,需要对该振荡源进行分频处理。
总电路图如下
:
4.0.12分频电路
2分频电路是通过将D触发器的
端与D端接在一起就可以从Q端得到触发器触发信号的2分频信号,电路图如下:
封装模块:
4.0.248分频电路
48分频电路由三分频和十六分频组成,先三后十六,是通过74163用置数法实现。
3分频由置数法实现,十六分频直接用74163的QD就能实现,并且保证占空比为一比一。
电路图:
封装的子模块图为:
4.0.31000分频电路
1000分频电路通过将3个2分频串联实现。
把三个D触发器按照如下方式串联起来,将得到一个触发信号的8分频信号。
8分频电路图如下:
电路图:
封装的子模块图为:
4.0.424分频
电路图:
封装
4.0.54分频
74163的QB输出端即为4分频。
并且占空比为1:
1.(对48分频用来产生12HZ)
电路图:
封装:
(由模八Y【2】输出端实现)
最终将各种分频获得的信号输出端封装在一个总的模块内,输入信号频率48MHz,输出三个频率信号,分别是1Hz,1KHz,2KHz,12HZ.封装的模块如下:
图14分频电路封装图
4.1计时电路
时钟能够产生时间前进是对秒脉冲计数产生形成的,为了形成时分秒,需要对秒进位信号进行计数从而产生分,对分进位信号进行计数产生时信号。
秒和分均为60进制,时为24进制,所以需要有模60和模24计数器。
模60计数器由两个74160构成,考虑用74160而不用74161的原因是74160为8421BCD方式计数,将计数信号送进7447后可以直接驱动数码管显示,而不像74161还要经过码转换处理。
另外,因为显示秒和分时都要显示十位和个位,所以两个计数器构成模60的时候要考虑到分别显示的问题,即让一个用于作为十位,一个作为个位。
4.1.1总电路图:
封装
其中,K1是保持控制,K2是清零,K3是校分,K4校时。
4.1.2秒计时电路图如下:
封装
SN秒时钟输入端;SCO秒向分进位端;SH,SL秒十位个位输出端;
波形
4.13分计时电路图如下:
封装
MCLO分时钟输入端;SCO秒向分进位端;MEN由秒进位控制,接分内部使能端,MCLER清零信号输入端MH,ML分十位个位输出端;
波形
4.14小时计时电路图如下:
封装
HCHO分时钟输入端;SCO秒进位端;MCO分进位端;HEN由分进位控制,接分内部使能端,HCLER清零信号输入端HH,HL时十位个位输出端;
波形
总的波形(23:
59:
59清零)
4.2显示电路
显示电路主要由数据选择器74151、译码器74138、计数器、显示译码器7447和数码显示管组成。
因为实验要求只用一个显示译码器7447,所以考虑用动态扫描显示法进行数据显示,即每次只显示一位,按照一定的显示时间间隔轮流显示。
每个显示位均为四位二进制数,所以需要4片数选器,要显示的位有时分秒6位(HH,HL,MH,ML,SH,SL)最高空位为0,所以共8位。
数选器的选择信号有三位,所以要用一个模8循环计数器作为数选器的地址选择端,供轮流选择带显示的数据,此外,还要用一个3-8译码器来选择数码管(DIG位)来显示对应的数据。
4.2.1六组选一组数据选择器
原理图
封装
X[3..1]:
地址输入端;SL[4..1]~~HH[4..1]为时分秒个位十位输入端。
4.2.2模八循环计数器
原理图
封装
4.2.3显示电路总图
封装
SL[4..1]~~HH[4..1]为时分秒个位十位输入端。
A1~~A7接LED的A~~G端;B1~~B6为选择数码管控制端,由1KHZ控制,轮流显示。
4.3保持电路原理
保持电路的功能是通过按键K1操作,用与门和非门实现。
将保持开关的状态信号经消颤开关后作非门处理和秒计数位的输入脉冲相与,结果送入秒位输入端口。
=1,电路正常计时,
=0时,电路保持为当前时间。
电路如下:
封装
K1控制保持或计时,SCO为1HZ时钟输入端。
SSJICO送入秒计时电路的时钟输入端。
4.4清零电路原理
清零电路是把时间归零,且无论什么时候操作,电路都将归零,此电路通过对清零开关K2操作实现。
把清零开关的状态信号消颤之后经非门后送入时分秒计数器的的清零端(低电平有效)。
=0,
=1,电路正常工作;
=1,
=0,各计数器被清零。
电路图如下:
封装
K2控制清零,CLER送入计时电路清零端。
4.5校分电路原理
校分电路用开关
操作实现的。
=0,正常工作;
=1时,电路由时钟1Hz脉冲信号校分。
的状态经消颤开关。
电路图
封装
CCO接秒的仅为信号,CCO1接分的使能端,K3=1正常及时,COO1=COO;K3=0,校分,COO1=1;
4.6校时电路原理
与校分电路原理相同,就不再赘述。
4.7整点报时电路原理
按照要求,在59’53”时开始报时,在59’53”,59’55”,59’57”时报时频率为512Hz,59’59”时报时频率为1KHz。
实验图中时分秒对应的符号如下表:
秒十位:
SH秒个位:
SL分十位:
MH
分个位:
ML时十位:
HH时个位:
HL
时位
分位
秒位
HH[3]
23
MH[3]
13
SH[3]
03
HH[2]
22
MH[2]
12
SH[2]
02
HH[1]
21
MH[1]
11
SH[1]
01
HH[0]
20
MH[0]
10
SH[0]
00
HL[3]
27
ML[3]
17
SL[3]
07
HL[2]
26
ML[2]
16
SL[2]
06
HL[1]
25
ML[1]
15
SL[1]
05
HL[0]
24
ML[0]
14
SL[0]
04
59分50秒为报时时刻的公共部分,分别在3,5,7秒报时;
电路图
封装
SL,SH,ML,MH是秒分输入端,500H为500HZ信号输入端,1KH为1KHZ信号输入端。
FM输出接蜂鸣器。
4.8闹钟设定电路原理
为不影响正常及时,分别作莫六十与莫二十四计数器(用74160完成),因为数码管有限,要显示闹钟设定时间,要与正常计时的时分现实数码管复用,这就需要一个控制开关,控制转换到设定闹钟界面,与正常计时界面。
4.81设定小时电路
封装
4.8.2设定分电路
封装
4.8.3总电路
因为要保证设定的闹钟时间不受到干扰,所以要用寄存器把设定时间存储起来。
封装
4.9闹钟报时电路原理
将闹铃设定的时间和数字钟的当前时间不断通过比较器比较,当二者时和分完全相等时,将输出闹铃启动信号,启动闹铃电路工作。
比较器设计基本原理使用同或门实现,相同出一,否则出零。
如下图所示:
4.10.1两个两位二进制比较器原理图[比较小时的十位与各位]
封装
4.9.2两个四位二进制比较器原理图[比较分的十位与各位]
封装
4.9.3总比较电路原理图
封装
输入端分别是正常计时的时分,与闹钟设定的时分,输出FM1接宝石电路部分。
当相等时,输出为高电平,维持一分钟闹铃。
4.10其他模块
4.10.1八组选四组数据选择器
因为闹钟设定时间的时分要与正常计时的时分复用四个数码管,所以要用数据选择器实现,党控制开关为1时候显示正常计数时间,为零时,显示闹钟时间。
原理图
封装
4.10.2消颤电路
为防止开关抖动造成干扰,用地触发器设计消颤电路
原理图
封装
4.11电路总图
4.11.1OK6模块
封装
K1~~K7控制开关功能分别为:
保持;校分;校时;清零;设定闹钟分;设定闹钟时;闹钟设定时间的与正常计时切换。
NN为48MHZ系统时钟输入端;HH,HL,MH,ML是现在时刻的时分十位个位;HH1,HL1,MH1,ML1是闹钟设定时间的时分十位个位。
6HZ输出的是12HZ信号,与2HZ相与,用来做闹铃,每隔一秒种叫三次。
1KHZ:
输出1KHZ信号。
。
2HZ:
输出2HZ信号。
FM为报时电路最终输出端,与闹铃电路一起控制蜂鸣器。
4.11.2总电路图
原理图
封装
五实验中遇到问题及解决方法
5.1消颤开关没有消颤作用
分析解决:
开始时,我们采用R-S锁存器进行开关的的消颤处理,在实验箱上进行模拟仿真时,随着开关的拨动,数码管显示值跳动异常,且变化捉摸不定,闹铃设定值也因此变化,原因可能是对于有高频干扰的实验系统,R-S锁存器容易受到干扰,消颤效果并不理想。
所以我们在查阅先关资料之后,发现在实际的数字电子系统中,比较普遍的是用D触发器进行消颤。
在选取好D触发器的时钟脉冲也即采样频率后,发现消颤效果较好。
5.2
多软件好多功能不熟悉,无意间把基本设置改动,导致的不到预期的结果。
通过向同学请教,最后基本掌握软件的基本功能,能够熟练的使用基本功能。
5.3
开始,对电路的导线标号规则不了解,导致大小写重名,等各种错误,导致到最后总电路图,标号混乱。
解决方法,从头再来,合理编号。
最终顺利完城。
六结论
本实验利用QuartusII软件设计仿真了在满足基本要求的基础上带闹钟、功能的数字钟,编译后下载至SmartSOPC实验系统中,实际效果与预期一致。
七实验心得
实践是巩固所学知识的最佳手段,空想总是会有漏洞的,只有亲手去做,才知道那里没学到,没学透。
并且有些知识考思考,或在课本上学习,时发现不到的,只有实践之后,才知道其更深一层的内涵。
通过本次试验,我更深一层的认识了,各种逻辑门的用途,以及译码器,计数器,选择器,触发器的广泛应用功能。
能够较熟练的将他们拓展成多位的选择器或译码器。
灵活运用这些基本模块设计符合自己需求的更复杂功能电路。
关于时序问题,一直是我的一个难点,在设计一些较复杂电路时,对于时钟信号要格外小心,上升沿或下降沿,输入与输出在时间上的先后关系,以及延时导致的后果,这些细节都决定了电路是否成功。
本次试验,学到了好多,认识又深了一层,同时也让我知道怎样去学习。
八参考文献
[1]蒋立平编数字电路兵器工业出版社2001
[2]王建新,姜萍编著电子线路实践教程科学出版社2003
[3]南京理工大学电子技术中心编EDA设计实验指导书2008