我是靠谱客的博主 忧伤超短裙,最近开发中收集的这篇文章主要介绍FPGA的六层电梯控制器Verilog语言,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、设计要求
设计一个六层楼自动电梯控制器,电梯内有六个输入按钮响应用户的上下楼层请求,并有八段数码管显示电梯当前所在楼层位置;在每层电梯入口处设有请求按钮开关,指示用户的上或下的请求。由电机正反转控制电梯的上下运动,超载或关门中断由压力传感器传来信号给控制装置。电梯工作过程共有9种状态:等待、上升、下降、开门、关门、停止、休眠、超载报警以及故障报警状态。一般情况下,电梯工作起始点是第一层,起始状态是等待状态,启动条件是收到上升请求。
控制电路应能记忆所有楼层请求信号,并按方向优先控制规则依次响应:运行过程中先响应最早的请求,再响应后续的请求。如果无请求则停留当前层。如果有两个同时请求信号,则判断请求信号离当前层的距离,距离近的请求先响应,再响应较远的请求。每个请求信号保留至执行后清除。
二、设计目的
熟练使用Altera QuartusII 仿真软件。
掌握verilog硬件描述语言进行硬件编程。
掌握状态机的原理,结构和设计。
理解FPGA技术的层次化设计方法。
理解并掌握电梯控制器的原理。
三、设计原理
此设计问题可分为请求信号输入模块、主控模块、移位寄存显示模块和楼层显示几部分(如电梯控制器系统框图所示)。
在请求信号输入模块中,设置六个开关电平信号d1,d2,d3,d4,d5,d6(表示6个楼层的请求信号,每次最多允许两个信号同时请求。)在主控模块中设置开门指示信号door(door=1为开门状态;door=0为关门状态)。
在移位寄存显示模块中设置六个LED显示信号o1,o2,o3,o4,o5,o6(表示当前所在楼层及发出请求信号的楼层),用移位寄存模块的up表示电梯上行(右移),down表示电梯下行(左移)。电梯初始状态是处在一层,当前楼层经主控模块送数码管显示。

图6 电梯控制器系统框图
当前楼层信号A和请求信号B在主控模块中进行实时比较,当A<B时,主控模块的输出使移位寄存模块的UP信号有效,电梯上行,直到A=B,电梯开门(door=1)5秒,若A>B,则移位寄存模块的down信号有效,电梯下行,直到A=B,电梯开门5秒,如此反复。若没有请求信号输入,则电梯停在当前楼层不动。若同时有两个请求信号输入,主控模块应能将两个请求信号分别与当前楼层信号比较,使电梯先去距离较近的楼层。
2.1 设计实现原理
根据系统设计要求,并考虑到系统的可检验性,整个系统的输入输出接口设计如图1所示:系统工作用2Hz基准时钟信号CLKIN,楼层上升请求键UPIN,楼层下降请求键DOWNIN,楼层选择键入键ST_CH,提前关门输入键CLOSE,延迟关门输入键DELAY,电梯运行的开关键RUN_STOP,电梯运行或停止指示键LAMP,电梯运行或等待时间指示键RUN_WAIT,电梯所在楼层指示数码管ST_OUT,楼层选择指示数码管DIRECT。

图 1. 电梯控制器DTKZQ的输入输出接口图
各输入端口的功能如下:
CLKIN:基准时钟信号,为系统提供2Hz的时钟脉冲,上升沿有效;
UPIN:电梯上升请求键。由用户向电梯控制器发出上升请求。高电平有效;
DOWNIN:电梯下降请求键,由用户向电梯控制器发出下降请求。高电平有效;
ST_CH[2…0]:楼层选择键入键,结合DIRECT完成楼层选择的键入,高电平有效;
CLOSE:提前关门输入键。可实现无等待时间的提前关门操作,高电平有效;
DELAY: 延迟关门输入键。可实现有等待时间的延迟关门操作,高电平有效;
RUN_STOP:电梯运行或停止开关键。可实现由管理员控制电梯的运行或停止,高电平有效。
一下为输出端口:
LAMP:电梯运行或等待指示键,指示电梯的运行或等待状况。高电平有效;
RUN_WAIT:电梯运行或等待时间指示键,指示电梯运行状况或等待时间的长短,高电平有效;
ST_OUT:电梯所在楼层指示数码管,只是电梯当前所在的楼层数。即1~6层,高电平有效;
DIRECT:楼层选择指示数码管,指示用户所要选择的楼层数,高电平有效。

2.2项目分块及其实现方案
电梯的控制状态包括运行状态﹑停止状态及等待状态,其中运行状态又包含向上状态和向下状态。主要动作有开、关门,乘客可通过键入开、关门按键,呼唤按键,指定楼层按钮等来控制电梯的行与停。
据此,整个电梯控制器DTLZQ应包括如下几个组成部分:①时序输出及楼选计数器;②电梯服务请求处理器;③电梯升降控制器;④上升及下降寄存器;⑤电梯次态生成器。该电梯控制器设计的关键是确定上升及下降寄存器的置位与复位。整个系统的内部组成结构图2所示。

图2. 电梯控制器的内部组成结构图

            图3.  电梯控制器系统框图

2.3电梯控制器的流程图

图4 总流程图

                                    图5 电梯控制主流程图

最后

以上就是忧伤超短裙为你收集整理的FPGA的六层电梯控制器Verilog语言的全部内容,希望文章能够帮你解决FPGA的六层电梯控制器Verilog语言所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部