新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA的电梯控制器系统设计

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

作者: 时间:2012-03-12 来源:网络 收藏

c. 模块和指示模块:该模块根据各层按钮被按下的情况,控制电梯运行,并设置指示灯。模块定义如下:

  module Lift_cONtrol(

  keyclk, //处理按键时钟

  liftclk, //电梯运行控制时钟

  reset, //电梯复位按钮,复位后电梯停在一楼;

  stop_r, //电梯内各层按键信息

  up_r, //电梯外各层向上按键信息

  down_r, //电梯外各层向下按键信息

  position, //当前楼层位置,每1位代表1层,当相应的位置1时表示电梯运行至该层;

  stoplight, //内部各层按钮指示灯,每1位代表1层,当相应位置1时表示指示该层指示灯亮;

  uplight, //除顶层外各层外部按钮指示灯,每1位代表1层,当相应位置1时表示该层up灯亮;

  downlight, //除首层外各层外部按钮指示灯,每1位代表1层,当相应的位置1时表示该层的down指示灯亮;

  doorlight); //用于开门指示灯,为1表示开门,为0表示关门


d. 显示模块:该模块用于译码显示当前电梯所在楼层,模块定义如下:

  module Display(liftclk,position,disp);

2.2 模块设计与实现

对于分频器模块、按键请求模块、模块和指示模块和显示模块这四个模块,模块和指示模块涉及到电梯各种运行情况的处理,其算法是最复杂的,也是最容易出错的。本文采用使用有限状态机来设计该模块,具体的算法描述如下。

将电梯运行定义为7个状态,具体的状态定义如下:

  S0:onfloor1,表示在楼层1;

  S1:dooropen_up,上升过程中,电梯开门5s;

  S2:doorclose_up,上升过程中,电梯关门;

  S3:up_lift,表示电梯上升一层;

  S4:dooropen_down,下降过程中,电梯开门5s;

  S5:doorclose_down,下降过程中,电梯关门;

  S6:down_lift,表示电梯下降一层。



评论


相关推荐

技术专区

关闭