基于FPGA10层电梯控制器的设计Word文档格式.docx
- 文档编号:21308366
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:29
- 大小:2.72MB
基于FPGA10层电梯控制器的设计Word文档格式.docx
《基于FPGA10层电梯控制器的设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于FPGA10层电梯控制器的设计Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
随着社会不断的进步,电梯已经朝着快捷,节能的方向发展。
在电梯控制方面,FPGA拥有了他独特的优势,他打破了硬件和软件之间的壁垒,在本设计当中采用的是VHDL描述语言进行设计,运用有限状态机的设计方法,设计了两个进程相互配合,状态机进程作为主要进程,信号灯控制进程作为辅助进程。
在本论文中是基于VHDL语言上的十层电梯控制。
以QuartusⅡ软件为开发环境,最终实现十层电梯控制。
功能包括:
显示电梯所在楼层、电梯当前运行方向、对各个楼层按键的响应。
关键字:
电梯控制器,VHDL,状态机
BaseonFPGAAutomaticElevatorControlSystem
ABSTRACT
High-risebuildingsasameansoftransport,elevator,isanindispensableequipment.IntheChineseelevatordemandalsoisenormous,butthedomesticcomparedtodevelopedcountries,independentinnovationbrandshareorless.Associetycontinuestoprogress,theelevatorhasbeentowardfast,energy-savingdirection.InearlytwentiethCenturytheelevatorhasenteredintoourdailylives,intheelevatorcontrol,beforethemainuseofrelaycontactorcontrolsystemcontrol,nowFPGAhasbeenwidelyusedinelevatorcontrol.
Intheelevatorcontrol,FPGAhashisuniqueadvantage,hebrokethebarriersbetweenhardwareandsoftware,isadoptedinthisdesignistheVHDLdescriptionlanguagefordesigning,usingthedesignmethodoffinitestatemachine,thedesignofthetwoprocessesinteractwitheachother,thestatemachineprocessasthemainprocess,signallampcontrolprocessastheworkerprocess.
TheelevatorcontroltenlayersbasedonisVHDLlanguageinthispaper.BytheQuartussoftwaredevelopmentenvironment,andultimatelytenelevatorcontrol.Featuresinclude:
showstheelevatorfloor,elevatorrunningdirection,inresponsetoeachfloorbutton.
KEYWORD:
ElevatorController,VHDLStateMachine,CPL
第1章课题概述
1.1课题设计基本背景
1.1.1国内与国外电梯发展情况
随着科学技术的发展,社会文明的进步,土地资源的也随之变得紧缺,建筑物高度的提高也成为必然的趋势,于是在日常生活当中,电梯已经是作为高层建筑中必不可少的垂直运输工具了,它也已然成为城市物质文化的一种明显的标志。
同时,电梯的使用也是原来越广泛了,已经不仅仅存在于原来的高楼大厦、高级住宿楼,普通楼层、居民楼等公共场所同样也在使用电梯,甚至于有的私人家庭也能够安装使用电梯了,并且电梯的功能也在随着需求的增加而不断的提高,也不再是机械的手动控制,它的控制方式已经变得自动化,多样化。
在电梯的控制系统上,存在多种方式,现今欧美等发达国家在电梯控制系统上主要采用的是32位的微型计算机控制系统。
闭环反馈的单微机处理控制系统或者多微机的协调处理控制系统是他们主要采用的,在电梯的传动系统上,比较普遍采用的是VVVF调速技术,即交流变压变频,这样保证了梯从低速度到高速度的转变平稳,实现高精度运行,不仅节能,而且减少了对电网的污染,增加了乘坐的舒适度。
对于电梯当中的反馈系统上,电梯位置信号的获得不仅仅是采用旋转编码器,绝对值编码器是不少的厂商厂家采用的方法,通过对曳引电机以距离的原则进行控制,实现了电梯平层的技术,是电梯在运行上效果接近理想状态。
现今,我们国家的生产的电梯产品,不仅仅在数量上得到明显提升,在质量上也有了明显的提升。
我们国家的电梯运行速度的控制方式与设计的理想运行曲线基本上跟发达国家的一样。
但是考虑到经济效益,如今国内的电梯控制系统,通常采用的是微机或可编程逻辑控制器对变频器进行多段速度的控制。
对于电梯传动系统上,新建筑新装电梯及旧建筑上电梯改造上,也大多数采用了交流变压变频(VVVF)调速电梯。
在电梯反馈系统上,主要采用的一般也是闭环速度反馈,首先利用增量编码器产生脉冲信号,它一般套在电机轴上,再将信号反馈给控制系统。
对于电梯井道内部信号的采集上,增量编码器计数方式是我们国家现今的电梯大多都采用的,用它来配合光电开关或者双稳态磁开关来判别电梯轿厢的位置。
随着电梯中交流调压调速技术的日益成熟,很多企业都有自己设计的优秀产品。
通过微机控制电梯的方式是电梯控制技术必然的方向,于是很多企业与科学研究单位相结合,相继推出了不同的微机控制的电梯新机型,在电梯控制功能方面上得到了增强,性能改善了不少,可靠性也得到了明显提升,于是,用FPGA/CPLD取代原来的控制系统的机型对单梯进行控制是非常有效的。
已经有不少企业生产商开发了电梯紧急供电、梯内防火控制、地震发生时电梯的控制、电梯功能自我检测以及语音技术等电梯新功能;
同时对电梯机械系统也采用了新结构、新材料、新技术和新工艺。
总而言之,我国电梯控制方面,虽然还不能够跟国外的技术相媲美,但鉴于我们国家电梯控制的技术的发展速度,在不久的将来必然能够赶超国外先进的技术。
1.1.2电梯在运行时的安全要求
对于电梯安全运行方面,也有一些规定来满足乘客的要求,而电梯的运行要求一般为以下几个方面:
1.电梯到达位置的确定,所在位置的显示。
在电梯外部等候人员和电梯乘坐人员都需要知道电梯所在位置,所以电梯轿厢和电梯每个楼层都需要显示电梯当前所在楼层。
2.电梯轿厢内的按钮的运行信号和电梯外部楼层按钮运行信号。
电梯内部和外部同时需要运行控制信号,只有同时控制电梯,才能达到电梯的自动控制,同时也不是可以无限制的控制,而其也需要一定的运行规则,内部乘坐人员可按下轿厢内操控盘上的选层按钮选定电梯运行的所要达到的楼层,然后将其作为内部选择信号。
当按钮被按下时,这个信号应该能够被记忆,且点亮相对应的指示灯。
电梯外部的待乘坐人员可以按响应的外部向上或向下按钮,产生相应的信号,此为外部召唤信号。
此信号同样需要记忆同时并点亮电梯外面相应的的向上或向下的显示灯,当这些信号得到响应时能够及时的自动清除。
3.电梯在自动运行时的信号响应。
电梯在自动运行时应由内部选择信号和外部召唤信号来决定电梯往哪个方向运行,在哪个楼层停靠。
4.轿厢的启动与运行的规则。
电梯轿厢在运行方向,轿厢门已关好确定之后启动运行,刚开始都有一个加速阶段,之后是稳定运行的阶段
1.1.3电梯控制发展概况
电梯的控制是相对比较复杂的控制方式,在计算机还没有诞生时,电梯主要使用的是继电器控制,基于继电器控制的电梯很难产生性能优良的电梯,目前,由于科学技术的发展,微型计算机在电梯控制上的应用日益广泛,现在已进入全微机化控制的时代。
电梯的微机化控制主要有以下几种形式:
单板机控制、PLC控制、单微机控制、单片机控制、多微机控制、人工智能控制等多种控制方式。
而且随着EDA技术的快速发展,FPGA已经广泛的应用于电子设计、自动控制、信号处理等各个方面。
FPGA/CPLD的使用为电梯的控制提供了广阔的空间,并且它己经成为电梯运行控制当中的关键技术。
1.2课题设计的提出
1.2.1FPGA/CPLD简介
CPLD(ComplexProgrammableLogicDevice)即复杂可编程逻辑器件,可编程互连矩阵单元是它的主要组成,它是以可编程逻辑宏单元围绕中心,可编程逻辑宏单元逻辑结构还是比较复杂,不仅仅具有复杂的I/O单元互连结构,可以根据用户的需要生成一定的电路构成,完成一定要求的功能。
而CPLD的内部主要采用的是长度固定的金属线与各逻辑快进行互连,故时间的可预测是所设计的逻辑电路所具有得,这样在很大程度上避免了分段式互连结构不能预测时序的缺点,到了90年代,CPLD开始迅速发展,不仅仅具有了电擦除的特性,而且还出现边缘扫描以及在线可编程(ISP,InSystemProgrammable)等比较高级的特性。
FPGA(FieldProgrammableGateArry)即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,不仅仅解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
1.2.2FPGA体系结构
FPGA采用逻辑单元阵列(LCA)新概念,内部包括可配置逻辑模块(CLB)、输入输出模块(IOB)和内部互连资源(IR)三部分组成。
1)可配置逻辑块(CLB,ConfigurableLogicBlock):
是FPGA的主要组成部分,主要是由数据选择器、触发器、逻辑函数发生器等主要组件组成。
2)输入输出模块(IOB,InputOutputBlock)提供了器件引脚和内部逻辑阵列之间的连接,主要是由输出缓冲器、输入缓冲器、输入触发器和输出触发、锁存器组成。
3)可编程互连资源(IR,InterconnectResources)能够使FPGA内部的CLB与CLB、CLB与IOB连接起来,这样就能够构成各种各样据用不同功能的复杂系统,而IR由很多的金属线段组成,这样的金属线段具有可编程的开关,能够通过自动布线达到各种电路的连接。
1.2.3硬件描述语言VHDL
VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)是一种标准的硬件描述语言,中文意思是超高速集成电路硬件描述语言;
利用VHDL进行系统行为级设计已经成为FPGA与ASIC设计的主流,使用VHDL不仅可以快速的描述和综合FPGA设计,还可以提供一下的一些性能。
功能强大且很具有灵活性,VHDL具有很强大的语言结构,可以用简洁明确的代码描述复杂的控制逻辑,语言很灵活,支持设计库和可重复使用的元件生成。
不依赖于器件进行设计,设计所需器件不需要事先进行选择,是VHDL所允许得,这样设计者生成一个设计就可以比较灵活,这样同样一件设计,可以使用不一样的器件来完成它的功能。
具有可移植性,因为VHDL是一种标准的语言,所以它可以被不同的工具所支持,这意味着同一个VHDL设计描述可以在不同的设计项目中采用
可以对其设计性能进行评估,设计者可以进行一个完整的设计描述,并对其进行综合,生产选定的器件结构的逻辑功能,然后评估结果,选用最适合设计需求的器件。
上市时间快、成本低、开发周期短,VHDL语言的设计将大大提高数字单片化设计实现的速度,为生产者大大节约开发成本。
1.3课题主要内容
随着可编程逻辑电路和EDA技术的发展,在逻辑电路设计和嵌入式系统设计方面,以CPLD/FPGA为代表的可编程逻辑器件已经逐步代替了传统的标准逻辑器件;
本次论文的电梯控制器所有的程序可以集成在一个FPGA开发芯片上面,不用在用其他功能的分立逻辑元件,达到集成度高、响应快、功耗低的特点。
本次论文主要是基于FPGA的电梯控制器的设计,他也是电梯控制的核心部分,电梯的层数为10层,而本次论文采用模块化设计,主要分为四大模块:
时钟分频模块、按键处理模块、电梯运行控制模块、数码管显示。
第2章设计基本原理与思路
2.1控制器的功能及技术指标
本设计以FPGA作为工具对升降电梯的各种操作进行控制,从而来改善电梯的舒适感和运行的可靠性,使电梯安全可靠的运行。
根据电梯安全运行的一些主要控制要求,十层电梯控制器将实现的功能:
(1)电梯内部含有所有楼层的指令按钮,外部都有上升或下降按钮。
(2)电梯外部含有楼层指示装置,还有电梯运行状态显示。
(3)电梯到达指令信号所在楼层时,电梯门打开,若再有另外请求信号,电梯门关闭,电梯继续运行,直到执行完所有所有请求信号。
(4)能记忆电梯内部与外部所有请求,并且能够依照电梯应有的运行规则进行响应,且外部与内部请求信号能够在电梯响应过后清除。
(5)电梯运行的主要规则:
在电梯上升时,电梯只对比电梯所在楼层高的楼层的请求信号进行响应;
当高层有下降请求,电梯则直接升到高层所在下降请求楼层,转换为下降模式。
而电梯下降模式与上升规则完全相同。
(6)电梯含有初试状态即:
一层开门。
2.2全自动电梯控制方案选择
全自动电梯一般分为三种控制方案:
内部请求优先响应控制方案,层层停控制方案,方向优先控制方案。
1.内部请求优先响应控制方案
内部请求优先控制方式的工作方式,即先将电梯内部人员送至目的楼层,再返回载客。
而作为大楼公共服务的载客通用电梯,必须服务于大部分人的要求,必须考虑电梯外部的请求响应,在内部请求优先控制方式当中,当电梯外部人的请求和电梯内部人的请求发生冲突时,外部人的请求可能被长时间忽略,因此它不适合作为通用电梯的设计方案。
2.层层停控制方案
层层停控制方式的工作方式:
即到每一层楼即停下。
这种控制方式可以满足每个人的请求。
但是这种控制方式严重影响到了电梯的运行效率,很有可能中间楼层均没有用户请求,这样会浪费大量的等待时间,而电梯在这个过程也会浪费大量的电能。
3.方向优先控制方案
方向优先控制方式即,即电梯在运行到某一楼层时先考虑这一楼层是否有请求:
有则停止,无则继续前进。
停下后再启动时的步骤:
1).检查上方是否存在请求,存在电梯则运行,不存在电梯则停止
2).检测下方是否存在请求,存在电梯则运行,不存在则维持停止状态。
方向优先控制方式的效率远大于单层层停等控制方式的效率。
而且,方向优先控制方式下,电梯在维持停止的时候可以进入省电模式,能节省大量电能。
通过以上三种控制方案的相互比较,可以明显看出方向优先控制的综合优势还是很明显的,而此设计主要依照方向优先控制进行设计的。
2.3电梯模块划分
为实现电梯控制的功能,完成设计要求,采用模块化设计,本设计预计分为四个模块:
时钟分频模块,按键处理模块,电梯运行控制模块,数码管显示模块。
电梯控制模块划分如图2-1所示。
各部分功能概述:
(1)时钟频模块功能为把系统时钟分出两个不同频率的时钟,一个2HZ时钟供控制模块使用,另一个8HZ供其他模块使用。
(2)按键处理模块的功能是把电梯外部和内部的按键信号处理,把处理好的按键信号送到电梯运行控制模块,根据外部按键信号转化为电梯运行控制模块的外部请求信号,根据电梯内部按键信号转化为电梯控制模块的电梯前往信号,根据电梯所在楼层信号及时清除电梯外部与内部的按键信号。
(3)电梯运行控制模块的功能是在2HZ时钟的节拍下,根据按键处理模块输出的信号,控制电梯上升和下降,当电梯关门时输出相应的上升和下降清除信号,同时输出电梯当前所在楼层的数码管输出信号与电梯运行方向指示。
(4)数码显示模块的功能是把楼层信号转化为数码显示。
图2-1:
电梯控制器模块划分图
系统组成:
图2-2系统组成
整个系统最主要由运行状态控制,按键处理模块,显示模块组成,楼层显示通过运行状态来控制,而按键处理又外部按键电路来控制,运行状态由按键处理模块和当前楼层信号联合控制。
如图2-2所示。
第3章模块内部程序设计
3.1系统时钟分频模块
时钟分频模块主要是将输入频率分为两个不同的频率,以供其他模块使用,其中一个是2分频以供电梯运行模块使用,另外一个8分频的时钟频率为其他模块提供时钟频率源。
首先设计分频程序的实体,对其内部输入输出变量进行定义,clk为系统输入的时钟频率,clk_2为输出2分频,clk_8为输出8分频。
对于分频程序,首先定义一个8位中间信号变量cnt,当时钟信号发生且是上升沿时,cnt加1,cnt信号输出的第一位是输出2分频,第三位是输出八分频,主要程序如下:
ifclk'
eventandclk='
1'
then----当时钟发生且是上升沿
cnt<
=cnt+1;
clk_2<
=cnt
(1);
clk_8<
=cnt(4);
----cnt的第一位输出2分频第三位输出八分频
endIf;
将源程序编写完成后,在Quartus进行调试、运行并生成模块文件,在编译后检查无误之后,进行波形仿真,硬件下载调试。
在调试中得到的模块原理图如图3-1所示:
图3-1时钟分频模块原理图
3.2系统按键综合处理模块
按键处理模块的主要功能是就是处理电梯外部和内部的按键信号,然后把所得到的信号送到电梯运行模块;
根据电梯外部按键信号转化为电梯运行控制模块的外部请求信号,根据电梯内部的按键信号转化为电梯运行控制模块的电梯前往信号,根据电梯楼层信号及时清除电梯外部与内部按键信号。
首先设计分频程序的实体,对其内部输入输出变量进行定义。
clk为系统输入模块的所需的时钟频率;
Rst为系统异步置位按键,低电平有效,为提供系统复位信号;
up(9..1)为楼层外部上升请求按键,高电平有效,为系统提供外部上升请求信号;
down(10..2)为楼层外部下降请求按键,高电平有效,为系统提供外部下降请求信号;
up_light(10..1)为电梯外部上升请求输出信号;
down_light(10..1)为电梯外部下降请求输出信号;
inside(10..1)为电梯内部楼层请求按键,低电平有效,为系统提供电梯内部请求信号;
inside_light(10..1)为电梯内部楼层请求输出信号;
position为电梯位置输入变量,为模块提供电梯当前楼层;
clear_up用于清除上升请求输入信号;
clear_down用于清除下降请求输入信号。
当rst='
0'
,即系统异步置位按键有效时,inside_light,up_light,down_light均置零,即系统复位,电梯不在响应任何按键。
当clear_up='
时,清除电梯当前外部上升请求信号和电梯内部前往该楼层信号;
当clear_down='
时,清除电梯当前外部下降请求信号和电梯内部前往该楼层信号;
当是其他情况时,down_light的输出值为down的值在加上一位'
;
inside_light输出的值为inside的值,up_light输出的值为up的值。
主要程序如下:
Ifclear_up='
Then
inside_light(position)<
='
up_light(position)<
Else
up_light<
&
(notup);
inside_light<
=notinside;
EndIf;
Ifclear_down='
inside_light(position)<
down_light(position)<
Else
down_light<
=(notdown)&
'
源程序编写完成后,进行编译、运行并生成模块文件,确认没有错误之后进行波形仿真、时序分析。
其模块原理图如图3-2:
图3-2按键处理模块原理图
3.3电梯运行控制模块
电梯运行控制模块是实际当中的核心部分,电梯的状态与电梯的运行模式基本上完全取决于运行控制模块,它主要是在时钟分频模块输出的2分频频率下,接收按键处理模块输出的按键处理信号,来决定电梯的运行模式和状态,同时在电梯决定运行模式时输出一定的控制信号来控制外部显示,以达到显示电梯的位置,运行状态,本次是设计的10层电梯控制系统,在源程序中具体要体现以下功能:
1.每层电梯入口处设有上升和下降请求按钮,其中第十层没有上升按钮。
第一层没有下降按钮,电梯内部设有要到达楼层的请求按钮1-10楼。
2.设置了电梯位置显示的LED数码管,到达每一楼层均能显示当前楼层,同时设有电梯运行状态的显示。
3.电梯能对电梯外部所有请求信号进行记忆,并且能够按照电梯运行规则进行顺序响应,同时每个楼层的请求信号一直保留到电梯对其进行响应。
4.电梯运行主要规则:
当电梯上升时候,只响应比电梯所在楼层高的上楼信号,由下到上依次执行,直到最后一个上升请求信号执行完毕,当电梯下降时候,只响应比电梯所在楼层低的下楼信号,由上到下依次执行,直到最后一下下降请求信号执行完毕。
电梯运行模块内部程序设计主要思路:
设置stop_1,door_open,door_close,door_wait1,door_wait2,door_wait3,door_wait4,door_wait5,door_wait6,up,down,stop等几个状态(具体功能见表1),通过状态机来实现他们之间的相互转换,而且这里主要选用moore型状态机来实现电梯状态控制。
表1:
电梯运行状态表
状态名称
状态说明
stop_1
初始状态停在第一层,没有任何请求按键的情况下,同时上升和下降清除信号无效,电梯进入第一个等待状态.
door_open
电梯进入开门状态后,指示灯点亮,同时上升和下降清除信号无效.
door_close
电梯进入关门状态后,指示灯熄灭,同时上升和下降清除信号无效;
1.如果电梯在10层,没有请求信号,电梯关门,电梯停止运行;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA10 电梯 控制器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)