EDA电梯控制器设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA技术综合课程

设计

课程: EDA技术综合课程设计

题目:电梯控制器

所属院系:电气工程学院专业班级:自控1304班姓名:王军学号:1317014092

指导老师:张立众

完成地点:陕西理工学院

目录

1.设计任务 (2)

2.可选器材 (2)

3.设计框图 (2)

4.设计思路 (4)

5.引脚分配 (5)

6程序清单 (9)

7.主控模块仿真 (16)

8.问题及改进 (17)

9.总结及感受 (18)

10.参考文献 (19)

一.[设计任务]

1、设计一个三层的电梯控制器。

2、用数码管显示电梯所在的楼层号,电梯初始化后状态在第一层楼。

3、每层电梯外都有上下楼请求开关,电梯内部有到各楼层的请求开关及紧急故障开关;用数码管

显示上行或下行状态,用发光二极管显示是否有紧急情况。

4、电梯每秒升(降)一层,电梯到达有停站请求的楼层后,经1秒电梯开门,开门指示灯亮,开门

4秒后指示灯灭,关门,电梯继续运行。

5、当电梯被锁定或发生紧急情况后,电梯停止运行,直到解除锁定或紧急故障后才可以从停止时

的状态继续运行。

6、当电梯处于上升状态时,只响应比电梯所在位置高的上楼请求信号,直到最后一个上楼请求执

行完毕,再进入下降模式;同理,电梯处于下降状态时,只响应比电梯所在位置低的下楼请求信号,直到最后一个下楼请求执行完毕,再进入上升模式。

二.[可选器件]

1.计算机组成/ISP实验箱一台(含电源)

2.电源线一根

FPGA/CPLD下载板一块(或多块,可选)(其中下载版选择以下型号Cyclone EP1C6Q240C8)

3.并行口下载电缆一根

4.电压表棒一付

5.实验指导书一份

6.配套集成电路芯片若干

三.[设计框图]

系统主要分为:

主控制模块control,包含状态机,控制电梯的运行及状态转换;

消抖模块unshake,消除开关电路的抖动现象,确保逻辑的正确性;

显示模块display,内含译码功能,配合控制器显示电梯的工作状态。模块框图见图1,总体框图详见图2。

图1 各模块框图

图2 系统总体框图

四.[设计思路]

1.对于电梯控制逻辑的实现,主要是控制模块control,故下面主要介绍控制模块control的设计思

想。

控制模块control有一个进程k1,其中又设置了一个计数变量cnt,范围为1~2000000。计数变量cnt其实是起到分频器的作用,产生了一个1Hz的时钟,在cnt计数2000000次的时间内(即1s),运行控制电梯升降、停留的程序,这些部分相当于以1Hz的时钟触发;

而系统主频时钟2MHz作为触发时钟不断检测用户是否有请求输入,或者电梯是否有异常情况。对于一、二、三层信号,分别由flag1、flag2、flag3和clear1、clear2、clear3两套标志为来控制输入请求是否有效,是否应该对标志位清零。

2.主要规则是:

当一层(upone、one)、二层(uptwo、downtwo、two)或三层(downthree、three)的输入信号有效时,相应标志位flag1、flag2、flag3置‘1’,表明该层有请求。

当一层(upone、one)、二层(uptwo、downtwo、two)或三层(downthree、three)的输入信号无效时,相应标志位clear1、clear2、clear3置‘1’,表明相应得到达楼层请求已经在上一个时钟沿完成;同时对应的标志位flag1、flag2、flag3置‘1’,表明相应楼层无请求。 updown信号值为‘1’时表明电梯处于上升状态,为‘0’时处于下降状态。

程序有两个信号表示电梯的状态:一是位置状态,二是运行状态。position表明电梯的位置状态,是一个取值1~3的整数,分别表示电梯处于第一、二、三层;state表示电梯的运行状态,使枚举数据类型,共10个值,分别是:

--states为电梯所处的各个状态

--up1表示电梯正在从第1层上升

--up2表示电梯正在从第2层上升

--down1表示电梯正在向第1层下降

--down2表示电梯正在向第2层下降

--stop表示电梯停止在某一层上

--dw1表示电梯开门的第一秒

--dw2表示电梯开门的第二秒

--dw3表示电梯开门的第三秒

--dw4表示电梯开门的第四秒,判断电梯的下一个状态

--dw5表示当电梯处于上升或下降状态时,如果没有相应的上升或下降请求信号,则转入

dw5状态,使其不再在上升或下降状态停留,而响应其它信号

程序利用case语句实现这10个状态间的相互转移。

五.[引脚分配]

详见下图

[状态流程图] 1、顶层流程图解

2、以下是较具体的状态转化图

六.[程序清单]

消抖模块(程序分两栏排版)

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use ieee.std_logic_arith.all;

entity unshake is

port(clk :in std_logic; --时钟,10HZ;

key :in std_logic; --开关信号;

keyout :out std_logic); --消抖之后的开关信号end;

architecture a of unshake is

signal cp :std_logic;

signal jsp:integer range 0 to 3;

begin

process(clk)

begin

if(clk'event and clk='1')then

if key='1' then

if jsp=3 then

jsp<=jsp;

else

jsp<=jsp+1;

end if;

if jsp=1 then

cp<='1';

else

cp<='0';

end if; else

jsp<=0;

end if;

end if;

keyout<=cp;

end process;

end;

显示模块(程序分两栏排版) library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all;

entity display is

port(clk : in std_logic;

light : in integer range 1 to 3;

serout : out std_logic_vector(6 downto 0)); end;

architecture a of display is

相关文档
最新文档