太原科技大学华科学院毕业设计(论文)
第 2 章 总体方案设计
2.1 设计要求
六层电梯控制器将实现的功能:
(1)每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。
(2)设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。
(3)电梯每秒升(降)一层楼。
(4)电梯到达有停站请求的楼层,经过 1 秒电梯门打开,开门指示灯亮,开门 4 秒后,电
梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信号后停留在当前
层。
(5)能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执
行后消除。
(6)电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,
由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升
到由下楼请求的最高层,然后进入下降模式。当电梯处于下降模式时则与上升模式相反。
(7)电梯初始状态为一层开门状态。
2.2 电梯控制器的总体设计方案
控制器的功能模块如图 2.1 所示,包括主控制器、楼层选择器、状态显示器、译码器
和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,
状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显示器中显
示。由于其他模块相对简单很多,所以主控制器是核心部分。
图 2.1 总体设计方案
I
太原科技大学华科学院毕业设计(论文)
2.3 电梯上下层运行流程图
电梯上升流程图,如图 2.2:
电梯下降流程图,如图 2.3:
图 2.2 电梯上升流程图
II
太原科技大学华科学院毕业设计(论文)
图 2.3 电梯下降流程图
2.4 电梯运行控制流程图
如图 2.4:
III
太原科技大学华科学院毕业设计(论文)
图 2.4 电梯运行控制流程图
2.5 六层电梯控制器的设计思路
电梯控制器运用状态机的设计方法,思路比较清晰。可以将电梯等待的每秒钟以及开
门、关门都看成一个独立的状态[2]。由于电梯又是每秒上升或下降一层,所以就可以通过
一个统一的 1 秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以把状态机设
置 7 个状态,分别是“电梯停留在第 1 层”、“开门”、“关门”、 “开门等待 4 秒”、
“上升”、“下降”和“停止状态”。各个状态之间的转换条件可由上面的设计要求所决
定。各状态机之间转换图如图 2.5:
IV
太原科技大学华科学院毕业设计(论文)
图 2.5 状态机转换图
第 3 章 总体设计电路图
3.1 顶层电路原理图
电梯控制器为其中的核心部件,控制其电梯的运行情况,而其控制则由按钮来决定,
通过按钮指示灯判断电梯的工作状态及显示其运行情况。实验板上输入过大的脉冲序列,
通过分频器将高频转换为低频,即 buttonclk,通过此时钟信号控制电梯信号灯。当按钮为
高电平时,电梯开始工作,并通过按钮信号灯决定电梯的运行。电梯所处位置显示通过译
码器,再通过数据选择器显示到数码管上。udsig 和 doorlight 显示电梯门和电梯的状态。
stoplight[6..1] fuplight[6..1] fdnlight[6..1] 显示按钮指示。Reset 按钮使电梯恢复到初
始位置。楼层 position 变化相应的数码管也跟着变。
其顶层原理图如图 3.1:
V
太原科技大学华科学院毕业设计(论文)
3.2 六层电梯控制器的实体设计
图 3.1 顶层原理图
首先考虑输入端口,一个异步复位端口 reset,用于在系统不正常时回到初始状态;在
电梯外部,必须有升降请求端口,一层是最低层,不需要有下降请求,六层是最高层,不
需要有上升请求[3],二三四五层则上升、下降请求端口都有;在电梯的内部,应该设有
各层停留的请求端口:一个电梯时钟输入端口,该输入时钟以 1 秒为周期,用于驱动电梯
的升降及开门关门等动作;另有一个按键时钟输入端口,时钟频率比电梯时钟高。
其次是输出端口,有升降请求信号以后,就得有一个输出端口来指示请求是否被响应,
有请求信号以后,该输出端口输出逻辑‘l’。被响应以后则恢复逻辑‘0’;同样,在电
梯内部也应该有这样的输出端口来显示各层停留是否被响应;在电梯外部,需要一个端口
来指示电梯现在所处的位置;电梯开门关门的状态也能用一个输出端口来指示[3];为了观
察电梯的运行是否正确,可以设置一个输出端口来指示电梯的升降状态。
3.3 六层电梯控制器的结构体设计
首先说明一下状态。状态机设置了 7 个状态,分别是电梯停留在 l 层(stoponl)、开门
(dooropen)、关门(doorclose)、开门等待 4 秒(doorwait4)、上升(up)、下降(down)和停止
(stop)。在实体说明定义完端口之后,在结构体 architecture 和 begin 之间需要有如下的定
VI
太原科技大学华科学院毕业设计(论文)
义语句,来定义状态机。
type lift_state is
(stoponl,dooropen,doorclose, doorwait4,up,down,stop):
signal mylift:lift_state:
在结构体中,设计了两个进程互相配合,一个是状态机进程作为主要进程,另外一个
是信号灯控制进程作为辅助进程[5]。状态机进程中的很多判断条件是以信号灯进程产生的
信号灯信号为依据的,而信号灯进程中信号灯的熄灭又是由状态机进程中传出的 clearup
和 cleardn 信号来控制。
在状态机进程中,在电梯的上升状态中,通过对信号灯的判断,决定下一个状态是继
续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续
下降还是停止;在电梯停止状态中,判断是最复杂的,通过对信号的判断,决定电梯是上
升、下降还是停止。
在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键的灵敏
度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。按键后产生的点亮的信号灯
(逻辑值为‘1’)用于作为状态机进程中的判断条件,而 clearup 和 cleardn 信号为逻辑‘l’
使得相应的信号灯熄灭。
3.4 六层电梯控制器 VHDL 设计
六层电梯控制器的源代码可知。
(1)本程序设计调用了 IEEE 库,IEEE 库是 VHDL[6]设计中最为常用的库,它包含有
IEEE 标准的程序包和其他一些支持工业标准的程序包。本设计采用了 STD_LOGIC_1164、
STD_LOGIC_ARITH、STD_LOGIC_UNSIGNED 程序包。
(2)以关键词 ENTITY 引导,END ENTITY lift 结尾的语句部分,称为实体。VHDL 的
实体描述了电路器件的外部情况及各信号端口的基本性质。本设计定义了关于六层电梯控
制器用到的各类时钟、异步复位按键、信号灯指示、电梯的请求。端口模式主要就是 IN、
BUFFER、OUT 端口。及定义了各端口信号的数据类型,主要是 STD_LOGIC(标准逻辑位
数据类型)、INTEGER(整数类型)、STD_LOGIC_VECTOR(标准逻辑矢量数据类型)。这
些都满足上面调用的 IEEE 库中的程序包[7]。
(3)以关键词 ARCHITECTURE 引导,END ARCHITECTURE art 结尾的语句部分,称
为结构体[8]。结构体负责描述电路器件的内部逻辑功能或电路结构。本设计定义了 7 个状
VII
太原科技大学华科学院毕业设计(论文)
态。描述了在六层电梯中出现的各种可能的情况作为控制电梯的主要进程。信号灯控制作
为辅助进程[9]。
3.5 选择器件
1. 数据选择器
逻辑功能表如表 3.1
表 3.1 数据选择器逻辑功能
2. 译码器
逻辑功能表如表 3.2
表 3.2 译码器逻辑功能表
3.6 功能模块
3.6.1 电梯主控制模块
如图 3.3:
VIII