EDA综合设计.docx
- 文档编号:4776591
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:21
- 大小:713.03KB
EDA综合设计.docx
《EDA综合设计.docx》由会员分享,可在线阅读,更多相关《EDA综合设计.docx(21页珍藏版)》请在冰豆网上搜索。
EDA综合设计
EDA设计Ⅱ
多功能数字钟的设计
姓名:
学号:
同组人:
院系:
自动化学院
指导老师:
谭雪琴蒋萍
时间:
2011-5
摘要:
此次EDA实验我们用软件QuartusⅡ和配套的实验平台,来设计24小时的数字钟。
在软件上完成相应电路的搭建及仿真,调试后下载到实验平台上进行实际测试。
我设计的数字钟具有24小时计时、校分、校时、整点报时功能。
以上的功能都下载到实验平台上成功演示出来。
我还设计了闹钟功能,在仿真时很成功,但后来下载到实验平台上有问题。
ABSTRACT:
DuringthisexperimentIlearntouseasoftwarenamedQuartusⅡwhichiscompletelyunfamiliartome.AfteraboutfourdaysworkIdesignadigitalclockwhichhasthebasicfunctionsascounting,resettinghour,resettingminute,ringateachhour.Ialsodesignablockwhichisaboutsettingthealarm.Theblockissuccessfullystimulatedbuthassomeunknownproblemswhendownloadedintotheplatform.Iaccountforthisindetaillater.
关键字:
多功能数字钟,校分,校时,整点报时,闹钟
KEYWORDS:
DIGITALCLOCK,RINGING,ALARM
正文…………………………………………………………………………………………………1
1设计要求说明………………………………………………………………………………1
2符号说明……………………………………………………………………………………1
3方案论证……………………………………………………………………………………2
448MHz—1Hz模块的设计及仿真………………………………………………………4
5数字钟时、分、秒为的设计………………………………………………………………6
624选4和动态显示模块的设计及仿真…………………………………………………8
7整点报时模块的设计………………………………………………………………………9
8模块的设计及仿真…………………………………………………………………………9
9闹铃模块的设计和仿真…………………………………………………………………10
10试下载…………………………………………………………………………………15
实验感想…………………………………………………………………………………………15
注解………………………………………………………………………………………………17
参考文献…………………………………………………………………………………………17
致谢………………………………………………………………………………………………17
正文
1.设计要求说明
利用QuartusII软件设计一个数字钟,并下载到SmartSOPC实验系统中。
本次EDA实验要求设计一个数字计时器,可以完成00:
00:
00到23:
59:
59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能。
设计基本要求如下:
1)能进行正常的时、分、秒计时功能;
2)分别由六个数码管显示时分秒的计时;
3)K1是系统的使能开关(K1=0正常工作,K1=1时钟保持不变);
4)K2是系统的清零开关(K2=0正常工作,K2=1时钟的分、秒全清零);
5)K3是系统的校分开关(K3=0正常工作,K3=1时可以快速校分);
6)K4是系统的校时开关(K4=0正常工作,K4=1时可以快速校时);
设计提高部分要求
7)使时钟具有整点报时功能(当时钟计到59’53”时开始报时,在59’53”,59’55”,59’57”时报时频率为512Hz,59’59”时报时频率为1KHz,);
8)闹表设定功能;
9)自己添加其他功能;
2.符号说明
使用符号
意义
使用符号
意义
KEY1
机械开关K1
KEY5
设定闹铃的分时位
KEY2
机械开关K2
KEY6
设定闹铃的小时位
KEY3
机械开关K3
KEY7
定时、计时切换开关
KEY4
机械开关K4
BEEP
蜂鸣器
HHD
时十位BCD码D
HLD
时个位BCD码D
HHC
时十位BCD码C
HLC
时个位BCD码C
HHB
时十位BCD码B
HLB
时个位BCD码B
HHA
时十位BCD码A
HLA
时个位BCD码A
MHD
分十位BCD码D
MLD
分个位BCD码D
MHC
分十位BCD码C
MLC
分个位BCD码C
MHB
分十位BCD码B
MLB
分个位BCD码B
MHA
分十位BCD码A
MLA
分个位BCD码A
SHD
秒十位BCD码D
SLD
秒个位BCD码D
SHC
秒十位BCD码C
SLC
秒个位BCD码C
SHB
秒十位BCD码B
SLB
秒个位BCD码B
SHA
秒十位BCD码A
SLA
秒个位BCD码A
3.方案论证
3.1脉冲分频电路的方案
脉冲分频电路的主要目的是把最初的48MHz的频率分为1KHz(用于驱动数码管和蜂鸣器报时用)、512Hz(用于蜂鸣器报时)、2Hz(用于快速校分和校时)和1Hz(用于作秒脉冲)。
设计思路:
先设计个模48计数器,再设计模1000计数器。
模48计数器用两片74160芯片配若干门电路。
模1000计数器用三片74160芯片配以若干门电路。
方框图如下
3.2模60计数器的设计方案
设计思路:
用两片74160芯片加上少数门电路构成模60计数器,并且把相应的保持、校分、清零功能做上去。
3.3报时电路的设计方案
使时钟具有整点报时功能:
当时钟计到59’53”时开始报时,在59’53”,59’55”,59’57”时报时频率为512Hz,59’59”时报时频率为1KHz。
表1整点报时逻辑
TIME
MHC
MHA
MLD
MLA
SHD
SHC
SHB
SHA
SLD
SLC
SLB
SLA
59’53”
1
1
1
1
0
1
0
1
0
0
1
1
59’55”
1
1
1
1
0
1
0
1
0
1
0
1
59’57”
1
1
1
1
0
1
0
1
0
1
1
1
59’59”
1
1
1
1
0
1
0
1
1
0
1
0
由上表可以看出,
Fout=MHC*MHA*MLD*MLA*SHC*SHA*{(SLC*SLA+SLB*SLA)*F512Hz+
SLD*SLA*F1KHz}
3.4显示译码电路的设计方案
显示译码电路由4个81MUX数据选择器、1个模6分频器、1个显示译码器7447组成、6个数码管。
考虑到数码管个数较多,所以采用动态译码显示。
3.5闹铃模块的设计方案
设计一个独立于正常计时模块外的计时模块。
正常时,显示时钟的时间,闹铃模块里锁存这设定的闹铃时间,比较器工作,时刻查询比较。
当时钟时间和设定的时间相同时比较器给出信号,蜂鸣器响。
设计类似校分校时的模块,设定闹钟时间。
3.6整个电路的模块结构
图6整个电路的模块方框图
4.48MHz—1Hz模块的设计及仿真
4.1MOD48计数器
由两个74160计数器构成,搭成如下电路图。
图7MOD48电路图
图8MOD48电路图的仿真结果
4.2MOD1000
由三个74160计数器构成,搭成如下电路图。
图9MOD1000电路图
图10MOD1000电路图的仿真结果
4.3MOD48M
将上述模块接连起来,并引出其他有用的频率。
搭建如下电路图。
图11MOD48M电路图
产生2Hz和512Hz的思想:
在最后一个MOD1000计数器的输出端引QB做为2Hz的信号。
把1KHz的频率经过T触发器进行分频,上图中T触发器的方程式
。
5.数字钟时、分、秒为的设计
5.1MOD24计数器的设计及仿真
模24模块用于小时位。
它要设计保持、校时、清零功能,无需设计进位信号。
采用的是74160的清零功能,所以清零信号产生是小时高位出现0110。
由于74160本片的进位信号是与1001同时出现的。
所以用了D触发器来延时。
保持功能是用74160自身的保持功能ENP输入端。
图12MOD24计数器电路图
图13校时与保持电路图
校时功能要把来自开关的校时信号和正常的低位片产生的进位信号整合起来。
当KEY4为高电平时,2Hz的校分信号可以通过,分为进位信号MRCO屏蔽;当KEY4为高电平时,2Hz的校分信号被屏蔽,分为进位信号MRCO通过。
图14MOD24计数器电路图的仿真图
5.2MOD60计数器构成秒位的设计及仿真
由MOD60模块设计秒位计数器原理图及仿真图如下。
其清零信号是当高位出现0110。
进位信号是在59时产生的,即出现01011001。
进位信号经个D触发器延时后,在整60送出。
保持功能同前分析。
图15MOD60计数器秒位电路图
图16MOD60计数器秒位电路图的仿真
5.3MOD60计数器设计分位计数器原理图及仿真图
清零、保持功能和校分模块同前分析。
图17MOD60计数器分位电路图
图18MOD60计数器分位电路图的仿真
6.24选4和动态显示模块的设计及仿真
实验中数码管的显示是采用动态驱动显示的,这样就设计到了数据的选择。
对引入模块的1KHz用74160进行6分频,用来驱动数码管的片选信号。
74160输出的A2、A1、A0三个信号是8选1选择器81mux和片选74138的公共输入信号。
图1924选4电路图
图2024选4电路图的仿真
7.整点报时模块的设计
分析参见前面的方案论证部分。
图21整点报时电路图
8.总模块的设计及仿真
图22总的模块电路图
图23总的模块电路图的仿真
从图中可以看出,总体的电路是可以正常工作,满足基本的设计要求:
KEY1高电平时数码保持不变,KEY2高电平时时位分位清零,KEY3高电平时快速校分,KEY4高电平时快速校时。
在59分53、55、57秒均有512Hz的脉冲输出,在59分59秒有1KHz的高频脉冲输出。
9.闹铃模块的设计和仿真
设计思路:
闹铃模块是独立于上述数字钟的另一个数字钟,即设计另一个不带秒位的时钟。
由于实验板上总共有8个LED数码管,所以显示采用复用方式:
正常显示为时钟时间,切换后显示定时时间。
这里起切换作用的由开关KEY5充当。
当KEY7为低电平时:
显示时钟时间;闹钟定时的时位、分位输出保持;4片8位数值比较器工作。
当KEY7为高电平时:
显示闹钟设定的时间,并且只有在此时才能设定闹钟,时钟正常计时,只是不显示。
闹铃模块的总体图如下:
图24闹铃电路图
表2模块中使用的符号说明
符号
意义
符号
意义
HHAT
数字钟小时十位
HHD
闹钟定时小时十位
HHBT
数字钟小时十位
HHC
闹钟定时小时十位
HHCT
数字钟小时十位
HHB
闹钟定时小时十位
HHDT
数字钟小时十位
HHA
闹钟定时小时十位
HLAT
数字钟小时个位
HLD
闹钟定时小时个位
HLBT
数字钟小时个位
HLC
闹钟定时小时个位
HLCT
数字钟小时个位
HLB
闹钟定时小时个位
HLDT
数字钟小时个位
HLA
闹钟定时小时个位
MHAT
数字钟分钟十位
MHA
闹钟定时分位十位
MHBT
数字钟分钟十位
MHB
闹钟定时分位十位
MHCT
数字钟分钟十位
MHC
闹钟定时分位十位
MHDT
数字钟分钟十位
MHD
闹钟定时分位十位
MLAT
数字钟分钟个位
MLA
闹钟定时分位个位
MLBT
数字钟分钟个位
MLB
闹钟定时分位个位
MLCT
数字钟分钟个位
MLC
闹钟定时分位个位
MLDT
数字钟分钟个位
MLD
闹钟定时分位个位
用4片8位比较器7485构成的比较电路如下:
图25闹铃电路图中的32位比较器
分析其功能:
COMPARE是与KEY7进过反相器相接的。
当KEY7为高电平时,COMPARE为低电平,这样第一片7485三个级联输入端ALBI,AEBI,AGBI都为低电平,输出ALBO,AEBO,AGBO也都为低,如此下去,整个比较器都不工作,最后的输出E3也为0;当KEY7为低电平时,COMPARE为高电平,这样第一片7485三个级联输入端AEBI为高电平,输出ALBO,AEBO,AGBO则根据小时的高位来比较输出:
设定的闹铃时间,其小时的高位比实际的时间小时高位小或大,第一片7485输出的E0为0,后面几片E1、E2、E3都为0;若设定闹铃时间,其小时的高位比实际的时间小时高位相等,第一片7485输出的E0为1,后面几片的分析类似上面。
图26闹铃电路图中的比较结果输出电路
当比较器输出“相等”信号,即E3=1时,上面的电路开始工作。
该电路的主要功能是当闹铃时间到时,输出频率有变化的蜂鸣信号。
电路简单,就不再赘述了。
图27闹铃电路图中的输入量
上图是对输入该模块的几个信号的说明:
该模块用到2Hz,512Hz,1KHz,KEY5,KEY6,KEY7。
图28闹铃电路图中的计时器
由于该模块这涉及显示和比较,不用把时位和分位连接,故没有进位信号。
图29闹铃电路图生成的电路单元
这是闹铃模块生成的模块图,用到很多的输入和输出。
图30闹铃电路图的仿真结果
由图可见:
在KEY7为低电平时,设定时间的信号KEY5是不起作用的,而比较器工作,蜂鸣器有输出。
在KEY7为高电平时,KEY5设定分位,KEY6设定时位,比较器不工作,E3输出0。
切换显示
图31闹铃模块与正常电路的切换开关
切换显示电路用简单的逻辑门搭建。
KEY7为1时,显示闹铃设定的时间,KEY7为0时,显示数字钟的时间。
图32切换开关阵列
由类似门电路搭建的庞大的切换模块。
由于闹铃中没有设置秒位,所以把闹铃中的秒位都设为零。
见下图:
图33闹铃模块中秒位接零示意图
10.调试下载
将电路调试好后,分配管脚,实验平台通上电,下载到实验平台上。
【1】
实验感想
1.实验过程中遇到的问题及解决问题的方法
1.1模60计数器的进位与清零
模60计数器使用两片74160组成。
74160是异步8421BCD码计数器,实验中用的是异步清零法获得模60的计数器。
清零条件是高位为0110。
刚开始我简单的结成如下的逻辑电路,并且模60计数器低位片向高位片的进位信号直接由低为片的RCO充当。
但仿真结果却是图34的结果。
从图中可以看出几个问题:
一是低位片为8时,即第九个脉的上升沿到来时,高位及有进位输入,产生48跳到59在回到50的错误现象;另一个是模60计数器最大值到58就会到00状态;还有错误的模60进位信号产生。
图34进位信号产生示意图
图35进位信号产生仿真结果
我分析问题可能在74160的进位信号RCO的问题。
所以我把74160的单个的时序图仿真出来:
发现在第九个脉冲到来时同时发出了进位信号。
如此我就想是不是可以用以个用一个D触发器,使得进位信号经过D触发器延时一个时钟周期。
D触发器接法如图,CLK是与74160公用的时钟脉冲。
图3674160的进位信号RCO仿真
图37D触发器接入及进位信号RCO仿真
从而上述问题便解决了。
图38D触发器接入后进位信号产生仿真结果
1.2机械开关的去抖动
将调试好的文件下载到SmartSOPC实验系统中可编程逻辑器件上,它能正常工作,有校分、校时、保持和清零。
但是在拨动开关校分、校时,数码管数字有跳动。
认为是机械开关抖动引起的干扰。
设计消颤开关。
【2】
图39D触发器用于去抖动电路
接入消颤开关后,拨动开关校分、校时,数码管数字稳定,没有干扰。
消颤效果明显。
2.实验的收获与感受
通过这次实验,我了解并掌握了Quartus软件的基本使用。
在搭建电路图的过程中,我又复习了大二学习过的数电知识,加深了对某些芯片的了解,例如74160,7485等。
更为重要的是,在做实验的过程中,我明白了分析问题解决问题的确实意义及其重要性。
当所搭建的电路出现了问题后,要先从仿真图分析问题,在脑子中描述出问题。
然后分析问题产生的原因及可能产生问题的部件,再从部件特性、原理等查找问题。
此外,在写论文的过程中,由于老师是按照毕业论文的规范要求我们的,因此有了锻炼的机会,使得我写作科技类文章的技巧提高,经验积累。
这次实验也算是把所学的知识用于实际的一个机会吧。
体会特别深的是那句老话:
纸上得来终觉浅,缘知此事要躬行。
学习能力和动手能力不是一回事,它们没有必然联系,之前只知道学习读书,没有注意加强动手能力的锻炼,这次实验体会深的还有:
要多动手操练才是硬道理。
3.期望及要求
今后还有机会实验时,希望老师多介绍些Quartus软件的使用。
还有,我很希望学习下VHDL语言,希望今后有机会学到。
注解
[1]具体步骤参见EDA设计实验指导书,南京理工大学,电子技术中心,2011年4月。
[2]消颤设计,参见数字逻辑电路与系统设计,蒋立平主编,电子工业出版社。
第178页,触发器应用例举。
参考文献
【1】蒋立平主编数字逻辑电路与系统设计电子工业出版社2009
【2】EDA设计II讲稿(数字钟)
【3】南京理工大学电子技术中心EDA设计实验指导书2011.4
【4】EDAⅡ实验——多功能数字钟05级董怡
致谢
实验中得到老师及同学的帮助,在此深表谢意。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 综合 设计