EDAⅡ实验报告完整版.docx
《EDAⅡ实验报告完整版.docx》由会员分享,可在线阅读,更多相关《EDAⅡ实验报告完整版.docx(19页珍藏版)》请在冰豆网上搜索。
EDAⅡ实验报告完整版
多功能数字钟设计
EDAII实验报告
院系:
电子工程与光电技术学院
学号:
姓名:
实验题目:
多功能数字钟
指导老师:
谭雪琴
完成时间:
2013年12月
目录
摘要…………………………………………………………………………2
关键词…………………………………………………………………………2
一、实验目的………………………………………………………………3
二、实验设计要求…………………………………………………………3
三、功能模块的实现及仿真………………………………………………3
1、分频电路的实现…………………………………………………………4
2、计时模块的设计…………………………………………………………7
(1)秒计数模块……………………………………………………………………7
(2)分计数模块……………………………………………………………………7
(3)时计数模块……………………………………………………………………8
3、译码显示模块……………………………………………………………10
4、整点报时模块……………………………………………………………12
5、校时校分模块……………………………………………………………13
6、系统复位和系统保持功能………………………………………………14
*7、附加功能之想……………………………………………………………15
四、电路调试与仿真介绍……………………………………………………18
五、编程下载…………………………………………………………………18
六、结论………………………………………………………………………19
七、实验中遇到的问题及解决………………………………………………19
八、实验感想…………………………………………………………………20
参考文献………………………………………………………………………20
多功能数字钟
设计与实践
摘要:
数字钟的出现极大的方便了人们的生活,在各个领域都有其身影存在,其多功能性的特点更是受到人们的喜爱,数字钟作为数字系统中简易之例,虽然小巧,却是五脏俱全,十分典型地代表了数字系统的设计。
本次实验通过使用Quartus软件进行多功能数字钟的设计,完成多功能数字钟的基本功能,在学有余力的情况下进行其他功能的设计;学习掌握自顶向下的模块化设计思想,懂得如何将整个系统进行划分,得到一个个子系统,即实现模块化的设计,并将完成的软件设计通过实验箱进行验证。
关键词:
模块设计、分频、计时、校分、校时、动态译码显示、整点报时
Abstract:
Theemergenceofadigitalclockgreatconvenientsthepeople'slifeandallareashasitsfigureexistence,itsfeaturesoftheversatilityisaffectedbyhumans,adigitalclockisregardedasasimpleexampleindigitalsystem,althoughsmall,butall-sided,verytypicallyrepresentsdigitalsystemdesign.
Quartussoftwareisusedintheexperimentstodesignthemulti-functiondigitalclockandweoughttofinishthebasicfunctionofmulti-functiondigitalclock,withsparecapacity,studyingundertheconditionofotherfunctiondesign;Learnthetop-downmodulardesignthought,knowhowtothewholesystemdivision,getasubsystemsnamelyrealizemodulardesign,andwillcompletesoftwaredesignthroughexperimentboxforverification.
Keywords:
Moduledesign、frequencydivision、timing、minuteandhouradjusting、dynamicdecode_display、clocking
一、实验目的
1、利用QuartusII软件设计一个数字钟,并下载到SmartSOPC实验系统中。
2、设计一个数字计时器,可以完成00:
00:
00到23:
59:
59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能。
二、实验设计基本要求
1、对数字钟采用自顶向下的模块化方法进行设计,要求设计层次清晰、合理。
构成整个设计的功能模块既可采用原理图输入法实现,也可采用文本输入法实现。
2、多功能数字钟的设计要求具有如下功能:
⑴、能进行正常的时、分、秒计时功能;
⑵、分别由六个数码管显示时分秒的计时;
⑶、K1是系统的使能开关(K1=0正常工作,K1=1时钟保持不变);
⑷、K2是系统的清零开关(K2=0正常工作,K2=1时钟的分、秒全清零);
⑸、K3是系统的校分开关(K3=0正常工作,K3=1时可以快速校分);
⑹、K4是系统的校时开关(K4=0正常工作,K4=1时可以快速校分);
其中开关的选择自行定义。
3、将仿真通过的逻辑电路下载到EDA实验系统,对其功能进行验证。
三、功能模块的实现及其仿真
多功能数字钟电路由时钟产生模块、计时模块、译码显示模块、整点报时模块、校时校分模块及系统复位模块等部分组成。
整体设计方案框图如图3-1所示。
图3-1多功能数字钟整体设计方案框图
现在我就整个系统设计的主要思路进行如下介绍:
在整个方案的设计中,首先要进行分频电路的设计。
因为系统的时钟频率为48MHz,无法满足用1Hz去驱动秒计时电路的工作,所以系统设计的第一步便是进行分频电路的设计。
在分频电路的作用下,得到若干个不同频率的信号:
1Hz、500Hz和1KHz,用于不同的模块中。
分频电路的设计关键在于设计合理的模M计数器,通过多次分频得到需要的频率信号,这里主要以74160计数器进行设计。
至于计时模块的设计,我将其分成三个小模块,分别为秒计数模块、分计数模块和时计数模块。
其中,秒计数模块和分计数模块的核心是模60的计数器,时计数模块的核心为模24的计数器,并且采用同步计数的方法,即三个模块的时钟信号均来自同一个频率信号。
秒的进位信号作为驱动分计数电路工作的信号,秒的进位信号与分的进位信号则作为驱动时计数电路工作的信号。
译码显示模块的设计需要花费一番心思。
因为在这里,我们要采用动态译码显示电路,不同于以往的静态显示。
因此参照《数字逻辑电路与系统设计》中关于动态电路的介绍,首先,我将设计一个4×6选1的数据选择器,这里使用8选1的数据选择器74151作为扩展。
新的数据选择器在控制信号的作用下,选择输出秒位、分位或时位,再利用7447译码器转换成BCD码。
上面所说的控制信号是由一个模6计数器产生的信号。
除此之外,利用一个74138译码器进行数码管的位码控制,输入的控制信号同样为模6计数器产生的信号。
校时和校分模块的设计通过简单的门电路来实现,这里先不做过多介绍。
整点报时模块是几个与门和与非门的组合,通过满足条件性的组合得到整点报时的功能。
系统复位模块的实现比较简单,只需要在计时模块的清零输入端输入有效信号,即可完成系统复位的功能。
1、分频电路的实现
如前所述,为了得到不同频率的信号,需要对系统时钟频率48MHz进行分频。
分频的方法可以很多。
这里,我先设计一个10分频器,利用此分频器,通过级联可得到1000分频器以及1M分频器。
由于74160本身便是模10计数器,可直接利用74160,进而考虑占空比,最后将输出接在QC端口。
第一个分频器的设计电路如下所示:
图3-1-110分频器的设计电路图
接着设计第二个分频器,该分频器为一个模24的计数器,仍然以74160为基础进行设计。
当输入48KHz和48Hz信号,将得到2KHz和1Hz的频率信号。
设计的电路如图3-1-2所示。
图3-1-224分频器的设计电路图
其波形图如下所示:
图3-1-324分频器电路的波形图
最后是一个二分频电路的实现,当然该分频器的实现着实简单,通过数字电路的学习便知只需利用一个T触发器便可组合成一个二分频器。
如下图所示:
图3-1-4二分频电路的实现
其波形图如下图所示:
图3-1-5二分频电路的波形图
最后,将得到的三个封装后的分频电路组装成一个整体分频电路,以便为后续的模块提供必要的频率信号。
图如下所示:
图3-1-6总的分频电路图
同时得到封装的图如下所示:
图3-1-6总的分频电路图封装
2、计时模块设计
计时模块是数字钟的核心部分,但并不是一个难点,在本实验中,我将计时模块划分成三个小模块进行设计,分别是秒计数模块、分计数模块和时计数模块。
它们设计的主要思路为设计模60计数器和模24计数器,均以74160进行扩展。
这里,我采用置数法来使计数器回零。
1秒计数模块
因为秒位的模数为60,所以这里我使用两片74160来设计模60计数器,采用置数法来使计数器归零。
其电路图如下所示。
图3-2-1秒计数模块的电路图
图中,非门的输出端为秒计数模块的进位信号,它将作为分计数模块的使能信号输入。
对该电路进行仿真,得到图3-2-2所示波形图:
图3-2-2秒计数模块波形仿真图
2分计数模块
分计数模块的设计与秒计数模块的设计思路一致,现将其电路图放置如下:
图3-2-3分计数模块的电路图
3时计数模块
时计数模块为一个模24的计数器,与设计分计数模块的考虑一样,其与非门的输入端并不是只有3个输入端,还需外加两个输入端,这两个输入端分别为ET1和ET2,它们接收来自秒计数模块和分计数模块的进位信号。
这里似乎知道了为什么要加入“多余”的输入端,先不急,后面我会给出明确解释。
先让我们看看时计数模块的电路图吧!
图3-2-4时计数模块的电路图
其波形仿真图如下所示:
图3-2-5时计数模块波形仿真图
这样,就完成了三个计数模块的设计,对它们进行封装,其封装图如下所示:
完成了三个小模块的设计,基本上就完成了整个计数模块的设计,对三个小模块进行整合,实现整体的设计。
其中,各进位信号的应该加至使能端,且采用同步计数的方法,即所有计数器的时钟信号均由一个频率信号驱动。
现将电路图与其仿真波形图放置如下:
图3-2-6计时模块的整体电路图
图3-2-7计时模块的整体电路图的波形仿真
其封装图如下所示:
至此,我就完成了计时模块的设计,至于后续中的扩展,将在后面一一介绍。
3、译码显示模块
为了能设计出动态译码显示电路,首先要设计出一个4个6选1的数据选择器,这个数据选择器在控制信号的作用下,不断循环选择秒位、分位和时位。
我选择使用8选1的数据选择器74151进行设计。
其电路图如下所示:
图3-3-14个6选1数据选择器
由图可以知道,我将控制信号加至74151的A、B和C端,其实就是a1、a2和a3,这个信号的产生得益于模六计数器的功能,信号的频率需大于30Hz,这样才能保证数码管在显示时不出现闪烁现象。
这样,我们先看看模六计数器的电路图吧!
图3-3-2模6计数器电路图
我给模6计数器的输入信号为1KHz的频率信号,产生的信号a[3..1]用来控制上述选择器,同时用作74138译码器的输入信号,用来不断选通对应的数码管;数据选择器选择输出秒、分或时的个位和十位,通过集成芯片7447的译码功能,将将其转换成对应的BCD码形式,以来驱动对应数码管的显示。
现将74138与7447的电路图示意如下:
图3-3-374138与7447
现在只需将动态译码显示所需封装图进行拼接即可,按照图3-3-5所示的动态显示模块设计进行各个子模块的拼装。
图3-3-4动态译码显示模块设计的一种方案
图3-3-5动态译码显示模块电路
得到其封装图如下所示:
4、整点报时模块
要使蜂鸣器在59’53”、59’55”、59’57”时发出低声(频率约为500Hz);在59’59”时发出高声(频率约为1KHz)。
我将其分成三个部分,其一是共同之处也就是59’50”报时,故将f[8]、f[6]、f[4]、f[1]、m[8]、m[6]通过六输入的与门连接得到输出x1;
其二是3”、5”、7”,分别将m[3]和m[4]、m[2]和m[4]、m[3]和m[2]和m[4]通过二输入或三输入与门连接,考虑到m[2]和m[3]和m[4]重复输入,故化简得到m[3]和m[4]、m[2]和m[4]通过二输入与门连接,得到输出x2和x3;9”则将m[1]和m[4]通过二输入的与门连接得到输出x4。
其三便是分别将500hz、x1、(x2或x3)通过三输入与门输出,以及1khz、x1和x4通过三输入与门输出。
整点报时模块的电路图如下所示:
图3-4-1整点报时模块的电路图
我同样为整点报时电路创建逻辑符号(封装),如图3-4-2所示。
图3-4-2整点报时模块逻辑符号
5、校时校分模块
因为校时与校分模块设计的原理一样,故仅针对校分模块进行介绍。
对于校分模块,我们知道分计数器的计数脉冲有两个不同的来源:
一个是秒的进位信号,还有一个是快速校分信号(1Hz脉冲),根据校分开关的不同状态决定送入分计数器的脉冲来源,以完成正常工作或快速校分功能,校分(校时)模块的设计方案如图3-4-3所示。
图3-5-1校分模块设计方案
现在我将介绍如何设计校时校分模块。
因为(以校分设计为例)分计数器的计数脉冲由两个来源(如上所述),则只要这两个来源中有一个满足,则分计数器可进行计数,因此这两个来源将满足“或”的关系,我们通过一个或门来选通这两个信号。
将校时校分电路与计时模块电路整合到一起,得到如下所示电路图:
图3-5-3校时校分电路与计时模块电路的整合
6、系统复位和系统保持功能
系统的复位和系统的保持并不是一个难点,因为在计时模块的设计中,已经将使能端与清零端的接口封装在了整个模块中了,作为整个的计时模块的使能与清零来使用。
如下图所示。
图3-6-1清零与保持电路的输入端
至此,整个多功能数字钟的各个模块就实现了,通过结合各个模块组装成一个具有基本功能的数字钟。
得到如下所示的整体电路:
图3-6-2具有基本功能的数字钟总电路图
*7、附加功能的实现
在基本功能模块实现的基础上,我们可以进行附加功能的扩充。
(1)计及校星期的设计
其中输入信号由计时信号产生。
对于星期功能接入总电路中,在之前所截计时、显示电路图中已有显示。
(2)闹钟电路的设计
闹钟电路主要是通过比较当前计数器的时间与设定的闹钟时间,如果相等,则蜂鸣器进入工作状态。
因此首先设计一个选择电路,用于选择设置闹铃界面或正常计时功能。
要设计一个模24与模60的计数器,作为设定闹钟的时与分的部件。
得到电路如下所示:
图3-7-1闹钟设置的电路图
图3-7-2闹钟比较的电路图
上述三个电路封装图如下
最终闹铃功能得以实现,但闹铃的声音蜂鸣器某一频率,若要设置成音乐则由于能力有效,还有待提高。
四、电路调试与仿真介绍
整个系统的设计被分成多个子模块进行设计,在进行模块的设计过程中,要不断进行电路的调试与仿真,从而判断电路的设计是否正确。
当然,即使调试与仿真无误,并不代表能在实验箱得到预期的结果。
电路进行调试之前,首先要将当前的电路文件设置为顶层实体:
右键“.bdf”文件,选择“SetasTop_LevelEntity”即可完成;还要将一些未用端口设置为三态:
选择“Assignments”→“Device…”→“Device&PinOptions…”→“UnusedPins”,选择“Asinputtri-stated”。
在正文中已将多数波形图给出,说明调试与仿真均正确。
五、编程下载
在仿真无误的情况下,将设计好的电路下载至实验箱中,通过硬件来检验软件设计的正确性。
其操作步骤为:
选择“Assignments”→“Pins”,在“Location”位置将对应的管脚号输入,完成输入后,通过“Programmer”→“Start”完成下载和检验。
在经过几次修改之后,最终电路设计基本正确,且实验箱的显示及对其的操作均能符合实验设计的基本要求。
得到引脚安放图如下所示:
六、结论
最终所有多功能数字钟的基本功能均得以实现,包括正常秒、分、时的正常计时功能,以及清零、使能、校分、校时功能,时钟具有整点报时功能(当时钟计到59’53”时开始报时,在59’53”,59’55”,59’57”时报时频率为512Hz,59’59”时报时频率为1KHz,)。
除此之外,还添加了闹铃设定功能,数字钟的计星期以及校星期的功能。
七、实验中遇到的问题及解决
第一次接触QuartusII软件,遇到的问题很多,但通过查资料,询问老师和同学还是成功将许多问题解决了。
1、在初次调试电路时,总是出现错误,但又不是电路设计的错误。
通过询问一些同学,才知道自己并未将待调试的电路文件设置为顶层实体。
2、消颤开关的加入原本是为了解决开关抖动所带来的影响,但由于频率输入的错误导致清零、使能、校分、校时、校星期时发生一定的延时。
八、实验感想
这一次的EDA2实验,花去了整整一个星期的时间,每天早上来到实验室调试,发现错误解决错误,在帮同学解决问题的时候,也可以提醒自己不能犯此类错误。
通过这次的电子线路课程设计设计实验,让我对QuartusII软件的应用有了更深一步的了解,回想参加华为杯时对于QuartusII软件茫然无措的场景,我相信在下次的参赛中会有较好的表现。
实验总是需要细心的,我于实验中多次出现一些鸡毛之问题,或是未将文件设置为顶层实体,或是未将电路的一些端口接输入,虽然问题不大,但却是花费了自己很多时间。
实验过程中,应该有一个全局的观念。
虽然是独立的设计各个模块,但模块之间的联系却不能不考虑。
我于设计完数字钟的基本功能之后,才发现用于扩展附加功能时,有点画蛇添足之感,尽是无从下手,这不能不说是自己眼光过浅而致。
其实,此次试验最重要的便是锻炼了自己在设计系统时建立的模块化思想。
我于以前便要求自己在解决系统设计时要培养自己的模块设计思想,却寻不到锻炼之机,此次实验可谓是于自己有很大的帮助。
在附加功能的设计上,参考了很多资料,自己花费了很大的心思,每天泡在电脑前,不断地尝试,最后的成功还是令自己挺欣慰的。
最后感谢老师和同学们给予我的帮助。
参考文献
[1]《数字逻辑电路与系统设计》蒋立平主编姜萍谭雪琴花汉兵编电子工业出版社2009
[2]《EDA技术与实验》付文红花汉兵编著机械工业出版社2007