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

2011-09-22 08:43:32来源: 现代电子技术 关键字:FPGA

    摘要:介绍了基于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/0922/article_2520.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于CY7C68013A和FPGA的ADSP-TS101扩展USB接口设计
下一篇:用LabVIEW FPGA模块实现不同时钟域的数据连续传输

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
FPGA

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源

夏宇闻老师专栏

你问我答FPGA设计

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

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