EDA2实验报告多功能数字钟设计.docx
- 文档编号:10460450
- 上传时间:2023-02-13
- 格式:DOCX
- 页数:24
- 大小:2.69MB
EDA2实验报告多功能数字钟设计.docx
《EDA2实验报告多功能数字钟设计.docx》由会员分享,可在线阅读,更多相关《EDA2实验报告多功能数字钟设计.docx(24页珍藏版)》请在冰豆网上搜索。
EDA2实验报告多功能数字钟设计
多功能数字钟设计
--------------实验报告
姓名:
学号:
班级:
指导老师:
摘要
利用QuartusII软件设计一个24小时的多功能数字钟,从0时0分0秒开始计时,计到23时59分59秒后自动清零。
具有保持、计时、清零、校分、校时、整点报时的基本功能和闹钟、秒表的附加功能。
显示电路使用的是动态显示方式,即只使用一片译码器外加较高频率的时钟控制电路来实现数码管的“同时”显示功能。
Abstract
Designamulti-purposedigitalclockusingsoftware,whichcandisplaythetimeof24hours.Itstartsfrom0o'clock0minute0seconds,countsafter23o'clock59minute59secondsautomaticclearzero.Theclockhasthebasicfunctionsoftime-holding,clearing,minute-correcting,hour-correcting,beepinginthesharphourandthestopwatch.Weusedynamicdisplaycircuittodisplay,namelyrealizingdisplayinginthesametimeusingoneencoderandahighfrequency.
关键字:
数字钟,QuartusII,动态显示、闹钟、秒表
Keywords:
multi-purposedigitalclock,QuartusII,dynamicvision,alarmclock,stopwatch
目录
一.设计要求说明‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥3
二.方案论证‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥3
三.子模块设计原理‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥4
3.1脉冲信号‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥4
3.2计时电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥8
3.3报时电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥11
3.4校时校分电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥12
3.5清零电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥13
3.6保持电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥13
3.7显示电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥13
四.附加电路设计‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥15
4.1闹钟电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥15
4.2闹钟电路改进‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥18
4.3秒表电路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥19
4.4秒表电路改进‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥19
五.调试‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥21
六.仿真‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥21
七.下载‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥22
八.实验结论及感想‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥23
九.参考文献‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥25
一.设计要求说明
基本功能:
(1).设计计时电路,完成时、分、秒的计时功能,设计一个数字计时器,可以完成00:
00:
00到23:
59:
59的计时功能并采用动态显示原理在数码管上显示;
(2).具有清零和校时、校分、保持功能;
(3).具有整点报时功能:
(59分53秒、59分55秒、59分57秒发低音,59分59秒发高音)
附加功能:
(1).设计闹钟功能;
(2).设计秒表的功能。
二.方案论证
多功能数字钟主要由下图所示的几部分组成,其中设计的主体是计时电路和显示电路,其他电路的设计是通过在计时电路的外围加适量的开关控制电路及少许的中小规模集成芯片组成。
具体的原理框架如下图:
计时电路是将模24和模60计数器进行连接,在脉冲信号作用下不断计数;显示电路使用的是动态显示的方式,只使用一片数码管译码器外加一些较高频率的时钟控制电路来实现数码管的“同时”显示功能;清零开关作用在计数器的清零端,使数码管显示为零;校时校分开关使时、分计数器不受秒计数器的进位信号控制,而选通另一个脉冲信号进行控制;整点报时电路利用一些简单门电路实现两种不同频率的报时;通过控制2选1选择器来实现电路的闹钟时间设定或正常时间计数的显示功能;采用74160作为分频器,产生不同的频率,按照一定的顺序排列,形成彩铃;星期电路是由一个双置数的计数器完成,以实现1、2、3、4、5、6的循环显示。
三.子模块设计原理
3.1脉冲信号的产生
本次实验使用的实验装置可提供48MHz的脉冲信号,故在进行数字钟设计之前应对脉冲信号应对该脉冲信号进行合理的分频,以得到秒脉冲信号及报时等功能所要用到的各种频率的信号。
具体的实施过程为将48MHz的信号进行二分频再进行八分频(即十六分频)得到3MHz的信号,对3MHz进行三分频得到1MHz的脉冲信号,对1MHz的信号进行六次十分频得到1Hz的信号,对中间过程产生的脉冲信号进行适当的分频得到后续电路所需要的各种信号。
由于之前没有开始设计附加功能,开始分频的信号不足以满足最终的电路,所以随着实验的进行,分频电路也有一定的改进,不过总体的思路还是不变的。
具体的实施过程如下所示:
3.1.1二分频电路
图(3-1)
使用D触发器实现,将D触发器的
端与D端接在一起就可以从Q端得到触发器触发信号的2分频信号。
3.1.2十六分频电路
图(3-2)
十六分频电路采用,四个二分频电路串联,用这种方法在对应的一个二分频电路后面输出的话,可以得到相应的四分频、八分频的信号。
3.1.3三分频电路
图(3-3)
3分频电路是通过74160用清零法实现。
将QA和QB其输出端QDQCQBQA按如下循环计数方式循环时,可以对其输入的脉冲进行3分频,输出信号由QB直接引出。
其中两个与非门组成的锁存器,达到消毛刺的作用,防止其来不及清零。
图(3-4)
3.1.4十分频电路
图(3-5)
十分频电路使用74161使用置数法实现,为实现输出脉冲的占空比为1的电路,在此截取0011~1100循环,QD的输出即为十分频电路。
由卡诺图
00
01
11
10
00
X
X
1
X
01
1
1
1
1
11
0
X
X
X
10
1
1
1
1
表(3-1)
化简可求得
,有效循环状态图为:
图(3-6)
如此QD的输出即为占空比为1的十分频信号。
综上,将所有的分的分频电路进行封装,可以得到总的分频电路,电路图为:
图(3-7)
将脉冲模块进行封装为:
其中60Hz是为了完成秒表功能,在十六分频电路先8分频,然后再十分频得到的。
图(3-8)
3.2计时电路
由于要显示二十四小时制的时钟信号,即每次有六位的数字显示,所以需要1个模24计数器显示小时和2个模60计数器显示分、秒。
由于秒和分都为60进制,需要模60计数器来显示,模60计数器由2片74160芯片实现。
下面以秒位为例进行说明:
秒个位和秒十位采用同步方式进行计时,将秒个位的进位信号输入到秒十位的使能端(en端)。
当秒个位计数到9时,在下一个脉冲信号作用下,进位信号为1,使得秒十位的74160进行计数加1。
接着进位信号恢复为零,使得秒十位的74160保持原数。
当计数器计到59时,采用同步置零的方法实现置零,将秒个位的进位信号和秒十位的Qa、Qc端通过一个与非门输入到秒十位的置位端。
下个脉冲到来时,秒十位的置位端选通,同步置零。
对于秒个位的74160来说并不需要同步置零,只要一直保持计数功能就可以了,为了统一起见,设计与秒十位一致。
模60计数器原理图如下图所示:
图(3-9)
由于小时为24进制,需要模24计数器来显示,模24计数器也由2片74160芯片实现。
时个位和时十位采用同步方式进行计时,将时个位的进位信号输入到时十位的使能端(en端)。
当时个位计数到9时,在下一个脉冲信号作用下,进位信号为1,使得时十位的74160进行计数加1。
接着进位信号恢复为零,使得时十位的74160保持原数。
当计数器计到23时,采用同步置零的方法实现置零,这时将时个位的Qa、Qb端和时十位的Qb端通过一个三入与非门输入到时个位和时十位的置位端。
时个位和时十位的A、B、C、D端均接零。
下个脉冲到来时,置位端选通,同步置零。
以下为模24计数器的原理图:
图(3-10)
将模24计数器和模60计数器进行封装,得到:
图(3-11)
模24计数器和模60计数器设计完毕后需要将它们进行级联。
采用同步方式级联,但模24计数器和模60计数器的CLK都接1Hz脉冲,采用并联的形式,将秒计数器的清零信号家一个非门接入分计数器的使能端ENP,即秒位从59变为00时,分位计时加1。
同理,将秒计数器的清零信号家一个非门接入分计数器的使能端ENP1,即分位从59变为00时,时位计时加1。
级联结果如下图所示:
图(3-12)
由图可以看到,其中多出来一个修正信号,由于实际运行时59分59秒的时间很短,导致看不到即58秒时候就进位,修正信号的原理是将进位信号与下一个模块的清零条件与非,使得必须都达到进位时才能进位,从而达到59秒的延长,使其能够观察到,同理23时。
3.3报时电路
需要在某一时刻报时,就将该时刻输出为“1”的信号作为触发信号,选通报时脉冲信号,进行报时。
计时器59分53秒、59分55秒、59分57秒发低音,59分59秒发高音。
由于报时分位均为59,分的十位和个位的输出为01011001,秒的时位均为5,秒十位的QDQCQBQA为0101。
所以将以上为一的信号接入一个六入与门得到信号a1。
当它们全为1时,六入与门的输出才为1,其它时输出均为0。
发低音时,秒个位为3、5、7,二进制码分别为0011、0101、0111,由此可见,三个数字的二进制码的最低位均为1,第二位和第三位至少有一个1。
可以得到公式
。
其再和500Hz、59分时的与门相与。
发高音时,秒个位为9,二进制码为1001,同理可以得到公式
。
其再和1kHz、59分时的与门相与。
发低音和发高音时蜂鸣器均响,所以将A1和A2接入一个或门,或门的输出端与蜂鸣器相连。
报时电路的原理图为:
图(3-13)
3.4校时校分电路
设置两个开关jiaoshii(校时)和jiaofen(校分),当两个开关打到“0”档时,计数器正常计数;当校时开关打到“1”档时,时计数器可以进行快速校时,即时计数器可以直接选通脉冲信号进行校时;校分开关同理。
可将校对信号与进位信号相或接入下一级电路的使能端。
若校对开关选通,不管前一级电路是否有进位信号,下一级计数器均以1Hz的频率进行校对。
校对电路的原理图如下所示:
图(3-14)
上图的输出信号再与时钟的进位信号相或,即为如图(3-12)中或门。
3.5清零电路
清零电路的思路有两种,一置零法,二清零法。
置零法,即把清零信号与时钟的置零信号相与达到置零的目的,如图(3-9)。
此法在时钟电路中用到。
有缺点为,必须下个脉冲来到时才会清零。
清零法,即给清零CLRN一个低电平,直接清零。
次方法在秒表清零电路中用到。
3.6保持电路
通常保持电路是将保持信号接入秒个位74160的ENP端。
当保持开关拨到1时,电路正常计时;拨到0时,电路保持现有时刻不发生变化。
而为了简单起见且电路统一,由校时较分电路的启发,其校时较分端接一个高频,即能达到保持的效果。
3.7显示电路:
显示电路主要由数据24选4选择器、译码器74138、模6计数器、显示译码器7447和数码显示管组成。
显示电路示意图如下:
图(3-15)
因为实验要求使用一个显示译码器7447实现动态显示,所以应用动态扫描显示法进行数据显示,即每次只显示一位,按照一定的显示时间间隔轮流显示。
每个显示位均为四位二进制数,所以需要4片数选器,要显示的位有时分秒6位(HH,HL,MH,ML,SH,SL),所以共6位。
数选器的选择信号有三位,所以要用一个模6循环计数器作为数选器的地址选择端,供轮流选择带显示的数据,此外,还要用一个74138译码器来选择数码管(DIG位)来显示对应的数据。
模6计数器实现原理图为:
图(3-16)
动态显示电路原理图为:
图(3-17)
四.附加电路设计
4.1闹钟电路
闹钟功能的实现首先得设计闹钟的时间存储功能,即闹钟时间的设计。
由于时间的设定对秒没有严格的要求,只要分钟和小时的设定,可以通过设计一个独立于原来时间计时的计数器,通过控制分钟,小时计数器的使能端,来实现闹钟时间的快速设定。
设计闹钟的校时、校分开关,其实现与计时器的校时、校分开关实现原理基本相同。
设计一个开关可以实现正常计时和设定闹钟之间进行转换。
开关控制显示正常计时还是闹钟,输出信号接入到动态显示电路的输入端。
接着通过闹钟的校时、校分开关设定闹钟时间。
时间设定后,接着实现闹铃的功能,即在设定时间到来时,蜂鸣器发出声音报时。
通过4个数值比较器7485来比较计时器和设定的闹钟时间,时间相同时4个7485的输出端均输出1,通过一与门使蜂鸣器发出声音。
4个输出端中如果有一个不为1,与门输出为0,蜂鸣器不发声。
时钟电路即为原来计时器的电路,只不过没有原来的时钟脉冲,且较分校时一样,而秒位没有用到。
比较电路采用四个7485比较器串联,原理图为:
图(4-1)
次处我采用ALBI与ALGI接地,与ALBI与上一级ALBO相连是一样的。
封装后电路图:
图(4-2)
闹钟电路的原理图为:
图(4-3)
如上图,有两个数据选择器,一个为24选4是为了实现闹铃的动态显示,一个为8选4数据选择器,另一个输入端与原时钟的输出端相连,来实现双显。
即当控制开关为低电平时显示时钟,当控制开关为高电平时显示闹铃时间设定。
之后秒表的三显也用同样的原理。
封装后为:
图(4-4)
蜂鸣输出端与原时钟电路蜂鸣输出端或,且加一个控制电路控制闹铃的是否允许响。
4.2闹铃电路改进
由于实验箱的限制实验给的开关键只有8个,所以考虑把闹铃校时校分和时钟校时校分开关合并。
实现原理,当显示时钟时校时校分开关控制时钟的校时较分,当显示闹铃时校时校分开关控制闹铃的校时较分。
即双开关来控制校时较分开关。
实验设计原理图如下:
图(4-5)
具体外电路的连接方法参见总电路图。
设计完成后闹铃电路有:
闹铃的校时校分,闹铃的清零,闹铃的响停控制。
4.3秒表电路设计
秒表电路的设计,需要原时钟分位为秒位,时位为分为,且要有秒表的保持,清零等功能。
且要设计三显来实现时钟、闹铃、秒表显示的切换。
秒表的主电路与时钟的计时电路一样,但是不需要校时校分控制开关,故校分校时控制电路可以在原有的电路的基础上省略,即使校时校分输入端接地,保留原计时电路的清零与保持。
而时钟输入信号为60Hz。
设计原理图如下:
图(4-6)
其中数据选择器的作用与闹铃的数据选择器功能一样。
封装后的图如下:
图(4-7)
4.4秒表电路改进
与闹铃电路一样,由于开关限制考虑把,秒表的清零与保持控制键和时钟的清零与保持键合并。
设计原理图如下:
图(4-8)
外电路连接方法参考实验中的连接图。
在秒表电路设计时起先清零电路与原计时电路清零电路选取方法一样,但是那是最后一位清不了零,分析后由于置零有局限性,即需要时间脉冲,会有延迟,而60Hz频率比较高,会出现清理不干净的问题。
所以这里我采用了上面提到的异步清零。
就是给CLRN低电平信号。
4.5总电路的三显
由于我采用的封装形式,来实现总电路故,即闹铃电路和秒表电路分别采用了双显电路,所以最终实现三显也变的比较简单,即再采用一8选4的数据选择器来实现三显。
电路图如下:
图(4-9)
五.调试
调试时需要启动编译程序来编译项目,QuartusII编译器将检查项目中的错误,并进行逻辑综合。
点击Processing菜单下的
,无错误。
六.仿真
1.建立仿真文件
要进行仿真,则首先要输入波形文件,选择“File----New”,打开“otherfiles”标签项,选中“VectorWaveFile”,点击“OK”按钮。
图(6-1)
2.添加结点
在右边“Name”下的空白框里,双击鼠标左键,出现对话框,点击“NodeFinder”按钮。
在新出现的对话框中,在“Filter”中选择“Pins:
all”点击“list”按钮,则“NodesFound”对话框中列出本工程的所有输入输出节点,选择需仿真的结点点击“OK”即完成结点添加。
3.对输入信号进行调整,保存这个波形文件。
4.选择“Tool—simulatorTool”打开仿真工具对话框,在“Simulatorinput”后面的文本框中指定保存的波形文件路径,并进行其他设置,点击“Start”按钮,开始仿真。
仿真完成后点击“Open”按钮,即可看到仿真后的波形。
各阶段的仿真波形如下所示:
模60计数器仿真波形图
图(6-2)
模24计数器仿真波形图
图(6-3)
七.下载
将编译好的程序下载到FPGA芯片之前,首先要进行管脚的分配。
选择“Assignments---Pins”,打开管脚分配对话框。
在Location下输入管脚编号
管脚的分配结果如下所示:
图(7-1)
选择“Assignment—Setting”,点击
中选择UnusedPins标签页,进行没有使用管脚的设置,将未使用的管脚设为高阻状态。
否则,上电后容易损坏芯片。
然后选择Processing菜单下的
,进行全程编译。
接通实验箱电源,点击工具栏中的
按钮,在“Program/configure”列下的复选框中大勾后,点击“Start”按钮即可往芯片中下载程序。
下载程序后,可操作实验箱的各开关,即可实现设计的各种功能。
八.实验结论及感想
本实验的电路比较复杂,所以需要将整个系统设计分为几个简单的模块,对每个模块进行仿真,结果正确后进行封装,最后再进行电路的级联,下载到试验台上,观察结果。
在本次试验过程中走了不少弯路,也学到不少知识。
以下简单介绍一下设计过程中的体会和感受。
在设计计数器时,有两种计数方式,分别为同步计数和异步计数,每种计数方式都有各自的特点。
经过仿真和观察,进行比较,最终模24计数器和模60计数器使用同步计数方式进行设计,设计完毕后需要将它们进行级联,级联同样采用同步方式。
在QuartusII中,器件之间的连线可以由在端口处标字母的方式实现。
即采用数组的方式将需要连线的两个端口上标上同样的名字,就相当于连上了线。
这种方法可以使原理图看起来更加简洁,避免了连线的复杂性。
在标字母的时候,一定要认真仔细,不能标错。
如果标错了,这种错误不好查,得不到正确地结果,查出错误会浪费不少时间。
动态显示比静态显示节约译码器,在数码管较多的时候大大降低了译码器的数量,可以降低制作成本。
显示时钟信号的频率比计数时钟信号的频率高得多,由于实际情况中的信号延迟,清屏显示的时钟频率非常高,人眼的分辨频率低,感觉就是数码管是“同时”工作,并不会对显示效果造成太大的影响。
本试验中8个数码管仅使用了1个译码器,大大的节省了译码器的数量,在实际生产制作过程中就可以节省资金。
其实实验也考验我们的细心程度和分析解决问题的能力。
实验中也遇到很多问题不过经过自己的思考和细心的检查,都能过被自己很好的解决。
这次实验对我是一次很好的提高能力的机会,学到了好多东西。
多功能数字钟实验是一个综合性很强的实验,要求我们有较强的理论基础,才能清楚各部分的原理进而设计出相关电路,同时也要求我们熟练掌握QuartusII软件。
经过这次实验,我对QuartusII软件也有了较深的认识,使用它的能力也有了较大的提高。
EDA软件的设计解放了人们的思想。
以前的电子设计,都是通过硬件实施来实现的,不仅成本高,而且费时费力,设计的风险也比较高。
通过软件控制硬件思想,很好的解决了这些问题,可以通过软件的仿真实验先解决一些基本的常见的故障,然后再下载到硬件上,这样就避免了不必要的人力和财力的浪费。
在这次实验中真正学会了电子系统设计方面的一些知识。
实验开始设计基本功能电路时进展得很顺利。
这次实验中积累了如下经验:
1、系统设计进之前要行充分的方案论证,且最好同过理论先验证后再进行电路的连接和仿真;
2、实验中对每一个细节部分都要全面思考,要对特殊情况进行处理;
3、对于数字系统,要考虑同步、异步问题,即同步于时钟信号有关,异步与时钟信号无关;
4、数字电路的理论分析要结合时序图,必要的时候通过卡诺图来分析;
5、遇到问题,分析清楚,不可胡乱改动,每做一次改变都要有充分的理由;
6、模块化设计方法的优点,在于是设计电路原理图简明了,且可以分块来对电路来进行分析查错。
7、不能仅仅满足能够实现设计所要求的功能,必要的时候要进行电路的改进,来使自己的电路能够更完美。
八.参考文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA2 实验 报告 多功能 数字 设计