三层电梯控制器实验报告Word格式文档下载.docx
- 文档编号:16789742
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:14
- 大小:60.31KB
三层电梯控制器实验报告Word格式文档下载.docx
《三层电梯控制器实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《三层电梯控制器实验报告Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
2设计分析及系统方案设计
电梯控制器的设计方法有很多,本文采用状态机来描述,其优点是思路清晰。
可以将电梯等待的每秒钟以及开门、关门都看成一个独立的状态。
由于电梯又是每秒上升或下降一层,所以就可以通过一个以秒为周期的时钟来触发状态机。
根据电梯的实际工作情况可以把状态机设置为10个状态,分别是“电梯停留在一层”、“开门”、“关门”、“开门等待第1秒”、“开门等待第2秒”、“开门等待第3秒”、“开门等待第4秒”、“上升”、“下降”和“停止”状态。
各个状态之间的转换条件可由设计要求所决定。
控制器的功能模块如图1所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。
乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显示器中显示。
分控制器把有效的请求传给主控制器进行处理,同时显示电梯的运行状态和电梯所在楼层数。
由于分控制器相对简单很多,所以主控制器是核心部分。
三层电梯控制器的实体设计
首先考虑输入端口,一个异步复位端口reset,用于在系统不正常时回到初始状态;
在电梯外部,必须有升降请求端口,一层是最低层,不需要有下降请求,三层是最高层,不需要有上升请求,二层则上升、下降请求端口都有;
在电梯的内部,应该设有各层停留的请求端口:
一个电梯时钟输入端口,该输入时钟以1秒为周期,用于驱动电梯的升降及开门关门等动作;
另有一个按键时钟输入端口,时钟频率比电梯时钟高。
其次是输出端口,有升降请求信号以后,就得有一个输出端口来指示请求是否被响应,有请求信号以后,该输出端口输出逻辑‘1’。
被响应以后则恢复逻辑‘O’;
同样,在电梯内部也应该有这样的输出端口来显示各层停留是否被响应;
在电梯外部,需要一个端口来指示电梯现在所处的位置;
电梯开门关门的状态也能用一个输出端口来指示;
为了观察电梯的运行是否正确,可以设置一个输出端口来指示电梯的升降状态。
三层电梯控制器的结构体设计
首先说明一下状态。
状态机设置了lO个状态,分别是电梯停留在l层(stopon1)、开门(dooropen)、关门(doorclose)、开门等待第1秒(waitl)、开门等待第2秒(wait2)、开门等待第3秒(wait3)、开门等待第4秒(wait4)、上升(up)、下降(down)和停止(stop)。
在实体说明定义完端口之后,在结构体architecture和begin之间需要有如下的定义语句,来定义状态机。
typestate_typeis
(stopon1,dooropen,doorclose,waitl,wait2,wait3,wait4,up,down,stop);
signalstate_type:
state;
在结构体中,设计了俩个进程互相配合,一个是状态机进程作为主要进程,另外一个是信号灯控制进程作为辅助进程。
状态机进程中的很多判断条件是以信号灯进程产生的信号灯信号为依据的,而信号灯进程中信号灯的熄灭又是由状态机进程中传出的clearup和cleardn信号来控制。
在状态机进程中,在电梯的上升状态中,通过对信号灯的判断,决定下一个状态是继续上升还是停止;
在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续下降还是停止;
在电梯停止状态中,判断是最复杂的,通过对信号的判断,决定电梯是上升、下降还是停止。
在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键的灵敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。
按键后产生的点亮的信号灯(逻辑值为‘1’)用于作为状态机进程中的判断条件,而clearup和cleardn信号为逻辑‘1’使得相应的信号灯熄灭。
3系统以及模块硬件电路设计
系统电路如图2所示。
表1开发系统工作模式:
cycloneII
接口
名称
类型
(输入/输出)
键位名
引脚号
说明
clk
输入
--
PIN_N2
系统时钟
caution
SW16
PIN_V1
报警按键
reset
SW17
PIN_V2
异步复位
up1
SW0
PIN_N25
外部一层上升
up2
SW1
PIN_N26
外部二层上升
down2
SW2
PIN_P25
外部二层下降
down3
SW3
PIN_AE14
外部三层下降
stop1
SW4
PIN_AF14
内部一层停止
stop2
SW5
PIN_AD13
内部二层停止
stop3
SW6
PIN_AC13
内部三层停止
position
输入/输出
当前位置
udsig
‘0’下降,’1’上升
doorlight
‘0’关门,’1’开门
location
输出
HEX6(6…0)
PIN_R2
PIN_P4
PIN_P3
PIN_M2
PIN_M3
PIN_M5
PIN_M4
当前位置数码管显示
udlight1
HEX4(6…0)
PIN_U9
PIN_U1
PIN_U2
PIN_T4
PIN_R7
PIN_R6
PIN_T3
当前状态数码管显示
udlight2
HEX5(6…0)
PIN_T2
PIN_P6
PIN_P7
PIN_T9
PIN_R5
PIN_R4
PIN_R3
dlight1
HEX0(6…0)
PIN_AF10
PIN_AB12
PIN_AC12
PIN_AD11
PIN_AE11
PIN_V14
PIN_V13
门状态数码管显示
dlight2
HEX1(6…0)
PIN_V20
PIN_V21
PIN_W21
PIN_Y22
PIN_AA24
PIN_AA23
PIN_AB24
dlight3
HEX2(6…0)
PIN_AB23
PIN_V22
PIN_AC25
PIN_AC26
PIN_AB26
PIN_AB25
PIN_Y24
uplight
LEDR(2…0)
PIN_AD21
PIN_AD23
PIN_AD22
外部上升位置显示
downlight
LEDR(6…4)
PIN_AB21
PIN_AF23
PIN_AE23
外部下降位置显示
stoplight
LEDG(7…5)
PIN_U17
PIN_AA20
PIN_Y18
内部停止位置显示
clearup
中间信号
清除上升请求指示灯信号
cleardn
清除下降请求指示灯信号
4系统的VHDL设计
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entityfliftis
port(clk:
instd_logic;
--系统时钟
reset:
--异步复位按键
caution:
--报警按键
up1:
--第一层上升请求按钮
up2:
--第二层上升请求按钮
down2:
--第二层下降请求按钮
down3:
--第三层下降请求按钮
stop1,stop2,stop3:
--电梯内部请求按钮
uplight:
bufferstd_logic_vector(3downto1);
--电梯外部上升请求指示灯
downlight:
--电梯外部下降请求指示灯
stoplight:
--电梯内部各层请求指示灯
position:
bufferintegerrange1to3;
--电梯位置指示
location:
outstd_logic_vector(6downto0);
--电梯位置数码管显示
udsig:
bufferstd_logic;
--电梯升降指示
doorlight:
--电梯门开关指示灯
dlight1,dlight2,dlight3:
--电梯门开关数码管显示
udlight1,udlight2:
outstd_logic_vector(6downto0));
--电梯升降数码管指示
endflift;
architecturebehavoffliftis
typestate_typeis
(stopon1,dooropen,doorclose,waitl,wait1,wait2,wait3,wait4,up,down,stop);
signalstate:
state_type:
=stopon1;
signalclearup:
std_logic;
--用于清除上升请求指示灯信号
signalcleardn:
--用于清除下降请求指示灯信号
signalbuttonclk,fliclk:
--按键时钟与电梯时钟
signalcount:
integerrange0to49999999;
--计数器
signalclk1:
std_logic;
--计数器时钟
begin
process(clk)--1秒时钟进程
begin
ifreset='
1'
then
count<
=0;
clk1<
='
0'
;
elsifrising_edge(clk)then
ifcount=49999999then
count<
elsecount<
=count+1;
endif;
endif;
buttonclk<
=clk;
fliclk<
=clk1;
endprocess;
process(reset,fliclk)--控制电梯状态进程
variablepos:
integerrange3downto1;
state<
clearup<
cleardn<
elsifrising_edge(fliclk)andcaution/='
casestateis--状态转移
whenstopon1=>
doorlight<
position<
=1;
pos:
=wait1;
whenwaitl=>
state<
=wait2;
whenwait2=>
clearup<
cleardn<
=wait3;
whenwait3=>
=wait4;
whenwait4=>
=doorclose;
whendoorclose=>
ifudsig='
andcaution/='
then--上升情况
ifposition=3then--电梯在三楼
ifstoplight="
000"
anduplight="
anddownlight="
udsig<
elsifstoplight="
100"
oruplight="
ordownlight="
udsig<
=dooropen;
else
=down;
elsifposition=2then--电梯在二楼
elsifstate=doorcloseandstoplight="
010"
state<
elsifstate=doorcloseanduplight="
elsifstate=doorcloseanddownlight="
elsifstoplight(3)='
ordownlight(3)='
=up;
else
elsifposition=1then--电梯在一楼
elsifstoplight="
001"
then--下降情况
ifposition=1then--电梯在一楼
elsifstate=doorcloseandstoplight="
elsifstoplight
(1)='
oruplight
(1)='
elsifposition=3then--电梯在三楼
whenup=>
position<
=position+1;
pos:
=pos+1;
ifpos=2and(stoplight(3)='
ordownlight(3)='
)then
=stop;
whendown=>
=position-1;
=pos-1;
ifpos=2and(stoplight
(1)='
whenstop=>
whendooropen=>
=waitl;
whenothers=>
endcase;
process(clk)--控制按键指示灯进程
ifreset='
stoplight<
="
uplight<
downlight<
elsifrising_edge(buttonclk)andcaution/='
ifclearup='
stoplight(position)<
uplight(position)<
ifup1='
thenuplight
(1)<
endif;
ifup2='
thenuplight
(2)<
ifcleardn='
downlight(position)<
ifdown2='
thendownlight
(2)<
ifdown3='
thendownlight(3)<
ifstop1='
thenstoplight
(1)<
ifstop2='
thenstoplight
(2)<
ifstop3='
thenstoplight(3)<
endprocess;
process(position)--楼层数码管显示进程
casepositionis
when1=>
location<
1111001"
when2=>
0100100"
when3=>
0110000"
endcase;
process(doorlight)--电梯门数码管显示进程
casedoorlightis
when'
=>
dlight1<
1001000"
dlight2<
1000000"
dlight3<
1111111"
0001110"
process(udsig)--电梯升降显示进程
caseudsigis
udlight1<
0001100"
udlight2<
1000001"
0101011"
0100001"
endbehav;
5结论以及结果说明
调试环境:
软件:
Altera’sQuartusII
硬件:
AlteraDE2Board
参数:
clk为50MHz信号。
系统运行结果:
系统运行良好。
参考文献
[1]刘爱荣,王振成,曹瑞,卢印举,等.EDA技术与CPLD/FPGA开发应用简明教程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三层 电梯 控制器 实验 报告