多功能数字钟设计EDA实验报告.docx

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

多功能数字钟设计EDA实验报告.docx

《多功能数字钟设计EDA实验报告.docx》由会员分享,可在线阅读,更多相关《多功能数字钟设计EDA实验报告.docx(22页珍藏版)》请在冰点文库上搜索。

多功能数字钟设计EDA实验报告.docx

多功能数字钟设计EDA实验报告

EDA(Ⅱ)实验报告

多功能数字钟的设计

0710200247zh

2010-5-25

摘要:

本实验是设计一个多功能数字钟。

根据实验要求设计了基本的二十四小时计时和整点报时电路,并且数码管部分采用了动态显示。

同时根据提高部分要求,将一小时秒表的功能集成到了数字钟里。

实验过程采用自顶向下的设计思想,大量采用了模块操作。

Summary:

ThepurposeoftheEDAexperimentistodesignamulti-funtiondigitalclock.It'saccordingtotheexperimentrequestthattheIhavedesigneda24hoursclockwiththefunctiontellingtimeatalittlebitwhole,andfigurestubepartadoptthedynamicstatemanifestation.Inthemeantimetosatistytheexalationofthecapability,astop-watchmoldpieceisintegratedinthedigitalclock.Thethoughtofgettingdownfromcrestinstructstheexperimentprocess,whosefeatureistheadoptionofthemoldpieces.

关键词:

数字钟动态显示模块秒表

Keywords:

Digitalclockdymanicstatemanifestationmoldpiecesstop-watch

摘要1

正文3

设计要求说明3

方案论证3

各子模块原理图4

调试及仿真15

编程下载17

总结18

总结部分18

 

遇到问题及解决方法18

实验体会18

参考文献19

正文:

1、【设计要求说明】:

设计一个数字计时器,可以完成00:

00:

00到23:

59:

59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能:

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

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

3、K1是系统的清零开关(K1=1正常工作,K1=0时钟的分、秒全清零);

4、K2是计时/闹钟的校时开关(K2=0正常工作,K2=1时可以快速校分);

5、K3是计时/闹钟的校分开关(K3=0正常工作,K3=1时可以快速校分);

6、K4是系统的使能开关(K4=1正常工作,K4=0时钟保持不变);

7、定时闹表功能;

8、K5是闹钟/计时显示切换开关(K5=0时显示计时,K5=1时显示闹钟定时时间);

9、K6是闹钟使能开关(K6=1闹钟正常工作,K6=0屏蔽闹钟功能)

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

2、【方案论证(整体电路的工作原理)】:

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

脉冲发生电路模块,基本计时模块,动态译码显示模块,校分电路模块,报时电路模块,清零电路模块。

根据实际数字钟的功能设计了闹钟模块,比较模块,数据选择显示模块。

基本时钟电路的系统框图如图:

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

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

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

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

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

报时电路是由简单的逻辑门电路组成的,根据要求通过计数器上的BCD码数值来确定报时时间和报时频率。

控制电路是通过实验板上的逻辑开关来实现输入的。

由于本实验要求防抖动,设计时使用了D触发器,作为防抖开关使用。

3、【各子模块设计原理】

时钟脉冲发生电路模块

模块符号为:

为了便于实现秒表的计时功能和报时功能,时钟信号发生模块共输出1HZ,2HZ,500HZ,1KHZ的时钟信号,输入只有一个,就是系统时钟48MHZ。

48MHZ通过模2、模6、模8、模1K不同模块的自合可以得到不同的始终频率。

模2

模8

模6

模1000

 

例如:

要得到1HZ的输出频率,将48MHZ依次进行:

模8分频模6分频模1K分频模1K分频

其中同时可得1KHZ的时钟输出,同理我们可以得到所需500HZ和2HZ:

基本计时模块,保持清零模块,校时校分模块:

模块电路如下所示:

clr_input清零信号输入端,输入0有效

sw2是校时信号输入端

sw3是校分信号输入端

sw_5是计时与闹钟显示切换开关,输入1时显示计时

以下是该模块的具体构成:

计数器部分的基本构成是由模60,模60,模24的计数器级联构成。

采用异步计数器方式,由秒计数器开始计数,其进位信号为59秒时送入分计数器CLK,作为分计数器的脉冲输入,分计数器计数到59分时,而此时秒计数器也计到59秒时作为时计数器的脉冲输入,时计数器开始计数。

当时计数器计数到23后且总计数为23:

59:

59后,进位则从00:

00:

00重新计数。

清零功能通过对每个计数器的清零端复位实现,保持功能通过对时钟脉冲的选通实现。

秒计时电路图(采用反馈置位的方法实现):

分计时电路图(采用反馈置位的方法实现):

时计时电路图(采用反馈置位的方法实现):

校分和校时部分的基本构成为:

保持电路逻辑结构如下:

说明:

由于EDA实验系统提供的开关是机械开关,机械开关在接通和断开过程中,

通常会产生一串电脉冲,会使逻辑电路发生误动作,因此需设计一个防抖

动电路。

分计数器的计数脉冲有两个来源,一个是秒的进位信号,还有一

个是校分信号(1Hz),根据校分开关的不同状态决定送入分计数器的脉

冲来源,以完成正常计数或校分功能,因此采用一个D触发器作为防抖开

关,其电路实现:

 

总电路鸟瞰:

③整点报时电路模块:

报时部分的设计思想:

当时钟计到59’53”时开始报时,在59’53”,59’55”,59’57”时报时频率为1KHz驱动蜂鸣器,59’59”时报时频率为2KHz驱动蜂鸣器。

通过对报时时间各个状态位进行分析,可对报告时间进行化简,作卡诺图:

分十位

分位

秒十位

秒个位

9’53”

0

1

0

1

1

0

0

1

0

1

0

1

0

0

1

1

9’55”

0

1

0

1

1

0

0

1

0

1

0

1

0

1

0

1

9’57”

0

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

9’59”

0

1

0

1

1

0

0

1

0

1

0

1

1

0

0

1

具体逻辑构成图如下:

动态译码显示模块

此模块是由显示译码器7447和数据选择器和BCD码译码器共同构成的。

动态显示的基本原理是在“74138译码器”中输出片选信号dig选通数码管,同时在“数据选择器”中输出对应的一路BCD码信号送到7447显示译码器的输入端进行译码,7447的输出端为数码管的共同的控制端,在数码管上显示数据。

为了选通计时或者闹钟定时,其内部通过一个选择电路实现,用SW5控制选通。

m[7..0]s[7..0]h[7..0]分别为计时电路的秒分时输入

a_m[7..0]a_h[7..0]分别为闹钟定时电路的分时输入

具体的逻辑电路构成为:

其中选择逻辑电路模块为:

其中上面一块24选4为计时电路,下面一块24选4为闹钟电路的选择,当SW5=0时选通计时电路显示,SW5=1时选通闹钟电路显示。

其中的24选4电路为

输入1KHZ的时钟脉冲信号作为74160的工作频率作为刷新频率产ad[0]~ad[2],通过74138译码使其循环输出六个控制信号dig[0]~dig[7]对数码管进行片选,同时又作为4片74151构成的24选4数据选择器的控制信号,通过SW5的选通,输出对应的一路BCD码信号送到7447显示译码器的输入端进行译码,使译码部分和片选部分能同步工作。

⑤闹钟模块

闹钟模块其实就是只有分位和时位的计数器模块,并且具有校分和校时功能。

当设定好闹钟时间后闹钟处于保持状态,直至到达时间后开始闹铃。

闹钟模块的逻辑结构如下图所示:

SW3是闹钟的校分开关SW2是闹钟的校时开关,

他们当SW5=0时即选通显示闹钟电路时有效

通过对计时电路和校分电路的修改,去掉时钟的秒位,逻辑结构如下图所示:

比较和闹钟报时模块

由于闹钟要在设定的时间上输出一个信号驱动蜂鸣器,那么就需要一个比较电路,把闹钟设定的时间与计数器的时间进行比较,当相同时输出信号来驱动蜂鸣器。

同时,图中右下方的或门输入端为整点报时的输入和闹钟报时的输入。

比较电路的具体构成如下图所示:

当然,该比较电路可直接使用7485芯片比较更为简单

闹钟的报时采用了简单的滴滴滴声响实现,电路如下,通过74160循环:

总电路图为:

4、【调试及仿真】

对已完成的电路图保存后进行调试,检查有无出错的地方,比如线路定义出错,引脚未定义,未分配等软件能检查出来的错误,对其进行修正,直至调试的仿真图完全正确为止,仿真得到的波形图如下:

 

6分频仿真时序图为:

 

8分频仿真时序图为:

 

模60计数器仿真时序图为:

模24计数器仿真时序图为:

最后作整体检查并将clock设置为顶层文件进行全程编译直至编译完全通过为止,如下图所示:

5、【编程下载】

将编译好的程序下载至FPGA芯片之前,首先要进行管脚的分配,选择“Assingnment—〉Pins”,管脚分配图如下图示:

选择“Assingnment—>Setting”,点击“Device&PinOption…”选择标签页“Congiguration”中的“Useconfigurationdevice”选项选择EPCS4选项,选择“UnusedPins”标签页将未用引脚设为高阻输入,再进行一次全程编译,下载前的准备工作完成。

点击工具栏上的按钮,点击“HardwareSetup”按钮,点击“AddHardware”按钮,点击“OK”,“HardwareSetup”后面的“NoHardware”变成了“ByteBlaster[LPT1]”。

在“Program/Configure”列下的复选框中打钩,点击“Start”即可下载程序。

下载结果如下图所示:

6、【结论】

经过一周的不断努力,从无到有,从简到繁,终于完成了本次试验。

下载运行成功后实验板上K1—K8各复用开关作用如下:

K1是系统的清零开关(K1=1正常工作,K1=0时钟的分、秒全清零);

K2是计时/闹钟的校时开关(K2=0正常工作,K2=1时可以快速校分);

K3是计时/闹钟的校分开关(K3=0正常工作,K3=1时可以快速校分);

K4是系统的使能开关(K4=1正常工作,K4=0时钟保持不变);

K5是闹钟/计时显示切换开关(K5=0时显示计时,K5=1时显示闹钟定时时间);

K6是闹钟使能开关(K6=1闹钟正常工作,K6=0屏蔽闹钟功能)

总结部分:

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

■首先是出现了分频结果不正确,8分频、6分频正确的情况下,1000分频出现了问题,检查发现时因为每个模10中进位端的占空比太小,该为Q2端输出则没有问题了

■在设计电路时,一开始所有元件之间都采用连线连接,导致后面电路图混乱而且容易出现交叉导致可能的错误,后来改用了标号连接之后,电路图清爽直观不少,带来了极大方便。

■在进行校时校分的时候发现,关闭校正开关时,已经校正好的数字总是出现错误,经分析才知道原来是机械开关出现了脉冲的冒险,我们经过查阅资料

在每个开关前面用了一个D触发器,从而消除了冒险的影响。

2【实验体会】

这次试验的是在以前数电知识和第一次EDA实验的基础上的,在实验中,我们需要大量查阅回忆以前的知识,同时,QuartusII软件的学习是本次实验的另一大收获,回顾了所学,获得了新知。

在以前C语言程序学习中就接触了自顶向下和模块化功能设计的设计思路,这次EDA实验虽然所用工具不同,但是更深的理解了这一理念。

从实验的一开始,我们就从整体功能分解入手,化繁为简,一步一步的剖析实验的功能和细节,最终完成每一小部分的设计,才能实现整体功能。

虽然本次实验是一个人独立完成的,但是在实验过程中与同学们的交流学习显得格外重要,往往旁人的只言片语会使自己的问题迎刃而解,真可谓当局者迷旁观者清。

实验完成后,我尝试了解了在QuartusII中使用语言进行编程,发现使用VHDL语言可以带来意想不到的简便,虽然可能不太直观,但是理解了之后使用语言会使功能设计更见简单透明,把一些繁琐的工作留给计算机,让我们专注于逻辑功能的编写。

至于本闹钟可是实现的其他功能,比如星期显示等都可以通过相似手法的使用简单实现。

这次实验的成功完成离不开大家的帮助,在此要特别感谢蒋立平老师在实验过程中的悉心教导,在很多重要问题和疑点上给了我们莫大的帮助。

参考文献

(1)《数字逻辑电路》.蒋立平著.南京理工大学出版社

(2)《EDA设计实验指导书》.南京理工大学电子技术中心.2008.1

(3)《电子线路实践教程》.王建新,姜萍.北京:

科学出版社

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

当前位置:首页 > 表格模板 > 合同协议

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

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