电梯课设Word文档格式.docx
《电梯课设Word文档格式.docx》由会员分享,可在线阅读,更多相关《电梯课设Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
3monolithicintegratedcircuitcontrols;
4singlemicrocomputercontrols;
Morethan5microcomputercontrols;
6artificialintelligencecontrols.
AlongwiththeEDAtechnologyfastdevelopment,CPLD/FPGAhaswidelyappliedintheelectronicdesignandcontroleachaspect.ThisdesignwasandhascarriedontheelectriccircuitsynthesisandthesimulationbasedontheVHDLlanguagedesignfourelevatorcontroller.Thiscontrollerdeferencedirectionfirstprinciple,andprovides4floorsmultiusertocarrypassengerstoserveandtoinstructtheelevatorthemovementsituation.Notonlythisdesignmethodsimplifiedthecircuitdesign,enhancedthecontrolleranti-jamming,moreoverreducedthepowerloss,hasthebroadprospectsfordevelopment.
KeywordVHDL,controller,elevator
1引言
1.1EDA发展过程
近30年来,EDA技术大致经历了三个发展阶段:
CAD阶段、CAE阶段、EDA阶段。
电子线路的CAD(计算机辅助设计)是EDA发展的初级阶段,是高级EDA系统的重要组成部分。
它利用计算机的图形编辑、分析和存储等能力,协助工程师设计电子系统的电路图、印制电路板和集成电路板图;
采用二维图形编辑与分析,主要解决电子线路设计后期的大量重复性工作,可以减少设计人员的繁琐重复劳动,但自动化程度低,需要人工干预整个设计过程。
这类专用软件大多以微机为工作平台,易于学用,设计中小规模电子系统可靠有效,现仍有很多这类专用软件被广泛应用于工程设计。
80年代初期,EDA技术开始技术设计过程的分析,推出了以仿真(逻辑模拟、定时分析和故障仿真)和自动布局与布线为核心的EDA产品,这一阶段的EDA已把三维图形技术、窗口技术、计算机操作系统、网络数据交换、数据库与进程管理等一系列计算机学科的最新成果引入电子设计,形成了CAE—计算机辅助工程。
也就是所谓的EDA技术中级阶段。
其主要特征是具备了自动布局布线和电路的计算机仿真、分析和验证功能。
其作用已不仅仅是辅助设计,而且可以代替人进行某种思维。
CAE这种以原理图为基础的EDA系统,虽然直观,且易于理解,但对复杂的电子设计很难达到要求,也不宜于设计的优化。
20世纪90年代以后,出现了以高级语言描述、系统仿真和中和技术为特征的第三代EDA技术,他不仅极大地提高了系统设计的效率,而且使设计者摆脱了大量的辅助性工作,将精力集中于创造性方案与概念的构思上在这个阶段EDA技术主要有如下特征:
高层次、采用硬件描述语言、采用平面规划、可测性综合设计为带有嵌入式uP核的ASIC设计提供软、硬件协同设计工具等。
现代硬件设计运用EDA(ElectronicDesignAutomation)技术采用并行工程和“自顶向下”的设计方法,从系统设计人手,在顶层进行层次划分和结构设计,在功能模块一级进行仿真、纠错,并用VHDL等硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证,最后用逻辑综合优化工具生成门级逻辑电路的网表,其对应的物理实现可以是印刷电路板或专用集成电路。
1.2本课程设计的基本要求
本设计完成4层楼电梯控制器,该控制器满足以下要求:
每层电梯入口设有上下请求开关,电梯内设有乘客到达层次的停站请求开关。
设有电梯所处位置指示装置及电梯运行模式(上升或下降)指示装置。
电梯每秒升(降)一层楼。
电梯到达有停站请求的楼层后,经1秒电梯门打开,开门指示灯亮,开门5秒钟后,电梯门关闭(开门指示灯灭),电梯继续运行,直至执行完最后一个请求信号后停在当前层。
电梯运行规则:
当电梯处在上升模式时,只响应比电梯所处在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕,如更高层有下楼请求,则直接升到有下楼请求的最高层接客,然后便进入下降模式。
当电梯处于下降模式时则与上升模式相反。
电梯初始状态是1层。
到达各层有音乐提示。
1.3VHDL概述
VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage)即超高速集成电路硬件描述语言,主要用于描述数字系统的行为、结构、功能和接口。
VHDL起源于1983年,1986年美国电气和电子工程师协会(IEEE)开始工作,讨论VHDL标准。
1987年12月IEEE接受VHDL为标准HDL,这就是IEEEStd1076—1987(LRM87)。
1993年IEEE对VHDL重新进行修订,增加了一些功能,公布了新版本的标准版本IEEEStd1076—1993(LRM93)。
VHDL特点:
1与其他的硬件描述语言相比,VHDL描述能力更强。
2VHDL技术完备,具有丰富的仿真语句和库函数。
3VHDL设计方法灵活,对设计的描述具有相对对立性。
4VHDL支持广泛,目前大多数EDA工具几乎都在不同程度上支持VHDL。
本文采用VHDL语言来设计实用电梯控制器,其代码具有良好的可读性和易理解性。
本设计是采用Altera公司的MAX+plusⅡ进行设计和仿真的。
通过此次课程设计使我们VHDL设计数字系统的初步能力,熟悉开发环境和流程,掌握技术方法。
1.4MLAB-CPLD/FPGA-5实验开发系统原理及功能概要
1.4.1功能概述
MLAB-CPLD/FPGA-5系统集成了通用JTAG-ISP编程下载电缆,可在不更换下载电缆的情况下对Lattice/Vantis、Altera、Atmel、Xilinx等厂家的各种isp器件或可现场编程的CPLD/FPGA系列器件进行实验或科研开发;
系统主板与目标器件(FPGA/CPLD)通过接插件方便连接;
主板采用专用大规模集成芯片管理;
采用方便用户的数字分频技术,使系统资源毫无保留的送给用户;
另外本系统目标芯片自成系统,可满足科研需要;
整机系统不仅适用于一般高等院校的学生实验,更适用于高层次的实验和开发及大规模ASIC设计等。
MLAB-CPLD/FPGA-5系统采用了专用集成电路作为智能化管理的核心,从而使目标IC的I/O口可任意设定和控制,从而使系统I/O资源利用率大大增加。
MLAB-CPLD/FPGA-5系统扩展了A/D,D/A,VGA接口,PS/2接口,RS232,接口,单片机接口,智能多用键盘接口,数码管显示接口,点阵LED,接口LCD,接口以及语音输出接口等,根据用户需求还可以集成USB接口,从而可适用不同用户的需求,针对不同的目标系统,完成多种实验。
独立的目标系统板适用于学生参加各种竞赛和毕业设计的需要,同时也为科研开发人员设计开发产品提供了方便。
1.4.1MAX+PLUSII平台
FPGA的开发工具种类繁多,如ActiveVHDL提供了非常友好的图形界面,也便于进行逻辑仿真,但其逻辑综合与布线能力较弱,只能进行一般的设计。
还有许多第三方EDA工具生产商提供的许多专业的综合工具,如Synopsys公司的FPGAExpressh;
Synplisity公司的Synpilfy等。
另外,许多生产FPGA的厂商也推出了针对于自己芯片的开发工具,如Altera公司的MAX+plus和Quartus;
Xilinx公司的Foundation等。
目前,在FPGA芯片制造业中,Altera公司所占的市场分额较大。
该公司针对其芯片应用推出了两套开发工具软件MAX+plus和Qualtus,是目前应用较为广泛的两套CPLD/FPGA开发工具。
1.4MAX+PLUSII简介
理想的可编程逻辑器件开发环境应该满足多方面的设计需求。
首先,它应该支持不同体系结构的芯片系列,可以应用于不同的硬件平台,拥有便于使用的人机界面;
其次,开发环境应向设计者提供使用不同输入方式的自由以及选择不同应用工具的自由。
勿用置疑,Altera公司的MAX+plus可编程逻辑开发系统能够满足这些要求。
Altera公司的MAX+plus可编程逻辑开发软件,提供了一种与结构无关的全集成化设计环境,使设计者能方便地对Altera公司的PLD系列产品进行设计输入、快速处理和器件编程。
MAX+plusII开发系统的处理能力强且灵活性高它的优点主要表现在以下几个方面:
●开放的接口。
●与结构无关。
●多平台。
●硬件描述语言(HDL)。
●全集成化。
●丰富的设计库。
2系统设计
2.1课程设计的基本方案
该设计采用方向优先控制方式方案:
电梯初始化时电梯在一楼,层方向优先控制是指电梯运行到某一楼层时先考虑这一楼层是否有请求:
有,则停止;
无,则继续前进。
停下来后再启动时的步骤:
考虑前方——上方或下方是否有请求:
有,则继续前进;
无,则停止;
检测后方是否有请求,有请求则转向运行,无请求则维持停止状态。
这种运作方式下,电梯对用户的请求响应率为100%,且响应的时间较短。
2.2本设计的基本原理描述
本设计采用信号存储的方式将电梯请求储存到状态存储器内,电梯控制系统根据设计的优先级响应电梯的请求来控制并输出相应的状态从而实现电梯的电梯控制器的EDA设计。
其基本结构原理如图2.1主要包括电梯控制、楼层选择、信号及状态存储、信号输出模块。
电梯工作过程中共有9种状态:
等待、上升、下降、开门、关门、停止、休眠、超载报警以及故障报警状态。
电梯工作起始点是第一层,起始状态是等待状态,启动条件是收到上升请求。
超载状态时电梯关门动作取消,同时发出报警,直到警报被清除;
故障时电梯不执行关门动作,同时发出警报,直到警报被清除。
图2.1电梯控制器系统组成框图
2.3模块设计模块介绍
2.3.1信号及状态存储模块
电梯控制器的请求输入信号有12个(电梯外有4个上升请求和4个下降请求的用户输入端口,电梯内有4个请求用户输入端口),由于系统对内、外请求没有设置优先级,各楼层的内、外请求信号被采集后可先进行运算,再存到存储器内。
电梯运行过程中,由于用户的请求信号的输入是离散的,而且系统对请求的响应也是离散的,因此请求信号的存储要求新的请求信号不能覆盖原来的请求信号,只有响应动作完成后才能清除存储器内对应的请求信号位。
2.3.2电梯控制处理器模块:
中央数据处理模块是系统的核心,通过对存储的数据(含请求、到达等信号)进行比较和判断以驱动系统状态的流转。
本系统由请求信号启动,运行中每检测到一个到达楼层信号,就将信号存储器的请求信号和楼层状态信号进行比较,再参考原方向信号来决定是否停止,转向等动作。
2.3.3楼层选择模块
楼层选择要求对外部请求信号的实时、准确采集;
并准确、实时的捕捉楼层到达信号;
有效的防止楼层到达信号、外部请求信号的误判。
但由本次设计时间有限所以没有进行外部硬件的设计。
在软件仿真过程外部请求信号由软件模拟输入
2.3.4信号输出模块
系统的输出信号有两种:
一种是电机的升降控制信号(两位)和开门/关门控制信号;
另一种是面向用户的提示信号(含楼层显示、方向显示、已接受请求显示等)。
电机的控制信号一般需要两位,本系统中电机有三种工作状态:
正转、反转和停转状态。
两位控制信号作为一个三路开关选通信号,此三路开关选用模拟电子开关。
系统的显示输出包括数码管楼层显示、数码管请求信号显示和表征运动方向的箭头形指示灯的开关信号。
系统具有请求信号显示功能,结合方向显示,可以减少用户对同一请求的输入次数,这样就延长了电梯按键的使用寿命。
乘客在电梯中选择所要到达的楼层,通过控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在的楼层数通过译码器译码从而显示电梯的运行状态和电梯所在的楼层数。
2.3.5显示模块:
系统的输出显示信号有两种:
一种是升降控制信号和开门/关门控制信号;
另一种是面向用户的提示信号,包括楼层显示、方向显示和请求信号显示等。
3电梯的程序设计及仿真
3.1VHDL语言设计简介
VHDL基本结构:
一个完整的VHDL程序包含实体(ENTITY)、结构体(ARCHITECTURE)、库(LIBRARY)、程序包(PACKAGE)和配置(CONFIGURATION)。
图3.1VHDL程序基本结构示意图
在本次设计中主要通过VHDL语言的if语句来实现的。
If…then语句不仅能实现条件分支处理,而且条件判断上有优先级,因此特别设和处理含有优先级的电路描述if语句是VHDL设计中最重要和最常用的语句,以下对if语句的语法表达方式作一个概述。
if语句作为一种条件语句,它根据语句中所设置的一种或多种条件,有选择地执行制定的顺序语句。
if语句的语句结构如下:
(1)if条件句then
顺序语句
endif;
(2)if条件语句then
顺序语句
else
(3)if条件语句then
if条件句then
...
endif;
endif;
(4)if条件句then
顺序句
elseif条件句then
else
3.2电梯源程序设计
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
useieee.std_logic_arith.all;
entityliftis
port(clk:
instd_logic;
--时钟信号(频率为2Hz)
full,deng,quick,clr:
--超载、关门中断、提前关门清除报警信号
c_u1,c_u2,c_u3:
--电梯外人的上升请求信号
c_d2,c_d3,c_d4:
--电梯外人的下降请求信号
in1,in2,in3,in4:
--电梯内人的请求信号
get1,get2,get3,get4:
--到达楼层信号
door:
outstd_logic_vector(1downto0);
--电梯门控制信号
led:
outstd_logic_vector(6downto0);
--电梯所在楼层显示
led_c_u:
outstd_logic_vector(3downto0);
--电梯外人上升请求信号显示
led_c_d:
--电梯外人下降请求信号显示
led_d:
outstd_logic_vector(3downto0);
--电梯内请求信号显示
wahaha:
outstd_logic;
--看门狗报警信号
ud,alarm:
--电梯运动方向显示,超载警告信号
up,down:
outstd_logic);
--电机控制信号和电梯运动
endlift;
architecturebehavofliftis
signalin11,in22,in33,in44:
std_logic;
--电梯内人请求信号寄存信号
signalc_u11,c_u22,c_u33:
--电梯外人上升请求信号寄存信号
signalc_d22,c_d33,c_d44:
--电梯外人下降请求信号寄存信号
signalq:
integerrange0to1;
--分频信号
signalq1:
integerrange0to6;
--关门延时计数器
signalq2:
integerrange0to9;
--看门狗计数器
signaldd,cc_u,cc_d,dd_cc:
std_logic_vector(3downto0);
--电梯内外请求信号寄存器
signalopendoor:
--开门使能信号
signalupdown:
--电梯运动方向信号寄存器
signalen_up,en_dw:
--预备上升、预备下降预操作使能信号
begin
com:
process(clk)
ifclk'
eventandclk='
1'
then
ifclr='
thenq1<
=0;
q2<
wahaha<
='
0'
;
--清除故障报警
elsiffull='
thenalarm<
q1<
--超载报警
ifq1>
=3thendoor<
="
10"
elsedoor<
00"
elsifq=1thenq<
alarm<
ifq2=3thenwahaha<
--故障报警
else
ifopendoor='
thendoor<
q1<
up<
down<
--开门操作
elsifen_up='
then--上升预操作
ifdeng='
=q2+1;
--关门中断
elsifquick='
=3;
--提前关门
elsifq1=6thendoor<
updown<
--关门完毕,电梯进入上升状态
elsifq1>
01"
=q1+1;
--电梯进入关门状态
elseq1<
door<
--电梯进入等待状态
elsifen_dw='
then--下降预操作
ifget1='
thenled<
1001111"
--电梯到达1楼,数码管显示1
ifin11='
orc_u11='
thenin11<
c_u11<
opendoor<
--有当前层的请求,则电梯进入开门状态
elsifdd_cc>
"
0001"
thenen_up<
opendoor<
--有上升请求,则电梯进入预备上升状态
elsifdd_cc="
0000"
thenopendoor<
--无请求时,电梯停在1楼待机
elsifget2='