毕业设计基于FPGA的三层电梯控制器的研究.docx

上传人:b****3 文档编号:5514665 上传时间:2022-12-18 格式:DOCX 页数:22 大小:1.65MB
下载 相关 举报
毕业设计基于FPGA的三层电梯控制器的研究.docx_第1页
第1页 / 共22页
毕业设计基于FPGA的三层电梯控制器的研究.docx_第2页
第2页 / 共22页
毕业设计基于FPGA的三层电梯控制器的研究.docx_第3页
第3页 / 共22页
毕业设计基于FPGA的三层电梯控制器的研究.docx_第4页
第4页 / 共22页
毕业设计基于FPGA的三层电梯控制器的研究.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

毕业设计基于FPGA的三层电梯控制器的研究.docx

《毕业设计基于FPGA的三层电梯控制器的研究.docx》由会员分享,可在线阅读,更多相关《毕业设计基于FPGA的三层电梯控制器的研究.docx(22页珍藏版)》请在冰豆网上搜索。

毕业设计基于FPGA的三层电梯控制器的研究.docx

毕业设计基于FPGA的三层电梯控制器的研究

目录

摘要II

Abstract.III

第一章引言1

1.1设计内容简介1

1.2选题背景1

第二章设计的基础依据1

2.1EDA技术介绍1

2.2FPGA芯片介绍2

2.3VHDL语言介绍3

2.4仿真软件介绍4

第三章电梯控制器的设计及仿真5

3.1电梯控制器的任务和要求5

3.2电梯控制器的算法分析5

3.3电梯控制器的设计7

3.2模块、模块功能及相应的程序8

3.3.1控制模块8

3.3.2楼层显示模块8

3.2.3电梯状态显示模块9

3.4仿真及仿真结果9

总结13

参考文献14

致谢15

附录一16

附录二17

 

基于FPGA的三层电梯控制器的研究

专业:

学号:

学生姓名:

指导教师:

摘要:

本设计主要介绍了基于FPGA设计的三层电梯控制器,采用VHDL语言进行编译,并进行了电路综合和仿真。

该控制器具备了FPGA芯片的硬件体积小、实时性好、工作效率高、提高系统的集成度等特点且遵循方向优先的原则,提供三个楼层多个用户的载客服务,并指示电梯的运行情况。

本课题试验调试平台是Altera公司的QuartusⅡ软件和EDA实验开发系统。

通过程序的调试和运行及仿真表明本设计可以完成电梯所在楼层显示电梯运行方向指示。

关键字:

FPGA、VHDL、电梯控制器、EDA实验开发系统

 

Basedonthethree-layerelevatorcontrollerFPGAresearch

Abstract:

ThisdesignintroducesFPGAdesignbasedonthreeelevatorcontroller,compiledwithVHDLlanguage,andmakethecircuitsynthesisandsimulation.Thecontrollerfollowsthedirectionoftheprincipleofpriority,toprovidethreefloorsofthepassengerservicemultipleusers,andindicatestheoperationofthelift.ThiscontrollerhasFPGAchipcompacthardware,goodreal-time,highefficiency,improvethesystemintegrationcharacteristicsandfollowthedirectionofthepriorityprinciple,offermorethanthreefloorsofpassengerservice,anduserinstructionstotheelevator.ThistopicisAlteradebuggingtestplatformQuartuscompanyⅡsoftwareandEDAexperimentdevelopmentsystem.Throughtheprocessofdebuggingandoperationandthesimulationshowsthatthisdesigncanbecompletedinelevatorrunningdirectionindicatorthatelevatorfloor.

Keywords:

FPGA,VHDL,ElevatorController,EDAexperimentdevelopmentsystem

第一章引言

1.1设计内容简介

随着电子技术与自动控制技术的发展,越来越多的FPGA器件正广泛用于各个数字信号处理过程。

其特点是硬件体积小、实时性好、工作效率高,提高系统的集成度。

本设计针对我国电梯业的现状,将FPGA应用于三层电梯进行逻辑控制,通过合理的选择和设计,不但提高了电梯可靠性、可维护性以及灵活性,同时延长了使用寿命,缩短了电梯的开发周期,并提高了电梯的控制水平,改善了电梯运行的舒适感,使电梯达到了较为理想的控制效果。

1.2选题背景

电梯作为高层大厦的主要垂直交通工具,电梯系统服务质量和效率的提高对建筑的有效利用和性能发挥将产生极为重要的影响。

信息化时代的到来,推动了电梯的发展,电梯控制器已成为当今世界性开发的热点,也是各国综合实力的表现。

电梯系统作为建筑楼宇自动化的重要组成部分,也要求向满足大厦中大量人流、物流的垂直输送需要,电梯制造商利用先进的技术,开发出各种高性能的电梯系统以满足乘客生理和心理要求,实现高效的垂直输送。

提高我国电梯控制领域水平,必将带来很大的经济效益和社会效益。

第二章设计的基础依据

2.1EDA技术介绍

在计算机技术的推动下,电子技术在20世纪末获得了飞速的发展,现代电子产品几乎渗透于社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时又促使现代电子产品性能的进一步提高,产品更新换代的节奏也越来越快。

电子技术发展的根基是微电子技术的进步,它表现在大规模集成电路加工技术,即半导体工艺技术的发展上。

表征半导体工艺水平的线宽已经达到45nm以下,并还在不断地缩小;在硅片单位面积上集成了更多的晶体管;集成电路设计在不断地向超大规模、极低功耗和超高速的方向发展;同时,这些专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)的设计成本还在不断降低,而在功能和结构上,现代的集成电路已能实现单片电子系统(SystemonaChip,SoC)。

作为现代电子设计技术的核心,EDA(ElectronicDesignAutomation)技术依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言(HardwareDescriptionLanguage,HDL)为系统逻辑描述手段完成的设计文件,自动地完成逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线)以及逻辑优化和仿真测试等功能,直至实现既定性能的电子线路系统。

EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。

[1]

在现代高新电子产品的设计和生产中,微电子技术和现代电子设计技术是相互促进、相互推动又相互制约的两个技术环节。

前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论、电子技术、仿真技术、设计工艺和设计技术与最新的计算机软件技术有机的融合和升华。

因此严格地说,EDA技术应该是这两者的结合,是这两个技术领域共同孕育的奇葩。

图2-1为采用EDA设计的总流程

图2-1EDA设计流程图

2.2FPGA芯片介绍

FPGA是Field-ProgrammableGateArray(现场可编程门阵列)的缩写,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是专用集成电路中一种半定制电路。

具克服了传统可编程器件数有限的缺点,又具有可编程的特点。

FPGA器件是由美国XILINX公司于1985年首先推出。

一般把FPGA定义为基于查找表技术(LOOK-UPTablc,LUT)和SRAM工艺的PLD,目前的FPGA已远超出先前产品的基本功能,并且整合了许多常用功能(如RAM、时钟管理和DSP),在新型的的系统级可编程逻辑器件中还可以以IP核的形式来进行功能设计,或许只需要一块FPGA芯片就可以实现所有功能,成为片上系统。

FPGA芯片的结构如图2-1所示。

图2-2FPGA芯片结构图

近几年来FPGA有了很快的发展,按照传统观点,FPGA仅用于产品原型设计和ASIC的验证,用于大规模的数字系统开发就过于昂贵且功耗巨大。

随着FPGA的研究突破了低功率、低成本和先进工艺的瓶颈后,FPGA的应用领域日益扩张,随着功能和性能的进一步提高,FPGA应用领域已成可编程逻辑领域扩展到了高性能DSP、高性能嵌入式等领域。

[2]

2.3VHDL语言介绍

VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,于1983年由美国国防部(DOD)发起创建,由IEEE(TheInstituteofElectricalandEngineers)进一步发展并在1987年作为“IEEE标准1076”发布,从此VHDL成为硬件描述语言的业界标准之一。

至IEEE公司发布了VHDL语言标准版之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具支持VHDl。

此后VHDL语言在电子设计领域的得到了广泛的应用,并逐步取代了原有的非标准硬件描述语言。

VHDL语言作为一个规范语言和建模语言,具有和强的电路描述和建模能力,能从多个多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。

VHDL具有与具体硬件无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述能力。

用VHDL语言进行电子系统设计的最大优点是设计者专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。

其具体的流程图如图2-3所示。

图2-3VHDL语言的设计流程

2.4仿真软件介绍

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

  QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。

具有运行速度快,界面统一,功能集中,易学易用等特点。

  QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。

对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。

  此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

QuartusII软件的设计流程为:

设计输入、综合和编译、适配器、仿真、下载(如图2-4所示)。

图2-4QuartusⅡ软件设计流程

第三章电梯控制器的设计及仿真

3.1电梯控制器的任务和要求

(1)每层电梯处设有上下请求开关,电梯内设有乘客到达层次的停站请求开关。

(2)设有电梯所处位置指示装置及电梯运行情况指示。

(4)当梯处于上升时,只相应比电梯所在位置高的上楼请求信号,直到最后一个上楼请求执行完毕,再进入下降模式。

(5)当梯处于下降时,只相应比电梯所在位置低的下楼请求信号,直到最后一个下楼请求执行完毕,再进入上升模式。

(6)电梯的初始状态为第一楼层。

3.2电梯控制器的算法分析

(1)请求信号分析:

电梯控制器的请求信号分为电梯内部请求和外部请求,如果从这角度就很难对电梯运行情况进行分析,因为电梯梯内梯外的请求是随机且不能以有限的规则去对进行说明的,因此本设计把电梯的请求信号划分为上升信号和下降信号。

电梯收到请求信号后,都必需做预操作。

使电梯进入预上升状态的请求信号就是上升请求信号,具体来说就是当电梯所在楼层低于发出电梯外部请求的楼层或者低于楼内请求所要达到的目的楼层时,电梯必需在下一操作中上升,这时的请求信号就是上升信号。

反之,则是下降信号。

(2)电梯处于各层时的情况:

当电梯在一楼时,不管电梯内部还是外部,电梯只能收到上升请求信号,此时电梯进入预上升状态,准备上升,如果没有收到上升请求,则电梯待在一楼。

如图3-1所示。

当电梯在二楼时,如电梯外部内部均没有收到任何请求,电梯将返回一楼待机;如电梯接收到上升请求信号,则进入预上升状态;如电梯接收到下降请求信号,电梯进入预下降状态。

如图3-2所示。

当电梯在三楼时,电梯只能接收到下降请求信号,此时电梯进入预下降状态,准备下降,没有收到请求信号则返回一楼。

如图3-3所示。

图3-1电梯处于一楼的情况分析

图3-2电梯处于二楼的情况分析

图3-3电梯处于三楼的情况分析

对三个楼层的情况进行汇总,可得到图3-4的状态图。

图3-4电梯运行状态图

电梯运行过程中,还存在处理信号优先的问题,单纯的顺序优先或逻辑优先是不能满足控制要求的,因此采用随机逻辑的方式控制去解决信号优先的问题,即在顺序逻辑控制的基础上根据随机的信号输入,以及电梯的相应状态适时的控制电梯运行,如当电梯在三楼时,一楼、二楼均有上升请求,电梯则在二楼不停止,先直接到一楼接客。

3.3电梯控制器的设计

本设计由3个模块组成:

控制模块、楼层显示模块、电梯状态显示模块。

电梯控制的结构框图如图3-1所示,电梯控制器的电路总图见附录1。

图3-1电梯控制器整体框图

3.2模块、模块功能及相应的程序

3.3.1控制模块

控制模块见图3-2,该模块是整个程序的核心,设计思想是将电梯的状态分为四个状态:

一层状态c1,二层状态c2,三层状态c3,开门状态kai,对每一个状态分析其所有可能。

程序见附录2。

图3-2控制模块

端口up1,up2,down2,down3分别是电梯外部一层上升请求、二层上升请求、二层下降请求、三层下降请求。

端口k1、k2、k3是电梯内部所要到达的楼层请求。

端口clk为时钟信号。

端口site[3..1]输出的是电梯所在的楼层。

端口mode输出的是电梯运行状态。

端口door是电梯开门关门状态。

3.3.2楼层显示模块

楼层显示模块的主要功能是将电梯所在的楼层显示的信号转换成数码管显示信号。

图3-3楼层显示模块

端口a[3..1]输入的是电梯楼层信号。

端口clk为时钟信号。

端口p[6..0]为输出数码管显示信号。

七段数码管显示的原理是:

当a、b、c、d、e、f、g输入正电源时,对应的LED灯就会亮,如当b、c接入正电源时,数码管就的b、c所对应的LED灯亮,达到显示“1”的效果。

数码管显示器的发光排列如图3-4.

图3-4七段数码管

3.2.3电梯状态显示模块

电梯状态显示模块

图3-5译码显示模块

端口clk为时钟输入信号。

端口mode为电梯状态信号输入。

端口sel[3..0]为输出sel信号。

端口q[0..15]输出的是点阵显示信号。

3.4仿真及仿真结果

将编写的程序输入QuartusII,要注意工程名与顶层文件的主体名应相同,否则将会出现编译错误,然后对程序进行编译,编译成功后选择Assignments菜单中的Pins项,双击TO中的《new》,然后双击对应的Location栏的《new》,在出现的下拉菜单中选择对应的端口信号名的器件引脚号。

最后存储这些锁定的引脚号信息后,再编译一次;将实验箱上的并口通信线连和所设的引脚接好,选择菜单Tools中的Progranmer,选择Mode中的JTAG,单击AddFile按钮,手动选择配置文件diantikzq.sof。

单击HardwareSetup按钮,出现HardwareSetup页,双击此页中的ByteBlasterMv,之后点击Close按钮,完成后点击标符Start按钮,待Progress显示100%后就可以开始仿真。

仿真结果:

(1)初始状态,数码管显示1,点阵显示↑,如图3-6。

图3-6初始效果图

(2)电梯在第一层时,当up2、up3、k2、k3输入高电位时,数码管显示2,点阵显示↑,如图3-7。

图3-7一楼到二楼效果图

(3)电梯在第二层时,当down2、k1输入高电位时,数码管显示1,当up3、k3输入高电位时,数码管显示3,点阵显示↑,如图3-8。

图3-8电梯到三楼效果图

(4)电梯在第三层时,当down3、down2、k2高电位时,数码管显示2,点阵显示↓;

图3-9三层到二层效果图

 

总结

本次设计主要是介绍三层电梯控制器的现状及发展趋势及设计思想,着重在第三章讲述了三层电梯控制的设计思想和模块构成及各个模块的功能、程序和仿真。

进过最后的仿真结果和设计要求对比,此次设计的控制器基本符合设计要求。

在这次设计过程当中,了解了电梯控制器的现状和发展趋势,各种控制器的优缺点,基本了解到了FPGA的开发流程,掌握了QuartusII软件的设计与仿真,知道了开发设计过程应根据设计的任务要求选择合适的芯片,将设计任务按照要求分割成若干个基本的模块可以使设计变的更加条理化、逻辑化,也使得设计思路更加清晰、通俗。

通过这次设计,发现了许多设计时的不足和错误,主要体现在对设计的整体观和主次观把握有所欠缺,还有就是自己知识面的不足。

在今后的设计中应多查阅资料,充实自己的知识面,然后对设计任务进行深入仔细的分析解剖。

 

参考文献(References)

[1]潘松,黄继业.EDA实用技术教程[M].北京:

科学出版社,2006.1-100.

[2]何道君,刘皖.FPGA设计与应用[M].北京:

清华大学出版社,2006.3-16

[3]褚振勇,翁木云.FPGA设计及应用[M].西安:

西安电子科技大学出版社,2003.

[4]刘福奇.FPGA嵌入式项目开发实战[M].北京:

电子工业出版社,2009

[5]罗苑棠.CPLD\FPGA常用模块与综合系统设计实例精讲[M].北京:

电子工业出版社,2007.

[6]延明,张亦华.数字电路EDA技术入门[M].北京:

电子工业出版社,2007.

[7]陈雪松.《VHDL入门与应用》.北京:

人民邮电出版社,2000.

[8]侯伯亨.《VHDL硬件描述语言与数字逻设计》.西安电子科技大学出版社,2001.

[9]刘宝琴.《ALTERA可编程器件及其应用》.清华大学出版社,1995.

[10]赵雅兴.《FPGA原理及应用》.天津大学出版社,1999.

 

致谢

非常感谢我的指导教师,朱海宽老师。

本论文是在他的亲切关怀和悉心指导下完成的。

他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。

从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱,在此我要向我的导师致以最衷心的感谢和深深的敬意。

在此,向所有关心和帮助过我的领导、老师、同学和朋友表示由衷的谢意!

衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授!

 

2010年5月

 

附录一:

三层电梯的电路总图

附录二:

三层电梯控制器的程序

libraryieee;

useieee.std_logic_1164.all;

entityveryharddis

port(up1,up2,clk,down2,down3,k1,k2,k3:

instd_logic;

site:

outstd_logic_vector(3downto1);

a1,a2,a3:

outstd_logic;

mode,door:

outstd_logic);

end;

architectureveryhardofveryharddis

typestate_typeis(c1,c2,c3,kai);

begin

process(clk)

variableup,down1,ting1,ceng1:

std_logic_vector(3downto1);

variablemo,x,y,z:

std_logic;

variablecnt1,cnt2:

integer;

variablestate:

state_type;

begin

ifclk'eventandclk='1'then

ifup1='0'then

up

(1):

='1';

endif;

ifup2='0'then

up

(2):

='1';

endif;

ifdown3='0'then

down1(3):

='0';

endif;

ifdown2='0'then

down1

(2):

='1';

endif;

ifk1='0'then

ting1

(1):

='1';

endif;

ifk2='0'then

ting1

(2):

='1';

endif;

ifk3='0'then

ting1(3):

='1';

endif;

ifcnt1<1000then

cnt1:

=cnt1+1;

else

casestateis

whenc1=>ceng1:

="001";

mo:

='0';

ifup="000"ordown1="000"orting1="000"then

z:

='1';

endif;

ifz='0'then

door<='1';

ifting1

(1)='1'orup

(1)='1'then

state:

=kai;

ting1

(1):

='0';

up

(1):

='0';

elsifup

(2)='1'orting1

(2)='1'then

state:

=c2;

elsifdown1(3)='1'orting1(3)='1'then

state:

=c2;

mo:

='1';

endif;

endif;

whenc2=>ceng1:

="010";

ifmo='0'then

ifting1

(2)='1'orup

(2)='1'then

state:

=kai;

ting1

(2):

='0';

up

(2):

='0';

elsifdown1(3)='1'orting1(3)='1'orx='1'then

state:

=c3;

x:

='0';

elsifdown1

(2)='1'orup

(1)='1'orting1

(1)='1'then

mo:

='1';

endif;

else

ifting1

(2)='1'ordown1

(2)='1'then

state:

=kai;

ting1

(2):

='0';

down1

(2):

='0';

elsifup

(1)='1'orting1

(1)='1'ory='1'then

state:

=c1;

y:

='0';

elsifup

(2)='1'ordown1(3)='1'

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

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1