您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 基于FPGA的电梯升降控制器设计
基于FPGA的电梯升降控制器设计摘要:针对传统单片机设计的电梯控制器外围电路复杂,性能不稳的缺点,提出了基于FPGA的电梯控制器设计。控制器以FPGA芯片为核心,各种功能通过在FPGA设计工具中用VHDL语言进行描述,在集成软件环境中进行编译、调试及综合,使用专用下载电缆将程序代码下载到芯片中以实现其功能。该方法不仅简化了电路设计,提高了控制器抗干扰性,而且降低了功耗,具有广阔的发展前景。关键词:VHDL;控制器;FPGA;电梯DesignofFPGA-basedautomaticelevatorcontrollerAbstract:AnewFPGA-basedelevatorcontrollerisdesignedinordertoovercomethedefectsoftraditionalsingle-chipmicrocomputer-basedelevatorcontroller,suchasthecomplexityofperipheralcircuitandtheinstabilityoftheperformance.TheFPGAchipisusedasthecoreofthecontroller,andthecorrespondingfunctionsofthecontrolleraredescribedinVHDLlanguage.Theediting,debuggingandcombinationoftheprogramsarefinishedintheintegratedsoftwareenvironment,andtheprogramcodesaredownloadedtothechipusingspecializedcabletoimplementitsfunctions.SimulationdiagramshowsthattheFPGA-basedcontrollercanoffermulti-useroperationofsix-floorpassengerelevatorandcanalsomonitortherunningstatusoftheelevator.Thisdesignnotonlysimplifiesthedesignofthecircuitandimprovesthecapabilityofanti-jamming,butlowersthepowerconsumptionaswell.Thus,ithasbroadapplicationprospects.Keywords:VHDL;controller;FPGA;elevator引言:采用可编程逻辑器件通过对器件内部的设计来实现系统功能,是一种基于芯片的设计方法.设计者可以根据需要定义器件内部逻辑和引出端,将电路板设计的大部分工作放在芯片的设计中进行,通过对芯片设计实现数字系统的逻辑功能.灵活的内部功能块组合,引出端定义等,可大大减轻电路设计和电路板设计的工作量和难度,有效的增强设计的灵活性,提高工作效率.同时采用可编程逻辑器件,设计人员在实验室可反复编程,修改错误,以期尽快开发产品,迅速占领市场。基于芯片的设计方法可以减少芯片的数量,缩小系统体积,降低能源消耗,提高系统性能和可靠性。1.FPGA的简介:1.1背景目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。1.2工作原理FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。2.系统功能及原理2.1系统功能此系统是个4层楼的电梯控制器设计。该控制器可控制电梯完成4层楼的载客服务而且遵循方向优先原则,关门过程可开门,任何时候可报警,关门时检测超载,报警为闪烁显示。要求设计的电子作品结构简单、使用灵活、通用性强。内部请求优先控制方式方案:类似于出租车的工作方式,先将车上的人送至目的地,再去载客。作为通用型电梯应该服务于大多数人,必须考虑电梯对内外请求的响应频率。在内部请求优先控制方式中,当电梯外部人的请求和电梯内部人的请求冲突时,外部人的请求信号可能被长时间忽略,因而它不能作为通用型电梯的设计方案。单向层层停控制方式方案:等同火车头的运行方式,遇到即停止、开门。这种方案的优点在于“面面俱到”,可以保证所有人的请求都能得到响应。方向优先控制方案:指电梯运行到某一楼层的时先考虑这一楼层是否有请求:有则停止;无则继续前进。2.2利用FPGA一般流程通常归纳为以下7个步骤。第1步:设计输入。在传统设计中,设计人员是应该传统的原理图输入方法来开始设计的。自90年代初,VHDL、AHDL等硬件描述语言的输入方法得到了广大工程设计人员的认可。第2步:前仿真。所设计的电路必须在布局线前验证,目的主要是在仿真时,验证电路功能是否有效。在ASIC设计中,这一步骤称为第一次Sign-Off。第3步:设计输入编译。设计输入之后就有一个从高层次系统行为设计向低层次门级逻辑电路的转化翻译过程,即把设计输入的某种或某几种数据格式(网表),以求达到与工艺无关。第4步:设计输入的优化。对于上述综合生成的网表,根据布尔方程功能等效的原则,用更小更快的综合结果替代一些复杂的单元,并与指定的库映射生成新的网表,这是硬件描述语言输入方式中减小电路规模的一条必由之路。第5步:布局布线。当初步的仿真被验证后,就开始布局布线。这一布局布线相对规划出ASIC和FPGA/CPLD的设计第6步:后仿真。设计人员需要利用在布局布线中获得的更精确的RC参数再次验证电路的功能和时序。在ASIC设计中,这一步骤称为第二次Sign-off。第7步:流片。布局布线和后仿真完成之后,当需要大批量生产该芯片时,就可以开始ASIC芯片的投产。2.3电梯控制器的系统设计方案本次试验基于FPGA电梯控制器的设计流程主要完成4层电梯控制器的设计,实现原理主要利用EDA层次设计思想,运用QuartusII软件的操作方法,首先完成两个模块的底层文件设计,此三个模块分别是主控制器(超重警告,到达下楼信号,外人请求信号)、分频器,最后分别用VHDL语言程序作出后,并打包成模块;利用原理图输入设计的方法将此三个模块做成整个控制器的设计。原理框图如图电梯方向优先控制方式控制系统方框图3.单元模块设计3.1电梯控制系统的设计控制器的功能模块如图所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在的楼层数通过译码器译码从而在楼层显示器中显示。分控制器把有效的请求传给主控的楼层数。由于分控制器相对简单很多,所以主控制器是核心部分。(电梯控制器原理框图)3.2电梯控制器系统一般要求1)每层电梯入口处设有上下请求开关各1个,电梯内设有乘客到达层次的数字开关。电梯当前所在的楼层位置用两位数码管显示,用两只发光二极管显示开门/关门状态,用发光二极管显示每层的上下请求状态。2)显示电梯当前所处位置和电梯上行、下行及开门、关门状态。3)电梯到达有停靠站请求的楼层后,电梯门就会自动打开门指示灯亮,开门6秒后,电梯门自动关闭(开门指示等灭)电梯继续运行。4)能记忆电梯内外的所有请求信号,并按照电梯运行的规则次第响应,即电梯上升时只能响应高层的呼唤的请求,下降时只响应低层的呼唤请求,每个请求信号保留到执行后撤出。5)当没有请求信号时,电梯停在一楼。6)电梯有超载提示。当电梯内部超载过电梯规定的人数或重量后,电梯会自动报警,提示电梯已超载。3.3电梯控制器系统组成及模块设计介绍3.3.1系统组成:该设计采用方向优先控制方式方案,方向优先控制是指电梯运行到某一楼层时先考虑这一楼层是否有请求:有,则停止;无,则继续前进。停下来后再启动时的步骤:考虑前方——上方或下方是否有请求:有,则继续前进;无,则停止;检测后方是否有请求,有请求则转向运行,无请求则维持停止状态。3.3.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种状态:等待、上升、下降、开门、关门、停止、休眠、超载报警以及故障报警状态。一般情况下,电梯工作起始点是第一层,起始状态是等待状态,启动条件是收到上升请求。3.4模块设计程序硬件分析和软件分析3.4.1电梯硬件控制模块—外控制模块电梯外控制模块是负责收集电梯外部的人员按键和控制相应LED灯亮灭的模块,考虑到每一层楼都会有向上和向下两个运行方向,所以在4个楼层里一共需要4个按键和4个LED灯。而每个按键按下
本文标题:基于FPGA的电梯升降控制器设计
链接地址:https://www.777doc.com/doc-5709518 .html