




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于EDA技术的电梯控制器实现与仿真六层电梯控制器的设计一、设计目的针对我国楼层层数的基本水平,本着“一理通,百理明”的原则,本设计希望通过简单的六层电梯控制器的设计,为广大电梯设计者提供一个基础。针对目前中小型电梯所能实现的功能,本控制器虚拟实现以下功能:(1) 指示电梯所在楼层;(2) 电梯基本运行;(3) 关门延时设置;(4) 提前关门设置;(5) 看门狗设置;(6) 超载报警;(7) 故障报警。二总体方案的确定 1.EDA技术在电梯控制的应用EDA技术不是某一学科的分支,或某种新的技能技术,它是一们综合性学科,融合多学科于一体,打破了软件和硬件间的壁垒,使计算机的软件与硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。VHDL具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。EDA使得设计者的工作仅限于利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。正因EDA在设计控制系统中的这些特点,在电梯控制电路上采用EDA技术进行开发,越来越受到人们的重视。2.方案选择对于符合市场需求的大规模系统,要达到高效、高速完成,必须有多人甚至多个开发组共同并行工作才能实现。对于用EDA技术完成的一个确定的设计,可以利用相应的工具平台进来逻辑综合和优化,完成设计任务。基于EDA技术的VHDL语言对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。这为电子设计的入门者提供了便捷的帮助。相信在不远的将来,我国相关的专业技术人员使用EDA技术进行工程设计,就像现在使用计算器一样,虽然大部分人不能开办集成电路制造厂,但是却能快速、经济地制造(设计)自己的专用集成电路或集成电子系统。综上比较,本设计采用EDA技术实现对电梯的控制。3设计的基础依据现代电子设计技术的核心是EDA技术。基于EDA技术开发的实现六层电梯自动控制与目前主流的利用可编程逻辑控制器实现电梯控制紧密相连。硬件描述语言是EDA技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言。使用VHDL语言进行程序设计,在QuartusII软件上对程序进行编译、仿真。在QuartusII平台上开发具有易学易懂、控制灵活方便、抗干扰能力强、运行稳定可靠等优点。3.1 EDA技术介绍EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事、等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。3.2 VHDL语言介绍VHDL(Very High Speed Integrated Circuit Hardware Description Language)语言于1983年由美国国防部发起创建,由电工和电子工程师协会(the institute of electrical and electronics engineer)进一步发展并在1987年作为“IEEE1076”发布。从此,VHDL成为硬件描述语言的业界标准之一。VHDL作为一个规范语言和建模语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。3.2.1 VHDL的特点应用VHDL进行系统设计,有以下几方面的特点:(一)功能强大:VHDL具有功能强大的语言结构。它可以用明确的代码描述复杂的控制逻辑设计。并且具有多层次的设计描述功能,支持设计库和可重复使用的元件生成。VHDL是一种设计、仿真和综合的标准硬件描述语言。(二)可移植性:VHDL语言是一个标准语言,其设计描述可以为不同的EDA工具支持。它可以从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台。此外,通过更换库再重新综合很容易移植为ASIC设计。(三)独立性:VHDL的硬件描述与具体的工艺技术和硬件结构无关。设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。程序设计的硬件目标器件有广阔的选择范围,可以是各系列的CPLD、FPGA及各种门阵列器件。(四)可操作性:由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规模和结构。(五)灵活性:VHDL最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。使其在任何大系统的设计中,随时可对设计进行仿真模拟。所以,即使在远离门级的高层次(即使设计尚未完成时),设计者就能够对整个工程设计的结构和功能的可行性进行查验,并做出决策。3.2.2 VHDL的设计步骤采用VHDL的系统设计,一般有以下6个步骤。1)要求的功能模块划分;2)VHDL的设计描述(设计输入);3)代码仿真模拟(前仿真);4)计综合、优化和布局布线;5)布局布线后的仿真模拟(后仿真);6)设计的实现(下载到目标器件)。3.2.3 VHDL语言编程格式(1)一个完整的VHDL程序是以下五部分组成的:库(LIBRARY):储存预先已经写好的程序和数据的集合。程序包(PACKAGE):声明在设计中将用到的常数、数据类型、元件及子程序。实体(ENTITY):声明到其他实体或其他设计的接口,即定义本定义的输入输出端口。构造体(ARCHITECTUR):定义实体的实现。电路的具体描述配置(CONFIGURATION):一个实体可以有多个构造体,可以通过配置来为实体选择其中一个构造体。(2)实体实体(ENTITY)是VHDL设计中最其本的组成部分之一(另一个是结构体),VHDL表达的所有设计均与实体有关。实体类似于原理图中的一个部件符号,它并不描述设计的具体功能,只是定义所需的全部输入/输出信号。实体格式如下:ENTITY实体名ISGENERIC(常数名:数据类型:设定值)类属说明PORT端口说明(端口信号名1:模式类型;端口信号名2:模式类型;端口信号名3:模式类型;端口信号名4:模式类型);TYPE语句或常量定义实体申明并行语句实体语句END实体名;(3)结构体所有能被仿真的实体都由结构体(ARCHITECTURE)描述,即结构体描述实体的结构或行为,一个实体可以有多个结构体,每个结构体分别代表该实体功能的不同实现方案。结构体格式:ARCHITECTURE结构体名OF实体名IS定义语句(元件例化);BEGIN并行处理语句;END结构体名;3.2.4 用VHDL语言对FPGA和CPLD器件进行开发时出现的毛刺问题的处理 在EDA环境中,毛刺是系统设计是否成功的关键。毛刺(竞争 冒险)现象是长期困绕电子工程师的问题之一。由于毛刺的存在,使的系统存在许多不稳定因素,经常会造成对脉冲上下沿敏感的电路产生误动作。毛刺主要是由门电路延时及路径延时造成的,采用传统设计方法时,毛刺必须在硬件测试时才有机会发现。但在现代数字系统设计时,通过EDA软件,完全可以找出毛刺产生的原因及产生的位置,并且非常准确和接近实际情况。 目前常使用三种方法消除毛刺,它们分别为延时法、选通法和修改逻辑设计法。其中,修改逻辑设计能从根本上消除毛刺,但该方法要求使用者掌握电路的工作状态及其转换,有时需要多路输出,使用起来有一定的复杂性。三程序设计及调试3.1算法分析3.1.1 电梯运行规则(1)请求信号分析:电梯的请求信号分为梯内请求和梯外请求,如果从这个角度就很难去进行对电梯运行可能情况的分析,因为电梯的运行是根据梯内和梯外的请求信号、行程信号进行控制的,而梯内和梯外的请求是随机且不能以有限的规则去对其进行说明的。因此,很难对电梯的运行情况作出一个统一的分析。出于这方面的考虑,本设计把电梯的请求信号划分为上升请求和下降请求。电梯接收到请求信号后,都必须作预操作。使电梯进入预上升状态的请求信号就是上升请求信号。具体来说,就是当电梯所在楼层低于发出请求的楼层所要到达的目的楼层时,电梯必须在下一操作中作出上升运行,这时的请求信号就是上升请求信号。反之,则是下降请求信号。(2)电梯处于各楼层时的运行情况:处于一楼时,电梯只可能接收到上升的请求信号。此时,电梯就进入预上升状态,准备作上升运行。如果电梯没有接收到请求信号,电梯则在一楼待机。处于二楼到五楼时,电梯可能出现三种情况:电梯没有接收到请求信号,电梯返回一楼待机;电梯收到上升请求信号,进入预上升状态;电梯受到下降请求信号,进入预下降状态。处于六楼时,电梯只可能接收到下降的请求信号。此时,电梯就进入预下降状态,准备作下降运行。如果电梯没有接收到请求信号,电梯则返回一楼待机。对上述电梯的运行情况进行汇总,可以得到如图2的电梯运行状态图。在电梯运行过程中,存在一个如何处理信号优先的问题。电梯实际上是一个人机交互式的控制系统,单纯用顺序优先或逻辑优先是不能满足控制要求的,因此,控制系统采用随机逻辑方式控制去解决信号优先的问题。即在以顺序逻辑控制实现电梯的基本控制要求的基础,根据随机的输入信号,以及电梯的相应状态时的控制电梯的运行。本设计采用以下规则:电梯以前一状态为基准,即前一状态为上升,则操作完所以上升请求再操作下降请求;前一状态为下降,则反之。(3)对电梯开门、关门、报警等内部信号处理分析。其流程图如图3所示。当电梯接收到请求信号后,将以随机逻辑控制的方式到达发出请求的楼层。开门使能信号促使电梯开门载客,同时驱动关门延时信号、超重检测以及故障检测。在电梯进行完关门倒数计时、超重排除以及故障排除后,关门使能信号将促使电梯关门进入预操作状态。如果此前出现提前关门信号而且电梯也已经进行完超重排除和故障排除,电梯同样关门进入预操作状态。电梯在超重检测时发现超重,关门中断信号会促使电梯发出超重报警并且进行开门操作以减少乘客,重新进入载客操作;电梯在故障检测时,发现电梯某部分出现故障,关门中断信号会促使电梯发出故障报警并且进入开门操作的同时停止关门延时,作故障处理待机。电梯控制器的原理图如图4所示。3.1.2 程序流程分析电梯的运行规则确立后,需对整个控制程序的设计作一个流程规范。对程序进行模块化构思。根据VHDL语言的规则,程序必须由最基本的实体和结构体构成。实体对控制器的端口进行定义,结构体对各端口的行为进行描述。因此程序运行需经过以下流程:VHDL库调用;确立控制器的端口及相关的寄存器;根据电梯运行规则,设计相关运行描述;对电梯内外信号进行处理。具体流程图如图5所示。3.2 程序设计说明3.2.1端口、寄存器设计说明(1)由功能要求得到本程序设计的端口必须包括:输入端口:时钟(clk,频率为2Hz)、超载(full)、关门中断(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)、电梯运动方向显示(ud)、超载警告信号(alarm)、电机控制信号(up,down)。其分布如图6所示。(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)、电梯运动方向信号寄存器(updown)、预备上升、预备下降预操作使能信号(en_up,en_dw)。3.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实体设计模块entity 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;-到达楼层信号 door : out std_logic_vector(1 downto 0);-电梯门控制信号 led : 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 : 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:std_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_logic;-预备上升、预备下降预操作使能信号beginprocess(clk)begin。(进程语句具体看附录)end behav;3.2.3具体语句设计说明上文已说明了构成VHDL程序的两大部分实体和结构体的相关语句。在这些语句里,赋值语句占了相当一部分。在VHDL语言里,赋值符号一般都是“=”符号,具体形式如下:beginif clkevent and clk=1 then if clr=1 then q1=0;q2=0;wahaha=0;elsif full=1 then alarm=1; q1=3 then door=10; else door=00; end if;。VHDL语言也具有与一般编程语言相同的一些语句逻辑结构,如上述中的“ifthenelsifthen;”等。这是VHDL中的顺序语句,与我们常见的C语言中的if作为条件语句不同。在结构体中对电梯的运行行为作出描述,其中电梯处于二楼五楼情况复杂些,以下给出二楼情况的具体说明。elsif g2=1 then led=0010010; -电梯到达2楼,数码管显示2if updown=1 then -电梯前一运动状态位上升 if d22=1 or c_u22=1 thend22=0; c_u22=0; opendoor00000011 then en_up=1;en_dw=0; opendoor=0; -有上升请求,则电梯进入预备上升状态 elsif dd_cc00000010 then en_dw=1;en_up=0; opendoor=0;-有下降请求,则电梯进入预备下降状态 end if; -电梯前一运动状态为下降 elsif d22=1 or c_d22=1 thend22=0; c_d22=0;opendoor=1; -有当前层的请求,则电梯进入开门状态elsif dd_cc00000010 then en_dw=1;en_up=0; opendoor00000011 thenen_up=1;en_dw=0; opendoor=0; -有上升请求,则电梯进入预备上升状态 end if;在上述语句中的“elsif g2=1then led=“0010010;”,led的赋值之所以为“0010010”是根据共阳极七段数字显示器的发光段排列的,如图7所示。可发光段a、b、c、e、g形成一个2字。以此类推,在一楼时led赋值为“100111”,三楼时为“0000110”,四楼时为在进程执行单元里,对电梯在楼层时的操作情况作出了描述,例如:开门、关门延时、超载报警、故障报警以及电梯内的请求信号处理,具体说明给出如下:process(clk)beginif clkevent and clk=1 then if clr=1 then q1=0;q2=0;wahaha=0;-清除故障报警 elsif full=1 then alarm=1; q1=3 then door=10; else door=00; end if; elsif q=1 then q=0;alarm=0; if q2=3 then wahaha=1; -故障报警 else if opendoor=1 then door=10;q1=0;q2=0;up=0;down=0;-开门操作 elsif en_up=1 then -上升预操作 if deng=1 then door=10;q1=0;q2=q2+1;-关门中断 elsif quick=1 then q1=3;-提前关门 elsif q1=6 then door=00;updown=1;up=3 then door=01;q1=q1+1; -电梯进入关门状态 else q1=q1+1;door=00; -电梯进入等待状态 end if; elsif en_dw=1 then -下降预操作 if deng=1 then door=10;q1=0;q2=q2+1; elsif quick=1 then q1=3; elsif q1=6 then door=00;updown=0;down=3 then door=01;q1=q1+1; else q1=q1+1;door=00; end if; end if;。else 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 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&d55&d44&d33&d22&d11; -电梯内人请求信号并置 cc_u=0&c_u55&c_u44&c_u33&c_u22&c_u11; -电梯外人上升请求信号并置 cc_d=c_d66&c_d55&c_d44&c_d33&c_d22&0; -电梯外人下降请求信号并置 dd_cc=dd or cc_u or cc_d; -电梯内、外人请求信号进行综合 end if; ud=updown; -电梯运动状态显示 led_d=dd; -电梯内人请求信号显示 led_c_u=cc_u; -电梯外人上升请求信号显示 led_c_d=cc_d; -电梯外人下降请求信号显示end if; 3.3 程序调试(1)建立好工作目录,以便设计工程项目的存储,打开QuartusII软件,其初始界面如图8所示。(2)在工具栏中选择“新建”按钮。选择“VHDL File”,如图9所示。(3) 在文本输入界面内进行程序输入,如图10所示。(4) 输入完毕后,需要对程序进行保存。注意文件名和实体定义名必须保持一致,即dianti,文件后缀名为vhd。(5) 保存以后,对程序进行编译。在编译前,需要把文件设置为顶层文件或工程文件Project。选择菜单“Project”中的“Set as Top-Level Entity”。(6) 在“QuartusII”里选择“Processing”下拉菜单中的“Start Compilation”,此时,QuartusII软件会对程序进行纠错等处理。当程序被确认无误后会出现如下界面,如图11所示。编译完成,程序调试结束。四 程序仿真4.1建立波形输入(1)编译完成后,新建波形编辑器进行设计仿真。选择菜单“File” 中的“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 Found 窗口中出现设计工程的所有端口引脚名。(5)创立输入波形。从图13左边框中往右边框加入需要的信号节点,就可对输入信号逐一赋值,便可对程序进行仿真,观察输出信号,得出结论。如对时钟信赋于周期如下图14所示。设置好的输入波形如图15所示。4.2电梯功能的实现与仿真4.2.1 仿真步骤(1)仿真器参数设置。选择菜单“Assignment”中的“Settings”,在“Settings”窗口下选择“Category”下的“Simulator”,右侧设置如下图16所示。(2)启动仿真器。现在所有设置进行完毕,在菜单Processing项下选择Start Simulation,直到出现Simulation was successful,仿真结束。仿真结果如下图17和图18。4.2.2 电梯功能实现与仿真结果分析以下将以“电梯停在一楼时,接受到请求信号c_d2、c_d3、c_u4和d6”为例,分析操作这些请求信号完成的过程,并在电梯运行到四楼时对超载报警、提前关门、延时关门、故障报警进行仿真分析。图17 电梯控制程序仿真图图18电梯控制程序仿真局部放大图1从上面两个仿真图可以看出:1. 电梯停在一楼时,接受到请求信号c_d3、c_d2、c_u4和d6,并把请求信号写入相应的寄存器。led显示电梯所在楼层;led_d、led-c_u和led_c_d显示用户的请求。2. 电梯经过准备上升状态后,进入上升状态,到达2楼,3楼时,不停继续前进。3. 电梯上升到4楼时,响应请求(c_u4),开门载客;进入预备上升状态。图19 电梯控制程序仿真局部放大图2从上图可以看出:1. 电梯上升到6楼时,响应请求(d_6),开门卸客;进入预备下降状态。2. 电梯下降经过5楼,4楼都不停,到达3楼开门卸客,电梯进入预备下降状态。图20 电梯控制程序仿真局部放大图3从上图可以看出:1. 电梯到达3楼时,响应请求(c_d3),开门载客;进入预备下降状态。2. 电梯在预备下降状态下,电梯应超载(full=1),发出超载警报alarm;超载信号消失(full=0),电梯重新进入预备下降状态。4. 电梯接受到提前关门信号quick,电梯跳过关门等待时间。仿真图中q1从1跳到3;进入关门状态。5. 电梯接受到deng、c_d3和d3电梯重新进入预备下降状态,并且c_d3和d3信号都可以对q2(q23时)进行清零处理。6. 当连续的关门中断的次数超过3次时,不认为是出自乘客的需要,而认为是故障,并报警,等技术员处理完故障时,用clr信号才可以清除报警。图21 电梯控制程序仿真局部放大图4从上图可以看出:1. 电梯排除故障后继续运行。2. 电梯执行完所有请求时电梯将停在1楼待机。五 设计总结电梯控制器系统设计已经全部完成,基本实现了预期效果,实现了电梯按预定运行规则上升、下降、载客等功能,并设计了提前关门功能,使电梯运行更便捷,设计了关门延时功能、超载报警功能、故障报警功能,使电梯运行更加安全更加可靠。在本设计中,因为考虑了扩展性,所以在信号定义的时候就使用了二进制的向量,而不是整数。在设计方法上也做了特殊的设计,所以使得扩展性较好。如果要实现n层电梯的控制,首先在端口的地方就要加入所有的按键,而指示灯只要把向量中的6改成n就可以了。在本设计过程中还需要改进的地方有,电梯运行规则的优化(如设计闲时忙时控制规则)、电梯运行速度的控制、设计更多的报警功能等。电梯控制系统的设计中体现了VHDL覆盖面是如此的广,描述能力强,是一个多层次的硬件描述语言及运行速度快,使用方便,便于修改,设计简单等特点。本设计在实用方面和参考方面具有一定的价值。致谢在本设计的开题论证、课题研究、论文撰写和论文审校整个过程中,得到了导师赵桂青的亲切关怀和精心指导,使得本设计得以顺利完成,其中无不饱含着导师的汗水和心血。导师敏锐的学术思想、严谨踏实的治学态度、渊博的学识、精益求精的工作作风、诲人不倦的育人精神,将永远铭记在我的心中,使我终身受益。她对本设计的构思、框架和理论给予了我许多深入的指导,使得设计得以顺利完成。再次谨向导师赵桂青表示衷心的感谢和崇高的敬意。感谢所有任课老师四年来对我的培养。这个文化底蕴深厚、安详宁静的地方,塑造了我积极、乐观、淡定的人生态度,刻画了我永远留恋的青春记忆,让我在这即将离别的时候如此不舍。在此,我要向诸位老师说声谢谢。当然也要感谢我的父母,我所迈出的每一步,都凝聚着你们心血和汗水,你们始终如一的支持和关爱,是我一直勇敢向前的动力。同时也要感谢我的同学和朋友,我将永远记得你们伴我走过的每一个有欢笑有泪水的日子,是你们的关心和帮助,让我感受到了家的温暖。附录六层电梯控制器程序清单:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity 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; -到达楼层信号 door : out std_logic_vector(1 downto 0); -电梯门控制信号 led : 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 : out std_logic; -电梯运动方向显示,超载警告信号up,down : out std_logic ); -电机控制信号和电梯运动end dianti;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:std_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_logic; -预备上升、预备下降预操作使能信号beginprocess(clk)beginif clkevent and clk=1 then if clr=1 then q1=0;q2=0;wahaha=0; -清除故障报警 elsif full=1 then alarm=1; q1=3 then door=10; else door=00; end if; elsif q=1 then q=0;alarm=0; if q2=3 then wahaha=1; -故障报警 else if opendoor=1 then door=10;q1=0;q2=0;up=0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025有关终止商业店铺租赁合同协议书
- 2025城镇购房合同样本
- 2025煤炭购销合同
- 农村环境污染治理合作协议书
- 2025年发电集控值班员技能鉴定考试题库及答案
- 2025商品房买卖合同样本
- 2025年肝炎的培训试题及答案
- 读后感五彩龙鸟读后感450字(13篇)
- 2025餐厅转让合同范本
- 拆除合同履行协议
- 6G多维度切片QoS保障-洞察及研究
- 2025-2026学年外研版(三起)(2024)小学英语四年级上册教学计划及进度表
- 2025年安徽国控集团所属企业招聘7人笔试备考题库及答案解析
- 2025年海南省警务辅助人员招聘考试(公共基础知识)历年参考题库含答案详解(5套)
- 城市道路清扫保洁协议
- 人教版二年级上册数学全册教学设计(配2025年秋新版教材)
- 2025年医学检验在编考试题库
- 特色食品卖场建设方案(3篇)
- 2025年书法级考试题及答案
- 子宫癌肉瘤护理查房
- 乡村产业融合发展路径与振兴策略研究
评论
0/150
提交评论