




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于CPLD的多功能数字时钟实现何有为 沈祖斌(江汉大学数计学院 湖北,武汉 430056)摘要:基于CPLD的数字时钟,采用原理图方式设计,使用自上而下的思想和模块化思想设计时钟系统,形成一个结构明晰的带有防机械按键抖动的多功能数字时钟。在quartusII 9.0平台上编译与仿真,得到正确结果;同时也在ALTERA公司的CPLD芯片EPM240T100C5上验证通过,效果良好计时精准。本文详细介绍该数字时钟系统通过原理图方式实现的全过程,重点介绍动态刷新、功能选择、校时闪烁、防机械按键抖动模块的功能实现。采用原理图设计方式,加强了对数字逻辑器件的熟悉,能全方位锻炼学生能力。关键词:数字钟
2、防抖动 原理图 校时Abstract:Digital clock based on CPLD, the schematic design, using the top-down thought and the idea of modularization design of the clock system, forming a structure clear with anti machinery jitter of keys of the multi-function digital clock. On the quartusII 9 platform to compile and sim
3、ulation, get the right results, but also in the ALTERA company's CPLD chip EPM240T100C5 verification through, the effect of good time accurate. The whole process of the digital clock system is introduced in detail, and the function of dynamic refresh, function selection, flash, and anti mechanic
4、al key jitter module are introduced in detail. Using the principle diagram design method, strengthen the understanding of the digital logic device, can the full range of training students' ability.Key words: digital clock,Anti shake, Schematic diagram, School1. 整体设计方案本系统采用最原始的原理图设计方案,采用原理图设计能最大限
5、度的了解内部电路结构,了解其中的原理构造,清晰易懂,而且在一定程度上很好的强化与锻炼了“数字逻辑”知识。在一般的简易时钟基础上有了比较明显的改进。1.1系统需求分析该时钟主要的功能有: 数字钟采用12h制计时,由4只数码管显示,不同模式下可以显示时分,分秒。 小时和分钟部分具有校时功能,且对分钟校准时,分显示部分闪烁;对小时校准时,小时显示部分闪烁。 具有防机械按键抖动功能,能够基本上消除抖动,从而增强系统稳定性。 外部按键输入不能多于两个,model键用于切换模式,check键用于校时。 当处于时分显示模式时,中间的小数点闪动以此代表秒钟。 以ALTERA公司的EPM240T100C5为硬件
6、基础,要求验证良好,计时精准。1.2 系统实现流程如图所示,是该时钟的整体实现流程图,实验板采用CPLD芯片EPM240,它是一个中规模的实验板,有很高的集成性,完全可以完成这个系统的需求。50MHz晶振源分频为1Hz秒、分、时计数 电路功能选择电路动态刷新和显示译码电路闪烁电路校时电路防机械按键抖动电路控制电路该时钟的晶振源由实验板自带的50MHz晶振源提供,考虑到系统的特殊性需要一定程度的时间准确性,对50MHz分频得到1Hz的脉冲;然后对其计数,“秒钟”满60清0向分位进一,同样“分”满60进一到“时”,小时采用12小时制,故时满12清零。接着,使用刷新电路对其进行动态刷新,并通过数码管
7、显示出来。对于校时部分,直接通过校时电路对分、时部分进行校时。最后,关于对控制电路的设计,控制电路通过使用模二进制的循环状态机实现显示时分、显示分秒、分钟校时闪烁、小时校时闪烁四种模式循环,不同模式的控制,对模式信号进行处理,从而使MUX进行不同的选择实现显示以及闪烁。关于防抖部分,在每个按键输入处进行消抖处理即可。2. 数字钟模块实现在确定整体思路基础后,进行模块化设计,采用模块化设计方便进行局部调整,以及模块的重用,便于开发,节省开发流程。可以进行同步设计而不需要等待某个部分设计好后才进行后续设计,能很好的进行并行开发,缩短开发周期。对于该系统划分为以下几个模块去实现:分频电路 秒钟计时电
8、路 时钟计时电路 动态刷新和译码显示电路 控制电路 防机械按键抖动电路 闪烁电路 校时电路 功能选择电路2.1 分频电路实现由于晶振源为50MHz,考虑该时钟系统需要计时的精准性,故需要将其准确的分频为1Hz脉冲。采用8个74ls90作为分频基础芯片,74ls90可以进行2、5、10进制计数,将CKLB接输入信号,QD即为5分频后的信号;将CLKA接输入信号,QA接CLKB,则QD输出即为10分频信号。如图所示将一个5分频和7个10分频串联,输出即为1Hz。但考虑到防抖及校时电路还需要其他频率的脉冲,这里也引出100Hz、500Hz、1KHz、10KHz的脉冲信号。完成该电路设计后将其封装成m
9、odule,方便后面的调用。封装方法:选中电路图,File à Create/update à Create symbol files for current File 保存即可。系统可直接调用封装好的模块。2.2 秒钟计时电路实现在分频电路中已经得到1Hz脉冲,秒钟模块选用74ls90作为个位,采用10进制;74ls92作为十位,采用6进制。选用它们而不用74ls161,考虑到选用最合适的芯片不需要多用的部分从而减少引脚和电路的冗余,使电路尽量精简。将1Hz脉冲引进到74ls90的CLKA,当满十产生进位时,输入到74ls92的CLKA。当74ls92满6产生进位时,输出
10、进位到分钟,并将所有引脚输出,方便后面进行译码显示。如图所示为设计的电路图,同样需要将其封装。由于分钟部分的原理和秒钟完全一致,那么就可以直接重用秒钟模块,而不需要再进行设计。很好的体现模块化设计的优势。2.3 时钟计时电路实现基于在分钟电路中的进位脉冲,输入到74ls90的CLKA,从而进行时的计数,依然采用74ls90作为个位,74ls92作为十位。当计数到12时清零,即十位为一,个位为二时产生清零信号,给74ls90和74ls92的CLRAB,从而达到清零目的,使用与门进行判断是否输出CLR信号。设计如图所示,并将其封装成模块。2.4 动态刷新及译码显示电路实现由于实验板EPM240采用
11、动态刷新的驱动方式,故该电路也采用动态刷新,而且采用动态刷新可以很好的节约引脚资源。动态刷新电路利用了人眼的“视觉暂留”效应,即人眼视觉神经的反应速度为二十四分之一秒,当人看到的图像消失后,在人眼力依然保留其影像0.1-0.4s左右的图像视觉暂留。动态刷新电路利用这个效应很好的达到最后的显示效果。刷新电路如图所示:动态刷新电路由一个模2计器和一个74ls139来控制位选,模2计数器四种状态Q1Q0=00,Q1Q0=01,Q1Q0=10,Q1Q0=11分别代表选通数码管位选1,2,3,4.由于利用“视觉暂留”效应则刷新频率应不小于24Hz。在该刷新电路下面添加了一个小的秒的dp闪烁点,用于在显示
12、时分模式时以一秒单位的闪烁来代表秒钟。因为要使左起第二个数码管下面的dp闪烁,而其他不闪烁。故应当选通Q1Q0=10状态的dp。同时引进一个1Hz的脉冲,达到以秒为单位闪烁的效果。完成对数码管位选后,需要通过译码电路输入七段显示信号并在数码管上显示出来。所以在选中对应数码管位时,需要译码电路输入正确的BCD码。通过多路选择器MUX16_41实现正确的信号输入。使用模2计数器控制位选的同时也控制MUX16_41信号选择。MUX16_41是一个16位4选一多路选择器,可以直接使用quartusII 9.0的MegaWizard Plug-InManager功能进行设计。最后通过7448译码显示所选
13、中的7段显示码信号,并在数码管上显示出来。设计如图所示:2.5 控制电路实现控制电路是该系统能实现各种模式切换以及闪烁的重要部分。在控制电路中主要输出模式切换信号、闪烁信号、校时信号。决定了模式的状态和是否闪烁以及闪烁小时部分还是分钟部分。本系统设计了正常显示小时分钟、正常显示分秒、分钟校时闪烁、小时校时闪烁这四种状态,四种状态的实现通过一个状态机循环,即采用模二进制计数器。对应模式和模二计数器状态如下:M1正常显示小时分钟(S1S0=00)、M2正常显示分秒(S1S0=01)、M3分钟校时闪烁(S1S0=10)、M4小时校时闪烁(S1S0=11);模式切换信号分两种:数码管上显示小时和分钟
14、数码管上显示分钟和秒钟;闪烁信号也分两种:小时部分闪烁并校时 分钟部分闪烁并校时。需要模式切换信号的模式有M1、M3、M4,需要模式切换信号的模式有M2。使模式切换信号为低电平;模式切换信号为高电平,那么由此构造出来的真值表如图: 采用的电路结构为S1与非门连接然后和S0相与得到切换信号C1,并将C1信号输出给MUX31_21,从而实现功能切换。具体功能切换实现请参考下面的功能选择电路实现模块。 同理需要闪烁信号的模式有M4,需要闪烁信号的模式有M3,两种闪烁信号都不需要的模式有M1、M2。使需要闪烁时的状态为高电平,不需要闪烁时的状态为低电平。构造对应真值表如图: 采用电路结构为,在M3模式
15、下取闪烁信号为S0连接非门然后与S1相与得到高电平;M4模式下直接让S0和S1相与得到高电平,输出给闪烁电路和校时电路。由于闪烁时即代表该部分在校时,故闪烁电路和校时电路可以共用闪烁信号。既完成了对闪烁电路控制又完成了对校时电路的控制。控制电路的模二计数输入由外部定义的机械按键输入,该键即为module键。最后设计完成的控制电路原理图如图所示:2.6 防机械按键抖动电路稳定可靠的信号输入是时钟系统能可靠工作的重要条件,我们不能将任何有毛刺的输入作为计时器的时钟信号,因此需要设计机械按键防抖动电路。该系统涉及到两个外部机械按键,要使它们每一次按下时都要产生单脉冲信号,以此提高可靠的信号。由于机械
16、式开关的核心部件为弹性金属簧片,因而在开关切换的瞬问会在接触点出现来回弹跳的现象。虽然只是进行了一次按键,但在按键信号稳定的前后出现了多个脉冲,如图按键波形图所示。如果将这样的信号直接送给计数器采集的话,将可能把按键稳定前后出现的脉冲信号当作按键信号,这就出现人为的一次按键,但计数器以为多次按键现象。为了确保按键识别的准确性,在按键信号抖动的情况下不能进入状态输入,为此就必须对按键进行消抖处理。 按键抖动时间的长短由按键的机械特性决定,一般为5ms-lOms,按键稳定闭介时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。这里我采用了硬件消抖的方法。实验开发板机械按键module键
17、和check键常态下为高电平。如图为去抖电路所示硬件消抖电路,当按键Y按下时产生抖动,此时若时钟脉冲CP的上升沿不来则两个D触发器的Q端不变,保持初始状态。设初始状态为Q1=Q2=0,输出。这时即使Y有抖动也不会影响输出,如图为消抖仿真时序图所示,当第n个时钟脉冲CP的到来时,触发器DFF37翻转,Q1=1;DFF36不变,则S=1。当n+1个时钟脉冲到来时,DFF37不变,DFF36翻转,Q2=1,此时锁存Q1=Q2=1,则S=1。此时按下按键Y,在n+2个脉冲时钟到来时,触发器DFF36、DFF37维持不变。当按键Y松开时,D1=0,在第T个CLK脉冲到来时Q1=0,Q2不变,则S=0,产
18、生了一个单脉冲信号。当第T+1个脉冲到来时,Q2翻转,此时S=1回到常态。当按键Y松开时,如果此时第m个时钟脉冲CP上升沿到来,Q1=1,Q2=0,则S=1。第m+1个时钟脉冲CP的上升沿带来时,Q1=1,Q2=1,则S=1。所以只要Y松开,即使有时钟脉冲出发,输出S仍保持不变。由此可得,按键Y按下一次,S端将获得一个与时钟脉冲同步的单次稳定脉冲信号输入给计数器。 这样就很好解决了按键“失灵”的情况,使得每一次按下外部机械按键时都只产生一个稳定的信号。为后面验证工作打下了很好的基础,保证了实际操作的准确性和灵敏度。2.7 校时电路实现 当出现计时误差时,校时电路就需要被使用。校时是数字时钟应该
19、具备的基本功能。一般电子表都具有时、分、秒等校时功能,这里只对小时和分钟进行校时。对校时电路的要求是,在小时校准时不影响分秒的正常计数,在对分钟校准时不影响小时和秒的计数。以对分钟校时为例,当对分钟进行校时时,需要屏蔽掉来自秒十位的进位。没有进行校时时,秒十位的进位能够顺利进入分个位计数。原理图设计如图所示:JW即为上一位的进位,S为按键check产生的校时信号,CLK_1Hz为校时的速度,频率越高校时时速度越快,这里选择频率为一秒。由图可知,当没有校时信号,JW信号是有效的,当产生了校时信号时JW位是无效的。达到了校时电路的要求。完成电路后同样将其封装成模块jiaoshi。那么如何用一个键完
20、成对分和时的校时呢,之前在控制电路中产生过校时控制信号,将其与check键产生的信号相与便可知道对那一部分校时了。同时在校时前,需要用消抖电路对按键check键产生的信号消抖。2.8 闪烁电路实现 为了给人视觉更好的体验感,使系统在校时时,该部分也一起闪烁。以分钟部分校时闪烁为例,在为分钟校时时,则数码管的后两位应该闪烁即L1、L2。那么闪烁是如何实现的呢?前面我们讲过利用“视觉暂留”效应完成动态刷新,所以要使数码管闪烁,只需要让数码管对应位的选通频率低于人眼的视觉暂留时间,人眼就能看到闪烁了。为了不干扰M1和M2模式,它们为正常显示不产生闪烁。故在动态刷新电路后的74ls139后加入闪烁电路
21、,达到闪烁效果。只需要改变选通频率即可。原理图设计如图:W信号为正常信号当MUX_2_1选择data0时即不闪烁,当选择data1时即为闪烁,通过Counter16来改变选通的频率,达到人眼看到的闪烁效果。然后将其封装成模块。最终为74ls139的连接原理图:Flash即为封装的模块名。其中信号f_f和f_s在上面的控制电路中已经产生,这里直接使用,相当于闪烁电路的总开关信号。4位数码管中,前两位负责小时的闪烁,后两位负责分钟的闪烁。2.9 功能选择电路实现该系统共有四种模式M1正常显示小时分钟、M2正常显示分秒、M3分钟校时闪烁、M4小时校时闪烁;当按下module键时,能在4位数码管上依次
22、正常显示出来。那么如何做到数码管能在对应模式下显示对应的数据呢?首先将数据类型分一下类,即在M1、M3、M4模式下显示小时和分钟和M2模式下显示分钟和秒钟,这两种需要显示的数据类型。在控制电路中我们提取出了模式切换信号C1,通过MUX我们可以来区分这两种要显示的数据类型。将选择出来的信号再给显示译码电路即可完成对应功能。原理图设计如图:至此,我们完成了所有模块的设计,将各模块调用即可形成数字时钟系统。下面为该系统的整体原理图:读者可以在这个网址下载该系统全部原理图:3. 验证与优化经过需求分析,模块划分和设计,模块实现,调用模块组成最终原理图。我们完成了该数字系统的设计。全部流程和设计原理图均在quartus II9.0平台上编译仿真通过,最终系统的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024广东韶关市新丰县国有资产管理集团有限公司专业技术人员招聘笔试参考题库附带答案详解
- 2025年一建《机电工程管理与实务》考试工程经济与造价管理专项练习解析试卷
- 2025年成人高考《语文》古诗词鉴赏专项突破题库
- 2025年危险化学品安全管理员考试模拟试题库
- 2024年合肥市某大型图书馆图书管理员招聘笔试参考题库附带答案详解
- 2025年小学语文毕业升学考试全真模拟试卷:传统文化知识精讲精练与解析
- 山东财经大学燕山学院《新闻采访与写作》2023-2024学年第二学期期末试卷
- 2025律师为购房者提供商品房买卖合同咨询与服务
- 周口文理职业学院《高等物流学》2023-2024学年第二学期期末试卷
- 徽商职业学院《康复药理学》2023-2024学年第二学期期末试卷
- 2024年广东省五年一贯制学校招生考试数学试卷
- 2024年郑州黄河护理职业学院单招职业技能测试题库及答案解析文档版
- 浅谈小学音乐教学中的情境创设(学校竞赛论文)
- 海马CVT-VT2变速箱培训
- 第三章延伸孔型设计
- 普通高中课程设置及学时安排指导表
- 隧道盾构法施工技术
- 非金属材料质量要求第2部分结构辅料
- 三基三严试题
- 反激式变压器设计软件(最实用)
- 科护士排班表
评论
0/150
提交评论