基于EDA的数字电子钟的设计--毕业论文_第1页
基于EDA的数字电子钟的设计--毕业论文_第2页
基于EDA的数字电子钟的设计--毕业论文_第3页
基于EDA的数字电子钟的设计--毕业论文_第4页
基于EDA的数字电子钟的设计--毕业论文_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1 键入文档的引述或关注点的摘要 您可将文本框放置在文档中的任何位置 请使用 绘 图工具 选项卡更改引言文本框的格式 基于 EDA 的数字电子钟的设计及仿真 2011 届 电子信息工程技术 1152123 宋玉霞 机电信息工程系 孙瑾 应天职业技术学院毕业论文 摘要 本次实验主要运用到了 EDA 技术中的 QuartusII 软件来实现数字电子电 路的仿真实验 主要基于可编程逻辑器件 选用 QuartusII 软件以计算机作为 载体 采用 自顶而下 的设计方法 通过使用 QuartusII 软件用硬件描述语 言 VHDL 实现其具体功能 设计实现一个数字电子钟 并使数字钟具有校时 校分 校秒及整点报时功能 本文首先对数字电子钟的整体框图和原理进行介 绍 然后分析解释各模块在设计中的作用 最后对仿真结果进行总结和归纳 关键词 QuartusIIVHDL 语言仿真 应天职业技术学院毕业论文 目录目录 引言引言 1 一 设计背景及要求一 设计背景及要求 2 1 1 设计背景及要求 2 1 2 系统原理描述 2 1 3 系统功能分析 2 二 整体设计思想二 整体设计思想 3 2 1 性能指标及功能设计 3 2 2 总体规划 3 2 3 总体方框图 4 2 4 总体设计思路 4 三 详细设计三 详细设计 5 3 1 基本工作原理 5 3 1 1 时基信号产生电路 5 3 1 2 调时 调分信号的产生电路 5 3 1 3 计数显示电路 5 3 2 基本功能实现 6 3 2 1 时钟计数 6 3 2 2 校时设置 6 3 2 3 清零功能 6 3 2 3 定时 报时功能 7 3 3 顶层原理图 7 3 4 代码实现 8 3 5 时序仿真 13 3 6 实验结果 14 四 设计总结四 设计总结 15 五 参考文献五 参考文献 16 应天职业技术学院毕业论文 引言引言 随着计算机新技术的发展以及电子系统设计新需求的上升 基于 PLD 的 EDA 技术的发展和应用领域也在不断的扩大和深入 EDA 技术在电子信息 通 信 自动控制及计算机应用领域的重要性日益提高 EDA 技术是一种以计算机作为工作平台 以 EDA 软件工具为开发环境 以 硬件描述语言和电路图描述为设计入口 以可编程逻辑器件为实验载体的电子 产品自动化设计技术 它是融合了电子技术 计算机技术 信息处理技术 智 能化技术等最新成果而开发的高新技术 是现代电子系统设计 制造不可缺少 的技术 代表了当今电子设计技术的最新发展方向 EDA 技术涉及面广 包含 描述语言 软件 硬件等多方面知识 作为电子信息专业的学生应熟练掌握这门技术 为以后的工作和发展打下 良好的基础 本设计是应用 QuartusII 环境及 VHDL 语言设计一个时间可调的 数字时钟 使自己熟练使用 QuartusII 环境来进行设计 掌握 VHDL 语言的设 计方法 要注重理论与实践之间的不同 培养自己的实践能力 应天职业技术学院毕业论文 一 设计背景及要求一 设计背景及要求 1 11 1 设计背景及要求设计背景及要求 QuartusII 软件作为电子钟设计工作平台 以数字电路为设计电子钟的理 论基础 按照 自顶向下 的层次化设计方法设计该电路 对整个系统进行方 案设计和功能划分 系统的关键电路用一片或几片专用集成电路实现 应用 QuartusII 软件进行数字电路的设计与仿真 设计数字电子钟的条件具备 设 计是可行的 1 掌握 VHDL 语言的基本运用 2 掌握 QuartusII 软件的简单操作并会使用 EDA 进行仿真 3 掌握一个基本 EDA 设计流程的操作 1 21 2 系统原理描述系统原理描述 数字电子钟由振荡器 分频器 计数器 译码显示器 报时等电路组成 其中振荡器和分频器组成标准秒信号发生器 由不同进制的计数器 译码器和 显示器组成计时系统 秒信号送入计数器进行计数 把累加的结果以 时 分 秒 的数字显示出来 时 显示由 24 进制计数器 译码器 显示器 构成 分 秒 显示分别由 60 进制计数器 译码器 显示器构成 可进行 整点报时 计时出现误差时 可以用校时电路校时 校分 1 31 3 系统功能分析系统功能分析 1 有时 分 秒计数显示功能 小时为 24 进制 分钟和秒为 60 进制以 24 小时循环计时 2 设置复位 清零等功能 3 有校时功能 可以分别对时及分进行单独校时 使其校正到标准时间 4 时钟计数显示时有 LED 灯显示 应天职业技术学院毕业论文 二 整体设计思想二 整体设计思想 2 12 1 性能指标及功能设计性能指标及功能设计 1 时 分 秒计时器 时计时器为一个 24 进制计数器 分 秒计时器均为 60 进制计数器 当秒 计时器接受到一个秒脉冲时 秒计数器开始从 1 计数到 60 此时秒显示器将显 示 00 01 02 59 00 每当秒计数器数到 00 时 就会产生一个脉冲输 出送至分计时器 此时分计数器数值在原有基础上加 1 其显示器将显示 00 01 02 59 00 每当分计数器数到 00 时 就会产生一个脉冲输出送至 时计时器 此时时计数器数值在原有基础上加 1 其显示器将显示 00 01 02 23 00 即当数字钟运行到 23 点 59 分 59 秒时 当秒计时器在接受 一个秒脉冲 数字钟将自动显示 00 点 00 分 00 秒 2 校时电路 当开关拨至校时档时 电子钟秒计时工作 通过时 分校时开关分别对时 分进行校对 开关每按 1 次 与开关对应的时或分计数器加 1 当调至需要的 时与分时 拨动 reset 开关 电子钟从设置的时间开始往后计时 2 2 2 2 总体规划总体规划 1 根据电路特点 用层次设计概念 将此设计任务分成若干模块 规定 每一模块的功能和各模块之间的接口 同时加深层次化设计概念 2 软件的元件管理深层含义 以及模块元件之间的连接概念 对于不同 目录下的同一设计 如何融合 应天职业技术学院毕业论文 3 适配划分前后的仿真内容有何不同概念 仿真信号对象有何不同 有 更深一步了解 4 按适配划分后的引脚锁定 同相关功能模块硬件电路的接口连线 5 所有模块采用 VHDL 硬件描述语言设计 2 2 3 3 总体方框图总体方框图 2 2 4 4 总体设计思路总体设计思路 根据系统设计要求 系统设计采用自顶向下设计方法 其中 主要模块有五个 包括脉冲信号产生模块 时间计数模块 计数模 块又分为时计数模块 分计数模块 秒计数模块 译码显示模块 复位模 块和校时模块 这些模块都放在一个顶层文件中 各个模块先用 EDA 技术中的 VHDL 语言编程仿真 再生成各个模块的模拟元件 最后根据设计连接电路生成 顶层原理图文件实现数字电子钟系统 应天职业技术学院毕业论文 三 详细设计三 详细设计 3 13 1 基本工作原理 基本工作原理 3 1 13 1 1 时基信号产生电路时基信号产生电路 数字钟以其显示时间的直观性 走时准确性作为一种计时工具 数字钟的 基本组成部分离不开计数器 在控制逻辑电路的控制下完成预定的各项功能 由晶振产生的频率非常稳定的脉冲 经整形 稳定电路后 产生一个频率 为 1Hz 的 非常稳定的计数时钟脉冲 3 1 23 1 2 调时 调分信号的产生电路调时 调分信号的产生电路 由计数器的计数过程可知 正常计数时 当秒计数器 60 进制 计数到 59 时 再来一个脉冲 则秒计数器清零 重新开始新一轮的计数 而进位则 作为分计数器的计数脉冲 使分计数器计数加 1 把秒计数器的进位脉冲和一 个频率为 2Hz 的脉冲信号同时接到一个 2 选 1 数据选择器的两个数据输入端 而位选信号则接一个脉冲按键开关 当按键开关不按下去时 即为 0 则数据 选择器将秒计数器的进位脉冲送到分计数器 此时 数字钟正常工作 当按键 开关按下去时 即为 1 则数据选择器将另外一个 2Hz 的信号作为分计数器 的计数脉冲 使其计数频率加快 当达到正确时间时 松开按键开关 从而达 到调时的目的 调节小时的时间也一样的实现 3 1 33 1 3 计数显示电路计数显示电路 由计数部分 数据选择器 译码器组成 是时钟的关键部分 1 计数部分 由两个 60 进制计数器和一个 24 进制计数器组成 其中 60 进制计数器可用 6 进制计数器和 10 进制计数器构成 24 进制的小时计数同 样可用 6 进制计数器和 10 进制计数器得到 当计数器计数到 24 时 2 和 4 同时进行清零 则可实现 24 进制计数 2 数据选择器 84 输入 14 输出的多路数据选择器 因为本实验用到了 8 个数码管 有两个用来产生隔离符号 3 译码器 七段译码器 译码器必须能译出 由实验二中译码器真 应天职业技术学院毕业论文 值表可得 字母 F 的 8421BCD 码为 1111 译码后为 1000111 现在如果 只译出 即字母 F 的中间一横 则译码后应为 0000001 这样 在数 码管上显示的就为 3 23 2 基本功能实现基本功能实现 3 2 13 2 1 时钟计数 时钟计数 首先下载程序进行复位清零操作 电子钟从 00 00 00 计时开始 sethour 可以调整时钟的小时部分 setmin 可以调整分钟 步进为 1 由于电子钟的最小计时单位是 1s 因此提供给系统的内部的时钟频率应该 大于 1Hz 这里取 100Hz CLK 端连接外部 10Hz 的时钟输入信号 clk 对 clk 进 行计数 当 clk 10 时 秒加 1 当秒加到 60 时 分加 1 当分加到 60 时 时加 1 当时加到 24 时 全部清 0 从新计时 用 6 位数码管分别显示 时 分 秒 通过 OUTPUT 6 DOWNTO 0 上的信号来点亮指定的 LED 七段显示数码管 3 2 23 2 2 校时设置 校时设置 手动调节分钟 小时 可以对所设计的时钟任意调时间 这样使数字钟真 正具有使用功能 我们可以通过实验板进行任意的调整 因为我们用的时钟信 号均是 1HZ 的 所以每 LED 灯变化一次就来一个脉冲 即计数一次 通过一个开关的两种电平 来打开个关闭一个二输入与非门 另一个输入 端接 1Hz 的信号 因此这个开关实现了 1Hz 信号是否加入电路的作用 开关打 在高电平上 1Hz 信号通过与非门 开关打在低电平上 与非门输出为高电平 把与非门的输出信号 和时钟正常走时所需要的时钟信号 一起通过与门 加 给分个位时钟信号的输入端即可 这样分校时开关打在高电平上 分个位以 1Hz 的频率跳动起来 分校时开关打在低电平上时 正常走时 同理小时校准与此 相同 3 2 33 2 3 清零功能 清零功能 reset 为复位键 低电平时实现清零功能 高电平时正常计数 可以根据 我们自己任意时间的复位 清零电路设计的关键就是要解决好同步问题 在发出清零信号时 所有计 应天职业技术学院毕业论文 数器的时钟信号是一致的 而且处于有效的边沿 为此可以设计当清零信号有 效时 很高频率的信号同时加入个计数器的时钟端 而当清零信号无效时 各 计数器上时钟端加的是正常走时所需要的时钟信号 也可以用与门 或门和非 门实现上述的功能 当清零信号为低时 清零信号经过一个非门变为高电平信 号 将与门打开 高频信号通过与门 在与秒各位计数器的时钟端上的信号相 或 与其他各位计数器时钟输入端上的信号相与 这样 当清零信号有效时 每一位计数器上的时钟输入端实现了同步的功能 实现了同步清零的功能 当 清零信号无效时 时钟正常走时 3 2 33 2 3 定时 报时功能 定时 报时功能 整点报时电路根据计时系统的输出状态产生一脉冲信号 然后去触发一音 频发生器实现报时 它通过对定时和计时的比较来完成报时 由两个计数器组成 计数器由两个开关控制 用来对定时的分钟和时钟设 定 当开关都打到不送脉冲的状态 两个计数器都保持 从而达到存储的目的 比较电路用来比较定时时间和计时时间 当它们一致时 输出为 1 这样可以 驱动报时模块 最后 利用显示电路将定的时间设定输出 要使定时起到提醒 作用 还要有铃声 这里用 1hz 脉冲作为蜂鸣器的信号源 3 33 3 顶层原理图顶层原理图 应天职业技术学院毕业论文 3 3 4 4 代码实现代码实现 VHDLVHDL 源程序源程序 分频模块分频模块 程序如下 library IEEE use IEEE std logic 1164 all use IEEE std logic arith all use IEEE std logic unsigned all entity fp is port rst clk in STD LOGIC what out STD LOGIC end fp architecture a of fp is signal count100 integer range 0 to 99 signal tt std logic begin process rst clk begin if rst 1 then count100 0 elsif rising edge clk then count100 count100 1 tt tt if count100 99 then count100 0 tt not tt end if end if what tt end process end a 秒模块秒模块 程序如下 library ieee use ieee std logic 1164 all use ieee std logic unsigned all entity second is 应天职业技术学院毕业论文 port clk reset in std logic sec1 sec2 out std logic vector 3 downto 0 carry out std logic end second architecture rt1 of second is signal sec1 t sec2 t std logic vector 3 downto 0 begin process clk reset begin if reset 1 then sec1 t 0000 sec2 t 0000 elsif clk event and clk 1 then if sec1 t 1001 then sec1 t 0000 if sec2 t 0101 then sec2 t 0000 else sec2 t sec2 t 1 end if else sec1 t sec1 t 1 end if if sec1 t 1001 and sec2 t 0101 then carry 1 else carry 0 end if end if end process sec1 sec1 t sec2 sec2 t end rt1 应天职业技术学院毕业论文 分模块分模块 程序如下 library ieee use ieee std logic 1164 all use ieee std logic unsigned all entity minute is port clk reset in std logic min1 min2 out std logic vector 3 downto 0 carry out std logic end minute architecture rt1 of minute is signal min1 t min2 t std logic vector 3 downto 0 begin process clk reset begin if reset 1 then min1 t 0000 min2 t 0000 elsif clk event and clk 1 then if min1 t 1001 then min1 t 0000 if min2 t 0101 then min2 t 0000 else min2 t min2 t 1 end if else min1 t min1 t 1 end if if min1 t 1001 and min2 t 0101 then carry 1 else carry 0 end if end if 应天职业技术学院毕业论文 end process min1 min1 t min2 min2 t end rt1 时模块时模块 程序如下 library ieee use ieee std logic 1164 all use ieee std logic unsigned all entity hour is port clk reset in std logic hour1 hour2 out std logic vector 3 downto 0 end hour architecture rt1 of hour is signal hour1 t hour2 t std logic vector 3 downto 0 begin process clk reset begin if reset 1 then hour1 t 0000 hour2 t 0000 elsif clk event and clk 1 then if hour1 t 0011 and hour2 t 0010 then hour1 t 0000 hour2 t 0000 else if hour1 t 1001 then hour1 t 0000 if hour2 t 0010 then hour2 t 0000 else hour2 t hour2 t 1 end if else hour1 t hour1 t 1 应天职业技术学院毕业论文 end if end if end if end process hour1 hour1 t hour2doutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout 0000000 end case end process end behav 3 53 5 时序仿真时序仿真 程序仿真主要由计数器完成 在时钟脉冲作用下 完成始终功能 由时序 图可以看出每个时钟上升沿到来时加一 当接受到 REST 信号 即 REST 为高电 平 所有计数为零 并重新计数 SETMIN 和 SETHOUR 可以完成调节时钟功能 都是高电平调节 每来一个脉冲 相应的时或分加 1 设定仿真时间宽度 选 择适当的仿真时间域以便有足够长的观察时间 波形文件存盘后运行仿真器 直到出现仿真结果 24 进制的时控制模块中当 clk 为上升沿时 hour1 输出由 9 变为 0 并且 hour1 都是由 0 到 9 循环 hour2 输出由 2 变为 0 并且 hour2 都是由 0 到 2 循环 60 进制的分控制模块中当 clk 和 carry 为上升沿时 min1 输出由 9 变为 0 并且 min1 都是由 0 到 9 循环 min2 输出由 5 变为 0 并且 min2 都是由 0 到 5 循环 60 进制的秒控制模块中当 clk 和 carry 为上升沿时 sec1 输出由 9 变为 0 并且 sec1 都是由 0 到 9 循环 sec2 输出由 5 变为 0 并且 sec2 都是由 0 到 5 循环 应天职业技术学院毕业论文 仿真波形 3 3 6 6 实验结果实验结果 首先 由石英晶体振荡器输出稳定的脉冲信号 经过振荡器输出标准的秒 脉冲信号 秒计数电路为六十进制计数器 秒计数电路将振荡器产生的秒脉冲 信号作为输入信号 进行计数 并通过秒显示器显示秒 其次 当秒计数器完 成 60 个秒计数后 秒计时电路清零 输出一个 分计时信号 分计时电路收 到秒计时电路产生的信号后 开始计数并显示分 再次 当分计时电路完成 60 个分计数后 分计数器清零 输出一个 时计时信号 时计时电路收到分 计时电路产生的信号后 开始计数并显示时 最后 时计时电路完成 24 个时 计数后 清零

温馨提示

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

评论

0/150

提交评论