欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于FPGA的电梯控制器设计(共22页).doc

    • 资源ID:13366298       资源大小:859.50KB        全文页数:22页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于FPGA的电梯控制器设计(共22页).doc

    精选优质文档-倾情为你奉上前言当今社会,随着城市建设的不断发展,高层建筑的不断增多,电梯作为高层建筑中垂直运行的交通工具已与人们的日常生活密不可分。目前电梯的控制普遍采用了两种方式,一是采用微机作为信号控制单元,完成电梯信号的采样、运行状态和功能的设定,实现电梯的自动调度和集选运行功能,拖动控制则由变频器来完成;第二种控制方式用可编程控制器取代微机实现信号控制。从控制方式和性质上来说,这两中方法并没有太大的区别。目前电梯控制系统主要有三种控制方式:继电路控制系统(“早期安装的电梯多位继电器控制系统”)、FPGA/CPLD的控制系统、微机控制系统。继电器控制系统由于故障率高、可靠性差、控制方式不灵活以及消耗功率大等缺点,目前已逐渐被淘汰,微机控制系统虽在智能控制方面有较强的功能,但也存在抗扰性差,系统设计复杂,一般维修人员难以掌握其维修技术等缺陷。而FPGA/CPLD控制系统由于运行可靠性高,使用维修方便,抗干扰性强,设计和调试周期较短等优点,倍受人们重视等优点,已经成为目前在电梯控制系统中使用最多的控制方式,目前也广泛用于传统继电器控制系统的技术改造。1.总体设计方案介绍1.1 利用FPGA/CPLD进行电梯控制器设计的一般流程通常归纳为以下7个步骤。第1步:设计输入。在传统设计中,设计人员是应该传统的原理图输入方法来开始设计的。自90年代初,Verilog、VHDL、AHDL等硬件描述语言的输入方法得到了广大工程设计人员的认可。第2步:前仿真。所设计的电路必须在布局线前验证,目的主要是在仿真时,验证电路功能是否有效。在ASIC设计中,这一步骤称为第一次Sign-Off。第3步:设计输入编译。设计输入之后就有一个从高层次系统行为设计向低层次门级逻辑电路的转化翻译过程,即把设计输入的某种或某几种数据格式(网表),以求达到与工艺无关。第4步:设计输入的优化。对于上述综合生成的网表,根据布尔方程功能等效的原则,用更小更快的综合结果替代一些复杂的单元,并与指定的库映射生成新的网表,这是硬件描述语言输入方式中减小电路规模的一条必由之路。第5步:布局布线。当初步的仿真被验证后,就开始布局布线。这一布局布线相对规划出ASIC和FPGA/CPLD的设计第6步:后仿真。设计人员需要利用在布局布线中获得的更精确的RC参数再次验证电路的功能和时序。在ASIC设计中,这一步骤称为第二次Sign-off。第7步:流片。布局布线和后仿真完成之后,当需要大批量生产该芯片时,就可以开始ASIC芯片的投产。1.3电梯控制器的系统设计方案本次试验基于FPGA电梯控制器的设计流程主要完成4层电梯控制器的设计,实现原理主要利用EDA层次设计思想,运用QuartusII软件的操作方法,首先完成两个模块的底层文件设计,此三个模块分别是主控制器(超重警告,到达下楼信号,外人请求信号)、分频器,最后分别用VHDL语言程序作出后,并打包成模块;利用原理图输入设计的方法将此三个模块做成整个控制器的设计。原理框图如图1-2图1-2 电梯方向优先控制方式控制系统方框图2.单元模块设计2.1 电梯控制系统的设计在此本组采用方案(二),控制器的功能模块如图2-1所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在的楼层数通过译码器译码从而在楼层显示器中显示。分控制器把有效的请求传给主控的楼层数。由于分控制器相对简单很多,所以主控制器是核心部分。图2-1 电梯控制器原理框图2.1.1电梯控制器系统一般要求1)每层电梯入口处设有上下请求开关各1个,电梯内设有乘客到达层次的数字开关。电梯当前所在的楼层位置用两位数码管显示,用两只发光二极管显示开门/关门状态,用发光二极管显示每层的上下请求状态。2)显示电梯当前所处位置和电梯上行、下行及开门、关门状态。3)电梯到达有停靠站请求的楼层后,电梯门就会自动打开门指示灯亮,开门6秒后,电梯门自动关闭(开门指示等灭)电梯继续运行。4)能记忆电梯内外的所有请求信号,并按照电梯运行的规则次第响应,即电梯上升时只能响应高层的呼唤的请求,下降时只响应低层的呼唤请求,每个请求信号保留到执行后撤出。5)当没有请求信号时,电梯停在一楼。6)电梯有超载提示。当电梯内部超载过电梯规定的人数或重量后,电梯会自动报警,提示电梯已超载。2.2电梯控制器系统组成及模块设计介绍2.2.1系统组成:该设计采用方向优先控制方式方案,方向优先控制是指电梯运行到某一楼层时先考虑这一楼层是否有请求:有 ,则停止;无,则继续前进。停下来后再启动时的步骤:考虑前方上方或下方是否有请求:有,则继续前进;无,则停止;检测后方是否有请求,有请求则转向运行,无请求则维持停止状态。2.2.2 模块设计(一)设计原理电梯升降原理是利用步进电机在控制器的驱动下旋转固定角度到达指定楼层的即:高度H=R×楼层数N=H÷L式中L为单位楼层的高度;R为步进电机的转轴半径;为步进电机旋转的角度。(二)设计思想及设计方案解释 电梯升降控制的方法有多种,电机也是多种多样,步进电机能准确的旋转指定角度并具有锁死功能是一种理想的电梯驱动电机。本课程设计介绍的是用FPGA进行控制步进电机升降从而模拟出电梯的功能。本系统采用了多CPU协同操作,这样简化明晰了各个模块的功能,便于调试和维护。两个大的模块分别为:主控制器模块(电梯外控制模块,电梯内控制模块,中央运算模块),分频器模块。电梯内、外控制模块:完成对电梯外部4个楼层的按键识别,并点亮与用户按键对应的指示灯通知用语系统已经接收按键请求。当接收到请求后,该模块将向中央运算器发送请求楼层信号,便于中央运算处理。同时当电梯到达当前楼层时该模块还将熄灭相应的指示灯。中央运算模块:负责对电梯外控制模块,电梯内控制模块,传过来的信息进行分类收集,按照给定的算法做出相的计算和任务调度,并将运算结果交由步进电机控制模块,同时,中央运算模块将相应楼层送入液晶显示器显示。分频器模块:接受中央运算模块的楼层和方向数据旋转相应的转数后停止,发出作业完成信号等待中央运算模块的再次调度上下行时间控制:电梯的行驶速度设定为常数,上下行一层需时2秒。用计数器count2控制。上电锁控制:电梯有控制锁,用lock信号表示。开锁上电,锁上时电梯不能运行。电梯运行锁用一拨动开关代替,低电平上锁,高电平解锁。上电后初始化系统各按钮指示灯,内部变量。故障控制:电梯有重量限制,超重用一拨动开关代替,用overweight信号表示,在关门时检测,高电平有效,超载时电梯不能运行,直到超载信号被清除,电梯内设有超载灯;电梯内设有事故报警trouble按钮(通话器),用一拨动开关代替,用trouble信号表示,高电平有效,任何时候报警时电梯不能继续运行,保持当前状态不变,并有warning指示灯,信号保留至事故消除。电梯门控制:到达停靠层时电梯门自动打开,设有开关门LED指示开关门情况,用door表示。默认开门停留时间是6秒,电梯内设有手动开关门按钮,可以人为控制延长开门时间或立即关门。(三)设计方案总结1)外部数据高速采集模块设计有效的对外部信号采集、处理要求电梯控制器对外部请求信号的实时、准确采集准确、实时的捕捉楼层到达信号;有防止楼层到达信号、外部请求信号的误判。2)信号存储模块电梯控制器的请求输入信号有27个(电梯外有9个上升请求和9个下降请求的用户输入端口,电梯内有9个请求用户输入端口),由于系统对内、外请求没有设置优先级,各楼层的内、外请求信号被采集后可先进行运算,再存到存储器内。3)基于FPGA的中央处理模块中央数据处理模块是系统的核心,通过对存储的数据(含请求、到达楼层等信号)进行比较、判断以驱动系统状态的流转。电梯工作过程中共有9种状态:等待、上升、下降、开门、关门、停止、休眠、超载报警以及故障报警状态。一般情况下,电梯工作起始点是第一层,起始状态是等待状态,启动条件是收到上升请求。2.3模块设计程序硬件分析和软件分析2.3.1 电梯硬件控制模块外控制模块电梯外控制模块是负责收集电梯外部的人员按键和控制相应LED灯亮灭的模块,考虑到每一层楼都会有向上和向下两个运行方向,所以在4个楼层里一共需要4个按键和4个LED灯。而每个按键按下时会点亮亮对应的LED灯,当电梯到达该楼层时就熄灭该楼层对应运动方向的LED灯。当灯熄灭的时候就表示电梯已经执行了相应的操作了。考虑到系统I/O资源有限。其模块电路如图2-2所示:图2-2 电梯外硬件电路2.3.2 电梯硬件控制模块内控制模块电梯内控制模块是负责收集电梯内部的人员按键和控制相应LED灯亮灭的模块。它安装在电梯内部,一共需要4个按键和4个LED灯。而每个按键按下时会点亮亮对应的LED灯,当电梯到达该楼层时就熄灭该楼层的LED灯。考虑到系统I/O资源需求,4个按键值采用挂在PORTB口。其模块电路如图2-3所示:图2-3电梯内硬件电路2.3.3电梯硬件控制模块软件设计(一)主控制器的功能1)完成4个楼层多用户的载客服务控制。2)电梯运行时显示电梯的运行方向和所在的楼层。 3)当电梯到达选择的楼层时,电梯自动开门。 4)具有提前关电梯门和延时关电梯门的功能。 5)响应分控制器的有效请求,如果到达有请求的楼层,电梯自动开门。程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity tenlift is port ( clk : in std_logic; -时钟信号overweight,close,quick,clr : in std_logic; -超载up1,up2,up3,up4,up5,up6,up7,up8,up9: in std_logic; -电梯外人的上升请求信号down2,down3,down4,down5,down6,down7,down8,down9,down10 : in std_logic; -电梯外人的下降请求信号a1,a2,a3,a4,a5,a6,a7,a8,a9,a10 : in std_logic; -电梯内人的请求信号gate1,gate2,gate3,gate4,gate5,gate6,gate7,gate8,gate9,gate10 : in std_logic; -到达楼层信号door : out std_logic_vector(1 downto 0); -电梯门控制信号led_c_f : out std_logic_vector(6 downto 0); -电梯所在楼层显示led_o_u:out std_logic_vector(9 downto 0); -电梯外人上升请求信号显示led_o_d:out std_logic_vector(9 downto 0); -电梯外人下降请求信号显示led_i_a : out std_logic_vector(9 downto 0); -电梯内请求信号显示warning : out std_logic; -看门狗报警信号up_down,overweight_warning : out std_logic; -电梯运动方向显示,超载警告信号up,down : out std_logic ); -电机控制信号和电梯运动end ;architecture oo of tenlift issignal ina1,ina2,ina3,ina4,ina5,ina6,ina7,ina8,ina9,ina10:std_logic; -电梯内人请求信号寄存信号signal upo1,upo2,upo3,upo4,upo5,upo6,upo7,upo8,upo9:std_logic; -电梯外人上升请求信号寄存信号signal downo2,downo3,downo4,downo5,downo6,downo7,downo8,downo9,downo10: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(9 downto 0); -电梯内外请求信号寄存器signal opendoor:std_logic; -开门信号signal updown:std_logic; -电梯运动方向信号寄存器signal en_up,en_dw:std_logic; -预上升、预下降使能信号begincom:process(clk)beginif clk'event and clk='1' then if clr='0' then q1<=0;q2<=0;warning<='0' -清除故障报警 elsif overweight='0' then overweight_warning<='1' q1<=0; -超载报警if q1>=3 then door<="10" else door<="00"end if; elsif q=1 then q<=0;overweight_warning<='0'if q2=3 then warning<='1' -故障报警elseif opendoor='1' then door<="10"q1<=0;q2<=0;up<='0'down<='0' -开门操作elsif en_up='1' then if close='0' then door<="10"q1<=0;q2<=q2+1; elsif quick='0' then q1<=3; -提前关门elsif q1=6 then door<="00"updown<='1'up<='1' elsif q1>=3 then door<="01"q1<=q1+1; -电梯进入关门状态else q1<=q1+1;door<="00" end if;elsif en_dw='1' then -下降预操作if close='0' then door<="10"q1<=0;q2<=q2+1; elsif quick='0' then q1<=3; elsif q1=6 then door<="00"updown<='0'down<='1' elsif q1>=3 then door<="01"q1<=q1+1; else q1<=q1+1;door<="00" end if;end if; if gate1='0' then led_c_f<="" -电梯到达1楼,数码管显示1 if ina1='0' or upo1='0' then ina1<='1' upo1<='1'opendoor<='1'-有当前层的请求,则电梯进入开门状态 elsif dd_cc>"" then en_up<='1' opendoor<='0' -有上升请求,则电梯进入预备上升状态elsif dd_cc="" then opendoor<='0' -无请求时,电梯停在1楼待机 end if; elsif gate2='0' then led_c_f<="" -电梯到达2楼,数码管显示2if updown='0' then if ina2='0' or upo2='0' then ina2<='1' upo2<='1' opendoor<='1' -有当前层的请求,则电梯进入开门状态 elsif dd_cc>"" then en_up<='1' opendoor<='0' -有上升请求,则电梯进入预备上升状态 elsif dd_cc<"" then en_dw<='1' opendoor<='0' -有下降请求,则电梯进入预备下降状态 end if; elsif ina2='0' or downo2='0' then ina2<='1' downo2<='1'opendoor<='1' -电梯前一运动状态为下降,有当前层的请求,则电梯进入开门状态elsif dd_cc<"" then en_dw<='1' opendoor<='0' -有下降请求,则电梯进入预备下降状态 elsif dd_cc>"" then en_up<='1' opendoor<='0' -有上升请求,则电梯进入预备上升状态 end if;elsif gate3='0' then led_c_f<="" -电梯到达3楼,数码管显示3 if updown='0' then if ina3='0' or upo3='0' then ina3<='1' upo3<='1'opendoor<='1' elsif dd_cc>"" then en_up<='1' opendoor<='0' elsif dd_cc<"" then en_dw<='1' opendoor<='0' end if;elsif ina3='0' or downo3='0' then ina3<='1' downo3<='1' opendoor<='1' elsif dd_cc<"" then en_dw<='1' opendoor<='0' elsif dd_cc>"" then en_up<='1' opendoor<='0' end if;elsif gate4='0' then led_c_f<="" -电梯到达4楼,数码管显示4 if updown='0' then if ina4='0' or upo4='0' then ina4<='1' upo4<='1' opendoor<='1' elsif dd_cc>"" then en_up<='1' opendoor<='0' elsif dd_cc<"" then en_dw<='1' opendoor<='0' end if;elsif ina4='0' or downo4='0' then ina4<='1' downo4<='1' opendoor<='1' elsif dd_cc<"" then en_dw<='1' opendoor<='0' elsif dd_cc>"" then en_up<='1' opendoor<='0' end if;elsif gate5='0' then led_c_f<="" -电梯到达5楼,数码管显示5 if updown='0' then if ina5='0' or upo5='0' then ina5<='1' upo5<='1'opendoor<='1' elsif dd_cc>"" then en_up<='1' opendoor<='0' elsif dd_cc<"" then en_dw<='1' opendoor<='0' end if;elsif ina5='0' or downo5='0' then ina5<='1' downo5<='1'opendoor<='1' elsif dd_cc<"" then en_dw<='1' opendoor<='0' elsif dd_cc>"" then en_up<='1' opendoor<='0' end if;elsif gate6='0' then led_c_f<="" -电梯到达6楼,数码管显示6if updown='0' then if ina6='0' or upo6='0' then ina6<='1' upo6<='1' opendoor<='1' elsif dd_cc>"" then en_up<='1' opendoor<='0' elsif dd_cc<"" then en_dw<='1' opendoor<='0' end if;elsif ina6='0' or downo6='0' then ina6<='1' downo6<='1' opendoor<='1' elsif dd_cc<"" then en_dw<='1' opendoor<='0' elsif dd_cc>"" then en_up<='1' opendoor<='0' end if;elsif gate7='0' then led_c_f<="" -电梯到达7楼,数码管显示7 if updown='0' then if ina7='0' or upo7='0' then ina7<='1' upo7<='1' opendoor<='1' elsif dd_cc>"" then en_up<='1' opendoor<='0' elsif dd_cc<"" then en_dw<='1' opendoor<='0' end if;elsif ina7='0' or downo7='0' then ina7<='1' downo7<='1' opendoor<='1' elsif dd_cc<"" then en_dw<='1' opendoor<='0' elsif dd_cc>"" then en_up<='1' opendoor<='0' end if;elsif gate8='0' then led_c_f<="" -电梯到达8楼,数码管显示8if updown='0' then if ina8='0' or upo8='0' then ina8<='1' upo8<='1' opendoor<='1' elsif dd_cc>"" then en_up<='1' opendoor<='0' elsif dd_cc<"" then en_dw<='1' opendoor<='0' end if;elsif ina8='0' or downo8='0' then ina8<='1' downo8<='1' opendoor<='1' elsif dd_cc<"" then en_dw<='1' opendoor<='0' elsif dd_cc>"" then en_up<='1' opendoor<='0' end if;elsif gate9='0' then led_c_f<="" -电梯到达9楼,数码管显示9if updown='0' then if ina9='0' or upo9='0' then ina9<='1' upo9<='1' opendoor<='1' elsif dd_cc>"" then en_up<='1' opendoor<='0' elsif dd_cc<"" then en_dw<='1' opendoor<='0' end if;elsif ina9='0' or downo9='0' then ina9<='1' downo9<='1' opendoor<='1' elsif dd_cc<"" then en_dw<='1' opendoor<='0' elsif dd_cc>"" then en_up<='1' opendoor<='0' end if;elsif gate10='0' then led_c_f<=""if updown='0' then -电梯到达10楼,数码管显示0 if ina10='0' or downo10='0' then ina10<='1' downo10<='1'opendoor<='1' elsif dd_cc<"" then en_dw<='1' opendoor<='0' end if;else en_up<='0'en_dw<='0' -电梯进入上升或下降状态end if;end if;end if;else q<=1;overweight_warning<='0' -清除超载报警if a1='0' then ina1<=a1; -对电梯内人请求信号进行检测和寄存 elsif a2='0' then ina2<=a2;elsif a3='0' then ina3<=a3;elsif a4='0' then ina4<=a4;elsif a5='0' then ina5<=a5;elsif a6='0' then ina6<=a6;elsif a7='0' then ina7<=a7;elsif a8='0' then ina8<=a8;elsif a9='0' then ina9<=a9;elsif a10='0' then ina10<=a10;end if;if up1='0' then upo1<=up1; elsif up2='0' then upo2<=up2;elsif up3='0' then upo3<=up3;elsif up4='0' then upo4<=up4;elsif up5='0' then upo5<=up5;elsif up6='0' then upo6<=up6;elsif up7='0' then upo7<=up7;elsif up8='0' then upo8<=up8;elsif up9='0' then upo9<=up9;end if; if down2='0' then downo2<=down2; elsif down3='0' then downo3<=down3;elsif down4='0' then downo4<=down4;elsif down5='0' then downo5<=down5;elsif down6='0' then downo6<=down6;elsif down7='0' then downo7<=down7;elsif down8='0' then downo8<=down8;elsif down9='0' then downo9<=down9;elsif down10='0' then downo10<=down10;end if; dd<=ina10&ina9&ina8&ina7&ina6&ina5&ina4&ina3&ina2&ina1; -电梯内人请求信号并置 cc_u<='0'&upo9&upo8&upo7&upo6&upo5&upo4&upo3&upo2&upo1; -电梯外人上升请求信号并置 cc_d<=downo10&downo9&downo8&downo7&downo6&downo5&downo4&downo3&downo2&'0' dd_cc<=dd or cc_u or cc_d; end if; up_down<=updown; led_i_a<=dd; led_o_u<=cc_u; led_o_d<=cc_d; end if; end process; end oo;2.3.2 分频制器的功能:1)显示电梯的运行状态和所在的楼层。 2)显示乘客的上升和下降请求。程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenping isport(clk50 : in std_logic;clk1: out std_logic);end ;architecture oo of fenping issignal c0 : std_logic;beginprocess(clk50,c0)variable num : integer range 0 to 2;beginif(rising_edge(clk50) thenif(num=2) thennum:=0;c0<=not c0;elsenum:=num+1;end if;end if;clk1<=c0;end process;end oo; 2.3.4系统误差分析为了防止在测量过程中测距仪的抖动而引起的测量误差,一般情况下应该测量几次而取其平均植。以上数据都是在固定测距仪的情况下所测得的。但是由于系统的分辨率为1us,系统引起的固定误差约为0.3mm,再加上本设计只转动角度,而没有考虑其它因素(如:摩擦等)的影响,所以在测量的时候给测量结果带来了一定的误差。从以上数据可见精度达到设计要求,并有实际使用价值。最后经过设计的基于PIC单片机的电梯升降系统参数如下:§系统升降范围14楼。§测量误差±1cm。§工作温度范围:常温。§工作电压范围:510V。2.4顶层文件原理图及其各部件仿真2.4.1顶层文件原理图图2-3 原理图设计图2.4.2仿真波形图到达楼下信号仿真如图图2-4 楼下信号仿真图超重警告仿真如图图2-5 超重信号仿真图外人请求信号:注解:由2HZ时钟信号充当敏感信号,触发各个上升或者下降请求,在电梯内外各有数码管显示楼层、请求和电梯运动方向信号,由电梯门控制信号控制电梯到达楼层的开、关门,电梯设有超载、关门中断、提前关门、和看们狗等警报系统,硬件上使用FPGA来实现,FPGA在实现电梯控制方面比较灵活,可以通过对程序的修改来达到控制多个楼层,能够满足一般的载客电梯的工作功能需要。图2-6 外人请求信号仿真图分频器仿真:图2-7 分频器仿真图控制系统信号列表:3.系统功能此系统是个4层楼的电梯控制器设计。该控制器可控制电梯完成4层楼的载客服务而且遵循方向优先原则,关门过程可开门,任何时候可报警,关门时检测超载,报警为闪烁显示。要求设计的电子作品结构简单、使用灵活、通用性强。内部请求优先控制方式方案:类似于出租车的工作方式,先将车上的人送至目的地,再去载客。作为通用型电梯应该服务于大多数人,必须考虑电梯对内外请求的响应频率。在内部请求优先控制方式中,当电梯外部人的请求和电梯内部人的请求冲突时,外部人的请求信号可能被长时间忽略,因而它不能作为通用型电梯的设计方案。单向层层停控制方式方案:等同火车头的运行方式,遇到即停止、开门。这种方案的优点在于“面面俱到”,可以保证所有人的请求都能得到响应。方向优先控制方案:指电梯运行到某一楼层的时先考虑这一楼层是否有请求:有则停止;无则继续前进。4.设计总结通过以上设计调试和改进并通过较长时间的反复测试。可以根据要求打印出各项指标参数和曲线图及仿真图,且重复一次性好。用VHDL硬件描述语言的形式进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误。降低了开发成本,这中设计方法必将在未来的数字系统设计中发挥越来越重的作用。本设计采用的正式FPGA来控制电梯的逻辑运行,具有编程灵活,性能可靠等优点,而且FPGA在去电后配置数据自动消失,用户可以控制加载进程,在现场修改器件的逻辑功能。在设计过程中我们首先把整个电梯设计根据功能分成若干个功能模块,然后理清个模块的时序,一以便将各个功能模块综合在一起,能够公用书籍总线,使其能正常工作不受干扰,有些程序在仿真的时候其时序是完全正确的,但是当程序下载到芯片上之后就会发现错误了。这主要是因为各个功能在实现时会有延时,但这在仿真时是显示不出来的。因此编程时要注意在选芯片之前,要先将计算出的数据信号先放到数据总线上。FPGA在实现电梯控制方面比较灵活,可以通过对程序的修改来达到控制多个楼层,本设计在电梯控制方面做的比较全面,比如设计了内外电梯的指示系统和当前电梯运行情况显示,以及超载报警等,能够满足一般的载客电梯的工作功能需要。5.参考文献1.欧伟明 周春临 翟遂春电子信息系统设计西安电子科技大学出版社 2陈大钦电子技术基础实验3康华光 邹寿彬 电子技术基础-数字部分高等教育出版社4李学海PIC单片机实用教程基础篇北京航空航天大学出版社5李学海PIC单片机实用教程提高篇北京航空航天大学出版社专心-专注-专业

    注意事项

    本文(基于FPGA的电梯控制器设计(共22页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开