EDA2多功能数字钟实验报告.docx
《EDA2多功能数字钟实验报告.docx》由会员分享,可在线阅读,更多相关《EDA2多功能数字钟实验报告.docx(17页珍藏版)》请在冰点文库上搜索。
EDA2多功能数字钟实验报告
EDA设计(Ⅱ)
—多功能数字钟
2014年11月
摘要:
本实验主要是所学的数字逻辑电路的知识的综合运用,借助QUARTUSⅡ软件和SmartSOPC实验箱对设计的数字钟系统进行仿真和调试。
该数字钟系统不仅按照指导老师的要求设计了24小时每小时44分46秒基本计时功能、校分校时、整点报时和保持清零等基本功能,而且添加了星期显示功能。
本系统按照模块设计思想和自顶向下的设计理念,对每一个功能独立设计电路并封装,设计方法主要运用了原理图设计方法,最终得到性能完善的电路模块。
关键字:
数字钟QUARTUSⅡSmartSOPC实验箱仿真
Abstract:
ThisexperimentisacomprehensiveapplicationoftheDigitalLogicCircuit.WiththehelpofQUARTUSⅡsoftwareandSmartSOPCexperimentbox,thedigitalclocksystemcanbedesignedsuccessfully.Thissystemisequippedwiththeextendedfunctionsofweekdisplayingexceptforthebasicfunctions,namely,24-hourcountingwith44minutes46secondsperhour,hourcheck,minutecheck,timetellingandtimekeepingorclearing.Inaccordancewiththeideaofmodularizationandtop-downdesignconcept,thesystemconsistsofvariousmoduleswithperfectperformance.
Keywords:
DigitalClockQuartusIISmartSOPCSimulation
目录
摘要..............................................................1
目录..............................................................2
1、正文.........................................................3
1.1设计要求说明.............................................3
1.2系统工作原理.............................................4
1.3子模块设计原理...........................................4
1.3.1脉冲信号发生电路....................................4
1.3.2计时电路............................................7
1.3.3快速校分校时电路....................................10
1.3.4星期显示与调整电路..................................10
1.3.5数码管显示电路......................................11
1.3.6整点报时电路........................................12
1.3.7开关消颤电路........................................13
1.3.8总电路..............................................13
1.4调试与仿真...............................................14
1.5编程下载.................................................14
2、结论.........................................................15
2.1实验结果..................................................15
2.2实验问题..................................................15
2.3实验总结..................................................16
3、参考文献.....................................................17
1、正文
1.1设计要求说明
1)设计一个脉冲发生电路,为计时器提供秒脉冲、为报时电路提供驱动蜂鸣器的脉冲信号(f1=1Hz,f2=500Hz,f3=1000Hz)。
2)设计一个计时电路,完成24小时的计时功能,并且每小时按44分46秒计时。
3)设计报时电路,使数字计时器从每小时的44分40秒开始报时,每隔2秒发一声,共发三声低音,一声高音;即44分40秒、44分42秒、44分44秒发低音(频率1kHz),44分46秒发高音(频率2kHz)。
4)设计校分电路,在任何时候,拨动校分开关,可以1HZ进行校分。
5)设计清零电路,具有开机自动清零功能,并且在任何时候,按动清零开关,可以进行计时器清零。
6)系统级联调试,将以上电路进行级联完成计时器的所有功能,并通过动态数码管显示。
7)可增加数字计时器附加功能,例如数字计时器定时功能、电路起停功能、电路采用动态显示等。
1.2系统工作原理
主电路是由脉冲信号发生电路利用分频器产生1Hz的时钟信号,该时钟信号驱动计时电路计时,计时电路就是有多片模24或模60计数器级联组成,校分和校时信号和使能信号、清零信号通过组合逻辑电路(门电路)和输入到计数器的使能端和置数端,即能实现异步清零和异步快速校分功能。
系统总的逻辑框图如下
显示电路由74138译码器、多线数据选择器、7447显示译码器和扫描电路组成,由于只用一块显示译码器,故需要扫描电路实现分时复用该芯片,扫描电路为模8计数器,即在一个时刻,只有一位数(4bits)能被数据选择器选中并送至显示译码器,8片数码管中也只有一块被使能显示该位数值。
经过模8计数器一个周期后,所有的数值均在对应的数码管上显示一次,当扫描电路的时钟信号足够快时,人眼由于视觉暂留的效果看到8个数码管同时在亮。
该电路在完美实现显示功能前提下,大大节省了资源,提高了FPGA资源的利用率。
整点报时功能则是组合逻辑电路的应用之一,根据卡诺图方法,得到报时方程,然后用门电路将蜂鸣信号输出到蜂鸣器即能实现整点报时功能。
1.3子模块设计原理
1.3.1脉冲信号发生电路
该实验平台已经提供了48MHz的时钟频率,而计时电路所用的时钟是1Hz的信号,蜂鸣器蜂鸣信号也需要500Hz和1000Hz的信号,故需要用分频电路对48MHz信号进行分频得到所需信号。
为提高电路设计的简便性和准确性,该分频电路主要有二分频、三分频、十分频等电路模块组装而成:
二分频电路就是一个D触发器,具体电路如图1.3-1:
电路原理图:
仿真波形图:
图1.3-1
三分频电路则用到了74163计数器,利用74163的异步清零端,构成一个模为3的计数器,在0011时立即跳转回到0000,将第二位QB作为输出信号即实现三分频功能,其原理图见图1.3-2:
电路原理图:
仿真波形图:
图1.3-2
十分频电路则用到74160设计一个模为5的计数器,在0100是立即跳转到0000,即构成一个五分频电路,同时在其后加上一个由D触发器构成的二分频电路,则得到了一个十分频电路,其原理图如图1.3-3所示:
电路原理图:
仿真波形图:
图1.3-3
各简单分频模块设计成功后,可得到最终的分频电路如图1.3-4:
图1.3-4
经封装后得到如图1.3-5电路
图1.3-5
1.3.2计时电路
计时电路主要分三块:
时、分、秒,分别为模24、模44和模46计数器,每个计数器均由两块74160BCD码计数器组成,分别对应两位数字的十位和个位。
计数器分别有时钟输入端CLK、异步清零端CLR、使能端EN和计满进位端Qc。
模24、模44和模46计数器的原理图电路见图1.3-6(a)、(b)、(c):
(a)模24电路原理图及仿真波形图
(b)模44电路原理图及仿真波形图
(c)模46电路原理图及仿真波形图
图1.3-6
经封装以后得到图1.3-7(a)、(b)、(c):
(a)(b)(c)
图1.3-7
1.3.3开关消颤电路
根据数字电路中锁存电路的知识,D触发器的应用之一便是开关除抖动电路,一个开关需要一个D触发器实现消颤功能,电路如图1.3-8
图1.3-8
1.3.4快速校分校时电路
快速校分(时)电路主要涉及到两个问题:
一是校分(时)开关打开后分(时)电路使能计数,其他模块暂停计数;二是,校分(时)开关打开后,分(时)电路时钟信号为1Hz。
问题一通过基本的门电路就能实现,MINCHECK、HOURCHECK、WEEKCHECK取反分别为校分、校时、校星期开关信号,当总使能信号为高,校分、校时、校星期开关为低时,秒钟正常计时;当拨动任意check开关时,对应模块开始校正,其他模块暂停计数。
实现电路见图1.3-9:
图1.3-9
问题二亦通过基本门电路实现。
实现电路见图1.3-10。
图1.3-10
1.3.5星期显示与调整电路
星期计数电路类似于1.3.2二十四小时计时电路,首先设计一个模7计数器,其使能信号来自于时的进位溢出信号,每24个小时,模7计数器计数一次。
原理图及仿真波形图如下1.3-11:
实验电路图:
(a)
仿真波形图:
(b)图1.3-11
1.3.6数码管显示电路
显示电路由74138译码器、多线数据选择器、7447显示译码器和扫描电路组成,由于只用一块显示译码器,故需要扫描电路实现分时复用该芯片,扫描电路为模8计数器,即在一个时刻,只有一位数(4bits)能被数据选择器选中并送至显示译码器,8片数码管中也只有一块被使能显示该位数值。
经过模8计数器一个周期后,所有的数值均在对应的数码管上显示一次,当扫描电路的时钟信号足够快时,人眼由于视觉暂留的效果看到8个数码管同时在亮。
该电路在完美实现显示功能前提下,大大节省了资源。
实现电路见图1.3-12
图1.3-12
1.3.7整点报时电路
根据实验要求,电路每小时进行一次报时,从44分40秒开始报时,每隔一秒发一声,共三声低音、一声高音。
即44分40秒、44分42秒、44分44秒为低音,44分46秒为高音。
实际上,需要在某一时刻报时,就将该时刻输出为“1”的信号作为触发信号,选通报时脉冲信号,进行报时即可。
实验原理图如图1.3-13:
图1.3-13
1.3.8总电路图
将各级电路连接得到总电路图如图1.3-14所示:
图1.3-14总电路图
1.4调试与仿真
调试:
将设计好的电路保存在工程文件夹中(不能有中文路径)。
再将文件置顶,最后进行编译。
在主菜单中选择processing→compilertool→start,则编译开始。
在编译过程中,若有任何信息、错误和警告消息,编译将停止,则需要返回原文件进行修改,修改后存盘,再编译直至文件通过。
仿真:
将要仿真的原理图文件进行置顶编译,然后新建一个“VectorWaveformfile”文件,生成波形文件(.vwf)。
左键双击节点区空白处,在弹出的菜单中选NodeFinder,在弹出的对话框中选择要观测的节点。
选edit→GridSize和edit→EndTime,设置相应选项,并给输入引脚加上适当的信号,然后保存。
接着选择主菜单中的processing项,在弹出的对话框中选择simulatortool选项。
若要进行功能仿真,首先要点击GenerateFunctionalSimulationNetlist选项。
仿真波形在以上部分已经给出。
1.5编程下载
下载前最后一步就是分配管脚,对照SmartSOP实验箱的管脚分配说明书,我们给所需输入输出端分配管脚。
分配结果如图1.5所示:
下载:
1.在主菜单Assignments中选择Device项,在弹出的对话框中选择相应的器件EP1C12Q240C8。
再选中DeviceandPinOptions选项,选择UnusedPins选项,选择asinputtri-stated选项。
2.在主菜单Assignments选“Pins”,打开平面布置图编辑器窗口,将设计的电路图中的各输入输出锁定在相应的管脚上。
3.在主菜单选File\Save保存文件,再次编译项目,生成.sof文件,以用于下载。
4.在主菜单Tools选Programmer,选择program/configure,再选择start,即完成下载到实验台上。
2、结论
2.1实验结果
(1)在一般情况下能准确的按照1Hz的速度从00:
00:
00到23:
44:
46计时,能准确进位和清零,并经过24个小时星期数加1;
(2)拨动清零开关K1,时分秒恢复到0,星期数恢复到0,可重新开始计日;
(3)拨动保持开关K2,当全为1时,时分秒全部暂停计数,显示结果稳定地停在所需的时间点出;
(4)拨动校分开关K3,分显示位以1Hz的速度计数,时、秒暂停计数;
(5)拨动校时开关K4,时显示位以1Hz的速度计数,分、秒暂停计数;
(6)拨动校星期开关K5,星期显示位以1Hz的速度计数;
(7)系统具有整点报时功能,当时钟计到44分40秒时开始报时,在44’40”,44’42”,44’44”时报时频率为500Hz,44’46”时报时频率为1KHz。
因此,电路能够按照预定功能正常工作。
2.2实验问题
1)、刚开始,十分频电路利用了模10计数器以及少量门电路设计出了占空比为50%的分频器,具体电路如下:
但在实际应用中,无法得到想要的频率,受电路其他部分影响较大,并且无法得到准确的1Hz频率。
于是后来换用五分频与二分频级联的形式得到十分频电路。
经实际测试后,这种分频器可作为十分频使用。
具体电路如下:
2)、当计数至44分00秒时,分位直接跳转至00而不需要接收秒位的清零信号再进行清零,导致在44分00秒时直接跳转至00分01秒。
原因是分位置数端没有秒位作用而仅有分位44形成的‘1’信号使之清零,将秒位46形成的清零信号作为输出与分位44形成的清零信号相与非送至分位置数端并且置数0000可修正这一情况。