二十四小时计时器南理工EDAquartus应用.docx
《二十四小时计时器南理工EDAquartus应用.docx》由会员分享,可在线阅读,更多相关《二十四小时计时器南理工EDAquartus应用.docx(37页珍藏版)》请在冰豆网上搜索。
二十四小时计时器南理工二十四小时计时器南理工EDAquartus应用应用实验一二十四小时数字计时器、实验内容及题目简介、实验内容及题目简介利用QUartUSIl软件设计一个数字钟,并下载到SmartSOPC实验系统中,可以完成00:
00:
00到23:
59:
59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能。
、实验设计要求、实验设计要求
(1)设计基本要求1、能进行正常的时、分、秒计时功能;2、分别由六个数码管显示时分秒的计时;KI=I时钟保持不变);K2=1时钟的分、秒全清零);K3=1时可以快速校分);K4=1时可以快速校时);59,53”时开始报时,在5953”,59”时报时频率为1KH乙);3、KI是系统的使能幵矢(K仁0正常工作,4、K2是系统的清零开矢(K2=0正常工作,5、K3是系统的校分开矢(K3=0正常工作,6、K4是系统的校时开矢(K4=0正常工作,
(2)设计提高部分要求1、使时钟具有整点报时功能(当时钟计到55”,59f57”时报时频率为512Hz,59,592、闹表设定功能;3、自己添加其他功能;三、方案论证三、方案论证数字钟整体框图如下图所示译码显示电fig脉冲发生电路一计时电SS报时电本实验的目的是利用QUartUSIl软件设计一个多功能的数字计时器,使该计时器具有计时,显示,清零,较分,校时及整点报时功能。
依据上述数字钟电路结构方框图可知,秒计时器和分计时器均为60进制,小时计时器是24进制计数器。
当秒计时器对IHZ时钟脉冲信号计数到60时,产生一个进位脉冲,使分计时器的数值加1,同样,分计时器计数到60时,使小时计时器的数值加一。
秒计数模块和分计数模块的核心是模60的计数器,时计数模块的核心为模24的计数器,并且采用同步计数的方法,即三个模块的时钟信号均来自同一个频率信号。
当数字钟走时出现误差时,通过校时电路对时,分的时间进行校正,其中校时电路和清零电路只需在原有电路的基础上采用一定的逻辑门电路实现。
为了防止机械开矢造成的抖动,本次实验我采用D触发器来消抖。
系统复位模块只需要在计时模块的清零输入端输入有效信号,即可完成系统复位功能。
译码显示模块要采用动态译码显示电路。
用数据选择器在控制信号的作用下,选择输出秒位、分位或时位,上面所说的控制信号是由一个模6计数器产生的信号。
利用一个译码器进行数码管的位码控制,输入的控制信号同样为模6计数器产生的信号。
为了保证数字钟走时准确,时钟信号源输出的信号频率需经过分频器分频,得到IHZ和1KHZ时钟信号IHZ时钟信号用于计时,1KHZ寸钟信号用于动态扫描译码电路。
通过分计时器和秒计时器的引脚在固定时刻采用逻辑门进行逻辑运算后驱动蜂鸣器,可实现整点报时功能,引入不同的频率信号可改变报时声音的频率。
四、各子模块设计原理与实现四、各子模块设计原理与实现4.1.1脉冲发生器模块总体设计脉冲发生器是数字电子钟的核心部分,它的精度和稳定度直接决定数字电子钟的质量。
本实验中,实验操作板只能提供48MHZ的频率,为保证数字电子钟的正常运行,我们需要多种频率的保障:
电子钟正常运行时IHZ的秒脉冲,动态扫描译码器时1KHZ的扫描脉冲,报时电路中500HZ的低频信号脉冲。
这些脉冲的获得可通过分频电路对48MHZ勺脉冲信号连续分频,选取我们所需要的频率信号输入相矢电路即可。
具体实现方法如以下流程图所示:
4.1.2分频子模块原理图
(1)先设计一个1M分频器,利用此分频器,理论上将得到48HZ的频率信号,同时在10OO分频电路输出端得到48KHZ的频率信号。
该分频器的设计,利用74160计数器,74160是具有清零、置数、计数和禁止计数(保持)4中功能的集成BCD码计数器。
用3个74160级联可以形成一个1000计数器,即实现了IoOO分频,1M分频参照1K分频设计。
封装后fdiv2fredivinput48kfre48freinStI
(2)设计第二个分频器,该分频器为一个模24的计数器。
模24计数器由两个74160实现。
仍然以74160为基础进行设计。
当输入48KHZ和48Hz信号,将得到2KHz和2Hz的频率信号inStICOUNTER波形图如下所示11DWOMMO阳他乂皿PbDD述皿OAf0OqAJ河弋皿TMgH证略O.QEJ-X一TnTTLnJTTDTTUTTnTTLnJTTnTTLJTTDTTLrLTTnTTUTTnTTUTITnmJTTnrEnnfdivlmidjnputmid_OUtPUt封装后inst(3)最后是一个二分频电路的实现,当然该分频器的实现着实简单,通过数字电路的学习便知只需利用一个T触发器便可组合成一个二分频器。
其波形图如下图所示:
IfttrIeVtIUeat0PS两让14坤阴述卩皿300.卩八WPK卩庙述卩皿联.卩皿裱10Iwofrtinput05UroEreoutputA0封装后fdiv3twOfreinPUttwOfreOUtPUtinst34.1.3模块整合总体电路将各分频子模块整合为最后的脉冲发生电路,如图所示:
IWreOUTPUSiZOUTRq2TdiV3IwOfreinpulMOfreoUtPUtq2Mq4Qo3twOffelnPUttvOffeOUtPUt7*圭寸装fdivSySteminPUtIkfre2fre512freIfreinst4.2.1计时电路总体设计计时电路是本实验基础电路中的矢键电路,也是本实验的核心之所在。
由时计时器、分计时器、秒计时器构成。
计时电路中的计数器,可以用74160来实现。
分别设计计时,计分和计秒的电路,计时为023,计分及计秒为059o即,采用模24进行计时,采用模60进行计分和计秒,在达到23时59分59秒时时钟自动清零。
4.2.2计时电路各子模块设计秒计数模块因为秒位的模数为60,所以使用两片74160来设计模60计数器,采用置数法来使计数器归零。
其电路图如下所示groundLDN74160dTDNkey_minK)R2CLKAND2keyhrXnsl7CLKInSt仿真波形如下图所示:
MlSAeSO.1LLtCU.C43s_IInIIII八SGC_gejujWinslSeCShiJ0(NJdD4BQACQBDQCENTQDENPRCOCLRNCLKCOUNTERSeC_geojf-r4SeCge判SeCgeSeCgeLDNLDN*grounc-CLRCLKCLR1INPUlVCCIENINPUrIVCCkeVminINPUT1fVeCIkeVhrINPUTq0CLOS.Oi:
1(17.piH9J7x11374160nNNTNPLRNT-ABjDEEedHHSeOKQAQBQCQDCLKCOUNTERSeC_shi0SeCshilSeCShi、sec_shH3卜KI21J1X123.79XIlirlIrWWllmirllrrdrllTlITllmIlmIrHlrTIlrHlrdmlrrlrlITi4j;Iinst3消颤电路如下图所示:
将校分校时电路与计时电路相连,如下图所示:
4.6系统清零和保持功能清零电路的目的是在任一时刻,能够随意的对时钟显示电路进行清零控制。
所谓保持电路,就是在开矢作用时,计数器计数保持;开矢不作用时,计数继续进行。
在计时模块的设计中,已经将使能端与清零端的接口封装在了整个模块中了,作为整个的计时模块的使能与清零来使用。
如下图所至此,数字钟的所有模块均已设计完毕,将其一一整合,得下图整体电路:
五、附加功能的实现与设想由于本人能力有限,在一周的时间里只完成了一些较为基本的内容,对于一些提高部分,虽有在实验期间有所尝试,只实现了秒表和星期(_)秒表:
秒表是针对实验板所做的一个附加功能。
本实验中,时分秒三个计时器共使用了六个LED其余的两个可用作秒表计时。
秒表计时单元采用10OHZ作为时钟输入,采用两个74160级联进行模100计数即可实现。
当秒表单元达到99时,向秒计时器使能端提供一输入信号,使此使能端有效,在下一脉冲到来时,秒表单元清零同时向分计时器进位。
这一单元的实现主要难点在于如何将秒表计时与正常的时钟计时统一起来,在不需要秒表时正常计时,而需要时,则进行秒表功能。
为不影响系统已有功能的前提下,加入了一个秒表开矢K5,当时钟电路清零时,将秒表开矢拨至0端,正常计时,一旦将秒表开矢K5拨至1,则系统进入秒表计时阶段。
这一附加功能可以通过一个选择器以及若干逻辑门电路实现。
秒表原理图如下图所示:
k5iINPUTiVCC-ClkIOOINpOUTPUTrawsslO%zMAMD4SSIzsshOssh3KIins(三三)闹钟闹钟闹钟功能由于能力和时间限制我没有完成,但是也有相矢的一些设想,现罗列如下:
闹钟模块的设计主要需要解决三个问题,分别是闹钟校分校时的控制,显示模块的复用和闹铃在规定的时间响起。
a)闹钟校分校时的控制以2HZ频率来校分和校时原理图如下:
74160Idn-JLDNAi:
instQAQBQCQDRCO-X-L.lg3.X74160LDNA.fsD.COUNTERBQACQBDQCENTQDENPROCCLRNCLKCOUNTERC.fs2审一VVsQ4W-0,ai1I-emslV:
aBfe13.0nniCShijiShiiAND2toEinStik7.rrraMq7$3”0Inet?
IQ3iS53.c:
k3g3.ojautEKiG-eMMRi*VrZrwvb4购就亍“b)显示模块复用用K7控制选择器的输出,当K7=0时,输出的是计时器的值,K7=0时切换至闹钟校分校时界面,原理图如下:
i32XUanl6k7kalmk7nfg3.Onfs3.,0afe3.0afs3.0nsg3r.Ons$3.,0asg3.Oass3.Ojinst32选16内部电路:
nfs:
SELUA*7rfspAlBlA274157YlL垃Y4X1021亦3B2A3Y2Y3xfs(d症xfs2xfs3Anf筑!
:
X自fsj:
*o-HB3MY4B4GNxtaMULTlPLEXERHOVrwMirMhKMI-IIiliUIIUHnSgTSEL-5AlYasgBlfns、BnXA2YlasgB2Y2nsiXA33?
assB34nsgA4:
上_HeB4GN:
荷mk74157.十SELinstiMULTIPLEXER九11*jrEI*41lVX30I11*XSgPjM/1xag3J八XxagO)kalmk?
ssX启誘InssjW.assXT.l,nss,AassI:
mssjX:
W-X一74157SELAlBl2A3*_B3MHOB4GN,nst4MULTIPLEXER-V0命IiWFF-f显示模块的复用是通过设计一个32选16的选择器实现的。
由于K7是闹钟模式控制开矢,当K7为0时选择正常计数输出给显示模块,当K7为1时,选择闹钟校时的输出给显示模块显示。
这样做的好处是不需要新增显示模块,节约工作量。
C)闹钟定时响起计时输出与闹钟校分校时结果比较:
IirIHlMrIHtWHrHi:
naobiaoICOmPk7IkhZ9陰期fs3.0sg.o邮期k3k4QPlSsip.Od23eflKCSSfl.0InStfgip.OCfS.0f$l3.OCfe3.0sgip.OCgOaip.,OCOmP琲XlId熾bl3.0pUhZJInSt2t孤ND2:
jbeep2比较模块内部电路:
.31PI:
XblPlZ-atp):
A5bl:
Xbtpi-X:
Tim,【伽i:
B3I1.I:
wn:
汉邮I:
Z扫面;r3:
Xf33T:
.“mVc23.50MJ3.0AO-rf:
AOBO无PlBOAlV:
AlBlAII-IBlA2ALBOM_:
-CamPid22A2ALBOB2AEBO皿iB2AEBOA3AGEO.c2jA3AGBOB3.二B3ALBlALBlAEBlAEBlAGBlAGBl74857485忑回COMPARATOR环tCOMPARATOR74s&x2Sm-ErFrtrtAOBOAIBlA2B2A3ALBOAEBOAGBOB3ALBlAEBl:
1nst2骷ARATORZXomp2.环廿(Newv,打开“OtherfiIeS”标签项,选中“VeCtOrWaVefOrmFiIe”,点击“OK,在跳出图形的右边“Name下的空白框里,双击鼠标左键,在跳出的对话框里。
点击“NOdeFinder,按钮,在“Filter,中选择“Pins:
all”后,点击“List”按钮,贝IrNOdeSFOUnCr对话框中列出了本工程的所有输入输出结点。
双击“Clkin”和“light”:
则右边的“SeIeCtednodes”框中了所选的两个结点,连续两次点击所出现的“OK,即完成了结点的添加。
选中时钟信号使其变深色后,选择左边工具栏的固按钮在弹出的对话框中做相应设置。
点击“OK完成。
保存波形输入文件。
选择“TOOIS-simulatorTOOl”设置波形文件的路径,并作其他相矢设置,按一按钮进行仿真,待仿真完成后,按I按钮查看波形。
本实验的所有仿真结果均已在上文中相应位置处贴出,这里不再赘述。
6.3编程下载在仿真无误的情况下,将设计好的电路下载至实验箱中,通过硬件来检验软件设计的正确性。
其操作步骤为:
选择“Assignments“Pins”,在“LOCatiOn”位置将对应的管脚号输入,完成输入后,通过“Programmer”Start,完成下载和检验。
在经过几次修改之后,最终电路设计基本正确,且实验箱的显示及对其的操作均能符合实验设计的基本要求EDA设计(II)实验报告得到引脚安放图如下所示:
AbuzzerPJH.F33D6-M015V(default)丽tPWjraJB3WJjVfitefajIt)PlbLF1?
Sa&wo2J7做触jltJ磁dg7UtputFINJl352-5U峡fault)皿dg网PIN屮垢2.57険ult)PlNlI615!
/(default)dg4PTllJM2.57ftfault)dia7.E*PINJ)16713T虚帥出句7jAMSPiNiaI2.5V(defaultdk(defajlt)卩miaobwIrPUt2-57(Wait)/157(defikult)判氐】PmjiS*v/2.57(default)陶同PInjDiZ2.5V险聞It)乂Sag3OUtOUtPINJCI2/15V(defejlt)沏UtPUtPTlLFl2aI07MO2-5y佻创町卿風qsegiPlNElIISeglfio唧(0PlNZW2.5V(WfajIt)cnewrMfe七、实验中所遇到的问题及解决方案七、实验中所遇到的问题及解决方案在进行此次EDA式验之前,我们已经做过多功能数字钟的硬件实验,对相矢的器件及原理都不陌生。
在正式做实验前以及实验中,老师也对QUartUSIl软件的相尖用法,以及SmartSOP(实验系统的相尖知识做了介绍。
这些都帮助我们较好的入了门,但即使这样在实验过程中,依然出现了很多我们始料不及的问题:
(1)最先困扰我们的是程序编译问题。
由于没有真正理解QUartUSIl软件中设置整个工程架构的的意义及重要性。
在开始试验阶段,每次都对不同文件进行编译,导致每次都完成的是独立的工程,在整合的时候总会出现编译错误。
因为不明原因,耗费了我们很多时间。
通过询问一些同学,才知道自己并未将待调试的电路文件设置为顶层实体。
(2)在进行计时电路设计时,刚开始设计的是独立的三个计时器,各循环功能均能满足,但合到一起则会出错,往往总是会提前进位及清零。
在研究电路后发现,它的分计时器部分应该在59分59秒的时候向时计时器进位而不是仅仅在59分时;同理,时计时器也应该是在23时59分59秒时同时清零,而不是在23时清零。
可见在设计电路的时候往往不是简单的组合,在进行模块整合的时候一定要考虑到整体。
(3)闹钟模块之所以不成功是因为没有找到显示模块复用的方法。
主要是能力的不足,平时数电的基础没有打牢,导致做基本电路消耗了大量时间。
再后来发现可以使用32选16的电路时已经没有时间修改电路了。
八、八、实验收获与感受实验收获与感受短短一周的EDA设计虽然很短暂,但却依然让我们收获了很多。
在老师的帮助下,我们逐渐掌握TQUartUSIl软件的应用,了解了整个设计的流程与方式,为以后的科研设计工作打好了一个很好的基础。
让我们在实践中检验了自己的所学。
另外,此次试验最重要的便是锻炼了自己在设计系统时建立的模块化思想。
如今电路的复杂程度已不是个人能够全盘掌握的程度,必须要分开设计让后整合,虽然这次实验只是做了一个小工程,但是期间的模块化思想将对我们日后的工作产生长足的帮助。
从最初的预习,实验,再到后来的实验报告,每一个过程都在考验着我们的综合素质。
在整个实验的过程中,老师耐心讲解,大家互相帮助,积极交流学习心得与体会,在这一过程中,解决了很多自己一人无法完成的问题,同时在帮助别人解决问题的同时自身得到了提高。
最后,特别感谢我的指导老师,在整个设计过程中对我们耐心的指导与帮助。
九、九、参考文献参考文献1数字逻辑电路与系统设计蒋立平主编姜萍谭雪琴花汉兵编电子工业出版社20092.EDA技术与实验付文红花汉兵编著机械工业出版社2007