智能电梯控制器设计报告

  • 格式:doc
  • 大小:395.50 KB
  • 文档页数:17

智能电梯控制器设计报告

第1页,共17页

目录

一、 系统设计任务及需求分析 ............................................................................ 1

二、 系统概要设计.............................................................................................. 2

三、 系统详细设计.............................................................................................. 3

四、 系统的具体实施 .......................................................................................... 7

五、 系统测试和系统仿真 ................................................................................. 14

六、 系统的演示 ............................................................................................... 15

七、 课设的心得和体会..................................................................................... 17

八、 参考资料................................................................................................... 17

智能电梯控制器设计报告

学号:012004015602 电子信息工程0406班 彭令鹏

一、 系统设计任务及需求分析

系统的总体任务是用verilog编写出一个智能电梯控制器。要求该控制器器能实现普通电梯的大部分控制功能,并能将其下载到FPGA开发板上进行演示。

由总体任务出发,对电梯的一般运行规律进行认真的分析,不难得出该控制器应具有下面这些功能。

[1]. 具有好的交互性接口,能比较实时地响应用户的各项请求 。除顶层和底层外,每层电梯的入口都设有上下请求开关,顶层和底层分别只设有下降和上升的请求开关;电梯内部设有乘客到达层次的请求信号。

[2]. 电梯每1s上升或下降一层。

[3]. 电梯到达有停站请求的楼层后,经过1s后将门打开,开门指示灯亮,开门4s后,电梯门关闭,开门指示灯灭,电梯继续运行,直至执行完最后一个请求后停在当前层。

[4]. 能记忆电梯内外的所有请求信号,并按运行规则顺序响应各个请求,每个请求信号保持至北执行完后才被清除。

[5]. 实现这样的运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号和梯内乘客下电梯的请求,这些请求信号由下而上逐个执行,直到最后一个请求信号执行完毕。这时如果更高层有下楼请求,则直接开到有下楼请求的最高层接客,然后进入下降模式;如果是低层有请求信号,则下降至低012004015602 电子信息工程0406班 彭令鹏

第2页,共17页 层响应请求;如无任何请求,电梯则停在当前层。当电梯处于下降模式时,其运行规则与上升模式相反。

[6]. 电梯所处的状态,用户的请求信号都应能够比较实时地显示出来。

[7]. 如果时间和资源允许,还可加入其它一些功能,如电梯锁定禁止运行、超载报警、电梯上升下降的速度可调等等。

二、 系统概要设计

由需求分析可知,此系统要实现的功能不是特别的少,为避免开发的盲目性,也为了减少系统在调试、测试和维护的工作量,有必要对系统进行概要设计。

根据自顶向下的模块化设计思想,结合需求分析中提到的要实现的功能,对系统可进行如下的模块划分。

电梯要正常上升、下降并比较实时地响应用户的请求,这需要一个核心模块对其进行管理,我们称这个核心模块为主控制模块。主控制模块负责电梯的各项控制功能,包括电梯能够正常的上下运转,响应电梯内外的请求,与其它模块进行交互等等。

其次电梯要能给各楼层用户提供上下楼层的请求接口,给电梯内部的用户提供停靠某楼层的请求接口,而具体到我们的开发板,这些接口就是开发板上的按键。因此,为了实现上述的接口功能,我们需要一个按键处理模块来处理各种各样的按键请求。

再者,我们需要将电梯的当前状态,用户的请求信号等通过数码管或发光二极管显示出来。因此,我们也需要一个显示模块来负责输出显示。需要说明的是,因为该模块的主要工作就是各种请求信号或状态信号的码制变换,负责的是接口转换工作,因此,我将键盘处理模块与主控制模块之间的接口实现也放在这一模块。

最后,该系统还附加了超载报警的功能,因此需要一个超载报警模块来实现这一功能。

综合上面的分析结果,考虑到各模块间的关系,可得到整个电梯控制器的框图,如图1所示。

如图1所示,整个电梯控制器可分为主控制模块、按键处理模块、显示模块智能电梯控制器设计报告

第3页,共17页

和超载报警等4个模块。主控制模块负责直接对电梯进行控制和管理,是控制器的核心部分,其实现复杂度是4个模块中最高的;按键处理模块和显示模块负责按键处理和显示处理,两者都为外部用户与内部主控制部分的交互提供了比较好的接口,而且两者的实现负责度相当,都略低于主控制模块;超载报警模块直接根据载重量判断是否超载,因此实现最简单。

按键处理模块主控制模块显示模块超载报警模块图 1-系统框图

三、 系统详细设计

遵循自顶向下逐步细化的设计思想,我们将在概要设计的基础上,根据板上所能提供的资源,做出系统的详细设计。

主控制模块

如前所述,主控制模块的功能就是实现对电梯进行正确的控制,使电梯能正确的运转,并能以最优平均性能响应用户的请求。分析一下电梯的具体工作工程,易知电梯在正常工作时,其实就仅仅是在其有限的几个工作状态之间进行转移而已。鉴于这一点,我们决定用状态机来实现主控制模块部分的功能。

根据电梯的实际工作流程,我们可将电梯分为WAIT、UP、DOWN、UPSTOP、DOWNSTOP、OPENDOOR和CLOSEDOOR等七个状态。这七个状态间的转移关系如图2012004015602 电子信息工程0406班 彭令鹏

第4页,共17页 所示。

首先有必要简要介绍一下图2中各个状态的含义。WAIT是指电梯停靠在某一层,等待用户请求的状态;UP是指电梯处于上升的状态;DOWN是指电梯处于下降状态;UPSTOP是指电梯在上升的过程中停靠在某一层时所处的状态;DOWNSTOP是指电梯在下降的过程中停靠在某一层时所处的状态;OPENDOOR是指电梯开门时所处的状态;CLOSEDOOR是指电梯关门时所处的状态。

UPSTOP模式UP模式DOWN模式OPENDOOR模式DOWNSTOP模式CLOSEDDOOR模式WAIT模式图 2-主控制模块中的状态转移图

从图2中我们可以看出,各种状态间存在着比较复杂的转移关系,那么在满足什么样的条件下这些转移才能进行呢?这是我们接下来要讨论的问题。

在讨论这个问题之前,我们先讨论一下电梯对各种请求的响应策略。本课程设计中所采取的响应策略是以方向优先为第一准则,然后在这个前提下,优先响应电梯内部的请求,然后是电梯外部的上楼请求,最后是电梯外部的下楼请求。整个响应策略可这样来理解。 智能电梯控制器设计报告

第5页,共17页

“方向优先”,是指当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号和梯内乘客下电梯的请求,这些请求信号由下而上逐个执行,直到最后一个请求信号执行完毕。这时如果更高层有下楼请求,则直接开到有下楼请求的最高层接客,然后进入下降模式;如果是低层有请求信号,则下降至低层响应请求;如无任何请求,电梯则停在当前层。当电梯处于下降模式时,其运行规则与上升模式相反。

“在方向优先的前提下,优先响应电梯内部的请求,然后是电梯外部的上楼请求,最后是电梯外部的下楼请求”,是指当电梯处于WAIT模式时,当其同时受到多个请求而被激发时,进入哪个状态,依次由内部请求,外部上楼请求和外部下楼请求决定。

接下来我们讨论状态间的各步转移分别需满足什么条件。

当电梯处于WAIT模式时,按照响应策略,下一状态有这么几种可能:如果有当前层的停靠请求,或有当前层的上升请求,或无当前层和当前层之上的上升和停靠请求却有当前层的下降请求,则下一状态为OPENDOOR;在前面条件没满足的前提下,如果有当前层之上的上升或停靠或下降的请求,则下一状态为UP;在前面的条件都没满足的前提下,如果有且只有当前楼层之下的下降请求,则下一状态为DOWN;如果无任何请求,下一状态仍为WAIT。

当电梯处于其他模式,其状态转移根据响应策略,相应地推导出来,此处不予累述。

按键处理模块

如前说述,按键模块是用来处理各种按键请求的模块。因为开发板上只有8个按键,而我做的这个4层电梯控制器所需的输入信号远远超过了8个,分别是1-3楼的上楼请求信号,2-4楼的下楼请求信号,停靠1-4楼的内部停靠请求,超载输入信号,复位信号。因此按键必须复用,本课程设计采取的复用方法如下。

1. 1-4号按键分别负责用户1-4楼的上下请求,每按这些键一次,相应键的键值加1模3,0代表无请求信号,1代表有上升请求,2代表有下降请求,当confirm为TRUE时,使能将相应的键值送出。

2. 号键负责用户的停靠请求,与按键1-4类似,每按此键一次,其键值加012004015602 电子信息工程0406班 彭令鹏

第6页,共17页 1模5,键值为0代表无停靠请求,键值为1-4分别代表有停靠1-4楼的请求

3. 6号键负责超载输入(相当于实际中的压力传感器),每按此键一次,其键值加1模16(限定重量的最大量为16)代表归一化的重量当量。

4. 7号键为复位键

5. 8号键为确认键,每按此键一次,其键值加1模2,相应地confirm由0-1-0如此循环变化,只有当confirm为1时,各请求信号才能输出(更详细的控制过程请参看附件中的相关源代码(KeyProcess部分)。

接下来要说明的是按键复用的处理细节,主要有如下几点。

1. 同一按键在不同时刻送出的信号类型是由其当前的键值决定的,正如上面的复用用方法中的1提到的一样,1-4号键键值为0时,表示无请求信号,键值为1代表相应的楼层有上升的请求,键值为2时代表相应的楼层有下降的请求,其它键的复用与此类似。

2. 8号confirm键的作用。Confirm键的作用是在适当的时刻发出一个请求脉冲。它的实现机制是这样的:在程序中给confirm键设定了一个键值变量,confirm键没被按下一次,这个键值就加1模2 (即在0和1间循环);当键值为1时,处理模块将与请求信号相对应的输出端口均置为高电平,而当键值为0时,处理模块将所有输出端口都置为低电平。这样当用户有请求信号时,连续两次按下k8键后,模块可对外输出一个高电平的请求脉冲,这个脉冲可用来提供一个与其它模块连接的触发型接口。