1、黄山学院本科生毕业论文本科生毕业论文(设计)基于EDA技术的电梯控制器设计院 系: 信息工程学院 专 业: 电子信息工程 目 录中文摘要2外文摘要3引 言41. 绪 论51.1 EDA技术51.1.1 EDA的介绍与发展51.1.2 EDA的设计流程及优点51.1.3 VHDL介绍51.2 国内外研究现状及发展趋势61.2.1 电梯智能化及其实现61.2.2 接口层的实现72. 四层电梯控制器的系统设计82.1四层电梯控制器的功能及设计要求82.2四层电梯控制器的设计思路92.2.1 电梯控制器流程92.3 电梯控制器的功能122.4 电梯系统的设计123.四层电梯控制器的调试及仿真133.1
2、 MAX+PLUS的流程介绍 133.2 各模块的VHDL语言133.2.1 主控制器模块133.2.2 数据选择器模块设计163.2.3 译码器模块173.2.4 分频器模块184. 四层电梯控制器的波形仿真19结束语23参考文献24致谢25基于EDA技术的电梯控制器设计*指导老师:*(*)摘 要:电梯作为现代化的产物,早在上个世纪就进入了我们的生活之中。对于电梯的控制,传统的使用继电器-接触器系统进行控制已不能满足人们的要求。随着EDA技术的发展FPGA已经广泛运用于电子设计控制的各个方面。本设计是基于VHDL语言开发的四层电梯控制器。以Max+Plus为开发环境。其功能包括:显示电梯当前
3、所在楼层、显示有请求发生的楼层、相应楼层请求、关门延时控制、电梯开关门显示。关键字:电梯控制器;EDA;VHDL状态机The Elevator Controller Based on VHDL*Director:* (Information Engineering College, *)Abstract:The lift, as the modernized result, is entered our life in last century. For the elevator control, the traditional approach is to use relay-contact
4、or control system to control. With the development of EDA technology, FPGA has been widely use in all aspects of electronic design control. The graduation project is best on the VHDL language development of four elevator control. To Max+Plus development. Its features include: show floor where the li
5、ft current, show that the request happened floors, floor to respond to the request, closing delay setting, elevate door open display.Key Words: Elevator controller;EDA;VHDL condition machine 引 言在现代化城市的高速发展中,一幢幢高楼拔地而起。电梯是楼房里上下运送乘客或货物的垂直运输设备。我国电梯行业的发展历程,从改革开放到今天,电梯行业在不知不觉中走过了一个从无到有,从有到多,从多到精的发展历程。随着住宅
6、市场的巨大变化,中国已经成为全球容量最大、增长最快的电梯市场。目前,我国电梯保有量已超过100万台,且保持每年20%的递增速度,市场前景乐观。这些电梯服务于写字间、公寓、商场等各种场所。但是电梯行业业内都知道,电梯的核心部件是电梯控制。该部件的好坏不仅影响电梯的运行质量,还会影响电梯的安全性和可靠性能。上世纪80年代,国内电梯行业基本应用传统的继电器控制方式,电梯故障率很高。改革开放以来,国外的电梯公司纷纷登陆中国市场,在国内建立了一批有规模的合资企业,他们带来的技术比较先进。但这些外国公司对电梯控制系统的技术控制非常严格,国内的中小型企业根本没有能力与他们竞争。总的来说,我国电梯市场潜力很大
7、,但是国产电梯市场占有率不容乐观,中国电梯企业有待发展。在现代化城市的高速发展中,一幢幢高楼拔地而起。电梯是楼房里上下运送乘客或货物的垂直运输设备。我国电梯行业的发展历程,从改革开放到今天,电梯行业在不知不觉中走过了一个从无到有,从有到多,从多到精的发展历程。随着住宅市场的巨大变化,中国已经成为全球容量最大、增长最快的电梯市场。目前,我国电梯保有量已超过100万台,且保持每年20%的递增速度,市场前景乐观。这些电梯服务于写字间、公寓、商场等各种场所。自1889美国的奥的斯升降机公司推出了世界第一部以直流电动机为动力诞生名副其实的电梯,从而彻底改写了人类使用升降工具的历史。上世纪90年代,随的升
8、降机着世界经济快速发展及经济全球化, 发达的工业化国家纷纷研制出高速及超高速电梯,电梯不仅是代步的工具,也是人类文明的标志,其技术的发展正体现了社会的进步与文明。随着电梯技术的发展,绿色化、低能耗、智能化、网络化、蓝牙技术的电梯成为一段时间内的发展趋势。1. 绪 论1.1 EDA技术 1.1.1 EDA的介绍与发展 EDA是Electronic Design Automation(电子设计自动化)的缩写,EDA技术是20世纪90年代初以来迅速发展起来的现代电子工程领域的一门新技术1。它以可编程逻辑器件(PLD)为载体,以计算机为工作平台,以EDA工具软件为开发环境,以硬件描述语言(HDL)作为
9、电子系统功能描述方式,以电子系统设计为应用方向的电子产品自动化设计过程。当今以数字化和网络化为特征的信息技术革命大潮中,电子技术获得了飞速发展,现代电子产品渗透到了社会的各个领域。现代电子产品的性能进一步提高,功能越来越复杂,集成化智能化程度越来越高,更新换代的节奏越来越快,开发风险也越来越大,而且正向着功能多样化,体积小型化,功耗最低化的趋势发展。所有这些,都给电子系统设计师们带来了前所未有的压力,面对这种压力,唯一的出路是熟练掌握EDA技术,并获得其的有力支持。EDA技术的出现,极大的提高了电路设计的效率和可靠性,减轻了设计者的劳动强度,EDA是电子产品开发研制的动力源和加速器,是现代电子
10、设计的核心。随着基于PLD的EDA技术的发展和应用领域的扩大和深入,它在电子信息,通信工程,自动控制及计算机应用领域的重要性日益突出。 1.1.2 EDA的设计流程及优点 EDA的设计流程如下:(1)根据设计题目要求编写相应程序代码(2)对编写的VHDL程序代码进行编译和仿真(3)利用实验箱完成硬件验证 (4)总结设计内容,完成课程设计说明书 EDA技术与传统的电子设计相比,传统的电子设计方法是一种自底向上且费时费力的设计方法,而现代电子设计技术(EDA)是自顶向下且先进高效的。在电子产品的设计理念、设计方式、系统硬件构成、设计的重用性、知识产权、设计周期等方面,EDA技术具有一定的优势。 1
11、.1.3 VHDL介绍VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardw语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为ANSI/IEEE的标准(IEEE STD 1076-1987
12、)2。1993年更进一步修订,变得更加完备,成为ANSI/IEEE的Aare Descriptiong Language.翻译成中文就是超高速集成电路硬件描述NSI/IEEE STD 1076-1993标准。目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。在Max+Plus软件平台上有很多种输入方式,特别介绍VHDL是因为用VHDL语言进行数字逻辑电路和数字系统的设计,是电子电路设计方法上的一次革命性变革。与传统设计方法相比,VHDL描述电路行为的算法有很多优点: (1) 设计层次较高、用于较复杂的计算时,能早发现存在的问题,缩短设计周期。(2) 独立实现,修改方便,系统硬件描述能力
13、强。(3) 可读性好,有利于交流,适合于文档保存。(4) VHDL语言标准、规范、移植性强。(5) VHDL类型多而且支持用户自定义类型,支持自顶而下的设计方法和多种电路的 设计。 1.2 国内外研究现状及发展趋势1.2.1 电梯智能化及其实现随着EDA技术的深入发展和EDA技术软硬件性能价格比的不断提高, EDA技术的应用将向广度和深度两个方面发展。根据利用EDA技术所开发的产品的最终主要硬件构成来分,作者认为,EDA技术的应用发展将表现为如下几种形式:(1) CPLD/FPGA系统:使用EDA技术开发CPLD/FPGA,使自行开发的CPLD/FPGA作为电子系统、控制系统、信息处理系统的主
14、体。(2) “CPLD/FPGA+MCU”系统:使用EDA技术与单片机相接结合,使自行开发的CPLD/FPGA+MCU作为电子系统、控制系统、信息处理系统的主体。(3) “CPLD/FPGA+专用DSP处理器”系统:将EDA技术与DSP专用处理器配合使用,使自行开发的“CPLD/FPGA+专用DSP处理器”,构成一个数字信号处理系统的整体。(4) 基于FPGA实现的现代DSP系统:基于SOPC (a System on a Programmable Chip)技术、EDA技术与FPGA技术实现方式的现代DSP系统。(5) 基于FPGA实现的SOC片上系统:使用超大规模的FPGA实现的,内含1个
15、或数个嵌入式CPU或DSP,能够实现复杂系统功能的单一芯片系统。基于FPGA实现的嵌入式系统:使用CPLD/FPGA实现的,内含嵌入式处理器,能满足对象系统要求实现特定功能的,能够嵌入到宿主系统的专用计算机应用系统。电梯行业内都知道,电梯的核心部件是电梯控制,该部件的好坏不仅影响电梯的运行质量,还会影响电梯的安全性和可靠性能。对于电梯控制系统来说,智能化的发展将是电梯行业未来发展的必经之路。将人工智能应用到电梯控制领域是从上世纪80年代开始的,那时人工智能蓬勃发展,专家系统、神经网络、模糊控制等许多最新的人工智能成果都被应用到电梯群控的派梯算法上,但这些具有智能化派梯策略的电梯在中国的使用却很
16、晚,使用量并不是很大。这是由多种原因造成的。智能化电梯群控系统可以大大提高电梯群的派梯效率,减少乘客的候梯时间,降低电梯的能耗。 对电梯的原有机械电梯部分基本不作改动,包括提升部分、厅门控制部分等等,只是在原有电梯控制系统之上增加一层接口层,在接口层实现对电梯各种信号的采集和通过电梯的原有外部输入接口实现对电梯控制信号的输入,在接口层之上实现电梯群的智能化群控。 1.2.2 接口层的实现电梯智能化改造的实现与原有电梯的接口部分很重要。与原有系统的接口包括两个部分,一是电梯的状态的实时采集,二是控制信号的回送。始终强调电梯的改造最重要的是不可以降低原有系统的安全性。如果原有电梯控制系统仍能满足需
17、要,应尽量减少对原有电梯控制系统的改变,同时又要能够及时得到电梯的状态变化,并实现对电梯的调度3。接口层的实现采用分布式控制技术,在每台电梯的每一楼层的外招板上加装一块外招接口板,在内招板上加装一块内招接口板,在电梯控制柜中加装一块梯态接口板,这些接口板上都有一个独立的CPU控制着各自的信号采集、发送、接收、转发,它们通过一条公用总线与信号采集主机相连,信号采集主机负责电梯所有信号的收集和转发,负责将收集到的电梯信号送达上层的群控主机和实时监控主机,并转发群控主机和监控主机发出的控制信号。通过各楼层加装的外招接口板采集所有外招信号,电梯内加装的内招接口板采集电梯的内招信号,电梯的控制柜中加装的
18、电梯状态接口板采集电梯的目前状态:如口前楼层、运行方向、电梯门状态、电梯停止等信号,通过串行总线送往群控主机,群控主机根据采集到的信号作派梯选泽,将派梯信号回送到外招接口板,由外招接口板将信号发送给电梯的外招板,完成派梯。2. 四层电梯控制器的系统设计电梯的微机化控制主要有以下几种形式:1 PLC控制;2 单板机控制;3 单片机控制;4 单微机控制;5 多微机控制;6 人工智能控制;7 EDA技术。随着EDA技术的快速发展,CPLD/FPGA已广泛应用于电子设计与控制的各个方面。但是本设计屏弃以前老式的采用PLC设计电梯控制器,而是使用EDA技术来实现对电梯的控制的。2.1四层电梯控制器的功能
19、及设计要求 电梯控制器是控制电梯按照顾客要求自动上下的装置4。四层电梯控制器的功能如下:(1) 每层电梯入口处设上下请求开关,电梯内设顾客到达层次的停站请求开关。(2) 设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。(3) 电梯每秒上升(下降)一层楼。(4) 电梯到达有停站请求的楼层,经过1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信号停留在当前层。(5) 能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。(6) 电梯运行规则当电梯处于上升模式时,只响应比电梯所在位置的上楼请求信号
20、,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升到由下楼请求的最高楼层,然后进入下降模式。当电梯处于下降模式则与上升模式相反。(7) 电梯初始状态为一层开门状态。采用状态机来实现电梯控制器,思路比较清晰,通过一个统一的1秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以把状态机设置10个状态,分别是“电梯停留在1层”、“开门”、“关门”、“开门等待第1秒”、“开门等待第二秒”、“开门等待第三秒”、“开门等待第四秒”、“上升”、“下降”和“停止”状态。各个状态之间的转换条件可由上面的设计要求所决定。 2.2四层电梯控制器的设计思路 2.2.1 电梯控制器流程
21、外部按键设备请求信号寄存器状态寄存器内部软件执行器构外部硬件执行器构图2-1 总流程图当外部按键设备接受到上升、下降和停止请求时,由请求信号寄存器存储。数据选择器对按键请求进行选择,并将选择的结果发送到状态寄存器中。主控制器中的软件执行器响应按键请求并发送控制请求给外部硬件,要求其执行按键请求。主控制器对当前电梯状态判断,显示当前所在楼层并清平层信号。当外部键发出上升或下降请求时,响应外部请求并显示上升或下降。到达请求楼层后消该层信号之后主控制器判断有无同相选层信号如果有则消除同相选层信号,之后扫描电梯位置判断目的层是否到达进行上行控制后下行控制。其过程如下图2-2所示。初始化N有无平层信号等
22、待请求Y显示清平层信号目的层到否NY上/下运行上下行判断停车消该层信号有无同相选层信号停车有无同向选层信号消同向选层信号扫描电梯位置N目的层到否Y上行控制下行控制返回图2-2 电梯运行流程图扫描当前层初始化下降请求请求一层开门等待上升上升请求NN下降YYY到最低层请求Y到最高层N上升模式下降模式N到目的层请求N到目的层请求YNY停车一层开门等待图2-4 下降模式流程图图2-3 上升模式流程图图2-3和图2-4表示当分别接收到上升请求和下降请求时主控制器对外部的响应过程。本论文设计的电梯控制系统的流程图主要有:总流程图5,电梯运行流程图,上升模式流程图,下降模式流程图和停车门控制流程图,其中总流
23、程图指出了整个电梯系统各个部分的联系,但是本设计的主要部分为电梯的控制系统,所以对这一部分不做过多介绍;电梯的运行流程图则明确的指出了控制系统根据电梯当前状态和外部请求信号做出相应的控制,例如:当电梯在二层楼的时候,接收到第四层楼的下降请求和第三层楼的上升请求,则电梯会先响应第三层楼的请求,当到达第三层楼后,在消除这一信号,接着响应第四层楼的请求;而电梯的上升和下降模式流程图则更加具体的指出了电梯在什么情况下上升,在什么情况下下降,上升过程中和下降过程中的一些具体情况;门制系统也是很重要的一部分,它形象的表达了电梯在到达所指定的楼层后所做出的反应及其所等待时间。总之,这五个流程图将电梯控制系统
24、具体化,有利于后面的设计。 2.3 电梯控制器的功能 (1) 主控制器的功能 (a) 完成4个楼层多用户的载客服务控制。 (b) 电梯运行时显示电梯的运行方向和所在的楼层。 (c) 当电梯到达选择的楼层时,电梯自动开门。 (d) 具有提前关电梯门和延时关电梯门的功能。 (e) 响应分控制器的有效请求,如果到达有请求的楼层,电梯自动开门。 (2) 分控制器的功能是显示电梯的运行状态和所在的楼层,和显示乘客的上升和下降请求。 (3) 分控制器的有效请求原则:( a) 电梯处于等待状态时,上升和下降请求都响应。 (b) 电梯处于上升状态时,有上升请求的分控制器所在楼层数大于电梯所在的楼层数。(c)
25、电梯处于下降状态时,有下降请求的分控制器所在楼层数小于电梯所在的楼层数。 2.4 电梯系统的设计控制器的功能模块如图2-6所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在的楼层数通过译码器译码从而在楼层显示器中显示。分控制器把有效的请求传给主控的楼层数。由于分控制器相对简单很多,所以主控制器是核心部分。状态显示分控制器主控制器译码器楼层显示楼层选择 图2-6 电梯控制器原理框图3. 四层电梯控制器的调试及仿真3.1 MAX+Plus的流程介绍 (1) 设计准备在对可
26、编程逻辑器件的芯片进行设计之前,首先要进行方案论证、系 统设计和器件选择等设计准备工作。设计者首先要根据任务要求,如系统所完成的功能及复杂程度,对工作速度和器件本身的资源、成本及连线的可布通性等方面进行权衡,选择合适的设计方案。 (2) 设计输入:设计者将所设计的系统或电路以开发软件要求的某种形式表现出来,并送入计算机的过程称为设计输入。设计输入通常有以下几种方式。(a) 原理图输入方式(b) 硬件描述语言输入方式(c) 波形输入方式(d) 层次化设计输入方式 (3) 项目编译(设计处理)这是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合和优化,并适当地用一
27、片或多片器件自动进行适配,最后产生编程用的编程文件。 (4) 仿真和定时分析(项目校验):设计项目的校验包括设计项目的仿真(功能仿真)、定时分析两个部分。一个设计项目在编译完成后只能为项目创建一个编程文件,但并不能保证是否真正达到了用户的设计要求,如逻辑功能和内部时序要求等。所以在器件编程之前应进行全面模拟检测和仿真调试,以确保其设计项目在各种可能的情况下正确响应和正常工作,这就是项目校验(仿真调试)的必要性。MAX+plus提供的设计校验过程包括仿真和定时分析,项目编译后,为确保设计无误,再用专门软件进行仿真6。如果发现了错误,则对设计输入进行部分修改直至无误。3.2 各模块的VHDL语言
28、3.2.1 主控制器模块中央数据处理模块是系统的核心,通过对存储的数据(含请求、到达楼层等信号)进行比较、判断以驱动系统状态的流转。电梯工作过程中共有9种状态:等待、上升、下降、开门、关门、停止、休眠、超载报警以及故障报警状态。一般情况下,电梯工作起始点是第一层,起始状态是等待状态,启动条件是收到上升请求。电梯控制器的系统结构如图3-1所示。电梯控制器的输入输出引脚如图3-2所示。 图3-1 电梯控制器结构图3-2 电梯控制器输入输出引脚主控制器的端口定义和初始状态的程序为:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_
29、unsigned.all;use ieee.std_logic_arith.all;entity fourlift isport( buttonclk:in std_logic; -按钮时钟信号 liftclk: in std_logic; -电梯时钟信号 reset:in std_logic; -复位键 f1upbutton:in std_logic; -一楼上升按钮 f2upbutton:in std_logic; -二楼上升按钮 f3upbutton:in std_logic; -三楼上升按钮 f2dnbutton:in std_logic; -二楼下降按钮 f3dnbutton:in
30、std_logic; -三楼下降按钮 f4dnbutton:in std_logic; -四楼下降按钮 fuplight:buffer std_logic_vector(4 downto 1); -上升指示灯 fdnlight:buffer std_logic_vector(4 downto 1); -下降指示灯 stop1button,stop2button,stop3button, stop4button:in std_logic; -电梯内部按钮 stoplight:buffer std_logic_vector(4 downto 1); -内部停止指示灯 position:buffer
31、 integer range 1 to 4; -楼层位置显示 doorlight:out std_logic; -电梯门指示灯 1 开 0关 udsig:buffer std_logic ); -0处于上升模式,1处于下降模式 end fourlift;architecture art of sixlift is type lift_state is (stopon1,dooropen,doorclose,doorwait4,up,down,stop); -电梯所处的7个状态signal mylift:lift_state; -内部电梯状态信号signal clearup:std_logic;
32、 -上升清除信号 signal cleardn:std_logic; -下降清除信号 begincontrollift:process(reset,liftclk) variable pos:integer range 1 to 4; -楼层位置变量 beginif reset=1 then mylift=stopon1; -起始状态 clearup=0; -上楼信号清除 cleardn=0; -下楼信号清除 pos:=1; -处于一楼 position=1; -处于一楼 3.2.2 数据选择器模块设计有效的对外部信号采集、选择、处理要求电梯控制器对外部请求信号的实时、准确采集准确、实时的捕捉
33、楼层到达信号7;有防止楼层到达信号、外部请求信号的误判。其电路为如图3-3所示。该模块有八个信号输入引脚一个数据选择输出引脚。图3-3 数据选择器模块该模块的控制程序如下:library ieee;use ieee.std_logic_1164.all;entity led is port( input:in std_logic_vector(3 downto 0); output:out std_logic_vector(4 downto 0) );end;architecture a of led is begin output=0110000 when input=0001 else 1
34、101101 when input=0010 else 1111001 when input=0011 else 0110011 when input=0100 else 1011011 when input=0101 else 1011111 when input=0110 else 0000000;end a; 3.2.3 译码器模块该模块的功能是将主控制器的二进制码信号进行译码并转换成控制信号。并把转换后的控制信号转发大外围电路,让其正确执行主控制器的命令8。其电路图如图3-4所示。该模块有一个输入时钟引脚和八个信号输入引脚,一个译码输出引脚。CLK QOUT(2.0)A2.0 q7.0
35、SEL2.0A3.0B3.0C3.0D3.0 Q2.0E3.0F3.0G3.0H3.0D2.0 Q4.0图3-4 译码器模块其控制程序为:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yima isport( aaa:integer range 1 to 4; bbb:out std_logic_vector(3 downto 0) );end;architecture a of yima isbeginprocess(aaa)begin if aaa=1 then bbb=000
36、1; elsif aaa=2 then bbb=0010; elsif aaa=3 then bbb=0011; elsif aaa=4 then bbb=0100;end if;end process;end a;3.2.4 分频器模块该模块是将电梯的接收信号进行分频处理控制电梯的运行速度。分频器的部分图形如图3-5所示其控制程序如下所示9。其外部引脚有两个时钟引脚,引脚clk-in是时钟输入,引脚clk是时钟输出引脚。reset是复位引脚。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ent
37、ity div is port( 图3-5 分频器部分的图形 clk_in:in std_logic; div_out:out std_logic);end;architecture a of div is signal fre_N:integer range 0 to 10;signal clk_tmp:std_logic;begin div_out10 then fre_N=0; clk_tmp=not clk_tmp; else fre_N=fre_N+1; end if; end if; end process;end a;4. 四层电梯控制器的波形仿真在仿真中我们应该作一些符合实际情
38、况的假设,就是外部上升请求的乘客,进入电梯以后一定是按高层的内部停站按钮,有外部下降请求的乘客,进入电梯以后一定是按低层的内部停站按钮。而且乘客进入电梯以后必定要按按键。在同一时刻有很多人按键的概率很小,所以按键一定有先后顺序10。这些假设都是符合实际情况的。图 4-1 上升请求图4-1所示仿真的是在2层电梯外部有上升请求,也就是c_u2产生一个脉冲,可以看到电梯从一层上升到二层,position信号由1变到2,doorlight信号逻辑1表示开门,0表示关门。当乘客进入电梯以后,在电梯内部要求上升到第3层,也就是stop3button产生一个脉冲,电梯上升到第三层,开门4秒以后关门,停留在3
39、层,position最后的值为3。在仿真的可以看出来buttonclk很密集,基本上近似于一条黑线,是因为采用了频率较高的时钟脉冲。再看fuplight信号灯,当二层有上升请求的嗣后,它的值由0变到2(注意,fuplight和fdnlight是4位的二进制的标准逻辑矢量,这里的2代表的是“0010”,表示二层有请求;”1000”也就是8,表示四层有请求)。当电梯停到二层以后,表示该请求被响应,所以它的值变为0。由于没有下降请求的信号,所以fdnlight信号灯一直都是0。图 4-2 两次停站请求图4-2是有两次停站请求的仿真波形图,符合停站的要求。图 4-3 下降请求图4-3是有下降请求的情况
40、,因为电梯的初始状态为一层的开门等待状态,所以在第四层有下降请求的时候,电梯先是上升到第四层,开门4秒以后关门,然后下降,停站请求为第一层,所以到第一层的时候开门4秒后关门,停在第一层,等待下次请求。我们观察fdnlight的变化显示的是8,转换为二进制就是“1000”,正好是第四层的下降指示灯亮,在电梯到第四层响应了下降请求后,下降指示灯就关闭,显示的就是“0”。在看电梯位置的变化,“1234321”没有乱序,说明显示是正确的。图 4-4 有两站停站请求图 4-5 同时有上升和下降请求图4-3有两站停站的请求,显示是正确的,没有混乱的现象。图4-5同时有上升请求和下降请求信号时,电梯的运行没
41、有出现混乱现象。在电梯控制器的设计中,要考虑到层次的扩展11,今天是四层,明天也许是五层,甚至更多,但是设计的思路都应该按照设计四层电梯控制器的思路延续下去,比如说要设计五层的电梯控制器,那么要多的按钮就是 f4upbutton, f5dnbutton, stop5button, fuplight和fdnlight的长度都改为(5 downto 0),position的范围就是1 to 5。其次就是要在电梯设计的过程中,因为在设计中涉及到电梯处于每一层的时候的判断,就要根据实际的情况,写出相应的逻辑关系。例如电梯现在处于第三层的上升,如果电梯要上升,就不能单单的判断第四层是否有升降请求,还要根据第五层的请求指令来判断电梯到达第四层是该继续上升还是就停止,或者是转为下降状态,例如,现在电梯的状态是上升,这个时候的逻辑关系是: fdnlight(4)=1 and fdnlight(5)=1;那么当电梯运行到第四层的时候就应该继续为up状态,先响应第五层的下降请求,状态变为down,再转为下降状态,回到第四层再才相应第四层的下降请求。类似的当电梯上升状态处于第n层的时候就要判断比它高的层次的请求,当电梯处于下降模式时,就要判断比该层低的层的请求。 结束语用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和