收藏 分享(赏)

毕业论文-基于EDA技术的电梯控制器实现与仿真[1].doc

上传人:tkhy51908 文档编号:7732911 上传时间:2019-05-24 格式:DOC 页数:42 大小:918.50KB
下载 相关 举报
毕业论文-基于EDA技术的电梯控制器实现与仿真[1].doc_第1页
第1页 / 共42页
毕业论文-基于EDA技术的电梯控制器实现与仿真[1].doc_第2页
第2页 / 共42页
毕业论文-基于EDA技术的电梯控制器实现与仿真[1].doc_第3页
第3页 / 共42页
毕业论文-基于EDA技术的电梯控制器实现与仿真[1].doc_第4页
第4页 / 共42页
毕业论文-基于EDA技术的电梯控制器实现与仿真[1].doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、基于 EDA 技术的电梯控制器实现与仿真六层电梯控制器的设计摘要: 在现代社会和经济活动中,计算机技术、自动控制技术和电力电子技术得到了迅速的发展,电梯已经成为城市物质文明的一种标志。在高层建筑中,电梯是不可缺少的垂直运输设备。随着经济建设的持续高速发展,我国电梯需求量越来越大,电梯生产已成为我国一门极具前景的新兴产业。针对我国电梯业现状,本设计以电子设计自动化(Electronic Design Automation)技术中的高速集成电路硬件描述语言(Very High Speed Integrated Circuit Hardware Descrisioon Language)编写六层电梯

2、控制程序,实验调试平台是 Altera 公司的 QuartusII软件。此程序具有 VHDL 语言设计里最为常用的三个模块:实体 entity,结构体architecture,进程执行单元 process。通过程序调试及运行仿真,结果表明,本程序可以完成:电梯运行所在楼层指示、电梯运行方向指示、关门延时设置、看门狗报警、超载报警、故障报警等。本设计对更高层的电梯控制设计具有一定的拓展性。关键词:电梯控制;程序设计;EDA;VHDL;QuartusII目录1 前言-11.1 问题的提出-11.2 设计目的-11.3 课题的主要工作-12 总体方案的确定-12.1 PLC 技术在电梯控制的应用-1

3、2.2 单片机技术在电梯控制的应用-22.3 EDA 技术在电梯控制的应用-32.4 方案选择-33 设计的基础依据-43.1 EDA 技术介绍-43.2 VHDL 语言介绍-53.3 QuartusII 软件介绍-84 程序设计及调试-94.1 算法分析-94.1.1 电梯运行规则-94.1.2 程序流程分析-124.2 程序设计说明-134.2.1 端口、寄存器设计说明-134.2.2 模块设计说明-144.2.3 具体语句设计说明-164.3 程序调试-205 程序仿真-225.1 建立波形输入-225.2 电梯功能的实现与仿真结果-255.2.1 仿真步骤-255.2.2 电梯功能实现

4、与仿真结果分析-266 设计总结-31致谢-33参考文献-34附录-35基于 EDA 技术的电梯控制器实现与仿真六层电梯控制器的设计06 自动化 黎国伟指导老师:王杏进 讲师1 前言1.1 问题的提出人和土地资源短缺的矛盾日趋激化,我国地少人多的国情,注定了我们必须合理解决人与土地的矛盾。兴建高层建筑是其中的有效措施之一,随之楼层电梯业便应运而生。随着我国城镇化程度的加大,电梯市场越来越繁华,人们对电梯的要求越来越高。如何更安全、更快捷地到达目的楼层,也就成为了人们对电梯的最为根本的要求。因此,本设计就六层电梯控制器设计为例,结合EDA 技术,对电梯控制进行设计。1.2 设计的目的针对我国楼层

5、层数的基本水平,本着“一理通,百理明”的原则,本设计希望通过简单的六层电梯控制器的设计,为广大电梯设计者提供一个基础。针对目前中小型电梯所能实现的功能,本控制器虚拟实现以下功能:(1) 指示电梯所在楼层;(2) 电梯基本运行;(3) 关门延时设置;(4) 提前关门设置;(5) 看门狗设置;(6) 超载报警;(7) 故障报警。1.3 课题的主要工作利用 VHDL 语言编程实现六层电梯控制器各个模块的功能,并用 QuartusII对本文进行设计,讨论六层电梯控制器设计的思路、示意图、结构图、流程图1及程序仿真图。将设计在 EDA 工具 QuartusII 下进行时序仿真,得到仿真结果,验证六层电梯

6、控制器设计的正确性。2 总体方案的确定2.1 PLC 技术在电梯控制的应用由当初的继电器逻辑控制电路到今天广为应用的可编程逻辑控制器及微机控制系统,电梯控制的发展经历了相当一段历程。为了实现电梯的控制,过去大多是采用继电器逻辑电路,这种逻辑控制方式具有原理简单、直观的特点,但通用性较差,对不同的楼层和不同的控制方式,其原理图、接线图等必须重新制作,且控制系统由许多继电器触点组成,接线复杂、故障率高。因此,它逐渐被可靠性高、通用性强的可编程序控制器及微机控制系统所代替。由 PLC 或微机实现继电器的逻辑控制功能,具有较大的灵活性,不同的控制方式可用相同的硬件,只是软件各不相同。只要把按钮、限位开

7、关、光电开关、无触点行程开关等电器元件作为输入信号,而把制动器、接触器等功率输出元件接到输出端,就算完成了接线任务。通常,电梯功能、层数变化时,无需增减继电器和大量的电路。PLC 是一种用于自动控制的专用微机,实质上属于微机控制方式。PLC 在设计和制造上采取了许多抗干扰措施,输入输出均有光电隔离。能在较恶劣的各种环境里工作、可靠性高,适合于安全性要求较高的电梯控制。PLC 将 CPU、存储器、I/O 接口等做成一体,使用方便,扩展容易。具有继电器系统的直观、易懂、易学,应用操作和调试方便等优势。因此,目前在国产电梯及中低档的客梯广泛应用了 PLC 控制系统,特别适用在用电梯的技术改造。电梯既

8、是一种特殊的起重运输设备,具有完善的机械专用结构,又是一种比较复杂的机电一体化的大型工业产品,具有复杂的电气控制系统。就电梯的控制方法而言,目前国产电梯广泛采用可编程控制器技术的智能化控制。由于这种控制属于随机控制,各种输入信号之间、输出信号之间以及输入信号和输出信号之间互相关联,逻辑关系处理起来非常复杂,这就给 PLC 编程带来很大难度。从这种意义上来说,PLC 编程水平的高低就决定电梯运行状态的好坏,因此 PLC 应用在电梯控制中的编程技术就成为控制电梯运行的关键技术。PLC 充分利用了微型计算机的原理和技术,具有很强的逻辑处理能力,在2电梯运行控制中发挥了重要作用。由于电梯在运行过程中各

9、种输入信号是随机出现的,即信号的出现具有不确定性,同时信号需要自锁保持、互锁保存、优先级排队、数据比较等,因此信号之间就存在复杂的逻辑关系。所以在电梯的运行控制中,PLC 的编程工作主要是针对各种信号进行逻辑判断和处理。2.2 单片机技术在电梯控制的应用单片机体积小,处理速度快,价格低廉,功能强大,是合适的控制系统。对电梯的控制主要是选层、启层、换速、平层、停车等几个环节,其中以选层环节最为复杂。与通常的电器控制相比,单片机系统不需要通过“选层器”并且配备以大量的中间继电器作为选层电路的控制设备,避免了设备多,检修困难,运行维护不便,造价成本高。应用微机控制可以取消选层器和大量中间继电器。而且

10、应用单片机控制又相当于应用其他微机减少了外围设备的接口芯片,增强了可靠性。2.3 EDA 技术在电梯控制的应用EDA 技术不是某一学科的分支,或某种新的技能技术,它是一们综合性学科,融合多学科于一体,打破了软件和硬件间的壁垒,使计算机的软件与硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。VHDL 具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。EDA 使得设计者的工作仅限于利用硬件描述语言和 EDA 软件来完成对系统硬件功能的实现。正因 EDA 在设计控

11、制系统中的这些特点,在电梯控制电路上采用 EDA 技术进行开发,越来越受到人们的重视。2.4 方案选择对于符合市场需求的大规模系统,要达到高效、高速完成,必须有多人甚至多个开发组共同并行工作才能实现。对于用 EDA 技术完成的一个确定的设计,可以利用相应的工具平台进来逻辑综合和优化,完成设计任务。基于 EDA 技术的 VHDL 语言对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。这为电子设计的入门者提供了便捷的帮助。相信在不远的将来,我国相关的专业技术人员使用3EDA 技术进行工程设计,就像现在使用计算器一样,虽然大部分人不能开办

12、集成电路制造厂,但是却能快速、经济地制造(设计)自己的专用集成电路或集成电子系统。综上比较,本设计采用 EDA 技术实现对电梯的控制。3 设计的基础依据现代电子设计技术的核心是 EDA 技术。基于 EDA 技术开发的实现六层电梯自动控制与目前主流的利用可编程逻辑控制器实现电梯控制紧密相连。硬件描述语言是 EDA 技术的重要组成部分,VHDL 是作为电子设计主流硬件的描述语言。使用 VHDL 语言进行程序设计,在 QuartusII 软件上对程序进行编译、仿真。在 QuartusII 平台上开发具有易学易懂、控制灵活方便、抗干扰能力强、运行稳定可靠等优点。3.1 EDA 技术介绍EDA 是电子设

13、计自动化(Electronic Design Automation)的缩写,在 20世纪 90 年代初从计算机辅助设计(CAD) 、计算机辅助制造(CAM) 、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。20 世纪 90 年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如 CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件

14、设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了 EDA 技术的迅速发展。4EDA 技术就是以计算机为工具,设计者在 EDA 软件平台上,用硬件描述语言 VHDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA 技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用 EDA 工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出 IC 版图或 PCB 版

15、图的整个过程在计算机上自动处理完成。现在对 EDA 的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事、等各个领域,都有 EDA 的应用。目前 EDA 技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到 EDA 技术。3.2 VHDL 语言介绍VHDL(Very High Speed Integrated Circuit Hardware Description Language)语言于 1983 年由美国国防部发起创建,由电工和电子工程师协会(the institute of ele

16、ctrical and electronics engineer)进一步发展并在 1987 年作为“IEEE1076”发布。从此,VHDL 成为硬件描述语言的业界标准之一。VHDL 作为一个规范语言和建模语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL 具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。3.2.1 VHDL 的特点应用 VHDL 进行系统设计,有以下几方面的特点:(一)功能强大:VHDL

17、具有功能强大的语言结构。它可以用明确的代码描述复杂的控制逻辑设计。并且具有多层次的设计描述功能,支持设计库和可重复使用的元件生成。VHDL 是一种设计、仿真和综合的标准硬件描述语言。5(二)可移植性:VHDL 语言是一个标准语言,其设计描述可以为不同的 EDA 工具支持。它可以从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台。此外,通过更换库再重新综合很容易移植为 ASIC 设计。(三)独立性:VHDL 的硬件描述与具体的工艺技术和硬件结构无关。设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。程序设计的

18、硬件目标器件有广阔的选择范围,可以是各系列的CPLD、FPGA 及各种门阵列器件。(四)可操作性:由于 VHDL 具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规模和结构。(五)灵活性:VHDL 最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。使其在任何大系统的设计中,随时可对设计进行仿真模拟。所以,即使在远离门级的高层次(即使设计尚未完成时),设计者就能够对整个工程设计的结构和功能的可行性进行查验,并做出决策。3.2.2 VHDL 的设计步骤采用 VHDL 的系统设计,一般有以下 6 个步骤。1)要

19、求的功能模块划分;2)VHDL 的设计描述(设计输入);3)代码仿真模拟(前仿真);4)计综合、优化和布局布线;5)布局布线后的仿真模拟(后仿真);6)设计的实现(下载到目标器件)。63.2.3 VHDL 语言编程格式( 1) 一 个 完 整 的 VHDL 程 序 是 以 下 五 部 分 组 成 的 :库 ( LIBRARY) : 储 存 预 先 已 经 写 好 的 程 序 和 数 据 的 集 合 。程 序 包 ( PACKAGE) : 声 明 在 设 计 中 将 用 到 的 常 数 、 数 据 类 型 、 元 件 及 子 程序 。实 体 ( ENTITY) : 声 明 到 其 他 实 体 或

20、 其 他 设 计 的 接 口 , 即 定 义 本 定 义 的 输 入输 出 端 口 。构 造 体 ( ARCHITECTUR) : 定 义 实 体 的 实 现 。电 路 的 具 体 描 述 配 置 ( CONFIGURATION) : 一 个 实 体 可 以 有 多 个 构 造 体 , 可以 通 过 配 置 来 为 实 体 选 择 其 中 一 个 构 造 体 。(2)实体实 体 ( ENTITY) 是 VHDL 设 计 中 最 其 本 的 组 成 部 分 之 一 ( 另 一 个 是 结 构 体 ), VHDL 表 达 的 所 有 设 计 均 与 实 体 有 关 。 实 体 类 似 于 原 理

21、图 中 的 一 个 部 件 符 号 ,它 并 不 描 述 设 计 的 具 体 功 能 , 只 是 定 义 所 需 的 全 部 输 入 /输 出 信 号 。 实 体 格式 如 下 :ENTITY 实 体 名 ISGENERIC( 常 数 名 : 数 据 类 型 : 设 定 值 ) 类 属 说 明PORT 端 口 说 明( 端 口 信 号 名 1: 模 式 类 型 ; 端 口 信 号 名 2: 模 式 类 型 ; 端 口 信 号 名3: 模 式 类 型 ; 端 口 信 号 名 4: 模 式 类 型 ) ;TYPE 语 句 或 常 量 定 义 实 体 申 明并 行 语 句 实 体 语 句 END 实

22、 体 名 ;( 3) 结 构 体所 有 能 被 仿 真 的 实 体 都 由 结 构 体 ( ARCHITECTURE) 描 述 , 即 结 构 体 描 述实 体 的 结 构 或 行 为 , 一 个 实 体 可 以 有 多 个 结 构 体 , 每 个 结 构 体 分 别 代 表 该 实体 功 能 的 不 同 实 现 方 案 。结 构 体 格 式 :ARCHITECTURE 结 构 体 名 OF 实 体 名 IS7定 义 语 句 ( 元 件 例 化 ) ; BEGIN并 行 处 理 语 句 ;END 结构体名;3.2.4 用 VHDL 语言对 FPGA 和 CPLD 器件进行开发时出现的毛刺问题的

23、处理在 EDA 环境中,毛刺是系统设计是否成功的关键。毛刺(竞争 冒险)现象是长期困绕电子工程师的问题之一。由于毛刺的存在,使的系统存在许多不稳定因素,经常会造成对脉冲上下沿敏感的电路产生误动作。毛刺主要是由门电路延时及路径延时造成的,采用传统设计方法时,毛刺必须在硬件测试时才有机会发现。但在现代数字系统设计时,通过 EDA 软件,完全可以找出毛刺产生的原因及产生的位置,并且非常准确和接近实际情况。目前常使用三种方法消除毛刺,它们分别为延时法、选通法和修改逻辑设计法。其中,修改逻辑设计能从根本上消除毛刺,但该方法要求使用者掌握电路的工作状态及其转换,有时需要多路输出,使用起来有一定的复杂性。3

24、.3 QuartusII 软件介绍Altera 公司的 QuartusII 软件提供了可编程片上系统(SOPC)设计的一个综合开发环境。Quartus II 开发工具人机界面友好、易于使用、性能优良,并自带编译、仿真功能。QuartusII 软件支持 VHDL 和 Verilog 硬件描述语言的设计输入、基于图形的设计输入方式以及集成系统级设计工具。QuartusII 软件可以将设计、综合、布局和布线以及系统的验证全部都整合到一个无缝的环境之中,其中也包括和第三方 EDA 工具的接口。QuartusII 设计软件根据设计者需要提供了一个完整的多平台开发环境,它包含整个 FPGA 和 CPLD

25、设计阶段的解决方案。在实际应用设计中,对程序原理性及可执行性的验证主要集中在程序修改阶段,尤其在处理的数据复杂、繁多时,Quartus II 自带的波形输入仿真就很难实现程序的验证,而且输出的数据不能方便的以波形图示直观的呈现,给程序设计者在校验程序阶段带来了很多的不便。再有,在很多数字电路设计中,考虑成本的问题,FPGA 实现的往往是设计的核心部分,而很多的外围电路如 A/D 转换器、D/A 转换器等仍然使用传统的接口芯片来实现。而 QuartusII 设计只是针对数字信号,并不支持模拟量的输入。而仅仅为了便于程序的验证8而用 FPGA 实现这些外围电路,不但会大大延长程序的开发周期,更会增

26、大开发的成本。而 MATLAB 具有强大的运算功能,可以容易的实现 A/D、D/A 转换等外围电路功能,并能以波形形式将结果直观地呈现,极大地方便了程序设计人员设计应用系统4 程序设计及调试4.1 算法分析4.1.1 电梯运行规则(1)请求信号分析:电梯的请求信号分为梯内请求和梯外请求,如果从这个角度就很难去进行对电梯运行可能情况的分析,因为电梯的运行是根据梯内和梯外的请求信号、行程信号进行控制的,而梯内和梯外的请求是随机且不能以有限的规则去对其进行说明的。因此,很难对电梯的运行情况作出一个统一的分析。出于这方面的考虑,本设计把电梯的请求信号划分为上升请求和下降请求。电梯接收到请求信号后,都必

27、须作预操作。使电梯进入预上升状态的请求信号就是上升请求信号。具体来说,就是当电梯所在楼层低于发出请求的楼层所要到达的目的楼层时,电梯必须在下一操作中作出上升运行,这时的请求信号就是上升请求信号。反之,则是下降请求信号。(2)电梯处于各楼层时的运行情况:处于一楼时,电梯只可能接收到上升的请求信号。此时,电梯就进入预上升状态,准备作上升运行。如果电梯没有接收到请求信号,电梯则在一楼待机。处于二楼到五楼时,电梯可能出现三种情况:电梯没有接收到请求信号,电梯返回一楼待机;电梯收到上升请求信号,进入预上升状态;电梯受到下降请求信号,进入预下降状态。处于六楼时,电梯只可能接收到下降的请求信号。此时,电梯就

28、进入预下降状态,准备作下降运行。如果电梯没有接收到请求信号,电梯则返回一楼待机。9对上述电梯的运行情况进行汇总,可以得到如图 2 的电梯运行状态图。在电梯运行过程中,存在一个如何处理信号优先的问题。电梯实际上是一个人机交互式的控制系统,单纯用顺序优先或逻辑优先是不能满足控制要求的,因此,控制系统采用随机逻辑方式控制去解决信号优先的问题。即在以顺序逻辑控制实现电梯的基本控制要求的基础,根据随机的输入信号,以及电梯的相应状态时的控制电梯的运行。本设计采用以下规则:电梯以前一状态为基准,即前一状态为上升,则操作完所以上升请求再操作下降请求;前一状态为下降,则反之。10(3)对电梯开门、关门、报警等内

29、部信号处理分析。其流程图如图 3 所示。当电梯接收到请求信号后,将以随机逻辑控制的方式到达发出请求的楼层。开门使能信号促使电梯开门载客,同时驱动关门延时信号、超重检测以及故障检测。在电梯进行完关门倒数计时、超重排除以及故障排除后,关门使能信号将促使电梯关门进入预操作状态。如果此前出现提前关门信号而且电梯也已经进行完超重排除和故障排除,电梯同样关门进入预操作状态。电梯在超重检测时发现超重,关门中断信号会促使电梯发出超重报警并且进行开门操作以减少乘客,重新进入载客操作;电梯在故障检测时,发现电梯某部分出现故障,关门中断信号会促使电梯发出故障报警并且进入开门操作的同时停止关门延时,作故障处理待机。1

30、1电梯控制器的原理图如图 4 所示。4.1.2 程序流程分析电梯的运行规则确立后,需对整个控制程序的设计作一个流程规范。对程序进行模块化构思。根据 VHDL 语言的规则,程序必须由最基本的实体和结构体构成。实体对控制器的端口进行定义,结构体对各端口的行为进行描述。因此程序运行需经过以下流程:VHDL 库调用;确立控制器的端口及相关的寄存器;根据电梯运行规则,设计相关运行描述;对电梯内外信号进行处理。具体流程图如图 5 所示。124.2 程序设计说明4.2.1 端口、寄存器设计说明(1)由功能要求得到本程序设计的端口必须包括:输入端口:时钟(clk,频率为 2Hz) 、超载(full) 、关门中

31、断(deng) 、提前关门(quick ) 、清除报警(clr ) 、电梯外人的上升请求信号(c_u1,c_u2,c_u3, ,c_u4,c_u5) 、电梯外人的下降请求信号( c_d2,c_d3,c_d4,c_d5,c_d6) 、电梯内人的请求信号(d1,d2,d3,d4,d5,d6) 、到达楼层信号(g1,g2,g3,g4,g5,g6) 。输出端口:电梯门控制信号(door) 、电梯所在楼层显示(led)电梯外人上升请求信号显示(led_c_u ) 、电梯外人下降请求信号显示(led_c_d) 、电梯内请求信号显示(led_d ) 、看门狗报警信号(wahaha ) 、电梯运动方向显示(u

32、d) 、超载警告信号(alarm) 、电机控制信号( up,down) 。其分布如图 6 所示。13(2)程序要求的寄存器(中间信号)包括:电梯内人请求信号寄存信号(d11,d22,d33,d44,d55,d66) 、电梯外人上升请求信号寄存信号(c_u11,c_u22,c_u33,c_u44,c_u55) 、电梯外人下降请求信号寄存信号(c_d22,c_d33,c_d44,c_d55,c_d66) 、分频信号(q) 、关门延时计数器(q1) 、看门狗计数器(q2) 、电梯内外请求信号寄存器(dd,cc_u,cc_d,dd_cc) 、开门使能信号(opendoor) 、电梯运动方向信号寄存器(

33、updown) 、预备上升、预备下降预操作使能信号(en_up,en_dw) 。4.2.2 模块设计说明本程序由三个基本模块组成,包括调用 VHDL 库模块、实体设计模块和结构体设计模块。而在结构体模块中又内嵌有进程执行单元。(1) 调用 VHDL 库使用 library 语句,本程序应用了 VHDL 库中的“通用 ieee 库”和“标准std 库” 。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;(2) entity 实体设计模块ent

34、ity dianti is port ( clk : in std_logic;-时钟信号(频率为 2Hz)full,deng,quick,clr : in std_logic; -超载、关门中断、提前关门、清除报警信号c_u1,c_u2,c_u3,c_u4,c_u5: in std_logic; -电梯外人的上升请求信号c_d2,c_d3,c_d4,c_d5,c_d6: in std_logic; -电梯外人的下降请求信号d1,d2,d3,d4,d5,d6 : in std_logic;-电梯内人的请求信号g1,g2,g3,g4,g5,g6 : in std_logic;-到达楼层信号doo

35、r : out std_logic_vector(1 downto 0);-电梯门控制信号14led : out std_logic_vector(6 downto 0);-电梯所在楼层显示(数码管显示)led_c_u:out std_logic_vector(5 downto 0);-电梯外人上升请求信号显示led_c_d:out std_logic_vector(5 downto 0);-电梯外人下降请求信号显示led_d : out std_logic_vector(5 downto 0);-电梯内请求信号显示wahaha : out std_logic;-看门狗报警信号ud,alarm

36、 : out std_logic;-电梯运动方向显示,超载警告信号up,down : out std_logic );-电机控制信号和电梯运动end dianti;(3)archi 结构体设计模块和 process 进程执行单元architecture behav of dianti issignal d11,d22,d33,d44,d55,d66:std_logic; -电梯内人请求信号寄存信号signal c_u11,c_u22,c_u33,c_u44,c_u55:std_logic;-电梯外人上升请求信号寄存信号signal c_d22,c_d33,c_d44,c_d55,c_d66:s

37、td_logic;-电梯外人下降请求信号寄存信号signal q:integer range 0 to 1;-分频信号signal q1:integer range 0 to 6;-关门延时计数器 signal q2:integer range 0 to 9;-看门狗计数器signal dd,cc_u,cc_d,dd_cc:std_logic_vector(5 downto 0);-电梯内外请求信号寄存器signal opendoor:std_logic;-开门使能信号signal updown:std_logic;-电梯运动方向信号寄存器signal en_up,en_dw:std_logi

38、c;-预备上升、预备下降预操作使能信号beginprocess(clk)begin15。 。 。 (进程语句具体看附录)end behav;4.2.3 具体语句设计说明上文已说明了构成 VHDL 程序的两大部分实体和结构体的相关语句。在这些语句里,赋值语句占了相当一部分。在 VHDL 语言里,赋值符号一般都是“=3 then door“00000011“ then en_up“00000011“ thenen_up=3 then door=3 then door=3 then door=“01“;q1=q1+1; else q1=q1+1;door=“00“; end if;end if;。

39、。 。18else q=1;alarm=0; -清除超载报警if d1=1 then d11=d1; -对电梯内人请求信号进行检测和寄存 elsif d2=1 then d22=d2;elsif d3=1 then d33=d3;elsif d4=1 then d44=d4;elsif d5=1 then d55=d5;elsif d6=1 then d66=d6;end if;if c_u1=1 then c_u11=c_u1; -对电梯外人上升请求信号进行检测和寄存elsif c_u2=1 then c_u22=c_u2;elsif c_u3=1 then c_u33=c_u3;elsif

40、 c_u4=1 then c_u44=c_u4;elsif c_u5=1 then c_u55=c_u5;end if; if c_d2=1 then c_d22=c_d2; -对电梯外人下降请求信号进行检测和寄存elsif c_d3=1 then c_d33=c_d3;elsif c_d4=1 then c_d44=c_d4;elsif c_d5=1 then c_d55=c_d5;elsif c_d6=1 then c_d66=c_d6;end if; dd=d66 -电梯内人请求信号并置 cc_u=0 -电梯外人上升请求信号并置 cc_d=c_d66 -电梯外人下降请求信号并置 dd_c

41、c=dd or cc_u or cc_d; -电梯内、外人请求信号进行综合end if; 19ud=updown; -电梯运动状态显示 led_d=dd; -电梯内人请求信号显示led_c_u=cc_u; -电梯外人上升请求信号显示led_c_d=cc_d; -电梯外人下降请求信号显示end if; 4.3 程序调试(1)建立好工作目录,以便设计工程项目的存储,打开 QuartusII 软件,其初始界面如图 8 所示。(2)在工具栏中选择“新建”按钮。选择“VHDL File” ,如图 9 所示。20(3) 在文本输入界面内进行程序输入,如图 10 所示。(4) 输入完毕后,需要对程序进行保存

42、。注意文件名和实体定义名必须保持一致,即 dianti,文件后缀名为 vhd。(5) 保存以后,对程序进行编译。在编译前,需要把文件设置为顶层文件或工程文件 Project。选择菜单“Project”中的“Set as Top-Level Entity”。21(6) 在“QuartusII”里选择“Processing”下拉菜单中的“Start Compilation”,此时,QuartusII 软件会对程序进行纠错等处理。当程序被确认无误后会出现如下界面,如图 11 所示。编译完成,程序调试结束。5 程序仿真225.1 建立波形输入(1)编译完成后,新建波形编辑器进行设计仿真。选择菜单“Fi

43、le” 中的“New”项,在 New 窗口中选择 “Vector Waveform File”,单击 OK 按钮,即出现空白的波形编译器(图 12) 。(2)设置仿真时间区域,在“Edit”菜单中选择“End Time”项,在弹出窗口中设置,设置完后对文件进行保存。同样使用文件名 dianti,后缀名则改为vwf。(3)将工程 dianti 的端口信号名选入波形编辑器中。方法是在编辑器左边Name 下的空白处右击选择“Insert Node Or Bus”项,弹出对话框如图 13 所示,在 Node Filter 框中选“Pins:all” ,单击 List 按钮,下方的 Nodes Foun

44、d 窗口中出现设计工程的所有端口引脚名。23(5)创立输入波形。从图 13 左边框中往右边框加入需要的信号节点,就可对输入信号逐一赋值,便可对程序进行仿真,观察输出信号,得出结论。如对时钟信赋于周期如下图 14 所示。设置好的输入波形如图 15 所示。245.2 电梯功能的实现与仿真5.2.1 仿真步骤(1)仿真器参数设置。选择菜单“Assignment”中的“Settings” ,在“Settings”窗口下选择“Category”下的“Simulator” ,右侧设置如下图 16所示。25(2)启动仿真器。现在所有设置进行完毕,在菜单 Processing 项下选择Start Simulation,直到出现 Simulation was successful,仿真结束。仿真结果如下图 17 和图 18。5.2.2 电梯功能实现与仿真结果分析以下将以“电梯停在一楼时,接受到请求信号 c_d2、c_d3、c_u4 和 d6”为例,分析操作这些请求信号完成的过程,并在电梯运行到四楼时对超载报警、提前关门、延时关门、故障报警进行仿真分析。26图 17 电梯控制程序仿真图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报