基于原理图设计的EDA实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四川职业技术学院
EDA实训报告
基于原理图输入法的数字钟
专业:应用电子技术
班级:09电技三班
姓名:王坤林田志
学号:14 43001
指导教师:施尚英唐林黄世瑜
二零一一年六月十五日
目录
一设计要求 (3)
二功能描述 (3)
三数字钟的层次化设计方案 (3)
1)原理说明 (4)
2)时钟电路子模块counter1k的设计 (4)
2时分秒计数器模块 (4)
1)原理说明 (4)
2)秒计数器模块的EDA设计 (4)
3)分计数器模块的EDA设计 (5)
4)时计数器模块的EDA设计 (5)
3数字钟校时单元电路模块 (6)
1)原理说明 (6)
2)模式计数译码器子模块的设计 (6)
3)数字钟校时单元顶层电路模块设计 (7)
四数字钟的顶层设计和仿真 (7)
1数字钟的顶层设计输入 (7)
2 仿真设计 (7)
五硬件测试 (8)
六心得体会 (8)
附录 (9)
一设计要求
本课题将在QuartusII开发系统中用可编程逻辑器件,完成简易数字钟的EDA设计,具体要求为:
1数字钟功能:数字钟的时间为24小时一个周期;数字钟须显示时、分、秒;
2校时功能:可以分别对时、分、秒进行单独校时,使期调整到标准时间;
二功能描述
数字式电子钟实际上是一个对标准1Hz进行计数的计数电路,秒计数器满60后向分计数器进位, 分计数器满60后向时计数器进位, 时计数器按24翻1规律计数, 计数输出经译码器送LED显示器, 由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加上一个校时电路。
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码秒输出显示.
三数字钟的层次化设计方案
根据上述功能,可以把多功能数字式电子钟系统划分为三部分:时钟源(即标准秒钟的产生电路),时分秒计数器模块、数字钟模块、校时模块、数字秒表模块、
1时钟源--晶体振荡器电路.
1)原理说明
如精度要求不高可选用555构成的多谐振荡器,设其振荡频率为f0=1kHz,电路原理图如图6-5所示,而后通过分频器电路(1000分频)即可产生1Hz的方波信号供秒计数器进行计数,分频器电路可由3片十进制计数器级联而得,根据6.2.2节的描述,本设计案例选用图1的多谐振荡器电路的输出作为数字式电子钟的基准时钟输入,基准时钟输入一方面用于定时报时和整点报时所需的音频信号。另一方面该信号惊10分频后作为数字秒表的输入时钟,经1000分频后作为数字钟输入时钟。
2)时钟电路子模块counter1k的设计
时钟电路子模块可由3个十进制计数器74160级联而成,输出有10分频输出clk_10, 1000分频输出clk_1Hz,其原理图如图2所示,74LS160为同步可予置4bit十进制加法计数器,它具有同步载入,异步清零的功能。
在QuartusII中,利用原理图输入法完成源程序的输入、编译和仿真。时钟电路子模块的仿真输出波形文件如图3所示。在仿真结果正确无误后,可将以上设计的时钟电路子模块counter1k设置成可调用的元件counter1k.sym如图4所示。,以备高层设计中使用。
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都为高电平时,计数器才能计数。
图5为使用2个74160同步级联设计的六十进制进制计数器秒计数器模块的原理图,由前面的分析知分和秒计数器都是模M=60的计数器,其规律为00→01→…→58→59→00…,此底层计数器模块的设计中保留了一个计数使能端CEN、异步清零端Clrn和进位输出端Tc,这三个引脚是为了实现各计数器模块之间进行级联,以便实现校时控制而预留的。
根据计数器置数清零法的原理,第一级计数器置数输入端的逻辑表达式为:
Tc1=not(D1•D3•CEN) (1) 第二级计数器置数输入端的逻辑表达式为:
Tc2=not(D1•D3•D4•D6•CEN) (2)
如图6-9所示。从图6-9中可以知道当秒计数到010110012(59)时将产生一个进位输出Tc,此输出同时反馈至其置数输入端(LDN)实现0置数。
在QuartusII中,利用原理图输入法完成源程序的输入、编译和仿真。六十进制可预置BCD码计数器子模块count60_160.bdf的仿真输出波形文件如图6(a)所示。分析知仿真结果,当计数输出D[7..0]=59时,进位输出Tc=1,结果正确无误。可将以上设计的六十进制可预置BCD码计数器子模块设置成可调用的元件count60_160.sym,以备高层设计中使用,其元件符号图如图6(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秒”。为实现校时控制,时计数