基于FPGA的电梯控制系统设计

2011-10-25 21:53:37来源: 互联网

    摘要:介绍了基于FPGA的四层电梯控制系统的设计。该系统采用Altera公司的CycloneⅡ系列FPGA芯片EP2C5T144作为主控制芯片,采用Verilog-HDL编程描述,实现对电梯的智能控制,经仿真验证,完成所要求功能。该设计采用模块化编程,升级可实现任意多层电梯系统,具有很强的适应性和实用性。
关键词:电梯控制;FPGA;Verilog;控制模块

0 引言
    随着社会的发展,电梯的使用越来越普遍,对电梯功能的要求也不断提高,其相应控制方式也在不断发生变化。电梯的微机化控制主要有:PLC控制、单板机控制、单片机控制、单微机控制、多微机控制和人工智能控制等。随着专用集成电路ASIC设计技术和EDA技术的发展,可编程逻辑器件的广泛使用,为数字系统设计带来了革命性的变化,改变了传统的电路设计中使用的芯片多、电路复杂、出现问题不易查找、不易进行功能扩展的缺点。本设计使用FPGA器件作为主控制芯片,采用Verilog-HDL语言设计一个四楼层单个载客箱的电梯控制系统,设计采用模块化设计,便于修改和升级,可稍加改进,实现多层电梯控制。

1 电梯控制系统总体设计
1.1 设计任务及要求
    设计一个四层电梯控制系统,要求如下:
    (1)各层电梯内部信号:各楼层请求按键、开关门请求按键,所在楼层显示,电梯运行状态显示。外部信号:上升下降请求按键,所在楼层显示,电梯运行状态显示。
    (2)能够存储请求信号,电梯上升(下降)过程中,根据电梯的运行状态,首先按方向优先、循环次序响应各请求。
    (3)到达请求楼层后,该层的指示灯亮,电梯门自动打开,开门指示灯亮。延时等待时间后,电梯门自动关闭(开门指示灯灭),电梯继续运行。电梯空闲时,停在0层。
    (4)具有超载报警功能。
1.2 电梯控制系统硬件结构
    电梯控制系统硬件结构如图1所示。

c.JPG


    如图1所示,该系统主要由FPGA控制器、各输入信号模块、输出驱动模块组成。FPGA控制模块的输入信号有:电梯内外请求信号、楼层到达信号、重启超载报警等信号;其输出信号分别驱动显示电路、电梯开关门电路、电机驱动电路、以及其他如报警电路等。FPGA控制模块是本设计的核心。

2 FPGA控制器的设计与实现
    本设计的开发软件使用Altera公司的QuartusⅡ集成开发环境,采用自上而下的设计方法,模块设计与Verilog-HDL描述相结合的输入方式,便于程序的维护与升级。FPGA控制器整体设计如图2所示。

b.JPG


    如图2所示,FPGA控制编程主要由六个模块组成:按键请求模块、状态控制模块、电机驱动模块、显示及报警模块、开关门控模块、分频模块。各模块的信号及功能如下:
    模块1:按键请求模块
    该模块的接口信号如表1所示,模块功能如下:
    (1)利用锁存器对输入的请求信号进行存储,当请求满足后清0。为了数据表示方便,本设计的后缀0~3分别表示1~4层。
    (2)根据电梯的运行状态,按照方向优先、循环执行的原则,在请求信号中提取电梯下一站的楼层信号并输出。如目前楼层为2层,状态为升,那么判断优先级为:p2/up2→p3/down3→down2→downl→p0/up0。
    (3)当无请求信号时,下一站楼层为0。

d.JPG


    模块2:状态控制模块
    本模块是系统设计的核心控制模块。本文把电梯运行划分为4个状态,分别为:上升、下降、停止、空闲。控制系统的状态转换图如图3所示。

e.JPG

   系统重启时(res=1),进入空闲状态(Idle),空闲状态下,输出信号posit=up=down=open=0,当输入信号goto为0时,保持空闲状态;当goto信号不为0时,进入上升状态(Stop)。当第一层上升信号触发时,进入停止状态。停止状态下,open信号上升沿触发电梯开门;up=down =0,posit=goto。在电梯开门延时期间(dooropen=1),保持停止状态;当电梯门关上时(dooropen=0),判断下一站楼层,若大于目前楼层,进入上升状态,若小于目前楼层,进入下降状态。上升状态下,up=1,updown=01,posit=goto,触发电机控制模块拖拽电机上升。楼层达到信号,使系统进入停止状态。下降状态同理。本模块接口信号如表2所示。

f.JPG


    模块3:电机控制模块
    本模块输入信号有:上升触发信号(up)、下降触发信号(down)、所在楼层(posit)以及下一站楼层(goto),输出信号:4个位不同相位的电机驱动信号。模块由升降信号触发,经电机状态控制器,产生4个相位的电机驱动信号P[3:0],输出至电机驱动电路,其频率决定电机转动,其相位决定电机的转动方向。P[3:0]的各频率信号由分频器模块提供。
    模块4:显示模块
    本模块功能用于电梯所在楼层(posit)、电梯运行状态(updown)的七段码显示或LED显示。以及超载信号(over)的报警和显示。
    模块5:门控模块
    本模块用来控制电梯门状态,由输入门控信号open信号触发开门(doorstat=1),经过延时,电梯门自动闭合(doorstat=0)。所超载(over=1),则电梯门不合,电梯保持开门状态,直到超载信号清除。
    模块6:分频模块
    分频模块用来对系统时钟信号分频,产生向电机控制模块提供的各频率信号。

3 仿真验证
    本设计顶层采用模块化设计,各模块采用VerilogHDL硬件描述语言。自顶向下的设计方式,便于程序查错、升级、改进,本设计稍加修改,即可实现任意楼层电梯控制。对所设计程序进行分析、编译、综合、布线后产生的电路进行功能仿真和时序仿真,均可获得符合设计要求的逻辑值。时序仿真波形如图4所示。

a.JPG


    由图4可以看出:控制器始终能有效存储各楼层请求信号,能按照方向优先、循环次序执行各楼层请求。各信号状态符合设计要求。信号延时为10 ns级,在允许范围内。
    本设计硬件实现采用康芯KX_7CH最小系统版。程序经引脚锁定并编程下载到器件,经测试,逻辑完全正确,达到设计要求。

4 结论
    基于FPGA的数字电路设计方式在可靠性、体积、成本上的优势是巨大的,它已经成为实现数字电路的主要手段之一。本文设计的四层电梯控制器,稍加改进即适合于任意楼层,灵活性强,运行可靠,具有很强的适应性和实用性。

关键字:FPGA

编辑:eeleader 引用地址:http://www.eeworld.com.cn/FPGA/2011/1025/article_2651.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
FPGA

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved