1、电子时钟QuartusIIEDA设计()实验报告 数字钟班级: 08042402 学号: 08042402* 姓名: * 院系:电光工程与光电技术学院指导老师: 谭雪琴 评语: 2011年04月摘要本次EDA设计先利用QuartusII7.0软件设计一个数字钟,软件模拟仿真后,下载到SmartSOPC实验系统中。通过开关的开合来控制数字钟来完成保持、清零、校分、校时、整点报时等功能。使用软件设计时先设计分频电路,对试验系统的时钟信号进行分频,分出1HZ的时钟信号,然后再设计计时和控制电路,使数字钟可以完成设计所需功能要求。软件设计完成,模拟仿真没有错误后,再下载到SmartSOPC试验系统中,
2、实际验证设计是否正确。关键字:数字钟;SmartSOPC;QuartusII;分频;计时Title EDA() Design Experiment Report AbstractWe use QuartusII7.0 to design a dgital cock first,after smulation,download to SmartSOPC experiment system.Control the digital clock to achieve keeping, clearing, correction minute, correction hour and ring when
3、the whole hours.we first use software to design frequency dividing circuit to frequency demultiplicate the experiment systems clock signal and generated signal of 1HZ,then design timing circuit and control circuit,makes the digital clock complete the required function .After designing and smulation,
4、download to the experiment system and checking if there any errors. Keywords digital clock; frequency dividing;SmartSOPC;QuartusII;timing 一 设计要求5二 方案论证5三 子模块设计63.1 脉冲发生电路63.1.1 48分频电路63.1.2 500分频电路8 3.1.3 2分频电路93.2 计时电路10 3.2.1 模60计数器11 3.2.2 模24计数器13 3.2.3 计时电路143.3 校分电路163.4 校时电路183.5 清零电路183.6 报时
5、电路183.7 显示电路20四 调试22五 下载23六 结论24七 实验感想24八 参考文献261 设计要求 能进行正常的时、分、秒计时功能;分别由六个数码管显示时分秒的计时;K1是系统的使能开关,K1=0正常工作,K1=1时钟保持不变;K2是系统的清零开关,K2=0正常工作,K2=1时钟的分、秒全清零;K3是系统的校分开关,K3=0正常工作,K3=1时可以快速校分;K4是系统的校时开关,K4=0正常工作,K4=1时可以快速校时;使时钟具有整点报时功能当时钟计到595时开始报时,在5953, 5955,5957 时报时频率为512Hz,5959时报时频率为1KHz;设计完成后并且模拟仿真捂错后
6、,下载到试验系统中,检验是否符合以上设计要求。2 方案论证设计该数字闹钟时先要对试验系统的时钟信号进行多次分频,最终产生1HZ的标准的时钟信号、500HZ和1000HZ的蜂鸣器发声信号。由于试验系统的时钟信号是48MHZ,为了得到1HZ、500 HZ 、1000 HZ的时钟信号,先要对这个48MHZ的信号进行48分频,得到1MHZ的信号,再对这个1MHZ的信号进行1000分频得到1000HZ的蜂鸣器信号,再对1000HZ的信号进行1000和2分频即可得到1HZ的时钟信号和500HZ的蜂鸣器信号。为了使蜂鸣器和时钟可以正常工作,应当使1HZ、500HZ和1000HZ的信号占空比为1:1。为了使占
7、空比为1:1应当在分频时使用2分频的分频电路。具体而言就是在48分频之后的1000分频由一个500分频电路和2分频电路组合而成,这样可以保证输出的1000HZ信号的占空比为1:1,最后一个的1000分频电路也是这么组合而成,这样就可得到占空比为1:1的500HZ和1HZ的信号。数字钟的核心是两个模60的计数器和一个模24的计数器,分别表示秒位,分位和时位。使用74160利用置数法可以方便的组合出这些计数器,在设计这些计数器的时候,通过使用不同的输入接口,可以使计数器完成清零,保持,计数校分等设计时需要的功能。为了使时钟可以完成报时的要求,在设计时通过不同的门电路对计数器的输出管教进行组合即可。
8、3 子模块设计 下图是整个数字钟的组成示意图图1(组成示意图)由图1可知,要完成整个数字钟的正常工作,需要六个子模,各个子模块的组成和实现的功能有下面分析得出。31 脉冲发生电路脉冲发生电路分别产生1HZ、500HZ和1000HZ的时钟信号,分别供计时电路里的秒计时电路和蜂鸣器使用。计时电路由48分频电路,5000分频电路和2分频电路组合封装而成,形成48M的分频电路。3.1.1 48分频电路 48分频电路的组成由下图2所示:图2(48分频电路)由上图可知48分频电路由两个74163组成,其中一个为模12的计数器另外一个为模4的计数器,通过这个计数器即可得到48分频的信号,输出的波形如下图3所
9、示:图3(48分频电路输出)其中输入信号周期为10ns,输出信号经过标尺标定可知周期为480ns,且占空比为1:1,验证可知分频正确。封装后的模块如下图4所示:图4(48分频模块)3.1.2 500分频电路500分频的电路组成如下图5所示:图5(500分频电路)由上图可知500分频电路由3个74160组成,通过置数法构成。其中两个为模10的计数器另外一个为模5的计数器,通过这个电路可以得到500分频的电路,输出的波形如下图6所示:图6(500分频电路输出)其中输入的信号周期为10ns,输出信号的周期经过标尺标定后可知为5s,验证可知分频正确。封装后的模块如下图7所示:图7(500分频模块)3.
10、1.3 2分频电路2分频的电路组成由下图8所示:图8(2分频电路)由上图可知2分频的电路由一个JK触发器组成,这个JK触发器连接成了 T触发器,形成一个2分频电路。输出波形如下图9所示:图9(2分频电路输出)其中输入信号的周期为10ns,输出信号的周期用标尺标定后可知为20ns,且占空比为1:1,验证可知分频正确。封装后的模块去下图10所示:图10(2分频模块)有上面这些记得模块经过连接后可以得到符合要求的脉冲发生电路,具体如下图11所示:图11(48M分频电路)该脉冲发生电路可以输出1HZ、500HZ和1000HZ的信号,满足实验的要求,封装后的模块如下图12所示:图12(48M分频输出)3
11、.2 计时电路计时电路主要由三个计数器组成,分别是两个模60的计算器充当分秒位,一个模24的计数器充当时位。分秒向高位的进位充当下一位的时钟信号,为了方便清理电路、校分电路的工作,在计时电路里集成了一部分清零和校分的电路所需的开关。3.2.1 模60计数器模60的计数器的组成如下图13所示:图13(模60计数器电路)由上图可知模60的计数器由两个74160组合而成,利用置数法在输出等于59时对两个74160置数置成0,从而使计数器完成0-59的计数。开关K1和K2分别接到74160的保持端和清零端,由74160的功能表可知,在K1=1时电路保持不动,K2=1时,对电路进行清零。在正常工作时即K
12、1=0并且K2=0时电路的输出如下图14所示:图14(模60计数器输出)由上图可知模60的计数器可以完成正常的计数,且各个使能开关工作正常,满足实验要求,封装后的模块如下图15所示:图15(模60计数器模块)3.2.2 模24计数器模24计数器的组成如下图16所示:图16(模24计数器电路)由上图可知模24的计数器由两个74160组合而成,利用置数法在输出等于23时对两个74160置数置成0,从而使计数器完成0-23的计数。开关K1接到74160的保持端,由74160的功能表可知,在K1=1时电路保持不动,在正常工作时即K1=0时电路的输出如下图17所示:图17(模24计数器输出)由上图可知模
13、24的计数器可以完成正常的计数,且使能开关工作正常,满足实验要求,封装后的模块如下图17所示:图17(模24计数器模块)3.2.3 计时电路整个完整的计时电路如下图18所示:图18(计时电路)为了使电路可以正常的计时,即在59秒时先分产生一个进位信号,在一个脉冲到来之时,分位加一,应当对秒计数器输出SQd0、SQa0、SQa1、SQc1与非后接到分位的clk,即,同理对于分位也是如此,即以此保证电路可以正常的进位和计时。在计时电路中集成了一部分校分电路、校时电路和全部的清零电路,由于在校分时需要保持秒位不动,校时时需要保持分位和秒位都不动,所以在校分时需要将校分开关连接到秒位的保持开关,校时时
14、需要把校时开关连接到分位和秒位的保持开关,以便可以正常校分校时。具体的办法就是把校分和校时的开关和正常的保持开关相或后接到秒计数器的保持开关上,把校时和正常的保持开关相或后接到分计数器的保持开关上,这样可以保证校分时秒位保持不动,校时时分位和秒位保持不动。在清零时,只要把清零开关接到模60计数器的清零开关上即可完成清零工作。整个计时电路的工作波形图如下图19所示:图19(计时电路模块)由于过于密集可讲图片放大后可见计时电路,校分电路,校时电路清零都可以正常工作。封装后的模块如下图所示20所示:图20(计时电路模块)33 校分电路校分电路的组成如下图21所示:图21(校分电路)上图中clk为d触
15、发器的脉冲信号,in为正常的秒位向分位的进位信号,k为校分开关。使用d触发器的目的是消除校分开关的颤抖,使输出没有明显的毛刺导致校分出错。输出的表达式为,由这个表达式可知,当输入k=0时,经过化简得,电路正常计时,当输入k=1时,化简得,电路可以校分,其中clk为校分时的脉冲的频率。电路正常工作时输出的波形如下图22所示:图22(校分电路输出)由上图可知校分电路可以完成校分和正常计时的要求,且校分开关可以正常工作,满足实验要求,封装后的模块如下图23所示:图23(校分电路模块)34 校时电路由于校时电路的组成和功能与校分电路的组成和功能十分类似,只是把正常的秒向分的进位信号换成分向时的进位,其
16、他完全一样,再次省略介绍,可参见校分电路的介绍。35 清零电路清零电路的组成十分简单,只要把清零信号接到分位和秒位的清零开关即可,其功能和组成在模60的计数器里已经加以说明,这里不再赘述。36 报时电路 报时电路是要求电路中的蜂鸣器在每个小时的59分53秒、55秒、57秒发出低音,而在59分59秒发出高音。用二进制数分别表示如下表:时刻分十位分个位秒十位秒个位音高频率m8m7m6m5m4m3m2m1s8s7s6s5s4s3s2s159分53秒0101100101010011低约500Hz59分55秒0101100101010101低约500Hz59分57秒0101100101010111低约5
17、00Hz59分59秒0101100101011001高约1000Hz蜂鸣器发声情况表设使蜂鸣器发出低音的500Hz信号为f3,使蜂鸣器发出高音的1000Hz信号为f4,则可以确定蜂鸣器的输入信号H与各变量由如下关系: 依照上面的化简连接电路,具体的报时电路如下图24所示:图24(报时电路)其中输出beep接蜂鸣器,封装后的模块如下图25所示图25(报时电路模块)37 显示电路显示电路是采用的是动态显示,原理如下图26所示:图26(显示电路组成示意图)如上图所示,显示电路主要有24选4的数据选择器,计数器、74138译码器、7447显示译码器组成。由于要求是动态显示,需要以足够高的频率来分别显示
18、时钟的时位、分位和秒位。计数器的作用是驱动24选4的数据选择器分别选择时钟的时位、分位和秒位送给显示译码器7447去驱动数码管发光,同时又要通过译码器74138来选择使用哪个数码管显示时钟的时位、分位和秒位。由于时、分、秒每个都需要两个数码管来显示,所以计数器应该为模6的计数器。24选4的计数器可由3个74157组成,其中每个74157的相同的输出相或后充当新的输出。实际的原理图如下图27所示:图27(显示电路)如上图27所示,模6计数器的输出的Qb、Qc接到一个74139译码器上,Qa连接到到每个74157的sel端,译码器的输出的前三位分别接到三个连接时、分、秒的74157的使能端,在正常
19、工作时,当Qb=Qc=0时,这时选中表示秒位的74157,当Qa=0时,表示这时74157的输出为秒的个位,驱动显示译码器7447译码,同时74138输出的11111110表示选中表示秒个位的数码管,使之显示秒的个位,当Qa=1时,驱动显示译码器7447译码,同时74138输出的11111101表示选中表示秒十位的数码管,使之显示秒的十位,同理当Qb=1,Qc=0时显示分别显示分的个位和十位,当Qb=0,Qc=1时,分别显示时的个位和十位。以此往复,不停地显示时、分、秒,由于显示速度过快,超出人眼的分辨能力,看起来时分秒一起显示,封装后的显示电路如下图28所示:图28(显示电路模块)将上述所有
20、的模块连接起来即可组成最终的时钟电路,为了使最终的电路更加简洁,讲计时电路和报时电路封装在一起,最终的电路如下图29所示:图29(总电路)4 调试将最终的电路图设置为顶层实体后,点击软件工具栏上的的按钮,即可开始调试,调试无误之后经过检查确认没有逻辑错误,就可以下载到SmartSOPC实验系统中,实际验证是否正确。5 下载在下载之前先要对电路进行管叫的分配,未用到的管脚设置为高阻态防止损坏芯片。这些完成之后,选择”Processing”Start Compilation”进行全程编译。通过ByteBlaster下载电缆连接试验箱JTAG口和计算机,接通试验箱电源。点击工具栏上的按钮,在完成添加
21、硬件的造作之后,在”Program/configure”列下的复选框中打勾后,点击按钮即可往SmartSOPC实验系统中下载程序。下载完成后,将所有开关置0,验证时钟可以正常计时。将k1开到1,查看电路的保持功能,正常后将k1置0。 将k2开到1,查看电路的清零功能,正常后将k2置0。将k3开到1,进行校分功能,将分调到59后将k3置0,查看秒跳到53、55、57、59是否进行报时。将k4开到1,进行校时功能,正常后将k4置0。这些操作完成后,即可验证设计的电路是否符合实验要求。下图30为管脚分配图,图31为分配管脚之后的总的电路图。 图30(管脚分配图)图31(管脚分配之后的总电路)6 结论
22、经过在实验系统上的验证,电路设计无误,符合设计的要求。7 实验感想这次EDA()历时一周,中间还经历了清明放假,由于第一次在放假前上,听课时难以集中注意力在清明放假时虽然也做了一些工作,但是由于数电很久没有接触过,难免有些生疏,在设计计数器时不断犯一些低级错误,经常把应该用与门的用了或门。由于以前没有使用过QuartusII7.0,在使用时没能掌握一些连接电路的小技巧,导致连接电路时电路连线过于密集,不美观,影响原理图的可读性。在清明假期里,虽然也做了一些电路出来,但是没有一点压力,进度十分缓慢,而且设计出来的几个计数电路由于没有采用较为稳定的置数法,而是采用了清零法,这么做的后果就是最终组合
23、一起测试的时候,电路不稳定,有好多的“毛刺”,尤其是在校分和校时拨动开关的时候最为显著,这么样设计的电路虽然可以计时、报时但是却是一个失败品。最后通过同学的指点,改为用置数法做计时电路,这个毛病算是消除了。在调试的时候还发现了一个问题就是电路在59的时候就已经产生进位,几个人检查了半天也没能找出问题来,其实这个问题在用软件仿真的时候就已经发现了,只不过当时没有在意,一方面为了赶进度另一方面以为是毛刺造成的,等到调试时发现了,心里很是着急,因为第二天就要验收,而且还不止一个人出现了这个问题说明是电路设计的问题,可是大家检查了半天也没有发现错在哪里。最后还是等老师过来的时候向老师反映了一下,老师听
24、了我们的描述,说这有可能是在59时就像高位进位导致,可以将与门改成与非门试试。听了老师的一席话,回想了自己的电路设计,感觉老师说的很对。不过自己在改动电路的时候,错误的改动了计数电路的结构,而且自己忘记了改动了什么,结果,连正常的计数都无法进行。回去自己对照着电路看了半天啥也没看出来,只好对这些模块逐个检查,工作量很大,最后花了大力气检查出来了,自己看到了也是又气又想笑。将这个错误改正之后,第二天再次下载到试验系统中的时候发现一切都正常了。通过这次为期一周的EDA()试验,我成功的设计出一个可以计时、校分、校时、报时的简单的数字钟,初步掌握了QuartusII7.0的使用,为以后的工作和学习积累了经验。通过了这次实验我加深了对“认真”二字的理解,深刻体会到认真的重要之处,只有认真才有可能成功。希望以后学校可以将EDA实验的时间放在开学前几周,还可以将实验的时间适当延长,这样大家可以更好地掌握软件的使用还能学到新的知识。最后,感谢老师在实验中的提醒与热情帮助,感谢同学对我的帮助。也感谢学校提供这次锻炼我动手能力的机会。参 考 文 献1EDA设计实验指导书 南理工电子技术中心编 南理工出版社2数字电路 蒋立平编 兵器工业出版社
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1