三层电梯控制器.docx

上传人:PIYPING 文档编号:11223913 上传时间:2021-07-15 格式:DOCX 页数:16 大小:156.75KB
返回 下载 相关 举报
三层电梯控制器.docx_第1页
第1页 / 共16页
三层电梯控制器.docx_第2页
第2页 / 共16页
三层电梯控制器.docx_第3页
第3页 / 共16页
三层电梯控制器.docx_第4页
第4页 / 共16页
三层电梯控制器.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《三层电梯控制器.docx》由会员分享,可在线阅读,更多相关《三层电梯控制器.docx(16页珍藏版)》请在三一文库上搜索。

1、成 绩 评 定 表学生姓名高张宝班级学号1203030133专 业电子信息工程课程设计题目三层电梯控制器 评语组长签字:成绩日期 2015年 月 日 课程设计任务书学 院信息科学与工程学院专 业电子信息工程学生姓名高张宝班级学号1203030133课程设计题目三层电梯控制器一、内容及要求:利用所学的EDA设计方法设计三层电梯控制器,熟练使用使用QUARTUS应用软件,进一步学习使用VHDL语言、原理图等EDA设计方法进行综合题目的方法。1、调试底层模块,并时序仿真。2、设计顶层模块,并时序仿真。3、撰写课程设计报告。二、功能要求:(1) 每层电梯入口处设有上下请求开关(2) 设有电梯所处位置指

2、示装置及电梯运行模式(上升或下降)指示装置(3) 电梯到达有停站请求的楼层后,经过1S电梯门打开,开门指示灯亮,开门4S后,电梯门关闭(开门指示灯灭),电梯继续运行,并能响应提前关门延时关门.(4)能记忆电梯内外的所有请求信号,并按照电梯运行规则次序响应,每个请求信号保留至执行后消除。 (5)电梯初始状态为一层开门.(6)具有超载报警和故障报警的功能.三、进度安排:课程设计时间为10天(2周)1、调研、查资料1天。2、总体方案设计2天。3、代码设计与调试5天。4、撰写报告1天。5、验收1天。指导教师: 2015年 月 日专业负责人:2015年 月 日学院教学副院长:2015年 月 日目 录1

3、概述1 1.1 设计背景和意义1 1.2 设计任务1 1.3 设计要求22 总体设计思路及原理描述32.1 总体设计思路32.2 原理描述43 软件代码设计54 仿真及测试104.1 电梯上升仿真104.2 电梯下降仿真104.3 运行结果分析115 总结126 参考文献131概述1.1设计背景及意义随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。随着技术市场与人才市场对EDA的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。因此学好EDA技术对我们有很大的益处。EDA功能强大,一台计算机、一套ED

4、A软件和一片或几片大规模可编程芯片(CPLD/FPGA或ispPAC),就能完成电子系统的设计。EDA技术涉及面广,内容丰富,但在教学和技术推广层面上,应用较为广泛的是基于可编程器件的EDA技术,它主要包括如下四大要素:1大规模可编程器件,它是利用EDA技术进行电子系统设计的载体;2硬件描述语言,它是利用EDA技术进行电子系统设计的主要手段;3软件开发工具,它是利用EDA技术进行电子系统的智能化的自动化设计工具;4实验开发系统,它是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。电梯行业也随着科技的发展,不断地出现在人们生活的各个场所,因此,对电梯控制器的设计是一个很实用的例子,对我们

5、掌握EDA技术的应用也有很大的帮助。1.2设计任务设计一个三层电梯的控制器。要求:(1)每层电梯入口处设有上下请求开关。(2)设有电梯所处位置指示装置及电梯运行模式(上升或下降)指示装置。(3)电梯到达有停站请求的楼层后,经过1S电梯门打开,开门指示灯亮,开门4S后,电梯门关闭(开门指示灯灭),电梯继续运行,并能响应提前关门延时关门。(4)能记忆电梯内外的所有请求信号,并按照电梯运行规则次序响应,每个请求信号保留至执行后消除。(5)电梯初始状态为一层开门。(6)具有超载报警和故障报警的功能.1.3设计要求(1)根据设计题目要求编写相应程序代码(2)对编写的VHDL程序代码进行编译和仿真(3)利

6、用实验箱完成硬件验证(4)总结设计内容,完成课程设计说明书2总体设计思路及原理描述2.1总体设计思路实验模拟生活中电梯运动控制,电梯总共三层,最简单的控制思想如下:(1)采集用户呼叫楼层,并放入相应的记忆单元中。(2)不考虑电梯轿厢所在楼层。若有用户呼叫,电梯上行直到达到用户呼叫最大层,再下行直到到达最低层,由此构成一次行程。(3)每完成一次行程,检测是否所用用户呼叫均已响应完毕。如果没有,电梯继续运行,直到响应完所有用户呼叫。否则,电梯停止运行。其中用户请求包括外部请求和内部请求。有外部升降请求信号需点亮相应的外部请求指示灯,内部升降请求信号同外呼。(4)根据电梯所在楼层,七段数码管显示楼层

7、数。(5)根据用户运行方向,点亮相应升降指示灯。(6)当电梯运行到有相应外部呼叫或内部呼叫楼层时,电梯停止运行,灭掉相应的呼叫显示灯,电梯开关门后,继续运行。N到达第三层(开门、关门)开始到达第一层(开门、关门)到达第二层(开门、关门)YN上楼请求?第二层请求?下楼请求?上楼请求?第二层请求?下楼请求?控制器程序框图2.2设计原理电梯控制可以通过多种方法进行设计,其中采用状态机来实现,思路比较清晰。可以将电梯等待的每秒钟以及开门,关门都看成一个独立的状态。由于电梯又是每秒上升或下降一层,所以就可以通过一个统一的一秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以把状态机设置10个状态,分

8、别是“电梯停留在1层”,“开门”,“关门”,“开门等待第一秒”,“开门等待第二秒”,“开门等待第三秒”,“开门等待第四秒”,“上升”,“下降”和“停止”状态。各个状态之间的转换条件可以由上面的设计要求所决定。电梯运行规则:当电梯处在上升模式时,只响应比电梯所在位置高的上楼请求,由下向上逐个执行,直到最后一个上楼请求执行完毕。如果高层有下楼请求,直接升到有下楼请求的最高楼层,然后进入下降模式。当电梯在一楼时,不管是梯内梯外,电梯都只可能接收到上升的请求信号。此时,电梯就进入预上升状态,准备作上升运行。如果电梯没有接收到请求信号,电梯则在一楼待机。当电梯在二楼时,电梯则可能出现三种情况:电梯并没有

9、接收到梯内梯外的任何请求信号时,电梯停在二楼待机;电梯接收到上升请求信号,进入预上升状态;电梯接收到下降请求信号,进入预下降状态。当电梯在三楼时,不管是梯内梯外,电梯都只可能接收到下降的请求信号。此时,电梯就进入预下降状态,准备作下降运行。如果电梯没有接收到请求信号,电梯则停在二楼待机。整体方框图3软件代码设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY dianti IS-程序实体定义 PORT(clk,swich :IN

10、 STD_LOGIC;sel,uplift,downlift:IN STD_LOGIC_VECTOR(3 DOWNTO 1);opendoor,up_s,do_s,pa_s :OUT STD_LOGIC;dis:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END dianti;ARCHITECTURE behave OF dianti IS-结构体定义SIGNAL clk1hz,clk4hz: STD_LOGIC;SIGNAL ur,dr,openonce: STD_LOGIC;SIGNAL clropen,clrrun,en,enrun: STD_LOGIC;TYPE

11、statetype IS (pause,up,down);SIGNAL state: statetype;SIGNAL opentime,runtime,urr,drr: STD_LOGIC_VECTOR(3 DOWNTO 1);SIGNAL position,seld,upd,downd: STD_LOGIC_VECTOR(3 DOWNTO 1);BEGIN U0: PROCESS(clk)-分频进程 VARIABLE q: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF clkevent AND clk=1 THENq:=q+1;END IF;clk4hz=q

12、(1);-产生4HZ脉冲clk1hz=q(3);-产生1HZ脉冲 END PROCESS; U1: PROCESS(swich,clk,uplift,downlift) -将上升、下降请求记录BEGINIF rising_edge(clk) THENIF state=pause THENdrr=drr AND NOT(position);urruplift) THENdrrdownlift) THENdrr=(drr OR downlift);ELSIF (uplift/=upd AND dr/=1 AND positionuplift) THENurr=(urr OR uplift);ELS

13、IF (downlift/=downd AND dr/=1 AND positiondownlift) THENurr=(urr OR downlift);ELSIF (sel/=seld) THENIF (selposition AND ur/=1) THENdrrposition AND dr/=1) THENurr=(urr OR sel);END IF;END IF;ELSIF (state=up) THEN IF (uplift/=upd AND dr/=1 AND positionuplift) THENurr=(urr OR uplift);ELSIF sel/=seld AND

14、 dr/=1 AND positionsel THEN urrdownlift) THENdrrsel THEN drr=(drr OR sel);END IF;END IF;END IF; END PROCESS;ur =1 WHEN urr /=000 ELSE 0;dr =1 WHEN drr /=000 ELSE 0; U2: PROCESS(swich,clk)-暂停、上升、下降三个状态之间转换 BEGINIF swich=0 THEN -开关关闭时,处于暂停状态state=pause; up_s=0;do_s=0;pa_s=1;openonce=1;opendoor=0;clrru

15、n=1;enrun=0;clropen=1;enIF runtime=100 THEN clrrun=1;enrun=0; IF position=(urr AND position) THENstate=pause;up_s=0;do_s=0;pa_s=1;clropen=0;en=1; END IF; ELSE clrrun=0;enrun=1;up_s=1;do_s=0;pa_sIF runtime=100 THEN clrrun=1;enrun=0; IF position=(drr AND position) THEN state=pause;up_s=0;do_s=0;pa_s=1

16、;clropen=0;en=1; END IF; ELSE clrrun=0;enrun=1;up_s=0;do_s=1;pa_sIF (opentime=010 AND openonce=0) OR (uplift/=upd AND position=uplift) OR (downlift/=downd AND position=downlift) THEN opendoor=1;clropen=0;en=1;openonce=0; END IF; IF(opentime=101 OR (openonce=1 AND (ur=1 OR dr=1) THEN IF ur=1THEN stat

17、e=up; opendoor=0;up_s=1; en=0;do_s=0; clropen=1;pa_s=0; openonce=0; ELSIF(dr=1) THEN state=down; opendoor=0;up_s=0; en=0;do_s=1; clropen=1;pa_s=0; openonce=0; ELSE state=pause; opendoor=0;pa_s=1; en=0;do_s=0; clropen=1;up_s=0; openonce=1; END IF; END IF; END CASE; END IF; END PROCESS U2; U3: PROCESS

18、(clk)-将按键请求记录、防抖电路 BEGIN IF CLKEVENT AND CLK=1 THENdownd=downlift;upd=uplift;seld=sel;END IF; END PROCESS; U4: PROCESS(clk4hz,swich) BEGIN IF swich=0 THEN position=001 ;-开关没开时,电梯停在第一层 ELSIF RISING_EDGE(CLK4HZ) THENIF runtime=011 THEN IF state=up THEN position=position(2 downto 1)&0;-电梯处于上升时position循

19、环左移 ELSIF state=down THEN position=0&position(3 downto 2); END IF;-电梯处于下降时position循环右移END IF; END IF; END PROCESS; U5: PROCESS(clk1hz,clropen)-用于控制开门时间计时的进程 BEGIN IF clropen=1 THEN opentime=000; ELSIF RISING_EDGE(CLK1HZ) THENIF en=1 THEN IF opentime=101 THEN opentime=101; ELSE opentime=opentime+1; E

20、ND IF;END IF;END IF; END PROCESS; U6: PROCESS(CLK4HZ,clrrun) -用于控制运行时间的进程BEGIN IF clrrun=1 THEN runtime=000; ELSIF RISING_EDGE(CLK4HZ) THEN IF enrun=1 THENIF runtime=100 THEN runtime=runtime;ELSE runtime=runtime+1;END IF;END IF; END IF;END PROCESS;U7: PROCESS(clk)-将电梯所处楼层显示在数码管上BEGIN IF RISING_EDGE(

21、CLK) THEN IF position=001 THEN dis=0001; ELSIF position=010 THEN dis=0010; ELSIF position=100 THEN dis=0011; ELSE dis=0000; END IF; END IF;END PROCESS; END behave;4仿真及测试Altera公司的Quartu ii是一个全面的、易于使用且具有独立解决问题能力的软件,可以完成设计流程中的输入、综合、布局布线、时序分析、仿真和编程下载等功能。与第三代设计工具MAX+plus ii相比,其功能更加完善,特别适合大规模逻辑电路的设计。4.1电梯

22、上升仿真当电梯外部有上升请求时,波形图如图所示:4.2电梯下降仿真当电梯外部有下降请求时,波形图如图所示4.3 运行结果分析电梯初始状态为一层,处在关门状态,开门指示灯不亮。一层电梯入口处设有上楼请求开关,二层电梯入口设有上、下楼请求开关,三层电梯入口处设有下楼请求开关,电梯内部设有乘客到达楼层的停站请求开关。当一楼有请求上楼时,等待一秒开门,四秒后关门执行所选楼层请求。电梯到达有停站请求的楼层后,电梯门打开,开门指示灯亮,数码管显示所在楼层,暂停状态灯亮。开门4秒后,电梯门关闭,开门指示灯灭,暂停状态灯灭。电梯继续运行,直至执行完最后一个请求信号后停在当前层。若起初高层有请求,电梯则直接到达

23、有请求的楼层,开门等待下一个请求。电梯控制系统能记忆电梯内外的请求信号,并按照电梯运行规则工作,每个请求信号执行完毕后随即清除。5总结在这一周的设计过程中,除找资料外,大多时间都是在电脑上进行的,通过反复的编译,仿真,不断试验来实现所得结果。在设计上,运用了EDA自上而下的设计思想,逐步完善所设计功能,同时,用到VHDL语言中的状态机,多进程,CASE、IF.ELSE 等语句,才达到以上结果。在设计中也遇到许多困难,在自己及同学的共同努力下才完成此设计。因此这次课设给我带来的收获主要有: 进一步熟悉maxplus II软件的使用和操作方法,以及硬件实现时的下载方法与运行方法;对vhdl语言的自

24、顶向下设计方法有了进一步的认识,对其中的许多语句也有了新了解,掌握;对自己独立思考和解决问题的能力也有了很大的锻炼,同时同学间的互帮互助精神也是在课程设计中很好体现的;不足之处也有以下几点:在设计中,发现错误,自己纠错能力还是很欠缺,未能很好的找出,还是在老师及同学帮助下才完成;另外,对于自己想改进的地方,都能很好的指出,当要真正的去把其他改进的功能加上去,自己还是有所欠缺。6参考文献EDA技术与数字系统设计 邹彦 电子工业出版社EDA技术实用教程 潘松,黄继业 科学出版社VHDL与数字电路设计 卢杰 科学出版社VHDL硬件描述语言 Bhasker著 机械工业出版社电子技术课程设计指导 彭介华 东南大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1