EDA电梯控制器的设计与分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第9章电梯控制器的设计与分析第9章电梯控制器的设计与分析9.1系统设计要求9.2系统设计方案9.3主要VHDL源程序9.4系统仿真/硬件验证9.5设计技巧分析9.6系统扩展思路第9章电梯控制器的设计与分析9.1系统设计要求随着社会的发展,电梯的使用越来越普遍,已从原来只在商业大厦、宾馆使用,过渡到在办公楼、居民楼等场所使用,并且对电梯功能的要求也不断提高,相应地其控制方式也在不停地发生变化。对于电梯的控制,传统的方法是使用继电器—接触器控制系统进行控制,随着技术的不断发展,微型计算机在电梯控制上的应用日益广泛,现在已进入全微机化控制的时代。第9章电梯控制器的设计与分析电梯的微机化控制主要有以下几种形式:①PLC控制;②单板机控制;③单片机控制;④单微机控制;⑤多微机控制;⑥人工智能控制。随着EDA技术的快速发展,CPLD/FPGA已广泛应用于电子设计与控制的各个方面。本设计就是使用一片CPLD/FPGA来实现对电梯的控制的。第9章电梯控制器的设计与分析9.2系统设计方案根据系统设计要求,并考虑到系统的可验证性,整个系统的输入输出接口设计如图9.1所示:系统工作用2Hz基准时钟信号CLKIN,楼层上升请求键UPIN,楼层下降请求键DOWNIN,楼层选择键入键ST_CH,提前关门输入键CLOSE,延迟关门输入键DELAY,电梯运行的开关键RUN_STOP,电梯运行或停止指示键LAMP,电梯运行或等待时间指示键RUN_WAIT,电梯所在楼层指示数码管ST_OUT,楼层选择指示数码管DIRECT。第9章电梯控制器的设计与分析图9.1电梯控制器DTKZQ的输入输出接口图CLKINUPINDOWNINST_CH[2..0]CLOSEDELAYRUN_STOPLAMPRUN_WAIT[3..0]ST_OUT[3..0]DIRECT[3..0]DTKZQ第9章电梯控制器的设计与分析电梯的控制状态包括运行状态、停止状态及等待状态,其中运行状态又包含向上状态和向下状态。主要动作有开、关门,停靠和启动。乘客可通过键入开、关门按钮,呼唤按钮,指定楼层按钮等来控制电梯的行与停。据此,整个电梯控制器DTKZQ应包括如下几个组成部分:①时序输出及楼选计数器;②电梯服务请求处理器;③电梯升降控制器;④上升及下降寄存器;⑤电梯次态生成器。该电梯控制器设计的关键是确定上升及下降寄存器的置位与复位。整个系统的内部组成结构图如图9.2所示。第9章电梯控制器的设计与分析图9.2电梯控制器的内部组成结构图电梯服务请求处理器下降请求寄存器(DR)上升请求寄存器(UR)电梯次态生成器(LADD)电梯升降控制器(LIFTOR)时序输出及楼选计数器(DIR)CLKINDELAYCLOSEUPINDOWNINST_CHRUN_STOPDIRECTLAMPRUN_WAITST_OUT第9章电梯控制器的设计与分析9.3主要VHDL源程序--DTKZQ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYDTKZQIS第9章电梯控制器的设计与分析PORT(CLKIN:INSTD_LOGIC;--2Hz时钟输入信号UPIN:INSTD_LOGIC;--楼层上升请求键DOWNIN:INSTD_LOGIC;--楼层下降请求键ST_CH:INSTD_LOGIC;--结合DIRECT完成楼层选择的键入CLOSE:INSTD_LOGIC;--提前关门输入键DELAY:INSTD_LOGIC;--延迟关门输入键RUN_STOP:INSTD_LOGIC;--电梯运行的开关键LAMP:OUTSTD_LOGIC;--电梯运行或停止指示键第9章电梯控制器的设计与分析RUN_WAIT:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--结合LAMP指示电梯运行或等待时间ST_OUT:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--电梯所在楼层指示数码管DIRECT:OUTSTD_LOGIC_VECTOR(3DOWNTO0));--楼层选择指示数码管ENDENTITYDTKZQ;ARCHITECTUREARTOFDTKZQIS第9章电梯控制器的设计与分析SIGNALUR,DR:STD_LOGIC_VECTOR(16DOWNTO1);--上升或下降楼层请求寄存器SIGNALDIR,LIFTOR:STD_LOGIC_VECTOR(3DOWNTO0);--楼选指示及楼层数计数器SIGNALWAI_T:STD_LOGIC_VECTOR(2DOWNTO0);--运行或等待计数器SIGNALDIVID,HAND:STD_LOGIC;--时钟2分频和楼选复位变量SIGNALLADD:STD_LOGIC_VECTOR(1DOWNTO0);--电梯运行状态变量SIGNALCLOSEX,DELAYX,LAMP0:STD_LOGIC;--提前关门及延迟变量第9章电梯控制器的设计与分析BEGIN--内部信号值的输出DIRECT=DIR+1;ST_OUT=LIFTOR+1;RUN_WAIT='0'&WAI_T;P0:PROCESS(CLKIN)ISBEGINIF(CLKIN'EVENTANDCLKIN='1')THENLAMP=LADD(1);ENDIF;ENDPROCESSP0;第9章电梯控制器的设计与分析HAND=WAI_T(2)AND(NOTWAI_T(1))ANDWAI_T(0);CLOSEX=CLOSEAND(NOTLADD(1));DELAYX=DELAYAND(NOTLADD(1));--分频及楼选信号产生进程P1:PROCESS(CLKIN)BEGIN第9章电梯控制器的设计与分析IF(CLKIN'EVENTANDCLKIN='1')THENDIVID=NOTDIVID;IF(DIR=1111)THENDIR=0000;ELSEDIR=DIR+1;ENDIF;ENDIF;ENDPROCESS;第9章电梯控制器的设计与分析--楼层请求寄存器的置位与复位进程P2:PROCESS(UR,DR,UPIN,DOWNIN,ST_CH,LIFTOR,WAI_T,RUN_STOP,HAND)VARIABLENUM,T:INTEGERRANGE0TO15;BEGINNUM:=CONV_INTEGER(LIFTOR)+1;T:=CONV_INTEGER(DIR)+1;IF(RUN_STOP='1')THEN第9章电梯控制器的设计与分析IF(((TNUM)AND(ST_CH='1'))OR(UPIN='1'))THENCASETISWHEN1=UR(1)='1';WHEN2=UR(2)='1';WHEN3=UR(3)='1';WHEN4=UR(4)='1';WHEN5=UR(5)='1';WHEN6=UR(6)='1';WHEN7=UR(7)='1';WHEN8=UR(8)='1';第9章电梯控制器的设计与分析WHEN9=UR(9)='1';WHEN10=UR(10)='1';WHEN11=UR(11)='1';WHEN12=UR(12)='1';WHEN13=UR(13)='1';WHEN14=UR(14)='1';WHEN15=UR(15)='1';WHEN16=UR(16)='1';WHENOTHERS=NULL;ENDCASE;第9章电梯控制器的设计与分析ELSIF(HAND='1')THENCASENUMISWHEN1=UR(1)='0';WHEN2=UR(2)='0';WHEN3=UR(3)='0';WHEN4=UR(4)='0';WHEN5=UR(5)='0';WHEN6=UR(6)='0';WHEN7=UR(7)='0';WHEN8=UR(8)='0';WHEN9=UR(9)='0';第9章电梯控制器的设计与分析WHEN10=UR(10)='0';WHEN11=UR(11)='0';WHEN12=UR(12)='0';WHEN13=UR(13)='0';WHEN14=UR(14)='0';WHEN15=UR(15)='0';WHEN16=UR(16)='0';WHENOTHERS=NULL;ENDCASE;ENDIF;第9章电梯控制器的设计与分析IF(((TNUM)AND(ST_CH='1'))OR(DOWNIN='1'))THENCASETISWHEN1=DR(1)='1';WHEN2=DR(2)='1';WHEN3=DR(3)='1';WHEN4=DR(4)='1';WHEN5=DR(5)='1';WHEN6=DR(6)='1';WHEN7=DR(7)='1';WHEN8=DR(8)='1';WHEN9=DR(9)='1';第9章电梯控制器的设计与分析WHEN10=DR(10)='1';WHEN11=DR(11)='1';WHEN12=DR(12)='1';WHEN13=DR(13)='1';WHEN14=DR(14)='1';WHEN15=DR(15)='1';WHEN16=DR(16)='1';WHENOTHERS=NULL;ENDCASE;ELSIF(HAND='1')THENCASENUMIS第9章电梯控制器的设计与分析WHEN1=DR(1)='0';WHEN2=DR(2)='0';WHEN3=DR(3)='0';WHEN4=DR(4)='0';WHEN5=DR(5)='0';WHEN6=DR(6)='0';WHEN7=DR(7)='0';WHEN8=DR(8)='0';WHEN9=DR(9)='0';WHEN10=DR(10)='0';第9章电梯控制器的设计与分析WHEN11=DR(11)='0';WHEN12=DR(12)='0';WHEN13=DR(13)='0';WHEN14=DR(14)='0';WHEN15=DR(15)='0';WHEN16=DR(16)='0';WHENOTHERS=NULL;ENDCASE;ENDIF;第9章电梯控制器的设计与分析ELSEUR=0000000000000000;DR=0000000000000000;ENDIF;ENDPROCESS;--电梯运行次态的控制进程P3:PROCESS(UR,DR,LIFTOR,LADD,WAI_T,RUN_STOP)第9章电梯控制器的设计与分析BEGINIF(RUN_STOP='1')THENIF(WAI_T=110)THENIF((URORDR)=0000000000000000)THENLADD(1)='0';--初始状态ELSECASELIFTORIS第9章电梯控制器的设计与分析WHEN0000=IF((UR(1)ORDR(1))'0')THENLADD(1)='0';--等待状态ELSELADD=11;--上升状态ENDIF;WHEN0001=IF((UR(2)ORDR(2))'0')THENLADD(1)='0';--等待状态ELSIF(((LADD(0)='1')AND((UR(16DOWNTO3)第9章电梯控制器的设计与分析ORDR(16DOWNTO3))00000000000000))OR((UR(1)ORDR(1))='0'))THENLADD=11;--上升状态ELSELADD=10;--下降状态ENDIF;第9章电梯控制器的设计与分析WHEN0010=IF((UR(3)ORDR(3))'0')THENLADD(1)='0';ELSIF(((LADD(0)='1')AND((UR(16DOWNTO4)

1 / 53
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功