当前位置:首页 > 嵌入式 > 嵌入式硬件

摘要:介绍了基于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所示。


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

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


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


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


系统重启时(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所示。


模块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所示。


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

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Bourns® TLVR1005T 和 TLVR1105T 系列采用双绕组结构和低感值设计,可提供快速瞬态响应,并可依据 CPU、FPGA 和 ASIC 负载要求进行延展

关键字: 数据驱动 电感器 FPGA

对于大规模数据处理,最佳性能不仅取决于原始计算能力,还取决于高存储器带宽。 因此,全新 AMD Alveo™ V80 计算加速卡专为具有大型数据集的内存受限型应用而设计,这些应用需要 FPGA 硬件灵活应变能力以实现工作...

关键字: 自适应计算 FPGA

8b10b编码作为数字通信领域中的一项重要线路编码方案,其核心理念在于将每8位数据映射到10位编码中。这个映射过程严格按照特定规则进行,旨在保证编码中的电平转换足够,以维持信号的直流平衡,并提供足够的时钟信息,使接收端能...

关键字: FPGA 8b/10b编码 IC设计

在FPGA和IC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

关键字: FPGA 嵌入式系统 IC设计

2024 年5月13日 – 专注于推动行业创新的知名新品引入 (NPI) 代理商™贸泽电子 (Mouser Electronics) 是英特尔®产品的全球授权代理商。英特尔®宣布正式成立Altera™,作为其独立运营的全...

关键字: FPGA 人工智能 以太网

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

在现代流程工业生产中,生产工艺相关的运行参数,如温度、液位、压力、流量等,都是采用仪表进行测量检测,并根据仪表的测量结果通过控制阀门、泵等执行机构使这些工艺运行参数处于要求的范围内以满足工艺生产的需要。目前,在先进的工厂...

关键字: 故障树 控制系统

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发
关闭
关闭