基于FPGA的高低层电梯控制系统设计与实现.docx

上传人:b****6 文档编号:7872563 上传时间:2023-05-12 格式:DOCX 页数:29 大小:1.95MB
下载 相关 举报
基于FPGA的高低层电梯控制系统设计与实现.docx_第1页
第1页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第2页
第2页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第3页
第3页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第4页
第4页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第5页
第5页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第6页
第6页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第7页
第7页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第8页
第8页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第9页
第9页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第10页
第10页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第11页
第11页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第12页
第12页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第13页
第13页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第14页
第14页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第15页
第15页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第16页
第16页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第17页
第17页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第18页
第18页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第19页
第19页 / 共29页
基于FPGA的高低层电梯控制系统设计与实现.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于FPGA的高低层电梯控制系统设计与实现.docx

《基于FPGA的高低层电梯控制系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于FPGA的高低层电梯控制系统设计与实现.docx(29页珍藏版)》请在冰点文库上搜索。

基于FPGA的高低层电梯控制系统设计与实现.docx

基于FPGA的高低层电梯控制系统设计与实现

基于FPGA的高低层电梯控制系统设计

 

摘要

电梯作为高层建筑中不可缺少的垂直运输工具,已逐渐成为我们生活中的一部分。

随着我国经济以及科技的不断发展,电梯的控制系统也逐渐向着“智能化”的方向发展。

对于电梯的控制,传统的方法是采用继电器来进行控制,而随着EDA技术的发展,FPGA已广泛地应用到电子设计控制的各个方面。

考虑到现有的很多电梯都是高低层用户共用,导致了电梯空驶率高、用户等待时间长等问题,造成效率低下,增加了各方面的时间成本与财力成本。

考虑到这些问题,所以进行了对电梯高低分层实施控制的设计,这样的话,高层用户和低层用户分别使用不同的电梯,能有效解决电梯利用率低和用户的使用矛盾。

本设计就是基于FPGA来实现对高低层电梯的控制。

本设计所使用的硬件描述语言为Verilog,软件使用QuartusII进行FPGA开发,包括编程、综合、调试等,系统验证使用Modelsim。

本高低层电梯控制系统功能包括:

显示电梯层数、响应楼层请求、电梯上升下降指示、电梯开关门、显示电梯当前运行状态等。

同时,该设计采用模块化编程,可为实现任意多层电梯系统而升级,具有很强的适应性和实用性。

关键词:

FPGA,电梯控制器,高低层电梯

大连东软信息学院毕业设计(论文)Abstract

 

DesignofFPGA-basedHigh-low-riseElevator

ControlSystemDesign

Abstract

Theelevatorasanindispensableverticaltransportinskyscraper,ithasgraduallybecomeanimportantpartoflife.Withthedevelopmentoftheeconomyandtechnology,theelevatorcontrolsystemisalsograduallytoward"intelligent"direction.Fortheelevatorcontrol,thetraditionalmethodistocontroltheuseofsingle-chipdesign,andwiththedevelopmentofEDAtechnology,FPGAcanbewidelyappliedtocontrolvariousaspectsofelectronicdesign.Thefactthatresidentslivinginhighfloorsandinlowfloorssharethesameelevatorsleadstofrequentphenomenonof"elevatorrunningwithoutpassengers"andofpassengers’longwaits,whichcauseslowproductivityandincreasesintimecostsandfinancialcosts.Consideringthesedrawbacks,wedesignacontrolsystemtoseparatetheoperationsbyhigh-floorresidentsandbylow-floorresidents.Inthiscase,high-floorresidentsandlow-floorresidentsusedifferentelevators,solvingtheproblemoflowutilizationrateandusingconflictsbetweendifferentpassengers.ThisdesignisbasedonFPGAtorealizetheseparatecontrolsofpassengersfromdifferentfloors.

ThedesignofthehardwaredescriptionlanguageisVerilogandtheFPGAdevelopmentusesQuartusIItoconduct.WealsouseModelsimtoverifythesystem.Thesystemincludesprogramming,integration,anddebugging.Also,thefeaturesincludedisplayingelevatorlayers,theresponseoffloorrequest,indicatingtherisingandfallingoftheelevator,theelevatordoorswitch.Meanwhile,thisdesignusesmodularprogramming.Ifitupgrades,theprojectcouldsuitthearbitrarymultilayerelevatorsystem.Ithastheverystrongadaptabilityandpractical.

Keywords:

FPGA,Elevatorcontroller,High-low-riseelevator

大连东软信息学院毕业设计(论文)目录

大连东软信息学院毕业设计(论文)

第1章绪论

1.1课题研究背景与意义

随着社会的发展,现在的楼房层数也在逐渐升高,电梯在居民小区的安装越来越普及。

电梯的便利让人们上下楼省时省力,尤其是能方便一些腿脚不便的人群。

但是随着高层建筑的增多(十五层以上),坐电梯的等待时间也变得令人难以接受,人少的时候如果高层住户和低层住户同时呼叫会造成很大的浪费:

住户等待时间长、电梯空驶时间长,这造成了时间与成本的双重浪费;在人多的时候,由于经常会发生“超重”的情况,电梯甚至会在超重状态下不断在有响应的楼层停下,造成电梯效率极其低下。

为了解决这种问题,决定设计出一种高低层分用的电梯控制系统。

FPGA是一种专门从事逻辑控制的微型计算机系统。

由于其具有性能稳定、抗干扰能力强、设计配置灵活等特点,因此使用FPGA作为电梯控制器可以更好地合理分配居民的共用资源,更有效率地处理人们在搭乘电梯时遇到的不便之处,同时也极大地提高了电梯的利用率,避免浪费。

1.2课题研究内容与方法

本控制系统中最关键的地方就是如何合理规划电梯对于用户请求的响应,现实中的电梯运行起来很复杂,会考虑到多种情况,尤其是电梯运行中,很多楼层都有向上或者向下的请求。

在每种情况下,电梯应该如何运作,该不该停,继续向原有方向前进还是转换方向,这都需要我们设计的时候去思考。

毕竟这是一个很实际的控制,稍微出一点问题的话,都会给用户带来很大的不便。

针对这个问题,我们需要上网进行资料的查找,了解电梯运行状态,并实际去找电梯验证,感受一下电梯是如何处理一个个复杂情况的。

另一个很重要的问题就是时序问题,因为用户的动作是不可预见的,和能在任何时间、任何情况下都会有使用电梯的请求。

由此可见,这对于时序有着很大要求,必须要正确、迅速地处理各个请求,然后予以执行,控制电梯的上升、下降或者停止运行。

1.3课题研究现状

随着我国城乡居民生活水平的不断提高,高层建筑物的不断增多,电梯已越来越走进我们的生活。

而电梯作为现代高层建筑的垂直交通工具,面对人们对其要求的提高,其自身也在不断的优化中。

针对传统的单片机设计的电梯控制器外围电路复杂,性能不稳定的缺点,从而提出了基于FPGA的高低层电梯控制系统设计。

目前,FPGA逻辑器件正往低电压、低功耗、系统内可重构和高速可预测延时器件的方向发展。

而这种基于

 

-1-

大连东软信息学院毕业设计(论文)

芯片的设计方法可以减少芯片的数量,缩小系统体积,降低能源消耗,提高系统性能和可靠性。

因此这样的控制能更好的提高电梯的控制水平,并改善电梯运行的舒适感。

而将这种设计方案运用到电梯中,也已成为时代之需。

 

-2-

大连东软信息学院毕业设计(论文)

第2章关键技术介绍

本设计是基于FPGA硬件平台的系统,FPGA相对于单片机、CPLD而言,拥有更庞大的资源以及运算速度,能很好地解决对于精度、速度要求很高的场合,而且拥有很多可定制的内容,便于设计人员进行升级、维护等。

2.1FPGA介绍

FPGA(Field-ProgrammableGateArray),也被称为现场可编程门阵列,这种器件的产生是由于CPLD等可编程逻辑器件的发展。

FPGA是作为ASIC(专用集成电路)领域中的一种半定制电路而出现的,能很好地解决定制电路的不足之处,同时也克服了CPLD等可编程器件的缺点,即门电路数的有限性。

FPGA的开发与PC开发和单片机开发相比有很大不同。

相比于PC或单片机的顺序操作,FPGA是以并行运算为主,同时用硬件描述语言来实现模块功能。

FPGA的开发需要完成以下几个方面:

顶层设计、模块分层、逻辑实现、软硬件调试等。

2.2VerilogHDL硬件描述语言

VerilogHDL是VerilogHardwareDescriptionLanguage的缩写,是一种硬件描述语言。

在集成电路设计的电子自动化领域中,Verilog主要用于描述、设计电子系统。

Verilog能够对数字逻辑系统通过多种的抽象级别进行描述。

因此,它既可以描述晶体管级、逻辑门级,也可以描述寄存器传输级在寄存器之间传输电路信号时的情况。

Verilog不仅能够描述电路的逻辑功能,其还能够在逻辑仿真、逻辑综合中被运用,而后者可以把寄存器传输级的Verilog语言转换为逻辑门级的网表,这样就能够方便实现硬件电路,完成我们所设计的预期目标。

VHDL是另一种硬件描述语言,在业界它和Verilog一样都被作为一种标准。

它们虽然有着各自的描述特点,但却同时作为电气电子工程师应具备的标准硬件描述语言。

VHDL的设计初衷就是针对于代码的标准化,然而简明、高效的代码风格则是Verilog所具有的。

两种语言都可以对数字电路建模即使是处于多个抽象层次,同时它们还能与验证、仿真、综合工具进行协同工作。

相比之下,Verilog的逻辑门级、晶体管级级电路描述能力更强,而VHDL不具备这样低级的描述能力。

但是,VHDL的系统级抽象描述能力要比Verilog更强。

2.3CycloneII芯片

Altera公司于2004年推出了一种新款的FPGA器件——CycloneII系列。

CycloneII

 

-3-

大连东软信息学院毕业设计(论文)

FPGA的成本比前一个版本的Cyclone器件要低30%,逻辑容量大小也增加了3倍,可以进行低成本、大批量的产品生产。

采用先进工艺技术的CycloneII器件,与Altera低成本的设计方式相结合,此类生产可以使其能够在相对较低的成本压力下制造出具有比较大容量的器件。

与第一代Cyclone产品相比较,CycloneII器件具有两倍多的I/O引脚,而且对于可编程类的逻辑器件而言,内部的存储模块和其它特点也进行了最优的组合,使其特性进行了增强。

为了更好地配置CycloneIIFPGA,Altera提供了低成本的串行配置器件。

这些串行配置器件被定价为批量应用,其成本是相对应的CycloneIIFPGA价格的10%。

四个串行配置器件(1Mbit,4Mbit,16Mbit和64Mbit)为用户提供了节省空间的8脚和16脚SOIC封装。

该器件中任何不用于配置的存储器均可用于一般存储,这个特性进一步增强了它的价值。

对于电梯控制器而言,CycloneII拥有足够的处理速度以及资源,便于实时数据处理以及以后的维护与功能升级。

 

-4-

大连东软信息学院毕业设计(论文)

第3章系统需求分析

3.1系统设计目标

使用FPGA作为电梯的控制器,为高低层住户分别提供电梯控制,以解决其使用电梯时等待时间过长从而造成时间上的浪费。

本系统用8层电梯来模拟实际操作过程中的高低层分用电梯,低层电梯负责1-4层

的控制,高层电梯负责1层以及5-8层的控制。

每个电梯进行独立控制,不互相相应,并且只处理其负责的楼层数搭乘请求。

根据对电梯的实际功能需求分析以及操作和验证,确定了本系统的主要功能模块如图3.1所示。

3.2系统主要模块描述

(1)楼层计数模块

图3.1系统设计总览

本模块负责给出当前电梯所处的楼层数,需要用加法器以及减法器来完成操作。

同时,由于要判断当前电梯是需要上楼还是下楼,要用到两个选择器,楼层数则用寄存器来进行储存。

(2)按键寄存器清空模块本模块主要负责给所有需要清空操作的按键复位信号,通过判断当前电梯运行的层

数、上升下降状态以及开门情况,来判断那些按键寄存器需要被清空。

如:

电梯当前位于3楼,处于上升状态,那么电梯在三楼停下开门后,三楼的u1信号以及电梯内部的g3信号这两个寄存器将被给出清空信号。

(3)信号寄存模块本模块主要负责按键被按下时,对应寄存器存储数据,以及清零信号到来时,对寄

存器进行清空的操作。

本模块主要由寄存器组成,每一个按键都有与之对应的寄存器。

(4)楼层选择模块

-5-

大连东软信息学院毕业设计(论文)

本模块需要处理所有的按键信号以及电梯运行状态信号,对电梯下一个运行状态的数据进行输出。

(5)楼层开门模块

本模块负责把所在楼层的信息,由0,1,2,3转为四位的独热码:

0001,0010,0100,1000。

然后输出到开发板所带的LED灯上,当LED灯亮起时,表示该LED灯所对应的楼层电梯门被打开。

此模块在低层电梯中有1、2、3、4楼层所对应的LED灯,在高层电梯中因为还需要停于在1层,所以有1、5、6、7、8楼层所对应的LED灯。

(6)楼层译码模块

本模块负责将楼层数译为七段数码管的显示格式,如:

将3’b001译为7’b1111001,以便让FPGA上的数码管正确显示出楼层数。

(7)状态译码模块本模块负责将电梯控制器当前所处状态译为七段数码管的显示格式,以便显示在

FPGA上。

(8)显示模块本模块负责将接收到的电梯运行状态信息以及电梯所处楼层正确显示在FPGA上

带有的动态扫描七段数码管上。

由于七段数码管使用了动态扫描,所以需要分别对七段数码管的行选信号以及段选信号进行操控,本模块中还有一个分频器,用以分出合适的频率来显示。

3.3系统非功能需求

(1)显示当前电梯运行状态电梯在运行的过程中,可以设置一个监控板,实时显示其当前的运行状态,方便控

制端进行检测、维护等。

基于此目的,本系统添加了一个由七段数码管显示的模块,可以清楚显示出电梯当前所处楼层、运行状态等信息。

(2)低成本

本系统所使用芯片为Altera公司的CycloneII系列芯片,此款芯片比之前的Cyclone系列要便宜30%,而且FPGA本身处理性能优秀,资源丰富,一块芯片就能同时满足多个电梯的控制,大大节约了成本。

3.4系统开发环境

硬件环境:

FPGA开发板软件环境:

QuartusII,ModelSim

-6-

大连东软信息学院毕业设计(论文)

3.5系统可行性分析

3.5.1技术可行性

本作品所用硬件描述语言为Verilog,使用QuartusII进行FPGA开发,包括编程、综合、调试等。

QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

本作品使用ModelSim软件进行仿真,Mentor公司的ModelSim被誉为业界最优秀的HDL语言仿真软件,它提供了非常直观方便的仿真环境,采用了直接进行优化的先进编译技术以及单一内核仿真技术。

ModelSim拥有极快的编译和仿真速度,且其编译的代码与所在平台无关,这有利于保护IP核的安全。

在查错方面,ModelSim拥有非常人性化的图形界面以及用户接口,这无疑增加了用户查错的速度,进行可编程逻辑器件的仿真时,这款软件是用户的不二选择。

3.5.2经济可行性

Altera公司的CycloneIIFPGA的成本比第一代Cyclone器件低30%,逻辑容量大了三倍多,可满足低成本大批量应用需求,而且可以做到同时控制多台电梯,非常适用于电梯控制器的批量生产。

 

-7-

大连东软信息学院毕业设计(论文)

第章系统设计

4.1系统架构

(1)I/O口设计由于高低层电梯控制器是一个实际应用的系统,所以顶层模块必须考虑到用户的所

有需求,I/O口就是专门与用户“交流”的通道,本系统顶层模块的所有信号如表4.1所示。

表4.1顶层模块I/O信号

信号名

输入/输出

功能描述

clk

输入

系统的主时钟,频率为50MHz

reset

输入

系统初始化,低电平有效

start

输入

系统开始运行,高电平有效

u1

输入

1楼外侧上楼按键,高电平有效(低层电梯)

u2

输入

2楼外侧上楼按键,高电平有效

u3

输入

3楼外侧上楼按键,高电平有效

u4

输入

4楼外侧上楼按键,高电平有效

u5

输入

5楼外侧上楼按键,高电平有效

u6

输入

6楼外侧上楼按键,高电平有效

u7

输入

7楼外侧上楼按键,高电平有效

u2

输入

2楼外侧下楼按键,高电平有效

u3

输入

3楼外侧下楼按键,高电平有效

u4

输入

4楼外侧下楼按键,高电平有效

u5

输入

5楼外侧下楼按键,高电平有效

u6

输入

6楼外侧下楼按键,高电平有效

u7

输入

7楼外侧下楼按键,高电平有效

u8

输入

8楼外侧下楼按键,高电平有效

g1

输入

电梯内1楼按键,低电平有效

g2

输入

电梯内2楼按键,低电平有效

g3

输入

电梯内3楼按键,低电平有效

g4

输入

电梯内4楼按键,低电平有效

g5

输入

电梯内5楼按键,低电平有效

g6

输入

电梯内6楼按键,低电平有效

g7

输入

电梯内7楼按键,低电平有效

 

-8-

大连东软信息学院毕业设计(论文)

续表4.1顶层模块I/O信号

信号名

输入/输出

功能描述

g8

输入

电梯内8楼按键,低电平有效

hu1

输入

1楼外侧上楼按键,高电平有效(高层电梯)

hg1

输入

电梯内1楼按键,低电平有效(高层电梯)

door0[3:

0]

输入

LED灯,用于对应楼层的开门显示(低层)

door1[4:

0]

输入

LED灯,用于对应楼层的开门显示(高层)

bit_out[7:

0]

输入

七段数码管的位选信号

seg[6:

0]

输入

七段数码管的段选信号

(2)模块设计由于要实现高低层电梯的分别控制,所以本系统为该电梯分配了独立的状态机与数

据通道,用户通过按下按键,把数据传送给数据通道来处理,然后状态机进行相应与状态跳转,再把目前电梯运行状况反馈给数据通道。

每层电梯门打开的操作,本系统用对应的译码模块将当前需要开门的楼层进行译码,并点亮LED灯进行显示。

当前楼层以及运行状态的显示,本系统使用了动态扫描的七段数码管,分别对低层电梯以及高层电梯进行显示。

4.2状态机设计

状态机负责整个系统的控制,其简写是FSM(FiniteStateMachine),分为两种不同的类型:

第一类,若状态机的输出只和当前状态有关而与外界的输入没有关系,则此种被称为Moore类型的状态机;第二类,若状态机的输出不只是和当前状态有关,也受到外界输入的影响,则此种被称为Mealy类型的状态机。

我们在设计时要注意,Mealy类型的状态机由于和外界输入有关,其信号的输出会受到外界输入的干扰,这就可能为系统带来毛刺,产生干扰,要解决这一问题可以考虑使用独热码来解决。

考虑到电梯运行的各种状态以及数据传递,本系统使用的是Mealy状态机,其状态包括IDLE,WAIT,D_OPEN,D_CLOSE,UP_FLOOR,DOWN_FLOOR,STOP,JUDGE,

ERROR这些状态。

IDLE状态为初始化状态,系统刚启动时或者复位时,处于此状态。

WAIT状态适当电梯停下并执行关门操作完毕后,目前没有任何按键被按下,电梯停止并不断扫描按键有没有被按下。

D_OPE

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2