ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:1.65MB ,
资源ID:5514665      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5514665.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(毕业设计基于FPGA的三层电梯控制器的研究.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、毕业设计基于FPGA的三层电梯控制器的研究目 录摘要 IIAbstract. III第一章 引言 11 .1 设计内容简介 11 .2 选题背景 1第二章 设计的基础依据 12 .1 EDA技术介绍 12 .2 FPGA芯片介绍 22 .3 VHDL语言介绍 32 .4 仿真软件介绍 4第三章 电梯控制器的设计及仿真 531 电梯控制器的任务和要求 532 电梯控制器的算法分析 533 电梯控制器的设计 732 模块、模块功能及相应的程序 8331 控制模块 8332 楼层显示模块 8323 电梯状态显示模块 934 仿真及仿真结果 9总结 13参考文献 14致谢 15附录一 16附录二 17

2、基于FPGA的三层电梯控制器的研究专业: 学号: 学生姓名: 指导教师:摘要:本设计主要介绍了基于FPGA设计的三层电梯控制器,采用VHDL语言进行编译,并进行了电路综合和仿真。该控制器具备了FPGA芯片的硬件体积小、实时性好、工作效率高、提高系统的集成度等特点且遵循方向优先的原则,提供三个楼层多个用户的载客服务,并指示电梯的运行情况。本课题试验调试平台是Altera公司的Quartus 软件和EDA实验开发系统。通过程序的调试和运行及仿真表明本设计可以完成电梯所在楼层显示电梯运行方向指示。关键字:FPGA、VHDL、电梯控制器、EDA实验开发系统Based on the three-laye

3、r elevator controller FPGA researchAbstract:This design introduces FPGA design based on three elevator controller,compiled with VHDL language, and make the circuit synthesis and simulation.The controller follows the direction of the principle of priority, to provide three floors of the passenger ser

4、vice multiple users, and indicates the operation of the lift. This controller has FPGA chip compact hardware, good real-time, high efficiency, improve the system integration characteristics and follow the direction of the priority principle, offer more than three floors of passenger service, and use

5、r instructions to the elevator. This topic is Altera debugging test platform Quartus company software and EDA experiment development system. Through the process of debugging and operation and the simulation shows that this design can be completed in elevator running direction indicator that elevator

6、 floor.Keywords: FPGA, VHDL, Elevator Controller, EDA experiment development system第一章 引言1 .1 设计内容简介随着电子技术与自动控制技术的发展,越来越多的FPGA器件正广泛用于各个数字信号处理过程。其特点是硬件体积小、实时性好、工作效率高,提高系统的集成度。本设计针对我国电梯业的现状,将FPGA应用于三层电梯进行逻辑控制,通过合理的选择和设计,不但提高了电梯可靠性、可维护性以及灵活性,同时延长了使用寿命,缩短了电梯的开发周期,并提高了电梯的控制水平,改善了电梯运行的舒适感,使电梯达到了较为理想的控制效果。

7、1 .2 选题背景电梯作为高层大厦的主要垂直交通工具,电梯系统服务质量和效率的提高对建筑的有效利用和性能发挥将产生极为重要的影响。信息化时代的到来,推动了电梯的发展,电梯控制器已成为当今世界性开发的热点,也是各国综合实力的表现。电梯系统作为建筑楼宇自动化的重要组成部分,也要求向满足大厦中大量人流、物流的垂直输送需要,电梯制造商利用先进的技术,开发出各种高性能的电梯系统以满足乘客生理和心理要求,实现高效的垂直输送。提高我国电梯控制领域水平,必将带来很大的经济效益和社会效益。第二章 设计的基础依据2 .1 EDA技术介绍在计算机技术的推动下,电子技术在20世纪末获得了飞速的发展,现代电子产品几乎渗

8、透于社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时又促使现代电子产品性能的进一步提高,产品更新换代的节奏也越来越快。电子技术发展的根基是微电子技术的进步,它表现在大规模集成电路加工技术,即半导体工艺技术的发展上。表征半导体工艺水平的线宽已经达到45nm以下,并还在不断地缩小;在硅片单位面积上集成了更多的晶体管;集成电路设计在不断地向超大规模、极低功耗和超高速的方向发展;同时,这些专用集成电路(Application Specific Integrated Circuit,ASIC)的设计成本还在不断降低,而在功能和结构上,现代的集成电路已能实现单片电子系统(Syste

9、m on a Chip,SoC)。作为现代电子设计技术的核心,EDA(Electronic Design Automation)技术依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言(Hardware Description Language,HDL)为系统逻辑描述手段完成的设计文件,自动地完成逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线)以及逻辑优化和仿真测试等功能,直至实现既定性能的电子线路系统。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。 1在现代高新电子产品的设计和生产中,微电子技术和现代电子设计技术是相互促

10、进、相互推动又相互制约的两个技术环节。前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论、电子技术、仿真技术、设计工艺和设计技术与最新的计算机软件技术有机的融合和升华。因此严格地说,EDA技术应该是这两者的结合,是这两个技术领域共同孕育的奇葩。图2-1为采用EDA设计的总流程图2-1 EDA设计流程图2 .2 FPGA芯片介绍FPGA是FieldProgrammable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是专用集成电路中一种半定制电路。具克服了传统可编程器件数有限的缺点,又具有可编

11、程的特点。FPGA器件是由美国XILINX公司于1985年首先推出。一般把FPGA定义为基于查找表技术(LOOK-UP Tablc,LUT)和SRAM工艺的PLD,目前的FPGA已远超出先前产品的基本功能,并且整合了许多常用功能( 如RAM、时钟管理和DSP),在新型的的系统级可编程逻辑器件中还可以以IP核的形式来进行功能设计,或许只需要一块FPGA芯片就可以实现所有功能,成为片上系统。FPGA芯片的结构如图2-1所示。图2-2 FPGA芯片结构图近几年来FPGA有了很快的发展,按照传统观点,FPGA仅用于产品原型设计和ASIC的验证,用于大规模的数字系统开发就过于昂贵且功耗巨大。随着FPGA

12、的研究突破了低功率、低成本和先进工艺的瓶颈后,FPGA的应用领域日益扩张,随着功能和性能的进一步提高,FPGA应用领域已成可编程逻辑领域扩展到了高性能DSP、高性能嵌入式等领域。22 .3 VHDL语言介绍VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,于1983年由美国国防部(DOD)发起创建,由IEEE(The Institute of Electrical and Engineers)进一步发展并在1987年作为“IEEE标准1076”发布,从此VHDL成为硬件描述语言的业界标准之一。至

13、IEEE公司发布了VHDL语言标准版之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具支持VHDl。此后VHDL语言在电子设计领域的得到了广泛的应用,并逐步取代了原有的非标准硬件描述语言。VHDL语言作为一个规范语言和建模语言,具有和强的电路描述和建模能力,能从多个多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL具有与具体硬件无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述能力。用VHDL语言进行电子系统设计的最大优点是设计者专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。其

14、具体的流程图如图2-3所示。图2-3 VHDL语言的设计流程2 .4 仿真软件介绍本设计采用Quartus 软件进行设计与仿真, Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用

15、等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的

16、设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。Quartus II软件的设计流程为:设计输入、综合和编译、适配器、仿真、下载(如图2-4所示)。图2-4 Quartus 软件设计流程第三章 电梯控制器的设计及仿真31 电梯控制器的任务和要求(1)每层电梯处设有上下请求开关,电梯内设有乘客到达层次的停站请求开关。(2)设有电梯所处位置指示装置及电梯运行情况指示。(4)当梯处于上升时,只相应比电梯所在位置高的上楼请求信号,直到最后一个上楼请求执行完毕,再进入下降模式。(5)当梯处于下降时,只相应比电梯所在位置低的下楼请求信号,直到最后一个下楼请求执行完毕,再进入上升模式。(6)电梯的初

17、始状态为第一楼层。32 电梯控制器的算法分析(1)请求信号分析:电梯控制器的请求信号分为电梯内部请求和外部请求,如果从这角度就很难对电梯运行情况进行分析,因为电梯梯内梯外的请求是随机且不能以有限的规则去对进行说明的,因此本设计把电梯的请求信号划分为上升信号和下降信号。电梯收到请求信号后,都必需做预操作。使电梯进入预上升状态的请求信号就是上升请求信号,具体来说就是当电梯所在楼层低于发出电梯外部请求的楼层或者低于楼内请求所要达到的目的楼层时,电梯必需在下一操作中上升,这时的请求信号就是上升信号。反之,则是下降信号。(2)电梯处于各层时的情况:当电梯在一楼时,不管电梯内部还是外部,电梯只能收到上升请

18、求信号,此时电梯进入预上升状态,准备上升,如果没有收到上升请求,则电梯待在一楼。如图3-1所示。当电梯在二楼时,如电梯外部内部均没有收到任何请求,电梯将返回一楼待机;如电梯接收到上升请求信号,则进入预上升状态;如电梯接收到下降请求信号,电梯进入预下降状态。如图3-2所示。当电梯在三楼时,电梯只能接收到下降请求信号,此时电梯进入预下降状态,准备下降,没有收到请求信号则返回一楼。如图3-3所示。图3-1 电梯处于一楼的情况分析图3-2 电梯处于二楼的情况分析图3-3 电梯处于三楼的情况分析对三个楼层的情况进行汇总,可得到图3-4的状态图。图3-4 电梯运行状态图电梯运行过程中,还存在处理信号优先的

19、问题,单纯的顺序优先或逻辑优先是不能满足控制要求的,因此采用随机逻辑的方式控制去解决信号优先的问题,即在顺序逻辑控制的基础上根据随机的信号输入,以及电梯的相应状态适时的控制电梯运行,如当电梯在三楼时,一楼、二楼均有上升请求,电梯则在二楼不停止,先直接到一楼接客。33 电梯控制器的设计本设计由3个模块组成:控制模块、楼层显示模块、电梯状态显示模块。电梯控制的结构框图如图3-1所示,电梯控制器的电路总图见附录1。 图3-1 电梯控制器整体框图32 模块、模块功能及相应的程序331 控制模块控制模块见图3-2,该模块是整个程序的核心,设计思想是将电梯的状态分为四个状态:一层状态c1,二层状态c2,三

20、层状态c3,开门状态kai,对每一个状态分析其所有可能。程序见附录2。图3-2 控制模块端口up1,up2,down2,down3分别是电梯外部一层上升请求、二层上升请求、二层下降请求、三层下降请求。端口k1、k2、k3是电梯内部所要到达的楼层请求。端口clk为时钟信号。端口site3.1输出的是电梯所在的楼层。端口mode输出的是电梯运行状态。端口door是电梯开门关门状态。332 楼层显示模块楼层显示模块的主要功能是将电梯所在的楼层显示的信号转换成数码管显示信号。图3-3 楼层显示模块端口a3.1输入的是电梯楼层信号。端口clk为时钟信号。端口p6.0为输出数码管显示信号。七段数码管显示的

21、原理是:当a、b、c、d、e、f、g输入正电源时,对应的LED灯就会亮,如当b、c接入正电源时,数码管就的b、c所对应的LED灯亮,达到显示“1”的效果。数码管显示器的发光排列如图3-4.图3-4 七段数码管323 电梯状态显示模块电梯状态显示模块图3-5 译码显示模块端口clk为时钟输入信号。端口mode为电梯状态信号输入。端口sel3.0为输出sel信号。端口q0.15输出的是点阵显示信号。34 仿真及仿真结果将编写的程序输入Quartus II,要注意工程名与顶层文件的主体名应相同,否则将会出现编译错误,然后对程序进行编译,编译成功后选择Assignments菜单中的Pins项,双击TO

22、中的new,然后双击对应的Location栏的new,在出现的下拉菜单中选择对应的端口信号名的器件引脚号。最后存储这些锁定的引脚号信息后,再编译一次;将实验箱上的并口通信线连和所设的引脚接好,选择菜单Tools中的Progranmer,选择Mode中的JTAG,单击Add File按钮,手动选择配置文件diantikzq.sof。单击Hardware Setup按钮,出现Hardware Setup页,双击此页中的ByteBlasterMv,之后点击Close按钮,完成后点击标符Start按钮,待Progress显示100%后就可以开始仿真。仿真结果:(1) 初始状态,数码管显示1,点阵显示,

23、如图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 三层到二层效果图总结本次设计主要是介绍三层电梯控制器的现状及发展趋势及设计思想,着重在第三章讲述了三层电梯控制的设计思想和模块构成及各个模块的功能、程序和仿真。进过最后的仿真结果和

24、设计要求对比,此次设计的控制器基本符合设计要求。在这次设计过程当中,了解了电梯控制器的现状和发展趋势,各种控制器的优缺点,基本了解到了FPGA的开发流程,掌握了Quartus II软件的设计与仿真,知道了开发设计过程应根据设计的任务要求选择合适的芯片,将设计任务按照要求分割成若干个基本的模块可以使设计变的更加条理化、逻辑化,也使得设计思路更加清晰、通俗。通过这次设计,发现了许多设计时的不足和错误,主要体现在对设计的整体观和主次观把握有所欠缺,还有就是自己知识面的不足。在今后的设计中应多查阅资料,充实自己的知识面,然后对设计任务进行深入仔细的分析解剖。参考文献(References)1 潘松,黄

25、继业EDA实用技术教程M北京:科学出版社,20061-1002 何道君,刘皖FPGA设计与应用M北京:清华大学出版社,20063-163 褚振勇,翁木云. FPGA设计及应用M. 西安:西安电子科技大学出版社,2003.4 刘福奇.FPGA嵌入式项目开发实战M. 北京:电子工业出版社,20095 罗苑棠.CPLDFPGA常用模块与综合系统设计实例精讲M. 北京:电子工业出版社,2007.6 延明,张亦华.数字电路EDA技术入门M. 北京:电子工业出版社,2007.7 陈雪松.VHDL入门与应用.北京:人民邮电出版社, 2000.8 侯伯亨.VHDL硬件描述语言与数字逻设计.西安电子科技大学出版

26、社, 2001. 9 刘宝琴.ALTERA可编程器件及其应用.清华大学出版社 ,1995 .10 赵雅兴.FPGA原理及应用.天津大学出版社 ,1999 .致谢非常感谢我的指导教师,朱海宽老师。本论文是在他的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱,在此我要向我的导师致以最衷心的感谢和深深的敬意。在此,向所有关心和帮助过我的领导、老师、同学和朋友表示由衷的谢意!衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授! 2010年5月附录一:三层电梯

27、的电路总图附录二:三层电梯控制器的程序library ieee;use ieee.std_logic_1164.all;entity veryhardd isport(up1,up2,clk,down2,down3,k1,k2,k3: in std_logic; site : out std_logic_vector(3 downto 1); a1,a2,a3 : out std_logic; mode,door : out std_logic);end;architecture veryhard of veryhardd istype state_type is(c1,c2,c3,kai);

28、begin process(clk) variable up,down1,ting1,ceng1:std_logic_vector(3 downto 1); variable mo,x,y,z :std_logic;variable cnt1,cnt2 :integer;variable state :state_type;begin if clkevent and clk=1 then if up1=0 then up(1):=1; end if; if up2=0 then up(2):=1; end if; if down3=0 then down1(3):=0; end if; if

29、down2=0 then down1(2):=1; end if; if k1=0 then ting1(1):=1; end if; if k2=0 then ting1(2):=1; end if; if k3=0 then ting1(3):=1; end if; if cnt1ceng1:=001; mo:=0; if up=000 or down1=000 or ting1=000then z:=1; end if; if z=0 then doorceng1:=010; if mo=0 then if ting1(2)=1 or up(2)=1 then state:=kai; t

30、ing1(2):=0; up(2):=0; elsif down1(3)=1 or ting1(3)=1 or x=1 then state:=c3; x:=0; elsif down1(2)=1 or up(1)=1 or ting1(1)=1 then mo:=1; end if; else if ting1(2)=1 or down1(2)=1 then state:=kai; ting1(2):=0; down1(2):=0; elsif up(1)=1 or ting1(1)=1 or y=1 then state:=c1; y:=0; elsif up(2)=1 or down1(3)=1

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

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