1、多功能数字钟设计院系:专业:指导教师:班级:学号:姓名时间:2015.3.9-3.18摘要多功能数字钟在我们的日常生活中有着非常广泛的应用。本实验利用QuartusII 软件设计一个多功能数字计时器,并下载到 SmartSOPC 实验系统中。这个数字计时器,可以完成 00:00:00 到 23:59:59 的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能,这些功能相互独立,却又互相协调配合。在此类基础功能之上还添加了秒表功能。关键词 QuartusII 软件 SmartSOPC 实验系统 多功能数字钟外文摘要Title Multi-function digit
2、al 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 fun
3、ctions, 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、SmartSOP
4、C 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 系统调试,仿真及编程下载-205.1 系统调试-205.2 系统仿真-205.3 编程下载-216 结论 -227 试验中所遇到的问题及解决方案-228 实验收获与感受-239 期望及要求-2410 参
5、考文献-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,595
6、9”时报时频率为 1KHz, ) ;2实现秒表功能2 方案论证数字钟电路结构方框图:本实验的目的是利用 QuartusII 软件设计一个多功能的数字计时器,使该计时器具有计时,显示,清零,较分,校时及整点报时功能。依据上述数字钟电路结构方框图可知,秒计时器和分计时器均为 60 进制,小时计时器是24 进制计数器。当秒计时器对 1HZ 时钟脉冲信号计数到 60 时,产生一个进位脉冲,使分计时器的数值加 1,同样,分计时器计数到 60 时,使小时计时器的数值加一。当数字钟走时出现误差时,通过校时电路对时,分的时间进行校正,其中校时电路和清零电路只需在原有电路的基础上采用一定的逻辑门电路实现。为了保
7、证数字钟走时准确,时钟信号源输出的信号频率需经过分频器分频,得到 1HZ 和 1KHZ 时钟信号。1HZ 时钟信号用于计时,1KHZ 时钟信号用于动态扫描译码电路。通过分计时器和秒计时器的引脚在固定时刻采用逻辑门进行逻辑运算后驱动蜂鸣器,可实现整点报时功能,引入不同的频率信号可改变报时声音的频率。与此同时,可合理利用实验板上闲置的两个LED 数码管做成秒表,从而实现秒表计时功能。3 各子模块设计原理与实现31 脉冲发生器电路3.1.1 脉冲发生器模块总体设计脉冲发生器是数字电子钟的核心部分,它的精度和稳定度直接决定数字电子钟的质量。本实验中,实验操作板只能提供 48MHZ 的频率,为保证数字电
8、子钟的正常运行,我们需要多种频率的保障:电子钟正常运行时1HZ 的秒脉冲,动态扫描译码器时 1KHZ 的扫描脉冲,报时电路中 500HZ的低频信号脉冲,秒表计时中 100HZ 的时钟脉冲。这些脉冲的获得可通过分频电路对 48MHZ 的脉冲信号连续分频,选取我们所需要的频率信号输入相关电路即可。具体实现方法如以下流程图所示:3.1.2 脉冲发生器模块总原理图3.1.3 各子模块原理图(1)48MHZ 频率信号经过由三个 D 触发器的级联构成的 8 分频系统作用变成 6MHZ 的频率,再用 74160 进行六分频,即可得到 1MHZ 的频率信号。原理图如下:仿真波形如下:(2)将以上得到的 1MH
9、Z 频率信号经过由三个 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计时电路总体设计计时电路是本实验基础电路
10、中的关键电路,也是本实验的核心之所在。由时计时器、分计时器、秒计时器构成。计时电路中的计数器, 可以用 74160 来实现。分别设计计时,计分和计秒的电路,计时为 023,计分及计秒为 059。即,采用模 24 进行计时,采用模 60 进行计分和计秒,在达到 23 时 59 分 59 秒时时钟自动清零。此模块总体电路原理图如下:仿真图如下:3.2.2 计时电路各子模块设计(1)秒计时器秒计时器即模 60 计数器,通过两片 74160 级联构成,在(01011001)8421BCD =59 时同步置数,即将 sh2sh0sl3sl0与非之后作为输入信号输入秒个位和秒十位的置位端,使两片计数器同时
11、置零得到模 60 计数器。原理图:封装图:仿真图如下:由仿真结果知,秒计时器是一个模 60 计时器。(2)分计时器分计时器也是模 60 计数器,其计数原理与秒计时器基本相同。通过两片74160 级联构成,在(01011001)8421BCD =59 时同步置数,即将 mh2mh0ml3ml0与非之后作为输入信号输入分个位和分十位的置位端置零,使两片计数器同时置零得到模 60 计数器。原理图:封装图:仿真图:由仿真结果知,此分计数器确为模 60 计数器。(3)时计时器时计时器即模 24 计数器,通过两片 74160 通过级联构成,通过在(00100011)8421BCD =23 时同步置数,即将
12、 hh2hh0hl3hl0与非之后作为输入信号输入时个位和时十位的置位端置零,使两片计数器同时置零得到模 24 计数器。原理图:封装图:仿真由仿真结果知,此时计时器为模 24 计数器。(4)各计时器综合时各进位信号及置位信号说明A.秒计时器向分计时器进位:由于 74160 是同步计数器,在秒计时器达到59 秒时,向分计时器的使能端输入信号,使使能端有效。待下一个时钟脉冲到来时,秒计时器在清零的同时,也给分计时器进位。因而只需将秒计时器的置位信号通过一非门后,作为分计时器的使能信号。B分计时器应在 59 分 59 秒时向时计时器输入信号,并使其有效。为达到这一目的,应使分计数器的 mh2mh0m
13、l3ml0和秒计时器向分计时器的进位信号相与非后作为分计时器的置位信号,达到清零效果,同时将置位信号通过一非门后作为时计时器的进位信号。C.在达到 23 时 59 分 59 秒时,所有计时器将同时集体清零。因而可将hh2hh0hl3hl0和分计时器向时计时器的进位信号与非后作为时计时器的同步置位信号,以达到同步清零的目的。3.3 译码显示电路3.3.1 译码显示电路总体设计其中 DIG0DIG5 为 LED 的位码,ag 为 LED 的段码。译码器 74138 用来选择哪一位 LED 显示,而 24 选四 MUX 用来决定所选 LED 上显示的内容。3.3.2 译码显示电路原理图上面所示原理图
14、中的四个 74151 八选一数据选择器联合构成了一个 32 选 4数据选择器,目的是能够轮流选择输出计时器的秒分时以及秒表信号共六位数据;7447 是将选择输出的 4 位 BCD 码转化成对应的数据以便可以由单晶体显示器显示输出;74138 是一个译码器,用来控制选择哪一个显示器显示。本模块原理为:将 1KHZ 的频率进行摸 8 后所得输出信号快速扫描选择 LED显示的位码,同时通过所得的三位信号的 8 种组合选择秒表个位,秒表十位,秒各位,秒十位,分个位,分十位以及时个位,时十位输出。使其在所选定的LED 上显示出来。由于 1KHZ 的扫描频率很快,以及人眼的迟滞效应,LED 显示基本看不到
15、闪烁。3.4 清零电路清零电路的目的是在任一时刻,能够随意的对时钟显示电路进行清零控制,此电路的实现较为简单 ,只需在各位计时器的每个清零端加一开关,当开关在一种状态时,正常计时。而当开关在其对立状态时,则集体同步清零。原理图如下:依图,只需将 clr 信号作为输入信号输入各级计时器的每个清零端。当开关 K2 为 0 时,清零信号 clr 为 1,计时器正常计时。而当 K2 为 1 时,clr 为0,计时器清零。至此,清零的目的便已达到。3.5 较分校时电路在电子钟计时不准确的时候,需要对其进行校正。在实际应用系统中,较分电路是必不可少的一部分。为达到这一目的,需有一定的校分校时信号,通过开关
16、电路的控制,系统在正常计时信号和较分信号之间进行选择,从而达到较分或正常计时的效果。3.5.1校分电路:将此电路作为分计时器的分个位的使能信号,由图可知,当开关信号 K3 为零时,时钟输入信号 second 有效,正常计数;开关信号 K3 为 1 时,1KHZ 的校分信号有效,分计时器开始不受秒计时器的约束,快速较分。3.5.2 校时电路:同校分电路,只需将此电路与时个位的使能端相连,作为其使能端的输入信号即可达到校时目的。开关状态决定的电路功能为:开关状态 有效使能信号 时计时器功能K4 为 0 正常进位信号 minute 正常计时K4 为 1 校时信号 1KHZ 快速校时3.6 保持电路所
17、谓保持电路,就是在开关作用时,计数器计数保持;开关不作用时,计数继续进行。要完成这个功能只需将秒位的使能端置无效就可以使计数停止,进而分位和时位都停止计数,这样就实现了保持功能。在电路中用开关 K1 经过一个非门接至秒位的使能端。原理图如下:将此电路接至秒个位的使能端,则当 K1 为 0 时,使能端有效,电路正常工作;当 K1 为 1 时,使能端为零,秒个位停止工作,其他各级计时电路因得不到上一级的进位信号而停止工作,从而整个数字电子钟实现保持功能。3.7 报时电路通过各个逻辑门电路的组合,可比较容易的让计时器在设定的时刻通过蜂鸣器发出响声。并可通过改变输入频率的大小改变声音的频率,这即是报时
18、电路的报时原理。本实验要求当时钟计到 5953”时开始报时,在 5953”, 5955”,5957” 时报时频率为 500Hz,5959”时报时频率为 1KHz。原理图如下:3.8 秒表秒表是针对实验板所做的一个附加功能。本实验中,时分秒三个计时器共使用了六个 LED,其余的两个可用作秒表计时。秒表计时单元采用 100HZ 作为时钟输入,采用两个 74160 级联进行模 100 计数即可实现。当秒表单元达到 99时,向秒计时器使能端提供一输入信号,使此使能端有效,在下一脉冲到来时,秒表单元清零同时向分计时器进位。这一单元的实现主要难点在于如何将秒表计时与正常的时钟计时统一起来,在不需要秒表时正
19、常计时,而需要时,则进行秒表功能。 为不影响系统已有功能的前提下,我们加入了一个秒表开关 K5,当时钟电路清零时,将秒表开关拨至 0 端,正常计时,一旦将秒表开关 K5 拨至 1,则系统进入秒表计时阶段。这一附加功能可以通过一个选择器以及若干逻辑门电路实现。 秒表单元原理图:封装图:4 多位一体-数字计数器总电路图5 系统调试,仿真,编程下载5.1 系统调试QuartusII 可通过层层递进的方式对所编程序进行调试。在编程完成且确定无误后,可通过编译查看程序是否出现编译错误,若编译有错误,可根据下方提供的说明有目的的进行更正,有效地减少了通篇检查程序的时间;若编译无误,则可对所编程序进一步进行
20、仿真,查看仿真结果是否与预期值相同,若出现偏差,则返回原程序调试查看。若仿真结果也正确,则可以将程序下载入硬件电路进行进一步查看调试。对于无法进行仿真的程序则可在编译正确之后通过硬件显示来进行相关调试。5.2 系统仿真在程序写好并且编译无误后即可进行仿真。要进行仿真,首先要输入波形文件,波形文件的输入有三种方法,本实验采用向量波形文件进行仿真,仿真过程如下:先将待仿真文件设为顶层,选择“File-New”,打开“other files”标签项,选中“Vector Waveform File”,点击“OK” ,在跳出图形的右边“Name”下的空白框里,双击鼠标左键,在跳出的对话框里。点击“Nod
21、e Finder”按钮,在“Filter”中选择“Pins:all”后,点击“List”按钮,则“Nodes Found”对话框中列出了本工程 的所有输入输出结点。双击“clkin”和“light”,则右边的“selected nodes”框中了所选的两个结点,连续两次点击所出现的“OK”,即完成了结点的添加。选中时钟信号使其变深色后,选择左边工具栏的 按钮在弹出的对话框中做相应设置。点击“OK”完成。保存波形输入文件。选择“Tools-simulator Tool”设置波形文件的路径,并作其他相关设置,按 按钮进行仿真,待仿真完成后,按 按钮查看波形。本实验的所有仿真结果均已在上文中相应位置
22、处贴出,这里不再赘述。5.3 编程下载仿真通过的程序可下载至 SmartSOPC 实验系统中进行相关的调试或完成相关功能。将编译好的程序下载到芯片之前要进行管脚分配。选择“Assignments-Pins”,打开管脚分配对话框。在 TO 栏中,输入各管脚的名称,在 Location 下输入相应的管脚。选择“File-Save”来保存分配,然后关闭“Assignment Editor”。选择“Assignments-Setting” ,打开 Device&Pin 对话框,选择Configuration 标签页,采用串行配置器件 EPCS4 的主动配置模式。在Device&Pin 对话框中选择 U
23、nused Pins 标签页,进行没有使用的管脚设置为高阻状态。然后选择“Processing-Start Compilation”进行全程编译。将实验箱的电源打开,点击工具栏上的 ,再点击 ,点击,在弹出的对话框中点击“OK” ,然后点击“close”关闭对话框,则在 后面的“No hardware”变成了 “ByteBlasterLPT1”。最后在“Program/configure”列下的复选框中打勾,点击 开始向实验箱上下载。各个管脚分配情况:6 结论本实验欲通过 QuartusII 软件设计一个多功能数字钟,可以完成 00:00:00到 23:59:59 的计时功能,并在控制电路的作
24、用下,具有保持、清零、快速校时、快速校分等功能。在实验过程中,通过编程,调试,仿真确定无误后,我们将程序下载进了 SmartSOPC 实验系统中,经过多次的调试与完善,我们最终成功的完成了多功能数字钟的设计,并在完成以上基本功能的前提下,利用实验板上的资源,成功完成了秒表的设计。试验中所遇到的问题及解决方案在进行此次 EDA 试验之前,我们已经做过多功能数字钟的硬件实验,对相关的器件及原理都不陌生。在正式做实验前以及实验中,老师也对 QuartusII软件的相关用法,以及 SmartSOPC 实验系统的相关知识做了介绍。这些都帮助我们较好的入了门,但即使这样在实验过程中,依然出现了很多我们始料
25、不及的问题:(1( 最先困扰我们的便是程序编译问题。由于没有真正理解 QuartusII 软件中,将待编译程序设为顶层的意义及重要性。在开始试验阶段,每次都毫无意识的对不同文件进行编译,导致每次编译结果都不相同,因为不明原因,耗费了我们很多时间。最后在同学的耐心解释下才明白过来。这之后就几乎再没在此处出过错。(2( 在进行分频器设计时,从 1MHZ 经过 1000 分频后到 1KHZ 时,以及从1KHZ 经过 1000 分频到 1HZ 时刚开始输出信号从进位端 RCO 引出,下载至 SmartSOPC 实验系统中后,小灯并不闪烁,检查电路也无法发现什么问题。后来想到了微机老师讲过的占空比问题,
26、才明白可能是小灯闪烁时间过短所致,将输出信号改接至 QD 后,这一问题终于得到解决。(3( 在进行计时电路设计时,刚开始设计的是独立的三个计时器,各循环功能均能满足,但合到一起则会出错,往往总是会提前进位及清零。经过多次尝试与思考,最终明白作为一个电子钟,它的分计时器部分应该在59 分 59 秒的时候向时计时器进位而不是仅仅在 59 分时;同理,时计时器也应该是在 23 时 59 分 59 秒时同时清零,而不是在 23 时清零。7 实验收获与感受短短一周的 EDA 设计虽然很短暂,但却依然让我们收获了很多。在老师的帮助下,我们迅速掌握了 QuartusII 软件的应用,了解了整个设计的流程与方
27、式,为以后的科研设计工作打好了一个很好的基础。同时,整个实验的过程也实实在在地向我们展示了理论与实践之间的距离,正所谓实践出真知,很多以前理论课上耳熟能详的东西在实际的应用中并不是像我们所想象的那么简单,而很多我们在理论课上永远不会注意到的细节却往往总是会在实验中阻碍着我们前进的脚步。通过此次实践机会,数电在我的脑海中再也不像以前那么呆涩,突然之间变得灵动而丰富起来。从开始 EDA 设计到现在,已经差不多有快两个星期了,从最初的预习,实验,再到后来的实验报告,每一个过程都在考验着我们的综合能力。在整个实验操作阶段,各类问题层出不穷,但我都会适时的进行心态上的调整,静心思考,认真琢磨,终于顺利完
28、成了此次试验,整个实验过程也充满着无穷的乐趣。而整个的论文写作阶段,不但让我们对已做实验有了一个系统的思考与整理机会,同时,论文的格式要求,也让我们早早体会到了标准格式的重要性,对于快要大三下的我们,早早的适应毕竟是一个很好的事情。在整个实验的过程中,整个周围氛围都很融洽,大家都能互相帮助,积极交流各自的心得与体会,在这一过程中,很多自己无法解决的问题都得到了很好的解决,同时在帮助别人解决问题的同时,自身的知识架构也更加明了深刻,很是受益匪浅。特别感谢我的指导老师,在整个设计过程中对我们耐心的指导与帮助。在实验室那么嘈杂的环境中,老师的微笑总能静人心扉,激起我们坚持下去的勇气,我们真的很感动,真心地谢谢您!8 期望及要求本次试验总体上来说是成功的,但由于时间上的限制还有很多想实现的功能没来的及实现,有些遗憾!如果还有机会,我希望我设计的电子时钟,能够如我所愿奏出美妙的有旋律的音乐。我想我会用数据选择器来实现此功能,这样便不会过多的引入由逻辑门电路带来的延迟,而给整个音乐效果带来大的影响。9 参考文献【1】蒋立平 数字逻辑电路与系统设计 电子工业出版社 【2】南京理工大学电子技术中心 EDA 设计实验指导书 【3】 葛汝明 山东大学出版社 电子线路实验与课程设计