根据VHDL的电梯控制系统设计_第1页
根据VHDL的电梯控制系统设计_第2页
根据VHDL的电梯控制系统设计_第3页
根据VHDL的电梯控制系统设计_第4页
根据VHDL的电梯控制系统设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VHDL数字系统设计与测试实验报告基于VHDL勺电梯控制系统设计、设计背景及说明随着高层建筑的不断涌现,对电梯的需求也与日俱增,电梯已经成为我们 日常生活中不可缺少的部分,稳定可靠性高的电梯系统成为了电梯领域的新需 求。现在基于VHDL硬件描述语言,用FPGA为控制芯片控制完成一个简单的 6层楼的电梯控制系统设计。我们常见的电梯控制系统功能都包括:上升请求、下降请求、电梯门控、楼层显示灯、电梯运动方向显示、超载、报警、电梯内请求信号等。根据这些常用 的信号设计一个电梯系统,实现所要求的功能。控制方式的选择:1)内部请求优先控制方式内部请求控制方式类似于出租车的工作方式, 先将车上的人送至目地,

2、再去 载客。作为通用型电梯应该服务于大多数人,必须考虑电梯对内外请求的响应。在内部请求优先控制方式中,当电梯外部人的请求和电梯内部人的请求冲突时, 外部人的请求信号可能被长时间忽略,因为它不能作为通用型电梯的设计方案。2)单层层停控制方案单层层停控制方式等同于火车运行方式, 遇到站即停止、开门。这种方案保 证所有的人的请求都能得到响应。 然而这样对电梯的效率产生了消极的影响: 不 必要的等待消耗了大量时间,而且电梯的运作与用户的请求无关,当无请求时电 梯也照常跑空车,浪费了大量的电能。对于用户而言这种控制方式的请求响应时 间也不是很快,因而也不是理想的电梯控制设计方案。3)方向优先控制式方式方

3、案方向优先控制是指电梯运行到某一层楼时, 先考虑这一层楼是否有请求:有 则停止;无则继续上升或者下降。停止后再启动时,考虑上方或者下方是否有请 求,有则继续前进,无则停止。检测后方是否有请求,有请求则转向运行,无请求则维持停止状态。这种运作方式下,电梯对用户的请求相应率为100%,而且响应的时间较短。方向优先控制方式的效率远远大于单向层层停等控制方式的效率。而且,方 向控制方式下,电梯在维持停止状态的时候可以进入省电模式, 又能节省大量的 电能。在本设计中采用方向优先控制方式。电梯的输入信号分析对于电其中一电梯的输入信号分析主要包括外部输入信号和内部输入信息的分析。梯外部输入信号:每一层电梯门

4、外需要有上升请求按钮和下降请求按钮, 楼电梯门外只有上升请求按钮,6楼电梯门外只有下降请求按钮。电梯内部输入 信号包括6个前往楼层按钮、提前关门按钮、延时关门按钮、电梯异常求救按钮, 另外还有超重等警告信号输入。电梯的输出信号分析:电梯的输出信号分析也主要包括外部输出信号和内部输出信息的分析。对于电梯外部信号包括上升请求按钮和下降请求按钮是否被按下指示信号灯、电梯当前所在楼层指示信号、电梯运行方向指示信号。电梯内部输出信号包括6个前往楼层按钮是否被按下指示信号、是否超重等告警指示信号、电梯当前所在楼层指示信号、以及电梯运行方向指示信号。电梯运行规则分析:当电梯处于上升模式时,只响应比电梯所在位

5、置更高的上楼信号, 由下至上依次执行,直到最后一个上楼请求执行完毕,如果高层有下楼请求时,则直接升到有下降请求的最高楼,然后进入下降模式,电梯处于下降模式时,则与上升模式相反。电梯系统框图如下图所示:电梯按键LEDFPGA控制芯片电机控制系统按键输入乘坐电梯者所想要去的楼层, 控制电梯门的开关,可编程逻辑芯片 接收到信号后进行处理,发送信号给控制电机系统来控制电梯的上升下降等状 态,同时通过LED数码管显示所在的楼层,以及电梯的运动状态。该控制器完成6层电梯的载客服务,而且遵循方向优先原则,并能相应提前 关门、延时关门,并且有超载报警和故障报警。同时指示电梯的运行情况以及电 梯内外请求信息。二

6、、设计框图及模块说明设计电梯系统框图如下图所示:电梯系统大致包括4个模块:1)外部数据采集模块对外部信号采集、处理要求电梯控制器:实现对外部请求信号的实时、准确 采集;准确实时地捕捉达到楼层的信号; 有效防止楼层到达信号、外部请求信号 的误判。采用FPGA为系统控制核心,系统时钟频率足够满足此系统实时采集数 据的要求。外部请求信号的输入形式为按键输入,到达楼层信号来自光敏传感器, 关门中断信号及超载信号则产生于压力传感器。2)信号存储模块电梯控制系统的请求输入信号有18个(电梯外有6个上升请求和6个下降 请求的用户输入端口,电梯内有 6个请求用户输入端口),由于系统对内外请求没有设置优先级,各

7、楼层的内外请求信号被采集后可先进行运算, 再存到存储器 内。要注意的是电梯运行过程中,由于用户的请求信号的输入是离散的, 而且系统对请求的响应也是离散的,因此请求信号的存储要新的请求信号不能覆盖原来 的请求信号,只有响应动作完成后才能清除存储器内对应的请求信号位。3)基于FPGA的中央处理器模块中央数据处理模块是系统的核心,通过对存储的数据(含请求、到达楼层等信号)进行比较、判断以驱动系统状态的流转。电梯工作过程中共有9种状态:等待、上升、下降、开门、关门、停止、休眠、超载报警及故障报警状态。一般 情况下电梯的工作始点是第一层,起始状态是等待状态,启动条件是接受上升请 求。超载状态时电梯关门动

8、作取消,同时发出警报,直到警报被清除(看门狗信 号有效的条件是一层楼连续发生关门中断情况超过 3次)。本系统由请求信号启动,运行中每检测到一个到达楼层信号, 再参考原方向信号来决定是否停止, 转 向等动作。系统状态流程图如下图所示:清除_警报超载丿一F超载关门( 故障 /清除/警报II 出现/ 请求休眠继续前进J上升 到顶层:'I飞 转向fj到底层:转向前方(下)'、/ir 请求未响应 ' '-(下降_停止信 -丿继续 号有效 关门前进-、中断前方(上)请求未响应_请求未响 应完毕停止信号有效停止二b一 r r 开门产 等待3秒一严一_开门等待完毕时间 超时M亭

9、止 动作 完成4)信号的输出、显示模块/关本系统的输出信号有两种:一种是电机的升降控制信号(两位)和开门 门控制信号;另一种是面向用户的提示信号(含楼层显示、方向显示、已接受请 求显示等)。电机控制信号一般需要两位,本系统中电机有3种工作状态:正转、反转和 停转状态。两位控制信号作为一个三路开关的选通信号, 此三路开关选用模拟电子开关。系统的显示输出包括数码管楼层显示、数码管请求信号显示和表征运动方向 箭头指示灯的开关信号。LED七段数码管显示部分在前面的作业中已经做了详 细的介绍及说明,在本系统中省略。本系统具有请求信号显示功能,结合方向显示,可以减少用户对同一请求的 输入次数,这样就延长了

10、电梯按键的寿命。三、电梯控制程序设计源代码及端口说明乡劣 :G床*宀g1,g2,g3,g4,g5,g6 : in std_logic;-到达楼层信号输入端口信号说明:elk :时钟信号,2Hz ;clr :清除警报信号,高有效,清除故障报警;c_u1、c_u2、c_u3、c_u4、c_u5:电梯外人的上升请求;deng:关门中断,用于在需要等待时,让电梯门一直打开,停止运动;d1、d2、d3、d4、d5、d6:电梯内人的请求信号;full :超载信号,高时表示电梯内的人过多,超载报警;g1、g2、g3、g4、g5、g6:到达楼层信号,数码管LED将显示其值;quick :提前关门信号,高有效,

11、当为高时,电梯门马上关闭;输出端口信号说明:door1:0:电梯门控信号;led6:0:电梯所在楼层显示;led_c_u5:0:电梯外人上升请求信号显示;led_c_d5:0:电梯外人下降请求信号显示;led_d5:0:电梯内请求信号显示;alarm:超载警告信号;up:电梯运动状态显示,高时表示上升;down:电梯运动状态显示,高时表示为下降;ud:电机控制信号,控制电梯的上升下降,“ 1”表示为上升,“0”表示为下降;wawawa:看门狗报警信号,高时表示故障报警。源代码如下所示:library ieee;use ieee.std_logic_1164.all;use ieee.std_l

12、ogic_ un sig ned.all;use ieee.std_logic_arith.all;en tity dia nti isport ( clk : in std_logic;-时钟信号(频率为 2Hz)full,de ng,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;-

13、电梯内人的请求信号door : out std_logic_vector(1 dow nto 0);-电梯门控制信号end if;elsif q=1 the n q<=0;alarm<='0'led : out std_logic_vector(6 dow nto 0);-电梯所在楼层显示led_c_u:out std_logic_vector(5 dow nto 0);-电梯外人上升请求信号显示led_c_d:out std_logic_vector(5 dow nto 0);-电梯外人下降请求信号显示led_d : out std_logic_vector(5

14、dow nto 0);-电梯内请求信号显示wahaha : out std_logic;-看门狗报警信号-电梯运动方向显示,超载警告信号ud,alarm : out std_logic;up ,dow n : out std_logic );-电机控制信号和电梯运动end dia nti;architecture behav of dia nti issig nal d11,d22,d33,d44,d55,d66:std_logic;-电梯内人请求信号寄存信号sig nal c_u11,c_u22,c_u33,c_u44,c_u55:std_logic;-电梯外人上升请求信号寄存信号sig n

15、al c_d22,c_d33,c_d44,c_d55,c_d66:std_logic;-电梯外人下降请求信号寄存信号sig nal q:i nteger range 0 to 1;-分频信号sig nal q1:i nteger range 0 to 6;-关门延时计数器sig nal q2:i nteger range 0 to 9;-看门狗计数器signal dd,cc_u,cc_d,dd_cc:std_logic_vector(5 downto 0);- 电梯内外请求信号寄存器sig nal open door:std_logic;-开门使能信号sig nal up dow n: std

16、_logic;-电梯运动方向信号寄存器sig nal en_up,en _dw:std_logic;-预备上升、预备下降预操作使能信号begincom:pro cess(clk)beginif clk'eve nt and clk='1' the nif clr='1' then q1<=0;q2<=0;wahaha<='0'-清除故障报警elsif full='1' the nalarm<='1' q1<=0;-超载报警if q1>=3 then door<=&q

17、uot;10"else door<="00"if q2=3 then wahaha<='1'-故障报警elsif dd_cc>"000011" then en_u p<='1' o pen door<='0'elseif open door='1' then door<="10"q1<=0;q2<=0;u p< -O'dow * -O'-开门操作elsif en_up='1'

18、the n-上升预操作if den g='1' then door<="10"q1<=0;q2<=q2+1;-关门中断elsif quick-1' then q1<=3;-提前关门elsif q1=6 then door<="00"u pdow n<='1'u p<='1'- 关门完毕,电梯进入上升状态elsif q1>=3 then door<="01"q1<=q1+1;-电梯进入关门状态else q1<=q1+

19、1;door<="00"-电梯进入等待状态end if;elsif en dw='1' then-下降预操作if den g='1' then door<="10"q1<=0;q2<=q2+1;elsif quick='1' then q1<=3;elsif q1=6 then door<="00"u pdow n<='0'dow *='1'elsif q1>=3 then door<="01

20、"q1<=q1+1;else q1<=q1+1;door<="00"end if;end if;if g1='1' then led<="1001111"-电梯到达1楼,数码管显示1if d11='1' or c_u11='1' then d11<='0' c_u11<='0'o pen door<='1'-有当前层的请求,则电梯进入开门状态elsif dd_cc>"000001"

21、then en_up <='1' o pen door<='0'-有上升请求,则电梯进入预备上升状态elsif dd_cc="000000" then open door<='0'"无请求时,电梯停在 1 楼待机end if;elsif g2='1' then led<="0010010"-电梯到达2楼,数码管显示2-电梯前一运动状态位上升if up dow n='1' the nif d22='1' or c_u22=

22、9;1' then d22<='0' c_u22<='0' o pen door<='1'-有当前层的请求,则电梯进入开门状态elsif dd_cc<"000010" then en_dw<='1' open door<='0'-有上升请求,则电梯进入预备上升状态-有下降请求,则电梯进入预备下降状态end if;-电梯前一运动状态为下降elsif d22='1' or c_d22='1' then d22<=

23、9;0' c_d22<='0'o pen door<='1'-有当前层的请求,则电梯进入开门状态open door<='0'elsif dd_cc<"000010" then en_dw<='1'-有下降请求,则电梯进入预备下降状态open door<='0'elsif dd_cc>"000011" then en_up <='1:-有上升请求,则电梯进入预备上升状态end if;elsif g3='1&

24、#39; then led<="0000110"-电梯到达3楼,数码管显示3end if;elsif dd_cc<"001000" then en_dw<='1'open door<='0'if up dow n='1' the nif d33='1' or c_u33='1' then d33<='0' c_u33<='0'o pen door<='1'elsif dd_cc>&

25、quot;000111" then en_u p<='1'open door<='0'elsif dd_cc<"000100" then en_dw<='1'open door<='0'end if;elsif d33='1' or c_d33='1' then d33<='0' c_d33<='0'open door<='1'open door<='0'

26、;open door<='0'elsif dd_cc<"000100" then en_dw<='1'elsif dd_cc>"000111" then en_up <='1'end if;elsif g4='1' then led<="1001100"-电梯到达4楼,数码管显示4if up dow n='1' the nif d44='1' or c_u44='1' then d44&l

27、t;='0' c_u44<='0' o pen door<='1'elsif dd_cc>"001111" then en_u p<='1' o pen door<='0'elsif dd_cc<"001000" then en_dw<='1' open door<='0'elsif d44='1' or c_d44='1' then d44<='0&

28、#39; c_d44<='0' o pen door<='1'elsif dd_cc>"001111" then en_u p<='1' open door<='0'end if;elsif g5='1' then led<="0100100"-电梯到达5楼,数码管显示5if up dow n='1' the nif d55='1' or c_u55='1' then d55<='

29、;0' c_u55<='0'o pen door<='1'elsif dd_cc>"011111" the n en_up <='1:open door<='0'elsif dd_cc<"010000" then en_dw<='1'open door<='0'end if;elsif d55='1' or c_d55='1' then d55<='0' c_

30、d55<='0'o pen door<='1'elsif dd_cc<"010000" then en_dw<='1'open door<='0'elsif dd_cc>"011111" the n en_up <='1'open door<='0'end if;elsif g6='1' then led<="0100000"-电梯到达6楼,数码管显示6end if;if

31、 d66='1' or c_d66='1' then d66<='0' c_d66<='0'o pen door<='1'open door<='0'elsif dd_cc<"100000" then en_dw<='1'end if;else en_up<='0'e n_dw<='0'-电梯进入上升或下降状态end if;end if;else q<=1;alarm<=&

32、#39;0'-清除超载报警if d1='1' or d1='0' then d11<=d1;-对电梯内人请求信号进行检测和寄存elsif d2='1' or d2='0' then d22<=d2;elsif d3='1' or d3='0' then d33<=d3;elsif d4='1' or d4='0' then d44<=d4;elsif d5='1' or d5='0' then d55&l

33、t;=d5;elsif d6='1' or d6='0' then d66<=d6;if c_u1='1' or c_u1='0' then c u11<=c_u1;-对电梯外人上升请求信号进行检测和寄存elsif c_u2='1' or c_u2='0' then c_u22<=c_u2;elsif c_u3-1' or c_u3='0' then c_u33<=c_u3;elsif c_u4='1' or c_u4='0&#

34、39; the n c_u44<=c_u4;elsif c_u5='1' or c_u5='O' the n c_u55<=c_u5;end if;if c_d2='1' or c_d2='0' then c_d22<=c_d2;-对电梯外人下降请求信号进行检测和寄存elsif c_d3='1' or c_d3='0' thenc_d33<=c_d3;elsif c_d4='1' or c_d4='0' thenc_d44<=c_d4;e

35、lsif c_d5='1' or c_d5='0' thenc_d55<=c_d5;elsif c_d6='1' or c_d6='0' then c_d66<=c_d6;end if;dd<=d66&d55&d44&d33&d22 &d11;-电梯内人请求信号并置cc_u<='0'&c_u55&c_u4 4&c_u33&c_u22&c_u11;-电梯外人上升请求信号并置cc_d<=c_d66&c_

36、d55&c_d44&c_d33&c_d22 & 'O'-电梯外人下降请求信号并置dd_cc<=dd or cc_u or cc_d;-电梯内、外人请求信号进行综合end if;ud<=up dow n;-电梯运动状态显示led_d<=dd;-电梯内人请求信号显示led_c_u<=cc_u;-电梯外人上升请求信号显示led_c_d<=cc_d;-电梯外人下降请求信号显示end if;end pro cess;end behav;此次电梯控制系统设计使用的是Altera公司的MAX-II,由下资源使用情况图可见这款芯片足

37、够满足本次设计需求。Flow StatusQuartiis !工 VersionRevisi on HameTp-levtJ. Entity HamtFamilyDeviceTimingMet -tim LJi r equixenenisTptal logLE elementsTotal pinsTotal virtual piliEUTH blocksSuccaEsful - Fri Tun 15 16:03:25 20120.0 Duill 1 艾 02/257200 SJ Full (/er si oil d.i 知tidivitxMJGI riETOOTIOOCJFinalYez7e

38、/ £40 (銘胃)59 < 30 7吨鴛00 / 1( 0 厘假设电梯初始状态在一楼,此时2、3楼电梯外有人要下楼,4楼电梯外有人要上楼,在此后输入等待、快速关门、超载等信号,观察仿真图得出结论:四、仿真结果及说明I CuSSQufi30u«fl弓 M6 CueT q 曲a.Qj*9 Qj(i叫m11 Hum12 >弓llj1 *D:J1fl 50n=<nR .0fT业REI III I I I I I II lI I I I II 11 I UH UDI IIILIJ水哎DrLJLJLqui亡£niri-chD11H»-rdiI -

39、审I IDnnDI n0nII0nII1'1r01<£r e pDr1_r 1.t= nD1Idown1I11 1rLdacia DC(£n g r”口3D祜 X- K 3UU: 1QD丘* IvdD卿鸟 153? it35j(7F.XE!i佃H羽Pkd-tlOEWDJumjQ|pd_c_u.-Xcnioag崔OffOJhdl_ic_rfyDDDriDftnnDidJLUULLULIq1 £AM 61柜她阳?!»漑a <12DO0K 1 a 0II I z >* dd-XODDaDD-卜I wnm 1 LUI 10jDM'

40、;HOJIff JU IO£UUSLU葩 it_liW M-_diF X 'iaoaiiaYDCODIDXHuooa电梯控制程序仿真全图注:实际使用时电梯的时钟为2Hz,为了仿真时便于观察我们在仿真时,将频率 加倍为25MHzm.a 4CDU0ng OEl.Ehe SBOng I Dm 1 扣=15I eu扌1 Bud 2匚32 AiSTHIS2 311 3.ILB 32uaa qir-quckHr -测6 Lp 召ud=t»' du>i7 d之閒 砂旳nled0 ied_J ledj?_u lad_c_d 皿ql azq? 於典 少札卯 少 cc_t

41、 0? 2a1Qa000njLrLrLnjLmn-LTLnLrLrouuSi讥A过g U左Y鼻 彳6 YUflDDQ3DD 1 fOCCID 0001100jll贮忆ejLGBDmQQDD KlOCOW iiDCD 2 lainio 1Tnmo1附inOODDDD Xooia»IODDDSDlEDHD K OaEDII 1.EDI DDB(UDEDD&DQ电梯控制程序仿真局部放大图-1DpilDD注:1.电梯停在一楼时,接受到请求信号 c_d3、c_d2、c_u4和d6,并把请求信号写入相应的寄存器。led显示电梯所在楼层;led_d、led-c_u 和led_c_d显示用户的请求。2.电梯经过准备上升状态后,进入上升状态,到达 2楼、3楼时,由于2、3楼的乘客要求的是下降,所以不停继续前进。3.电梯上升到4楼时,响应请求(c_u4),开门载客;载客时电梯的门状态door先由10 (电梯门打开)跳到00 (等待)再跳到01 (电梯门关闭),完成乘客的进入;此后进入预备上升状态。Msrrn:电vBJ buaSOuB d2呃 i iu9二勲士mqj占J砂 电讯 &晦生帖 弓甘 勺电讯勺i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论