首页 EDA多功能数字钟

EDA多功能数字钟

举报
开通vip

EDA多功能数字钟EDA设计 多功能数字钟 作者:*** EDA设计 多功能数字钟 院系:****** 班级:****** 学号:****** 姓名:***** 指导老师:****** 实验时间:2010.4.26~2010.4.29 摘要: 本文采用自顶向下的分析方法。首先分析了多功能数字钟的设计要求、所需实现的功能,然后分析了实现每个功能所需要的基础模块,最后进一步分析了各种基础模块。在具体设计时,采用的是自底向上的设计方法。首先设计各种基础模块,然后设计各种功能模块,最后进...

EDA多功能数字钟
EDA设计 多功能数字钟 作者:*** EDA设计 多功能数字钟 院系:****** 班级:****** 学号:****** 姓名:***** 指导老师:****** 实验时间:2010.4.26~2010.4.29 摘要: 本文采用自顶向下的 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。首先分析了多功能数字钟的设计要求、所需实现的功能,然后分析了实现每个功能所需要的基础模块,最后进一步分析了各种基础模块。在具体设计时,采用的是自底向上的设计方法。首先设计各种基础模块,然后设计各种功能模块,最后进行综合设计。本次设计除了实现基本的时钟电路外,还实现了整点报时、闹钟、日期、星期、倒计时、秒 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 、铃声等多种功能。 Abstract: This article adopts the top-down analysis method .Above all ,it analyses the design requirement and the required functionality of Multi function Digital Clock .And then it analyses the needed basic modules which can achieve each function .Lastly ,it analyses each basic module further .When it comes to the specific design ,it adopts the bottom-up design method .Firstly ,it designs each basic module .Then , it designs the function modules based on the basic modules .Finally ,it integrates all the designs .Besides the function of basic clock ,it also achieves functions of hourly chime ,alarm , date ,week ,countdown ,stopwatch and ring. 关键词: 计数 封装 同步 Key words: Count Encapsulation Synchronization 目 录 1 实验说明·································································(3) 1.1 实验 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 ·····························································(3) 1.2 题目简介·····························································(3) 1.3 设计要求·····························································(3) 1.4 功能简介·····························································(3) 1.5 原理框图·····························································(3) 2 设计分析··································································(4) 2.1 功能模块分析·························································(4) 2.2 基础模块分析·························································(4) 3 基础模块的设计····························································(5) 3.1 计数器·······························································(5) 3.2 比较器·······························································(8) 3.3 分频器·······························································(9) 3.4其它································································(12) 4 功能模块的设计···························································(15) 4.1 基本时钟电路························································(15) 4.2 整点报时····························································(19) 4.3 闹钟································································(20) 4.4 日期································································(22) 4.5 星期································································(25) 4.6 倒计时······························································(26) 4.7 秒表································································(27) 4.8 铃声································································(28) 4.9 脉冲发生电路························································(29) 5 综合电路的设计···························································(30) 5.1 输出控制电路························································(30) 5.2 去抖电路····························································(34) 5.3 多功能数字钟························································(35) 6 实验总结·································································(36) 6.1 实验心得··························································· (36) 6.2 实验体会····························································(37) 7 参考文献·································································(39) 1 实验说明 1.1 实验内容 利用QuartusII软件设计一个数字钟,并下载到SmartSOPC实验系统中。 1.2 题目简介 设计一个数字计时器,可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能。 1.3 设计要求 1.3.1 设计基本要求 a.能进行正常的时、分、秒实时功能; b.分别由六个数码管显示时分秒的计时; c.K1是系统的使能开关(K1=0正常工作,K1=1时钟保持不变); d.K2是系统的清零开关(K2=0正常工作,K2=1时钟的分、秒全清零); e.K3是系统的校分开关(K3=0正常工作,K3=1时可以快速校分); f.K4是系统的校时开关(K4=0正常工作,K4=1时可以快速校分)。 1.3.2 设计提高部分要求 a.使时钟具有整点报时功能(当时钟计到59'53''时开始报时,59'53'', 59'55'', 59'57''时报时频率为500Hz,59'59''时报时频率为1kHz ); b.闹表设定功能; c.自己添加的功能。 1.4 功能简介 1.4.1 基本功能 计时、保持、清零、校分、校时 1.4.2 附加功能 整点报时、闹钟、日期、星期、倒计时、秒表、彩铃 1.5 原理框图 2 设计分析 2.1 功能模块分析 2.1.1 基本时钟电路 它由三个计数模块组成,秒计数、分计数、时计数。通过控制信号的组合对三个计数模块进行控制,从而实现各种功能。 2.1.2 日期、星期、倒计时、秒表 它们同基本时钟电路类似,都是由计数模块组成,通过组合控制信号实现各种功能。 2.1.3 整点报时 通过一个比较模块便可实现。 2.1.4 闹钟 首先要设计一个时间的存储电路,然后通过比较模块实现闹钟功能。 2.1.5 铃声 先产生各种不同的频率,然后通过计数器控制的选择器依次选择不同的频率输出,便得到了铃声。 2.1.6(动态)显示控制电路 通过计数器和选择器实现段选和位选。 2.1.7 脉冲发生电路 通过分频器获得所需频率脉冲。 2.2 基础模块分析 2.2.1 计数器 除了整点报时,其它功能模块都用到了计数器。在这些功能模块中,计数器是其最基本的组成部分。因此,有必要对计数器模块进行单独的、系统的设计。 2.2.2 比较器 在闹钟模块中,需要将设定的时间与当前的时间比较,所以要用到比较器。 2.2.3 分频器 为了得到不同频率的时钟,需要将系统提供的时钟进行分频,所以分频器的设计也是必要的。 2.2.4 其他 二选一数据选择器,选择工作时钟(基准时钟或校对时钟)【1】;D触发器,用于去抖电路;加1调整器,调整计数器的初始计数值(月、日计数);被4整除判断器,确定闰年。 【1】由于系统为我们提供了通用多路选择器,所于对于更高要求的选择器,我们直接使用。 3 基础模块的设计 3.1 计数器 3.1.1 模10加法计数器(Cmod10) 这里主要是对74160的二次封装,使得模块在满足设计要求时尽量简明。 a.原理图 b.逻辑符号 c.功能表 CLK R LDN EN 功能 × 1 × × 异步清零 ↑ 0 1 × 同步置零 × 0 0 0 保持(RCO=0) ↑ 0 0 1 加计数 d.时序图 3.1.2 模10减法计数器(_Cmod10) 这里主要是对74190的二次封装,使得模块在满足设计要求时尽量简明。 a.原理图 b.逻辑符号 c.功能表 CLK R EN 功能 × 1 × 异步清零 × 0 0 保持(RCO=0) ↑ 0 1 减计数 d.时序图 3.1.3 模60、24、100、12加法计数器(Cmod60、Cmod24、Cmod100、Cmod12) 以两个级联的Cmod10为主体,通过对同步置零端的控制实现不同模数的加法计数器。 这里主要以Cmod24为例说明设计原理。 a.原理图 如果同步置零端LDN始终无效,则两个级联的Cmod10构成模100加法计数器。在使能信号有效的情况下(即EN=1),当其计数到23时,如果LDN有效,则下一个时钟来临时,计数值变为0,然后重新开始计数,重复上述过程,便得到了模24加法计数器。显然,只要令LDN=EN·CF,其中CF=DL[0]·DL[1]·DH[1](预置零标志)。预置零标志CF不同,得到的计数器的模数就不同。 若令CF=DL[0]·DL[3]·DH[0]·DH[2],得到Cmod60。 若令CF=DL[0]·DH[0],得到Cmod12。 至于Cmod100,只要令LDN=0便可。 对于Cmod24、Cmod60、Cmod12,LDN信号同时作为进位信号RCO;对于Cmod100,高位Cmod10的RCO作为进位信号RCO。 b.逻辑符号 c.功能表 CLK R EN 功能 × 1 × 异步清零 × 0 0 保持(RCO=0) ↑ 0 1 加计数 d.时序图 3.1.4 模6、4、3加法计数器(Cmod6、Cmod4、Cmod3) 以Cmod10为主体,通过对同步置零端的控制实现不同模数的加法计数器。这些计数器主要用来控制多路数据选择器。 这里主要以Cmod6为例说明设计原理。 a.原理图 令LDN=Q[0]·Q[2],即可实现模6计数。 若令LDN= Q[0]·Q[1],得到Cmod4。 若令LDN= Q[1],得到Cmod3。 b.逻辑符号 c.功能表 CLK 功能 ↑ 加计数 d.时序图 3.2 比较器 3.2.1 位比较器(Compbit) a.原理图 b.逻辑符号 3.2.2 4位比较器(Comp_4bits) a.原理图 b.逻辑符号 3.3 分频器 3.3.1 二分频器(Mod2) a.原理图 b.逻辑符号 c.时序图 3.3.2 十分频器(Mod10) a.原理图 b.逻辑符号 c.时序图 3.3.3 二十四分频器(Mod24) a.原理图 设计原理类似Cmod24,这里不在累赘。 b.逻辑符号 c.时序图 3.3.4 千分频器(Mod1k) a.原理图 b.逻辑符号 3.4 其它 3.4.1 2选1数据选择器(Mux2_1) a.原理图 A=0时,D=D0;A=1时,D=D1。 b.逻辑符号 3.4.2 D触发器(D) D触发器主要用于去抖电路。 a.原理图 b.逻辑符号 3.4.3 加1调整器(Add1) a.原理图 低4位加1,如果结果为10,调整输出并进位;高4位加进位,如果结果为10,调整输出。 b.逻辑符号 3.4.4 被4整除判断器(Judge_mod4) a.原理图 十进制两位数D1D0=10D1+D0=2(5D1+D0/2)。要使得D1D0能被4整除,只要(5D1+D0/2)能被2整除即可。首先,D0必须是偶数(DL[0]=0)。然后再判断D0/2是否是偶数。若D0/2是偶数(DL[1]=0)则D1必须是偶数(DH[0]=0);若D0/2是奇数(DL[1]=1),则D1必须是奇数(DH[0]=1)。 由上分析,可知 Y=1时,8位BCD码能被4整除;Y=0时,8位BCD码不能被4整除。 b.逻辑符号 4 功能模块的设计 4.1 基本时钟电路(BasicClock) 4.1.1 原理图 a.输入输出分析 b.原理分析 ①在Show信号有效的情况下,清零、保持、校分、校时功能才有效。 ②在正常工作时,ENO=1。 ③正常工作时,输入时钟为基准时钟;在校分或校时时,输入时钟为校对时钟。 ④秒计数控制: 分计数控制: 时计数控制: 进位控制: 其中ENS、ENM、ENH分别是秒计数、分计数、时计数的使能信号,有效正常工作,无效保持;Hold、AdjustM、AdjustH分别是保持、校分、校时的控制信号;CS、CM、CH分别是 秒计数、分计数、时计数的进位信号;RCO是基本时钟电路向下级模块提供的进位信号。 4.1.2 逻辑符号 4.1.3 时序图(详见波形文件BasicClock.vwf) a.正常工作 b.清零、保持、校分、校时 4.1.4 功能表 CLK CLKA Show Resert Hold AdjustM AdjustH 功能 × × 1 1 × × × 清零 × × 1 0 1 × × 保持 × ↑ 1 0 0 1 0 校分 × ↑ 1 0 0 0 1 校时 ↑ × 1 0 0 1 1 正常计时 ↑ × 1 0 0 0 0 ↑ × 0 × × × × 4.2 整点报时(FixedAlarm) 4.2.1 原理图 通过位逻辑实现比较。 4.2.2 逻辑符号 4.2.3 时序图 4.3 闹钟(Alarm) 4.3.1 原理图 用两个计数器记忆设定的时间,将设定的时间与当前的时间比较,如果相同,输出铃声使能信号。 4.3.2 逻辑符号 4.3.3 时序图 4.4 日期(Calendar) 4.4.1 原理图 当天计数到28时,如果当前是2月,但不是闰年【1】,发出准置零信号; 否则,当天计数到29时,如果当前是2月,发出准置零信号; 否则,当天计数到30时,如果当前是4、6、9、11月,发出准置零信号; 否则,当天计数到31时,发出准置零信号。 【1】本文中默认00年是闰年,即只要能被4整除就是闰年。 4.4.2 逻辑符号 4.4.3 时序图 参见波形文件Calendar.vwf。 4.5 星期(Week) 4.5.1 原理图 4.5.2 逻辑符号 4.5.3 时序图 参见波形文件Week.vwf。 4.6 倒计时(Countdown) 4.6.1 原理图 4.6.2 逻辑符号 4.6.3 时序图 参见波形文件Countdown.vwf。 4.7 秒表(Stopwatch) 4.7.1 原理图 4.7.2 逻辑符号 4.7.3 时序图 参见波形文件Stopwatch.vwf。 4.8 铃声(Ring) 4.8.1 原理图 4.8.2 逻辑符号 4.8.3 时序图 4.9 脉冲发生电路(CLK) 4.9.1 原理图 4.9.2 逻辑符号 5 综合电路的设计 5.1 输出控制电路(OutControl) 它由三部分组成,段选控制输出、位选控制输出、蜂鸣器控制输出。 5.1.1 原理图 5.1.2 逻辑符号 5.2 去抖电路(SoftKey) 5.2.1 原理图 5.2.2 逻辑符号 5.3 多功能数字钟(MFDC) 5.3.1 原理图 5.3.2 输入输出表 类型 符号 说明 输入 CLK 系统提供的时钟频率(48MHz) KEY1~KEY8 8个控制开关(电平式) 输出 SEG[6..0] 7段数码管的段选输出 DIG[5..0] 6个数码管的位选输出 Ring 蜂鸣器驱动输出 5.3.3 功能表 6 实验总结 6.1 实验心得 通过这次实验,我对加减计数器的实现与控制、同步时钟控制、封装、数码管的控制等有了更深刻、更全面的理解。 6.1.1 加减计数器的实现与控制 a.减计数器级联时的借位问题 在低位的级联信号都使能的情况下,本位使能。 b.加减计数器的控制 通过置数端控制计数器的模数;通过使能端实现各种不同的控制要求。 6.1.2 同步时钟控制 同步时钟控制由两部分组成,同步时钟、同步时钟使能。同步时钟使能是实现同步时钟控制的关键。 6.1.3 封装 在满足设计要求的前提下,封装要尽量的简洁、可读性好。 6.1.4 数码管的控制 通过计数器、选择器实现段选信号和位选信号的控制。 6.1.5 关于输入控制的进一步思考 本文通过8个电平式开关实现了各种功能的选择,但在实际情况中,一般的数字钟的控制开关只有两三个,且主要是脉冲式开关,那么如何实现各种功能的选择呢?而且,对于所选的不同的功能状态,如何区分呢?我认为可以通过计数器与脉冲式开关的组合来实现各种功能的选择,不同的计数值对应不同的功能。至于如何区分不同的功能状态,可以通过增加显示位或控制显示状态(比如闪烁)来实现。由于时间关系,本文不在进一步探讨。 6.2 实验体会 纠结&&亢奋 从第9周开始到第11周,我的大部分精力都投入到了这次的EDA设计中。 第9周是最疯狂的一周。星期一到星期四,我每天的休息时间不足4小时。 星期一,白天主要是熟悉软件的使用,晚上回去把计数器模块进行封装,采用的是异部控制方式。在设计模24计数器时花了大量的时间。第二天凌晨4、5点时睡觉。 星期二,进行基本时钟电路、闹钟、整点报时的设计。但是,在我帮助其他同学检查问题时,我发现有些同学的计数器采用的是同步时钟控制方式,而且,计数器的设计非常简单、清晰、有规律,特别在模24计数器的设计上,同步控制显示了它特有的优越性,与模60计数器的设计思想完全一样。于是,我毅然决然的否定了昨天一夜的努力,将所有的计数器按照同步控制方式进行设计,并封装。但是由于我对同步控制方式理解的不深刻,在同步置零端的控制上,忽略了使能信号的作用,这为后面的调试埋下了罪恶的种子。 星期三,调试电路。在调试电路时,设计的缺陷暴露出来。每当计数到59分时,问题出现,59分的状态仅持续了一秒钟,仿真的波形也与实际的情况吻合。当时的我并没有能意识到问题的核心所在,在后续的设计中,我才搞清楚:同步置零信号的优先级高于使能信号,一旦进入59分状态,同步置零信号有效,同步时钟一来,置零,所以59分状态仅持续了一秒钟。调试进入僵局,我也一度陷入迷茫状态,而当时的我把问题归于同步控制与封装上。由于老师提倡的是同步控制方式,所以我只能在封装上寻求解决办法。在下午的实验快接近尾声时,一个想法进入了我的脑中,通过解封实现全同步。晚上,我又把我的想法付诸实践。我把基本上所有的功能都集中在总的原理图上,仿真波形也符合要求。同时,我又进一步改善了附加功能。于是,又到了第二天的凌晨5、6点。 星期四,一切还算顺利。在完成基本时钟功能、整点报时、闹钟的调试后,我又开始着手闹钟铃声的控制,500Hz铃声一直响实在太难听了。一开始的想法和设计有点复杂,后来被我抛弃了,而是直接用1Hz的频率去控制500Hz。最后,我又简单设计了去抖电路。老师检查过之后,我停留了一会儿,就回去了。这次EDA设计的实验室阶段也就到此结束,但这并不意味着本次EDA设计的结束,或许才算是开了一个头。 在第9周接下来的几天以及第10周,我又进行了其它附加功能的设计。其中最难的是日期的设计,虽然现在我看起来已经不算难了。许多其他的同学也望而却步,特别是被日计数28天、29天、30天、31天的控制要求弄得不知所措。此外,日计数和月计数的最小计数值要为1,如何来实现呢?对于第二个问题,我想到了用加1调整器去调整,这样计数器的设计就与之前的设计完全一样了。对于第一个问题,与其被它弄得乱七八糟,不如从最简单的控制要求做起。假如日计数是确定的,设计非常简单,类同基本时钟电路。而当日计数是可变时,哪些地方需要改变呢?事实上,只要改变日计数器的准置零标志即可。这样就把问题转移到了日计数器准置零标志的控制上去,思路开始变得清晰起来。通过比较以及闰年的判断就可以实现。除了日期,在设计倒计时时,由于对减法计数进位控制理解不深刻,走了一些弯路。 在把所有的功能模块都设计好之后,问题又来了,如何把各种不同的模块连接起来,如何确定段选信号和位选信号,如何用8个开关实现这么多功能。在纠结了一阵后,我发现Show信号在这方面有着不可估量的作用。首先通过三个开关实现功能的选择,不同的选择对应不同模块的Show,仅在Show有效,即数码管显示相应的输出时,二级功能才有效。 自第10周的星期六晚上把核心问题解决后,心中不免有一种落空。第11周时,主要是一些改善性工作及实验报告的 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 写。 在写实验报告时,由于计数器基本上都没有封装,所以截下来的图比较大,放在Word里看不清,于是又有一个念头产生了,再封装。这一次封装时,在对同步置零端的控制上,我加入了使能信号,从而避免上一次同步封装缺陷所造成的悲剧。 对于这次实验报告,在一些基础问题上,我做了详细的分析。而在一些实现的细节上,有的我直接忽略了。 写到这里,这次EDA设计也就接近尾声,我就要跟它说拜拜了。在设计的过程中,有过纠结,有过亢奋,有时候让你欲罢不能。纠结与亢奋并行,最后我才发现,这一切只不过是一场游戏,游戏总该结束的。 放松一下,此刻,我只想来一句: Game over! 2010年5月16日 , 16:16 7 参考文献 [1] 蒋立平,姜萍,谭雪琴,花汉兵,数字逻辑电路与系统设计,电子工业出版社,2008.7 0 39 _1335535273.unknown _1335535275.unknown _1335535277.unknown _1335535278.unknown _1335535276.unknown _1335535274.unknown _1335535272.unknown
本文档为【EDA多功能数字钟】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_916789
暂无简介~
格式:doc
大小:447KB
软件:Word
页数:41
分类:工学
上传时间:2012-03-21
浏览量:53