基于Quartus的多功能数字钟设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1EDA设计(二)基于Quartus的多功能数字钟设计摘要该实验是利用QuartusII软件设计一个数字钟,进行试验设计和仿真调试,实现了计时,校时,校分,清零,保持和整点报时等多种基本功能,并下载到SmartSOPC实验系统中进行调试和验证。此外还添加了显示星期,闹钟设定,秒表和彩铃等附加功能,使得设计的数字钟的功能更加完善。关键字:Quartus数字钟多功能仿真AbstractThisexperimentistodesignadigitalclockwhichisbasedonQuartussoftwareandinwhichmanybasicfunctionsliketime-counting,hour-correcting,minute-correcting,reset,time-holdingandbellingonthehour.Andthenvalidatedthedesignontheexperimentalboard.Inaddition,additionalfunctionslikedisplayingandresetingtheweek,settingalarm,stopwatch,andbellingwithmusicmakethisdigitalclockaperfectone.2Keywords:Quartusdigital-clockmulti-functionsimulate目录1.设计要求……………………………………………42.工作原理……………………………………………53.各模块说明…………………………………………51)分频模块…………………………………………52)计时模块…………………………………………83)动态显示模块…………………………………104)校分与校时模块………………………………115)清零模块………………………………………126)保持模块………………………………………127)报时模块………………………………………124.扩展模块…………………………………………131)星期模块………………………………………132)闹钟模块………………………………………143)秒表模块………………………………………1835.调试、编程下载…………………………………196.实验中出现问题及解决办法……………………197.实验收获与感受…………………………………208.参考文献…………………………………………21一、设计要求1.设计一个数字计时器,可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等基本功能。2.具体要求如下:1)能进行正常的时、分、秒计时功能,最大计时显示23小时59分59秒。2)分别由六个数码管显示时分秒的计时。3)K1是系统的使能开关,K1=0正常工作,K1=1时钟保持不变。4)K2是系统的清零开关,K2=0正常工作,K2=1时钟的分、秒全清零。5)在数字钟正常工作时可以对数字钟进行快速校时和校分。K3是系统的校分开关,K3=0正常工作K3=1时可以快速校分;K4是系统的校时开关,K4=0正常工作,K4=1时可以快速校时。3.设计提高部分要求1)时钟具有整点报时功能,当时钟计到59’51”时开始报时,在59’51”,59’53”,59’55”,59’57”时报时频率为512Hz,59’59”时报时频率为1KHz。2)星期显示:星期显示功能是在数字钟界面显示星期,到计时到24小时时,星期上显示的数据进一位。3)闹表设定:通过开关切换显示至闹钟界面,利用闹钟校时和校分开关对闹钟时间进行设定,且不影响数字钟计时。当计时到闹钟设定4时间蜂鸣器鸣叫,并响起彩铃。4)秒表计时:通过开关切换显示至秒表界面,分秒部分是100进制的,即当值为99时向秒位进位。4.仿真与验证用Quartus软件对设计电路进行功能仿真,并下载到实验板上对其功能进行验证。二、工作原理数字计时器是由计时电路、译码显示电路、脉冲发生电路和控制电路等几部分组成的,控制电路按要求可由校分校时电路、清零电路和保持电路组成。其中,脉冲发生电路将试验箱提供的48Mhz的频率分成电路所需要的频率;计时电路与动态显示电路相连,将时间与星期显示在七段数码管上,并且驱动蜂鸣器整点报时;校时校分电路对时、分、星期提供快速校时;清零电路作用时,系统的分秒时同时归零;保持电路作用时,系统停止计时并保持时间不变。其原理框图如图所示:三、各模块说明计时电路校分校时电路脉冲发生电路译码显示电路报时电路清零电路51.分频模块分频模块将实验箱提供的48MHZ的频率分频,得到所需的频率。实验中需要1HZ作为时秒、分、时的时钟信号,2HZ作为校分、校时的时钟信号,200HZ、1000HZ作为报时蜂鸣所需频率信号等。我们实现的方法是8分频(三个2分频级连),6分频(一个2分频和一个3分频的级连)和610分频(6个5分频和6个2分频的级连)。a)八分频这个二分频电路是由D触发器产生的,占空比为50%。波形图如下:b)六分频6这里设计了如下一个计数循环:00,01,10,00。采用高位作为分频信号输出,占空比为1:2,此时再接到一个T触发器的时钟端进行二分频,即实现六分频,且满足占空比为50%的要求。三分频波形图如下:c)十分频7该方法与六分频的实现是一个原理。波形图如下:2.计时模块计时电路包括秒,分,时,星期四个模块,依次进位。其中秒和分的模块类似,都是一个模六十计数器,时模块是一个模24计数器,而星期则是一个特殊的模7计数器。设计时采用的是同步计数器,它们所接的时钟信号均为1hz。a)秒计时模块8当秒计时至59秒时由四与非门输出一个低电平将秒个位及秒十位置零,同时变换此低电平为高作为进位信号传递给分个位。波形图如下:b)分计时模块9观察可发现其结构与秒计时模块一致,唯一不同的是由于分清零的条件不仅是分计到59,而且秒也要计到59,故清零信号的输入还要添加秒计时模块的输出。波形图与秒计时模块的相类似。c)时计时模块时计时模块与秒,分模块类似,只是进位信号要设计在23时置零进位,并且要等到秒与分信号都计到59时它才能进位清零,故清零信号的输入还要添加秒和分计时模块的输出。波形图如下:103.动态显示模块此模块是用于数码管的动态显示,在本实验中一共需要7个数码管参与显示(秒2位,分2位,时2位,星期1位),所以计数器74161设计为模7的循环,其输出既作为4片74151的控制端,又作为3-8译码器74138的控制端。因为只有一片BCD译码器7447,所以当计数器到某一个数值时,四片74151同时选取对应位的一个输入组成计时器某一位的BCD编码接入显示译码器7447,与此同时根据计数器的数值,74138译码器也从七个显示管的使能端选择对应位有效,从而在实验箱上显现一个有效数据。扫描的频率为几千赫兹,因为人眼视觉停留的原因,会感觉七个数码管同时显示。原理图如下:114.校分与校时模块a)校分模块当K3为0时,校分模块输出1hz的脉冲供给分计时模块正常计数;当K3为1时,校分模块输出2hz的脉冲供给分计时模块校分。其中为了防止拨开关时引发的颤动给校分带来影响,在校分模块中加入了消颤的D触发器。由于校分的时候无论秒计时模块是否计到59,都能进行校分,故秒计时模块的输出要与开关K3相或才能供给校分模块的使能端。b)校时模块当K4为0时,校时模块输出1hz的脉冲供给时计时模块正常计数;当K4为1时,校时模块输出2hz的脉冲供给时计时模块校分。其中为了防止拨开关时12引发的颤动给校时带来影响,在校时模块中加入了消颤的D触发器。由于校时的时候无论秒和分计时模块是否都计到59,都能进行校时,故秒计时模块的输出要与开关K4相或才能供给校分模块的使能端。5.清零模块通过增加一个开关K2来控制计时电路,开关通过非门直接接在每个74160的清零端,当开关断开时,计时器正常工作,当开关闭合时,计时器清零。,6.保持模块通过开关K1控制秒的使能信号,当秒停止计时,计时器就“保持”了。,7.报时模块当电路计时到59分51,53,55,57秒时,分别发出一声较低的蜂鸣声;当计时到59分59秒时,发出一声较高的蜂鸣声。需要在某时刻报时,就将该时刻输出为“1”的信号作为触发信号,选通报时脉冲信号进行报时。设计思路:设F是报时函数,F1是低音报时函数,F2是高音报时函数。所有函数为高电平时报时。则有:13F=59’53’’F1+59’55’’F1+59’57’’F1+59’59’’F2=59’51’’(2’’F1+4’’F1+6’’F1+8’’F2)=59’51’’·(2’’F1·4’’F1·8’’F2)原理图如下:四、扩展模块1.星期模块星期计时关键是实现一个模七的计时循环,这里利用同步十进制计数器74160来实现。星期的跳变需要秒分计到59并且时计到23,即时的进位输出。原理图如下:142.闹钟模块闹钟模块的设计主要需要解决三个问题,分别是闹钟校分校时的控制,显示模块的复用和闹铃在规定的时间响起。a)闹钟校分校时的控制以2HZ频率来校分和校时,原理图如下:15用开关K7控制界面,K3和K4控制校分和校时,原理图如下:b)显示模块复用用K7控制选择器的输出,当K7=0时,输出的是计时器的值,K7=0时切换至闹钟校分校时界面,原理图如下:1632选16内部电路:显示模块的复用是通过设计一个32选16的选择器实现的。由于K7是闹钟模式控制开关,当K7为0时选择正常计数输出给显示模块,当K7为1时,选择闹钟校时的输出给显示模块显示。这样做的好处是不需要新增显示模块,节约工作量。c)闹钟定时响起计时输出与闹钟校分校时结果比较:17比较模块内部电路:闹钟定时响起的条件是计数时间与设定时间一致,这就需要一个比较器来实现,比较器的输出接蜂鸣器,当输入数据相等时比较结果为高电平,从而驱动蜂鸣器。183.秒表模块秒表模块的设计跟计时器是一样的,需要解决的问题是显示复用的问题。秒表需要设计一个模100的计时模块(分秒),然后是秒位、分位。之前闹钟用的是32选16选择器,以此来切换正常计时和设定闹铃时间两个界面,它的16位输出加上秒的8位一共是24位;同样,秒表的输出也是24位,与前面的24位合起来做48选24选择器的输入,用开关K8控制是否为秒表输出界面。秒表电路如下:将50HZ二分频得到占空比为50%的100HZ频率分秒模块为如下:19通过设计一个48选24的模块来实现显示复用,内部具体电路为:五、调试、编程下载选择“Processing-startcomplication”进行全编译,编译通过后要进行管脚分配,选择“AssignmentsPins”,在打开的对话框中的“Location”栏中选择相应的管脚填入,并将未用到的管脚置为三态,最后将程序下载到SmartSOPC实验系统中运行,检验结果是否正确。六、试验中出现的问题及解决办法本次实验中出现遇到了很多问题,主要原因有的是本身思考问题不全面,导致调试时漏洞百出,还有就是设计方法的问题以及作图时不够细致。以下是设计中出现的一些问题及解决方法:a)分频模块在设计分频模块的时候,由于没有考虑整体功能实现需要多个不同频率的输出,而只把1HZ作为我们的目标,导致后来用到时又返回去增加输出,导致模块的变动,也给整个工程带来了麻烦。20b)译码显示问题在检验计时输出时,发现分的个位显示乱码,经老师指导后才知道原来是输出的四位二进制位的顺序倒了,该软件中数组表示时一般高位在前,即应该是mg[3..0]的形式。c)校分校时问题在一开始调试校分电路时,发现分和时并不在59后归零,而是一直不停的计数下去。经讨论,是因为原先分清零的要求是分和秒的计数值都为59,而在校分的时候,不需要秒位也是59,因此对分的清零信号进行修改,要加入K3的作用,同理,时的清零信号要加入K4的作用。d)显示复用问题本次实验的一个难点就是译码管的复用问题,要在正常计时、闹钟校时及秒计时三种状态下进行切换,经同学指点发现可以用

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功