EDA设计.docx
- 文档编号:15297240
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:23
- 大小:920.05KB
EDA设计.docx
《EDA设计.docx》由会员分享,可在线阅读,更多相关《EDA设计.docx(23页珍藏版)》请在冰点文库上搜索。
EDA设计
南京理工大学
EDA(Ⅱ)设计报告
——多功能数字钟
姓名:
学号:
院系:
自动化
*******
时间:
摘要:
本篇报告主要阐述了EDA实验中多功能数字钟的设计过程,此多功能数字钟具有正常计时、保持、校准、清零、整点报时、星期显示等功能。
在设计过程中,按功能将数字钟划分为多个模块,最终将各个模块有序组完成整个设计要求,然后在QuartusⅡ7.1中完成模块的功能仿真测试,最终将电路下载CycloneⅢ系列芯片中的EP3C25F324C8芯片中实现数字钟的功能。
关键词:
Quartus多功能数字钟仿真
外文摘要:
Thisreportsmainlyaddressedtheprocessofdesigningthemulti-functionaldigitalclockoftheEDA-designexperiment.Themulti-functionaldigitalclockhasthefunctionsoftiming,keeping,calibration,clearing,bellingonthesettingtimeandweekdisplay.Duringtheprocessofdesign,thedigitalclockwasdividedintoseveralmodulesaccordingtothefunctons,eventually
completethedesignrequirementsbycombinatingeachmodule,
thenthefunctionalsimulationswascompletedundertheenvironmentofQuartusⅡ7.1.Atlast,itwasdownloadedto
EP3C25F324C8chipofCycloneⅢtoachievethefunctionofmulti-
Functionaldigitalclock.
Keywords:
Quartusmulti-functionaldigitalclocksimulate
封面————————————————————————1
摘要————————————————————————2
一、设计要求说明——————————————————4
二、整体电路的工作原理———————————————5
三、各子模块设计原理————————————————6
1、脉冲产生模块————————————————6
2、计时电路模块————————————————11
3、整点报时电路模块——————————————19
4、动态译码显示电路模块————————————20
5、星期显示及调节电路—————————————22
6、总电路———————————————————23
四、编程下载————————————————————23
五、实验总结————————————————————24
六、参考文献————————————————————26
一:
设计要求说明
设计一个数字钟,完成00:
00:
00到23:
59:
59的计时功能,并且可以控制电路使具有保持、清零、校分、校时、整点报时等功能,在此基础上,我添加了星期显示和校星期功能。
1、设计基本要求:
(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时可
以快速校分);
2、设计提高部分要求
(1)使时钟具有整点报时功能(当时钟计到59’53”时开始
报时,在59’53”,59’55”,59’57”时报时频率为500Hz,
59’59”时报时频率为1KHz);
(2)自己添加功能(星期显示及调节)
二、整体电路的工作原理
电路原理方框图:
本次EDA实验主要设计了多功能数字钟,首先需要获得振荡脉冲信号,为计时电路提供正确的时序。
实验中使用的振荡频率源为48MHZ,通过分频电路获得所需脉冲频率1HZ,2HZ,500HZ,1KHZ。
除了频率信号,还需设计一个模60计数器产生秒位,用1HZ脉冲信号进行计数;同理分位也用模60计数器产生,只是利用秒位的进位产生分计数脉冲;设计一个模24计数器产生十位,利用分位的进位产生时计数脉冲。
综上计数部分可以分为:
秒十位(ms),秒个位(mg),分十位(fs),分个位(fg),时十位(ss),时个位(sg)。
保持功能通过两个逻辑门将K1和1HZ脉冲信号相组合,根据K1值决定是否将1HZ送人秒计数脉冲端。
清零功能使利用逻辑非门将清零信号K2送入分位和秒位的清零端。
校分校时功能原理相似,都是用逻辑门根据K3和K4的值决定是送入低位的脉冲计时信号1HZ还是校分校时信号2HZ脉冲,使计数器可以快速计数。
译码显示电路是用七个七段数码显示管(一个星期,6个分为十位、分位、秒位),将时间动态直观地显示出来,需要4个7选一数据选择器和一个3-8译码器组合选通数码管的位码和段码。
整点报时功能主要运用组合逻辑电路将需要蜂鸣的时刻转化为各位信号输入与门或或门,再加入蜂鸣频率,当计时到指定时间,信号选通根据频率大小发音报时。
(若设计音乐报时功能,原理差不多,只是需要选好频率,组合也更复杂,分频电路就需添加其他部件)
星期显示功能就是当计时到24小时时时位产生星期进位信号,原理跟时分秒一样,只是是添加模7计数器。
三、各子模块设计原理
1、脉冲产生模块
脉冲产生原理框图:
(48M=24*1000*1000*2)
实验板振荡源为48MHZ,为获得计时和校准脉冲信号和报时频率需要设计分频电路,需要24分频(由3分频和8分频组合)、1000分频和2分频。
1.12分频电路
2分频电路是用JK触发器,如图,当时钟脉冲边沿到来时,输出端发生翻转,输出触发信号的2分频信号。
仿真波形:
1.23分频电路
3分频电路是用计数器74160采用置数法实现。
输出端QDQCQBQA按如下方式循环计数,根据QB当变为1时,经过非门输入到置数端LDN置零,所以用QB作为3分频的输出端。
封装图:
1.38分频电路
8分频电路是用3个2分频电路串联而成,如下图,最后一个输出端作为8分频输出。
封装图:
1.424分频电路
24分频电路即将3分频电路和8分频电路串联,之前将3分频和8分频封装大大简化了电路图的复杂性,使连接更为简单。
封装图:
1.51000分频电路
1000分频是将三个10分频电路串联而成,而一个10分频电路由一个计数器74163构成,计数器按如下方式循环:
当QDQCQBQA=1111,RCO=1通过非门输入置位端LDN,为获得占空比接近1:
1,将QC作为输出,可以得到占空比为6:
4。
封装图:
1.6总分频电路
将各个分频模块组合在一起即得到总分频电路,如下图所示:
封装图:
2、计时电路模块
计时电路又可以分为秒模块,分模块,时模块(星期模块在后面阐述),秒模块和分模块采用模60计数器,时模块采用模24计数器,通过秒计时到59产生分进位使分位开始计时,通过分计时到59产生时进位使时位开始计时。
模60计数器用两个计数器74160构成,一个表示十位一个表示个位,因为74160用8421BCD码计数,可以将计数信号输出到7447直接驱动数码管显示
2.1模60计数器电路
前面的74160表示个位,后面表示十位,当计数到59,即个位为9十位为5时,通过与非门输出低电平到置位端LDN清零(置位法),重新计数。
每当个位计数到1001(9)时,RCO由0变为1,将十位的ENT置1,使十位开始计数加1。
封装图:
符号说明:
CP——计数脉冲输入
RD——清零端
CO——进位(在秒分时模块中可以省去)
3u,2u,1u,0u——个位输出
3d,2d,1d,0d——十位输出
仿真波形:
2.2模24计数器电路
原理同模60计数器,只是当计数到24,即十位为2,分位为4时,通过与非门将低电平输入到置位端LDN清零,重新计数。
封装图:
符号说明:
CP——计数脉冲输入
RD——清零端
CO——进位(在秒分时模块中可以省去)
3u,2u,1u,0u——个位输出
3d,2d,1d,0d——十位输出
仿真波形:
2.3保持电路
保持要求:
K1=0正常工作,K1=1时钟保持不变
将K1通过非门后与1HZ相与,通过K1值的大小来确定是否将1HZ脉冲输入秒的CLK端继续计数。
为防止抖动和毛刺现象,需要在K1输入后加入一个消颤开关,即JK触发器。
2.4清零电路
清零要求:
K2=0正常工作,K2=1时钟的分、秒全清零
清零电路较为简单只需将K2通过非门送入时分的清零端即可,同样加入消颤开关。
2.5校分电路
校分要求:
K3=0正常工作,K3=1时可以快速校分
如图所示,当K3=0时,由秒模块产生的分进位可以进入分的CLK端开始计数,当K3=1时,则是2HZ信号进入分的CLK端开始快速校分,同样加入消颤开关。
设计时为了使校分与是否计时到59无关,则将K3与秒模块输出进位相或。
封装图:
2.6校时电路
校时要求:
K4=0正常工作,K4=1时可以快速校分
原理同校分电路。
封装图:
2.7总电路
总电路分为秒模块、分模块、时模块。
2.7.1秒模块
秒模块由模60计数器构成,1HZ为时钟脉冲,K1控制使能端,K2输入清零端,为了使校分校时时秒位保持不变需要将K1、K3、K4相或非后输入使能端ENP。
加入消颤开关用于防抖动防毛刺防竞争冒险。
封装图:
符号说明:
ms3,ms2,ms1,ms0——秒十位
mg3,mg2,mg1,mg0——秒个位
CO_fen——分进位
2.7.2分模块
原理基本同秒模块。
只是添加了校分模块,将校分输出到CLK和ENT端,因为CLK不是直接输入1HZ,所以是异步方式,可能不如同步稳定,更需加入消颤开关,减少不必要的问题。
封装图:
符号说明:
fs3,fs2,fs1,fs0——分十位
fg3,fg2,fg1,fg0——分个位
CO_shi——时进位
2.7.3时模块
原理同分模块。
封装图:
符号说明:
ss3,ss2,ss1,ss0——时十位
sg3,sg2,sg1,sg0——时个位
CO_xingqi——星期进位
将三个子模块拼接即得计时电路如下:
封装图:
为减少管脚,用总线模式。
仿真波形:
3、整点报时电路模块
报时要求:
当时钟计到59’53”时开始报时,在59’53”,59’55”,59’57”时报时频率为500Hz,59’59”时报时频率为1KHz。
59分50秒=ms2﹠ms0﹠fs2﹠fs0﹠fg3﹠fg0
3秒=m1﹠m0;5秒=m0﹠m2;7秒=m0﹠m1﹠m2;9秒=m0﹠m3并与相应的频率相与。
封装图:
4、动态译码显示电路模块
显示电路主要由4个数据选择器、一个3—8译码器74138、一个计数器74160、一个显示译码器7447组成。
总共需7个七段数码显示管,数选器的选择信号有三位i,所以要用一个模8循环计数器作为数选器的地址选择端,供轮流选择带显示的数据,此外,还要用一个3—8译码器来选择数码管(DIG位)来显示对应的数据。
封装图:
符号说明:
500HZ——扫描频率
ss[3..0]——时的十位输入
sg[3..0]——时的个位输入
fs[3..0]——分的十位输入
fg[3..0]——分的个位输入
ms[3..0]——秒的十位输入
mg[3..0]——秒的个位输入
xq[3..0]——星期的显示输出端
L[6..0]——输出数码管a至g的七段
G[6..0]——七个数码管的使能端
5、星期显示及调节电路
将同步十进制计数器74160制成一个模7计数器,循环如下:
K5=0时正常计数,K5=1时保持
由时模块产生的星期进位端输入到CLK端开始计数,当计数到0111时经过与非门置位。
封装图:
仿真波形:
6、总电路
封装图:
仿真波形:
四、编程下载
在编译和波形仿真正确无误后,就可以下载到芯片上,进行硬件实施。
首先打开实验箱电源开关。
在下载之前,必须先对每个管脚进行分配。
选择“Assignments﹣Pins”,打开“PinPlanner”对话框。
放大ALTERA芯片模型,可将“NodeName”中各个管脚号拖至芯片对应管脚,使其重合出现深色标志,或者是采用给各个管脚对应配置输入相应的器件编号。
每个管脚都配置完成后,点击Save保存配置并关闭窗口。
选择“Assignments-Device”,打开“DeviceandpinOptions”对话框,选择“UnusedPins”标签,将没有用到的管脚设置为高阻态。
再次确认实验所用芯片是否为EP1C12Q240C8,此时即可点击主编辑页面的下载按钮,当出现下载界面后,选“HardwareSetep”,在下拉菜单中选择ByteBlaster[LPT1],再次回到下载界面,点击“Start”按钮,开始从实验箱下载。
本实验用的是QuartusII软件和SmartSOPC实验箱,选用Altera公司的Cyclone系列FPGA芯片,并配置相应的管脚。
下载线与PC机相连,各模块下载后,可以通过实验板上的数码管看到数字钟的运行情况,通过改变相应开关的状态,可以让数字钟实现本实验所设计的功能。
经检验,满足设计要求。
五、实验总结(遇到的问题及解决方案)
(1)分频问题:
将48MHZ分频为需要的频率,其中涉及到24分频,可以将24分频分位3分频和8分频,10分频需要考虑将占空比逼近1:
1,所以选择QC作为输出。
(2)竞争冒险:
计数时出现57或58时就进位,主要是因为没有采用置位法而是清零法,出现毛刺,产生竞争冒险现象,影响正常计数。
毛刺产生的另一个问题是出现奇数偶数跳动,这是因为分频中出现毛刺,部分毛刺产生距离较短,使某些数字出现不明显,不能显示出来。
所以必须要在开关等地方加入消颤开关(消颤开关还可以用D触发器),防止抖动和毛刺。
(3)连线和符号表示问题:
因为电路较复杂,所以连线时要注意距离减少交叉,防止短路,此外还需要采用通俗易理解的符号表示输入端和输出端防止误解。
在编译时经常出现问题,主要是连线短路,接VCC接GND时线重叠连在了一起,还有符号前后不一致,也影响编译成功。
这些都是小问题但仍需注意,连线和标符号时一定要仔细。
(4)同步异步问题:
此次实验我采用的异步,即分和时与秒不是同时用1HZ作为脉冲时钟信号,异步电路中如果抖动毛刺冒险问题不处理好很有可能出现显示混乱的问题,而同步比异步问题,建议最好改为同步设计。
(5)校分校时问题:
校分校时要求是秒位不动,一开始是校分校时时秒位也同时跳动,这不符合要求,于是在将K1K2K3与非后输入秒使能端,则当K2或K3=1时,秒位不动。
此次实验主要巩固了之前所学的数电知识,并学会了QuartusⅡ软件的使用,并学会了如何将电路调试和下载到开放板上。
经过实验我完整的学会了多功能数字钟的设计过程,在实验过程中我明白了如何将理论知识运用到实际运用中,提高了学理论知识的兴趣,加强了继续学习的信心。
感谢此次学校提供给我们的实验机会,感谢老师的耐心指导和同学的热心帮助!
六、参考文献
[1]蒋立平主编,数字逻辑电路和系统设计,北京:
电子工业出版社,2008
[2]王建新,姜萍编著,电子线路实践教程,科学出版社,2003
[3]南京理工大学电子技术中心编著,EDA设计实验指导书,2008
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)