基于FPGA的电梯控制器系统设计方案
b. 按键请求模块:该模块实现了记录并处理各楼层的up、down和stop按钮被按下的情况,模块端口如下:
module key_req(
reset,keyclk,
stop, //电梯间内部各层按钮,每1位代表1层,当相应位置1时表示指示该层的按钮被按下;
up, //各楼层up按钮(顶层无),每1位代表1层,当相应位置1时表示该层up按钮被按下
down, //各楼层down按钮(底层无),每1位代表1层,当相应位置1时表示该层down按钮被按下;
stop_r, //电梯内各层按键信息
up_r, //电梯外各层向上按键信息
down_r //电梯外各层向下按键信息
);
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);
评论