资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.EDA设计(二)课程设计报告姓 名 杜文划学 号 912058200102学院(系) 自动化学院专 业 自动化 标 题 多功能数字钟设计指导老师吴益飞南京理工大学2013 年 09 月目 录摘要及关键字3一. 设计要求3二. 总体方案设计3 三.各子模块设计原理 41.分频部分42.输入部分5 1.防抖模块52.输入模块63.计时部分61.模60的计数器62.模24的计数器73.校准模块74.计时模块84.显示部分91.显示模块9(1)6选1数据选择器10(2)4-7译码器105.闹钟部分101.比较模块112.选择器116.报时部分13四. 硬件下载与测试151.硬件下载152.测试153.功能扩展16五.结论16参考文献16 数字电子钟的设计摘要及关键字: 数字电子钟是生活中最常用的电子设备之一,其主要功能是能够显示时、分、秒实时信息,并能够方便地进行时、分、秒的初始值设置,以便时间校准。实现数字电子钟有很多方法,本课程是采用VHDL硬件语言的强大描述能力和EDA工具的结合在电子设计领域来设计一个具有多功能的数字电子钟。关键字: 数字电子钟VHDL硬件语言EDA工具一 设计要求:1. 设计一个电子钟能够显示 时,分,秒;24小时循环显示。2. 电子钟有校时,校分,清零,保持,整点报时和闹钟的功能,具体如下:(1) 数字钟最大计时显示23点59分59秒 。(2) 在数字钟正常工作时可以对数字钟进行快速校时,校分,即拨动开关K7可以对时进行校正,拨动开关K6可以对分进行校正。(3) 在数字中正常工作情况下可以对其进行不断地复位,即拨动开关K5可以是时,分,秒显示回零。(4) 在数字钟正常工作时拨动开关K4可以使数字钟保持原有显示,停止计时。(5) 整点报时是要求数字钟在每小时整点到来前进行鸣叫,鸣叫频率是在59:53, 59:55, 59:57 为1kHz,59:59为2kHz。(6) 当开关K8等于0就可以看到正常计数时钟界面,有 小时:分钟:秒钟。 当k8等于1 是在输入定时闹钟界面,有小时:分钟(7) K1,k2:设定闹钟;(8) K3 :开闹钟,关或停止闹钟3. 要求所有开关具有去抖动功能。利用开发工具MAX+plus II 10.0并结合硬件描述语言VHDL,采用层次化的方法进行设计,要求设计层次清晰,合理;构成整个设计的功能可以采用原理图输入或文本输入法实现。4. 通过开发工具MAX+plus II 10.0对设计电路进行功能仿真。5. 将仿真通过的逻辑电路下载到EDA试验系统,对其功能进行验证。二 总体方案设计:从设计要求可以对其进行层次化设计,将所要设计的多功能数字钟分层6个模块:(1) 计时模块: 包括两个模60的计数器(计秒与计分)和一个模24的计数器(计时)。(2) 清零,保持模块: 此模块功能是可以在计时模块直接嵌入即利用计数器的清零、保持 功能就可以实现。 (3) 校准模块: 其对时、分进行校正。(4) 显示模块: 将数字钟在数码管上显示。(5) 整点报时模块: 由两部分组成,一部分选择报时时间(59:53, 59:55, 59:57,59:59),一部分选择报时频率(1kHz,2kHz)。(6) 分频模块: 电子钟的激励源要求的是稳定1Hz,而试验台提供两个信号的时钟,所以要设计一个分频器将固有的时钟变成所需要的。(7) 防抖动模块:因为设计中有使用到开关,而对机械开关而言出现抖动现象 会导致系统误差甚至不能正常工作。所以在设计中要求有去抖动电路。将数字钟的各功能模块级联,生成顶层电路,实现总体设计要求,设计框图如下图所示:计时模块显示模块报时,闹钟模块清零保持校时校分分频模块 三 各子模块设计原理:1. 分频部分:因为设计中要有很多不同的频率:1Hz的提供给计时模块;2Hz供给校准用;1kHz、2kHz供给蜂鸣器报时用;试验台可以选不同的频率,我选了1hz和16khz所以要对其进行分频其将16kHz分成2Hz、1kHz、2kHz。用VHDL就可以很方便的实现分频: 仿真波形如下: clk=16Khz2.输入部分:1.防抖模块:因为机械开关的抖动现象对系统产生误差,甚至使不能正常工作,所以要适当地在开关和电路之间加入一个去抖动模块以防止机械开关所引起的不良影响。采用锁存器就可以很方便地设计去抖动电路,如图下所示。因为设计中一共有4开关所以采用两片7474,每片包括两个D锁存器,7474输出端的QN是开关信号稳定状态。2.输入模块:3.计时部分: 是一个模60和模24的计数器,具有计时、校准,保持、清零的功能。采用VHDL硬件语言编写,程序代码如下:1. 模60的计数器其仿真波形图如下:封装图为:2.模24的计数器,VHDL的程序代码如下:仿真波形图如下:封装图为:3.校准模块:在正常情况下,分的输入时钟clk信号是由秒的进位输出给的,而时的输入时钟clk信号由分进位输出信号给的。当要进行校准时可以直接将2Hz的时钟信号(从分频器直接分出来)送到分或时的输入时钟clk端上,这样就可以快速的进行对电子钟的分或时校准。因此采用VHDL语言实现,程序代码如下:(1) 校时:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY jiaozhun IS PORT ( a,b,key: IN BIT; y: OUT BIT );END ENTITY jiaozhun;ARCHITECTURE behav OF jiaozhun ISBEGIN PROCESS(a,b,key) BEGIN IF key=1 THEN y=a; ELSE y=b; END IF; END PROCESS;END behav;其封装图为:4.计时模块如下: 4.显示部分:包过显示模块和选择显示功能1.显示模块:采用动态显示方法,其动态扫描频率为1MHz。显示模块包括一个6选1数据选择器(其从计数模块输出的6个输出选1个送出显示)和一个译码器(其对6选1数据选择器的输出信号进行译码送至数码管上显示)。用VHDL硬件语言实现即程序代码如下:(1)6选
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号