1 / 47
文档名称:

毕业论文 电梯控制系统的VHDL设计.doc

格式:doc   页数:47页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

毕业论文 电梯控制系统的VHDL设计.doc

上传人:DOC KING 2011/11/12 文件大小:0 KB

下载得到文件列表

毕业论文 电梯控制系统的VHDL设计.doc

文档介绍

文档介绍:设计题目:电梯控制系统
目录
一、课题设计要求分析 2
二、程序设计思想: 2
三、电梯流程图 6
四、状态转换图 9
五、程序解释 9
六、设计思想 42
七、程序调试(仿真波形解释及图) 42
八、结论 46
一、课题设计要求分析
本课题要求设计一个电梯控制系统,传统的电梯控制系统仅仅要求实现对一栋电梯的控制,而本题要求设计一个实现两栋电梯联动的基于VHDL的电梯控制系统。具体要求如下:
需要大楼为4层,2部电梯,每部电梯内部都有如下按键:1-4楼的按键选择,开门键,关门键,报警键。每部电梯的每层楼外面都有上楼键和下楼键(1楼只有上楼键,六楼只有下楼键)。电梯的设计参照日常生活中电梯实际运行规律设计。两部电梯之间互相联动,即同时按下任何一部电梯的外部向上或向下键之后,两部电梯同时接受此指令,然后由系统判断,与该请求所在楼层最近并且运行方向相同的电梯执行指令,另一部电梯不执行该指令。
我们设计的电梯控制器是控制电梯按顾客要求自动上下的装置。本文采用VHDL语言来设计实现两栋电梯联动的四层电梯控制器,代码具有良好的可读性和以理解性,源程序使用Altera公司的MAX+plusII软件仿真,本课题的设计具有一定的扩展性,而且可以作为更多层电梯控制器实现的基础。
二、程序设计思想:
我们使用一个核心控制器进行联动的算法调度。在此基础上,我们增加了输出所在层数的七段码显示程序和功能。我们在充分考虑所有的输入信号和输出的状态信号,把所有信号集合在一个核心控制器中,具体BLOCK图见下图:
由输入信号,中央处理器,输出信号,以及电梯运行状态的七段码进行显示模块。
下面具体解析具体的管脚分配:
首先我们可以从中心控制算法来看:
一下是中央控制算法输入输出管教说明:
clk:时钟信号
up1_1,up1_2,up1_3,down1_2,down1_3,down1_4,up2_1,up2_2,up2_3,down2_2,down2_3,down2_4:对应楼层的上下楼按键
stop1_1,stop1_2,stop1_3,stop1_4,stop2_1,stop2_2,stop2_3,stop2_4:对应楼层的停电梯按键
warn1,warn2:对应电梯的报警按键
no_warn1,no_warn2:解除报警
open1,open2:对应电梯的开门键
close1,close2:对应电梯的关门键
floor1,floor2:当前位置电梯1,2的位置
mode1,mode2:o当前电梯状态:00升,01降,10停止,11报警
warn_out1,warn_out2:报警输出在第几层
reset:in std_logic;---复位键
wait1:
wait2:等待状态输出
door_out1,door_out2:门状态输出
我们的程序尽可能的把电梯的所有的状态都模拟出来,因此我们设置了所有需要的按键,都是参考实际电梯装置所有的按键进行设置的。除此之外,为了设置观察电梯运行状态的输出信号,如电梯现在所运行的楼层,电梯是上楼还是下楼,是停止还是报警,我们都有相应的状态和它对应。通过这样的规划程序,我们实现了电梯所有状态的输出,以及显示。同时也使得我们可以很好的调试我们的程序。
Block图的另外一部分就是:
其中就是我们增加的功能,使得电梯的运行层数在实际的制作过程中,可以显示当前的电梯所在层数。这样我们的程序能够更好的向实物方向发展。
程序的设计中,我们设计了内部的处理信号和中间变量,进行状态的保存和输出状态的存储。以利于我们进行电梯算法的处理实现,具体如下:
type state_type is(c1,c2,c3,c4,warn,open_door,wait_time);--电梯工作状态
signal signal_up1,signal_up2:std_logic_vector(3 downto 1);--上升信号存储
signal signal_down1,signal_down2:std_logic_vector(4 downto 2);--下降信号存储
signal signal_mode1,signal_mode2:std_logic_vector(1 downto 0);--电梯工作方式信号
signal signal_floor1,signal_floor2:std_logic_vector(2 downto 0);--电梯当前位置
signal signal_stop1,signal_stop2:std_logic_vector(4 downto 1);--电梯内部停止请求信号
signal state_1,state_2:state_type

最近更新