【FPGA电梯控制系统设计与实现】12000字(论文)_第1页
【FPGA电梯控制系统设计与实现】12000字(论文)_第2页
【FPGA电梯控制系统设计与实现】12000字(论文)_第3页
【FPGA电梯控制系统设计与实现】12000字(论文)_第4页
【FPGA电梯控制系统设计与实现】12000字(论文)_第5页
已阅读5页,还剩21页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I第1章绪论1.1研究依据及内容21世纪来,随着科学技术的发展,其中专用集成电路设计技术和电子设计自动化技术发展尤为迅速,这改变了传统的电路设计方法,使这数字系统设计有了根本性的变化REF_Ref15482\r\h[1]。在EDA技术尚未突破之前,所设计的电路中使用的集成电路很多,电路功能复杂,不方便发现问题,不容易扩展设计功能REF_Ref17445\r\h[2]。如果设计的是FPGA/CPLD的电子系统,那么这样不仅可以克服传统电子系统不容易扩展、不方便发现问题的缺点,而且能使电子系统稳定性与抗干扰性更好。利用FPGA/CPLD开发的电梯控制器方便维护,电路设计调试周期较传统设计方法更短,所以也更受设计者与开发者的青睐,FPGA/CPLD已经成为电梯控制系统设计中最常用的设计方法。由于各种现实原因,我接触不到实实在在的一部电梯实物来检验电梯控制器的功能。且本人的论文课题即为《基于FPGA的电梯控制器的设计与实现》,我要做的就是利用睿智FPGA开发板和Altera公司开发的QuartusII软件设计并模拟实现电梯控制器的各种功能。我要研究和实现的内容如下:(1)了解当前各种电梯的机械组成结构和控制系统的系统组成部分,以及目前电梯电梯在国内外的发展现状。(2)学习FPGA开发的有关知识,并将所学的理论知识融合到实际开发实践中。(3)规划好控制器、模拟电梯、信号输入以及状态显示四个模块的功能,且四个模块的功能合乎逻辑。(4)通过电子设计实现各个模块的功能,在EDA仿真软件环境QuartusII中编译、调试和综合各个模块代码,得到系统功能的时序仿真图形,能够分析时序仿真图形所代表的含义。(5)利用FPGA开发板自带的专用下载线缆将写好的程序下载到FPGA开发板,实现所设计的模块功能。1.2研究意义本次论文对我们来说极具意义,设计一款电梯控制器并实现其基本功能为本次,可以提高我们的设计与实践能力,这种能力对于互联网公司员工尤为重要。随着EDA技术和可编程逻辑电路的发展,逻辑电路设计和嵌入式系统设计中传统的标准逻辑器使用频率逐渐减少,以FPGA/CPLD为代表的可编程逻辑器件使用频率增加。本次设计的电梯控制器有高集成度、响应快、低功耗的的特点,设计时无需使用各种功能的分立逻辑元件,所有所设计程序模块都可以集成在一个FPGA开发芯片上。1.3国内外发展现状某个国家或地区的城市化和现代化水平与诸多因素密切相关,其中电梯制造业发展情况能够较好的反应城市化水平REF_Ref30729\r\h[5]。随着国家经济发展水平的提升,电子科学技术也日渐繁荣,建筑物的高度的增长与技术发展的的增长速度呈正相关REF_Ref30860\r\h[6]。电梯系统作为建筑物的一部分,扮演者重要的运输者角色。它承担着高层运输用重要的交通系统运输者角色,它主要利用于高层建筑或矿井采矿。随着电子信息科技的发展和计算机科学技术的发展,现代电梯成为计算机、照明、发动机、电梯等综合产业。世界上所有产品的快速发展都是在人们的生产生活催化下加速的。20世纪90年代,世界经济快速发展的同时,电梯行业也在迅速发展,让人类的生活变得快捷简单,它还是代表人类进步的产品。电梯行业的发展,侧面体现了人类社会的进步和发展状况。目前大部分海外电梯公司正从直流电梯的制造和开发转向交流电梯的生产开发。国内外的日常的低层建筑中,液压式电梯逐渐被广泛使用,而低层建筑中的小的私人电梯也是电梯设备的新部分。电梯今后有向技术优化、环境友好、低电力、智能型网络运营的发展倾向,这会让我们的生产生活更加便利。近些年以来,我国出现了一股热,不少老旧小区开始扩建电梯,电梯房建设规模也在不断扩大;基于此背景,电梯的需求逐年增加,各种情境下对电梯质量的要求越来越高。随着我国科学技术水平的提升,电梯产业也在持续发展,电梯技术正在不断得到更新与创新。在高速电梯的研究与设计中,永久磁铁型的非重力电机技术得到了有效的整合。如果这种技术可以用于当初的高层建筑的电梯中,那么会减少噪音和使用成本。随着我国科学技术的进步,相应的技术将会与我们的生活密不可分,就像我初中时刚接触手机一样,我根本未曾设想今天2021年的手机如此神奇;我们现在也不能准确的预料到多年以后的电梯能发展到什么水平,但是我可以肯定的是:电梯系统一定能网更好的方向发展。

第2章课题设计依据2.1电梯控制模块设计依据2.1.1FPGA简介与开发板的选择FPGA是现场可编程门阵列的简称,全称为FieldProgrammableGateArray。它是在PAL、GAL与CPLD的基础上开发的是一种半导体IC,使用FPGA可以改变设备内部的大部分的电子功能;在印刷电路板组装过程中,甚至在设备“现场”交付给客户后,设计工程师都可以对器进行更改。FPGA给很多电子设备的设计者带来了好处,如对于飞机导航与驾驶员辅助设计者与维护人员来说,极大地减少了他们的设计与维护的工作量并提高了设计与维护效率。21世纪以来,随着人工智能、大数据、媒体处理和5G等概念的兴起,FPGA开发成为一个热门行业,FPGA在这些热门领域得到了广泛的应用。FPGA开发的本质是硬件开发。用硬件语言描述所需功能,用集成工具合成电路,然后在FPGA中布局电路,最后生成可运行的比特率文件。在选择哪种类型的逻辑器件时可以从性价比和学习资源方面考虑,但是最重要的还是考虑逻辑器件的芯片引脚、逻辑单元、内置存储器、功耗、封装形式等因素。其次要注意的一点是,如果设计的系统要求方便升级且易于扩展,那么在设计中应该有意识地保留一些逻辑资源以供备用。最后,我们在系统研发时最好选择易于升级、引脚兼容性好的逻辑器件。根据设计者对设计品的要求,你可以初步选择一个理想的逻辑设备。选择FPGA后,根据逻辑装置本身的特性选择电力管理装置、存储和配置信息单元等器件。综上所述,本设计使用的开发板如图2.1所示,为睿智FPGA2.0开发板,使用的核心处理器是Altera’sCycloni中的FQ3D9R319D9。选择睿智FPGA2.0开发板的部分理由如下:睿智FPGA2.0开发板是一款较老的开发板,学习资源较多,可以帮助我们更顺利地完成设计;睿智FPGA2.0.开发板的核心板与接口板分离,核心板虽小,但元件齐全,上面有的元件有FPGA和各类存储器、用户扩展PACK和按键、LED和电源插座等;睿智FPGA开发板的的核心板的用户扩展PACK可以使其可以独立使用而无需接口板连接,因此核心板有了良好的扩展性的优点;睿智FPGA开发板的的接口板集成了一些经典常用的外围接口,没有任何跳线设置,所以实验操作起来也更加方便。图2.1睿智FPGA开发板2.1.2软件语言的选择此次设计所采用的语言为VerilogHDL语言,这种语言能够很好的帮我们实现电梯控制器的各个模块的逻辑设计。使用Veri1ogHDL语言进行设计,可以说明数字逻辑电路设计的功能,并借助EDA工具模拟您所使用的技术语言,并将其整合到门等级电路中,使用FPGA逻辑装置提供必要功能。相比其他硬件描述语言,Veri1ogHDL语言的特点是使用方便,能用简洁的VerilogHDL语句描述复杂逻辑设计,为当今最常用最流行的硬件描述语言之一。Ver1logHDL是行为描述和结构描述的语言,它可以描述系统的结构、系统的操作。为了构建说明系统功能所需的功能逻辑电路的硬件逻辑模型,可以直接调用语言和组件。Veri1ogHDL模型的这些抽象的级别共有以下五种:系统级(system)、算法级(algorithm)、RTL级(RegisterTransferLevel)、门级(gate-level)和开关级(switch-level)五类REF_Ref24328\r\h[24]。如果设计内容比较复杂,那么可以设计多个VerilogHDL子功能模块,并由此组成其完整的硬件描述语言模型。如果这些功能子模块非常复杂,那么又可以由几个子模块组成功能子模块,其中有些功能单元需要集成到具体的硬件电路中,而有些功能单元不需要集成,只需要有一些激励信号即可。2.1.3仿真软件的选择选一个合适的仿真软件可以让我们在进行设计系统时少走好多弯路,因此我选择了Altera公司开发的QuartusII软件,这是一款比较全面的PLD/FPGA开发软件,具有很多优点,其支持的设计输入形式比较全面,比如支持VHDL,VerilogHDL、AHDL与设计的原理图。作为一款仿真软件,其内嵌的各种仿真功能都可以在综合仿真器中进行,特别赞的一点是,QuartusII软件中包含的第三方EDA工具接口足以应付大多数应用情景。QuartusII软件提供完整开发环境,其中也包括整个FPGA设计阶段的解决方案,如果能够有效利用软件,可以达到事半功倍的效果。第3章电梯控制器的设计3.1电梯控制器总体设计本次的毕业论文的课题是设计基于FPGA的电梯控制器设计与实现。控制器采用的核心处理器是FQ3D9R319D9,FQ3D9R319D9是Altera公司开发的CycloneII系芯片之一,其系统时钟是20兆赫兹;EDA仿真软件也为Altera公司开发的QuartusII软件;使用的FPGA开发板为睿智FPGA开发板。本次设计主要是从以下4个模块的设计考虑的:电梯控制、虚拟电梯、信号输入和状态显示,这四个模块的功能设计好了,本次设计的电梯控制器也就基本上能够实现其所需的功能。FPGA控制模块是控制器的主题与核心部分,其功能相当于人类的大脑,它又包含了按键消抖处理、解析与楼层判断、运行状态机、升降与开关门控制、楼层信息与状态显示、超重报警等部分REF_Ref21477\r\h[23];为了更好更直观的显示电梯控制系统的运行状态与模式,需要利用之前所学的电子信息相关知识设计模拟电路板,借助按钮或者信号输入的方式,利用LED灯来直观地模拟电梯的运行状态。此外,由于现实原因本人接触不到实实在在的一部电梯实物来检验电梯控制器的功能,所以需要设计虚拟电梯。3.2电梯控制器的设计要求此次论文的主要设计任务与要求是实现电梯控制系统最基本的功能,能够响应电梯内外的所有关键请求。主要设计逻辑和思路如下:(1)按照电梯运行方向优先的原则依次响应各种指令,如电梯箱内外的请求指令和调用指令.(2)电梯控制系统可以根据指令要求自行判断运行方向的功能。比如上下行信号同时响应,电梯会先响应同方向指令,然后继续响应响应另一方向运行指令。(3)在呼出控制开关装置中,初始楼层只有一个上行开关按钮,电梯门开关由该装置控制,按下上行按钮,控制电梯运行到达设定楼层;中间楼层的外箱呼叫系统都有向上按钮和向下按钮控制上下,电梯顶层只有向下按钮进行控制。(4)电梯显示模块必须有LED灯直观反映电梯运行情况。当电梯依次在某一楼层通过时,相应楼层的LED灯点亮;当到达所指定的楼层时,LED灯依次亮灭,代表电梯的开启和关闭状态。(5)如果无指令,电梯将在系统设定的时间内自动关门,返回等待状态。(6)此外,电梯能根据传感器接收的重量数据,发出超重警报等。本次设计需设置不同工作状态来描述电梯的运行方式,工作状态在论文第四章具体分析。第4章电梯控制器的实现4.1电梯控制器系统结构图本次设计的控制器的设计主要是从四个方面考虑的:虚拟电梯、控制器、信号输入与显示,因此从这四个方面设计了系统结构。图4.1电梯控制器系统结构图由电梯控制器系统结构图我们可以得知整个系统的核心关键部分为FPGA电梯控制模块,FPGA电梯控制模块设计好了,基本上就事半功倍了。系统硬件的核心功能有按键消抖、分析与楼层判断、上下行与开门关门控制、LED状态显示以及超重报警。为了实现电梯控制器的功能模拟,我设计了虚拟电梯模块,它是主要用于电梯门开关操作的虚拟电梯升降机。虚拟电梯升降机借助按钮输入电梯操作指令,利用LED灯来直观地模拟电梯的运行状态。如图4.2所示,为此次设计的电梯控制器硬件结构图。FPGA控制模块是控制器的主题与核心部分,其功能相当于人类的大脑,它又包含了按键消抖处理、解析与楼层判断、运行状态机、升降与开关门控制、楼层信息与状态显示、超重报警等部分REF_Ref21477\r\h[23];为了更好更直观的显示电梯控制系统的运行状态与模式,需要利用之前所学的电子信息相关知识设计模拟电路板,借助按钮或者信号输入的方式,利用LED灯来直观地模拟电梯的运行状态。此外,由于现实原因本人接触不到实实在在的一部电梯实物来检验电梯控制器的功能,所以需要设计虚拟电梯。图4.2硬件结构设计图4.2电梯控制器模块FPGA控制模块作为控制器的关键部分,包括了按键消抖处理、解析、楼层判断、运行状态机、上下行控制、开关门控制、状态显示、超重报警等部分REF_Ref21477\r\h[23]。本小节将重点分析图4.3所示控制器的三个子模块。图4.3电梯控制器输入输出信号图4.2.1按键消抖处理功能与接口说明:该模块的接口输入信号有:reset_n(复位操作指令信号),clk(时钟脉冲信号),up_key[1:0](上升操作信号),down_key[2:0](下降操作信号),inside_key[3:0](电梯轿厢楼层选择请求信号),输出信号:up_key_in[1:0](上升判断信号),down_key_in[2:0](下降判断信号),inside-_key_in[3:0](楼层请求信号)。模块端口信号定义:up-_key(1:0)表示外呼系统中的两个升序命令按钮,up-_key[0]接收二层操作信号,up-_key[1]接收三层操作信号;down-_key[2:0〕代表外呼系统中的三个下降操作信号,down-_key[0〕接收二层操作根据clk表示的时钟脉冲信号;Resetn代表复位操作指令信号;Down_key[0]是二层操作信号,down_key[1]接收三层操作信号,down_key[2]接收四层操作信号;Inside_key[3:0]表示电梯轿厢楼层选择请求信号,inside_key[0]接收一楼选择信号,inside_key[1]接收二楼选择信号,inside_key[2]接收三楼选择信号,inside-_key[3]接收四楼选择信号。Up-_key_in[1:0〕接收上升判断信号;down_key_in[2:0〕接收下降判断信号;Inside_key_in[3:0]接收楼层请求信号。该模块功能如下:此部分添加了D触发器,可以消掉按钮按下时产生的干扰,这样一来,电梯内外的每个按钮指令信号可以正确的传入控制器。图4.4按键请求消抖处理4.2.2解析模块模块功能与接口说明:A::uart_tx(数据发送指令信号)、cIk(时钟脉冲信号)、uart_rx(数据接收指令信号)为解析模块接口的输入信号以及输出信号。B:模块端口信号定义:uart_tx接收数据发送指令,clk接收时钟脉冲,uart_rx接收数据接收指令。C:模块功能如下:电梯初始位置接收到的数据信号指令,需匹配库中的数据信息记录。若在库中匹配到相关信息记录,则将设置的楼层信号发送至楼层判断模块;如果没有配到相关信息记录,则不会发送开门信号。4.2.3判断模块功能与接口说明:A:该模块的接口输入信号有:reset_n(复位操作指令信号),cIk(时钟脉冲信号),up_key_in[1:0](上升判断信号),down_key_in[2:0](下降判断信号),inside_key_in[3:0](楼层请求信号),floor_in[3:0](电梯正在四楼的反馈信号)。该模块的接口输出信号有:up_request(上升请求信号),up_done(上升完成信号),down_request(下降请求信号),down_done(下降完成信号)。B:模块功能如下:判断模块主要功能是对输入信息进行判断,如当前楼层信息,请求楼层信息,传递判断结果至下一步并驱动电梯完成所需的操作,所以说判断模块是电梯控制器控制电梯正常工作的重要保障。图4.5楼层判断模块4.2.4运行状态机功能与接口说明:A:该模块的接口输入信号:open_done(开门成功信号),close_done(关门成功信号),floor_in[3:0](停止楼层反馈信号),time_up(超时信号),over_weight_in(电梯内重量信号),输出信号:up_ctrl(上升反馈信号),down_ctrl(下降反馈信号),open_ctr(开门信号)l,close_ctrl(关门信号),over_weight(超重信号),light_ctrl(照明信号)。B:模块端口信号定义:floor_in[3:0〕接收停止楼层反馈信号:floor_in[0]接收停在一楼反馈信号,floorin[1〕接收停在二楼反馈信号,floorin[2〕接收停在三楼反馈信号;floor_in[3〕接收停在四楼反馈信号。Open-_done输出开门成功信息;close_done输出关门成功信息;time_up输出超时信号;over_weight_in接收电梯内重量信号。Up-_ctrl输出上升反馈信号;down-_ctrl输出下降反馈信号;open_ctrl输出开门信息;close-_ctrl输出关门信息。0ver-_weight输出超重信号;light_ctrl输出照明信号。模块功能为接收各种反馈信号,将各种反馈信号传送到相应的模块,运行状态机模块控制并完成各种操作如:电梯上升下降、电梯门开门关门、显示当前楼层信息、电梯超重报警等。4.3FPGA虚拟电梯模块前面虽然详细介绍介绍了电梯控制系统的各个组成部分,但是由于各种现实原因,我接触不到实实在在的一部电梯实物来检验电梯控制器的功能。且本人的论文课题即为《基于FPGA的电梯控制器的设计与实现》,我要做的就是利用睿智FPGA开发板和Altera公司开发的QuartusII软件设计并模拟实现电梯控制器的各种功能。于是我设计了如图4.6所示的虚拟电梯模块,这样就模拟了电梯控制器对电梯的控制,并且能够达到设计要求。为了使电梯控制器正常平稳的工作,这个虚拟电梯模块是在在核心板内部利用寄存器实现的,虚拟电梯模块主要模拟了电梯的运行和电梯门的开关,并将接收到的电梯运行情况和开关门情况反馈到电梯控制器,并等待下一步操作。图4.6电梯控制器仿真结构图模块端口的定义及其输入输出的信息:up_ctrl接收虚拟电梯上升信息;down_ctrl接收虚拟电梯下降信息;open_ctrl接收虚拟电梯开门信息;close_ctrl接收虚拟电梯关门信息;floor_in[3:0〕输出停止楼层反馈信号,floor_in[0〕输出停在一楼反馈信号,floor_in[1〕输出停在二楼反馈信号,floor_in[2〕输出停在三楼反馈信号;floor_in[3〕输出停在四楼反馈信号;open_done输出虚拟电梯开门成功信息;closedone输出虚拟电梯开门成功信息;timeup输出超时信息也即达到系统设定好的开门关门的时间间隔。4.4信号输入模块本小节主要介绍信号输入模块,此模块主要的信号来源为电梯内外的各个按钮,所以此模块的输入信号即由电梯内外的各个按钮的按键输入信号组成。具体实现过程如下:将外部按键信号转换为电梯运行控制的外部请求信息,将电梯内部按键信号输出为电梯控制模块的上行下行信息,通过电梯楼层信号自动清除下一步操作无关信号如电梯内外按键操作信号。本系统有9个按键输入信号按钮,外层系统有5个按钮,内层系统有4个按钮。按键分布与日常生活中的电梯相似,顶楼和一楼分别为外层系统的下降和上升按钮,中间楼层既有上升按钮又有下降按钮;内层系统为代表楼层的按钮。此次设计主要为实现电梯的一般控制,用到的也只是模拟电梯模块,故未像日常生活中电梯一般设置故障报警电话按钮。系统还设置了LED灯来反应电梯的工作状态,若电梯控制器正常工作,LED灯亮,反之熄灭。按键输入信号模块示意图表明,当电梯楼层处于开始状态时,如果某一层按键处于未按下的关闭状态时,所有信号输出的电平均高。如果按下某个键,信号由高电平转变为低电平,低电平自动存放至寄存器中。按键闭合瞬间,可能会出现以下问题:瞬时电压过大,导致按钮烧毁;不稳定的触电导致信号不清晰。解决办法如下:需要增加上拉电阻,分压按钮瞬时电压防止按钮烧毁;按钮电路还需采用D触发器,D触发器用于按键消抖,它可以驱动每个脉冲信号消除不清晰信号。通过D触发器的处理,当组合键不稳定时,也可以输出清晰的按键信号。4.5状态显示模块在虚拟电梯模块中,电梯正常运行的各种状态都是在FPGA中进行的。为了直观地反映电梯控制器的运行状态,设计了一个状态显示模块,可以通过LED灯亮灭反映电梯控制器的运行状态。模块端口信号定义及端口接收的信息:up_ctrl接收上升信息;down_ctrl接收下降信息;open-ctrl接收开门的信息;close-ctrl接收关门信息;light_ctrl接收照明信息;over_weight接收超载信息。本小节设计的状态显示模块跟前一小节设计的按键输入组合到一起,也就成立此次设计的演示电路板部分。状态显示模块如图4.7所示,进行设计时同样要设置分压电阻,防止LED灯被击穿电压破坏而达不到显示效果。图4.7状态显示模块4.6运行状态流程图一般来说,进行系统的设计最基本的任务就是理解系统流程并设计好运行流程图。本次设计的关键任务是FPGA电梯控制器的运行状态流程图的设计。设计一个合乎逻辑的流程图可以加深我们对本次系统设计的理解,也可以帮助读者迅速理解所设计的系统的运行流程。同日常生活所用的电梯系统类似,所以本次设计的六种状态也是以常生活所用的电梯系统为蓝本,其运行流程具体包括以下几个状态:上行下行、开门关门、延迟等待等。系统复位后(restn=1),进入空闲状态(Idle/000)。空闲状态下up,down,open,close四个电位都为0(此点在运行时序图中可以体现)。在有向上请求条件下,电梯上升(UP/010);在向上达到匹配楼层条件下,电梯停止进入等待(STOP/001);在刚到匹配楼层条件下,电梯开门(OPEN/011);在开门成功条件下,开门延时(DELAY/100),等待人员进入;在计时结束条件下,电梯关门(CLOSE/101);关门成功且电梯此未收到请求,在电梯关门成功条件下,电梯停止运行(STOP/001);在有向下请求的条件下,电梯下降,其他过程与相关运行的情况相同。图4.8电梯状态转换图表3.1电梯转换条件状态机模块端口引脚的定义及其输入输出信号:reset_n接收复位信、clk接收时钟脉冲、open_done接收开门完毕反馈信息、close_done接收关门完毕反馈信息、time_up接收延时信息。up_ctrl输出电梯上升信息、open_ctrl输出电梯开门信息、down_ctrl输出电梯下降信息、close_ctrl输出电梯关门信息。statement_output[2:0]输出电梯操作的7种状态,其参数分别为IDLE_status=4'd000、STOP_status=4'd001、UP_status=4'd010、OPEN_status=4'd011、DELAY_status=4'd100、CLOSE_status=4'd101、DOWN_status=4'd110。图4.9状态机端口信号引脚图4.7FPGA核心板引脚定义电梯警报LED引脚定义如下:let-position_distributionPIN_61=ALARM楼层LED引脚定义如下:let-position_distributionPIN_39=LEVEL_LED[0]let-position_distributionPIN_38=LEVEL_LED[1]let-position_distributionPIN_41=LEVEL_LED[2]let-position_distributionPIN_43=LEVEL_LED[3]电梯开关门所对应的LED引脚定义如下:let-position_distributionPIN_51=OCD_LED[0]let-position_distributionPIN_50=OCD_LED[1]let-position_distributionPIN_53=OCD_LED[2]set-location-assignmentPIN_55=OCD_LED[3]电梯内部4个楼层按钮引脚定义如下:let-position_distributionPIN_56=INSIDE_BUTTON[0]let-position_distributionPIN_57=INSIDE_BUTTON[1]let-position_distributionPIN_58=INSIDE_BUTTON[2]let-position_distributionPIN_59=INSIDE_BUTTON[3]RISE-KEY引脚定义如下:let-position_distributionPIN_45=RISE_KEY[1]let-position_distributionPIN_49=RISE_KEY[0]FALL-KEY引脚定义如下:let-position_distributionPIN_44=FALL_KEY[0]let-position_distributionPIN_46=FALL_KEY[1]let-position_distributionPIN_44=FALL_KEY[2]

第5章电梯控制系统结果仿真5.1电梯控制系统顶层模块图本次设计我所使用的设计语言为硬件描述语言Verilog-HDL语言,编程方法为模块化编程。在设计系统的过程中,本人了解系了统流程并设计好运行流程图,因此仿真程序的综合分析、布线产生的电路基本上没有逻辑错误。图5.1电梯控制系统顶层模块图根据仿真产生的虚拟电梯控制器系统顶层模块图如上图5.1所示,我将解释说明顶层模块三个部分的功能。左边部分为设计的按键,有4个楼层按钮,以及开门关门按钮,通过这部分电梯可以接收到操作命令;中间部分主要处理按钮的指令信号;右边部分为电梯状态机,根据前一模块输出的升降、开关门、停止和延时信息,控制电梯进行相应的运行操作。图5.2虚拟电梯控制系统上层模块图通过模拟生成的虚拟电梯控制系统的最上层模块图如上图5.2所示,我将解释说明虚拟电梯顶层模块三个部分的功能。左边部分为模拟的电梯开门关门,如果某时刻正停在某一楼层,如果此时有乘客在一楼按上升按钮、二楼三楼按升降按钮、或者在顶楼按下降按钮,那么输入的高低电平信号,会转化成此模块的输入信号,并进行虚拟开门关门;中间部分为FPGA控制器,它是FPGA控制系统的核心部分,可以处理电梯的各种运行状态,在未设计FPGA控制器模块的情况下,电梯系统不能处理各种指令;右边部分为虚拟楼层,主要进行虚拟上下运行,输出的信息可以进入LED模块,并通过LED灯亮灭反应上行下行的状态。系统顶层运行模块的运行状态流程包括:STOP(空闲状态状态),IDLE(空闲状态),DOWN(下降),OPEN(电梯开门),UP(上升),CLOSE(电梯关门),DELAY(延时状态)七个状态。5.2系统仿真结果本小节主要分析系统仿真结果。本小节的四个基本时序图是在QuartusII软件中编写代码并运行仿真代码得到的,具体操作时用的是AS模式。通过分析时序图,可以较为直观的认识电梯的运行状态。以下四个时序图分别为上升功能、下降功能、升降同步请求和升降异步请求的的仿真结果,其他电梯运行状态和冲突都由上升、下降、升降同步请求和升降异步请求这四种基本状态组成。图5.4上升功能仿真时序图图5.4为上升功能仿真,它体现了电梯从一楼上升到四楼的运行过程。A时刻之前,电梯在一楼停着且为未运行未收到任何指令的状态,如果在500ns时刻,给电梯一个操作指令,也就是按下4楼按钮,电梯对应的4楼按钮输出inside_key[3]信息,电梯接收到上升信息(up_ctrl),此时电梯停止楼层反馈信号floor_in[3:0]在电梯上升过程中,到达二楼时由0001变为0010,到达三楼时由0010变为0100,到达四楼时由0100变为1000。停止楼层反馈信号0001中,“1”位于二进制数0001的右边第一位,代表电梯位于一楼;停止楼层反馈信号0010中,“1”位于二进制数0010的右边第二位,代表电梯位于二楼;停止楼层反馈信号0100中,“1”位于二进制数0100的右边第三位,代表电梯位于三楼;停止楼层反馈信号1000中,“1”位于二进制数1000的右边第四位,代表电梯位于四楼。电梯内停止楼层反馈信号floor_in[3:0]变为1000时,时序图出现一个脉冲,上升完成信号up_done出现,意味着电梯上升操作完成。电梯同时收到开门信息open_ctrl并打开电梯门,紧接着完成开门动作并反馈虚拟电梯开门成功信号open_done。一段时间后出现超时信号time_up,系统收到关门信息close_ctrl,电梯门关闭瞬间出现虚拟电梯关门成功信号close_done,此时电梯已经完成关门操作,进入等待状态。至此,电梯成功完成一楼到四楼的整套操作。图5.5下降功能仿真时序图图5.5为下降功能仿真,它体现了电梯从四楼下降到一楼的运行过程。A时刻之前,为时序图的初始状态,电梯在四楼停着。此时按下电梯内的按钮1,inside_key[0],电梯接收到下降信息(down_ctr),此时电梯停止楼层反馈信号floor_in[3:0]在电梯下降过程中,到达三楼时由1000变为0100,到达二楼时由0100变为0010,到达四楼时由0010变为0001。停止楼层反馈信号0001中,“1”位于二进制数0001的右边第一位,代表电梯位于一楼,电梯位于其他楼层的反馈信号同此方法理解。,电梯停止楼层反馈信号floor_in[3:0]变为0001时,时序图出现一个脉冲,下降完成信号down_done出现,意味着电梯下降操作完成。电梯同时收到开门信息open_ctrl并打开电梯门,紧接着完成开门动作并反馈虚拟电梯开门成功信号open_done。一段时间后出现超时信号time_up,系统收到关门信息close_ctrl,电梯门关闭瞬间出现虚拟电梯关门成功信号close_done,此时电梯已经完成关门操作,进入等待状态。至此,电梯成功完成四楼到一楼的整套操作。图5.6升降同步请求仿真时序图图5.6为电梯上升过程中同时收到一楼上升请求和四楼下降请求时的时序图。在图5.4上升功能仿真时序图中能得知上升过程中inside_key[3:0]一直为0000,其中四个“0”代表每个楼层都未按楼层按钮。图5.6中TimeA之前电梯上升,到二楼时inside_key[3:0]由0000变为1001,这代表一楼四楼同时发出指令,这种情况下,电梯先处理上升指令后处理下降指令。电梯停止楼层反馈信号floor_in[3:0]变为1000时,时序图出现一个脉冲,上升完成信号up_done出现,意味着电梯上升操作完成。电梯同时收到开门信息open_ctrl并打开电梯门,紧接着完成开门动作并反馈虚拟电梯开门成功信号open_done。一段时间后出现超时信号time_up,系统收到关门信息close_ctrl,电梯门关闭瞬间出现虚拟电梯关门成功信号close_done,此时电梯已经完成关门操作。紧接着,电梯才响应一楼的下降指令down_request,到达一楼以后,完成一楼的上升操作。图5.7升降异步请求仿真时序图图5.7为电梯下降过程中同时收到一楼上升请求和四楼下降请求时的时序图。图5.7中TimeA之前电梯停在四楼,TimeA时刻收到三楼下降信号并下降到三楼。三楼按下下降按钮,电梯下降。下降过程又收到一楼四楼的请求,这种情况下,电梯会先到一楼,再到四楼。据体运行情况与上升仿真和下降仿真类似,在此便不重复阐述。5.3电梯运行状态阐述当电梯处于一楼,电梯接收信号以后只能上升;电梯位于二楼,电梯接收信号以后既能上升又能下降;当电梯处于最高一楼,电梯接收信号以后只能下降。当电梯接收的信号指令冲突时除了上升下降状态,电梯还有以下运行状态:开门关门状态、延时等待状态。

结论本次论文设计了基于FPGA的电梯控制器,实现了电梯控制器所具备的功各种基本能。本次设计采用了工程设计中常用的模块化设计方法,采用Altrera公司CyclioneII系芯片。系统功能用硬件描述语言Verilog-HDL实现,系统最主要的模块是控制器、其输入信号是由信号输入模块的按钮输入,辅助控制器完成控制的模块有虚拟电梯以及LED楼层显示模块。电梯运行的原则为方向优先的原则,举个例子来说来说就是:电梯处于上升状态,四楼和一楼同时发出指令,控制器先响应四楼指令,再响应一楼指令,直到所有请求响应完成,通过先后响应,电梯不仅能减少一部分冗余操作,而且能减少因指令冲突可能带来的不安全因素。经过测试,电梯控制器能够完成各种控制操作,达到了功能要求和设计目标。仿真结果证明,各种复杂冲突状态均由四个基本运行状态组成,因此本次设计的控制器能够控制电梯完成基本操作以及各种控制操作。由于本人才疏学浅,系统里边

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论