简易数字钟的EDA设计

2020-02-20 23:10

6.2 简易数字钟的EDA设计

6.2.1 设计要求

本案例将在QuartusII开发系统中用可编程逻辑器件,完成简易数字钟的EDA设计,具体要求为:

1数字钟功能:数字钟的时间为24小时一个周期;数字钟须显示时、分、秒; 2校时功能:可以分别对时、分、秒进行单独校时,使期调整到标准时间;

3扩展功能:整点报时系统。设计报整点报时电路,每当数字钟计时59分50秒时开始 报时,并发出鸣叫声,到达整点时鸣叫结束,鸣叫频率为100Hz。

6.2.2 功能描述

数字式电子钟实际上是一个对标准1Hz进行计数的计数电路,秒计数器满60后向分计数器进位, 分计数器满60后向时计数器进位, 时计数器按24翻1规律计数, 计数输出经译码器送LED显示器, 由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加上一个校时电路,该数字式电子钟除用于计时外,还能整点报时,如图6-4所示为多功能数字式电子钟的构成框图。除校时功能外,电子钟处于其他功能状态时并不影响数字钟的运行,该电子钟利用GW48 实验平台的扬声器进行整点报时,设置2个按键作为功能键和调整键。

图6-4多功能数字式电子钟的系统框图

1输入

1)K1:模式选择键,第一次按K1按钮时为校秒状态, 按第二次为校分状态, 按第三次为校时状态,按第四次为计时状态,系统初始状态为计时状态。

2)K2:手动校时调整键,当按住该键不放时,表示调整时间直至校准的数值,松开该键则停止调整。

3)clk_1kHz:1000Hz的基准时钟输入,该信号10分频后作为整点报时所需的音频信号的输入时钟,1000分频后作为数字钟输入时钟。 2输出

HH[1..0] HL[3..0]为BCD码小时输出显示;MH[2..0] ML[3..0] 为 BCD码分输出显示;SH[2..0] SL[3..0]为BCD码秒输出显示;alarm为报时输出。

6.2.3 数字钟的层次化设计方案

根据上述功能,可以把多功能数字式电子钟系统划分为三部分:时钟源(即标准秒钟的产生电路),时分秒计数器模块、数字钟模块、校时模块、数字秒表模块、闹钟和整点报模块。

1时钟源--晶体振荡器电路

1)原理说明

如精度要求不高可选用555构成的多谐振荡器,设其振荡频率为f0=1kHz,电路原理图如图6-5所示,而后通过分频器电路(1000分频)即可产生1Hz的方波信号供秒计数器进行计数,分频器电路可由3片十进制计数器级联而得,根据6.2.2节的描述,本设计案例选用图6-5的多谐振荡器电路的输出作为数字式电子钟的基准时钟输入,基准时钟输入一方面用于定时报时和整点报时所需的音频信号。另一方面该信号惊10分频后作为数字秒表的输入时钟,经1000分频后作为数字钟输入时钟。

2)时钟电路子模块counter1k的设计

时钟电路子模块可由3个十进制计数器74160级联而成,输出有10分频输出clk_10, 1000分频输出clk_1Hz,其原理图如图6-7所示,74LS160为同步可予置4bit十进制加法计数器,它具有同步载入,异步清零的功能。

图6-5 多谐振荡器电路 图6-6时钟电路子模块原理图

在QuartusII中,利用原理图输入法完成源程序的输入、编译和仿真。时钟电路子模块的仿真输出波形文件如图6-7所示。在仿真结果正确无误后,可将以上设计的时钟电路子模块counter1k设置成可调用的元件counter1k.sym如图6-8所示。,以备高层设计中使用。

图6-7时钟电路仿真输出波形 图6-8时钟电路模块元件符号图

2时分秒计数器模块

1)原理说明

时分秒计数器模块由秒个位、十位计数器、分个位、十位计数及时个位、十位计数电路构成。其中:秒个位和秒十位计数器、分个位和分十位计数为六十进制计数器,而根据设计要求时个位和时十位构成的为二十四进制计数器。

因此时分秒计数器模块可划分为时计数、分计数和秒计数3个子模块,根据设计要求时计数子模块为一个二十四进制可预置BCD码计数器模块;分计数和秒计数子模块均为六十进制可预置BCD码计数器模块。

2)秒计数器模块的EDA设计

秒计数器模块的输入来自时钟电路的秒脉冲clk_1Hz。为实现六十进制可预置BCD码的秒计数器的功能,可采用两级BCD码计数器同步级联而成。第一级属于秒个位,用来计数和显示0~9秒,BCD码计数器每秒数值加1,当这一级达到9秒时,BCD码计数器使其

进位输出信号Tc有效,在下一个时钟脉冲有效沿,秒个位计数器复位到0。秒个位计数器进位输出信号Tc使秒十位计数器(模6计数)使能,在秒个位计数器复位同时,秒十位计数器计数值加1,该过程将持续59秒,此时秒十位计数器状态为1012(5),秒个位计数器状态为10012(9),此时将显示读数为59,同时秒十位计数器进位输出信号Tc为高电平,下一脉冲到来时秒个位计数器和秒十位计数器同时复位到0,并同步产生分脉冲进位输出信号Cout。

根据分析,可用2片74160同步级联设计成六十进制可预置BCD码计数器。74160为同步可预置4bit十进制加法计数器,它具有同步载入,异步清零的功能。构成该计数器的所有触发器都由时钟脉冲同步,在时钟脉冲输入波形上升沿同时触发。这些计数器可以使用置数输入端(LDN)进行予置,即当LDN=0时,禁止计数,输入ABCD上的数据在时钟脉冲上升沿予置到计数器上;如果在时钟脉冲上升沿来到以前LDN=1,则计数工作不受影响。2个高电平有效允许输入(ENP和ENT)和行波进位(RCO)输出使计数器容易级联,ENT、ENP都为高电平时,计数器才能计数。

图6-9为使用2个74160同步级联设计的六十进制进制计数器秒计数器模块的原理图,由前面的分析知分和秒计数器都是模M=60的计数器,其规律为00?01?…?58?59?00…,此底层计数器模块的设计中保留了一个计数使能端CEN、异步清零端Clrn和进位输出端Tc,这三个引脚是为了实现各计数器模块之间进行级联,以便实现校时控制而预留的。

根据计数器置数清零法的原理,第一级计数器置数输入端的逻辑表达式为:

Tc1=not(D1?D3?CEN) (6-1)

第二级计数器置数输入端的逻辑表达式为:

Tc2=not(D1?D3?D4?D6?CEN) (6-2)

如图6-9所示。从图6-9中可以知道当秒计数到010110012(59)时将产生一个进位输出Tc,此输出同时反馈至其置数输入端(LDN)实现0置数。

图6-9 六十进制进制计数器原理图

在QuartusII中,利用原理图输入法完成源程序的输入、编译和仿真。六十进制可预置BCD码计数器子模块count60_160.bdf的仿真输出波形文件如图6-10(a)所示。分析知仿真结果,当计数输出D[7..0]=59时,进位输出Tc=1,结果正确无误。可将以上设计的六十进制可预置BCD码计数器子模块设置成可调用的元件count60_160.sym,以备高层设计中使用,其元件符号图如图6-10(b)所示。

(a) (b)

图6-10六十进制可预置BCD码计数器子模块

(a) 仿真输出波形;(b)元件符号图

3)分计数器模块的EDA设计

分计数器模块和秒计数器模块的电路结构和工作原理完全相同。分计数器模块的是使能输入CEN为秒计数器模块进位输出Tc,分计数器模块能计数和显示0~59分,分计数器模块的进位输出Tc,每小时一个脉冲。

4)时计数器模块的EDA设计

时计数器模块由分和秒级使能,每小时只一个脉冲。当该条件满足时,74160的ENT变为高电平,即分和秒级为“59分59秒”。时计数器模块能计数和显示0~23小时.同样可用2片74160同步级联设计成二十四进制可预置BCD码计数器。由前面的分析时计数器是模M=24的计数器,其规律为00?01?…?22?23?00…,即当数字种运行到“23时59分59秒”时,在下一个秒脉冲作用下,数字种显示“00时00分00秒”。为实现校时控制,时计数器模块的设计中仍保留了一个计数使能端CEN、异步清零端Clrn和进位输出端Tc,这三个引脚也是为了实现各计数器模块之间进行级联。小时置数控制端LDN=D1?D0?D5?CEN,从图6-9中可以知道当秒计数到001000112(23)时将产生一个进位输出Tc,此输出同时反馈至其置数输入端(LDN)实现0置数。

图6-11 二十四进制时计数器模块原理图

最后,在QuartusII中,利用原理图输入法完成源程序的输入、编译和仿真。二十四进制可预置BCD码计数器子模块count24_160.bdf的仿真输出波形文件如图6-12(a)所示。分析知仿真结果,当计数输出D[7..0]=23时,进位输出Tc=1,结果正确无误。可将以上设计的六十进制可预置BCD码计数器子模块设置成可调用的元件count24_160.sym,以备高层设计中使用,其元件符号图如图6-12(b)所示。

(a) (b)

图6-12二十四进制可预置BCD码计数器子模块

(a) 仿真输出波形;(b)元件符号图

3数字钟校时单元电路模块

1)原理说明

当刚接通电源或走时出现误差时都需要对时间进行校正,对时间的校正是通过截断正常的计数通路,而用频率较高的方波信号加到其需要校正的计数单元的输入端,这样可以很快使校正的时间调整到标准时间的数值,这时再将选择开关打向正常时就可以准确走时了。下图所示为时、分、秒校时的校时电路。在校时电路中,其实现方法是采用高速计数脉冲和计数使能来实现校时的,整个校时单元电路模块可分为两个子模块,一个是模式计数译码器子模块,一个是输出使能选择。

2)模式计数译码器子模块的设计

模式计数译码器子模块的输入数字种的功能设置键Mode按钮,第一次按Mode按钮时为校秒状态, 按第二次为校分状态, 按第三次为校时状态,按第四次为计时状态,如此循环。刚刚通电时MODE=0为计时状态。为了选择不同的功能设置, 模式计数译码器子模块由宏模块74160组成的2位二进制计数器和一个2-4译码器,形成了计数译码器,该电路产生时分秒计数单元设置计数值的使能控制信号,其相应的功能如表6-1所示,另外在对分进行校时时应不能影响时计数,当校分时如果产生进位应该不影响时计数的计数。

表6-1计数单元选择功能表 Mode按钮 1 2 3 4 输入 Q2Q1 00 01 10 11 S_EN 0 1 0 0 M_EN 0 0 1 0 输出 H_EN 0 0 0 1 SEL 1 0 0 0 计时 校秒 校分 校时 功能 根据表6-1可得输出信号的逻辑表达式如下:

SEL=Q1?Q2;S_EN=Q2?Q1;M_EN=Q2?Q1;H_EN==Q2?Q1 (6-3)

据此可在QuartusII中设计出模式计数译码器子模块的原理图,如图6-13所示。

图6-13模式计数译码器子模块的原理图


简易数字钟的EDA设计.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:优秀教师表彰大会主持词开场白

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: