第九章 EDA电梯控制器的设计与分析.ppt

上传人:仙人指路1688 文档编号:2229354 上传时间:2023-02-03 格式:PPT 页数:53 大小:598KB
返回 下载 相关 举报
第九章 EDA电梯控制器的设计与分析.ppt_第1页
第1页 / 共53页
第九章 EDA电梯控制器的设计与分析.ppt_第2页
第2页 / 共53页
第九章 EDA电梯控制器的设计与分析.ppt_第3页
第3页 / 共53页
第九章 EDA电梯控制器的设计与分析.ppt_第4页
第4页 / 共53页
第九章 EDA电梯控制器的设计与分析.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《第九章 EDA电梯控制器的设计与分析.ppt》由会员分享,可在线阅读,更多相关《第九章 EDA电梯控制器的设计与分析.ppt(53页珍藏版)》请在三一办公上搜索。

1、第9章 电梯控制器的设计与分析,9.1 系统设计要求9.2 系统设计方案 9.3 主要VHDL源程序9.4 系统仿真/硬件验证 9.5 设计技巧分析9.6 系统扩展思路,9.1 系统设计要求,随着社会的发展,电梯的使用越来越普遍,已从原来只在商业大厦、宾馆使用,过渡到在办公楼、居民楼等场所使用,并且对电梯功能的要求也不断提高,相应地其控制方式也在不停地发生变化。对于电梯的控制,传统的方法是使用继电器接触器控制系统进行控制,随着技术的不断发展,微型计算机在电梯控制上的应用日益广泛,现在已进入全微机化控制的时代。,电梯的微机化控制主要有以下几种形式:PLC控制;单板机控制;单片机控制;单微机控制;

2、多微机控制;人工智能控制。随着EDA技术的快速发展,CPLD/FPGA已广泛应用于电子设计与控制的各个方面。本设计就是使用一片CPLD/FPGA来实现对电梯的控制的。,9.2 系统设计方案,根据系统设计要求,并考虑到系统的可验证性,整个系统的输入输出接口设计如图9.1所示:系统工作用2 Hz基准时钟信号CLKIN,楼层上升请求键UPIN,楼层下降请求键DOWNIN,楼层选择键入键ST_CH,提前关门输入键CLOSE,延迟关门输入键DELAY,电梯运行的开关键RUN_STOP,电梯运行或停止指示键LAMP,电梯运行或等待时间指示键RUN_WAIT,电梯所在楼层指示数码管ST_OUT,楼层选择指示

3、数码管DIRECT。,图9.1 电梯控制器DTKZQ的输入输出接口图,电梯的控制状态包括运行状态、停止状态及等待状态,其中运行状态又包含向上状态和向下状态。主要动作有开、关门,停靠和启动。乘客可通过键入开、关门按钮,呼唤按钮,指定楼层按钮等来控制电梯的行与停。据此,整个电梯控制器DTKZQ应包括如下几个组成部分:时序输出及楼选计数器;电梯服务请求处理器;电梯升降控制器;上升及下降寄存器;电梯次态生成器。该电梯控制器设计的关键是确定上升及下降寄存器的置位与复位。整个系统的内部组成结构图如图9.2所示。,图9.2 电梯控制器的内部组成结构图,9.3 主要VHDL源程序,-DTKZQ.VHDLIBR

4、ARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DTKZQ IS,PORT(CLKIN:IN STD_LOGIC;-2 Hz时钟输入信号 UPIN:IN STD_LOGIC;-楼层上升请求键 DOWNIN:IN STD_LOGIC;-楼层下降请求键 ST_CH:IN STD_LOGIC;-结合DIRECT完成楼层选择的键入 CLOSE:IN STD_LOGIC;-提前关门输入键 DELAY:IN STD_LOGIC;-延迟关门输入键

5、RUN_STOP:IN STD_LOGIC;-电梯运行的开关键 LAMP:OUT STD_LOGIC;-电梯运行或停止指示键,RUN_WAIT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-结合LAMP指示电梯运行或等待时间 ST_OUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-电梯所在楼层指示数码管 DIRECT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-楼层选择指示数码管 END ENTITY DTKZQ;ARCHITECTURE ART OF DTKZQ IS,SIGNAL UR,DR:STD_LOGIC_VEC

6、TOR(16 DOWNTO 1);-上升或下降楼层请求寄存器SIGNAL DIR,LIFTOR:STD_LOGIC_VECTOR(3 DOWNTO 0);-楼选指示及楼层数计数器SIGNAL WAI_T:STD_LOGIC_VECTOR(2 DOWNTO 0);-运行或等待计数器SIGNAL DIVID,HAND:STD_LOGIC;-时钟2分频和楼选复位变量SIGNAL LADD:STD_LOGIC_VECTOR(1 DOWNTO 0);-电梯运行状态变量SIGNAL CLOSEX,DELAYX,LAMP0:STD_LOGIC;-提前关门及延迟变量,BEGIN-内部信号值的输出DIRECT=

7、DIR+1;ST_OUT=LIFTOR+1;RUN_WAIT=0,HAND=WAI_T(2)AND(NOT WAI_T(1)AND WAI_T(0);CLOSEX=CLOSE AND(NOT LADD(1);DELAYX=DELAY AND(NOT LADD(1);-分频及楼选信号产生进程P1:PROCESS(CLKIN)BEGIN,IF(CLKINEVENT AND CLKIN=1)THEN DIVID=NOT DIVID;IF(DIR=1111)THEN DIR=0000;ELSE DIR=DIR+1;END IF;END IF;END PROCESS;,-楼层请求寄存器的置位与复位进程P

8、2:PROCESS(UR,DR,UPIN,DOWNIN,ST_CH,LIFTOR,WAI_T,RUN_STOP,HAND)VARIABLE NUM,T:INTEGER RANGE 0 TO 15;BEGIN NUM:=CONV_INTEGER(LIFTOR)+1;T:=CONV_INTEGER(DIR)+1;IF(RUN_STOP=1)THEN,IF(TNUM)AND(ST_CH=1)OR(UPIN=1)THEN CASE T IS WHEN 1=UR(1)UR(2)UR(3)UR(4)UR(5)UR(6)UR(7)UR(8)=1;,WHEN 9=UR(9)UR(10)UR(11)UR(12)

9、UR(13)UR(14)UR(15)UR(16)NULL;END CASE;,ELSIF(HAND=1)THEN CASE NUM IS WHEN 1=UR(1)UR(2)UR(3)UR(4)UR(5)UR(6)UR(7)UR(8)UR(9)=0;,WHEN 10=UR(10)UR(11)UR(12)UR(13)UR(14)UR(15)UR(16)NULL;END CASE;END IF;,IF(T DR(1)DR(2)DR(3)DR(4)DR(5)DR(6)DR(7)DR(8)DR(9)=1;,WHEN 10=DR(10)DR(11)DR(12)DR(13)DR(14)DR(15)DR(16

10、)NULL;END CASE;ELSIF(HAND=1)THEN CASE NUM IS,WHEN 1=DR(1)DR(2)DR(3)DR(4)DR(5)DR(6)DR(7)DR(8)DR(9)DR(10)=0;,WHEN 11=DR(11)DR(12)DR(13)DR(14)DR(15)DR(16)NULL;END CASE;END IF;,ELSE UR=0000000000000000;DR=0000000000000000;END IF;END PROCESS;-电梯运行次态的控制进程P3:PROCESS(UR,DR,LIFTOR,LADD,WAI_T,RUN_STOP),BEGIN

11、IF(RUN_STOP=1)THEN IF(WAI_T=110)THEN IF(UR OR DR)=0000000000000000)THEN LADD(1)=0;-初始状态 ELSE CASE LIFTOR IS,WHEN 0000=IF(UR(1)OR DR(1)0)THEN LADD(1)IF(UR(2)OR DR(2)0)THEN LADD(1)=0;-等待状态 ELSIF(LADD(0)=1)AND(UR(16 DOWNTO 3),OR DR(16 DOWNTO 3)00000000000000)OR(UR(1)OR DR(1)=0)THEN LADD=11;-上升状态 ELSE L

12、ADD=10;-下降状态 END IF;,WHEN 0010=IF(UR(3)OR DR(3)0)THEN LADD(1)0000000000000)OR(UR(2 DOWNTO 1)OR DR(2 DOWNTO 1)=00)THEN LADD=11;ELSE LADD=10;END IF;,WHEN 0011=IF(UR(4)OR DR(4)0)THEN LADD(1)000000000000)OR(UR(3 DOWNTO 1)OR DR(3 DOWNTO 1)=000)THEN LADD=11;ELSE LADD=10;END IF;,WHEN 0100=IF(UR(5)OR DR(5)0

13、)THEN LADD(1)00000000000)OR(UR(4 DOWNTO 1)OR DR(4 DOWNTO 1)=0000)THEN LADD=11;ELSE LADD=10;END IF;,WHEN 0101=IF(UR(6)OR DR(6)0)THEN LADD(1)0000000000)OR(UR(5 DOWNTO 1)OR DR(5 DOWNTO 1)=00000)THEN LADD=11;ELSE LADD=10;END IF;,WHEN 0110=IF(UR(7)OR DR(7)0)THEN LADD(1)000000000)OR(UR(6 DOWNTO 1)OR DR(6

14、DOWNTO 1)=000000)THEN LADD=11;ELSE LADD=10;END IF;,WHEN 0111=IF(UR(8)OR DR(8)0)THEN LADD(1)00000000)OR(UR(7 DOWNTO 1)OR DR(7 DOWNTO 1)=0000000)THEN LADD=11;ELSE LADD=10;END IF;,WHEN 1000=IF(UR(9)OR DR(9)0)THEN LADD(1)0000000)OR(UR(8 DOWNTO 1)OR DR(8 DOWNTO 1)=00000000)THEN LADD=11;ELSE LADD=10;END I

15、F;,WHEN 1001=IF(UR(10)OR DR(10)0)THEN LADD(1)000000)OR(UR(9 DOWNTO 1)OR DR(9 DOWNTO 1)=000000000)THEN LADD=11;ELSE LADD=10;END IF;,WHEN 1010=IF(UR(11)OR DR(11)0)THEN LADD(1)00000)OR(UR(10 DOWNTO 1)OR DR(10 DOWNTO 1)=0000000000)THEN LADD=11;ELSE LADD=10;END IF;,WHEN 1011=IF(UR(12)OR DR(12)0)THEN LADD

16、(1)0000)OR(UR(11 DOWNTO 1)OR DR(11 DOWNTO 1)=00000000000)THEN LADD=11;ELSE LADD=10;END IF;,WHEN 1100=IF(UR(13)OR DR(13)0)THEN LADD(1)000)OR(UR(12 DOWNTO 1)OR DR(12 DOWNTO 1)=000000000000)THEN LADD=11;ELSE LADD=10;END IF;,WHEN 1101=IF(UR(14)OR DR(14)0)THEN LADD(1)00)OR(UR(13 DOWNTO 1)OR DR(13 DOWNTO

17、1)=0000000000000)THEN LADD=11;ELSE LADD=10;END IF;,WHEN 1110=IF(UR(15)OR DR(15)0)THEN LADD(1)0)OR(UR(14 DOWNTO 1)OR DR(14 DOWNTO 1)=00000000000000)THEN LADDIF(UR(16)OR DR(16)0)THEN LADD(1)=0;,ELSE LADDNULL;END CASE;END IF;END IF;ELSE LADD=00;END IF;END PROCESS;,-电梯运行楼层计数及提前/延迟关门控制进程P4:PROCESS(WAI_T,

18、LADD,CLOSEX,DELAYX,DIVID)BEGIN IF(DIVIDEVENT AND DIVID=1)THEN IF(WAI_T=000 OR CLOSEX=1)THEN WAI_T=110;ELSE IF(DELAYX=0)THEN WAI_T=WAI_T-1;ELSE WAI_T=010;END IF;,IF(LADD=11)THEN LIFTOR=LIFTOR+1;ELSIF(LADD=10)THEN LIFTOR=LIFTOR-1;END IF;END IF;END IF;END PROCESS;END ARCHITECTURE ART;,9.4 系统仿真/硬件验证,9.4

19、.1 系统的有关仿真 电梯控制器DTKZQ的仿真结果如图9.3所示。请读者自己对仿真结果进行分析。,图9.3 电梯控制器DTKZQ的仿真图,9.4.2 系统的硬件验证 请读者根据自己所拥有的EDA实验开发系统的实际情况,直接或稍做变动进行硬件验证。,9.5 设计技巧分析,有关的具体语句如下(详细请见前述的VHDL程序):NUM:=CONV_INTEGER(LIFTOR)+1;T:=CONV_INTEGER(DIR)+1;IF(RUN_STOP=1)THEN IF(TNUM)AND(ST_CH=1)OR(UPIN=1)THEN CASE T IS,WHEN 1=UR(1)UR(2)UR(3)UR

20、(4)UR(5)UR(6)UR(7)=1;,有关的具体语句如下(详细请见前述的VHDL程序):P3:PROCESS(UR,DR,LIFTOR,LADD,WAI_T,RUN_STOP)BEGIN IF(RUN_STOP=1)THEN IF(WAI_T=110)THEN IF(UR OR DR)=0000000000000000)THEN LADD(1)=0;-等待状态 ELSE CASE LIFTOR IS,WHEN 0000=IF(UR(1)OR DR(1)0)THEN LADD(1)IF(UR(2)OR DR(2)0)THEN LADD(1)=0;-等待状态 ELSIF(LADD(0)=1)

21、AND(UR(16 DOWNTO 3),OR DR(16 DOWNTO 3)00000000000000)OR(UR(1)OR DR(1)=0)THEN LADD=11;-上升状态 ELSE LADD=10;-下降状态 END IF;,WHEN 0010=IF(UR(3)OR DR(3)0)THEN LADD(1)0000000000000)OR(UR(2 DOWNTO 1)OR DR(2 DOWNTO 1)=00)THEN LADD=11;ELSE LADD=10;END IF;,9.6 系统扩展思路,(1)设计系统工作的外围电路:系统用方波信号源、直流工作电源、彩灯控制的驱动电路。(2)若为课程设计,除要求设计调试程序、外围电路外,还可要求设计制作整个系统,包括PCB的制作。,

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号