基于QuartusII-的多功能数字钟设计.docx_第1页
基于QuartusII-的多功能数字钟设计.docx_第2页
基于QuartusII-的多功能数字钟设计.docx_第3页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多功能数字钟设计院系:专业:指导教师:班级:学号:姓名时间:2015.3.9-3.18摘要多功能数字钟在我们的日常生活中有着非常广泛的应用。本实验利用QuartusII软件设计一个多功能数字计时器,并下载到SmartSOPC实验系统中。这个数字计时器,可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能,这些功能相互独立,却又互相协调配合。在此类基础功能之上还添加了秒表功能。关键词 QuartusII软件 SmartSOPC实验系统 多功能数字钟外文摘要Title Multi-function digital clock design dissertationAbstractMulti-function digital clock in our daily life has a very wide application. This experiment using software QuartusII design a multi-function digital timer, and download to SmartSOPC experiment system. The digital timer, can complete 00:00:00 to 23:59:59 timing functions, and under the action of control circuit has to keep fast, reset, when the school, the school points, hour, and other functions, and these features are independent of each other, and coordinate with each other. On such a basis function also added stopwatch function.Keywords QuartusII、SmartSOPC experimental system、Multi-function digital timer。目录1 实验设计要求及说明-42 方案论证-43 各子模块设计原理与实现-53.1 脉冲发生器电路-53.2 计时电路-93.3 译码显示电路-133.4 清零电路-153.5 校分电路-153.6 保持电路-163.7 报时电路-173.8 秒表-184 多位一体-数字计数器总电路图-215 系统调试,仿真及编程下载-20 5.1 系统调试-20 5.2 系统仿真-20 5.3 编程下载-216 结论 -227 试验中所遇到的问题及解决方案-228 实验收获与感受-239 期望及要求-2410 参考文献-24【正文】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时可以快速校时);附加功能:1. 使时钟具有整点报时功能(当时钟计到5953”时开始报时,在5953”, 5955”,5957” 时报时频率为500Hz,5959”时报时频率为1KHz, );2实现秒表功能2 方案论证数字钟电路结构方框图:本实验的目的是利用QuartusII软件设计一个多功能的数字计时器,使该计时器具有计时,显示,清零,较分,校时及整点报时功能。依据上述数字钟电路结构方框图可知,秒计时器和分计时器均为60进制,小时计时器是24进制计数器。当秒计时器对1HZ时钟脉冲信号计数到60时,产生一个进位脉冲,使分计时器的数值加1,同样,分计时器计数到60时,使小时计时器的数值加一。当数字钟走时出现误差时,通过校时电路对时,分的时间进行校正,其中校时电路和清零电路只需在原有电路的基础上采用一定的逻辑门电路实现。为了保证数字钟走时准确,时钟信号源输出的信号频率需经过分频器分频,得到1HZ和1KHZ时钟信号。1HZ时钟信号用于计时,1KHZ时钟信号用于动态扫描译码电路。通过分计时器和秒计时器的引脚在固定时刻采用逻辑门进行逻辑运算后驱动蜂鸣器,可实现整点报时功能,引入不同的频率信号可改变报时声音的频率。与此同时,可合理利用实验板上闲置的两个LED数码管做成秒表,从而实现秒表计时功能。3 各子模块设计原理与实现31脉冲发生器电路3.1.1 脉冲发生器模块总体设计脉冲发生器是数字电子钟的核心部分,它的精度和稳定度直接决定数字电子钟的质量。本实验中,实验操作板只能提供48MHZ的频率,为保证数字电子钟的正常运行,我们需要多种频率的保障:电子钟正常运行时1HZ的秒脉冲,动态扫描译码器时1KHZ的扫描脉冲,报时电路中500HZ的低频信号脉冲,秒表计时中100HZ的时钟脉冲。这些脉冲的获得可通过分频电路对48MHZ的脉冲信号连续分频,选取我们所需要的频率信号输入相关电路即可。具体实现方法如以下流程图所示:3.1.2 脉冲发生器模块总原理图3.1.3 各子模块原理图(1)48MHZ频率信号经过由三个D触发器的级联构成的8分频系统作用变成6MHZ的频率,再用74160进行六分频,即可得到1MHZ的频率信号。原理图如下:仿真波形如下:(2)将以上得到的1MHZ频率信号经过由三个74160级联组成的1000分频电路,得到1KHZ的频率信号,原理图如下:(3)1HZ的频率信号只需将1KHZ的频率信号进行1000分频即可,具体电路与上图相同,这里不再赘述。500HZ的频率信号只需将以上所得的1KHZ频率信号经过D触发器进行2分频,而100HZ的频率信号可将1KHZ的频率信号通过一个74160进行十分频即可,具体原理图如下:A由1KHZ到500HZ,即模2计数器原理图:仿真图:B由1KHZ到100HZ即模10计数器原理图:3.2 计时电路3.2.1计时电路总体设计计时电路是本实验基础电路中的关键电路,也是本实验的核心之所在。由时计时器、分计时器、秒计时器构成。计时电路中的计数器, 可以用74160来实现。分别设计计时,计分和计秒的电路,计时为023,计分及计秒为059。即,采用模24进行计时,采用模60进行计分和计秒,在达到23时59分59秒时时钟自动清零。此模块总体电路原理图如下:仿真图如下:3.2.2 计时电路各子模块设计(1)秒计时器秒计时器即模60计数器,通过两片74160级联构成,在(01011001)8421BCD =59时同步置数,即将sh2sh0sl3sl0与非之后作为输入信号输入秒个位和秒十位的置位端,使两片计数器同时置零得到模60计数器。原理图: 封装图:仿真图如下:由仿真结果知,秒计时器是一个模60计时器。(2)分计时器分计时器也是模60计数器,其计数原理与秒计时器基本相同。通过两片74160级联构成,在(01011001)8421BCD =59时同步置数,即将mh2mh0ml3ml0与非之后作为输入信号输入分个位和分十位的置位端置零,使两片计数器同时置零得到模60计数器。原理图: 封装图:仿真图:由仿真结果知,此分计数器确为模60计数器。(3)时计时器时计时器即模24计数器,通过两片74160通过级联构成,通过在(00100011)8421BCD =23时同步置数,即将hh2hh0hl3hl0与非之后作为输入信号输入时个位和时十位的置位端置零,使两片计数器同时置零得到模24计数器。原理图:封装图:仿真由仿真结果知,此时计时器为模24计数器。(4)各计时器综合时各进位信号及置位信号说明 A.秒计时器向分计时器进位:由于74160是同步计数器,在秒计时器达到59秒时,向分计时器的使能端输入信号,使使能端有效。待下一个时钟脉冲到来时,秒计时器在清零的同时,也给分计时器进位。因而只需将秒计时器的置位信号通过一非门后,作为分计时器的使能信号。 B分计时器应在59分59秒时向时计时器输入信号,并使其有效。为达到这一目的,应使分计数器的mh2mh0ml3ml0和秒计时器向分计时器的进位信号相与非后作为分计时器的置位信号,达到清零效果,同时将置位信号通过一非门后作为时计时器的进位信号。 C.在达到23时59分59秒时,所有计时器将同时集体清零。因而可将hh2hh0hl3hl0和分计时器向时计时器的进位信号与非后作为时计时器的同步置位信号,以达到同步清零的目的。3.3 译码显示电路3.3.1 译码显示电路总体设计其中DIG0DIG5为LED的位码,ag为LED的段码。译码器74138用来选择哪一位LED显示,而24选四MUX用来决定所选LED上显示的内容。3.3.2 译码显示电路原理图 上面所示原理图中的四个74151八选一数据选择器联合构成了一个32选4数据选择器,目的是能够轮流选择输出计时器的秒分时以及秒表信号共六位数据;7447是将选择输出的4位BCD码转化成对应的数据以便可以由单晶体显示器显示输出;74138是一个译码器,用来控制选择哪一个显示器显示。本模块原理为:将1KHZ的频率进行摸8后所得输出信号快速扫描选择LED显示的位码,同时通过所得的三位信号的8种组合选择秒表个位,秒表十位,秒各位,秒十位,分个位,分十位以及时个位,时十位输出。使其在所选定的LED上显示出来。由于1KHZ的扫描频率很快,以及人眼的迟滞效应,LED显示基本看不到闪烁。3.4 清零电路清零电路的目的是在任一时刻,能够随意的对时钟显示电路进行清零控制,此电路的实现较为简单 ,只需在各位计时器的每个清零端加一开关,当开关在一种状态时,正常计时。而当开关在其对立状态时,则集体同步清零。原理图如下:依图,只需将clr信号作为输入信号输入各级计时器的每个清零端。当开关K2为0时,清零信号clr为1,计时器正常计时。而当K2为1时,clr为0,计时器清零。至此,清零的目的便已达到。3.5 较分校时电路在电子钟计时不准确的时候,需要对其进行校正。在实际应用系统中,较分电路是必不可少的一部分。为达到这一目的,需有一定的校分校时信号,通过开关电路的控制,系统在正常计时信号和较分信号之间进行选择,从而达到较分或正常计时的效果。3.5.1校分电路:将此电路作为分计时器的分个位的使能信号,由图可知,当开关信号K3为零时,时钟输入信号second有效,正常计数;开关信号K3为1时,1KHZ的校分信号有效,分计时器开始不受秒计时器的约束,快速较分。3.5.2 校时电路:同校分电路,只需将此电路与时个位的使能端相连,作为其使能端的输入信号即可达到校时目的。开关状态决定的电路功能为:开关状态有效使能信号时计时器功能K4为0正常进位信号minute正常计时K4为1校时信号1KHZ快速校时3.6 保持电路所谓保持电路,就是在开关作用时,计数器计数保持;开关不作用时,计数继续进行。要完成这个功能只需将秒位的使能端置无效就可以使计数停止,进而分位和时位都停止计数,这样就实现了保持功能。在电路中用开关K1经过一个非门接至秒位的使能端。原理图如下:将此电路接至秒个位的使能端,则当K1为0时,使能端有效,电路正常工作;当K1为1时,使能端为零,秒个位停止工作,其他各级计时电路因得不到上一级的进位信号而停止工作,从而整个数字电子钟实现保持功能。3.7 报时电路 通过各个逻辑门电路的组合,可比较容易的让计时器在设定的时刻通过蜂鸣器发出响声。并可通过改变输入频率的大小改变声音的频率,这即是报时电路的报时原理。本实验要求当时钟计到5953”时开始报时,在5953”, 5955”,5957” 时报时频率为500Hz,5959”时报时频率为1KHz。原理图如下:3.8 秒表秒表是针对实验板所做的一个附加功能。本实验中,时分秒三个计时器共使用了六个LED,其余的两个可用作秒表计时。秒表计时单元采用100HZ作为时钟输入,采用两个74160级联进行模100计数即可实现。当秒表单元达到99时,向秒计时器使能端提供一输入信号,使此使能端有效,在下一脉冲到来时,秒表单元清零同时向分计时器进位。这一单元的实现主要难点在于如何将秒表计时与正常的时钟计时统一起来,在不需要秒表时正常计时,而需要时,则进行秒表功能。 为不影响系统已有功能的前提下,我们加入了一个秒表开关K5,当时钟电路清零时,将秒表开关拨至0端,正常计时,一旦将秒表开关K5拨至1,则系统进入秒表计时阶段。这一附加功能可以通过一个选择器以及若干逻辑门电路实现。 秒表单元原理图:封装图:4 多位一体-数字计数器总电路图5 系统调试,仿真,编程下载5.1 系统调试QuartusII可通过层层递进的方式对所编程序进行调试。在编程完成且确定无误后,可通过编译查看程序是否出现编译错误,若编译有错误,可根据下方提供的说明有目的的进行更正,有效地减少了通篇检查程序的时间;若编译无误,则可对所编程序进一步进行仿真,查看仿真结果是否与预期值相同,若出现偏差,则返回原程序调试查看。若仿真结果也正确,则可以将程序下载入硬件电路进行进一步查看调试。对于无法进行仿真的程序则可在编译正确之后通过硬件显示来进行相关调试。5.2 系统仿真在程序写好并且编译无误后即可进行仿真。要进行仿真,首先要输入波形文件,波形文件的输入有三种方法,本实验采用向量波形文件进行仿真,仿真过程如下:先将待仿真文件设为顶层,选择“File-New”,打开“other files”标签项,选中“Vector Waveform File”,点击“OK”,在跳出图形的右边“Name”下的空白框里,双击鼠标左键,在跳出的对话框里。点击“Node Finder”按钮,在“Filter”中选择“Pins:all”后,点击“List”按钮,则“Nodes Found”对话框中列出了本工程 的所有输入输出结点。双击“clkin”和“light”,则右边的“selected nodes”框中了所选的两个结点,连续两次点击所出现的“OK”,即完成了结点的添加。选中时钟信号使其变深色后,选择左边工具栏的按钮在弹出的对话框中做相应设置。点击“OK”完成。保存波形输入文件。选择“Tools-simulator Tool”设置波形文件的路径,并作其他相关设置,按按钮进行仿真,待仿真完成后,按按钮查看波形。本实验的所有仿真结果均已在上文中相应位置处贴出,这里不再赘述。5.3 编程下载仿真通过的程序可下载至SmartSOPC实验系统中进行相关的调试或完成相关功能。将编译好的程序下载到芯片之前要进行管脚分配。选择“Assignments-Pins”,打开管脚分配对话框。在TO栏中,输入各管脚的名称,在Location下输入相应的管脚。选择“File-Save”来保存分配,然后关闭“Assignment Editor”。选择“Assignments-Setting”,打开Device&Pin对话框,选择Configuration标签页,采用串行配置器件EPCS4的主动配置模式。在Device&Pin对话框中选择Unused Pins标签页,进行没有使用的管脚设置为高阻状态。然后选择“Processing-Start Compilation”进行全程编译。将实验箱的电源打开,点击工具栏上的,再点击,点击,在弹出的对话框中点击“OK”,然后点击“close”关闭对话框,则在后面的“No hardware”变成了“ByteBlasterLPT1”。最后在“Program/configure”列下的复选框中打勾,点击开始向实验箱上下载。各个管脚分配情况:6 结论本实验欲通过QuartusII软件设计一个多功能数字钟,可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下,具有保持、清零、快速校时、快速校分等功能。在实验过程中,通过编程,调试,仿真确定无误后,我们将程序下载进了SmartSOPC实验系统中,经过多次的调试与完善,我们最终成功的完成了多功能数字钟的设计,并在完成以上基本功能的前提下,利用实验板上的资源,成功完成了秒表的设计。试验中所遇到的问题及解决方案在进行此次EDA试验之前,我们已经做过多功能数字钟的硬件实验,对相关的器件及原理都不陌生。在正式做实验前以及实验中,老师也对 QuartusII软件的相关用法,以及SmartSOPC实验系统的相关知识做了介绍。这些都帮助我们较好的入了门,但即使这样在实验过程中,依然出现了很多我们始料不及的问题:(1) 最先困扰我们的便是程序编译问题。由于没有真正理解QuartusII软件中,将待编译程序设为顶层的意义及重要性。在开始试验阶段,每次都毫无意识的对不同文件进行编译,导致每次编译结果都不相同,因为不明原因,耗费了我们很多时间。最后在同学的耐心解释下才明白过来。这之后就几乎再没在此处出过错。(2) 在进行分频器设计时,从1MHZ经过1000分频后到1KHZ时,以及从1KHZ经过1000分频到1HZ时刚开始输出信号从进位端RCO引出,下载至SmartSOPC实验系统中后,小灯并不闪烁,检查电路也无法发现什么问题。后来想到了微机老师讲过的占空比问题,才明白可能是小灯闪烁时间过短所致,将输出信号改接至QD后,这一问题终于得到解决。(3) 在进行计时电路设计时,刚开始设计的是独立的三个计时器,各循环功能均能满足,但合到一起则会出错,往往总是会提前进位及清零。经过多次尝试与思考,最终明白作为一个电子钟,它的分计时器部分应该在59分59秒的时候向时计时器进位而不是仅仅在59分时;同理,时计时器也应该是在23时59分59秒时同时清零,而不是在23时清零。7 实验收获与感受短短一周的EDA设计虽然很短暂,但却依然让我们收获了很多。在老师的帮助下,我们迅速掌握了QuartusII软件的应用,了解了整个设计的流程与方式,为以后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论