




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成 绩 评 定 表学生姓名高张宝班级学号1203030133专 业电子信息工程课程设计题目三层电梯控制器 评语组长签字:成绩日期 2015年 月 日 课程设计任务书学 院信息科学与工程学院专 业电子信息工程学生姓名高张宝班级学号1203030133课程设计题目三层电梯控制器一、内容及要求:利用所学的EDA设计方法设计三层电梯控制器,熟练使用使用QUARTUS应用软件,进一步学习使用VHDL语言、原理图等EDA设计方法进行综合题目的方法。1、调试底层模块,并时序仿真。2、设计顶层模块,并时序仿真。3、撰写课程设计报告。二、功能要求:(1) 每层电梯入口处设有上下请求开关(2) 设有电梯所处位置指示装置及电梯运行模式(上升或下降)指示装置(3) 电梯到达有停站请求的楼层后,经过1S电梯门打开,开门指示灯亮,开门4S后,电梯门关闭(开门指示灯灭),电梯继续运行,并能响应提前关门延时关门.(4)能记忆电梯内外的所有请求信号,并按照电梯运行规则次序响应,每个请求信号保留至执行后消除。 (5)电梯初始状态为一层开门.(6)具有超载报警和故障报警的功能.三、进度安排:课程设计时间为10天(2周)1、调研、查资料1天。2、总体方案设计2天。3、代码设计与调试5天。4、撰写报告1天。5、验收1天。指导教师: 2015年 月 日专业负责人:2015年 月 日学院教学副院长:2015年 月 日目 录1 概述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功能强大,一台计算机、一套EDA软件和一片或几片大规模可编程芯片(CPLD/FPGA或ispPAC),就能完成电子系统的设计。EDA技术涉及面广,内容丰富,但在教学和技术推广层面上,应用较为广泛的是基于可编程器件的EDA技术,它主要包括如下四大要素:1大规模可编程器件,它是利用EDA技术进行电子系统设计的载体;2硬件描述语言,它是利用EDA技术进行电子系统设计的主要手段;3软件开发工具,它是利用EDA技术进行电子系统的智能化的自动化设计工具;4实验开发系统,它是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。电梯行业也随着科技的发展,不断地出现在人们生活的各个场所,因此,对电梯控制器的设计是一个很实用的例子,对我们掌握EDA技术的应用也有很大的帮助。1.2设计任务设计一个三层电梯的控制器。要求:(1)每层电梯入口处设有上下请求开关。(2)设有电梯所处位置指示装置及电梯运行模式(上升或下降)指示装置。(3)电梯到达有停站请求的楼层后,经过1S电梯门打开,开门指示灯亮,开门4S后,电梯门关闭(开门指示灯灭),电梯继续运行,并能响应提前关门延时关门。(4)能记忆电梯内外的所有请求信号,并按照电梯运行规则次序响应,每个请求信号保留至执行后消除。(5)电梯初始状态为一层开门。(6)具有超载报警和故障报警的功能.1.3设计要求(1)根据设计题目要求编写相应程序代码(2)对编写的VHDL程序代码进行编译和仿真(3)利用实验箱完成硬件验证(4)总结设计内容,完成课程设计说明书2总体设计思路及原理描述2.1总体设计思路实验模拟生活中电梯运动控制,电梯总共三层,最简单的控制思想如下:(1)采集用户呼叫楼层,并放入相应的记忆单元中。(2)不考虑电梯轿厢所在楼层。若有用户呼叫,电梯上行直到达到用户呼叫最大层,再下行直到到达最低层,由此构成一次行程。(3)每完成一次行程,检测是否所用用户呼叫均已响应完毕。如果没有,电梯继续运行,直到响应完所有用户呼叫。否则,电梯停止运行。其中用户请求包括外部请求和内部请求。有外部升降请求信号需点亮相应的外部请求指示灯,内部升降请求信号同外呼。(4)根据电梯所在楼层,七段数码管显示楼层数。(5)根据用户运行方向,点亮相应升降指示灯。(6)当电梯运行到有相应外部呼叫或内部呼叫楼层时,电梯停止运行,灭掉相应的呼叫显示灯,电梯开关门后,继续运行。N到达第三层(开门、关门)开始到达第一层(开门、关门)到达第二层(开门、关门)YN上楼请求?第二层请求?下楼请求?上楼请求?第二层请求?下楼请求?控制器程序框图2.2设计原理电梯控制可以通过多种方法进行设计,其中采用状态机来实现,思路比较清晰。可以将电梯等待的每秒钟以及开门,关门都看成一个独立的状态。由于电梯又是每秒上升或下降一层,所以就可以通过一个统一的一秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以把状态机设置10个状态,分别是“电梯停留在1层”,“开门”,“关门”,“开门等待第一秒”,“开门等待第二秒”,“开门等待第三秒”,“开门等待第四秒”,“上升”,“下降”和“停止”状态。各个状态之间的转换条件可以由上面的设计要求所决定。电梯运行规则:当电梯处在上升模式时,只响应比电梯所在位置高的上楼请求,由下向上逐个执行,直到最后一个上楼请求执行完毕。如果高层有下楼请求,直接升到有下楼请求的最高楼层,然后进入下降模式。当电梯在一楼时,不管是梯内梯外,电梯都只可能接收到上升的请求信号。此时,电梯就进入预上升状态,准备作上升运行。如果电梯没有接收到请求信号,电梯则在一楼待机。当电梯在二楼时,电梯则可能出现三种情况:电梯并没有接收到梯内梯外的任何请求信号时,电梯停在二楼待机;电梯接收到上升请求信号,进入预上升状态;电梯接收到下降请求信号,进入预下降状态。当电梯在三楼时,不管是梯内梯外,电梯都只可能接收到下降的请求信号。此时,电梯就进入预下降状态,准备作下降运行。如果电梯没有接收到请求信号,电梯则停在二楼待机。整体方框图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 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 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(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);ELSIF (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 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;clrrun=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;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 state=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(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循环左移 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; END 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(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电梯上升仿真当电梯外部有上升请求时,波形图如图所示:4.2电梯下降仿真当电梯外部有下降请求时,波形图如图所示4.3 运行结果分析电梯初始状态为一层,处在关门状态,开门指示灯不亮。一层电梯入口处设有上楼请求开关,二层电梯入口设有上、下楼请求开关,三层电梯入口处设有下楼请求开关,电梯内部设有乘客到达楼层的停站请求开关。当一楼有请求上楼时,等待一秒开门,四秒后关门执行所选楼层请求。电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中介绍孔子的课件
- 高三复课防疫知识培训课件
- 高一物理时间轴课件
- 离婚合同财产分割补充:子女抚养费及监护权调整
- 离婚协议书范本:财产分配及子女抚养权明确协议
- 离婚后房产共有权益及管理责任补充协议
- 离婚财产分割协议书:房产、车辆、存款等明细划分
- 广告物料设计代理执行合同
- 骨髓细胞检查课件
- 构建职业教育与产业对接机制的方案
- 血压监测技术课件教学
- 超声在肾结石中的诊断
- 肺恶性肿瘤死亡病例讨论
- 胸痛中心优化救治流程对急性STEMI患者救治效率及临床预后的影响
- JJG 667-2025 液体容积式流量计检定规程
- 基层应急管理培训课件
- DB61-T 5061-2023 民用建筑有线电视系统工程技术规程
- 胖东来店长培训课件
- 老年急危重症容量管理急诊专家共识解读 2
- 2025年4月自考00841第二外语(法语)试题
- 《医院感染监测与控制》课程教学大纲(本科)
评论
0/150
提交评论