欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    毕业设计(论文)-基于VHDL的语音数字钟的设计.doc

    • 资源ID:3283578       资源大小:653.02KB        全文页数:42页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)-基于VHDL的语音数字钟的设计.doc

    毕毕业业设设计计(论论文文) 题目: 基于 VHDL 的语音数字 钟的设计 学 院 物理科学与工程技术 专 业 电子信息 班 级 08 电信 学 号 姓 名 指导老师 二 O 一一年 九 月 二十 日 I 摘 要 本设计主要研究基于 VHDL 的语音数字钟的设计,该数字钟具有年、月、 日、时、分、秒计数显示功能,以 24 小时循环计数;具有校对功能、整点 报时以及清零、使能功能。 本设计主要是在介绍了 EDA 及 VHDL 一些相关基本知识的基础上,进一 步采用 EDA 技术,以硬件描述语言 VHDL 为系统逻辑描述手段设计文件,在 Max+plusII 工具软件环境下,采用自顶向下的设计方法,由各个基本模块 共同构建了一个多功能语音数字钟,最后通过仿真出时序图实现预定功能。 其中,重点叙述了数字钟的设计原理和分模块实现的方法,详细介绍了各 模块的设计程序并给出了各模块的波形仿真图及分析,最后通过在 Max+plusII 上进行时序仿真,调试运行,在硬件测试后,验证了所设计的 系统达到了预先设计目标。 通过这次的设计更进一步地增强了实验的动手能力,对数字钟的工作 原理及 EDA 技术也有了更加透彻的理解。 关键词:VHDL EDA 数字钟 仿真图 II The Design of a Voice Digital Clock Based on VHDL Abstract The design for a multi-functional digital clock, with a year, month, day, hours, minutes and seconds count display to a 24-hour cycle count; have proof functions and the whole point timekeeping function. The design is mainly the introduction of the EDA and some related basic knowledge of VHDL, based on the further use of EDA technology, hardware-description language VHDL description logic means for the system design documents, in MaxplusII tools environment, a top-down design, by the various modules together build a voice digital clock. Finally, a timing diagram of the simulation to achieve the intended function. Describes the key design principles and digital clock sub-module approach. Finally,by Max + plusII on timing simulation, debugging and running, by the hardware testing, the two systems designed are verified to realize the advanced design goal. Through this experimental design further enhances the ability of the digital clock works and EDA technology has a more thorough understanding. Keywords: VHDL EDA digital clock Simulation diagram III 目 录 第一章绪论 .1 1.1 选题背景 .1 1.1.1 课题相关技术的发展1 1.1.2 课题研究的必要性2 1.2 课题研究的内容.2 第二章 EDA 概述 .3 2.1 EDA 简介 3 2.2 可编程逻辑器件 FPGA 3 2.3 硬件描述语言 VHDL 4 2.3.1 VHDL 的特点.5 2.3.2 VHDL 的设计结构.6 2.3.3 VHDL 的设计步骤.6 2.4 MAX+plus 概述7 第三章 数字钟的设计要求及总体设计 .8 3.1 设计要求 .8 3.2 总体设计.8 3.2.1 设计框图8 3.2.2 设计原理图9 3.3 设计原理10 3.4 各模块及其功能 10 3.5 端口引脚名称 11 第四章 VHDL 程序设计.12 4.1 分频模块 12 4.2 软件设计 13 4.2.1 SECOND 模块13 4.2.2 MINUTE 模块15 4.2.3 HOUR 模块17 4.2.4 扫描模块 18 4.2.5 显示模块.20 4.2.6 定时闹钟模块.21 4.2.7 日计数模块 .23 4.2.8 月计数模块 25 4.2.9 年计数模块 27 4.3 硬件测试及说明 30 4.3.1 顶层模块原理图.30 IV 4.3.2 电子钟基本功能仿真结果.31 4.3.3 硬件测试说明.32 4.3.4 结论.32 第五章 总结 33 参考文献 .35 致 谢 36 1 第一章 绪论 现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越 来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速 发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发 展。前者以微细加工技术为代表,而后者的代表就是电子设计自动化 (electronic design automatic,EDA)技术。 本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能 力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的设计; 支持结构、数据流、行为三种描述形式的混合描述、覆盖面广、抽象能力 强,因此在实际应用中越来越广泛。ASIC是专用的系统集成电路,是一种 带有逻辑处理的加速处理器。而FPGA是特殊的ASIC芯片,与其他的ASIC芯 片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准 产品无需测试、质量稳定以及可实时在线检测等优点。 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了 钟表原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、 通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表 数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 这次设计的内容就是在了解 VHDL 语言的一些基本语法和概念的基础上, 进一步应用 VHDL,在 MAX+ plus II 的环境下设计一个电子钟,最后通过 仿真出时序图实现预定功能。 1.1 选题背景 本节将从 EDA 应用开发技术与数字钟技术发展的客观实际出发,通过 对该技术发展状况的了解,以及课题本身的需要,指出研究基于 VHDL 系统 数字钟的设计与实现的必要性。 1.1.1 课题相关技术的发展 当今电子产品正向功能多元化,体积最小化,功耗最低化的方向发展。 它与传统的电子产品在设计上的显著区别师大量使用大规模可编程逻辑器 件,使产品的性能提高,体积缩小,功耗降低。同时广泛运用现代计算机 技术,提高产品的自动化程度和竞争力,缩短研发周期。EDA 技术正是为了 2 适应现代电子技术的要求,吸收众多学科最新科技成果而形成的一门新技 术。 美国 ALTERA 公司的可编程逻辑器件采用全新的结构和先进的技术,加 上 MaxplusII(或最新的 QUARTUS)开发环境,更具有高性能,开发周期短等 特点,十分方便进行电子产品的开发和设计。 EDA 技术,技术以大规模可编程逻辑器件为设计载体,以硬件描述语言 为系统逻辑描述主要表达方式,以计算机、大规模可编程逻辑器件的开发 软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件 的方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻辑分割,逻 辑映射,编程下载等工作。最终形成集成电子系统或专用集成芯片的一门 新技术。 本设计利用 VHDL 硬件描述语言结合可编程逻辑器件进行的,并通过数 码管动态显示计时结果。数字钟可以由各种技术实现,如单片机等.利用可 编程逻辑器件具有其他方式没有的特点,它具有易学,方便,新颖,有趣, 直观,设计与实验项目成功率高,理论与实践结合紧密,体积小,容量大, I/O 口丰富,易编程和加密等特点,并且它还具有开放的界面,丰富的设计 库,模块化的工具以及 LPM 定制等优良性能,应用非常方便。因此,本设 计采用可编程逻辑器件实现。 1.1.2 课题研究的必要性 现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术 的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电 子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的 年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记 了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因 此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来 了极大的方便。近些年,随着科技的发展和社会的进步,人们对数字钟的 要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管 在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。 1.2 课题研究的内容 本设计主要研究基于 VHDL 的语 3 音数字钟的设计,要求时间以 24 小时为一个周期,显示时、分、秒。具有 校时、报时功能以及清零、使能功能。 3 第二章 EDA 概述 2.1 EDA 简介 20 世纪 90 年代,国际上电子和计算机技术较先进的国家,一直在积极 探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变 革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如 CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带 来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方 式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一 切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了 EDA 技术的迅速发展。 EDA 是电子设计自动化( Electronic Design Automation)的缩写, 在 20 世纪 90 年代初从计算机辅助设计( CAD)、计算机辅助制造 (CAM)、计算机辅助测试( CAT)和计算机辅助工程( CAE)的概念发 展而来的。EDA 技术就是以计算机为工具,设计者在EDA 软件平台上, 用硬件描述语言 HDL 完成设计文件,然后由计算机自动地完成逻辑编译、 化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片 的适配编译、逻辑映射和编程下载等工作。 EDA 技术的出现,极大地提 高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 这些器件可以通过软件编程而对其硬件结构和工作方式进行重构, 从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改 变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA 技 术的迅速发展。 2.2 可编程逻辑器件FPGA FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称, 与之相应的CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,两者的功能基本相同,只是实现原理略有不同,所以有 时可以忽略这两者的区别,统称为可编程逻辑器件或 4 CPLD/PGFA。CPLD/PGFA几乎能完成任何数字器件的功能,上至高性能CPU, 下至简单的74电路。它如同一张白纸或是一堆积木,工程师可以通过传统 的原理图输入或硬件描述语言自由的设计一个数字系统。通过软件仿真可 以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功 能,随时修改设计而不必改动硬件电路。使用CPLA/FPGA开发数字电路,可 以大大缩短设计时间,减少PCB面积,提高系统的可靠性。这些优点使得 CPLA/FPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了 EDA软件和硬件描述语言HDL的进步。 2.3 硬件描述语言 VHDL 硬件描述语言 HDL(HardwareDescriptionLanguage)诞生于 1962 年。HDL 是用形式化的方法描述数字电路和设计数字逻辑系统的语言。 主要用于描述离散电子系统的结构和行为。与 SDL(SoftwareDescriptionLanguage)相似,经历了从机器码(晶体管 和焊接)、汇编(网表)、到高级语言( HDL)的过程。 VHDL 翻译成中文就是超高速集成电路硬件描述语言 ,他诞生于 1982 年。最初是由美国国防部开发出来供美军用来提高设计的可靠性和 缩减开发周期的一种使用范围较小的设计语言。 1987 年底,VHDL 被 IEEE 和美国国防部确认为标准硬件描述语言 。自 IEEE 公布了 VHDL 的 标准版本,IEEE-1076(简称 87 版)之后,各 EDA 公司相继推出了自己 的 VHDL 设计环境,或宣布自己的设计工具可以和VHDL 接口。此后 VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的 硬件描述语言。 1993 年,IEEE 对 VHDL 进行了修订,从更高的抽象层次 和系统描述能力上扩展 VHDL 的内容,公布了新版本的 VHDL,(即 IEEE 标准的 1076-1993 版本)主要是应用在数字电路的设计中。现在, VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言,又得到众多EDA 公司 的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家 认为,在新的世纪中, VHDL 于 Verilog 语言将承担起大部分的数字系 统设计任务。 目前,它在中国的应用多数是用 FPGA/CPLD/EPLD 的设 计中。当然在一些实力较为雄厚的单位,它也被用来设计 ASIC。 5 VHDL 主要用于描述数字系统的结构,行为,功能和接口。除了含有 许多具有硬件特征的语句外, VHDL 的语言形式和描述风格与句法是十分 类似于一般的计算机高级语言。 VHDL 的程序结构特点是将一项工程设计, 或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部 (或称可是部分,及端口 )和内部(或称不可视部分),既涉及实体的 内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦 其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计 实体分成内外部分的概念是 VHDL 系统设计的基本点。 2.3.1 VHDL 的特点 应用 VHDL 进行系统设计,有以下几方面的特点 : 1)功能强大 VHDL 具有功能强大的语言结构。它可以用明确的代码描述复杂的控 制逻辑设计。并且具有多层次的设计描述功能,支持设计库和可重复使 用的元件生成。 VHDL 是一种设计、仿真和综合的标准硬件描述语言。 2)可移植性 VHDL 语言是一个标准语言,其设计描述可以为不同的EDA 工具支 持。它可以从一个仿真工具移植到另一个仿真工具,从一个综合工具移 植到另一个综合工具,从一个工作平台移植到另一个工作平台。此外, 通过更换库再重新综合很容易移植为ASIC 设计。 3)独立性 VHDL 的硬件描述与具体的工艺技术和硬件结构无关。设计者可以不 懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立 的设计。程序设计的硬件目标器件有广阔的选择范围,可以是各系列的 CPLD、FPGA 及各种门阵列器件。 4)可操作性 6 由于 VHDL 具有类属描述语句和子程序调用等功能,对于已完成的设 计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻 易地改变设计的规模和结构。 5)灵活性 VHDL 最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和 库函数。使其在任何大系统的设计中,随时可对设计进行仿真模拟。所 以,即使在远离门级的高层次(即使设计尚未完成时),设计者就能够 对整个工程设计的结构和功能的可行性进行查验,并做出决策。 2.3.2 VHDL 的设计结构 VHDL 描述数字电路系统设计的行为、功能、输入和输出。它在语法 上与现代编程语言相似,但包含了许多与硬件有特殊关系的结构。 VHDL 将一个设计称为一个实体 Entity(元件、电路或者系统), 并且将它分成外部的可见部分(实体名、连接)和内部的隐藏部分(实 体算法、实现)。当定义了一个设计的实体之后,其他实体可以利用该 实体,也可以开发一个实体库。所以,内部和外部的概念对系统设计的 VHDL 是十分重要的。 外部的实体名或连接由实体声明 Entity 来描述。而内部的实体算 法或实现则由结构体 Architecture 来描述。结构体可以包含相连的多 个进程 process 或者组建 component 等其他并行结构。需要说明的是, 它们在硬件中都是并行运行的。 2.3.3 VHDL 的设计步骤 采用 VHDL 的系统设计,一般有以下 6 个步骤: 1)要求的功能模块划分; 2)VHDL 的设计描述(设计输入); 3)代码仿真模拟(前仿真); 7 4)计综合、优化和布局布线; 5)布局布线后的仿真模拟(后仿真); 6)设计的实现(下载到目标器件)。 2.4 MAX+plus 概述 EDA 技术的关键之一是 EDA 工具,EDA 工具是指以计算机为工作平台, 融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的电子 设计通用工具软件,主要能进行三方面的辅助设计工作: 1)PCB 印刷电路板设计 2)ASIC(集成电路)设计 3)电子系统设计(SOC) 没有 EDA 技术的支持,想要完成超大规模集成电路的设计是很难想象 的,反过来,生产制造技术的不断进步又必将对 EDA 技术提出新的要求。 由于集成电路制造技术日新月异,电路的设计日趋复杂。为了能在电路 实现之前,完全掌握操作环境因素(如电源电压、温度等)对电路的影响,利 用电脑辅助设计进行电路模拟与分析,并进行输入与输出信号响应的验证, 可有效地节省产品开发的时间与成本。 Altera 公司推出的 MAX+plus软件是专门用于电子电路仿真的“虚拟 电子工作台”软件,它是目前全球最直观、最高效的 EDA 软件。它的功能 强大,能够提供电阻、电容、三极管、集成电路等数十大类几千种元件, 能够提供示波器、万用表等十几种常用的电子仪器;具有强大的电路图绘 制功能,可绘制出符合标准的电子图纸;它还具有强大的波形显示功能, 并且结果可轻松放入各类文档。用该软件进行设计、分析非常方便。本文 在 MAX+plus基础上设计电子时钟,是由数字集成电路构成、用数码管显 示的一种现代计时器,与传统机械式时钟相比具有更高的准确性和直观性, 且无机械装置,具有更长的使用寿命,因此广泛使用。MAX+plus是美国 加州 Altera 公司推出的专门用于电子线路仿真实验与设计的“虚拟电子工 作平台” 。 MAX+plus是一种在电子技术工程与电子技术教学中广泛应用 的优秀计算机仿真软件,被公认为是最易使用,人机界面最友善的数字系 统开发软件,特别适合初学者使用。 8 第三章 数字钟的设计要求及总体设计 3.1 设计要求 1)具有时、分、秒计数显示功能,以 24 小时循环计时; 2)具有清零、使能功能 3)具有调节小时、分、秒功能; 4)具有整点报时功能; 5)具有显示年、月、日的功能; 3.1.1 功能要求分析 根据以上数字钟的功能要求,需要完成以下几个部分: 1)时钟模块:由试验箱内部时钟提供,对计数器提供计数时钟信号; 2)秒钟模块:对秒进行 60 进制循环计数,并向分钟产生进位,同时具有调 分功能; 3)分钟模块:对分进行 60 进制循环计数,并向小时产生进位,同时具有调 时功能 4)小时模块:对小时进行 24 进制循环计数。 3.2 总体设计 3.2.1 设计框图 9 时计数器 标准秒信号脉冲 秒计数器分计数器 分脉冲信号 号 时脉冲信号 秒输出 分输出 时输出 六段显示译码器译码 LED 七段显示器显示 “时”“分”“秒” 图 3.2.1 设计框图 3.2.2 设计原理图 clk reset setmin enmin daout60 clk clk1 reset sethour enhour daout60 clk reset daout50 second:u1 hour:u3 clk reset setmin sethour second_daout60 minute_daout60 hour_daout50 minute:u2 图 3.2.2 设计原理图 10 该数字电子钟的原理图如上图所示,它由一个秒计数器(second.u1)、 一个分计数器(minut.u2)、一个时计数器(hour.u3)组成。他们均由各子模 块源程序生成。然后根据设计原理连接而成。能实现各子模块的功能。其 中: 输入: CLK时钟脉冲(可以任意设置) RESET复位信号 SETMIN分加 1 信号, SETHOUR时加 1 信号 输出: SECOND_DAOUT秒输出 MINUTE_DAOUT分输出 HOUR_DAOUT时输出 3.3 设计原理 电子时钟是一个将“时”“分”“秒”显示于人的视觉器官的计时装 置。它的计时周期为 24 小时;显示满刻度为 23 时 59 分 59 秒,另外具备 校时功能。因此,一个基本的数字钟电路主要由“时”“分”“秒”计数 器校时电路组成。将标准秒信号送入“秒计数器”,“秒计数器”采用 60 进制计数器,每累加 60 秒发送一个“分脉冲”信号,该信号将被送到“分 计数器”。“分计数器”也采用 60 进制计数器,每累加 60 分发送一个 “时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用 24 进 制计数器,可实现对一天 24 小时的累计。译码显示电路“时”“分”“秒” 计数器的输出状态六段显示译码器译码。通过六位七段显示器显示 出来。校时电路器是用来对“时”“分”“秒”显示数字进行校时调整的, 可以根据当前需要的时间来设置电子时钟的时间,使它从这个时间开始计 时。也可以对电子钟复位,重新开始计时。 3.4 各模块及其功能 电子钟计数采用层次化设计,将设计任务分成若干个模块,规定每一 模块的功能和各模块之间的接口。 1)SECOND 模块:用来对秒进行计时,当记到计数器的低四位为 1001 时, 若高三位不是 101 时,则秒计数器加 7,目的是使计数值变为 BCD 码。若高 三位是 101 时,则有一进位。当计数 11 器的低四位不为 1001 时,计数器加 1。SECOND 模块给 MINUTE 的时钟由 SETMINUTE 和它本身记到 60 的进位两部分组成。 2)MINUTE 模块:用来对分进行计时,当记到计数器的低四位为 1001 时, 若高三位不是 101 时,则分计数器加 7,目的是使计数值变为 BCD 码。若高 三位是 101 时,则有一进位。当计数器的低四位不为 1001 时,计数器加 1。MINUTE 模块的时钟由 SETMIN 和 SECOND 记到 60 的进位两部分组成。 3)HOUR 模块:用来对时进行计数,当记到计数器的低四位为 1001 时,若 高三位小于 010 时,则时计数器加 7,目的是使计数值变为 BCD 码。当计数 器的高三位小于 010,低四位小于 1001 时,计数器加 1;若当计数器记到 0100100 时,则有一进位。HOUR 模块的时钟由 SETHOUR 和 MINUTE 记到 60 的进位两部分组成。 4)扫描模块 SELTIME:输入为秒(含个十位)、分、时、扫描时钟 CLK1K,输出为 D 和显示控制信号 SEL。 5)整点报时功能模块 ALERT:输入为分秒信号,输出为高频声控Q1K 和 Q500。 6)顶层 CLOCK_TOP 模块:用来对元件进行例化,以及对端口进行映射。 同时整个计数器有清零,调时,调分功能。 3.5 端口引脚名称 输入:CLK, RESET, SETMIN, SETHOUR,STOP 输出:SPERK, SECOND60, MIN60, HOUR60 12 第四章 VHDL 程序设计 4.1 分频模块 晶体振荡器是构成数字式时钟的核心,振荡器的稳定度及频率的精度 决定了数字钟计时的准确程度,它保证了时钟的走时准确及稳定。 石英晶体的选频特性非常好,只有某一频率点的信号可以通过它,其 它频率段的信号均会被它所衰减,而且,振荡信号的频率与振荡电路中的 R、C元件的数值无关。因此,这种振荡电路输出的是准确度极高的信号。 然后再利用分频电路,将其输出信号转变为秒信号。 本系统使用的晶体振荡器电路给数字钟提供一个频率稳定准确的 40MHz 的方波信号,其输出至分频电路。分频电路的逻辑框图如图 4-2 所示。 图 4.1 分频电路模块 电路中采用 Max+plusII 元器件库中的计数器 7490 进行硬件分频。经 分频后输出 1HZ 的标准秒信号 CLK1、4MHZ 的按键扫描信号、1KHZ 的按键去 抖信号和 500HZ 用于报时模块的输入信号。 分频电路主要功能有 2 个,一是产生标准秒脉冲信号;二是可提供整 点报时所需要的高、低频率信号。 13 图 4.2 顶层设计 4.2 软件设计 根据数字电子钟的设计原理,按照自定向下的设计思路,编写各个模块的 VHDL 源程序。 4.2.1 SECOND 模块 1)源程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SECOND IS PORT (CLK: IN STD_LOGIC; -系统时钟信号 RESET:IN STD_LOGIC; -系统复位信号 SETMIN:IN STD_LOGIC; -分设置信号 ENMIN: OUT STD_LOGIC; -分计数时钟信号 DAOUT: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -秒计 数值 END ENTITY SECOND; ARCHITECTURE ART OF SECOND IS SIGNAL COUNT :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL ENMIN_1,ENMIN_2:STD_LOGIC; BEGIN 14 DAOUTDATADATADATADATADATADATADOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUT“0000“ THEN R0:=R0-1; ELSE R0:=“1001“; R1:=R1-1; END IF; END IF; END IF; A“0000“ THEN Y0:=Y0-1; ELSE Y0:=“1001“; Y1:=Y1-1; END IF; END IF; 27 END IF; IF (Y0=“0100“ OR Y0=“0110“ OR Y0=“1001“ ) AND Y1=“0000“)OR (Y0=“0000“ AND Y1=“0001“) THEN YSEL“0000“ THEN N0:=N0-1 ; 29 ELSIF N0=“0000“ AND N1=“0000“ AND N2=“0000“ AND N3=“0000“ THEN N0:=“1001“; N1:=“1001“; N2:=“1001“; N3:=“1001“; ELSIF N0=“0000“ AND N1=“0000“ AND N2=“0000“ THEN N0:=“1001“; N1:=“1001“; N2:=“1001“; N3:=N3-1; ELSIF N0=“0000“ AND N1=“0000“ THEN N0:=“1001“; N1:=“1001“; N2:=N2-1; ELSIF N0=“0000“ THEN N0:=“1001“; N1:=N1-1; END IF; ELSE N3:=“0010“; END IF; IF (N0(0)='0' AND N0(1)='0' AND N1(0)='0')OR(N0(0)='0' AND N0(1)='1' AND N1(0)='1') THEN NSEL='0' ELSE NSEL='1' END IF; END IF; A=N0; B=N1; C=N2; D=N3; END PROCESS; END ND; 其仿真时序图如下图所示,满足设计的要求。 30 图 4.2.10 年计数模块仿真波形图 4.3 硬件测试及说明 该数字钟以 24 小时进行计时,可对分钟和小时进行设定,并且能在整 点进行报警提醒,且报警可以被中断。 本设计采用电路模式 5 进行设计,具体功能和说明如下: 4.3.1 顶层模块原理图 PIN_93 VCC CLK1 INPUT PIN_1 VCC STOP INPUT PIN_17 VCC CLK INPUT PIN_2 VCC RESET INPUT PIN_7 VCC SETMIN INPUT PIN_10 VCC SETHOUR INPUT PIN_129 SPEAK OUTPUT PIN_39 PIN_40 PIN_41 PIN_42 PIN_47 PIN_48 PIN_49 SECOND60 OUTPUT PIN_69 PIN_70 PIN_71 PIN_72 PIN_73 PIN_74 PIN_75 MIN60 OUTPUT PIN_85 PIN_96 PIN_97 PIN_98 PIN_99 PIN_103 HOUR50 OUTPUT CLK CLKS RESET SETHOUR ENHOUR DAOUT60 MINUTE inst1 CLK RESET SETMIN ENMIN DAOUT60 SECOND inst2 CLK RESET DAOUT50 HOUR inst4 CLK CLK1 RESET STOP DAINM60 DAINS60 SPEAK ALERT inst6 31 图 4.3 4.3.2 电子钟基本功能仿真结果 首先,由石英晶体振荡器输出稳定的脉冲信号,经过振荡器输出标准的 秒脉冲信号,秒计数电路为六十进制计数器,秒计数电路将振荡器产生的 秒脉冲信号作为输入信号,进行计数,并通过秒显示器显示秒;其次,当 秒计数器完成 60 个秒计数后,秒计时电路清零,输出一个“分计时信号” , 分计时电路收到秒计时电路产生的信号后,开始计数并显示分;再次,当 分计时电路完成 60 个分计数后,分计数器清零,输出一个“时计时信号” , 时计时电路收到分计时电路产生的信号后,开始计数并显示时;最后,时 计时电路完成 12 个时计数后,清零。完成电子钟基本功能仿真结果。 Lattice 公司推出的 Isp Expert 的数字系统设计软件,是一套完整的 EDA 软件,能够对所设计的数字电子系统进行时序仿真和功能仿真。 采用 Lattice 公司推出 Isp Expert EDA 的软件,对所编写的数字电子 钟顶层文件原理图进行编译、逻辑综合,进行波形仿真,从仿真波形上看 测量的结果是准确的:程序主要运用计数器完成,在时钟脉冲的作用下, 完成时钟功能,由时序图可以看出每一个时钟脉冲上升沿秒加 1,当接收到 reset 信号,即 reset 为高电平,所有计数为零,并重新计数,setmin 和 sethour 可以完成调节时钟功能,都是高电平调节,每来一个脉冲,相应的 时或分加 1。 功能仿真图: 32 图 4.3.2 电子钟基本功能仿真图 4.3.3 硬件测试说明 (1) 按键 2,对应的等亮,为高电平,数字钟正常计时。再按,等灭,为 低电平,所有数码管清零, 即 00 0 00 0 00。 (2) 按键 1,对应的灯亮,为高电平,整点报警声停止。 (3) 按键 7,对应的灯亮,为高电平,分钟对应的数码管每秒以 60 进制 循环增加,并且达到 59 时,向时钟进一位。否则为正常计时状态。 (4) 按键 8,对应的灯亮,为高电平,小时对应的数码管每秒以 24 进制 循环增加。否则为正常计时状态。 (5) 当达到整点时,蜂鸣器开始以高低电平报警,共维持 10 秒钟。 4.3.4 结论 由硬件测试的过程可以看出整个设计是正确的,可以得出秒为 60 进制, 分钟为 60 进制,而小时是 24 进制,同时我们还完成了整点报时的功能, 以及实现了秒计数、分计数、小时计 数以及复位的功能。 33 第五章 总结 本设计主要是在介绍了 EDA 及 VHDL 一些相关基本知识的基础上,进一 步采用 EDA 技术,以硬件描述语言 VHDL 为系统逻辑描述手段设计文件,在 Max+plusII 工具软件环境下,采用自顶向下的设计方法,由各个基本模块 共同构建了一个多功能语音数字钟,最后通过仿真出时序图实现预定功能。 其中,重点叙述了数字钟的设计原理和分模块实现的方法,详细介绍了各 模块的设计程序并给出了各模块的波形仿真图及分析,最后通过在 Max+plusII 上进行时序仿真,调试运行,在硬件测试后,验证了所设计的 系统达到了预先设计目标。 数字钟实际上就是一个计数器,只要对计数器的进位进行相应的设计就 可以成为一个数字钟。在此次设计中,主要是对秒、分为六十进制,时为 二十四进制的计数器的设计。而整个数字钟又是由振荡器、分频器、计数 器、译码器、显示器等几部分组成。 毕业设计的撰写过程是对我们所学的电子技术基本理论知识的综合运 用,对三年专业知识的一次综合应用、扩充和深化,也是对我们理论运用 于实际设计的一次锻炼。在此次的数字钟设计过程中,更进一步地熟悉有 关数字电路的知识和具体应用。学会了利 Max+plus 软件进行原理图的绘制, 硬件描述语言 VHDL 的编写,程序的仿真等工作。并能根据仿真结果分析设 计的存在的问题和缺陷,从而进行程序的调试和完善。 本设计是采用硬件描述语言和 FPGA 芯片相结合进行的数字钟的研究, 从中可以看出 EDA 技术的发展在一定程度上实现了硬件设计的软件化。设 计的过程变的相对简单,容易修改等优点,相信随着电子技术的发展,数 字钟的功能会更加多样化,满足人们的各种需要。 同时,也让我了解到电子系统的设计输入可以用原理图、波形、VHDL 语言等方式输入,下载配置前的整个过程几乎不涉及到整个硬件,而硬件 设计的修改也如同修改软件程序样快捷方便,即通过软件方式的设计与测 试,达到对特定功能的硬件电路的设计实现,这种现代电子系统设计技术 采用自顶向下分层次、模块化设计方法,先化整为零,再优化综合,灵活 通用已成为研制、开发数字系统最 34 理想的选择,是现代电子电路设计方法的一个趋势,体现了硬件设计向软 件化方向发展的新思路。 35 参考文献 1 王开军,姜宇柏.面向CPLD/FPGA的VHDL设计.北京:机械工业出版社, 2006,P28-65 2 高吉祥.电子技术基础实验与课程设计.北京:电子工业出版社,2002, P55P80 3 刘宝琴.ALTERA 可编程逻辑器件及其应用.北京:清华大学出版社,1995, P26-P55 4 潘松,黄继业.EDA 技术实用教程.北京:科学出版社,2002, P93-P12

    注意事项

    本文(毕业设计(论文)-基于VHDL的语音数字钟的设计.doc)为本站会员(哈尼dd)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开