eda多功能电子钟.docx

上传人:b****2 文档编号:18025659 上传时间:2023-08-07 格式:DOCX 页数:28 大小:524.31KB
下载 相关 举报
eda多功能电子钟.docx_第1页
第1页 / 共28页
eda多功能电子钟.docx_第2页
第2页 / 共28页
eda多功能电子钟.docx_第3页
第3页 / 共28页
eda多功能电子钟.docx_第4页
第4页 / 共28页
eda多功能电子钟.docx_第5页
第5页 / 共28页
eda多功能电子钟.docx_第6页
第6页 / 共28页
eda多功能电子钟.docx_第7页
第7页 / 共28页
eda多功能电子钟.docx_第8页
第8页 / 共28页
eda多功能电子钟.docx_第9页
第9页 / 共28页
eda多功能电子钟.docx_第10页
第10页 / 共28页
eda多功能电子钟.docx_第11页
第11页 / 共28页
eda多功能电子钟.docx_第12页
第12页 / 共28页
eda多功能电子钟.docx_第13页
第13页 / 共28页
eda多功能电子钟.docx_第14页
第14页 / 共28页
eda多功能电子钟.docx_第15页
第15页 / 共28页
eda多功能电子钟.docx_第16页
第16页 / 共28页
eda多功能电子钟.docx_第17页
第17页 / 共28页
eda多功能电子钟.docx_第18页
第18页 / 共28页
eda多功能电子钟.docx_第19页
第19页 / 共28页
eda多功能电子钟.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

eda多功能电子钟.docx

《eda多功能电子钟.docx》由会员分享,可在线阅读,更多相关《eda多功能电子钟.docx(28页珍藏版)》请在冰点文库上搜索。

eda多功能电子钟.docx

eda多功能电子钟

南京理工大学

EDA(Ⅱ)实验报告

 

姓名:

钱振宇

学号:

0904210144

学院(系):

电子工程与光电技术学院

专业:

电子信息工程

题目:

多功能数字钟设计

指导老师:

蒋立平

 

2011年11月

 

目录

引言………………………………………………………………………2

一、摘要与关键词……………………………………………………2

二、设计要求说明……………………………………………………4

三、实验目的…………………………………………………………5

四、方案论证…………………………………………………………5

五、各子模块设计原理………………………………………………6

1、脉冲信号发生电路…………………………………………………6

3、计时电路……………………………………………………………12

4、译码显示电路………………………………………………………16

5、校分(时)电路………………………………………………………19

6、防抖动开关…………………………………………………………21

7、保持电路和清零电路………………………………………………21

8、整点报时电路………………………………………………………22

9、星期计时电路………………………………………………………24

9、整体电路功能综述………………………………………………25

六、调试仿真和编程下载……………………………………………26

七、实验总结……………………………………………………………26

1、实验中遇到的问题及解决方法…………………………………26

2、实验体会…………………………………………………………28

八、致谢…………………………………………………………………31

附录一总电路图…………………………………………………31

附录二管脚分配……………………………………………………32

附录三参考文献……………………………………………………32

引言:

随着数字技术在仪表和通信系统中的广泛应用,数字钟已经应用到生活的方方面面,而数字钟的功能也随着人们要求的提高在不断的增加,正是在数字技术的快速发展下,功能也越来越强大。

数字钟能够比传统的时钟更加精确的进行计时,并且能够实现多种显示,调节方面,能够内嵌许多诸如报时、万年历、彩铃等计时以外的功能。

本设计在介绍数字钟工作原理的基础上,运用EDA技术,来设计实现一个多功能数字钟。

 

1、摘要与关键词

摘要:

数字钟学习的目的是掌握各类计数器及它们相连的设计方法;掌握多个数码管显示的原理与方法;掌握FPGA技术的层次化设计方法;掌握用VHDL语言的设计思想以及整个数字系统的设计。

此数字钟具有“时”,“分”,“秒”计数显示功能,以24小时为计数循环;能实现清零,调节小时,分钟以及整点报时的功能。

本次实验我们着重使用FPGA的方法,在QuartusII平台上设计实现一个具有校时、校分、清零、保持和整点报时功能的数字钟。

可自行增加附加功能

我们知道多功能数字钟是日常生活中必不可少的生活用具。

早在十几年前就已普及到个人,现在可以说是一种极为成熟的技术。

作为多功能数字钟,我们认识到,其应具有24小时计时,调整时间,时间清零,时间保持,整点报时,闹铃,星期等功能。

现在随着科学技术的迅猛发展,我们已不在需要用传统的方法去设计及实现数字钟。

使用可编程逻辑器件,在相应软件平台上进行设计,即可实现多功能。

也即我们所说的FPGA。

关键词:

多功能数字时钟星期显示整点报时闹钟动态显示MultifunctionDigitalclock

Abstract:

Digitalclockpurposeoflearningistomasterthevariouscountersandtheirassociateddesignmethods;controlmultipledigitaldisplayoftheprinciplesandmethods;FPGAtechnologytomasterthehierarchicaldesignmethod;masterofdesignusingVHDLlanguageandtheentiredigitalsystemdesign.Thisdigitalclockhasa"time","sub","seconds"countdisplay,a24-hourcountcycle;toachieveclear,adjustthehours,minutes,andhourlychimefunction.InthisexperimentwefocusonmethodsofusingtheFPGA,QuartusIIplatformdesignedandimplementedinaschool,theschoolminutes,clear,maintainandhourlychimefunctiondigitalclock.Freetoaddadditionalfunctionality

Weknowthatmulti-functiondigitalclockisessentialforlivingdailylifeutensils.Overadecadeagohadspreadtotheindividual,itcanbesaidisaverymaturetechnology.Asamulti-functionaldigitalclock,werecognizethatitshallhave24-hourclock,adjustthetime,timecleared,timekeeping,thewholepointoftime,alarm,weeks,andotherfunctions.

Now,withtherapiddevelopmentofscienceandtechnology,wenolongerneedtousetraditionalmethodstodesignandimplementdigitalclock.Useofprogrammablelogicdevices,inthecorrespondingsoftwareplatformtodesign,toachievemulti-functional.ThatiswhatwecalltheFPGA.

Keywords:

MultifunctionDigitalclockweekdisplayingtimealarmalarmclockdynamicdisplay

二、设计要求说明

(一)设计基本要求

1、能进行正常的时、分、秒计时功能;

2、分别由六个数码管显示时分秒的计时;

3、系统的保持、清零、校时、校分功能;

4、使时钟具有整点报时功能(当时钟计到59’53”时开始报时,在59’53”,59’55”,59’57”时报时频率为500Hz,59’59”时报时频率为1KHz)。

(二)设计提高部分要求

根据自己的设计,自由发挥,例如:

1、闹表设定功能;

2、自己添加其他功能;

(三)对设计电路进行功能仿真

将仿真通过的逻辑电路下载到EDA实验系统,对其功能进行验证。

三、实验目的

1、增强学生的理论知识与工程实践结合的能力,拓宽知识面,系统地进行电子线路的工程实践训练,锻炼动手能力,培养工程师的基本技能,并提高分析问题和解决问题的能力。

2、熟悉集成电路的引脚安排,基本掌握各芯片的逻辑功能及使用方

法。

学会检查电路的故障与排除故障的一般方法。

4、方案论证

数字钟系统可以分为以下几大模块:

时钟信号发生模块,基本计时模块,动态显示模块,控制电路模块,报时电路模块。

图1为基本时钟电路的系统框图。

 

图1基本时钟电路的系统框图

由于实验板上提供的是48MHZ系统时钟信号,所以首先需要将系统时钟进行分频得到1HZ时钟信号进行计时。

设计原理是“计数器即是分频器”。

计时电路采用了74LS160二进制BCD码计数器构成了模24和模60的计数器,进行时分秒的计时。

为了避免产生逻辑冒险,本实验的计数器尽量采用了同步计数器。

译码显示电路采用的是动态显示的方案,动态显示使用数据选择器(MUX)的分时复用功能,将任意多位数码管的显示驱动,由一个七段显示译码器来完成。

由于本实验采用的BCD数码管是共阳电路,所以还需要一个同步时钟控制译码器产生片选信号,从而使六路BCD码信号能够通过一个译码器分别显示在不同的数码管上。

5、各子模块设计原理

1、脉冲信号发生器

实验中使用到了1KHz、500Hz、1Hz的时钟信号,而实验板提供的脉冲信号为48MHz,所以对实验板原始信号进行48分频得到1MHz的信号,对所得的1MHz分别进行1000分频得到1KHz的信号,再分别对1KHz的信号分别进行1000和2分频得到1Hz和500Hz的时钟信号。

此处的分频器输出均采用计数器有效位的最高位输出,因为若采用计数器的满位进位作为输出,则整个分频器的占空比很小,而采用最高位输出使得占空比较均匀。

具体电路如下:

(1)2分频器

可由D触发器直接构成,如图2

图22分频器

封装好生成的模块如图3,以便进行最后的总电路图连接(节省空间)

图32分频器模块

通过编译可以仿真出二分频器的仿真波形如图4:

图4二分频器仿真波形

(2)3分频器

3分频器可由74160与少量门构成,电路如图5

图53分频器

封装后,如图6所示

图63分频器模块

 

(3)48分频器

48分频器可由2分频器与3分频器组合构成。

也可由两片74160组合而成。

电路采用反馈置位法,它是通过控制已有计数器的预置控制端

来获得任意进制计数器的一种方法,其原理是利用给计数器重复置入某个数值(可以是最大值,也可以是最小值)的方法来跳跃

个状态,从而获得

进制计数器。

这里通过预制最小值的方法来实现。

因为74161的模N=10,所以两片74160相连最大可实现模100的计数器,取其前48种状态,预置最小值为

47用二进制表示为01000111。

如图所示,计数器从00000000开始计数,到达第47个脉冲后,电路进入置数状态,图中与非门NAND4输出低电平给

(图示LDN),使计数器处于预置工作状态,待第48个计数脉冲到来后,将输入数据全部置0。

同时我们把置数归零的条件接一个与门作为输出端观察输出波形,便得到如图4的波形。

下一个计数脉冲到来后,计数器又从00000000开始计数,从而实现从0--47的计数功能。

其他任意模计数器设计方法与此类似。

此时,48分频器电路如图7所示

图748分分频器

仿真波形如图8所示

图848分频器仿真波形

(4)1000分频器

1000分频采用三片74160二进制计数器组成模1000计数器的第十位输出,电路如图9。

原理与模48的相同。

 

图91000分频器

封装好的1000分频器模块如图10

图101000分频器模块

通过编译可以仿真出1000分频器的仿真波形图如图11

图111000分频的仿真波形

(5)整体脉冲信号发生器

将上述模块整合,可组成整体的脉冲发生电路,如图12

 

图12信号发生电路

2、计时电路

实验要求设计一个可以完成00:

00:

00到23:

59:

59计时功能的数字钟,可通过两个模60计数器和一个模24计数器三者级联构成。

该电路分为秒个位、秒十位、分个位、分十位、时个位和时十位。

因为计数器最终的输出都要接至译码显示电路,这就要求秒分时的个十位都要显示十进制数,因此选用同步十进制计数器74160实现。

(1)模60计数器

同上面设计48分频器的方法,模60计数器由两片74160级联组成。

因为个位要求是十进制,所以直接将低位的进位端接至高位的使能端ENT。

用8421BCD码表示59,结果为01011001,所以将

作为反馈输入端,经过一个与非门,送到两片74160的置数端LDN,即完成了0到59的模60计数。

同时,将与非门的输出LDN作为进位信号,接到高位,从而实现了低位满60向高位进位的计数方式,电路图如图13:

图13模60计数器

封装好的模60计数器模块,如图14

图14模60模块

通过编译我们可以得到仿真的模60输出波形如图15

图15模60仿真波形

需要注意的,选择两个门电路实现“置数清零”和“分满进位”,可以有效避免“秒跳”现象的发生。

(2)模24计数器

原理同模60计时器,模24计数器电路图如图16

图16模24计数器

同样,封装好的模24计数器如图17所示

图17模24模块

通过编译,我们可以得到仿真的模24的波形图如图18:

图18模24仿真波形

(3)完整计时电路

计时电路由一个模24计数器和两个模60计数器构成,分别代表时、分、秒各位。

基本思想是:

将秒位的置位端LDN作为分位的使能端,将分位的置位端LDN作为时位的使能端,高低位之间采用同步的时钟,时钟频率为1Hz的脉冲信号。

具体电路图如图19

图19计时电路

 

3、译码显示电路

利用4片74151(8选1数据选择器)构成24选4的数据选择器,采用统一的选址信号控制,其四路输出信号Y0、Y1、Y2、Y3即为时分秒各位的8421BCD码。

同时,将这四路信号送给显示译码器7447,就可以实现LED数码管的显示。

而频率较高的选址信号A0、A1、A2则通过译码器74138实现多位数码的动态显示。

译码显示电路原理框图如下图20

图20

(1)24选4数据选择器

24选4数据选择器由四片8选1数据选择器74151构成,每一片74151均代表一位8421BCD码,即四片可以表示需显示的时分秒各位数字。

四片74151的统一地址选择端A0、A1、A2是一个由74160构成的模6计数器的低三位输出,其原理简单,在此不加赘述。

但需要注意的是,模6计数器的时钟信号频率较高,为1KHz,这样才能保证在每次只选择一路信号送到显示译码器译码的情况下,从人的角度观察,时分秒多位数码依然是同时显示的。

74151的输入来自模24、模60计数器的对应输出端,当数据选择器选择了某一路信号后,即将其送到7447译出段码,由于位码选择信号与数据选择信号同步,所以74138也选择相应的位码,从而完成了显示译码的全过程,电路图如下图21

图2124选4数据选择器

(2)模6计数器

模6计数器设计方法同上面的计数器,均使用反馈置数法。

只是在CLK输入端需要输入1KHz的频率信号,这里在前面接了一个1000分频器和48分频器。

电路图如下图22

图22模6计数器

(3)完整译码显示电路

电路图如下图23所示:

图23显示译码电路

如图23中所示,模6计数器输出作为位码和段码选择的共同驱动信号,才能保证24选4数据选择器选出的段码在合适的位置显示。

且实验板上的七段LED数码管是共阳输入,所以位码应该是低电平输入,因此选择了低电平输出的74138作为位码的数据选择器。

综上,将4个74151的输出的相应的BCD码输入到动态显示电路中即可实现时钟信号的输出,达到测量显示的目的。

 

4、校分(时)电路

当校分(时)开关打到“正常”状态(低电平)时,计数器正常计数;当开关打到“校分(时)”状态(高电平)时,秒(分)个位和十位正常计数,而将1Hz的秒脉冲信号送给分(时)位,实现快速校分(时)。

校分校时电路图如下图24:

图24校分(时)电路

封装好的较分校时模块如图25,

图25校分(时)电路

校分(时)电路在实际数字钟实现功能中的应用如图26

图26整体校分时电路

如图所示,图中i3和i4分别接到分计数器的使能端和时计数器的使能端,而1q和2q分别为秒计数器的进位和分计数器的进位。

5、防抖动开关

由于EDA实验系统提供的开关是机械开关,机械开关在接通和断开过程中,通常会产生一串电脉冲,会使逻辑电路发生误动作,因此需设计一个防抖动电路。

根据校分开关的不同状态决定送入使能端的信号来源,以完成正常计数或校分功能,因此采用一个D触发器作为防抖开关,其电路实现如下图27:

图27防抖动开关

 

6、保持电路和清零电路

(1)保持电路

保持电路负责实现数字钟计时保持功能:

K=0时电路正常工作,K=1时电路计数保持不变。

利用74160本身自带的使能端即可实现。

ENP=1时电路正常工作,ENP=0时电路保持不变。

所以将使能开关加入非门后接入每个计数器的ENP端即可,如下图28所示:

图28保持电路

(2)清零电路

清零电路有两层含义,一是开机清零,即开机时从零开始计数;二是将清零开关打至清零状态,电路中所有计数器均清零。

因为十进制计数器74160本身带有清零开关,因此可用一个开关直接控制各个计数器的清零端即可。

实验要求K=0时正常工作,K=1时时分秒各位清零。

因此需将开关接非门之后再接到计数器清零端,电路图如下图29所示:

图29清零电路

7、整点报时电路

整点报时功能要求电路在在59’53”,59’55”,59’57”时报时频率为500Hz,59’59”时报时频率为1KHz。

(1)500Hz信号发生器

在显示模块中,已经产生了1KHz的信号,将实验板上提供的48MHz信号经过48分频后,在经过1000分频即可得到频率为1KHz的信号。

要得到频率为512Hz的信号,只要将1KHz经过2分频即可。

产生2分频电路有两种方法:

一是通过一个D触发器,将1KHz信号作为CP脉冲输入,输出可得500Hz信号;二是利用模2计数器作为分频器使用。

模2计数器仍然采用置数法设计,当输出为0001时,LDN值为0,开始置数,所以计数器只能输出0000、0001两个数。

图23中,从512输出即可得2分频信号。

(2)报时电路

闹钟BCD码表示如下表1

时刻

分十位

分个位

秒十位

秒个位

音调

59:

53

0101

1001

0101

0011

512Hz

59:

55

0101

1001

0101

0101

512Hz

59:

57

0101

1001

0101

0111

512Hz

59:

59

0101

1001

0101

1001

1KHz

表1

报时电路的电路图如下图30所示

图30整点报时电路

8、星期计时功能

同前原理,可做一个模七计数器,如图31

图31模7计数器

 

整体星期电路可以表示成图32

图32星期电路

9、整体电路功能综述

K1是系统的使能开关(K1=0正常工作,K1=1时钟

保持不变);

K2是系统的清零开关(K2=0正常工作,K2=1时钟

的分、秒全清零);

K3是系统的校分开关(K3=0正常工作,K3=1时可

以快速校分)

K4是系统的校时开关(K4=0正常工作,K4=1时可

以快速校时);

整点报时功能要求电路在在59’53”,59’55”,59’57”时报时频率为500Hz,59’59”时报时频率为1KHz。

星期的计数,通过设计模7计数器来实现“1”到“7”的循环记数

六、调试仿真和编程下载

调试与仿真结果在上文已给出,波形仿真正确无误后,就可以下载到芯片上,进行硬件实施。

首先打开实验箱电源开关。

在下载之前,必须先对每个管脚进行分配。

选择“Assignments﹣Pins”,打开“PinPlanner”对话框。

放大ALTERA芯片模型,可将“NodeName”中各个管脚号拖至芯片对应管脚,使其重合出现深色标志。

每个管脚都配置完成后,点击Save保存配置并关闭窗口。

选择“Assignments-Device”,打开“DeviceandpinOptions”对话框,选择“UnusedPins”标签,将没有用到的管脚设置为高阻态。

再次确认实验所用芯片是否为EP1C12Q240C8,此时即可点击主编辑页面的下载按钮,当出现下载界面后,选中“HardwareSetep”,在下拉菜单中选择ByteBlaster[LPT1],再次回到下载界面,点击“Start”按钮,开始从实验箱下载。

本实验用的是QuartusII软件和SmartSOPC实验箱,选用Altera公司的Cyclone系列FPGA芯片,并配置相应的管脚。

下载线与PC机相连,各模块下载后,可以通过实验板上的数码管看到数字钟的运行情况,通过改变相应开关的状态,可以让数字钟实现本实验所设计的功能。

经检验,满足设计要求。

七、实验总结

1、实验中遇到的问题及解决方法

在这次的数字钟设计过程中碰到的问题还是很多的,但是最终在老师、同学及自己的思考下最终都顺利解决了。

最终在完成基本功能的基础上,我增加了整点报时、星期、两个附加功能。

计数电路:

在二十四小时计时电路的设计过程中遇到了很大的麻烦,在上面我浪费了大半天。

(1)在正常计时电路中,利用置数端还是清零端。

我首先考虑到的是用异步清零。

在功能仿真时,不会出现错误,但是实际情况下,由于电路有一段微小的延时,导致输出波形中有毛刺存在。

同时考虑到清零电路时,使得清零端电路变得复杂。

于是我改为用置数端在一个周期结束时同步置数,同时空出清零端作为清零开关,使得电路简单清晰。

(2)六个计数器的连接

问题主要在把秒、分、时三个电路分成三个模块做还是只做在一个模块里。

一开始,我是依次进行封装然后级联的,发现在后续增加保持、清零等一些功能时,总是要将之前所做的模块修改,导致实施起来很麻烦。

而且在计数时,只能从0到22小时循环,而没有23小时,但是依据模24计数器的波形仿真,计数器并不存在问题。

于是我重新对波形进行了观察,发现在22到0之间的确有一个非常短暂的23过渡段,同时分位的59也有相同的问题。

问题应该出在置数及进位端。

为了便于后面电路的实施,同时修正计数的错误,我把六个计数器放在同一个图中进行连接。

并重新考虑分钟和小时的置数端,将所有低位的进位信号都考虑在高位的指数信号中,最终完成了整个24小时的计数。

(3)保持开关的位置

加入了保持开关后,我发现拨动开关的瞬间,数码管上的显示时间有时会突变抖动。

这应该是信号不稳定的关系造成的,因为在设计的电路中,我把保持开关和48MHz信号相与作为分频器的输入。

经过思考,我将开关直接接入秒个位计数器的使能端,使其直接控制计时电路,从而消除了瞬间抖动的现象。

(4)星期

在起初的设计中,我用一片74160完成1~7的模7计数,即计数器从计时开始,计到7时,下一个使能信号来临置1。

这样,开机时,计数器从0开始计数,星期的数码管显示为0,当计数器完成一个计数周期后,第二个计数周期才从1开始计数。

并且清零开关作用后,也从0开始计时。

这与一般的逻辑思维相矛盾。

因此我在计数器的输出端增加

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2