




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文题目:电梯控制器的VHDL程序设计与仿真专 业:微电子学本 科 生:陈伟伟 (签名)_指导教师:岳改丽 (签名)_摘 要本设计(改为论文)主要介绍了基于FPGA设计的五层电梯控制器,采用VHDL语言进行编译,并进行了电路综合和仿真。该控制器具备了FPGA芯片的硬件体积小、实时性好、工作效率高、提高系统的集成度等特点且遵循方向优先的原则,提供五个楼层多个用户的载客服务,并指示电梯的运行情况。本设计的亮点是使用状态机的方法来完成电梯的几个运行状态。(改,)将主控制器的状态分为6种,停止、等待、上升、连续上升、下降及连续下降,状态的划分与楼层无关(增加,)因此具有很强的通用性。本课题试验调试平台是Altera公司的Quartus 软件和EDA实验开发系统。(改,)通过程序的调试和(改、)运行及仿真表明本设计可以完成电梯所在楼层显示和电梯运行方向指示。关键字:FPGA,VHDL,电梯控制器,状态机大红色要删去,下同Subject: The study and simulation of elevator controller based on VHDLSpecialty: MicroeletronicsName: Weiwei Chen (Signature) _Instructor: G aili Yue (Signature) _ABSTRCTThis design introduces the five floors elevator controller compiled with VHDL and the synthesis and simulation of the circuit. The controller follows the direction of the principle of priority, to provide the service of 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 .Using state machine is a strong point of this design. The main controller is divided into six states. The state has nothing to do with floors, so it has a strong common use. The debugging platform of this topic is Altera Quartus software and EDA experiment development system. Through the process of debugging、running and the simulation shows that this design can finish the function of the elevator direction and floors display.KEY WORDS: FPGA, VHDL, Elevator Controller, State Machine目 录1绪论11.1 选题的背景11.2 电梯控制器的研究背景11.3 我国电梯的发展状况11.4 电梯设计的具体目的及控制要求.22设计基础依据(改为工具介绍)42.1EDA技术介绍42.2FPGA简介62.2.1EDA实验开发平台72.2.2 EP2C5核心板(字号?)72.3硬件描述语言82.3.1VHDL和VerilogHDL比较82.3.2VHDL语言的基本特点82.3.3 VHDL的设计流程92.3.4 VHDL程序的基本结构92.3.5 状态机的简介102.4 QuartusII软件介绍113电梯控制器的设计及仿真143.1 电梯及电梯控制器的功能简介143.1.1 电梯的机械组成143.1.2电梯控制器的工作原理153.2 电梯控制器的程序设计153.2.1 电梯的总体控制思想163.2.2 电梯控制器的程序流程图173.2.3模块设计与实现183.3程序调试与下载283.3.1 程序调试283.3.2从设计文件到目标器件的下载293.3.3 加载及显示结果29结论33致谢错误!未定义书签。页码?参考文献错误!未定义书签。页码?附录I后要写名称,下同36附录II55附录III56附录IV57. - 58 -1绪论1.1选题的背景随高层楼宇的增加,电梯越来越多的走进了人们的生活,对人们的生活的影响越来越大。为了使电梯更好的服务人们,各种电梯新技术快速地发展起来。随着人们生活水平的不断提高,经济的快速发展及生产生活的需要,城市高层建筑如雨后春笋拔地而起。与此相应,作为一种可以垂直升降运输的工具一电梯也得到迅猛的发展。现在,电梯已完全融入我们的生活、工作及学习当中,人们越来越离不开它。因此,它的安全可靠性、迅速准确性、舒适性,对人们来说都是非常重要的。为了确保电梯正常运行、安全使用,一般电梯都有专业的维修管理人员。他们必须对电梯原理、性能、特点、控制、运行都要全面认识和掌握,才能做到对电梯的正确使用、管理及维护。同时,对电梯操作人员定期考核,让他们定期参加安全技术学习,扎扎实实地做好电梯维护和保养工作,才能使人们平安长久安心地使用电梯。1.2电梯控制的研究背景电梯控制系统是一个尤其复杂的逻辑控制系统系统同时要对几百个信号进行接收、处理。由于用户对电梯功能的要求越来越高其相应的控制方式也在不断发生变化。随着EDA技术的快速发展基于FPGA的微机化控制已经广泛应用于电梯电路设计及控制的各个方面。1.3 我国电梯的发展概况电梯控制是属于机电一体化研究领域,它涉及到多个方面,包括:机械工程、电子技术、电力电子技术、电机与拖动理论、自动控制理论、电力拖动自动控制系统、微机技术和土建工程等多个科学领域。100多年来,我国电梯行业的发展经历以下几个阶段:对进口电梯的销售、安装、维护阶段(1900-1949年),这一阶段我国电梯拥有数量仅约1100多台;独立自主、艰苦研制、生产阶段(1950-1979年),这一阶段我国共生产安装电梯约1万台;建立三资企业,行业快速发展阶段(自1980年至今),这一阶段我国共生产安装电梯约40万台。目前,我国已经成为世界最大的新装电梯市场和最大的电梯生产国。并且还有着巨大市场和发展潜力空间。2002年,中国电梯行业电梯年产量首次突破6万台。中国电梯行业自改革开放以来第三次发展浪潮正在掀起。第一次出现在1986-1988年,当时适逢我国高层建筑业的大规模浪潮的第一次兴起。第二次出现在1995-1997年。应该说,随着我国经济的增长,电梯市场一直保持着旺盛的需求。其次表现在企业的规模效益逐步展现。随着我国经济平稳持续的发展,尤其是住宅产业作为国民经济新增长点的提出,为电梯业的发展提供了良好的机遇。今后几年,我国将年建住宅3. 5亿平方米,公建项目1.2亿平方米。随着城市向大型化、高层化的发展,我国每年将需要电梯在40000台以上。如此大的市场需求,将是电梯业再创辉煌的最好契机。1.4 电梯设计的具体目的及控制要求使用VHDL来完成5层电梯控制系统设计。可以使用状态机实现。要求指示电梯所在楼层位置及电梯运行方向。通过仿真结果验证其正确性,并在FPGA开发板上进行硬件测试。系统的要求如下:(1)电梯共有5层。电梯运行规则:上升时:只响应比当前位置高的上楼要求,由近及远的原则一次响应知道响应完最后一个请求;如果楼层有下楼请求,直接升到由此请求的最高层,然后进入下降模式。进入下降模式后,只响应比当前位置低的下楼请求,由上到下逐个执行。电梯有5层,每1秒上升或者下降1层。(2)点阵模块指示电梯的运行方向,数码管显示电梯到达层数。(3)有信号灯指示该层电梯门状态,每层有两个按键分别响应上升或下降的请求(4)电梯到达有请求的楼层后,电梯门打开,指示灯亮,5秒后电梯门关闭,指示灯灭,直至执行完。最后停在发出最后一个请求的楼层。 (5)电梯的初始位置为一层,处于开门状态。设计思路电梯控制器通过乘客在电梯内外的请求信号控制电梯的运行,上升或下降。用户在电梯中选择所要到达的楼层,通过电梯主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯当前位置通过数码管显示。各模块的设计方法1)控制模块 此模块是设计的核心,电梯控制器的请求信号分为上升请求和下降请求,电梯收到请求信号后,都必须做预操作。具体来说就是当电梯所在楼层低于发出电梯外部请求的楼层或者低于楼内请求所要达到的目的楼层时,电梯必需在下一操作中上升,这时的请求信号就是上升信号。反之,则是下降信号。当电梯在一楼时,不管电梯内部还是外部,电梯只能收到上升请求信号,此时电梯进入预上升状态,准备上升,如果没有收到上升请求,则电梯待在一楼。当电梯在二、三、四楼时,如电梯外部内部均没有收到任何请求,电梯将在当前楼层楼待机;如电梯接收到上升请求信号,则进入预上升状态;如电梯接收到下降请求信号,电梯进入预下降状态。当电梯在五楼时,电梯只能接收到下降请求信号,此时电梯进入预下降状态,准备下降,没有收到请求信号则在五楼待机。 2)数码管显示模块用来显示当前所在楼层。 3)点阵模块用箭头向上或向下显示当前电梯运行方向。 4)按键模块用来表示电梯内的按键。5)用电机的转动来模拟电梯的运行过程。这部分应在第三章写本书分为4章。第1章对本设计进行了概述,对电梯控制器的研究背景、发展状况、研究目的和设计的要求进行了简单描述;第2章主要介绍了电梯控制器的设计依据,分别对EDA、FPGA、VHDL和Quartus工具进行了简单的介绍;第3章主要介绍电梯控制器的程序设计及仿真。对电梯控制器的各个模块分别进行介绍,着重讲述了电梯主控制器的原理及设计思路。2 设计基础依据2 .1 EDA技术介绍 EDA概述用三级目录描述即2.1.1EDA在通信行业(电信)里的另一个解释是企业数据架构,EDA给出了一个企业级的数据架构的总体视图,并按照电信企业的特征,进行了框架和层级的划分。EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。1什么是EDA20世纪90年代,在国际上电子和计算机技术较先进的国家,一直积致力于极积探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的改革,而且取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用已经得到了广泛的普及,这些器件为数字系统的设计带来了非常大的大的灵活性和方便性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而可以使得硬件的设计如同软件设计那样方便快捷。这一切都极大地改变了传统的数字系统设计方法、设计观念和设计方法,促使了EDA技术的迅速发展。 EDA技术是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成文件设计,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量的工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。现在对EDA技术应用非常广泛。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。2(2.1.2)EDA的特点(1) 高层综合和优化为了能更好地支持自顶向下的设计方法,现代的EDA工具能够在系统进行综合和优化,这样就缩短了设计的周期,提高了设计效率。(2)采用硬件描述语言进行设计采用硬件描述语言进行电路与系统的描述是当前EDA技术的另一个特征。与传统的原理图设计方法相比,HDL语言更适合描述规模大的数字系统,它能够使设计者在比较抽象的层次上对所设计系统的结构和逻辑功能进行描述。采用HDL语言设计的突出优点是:语言的公开性和利用性;设计与工艺的无关性;宽范围的描述能力;便于组织大规模系统的设计;便于设计的复用,交流,保存和修改等。目前最常用的硬件描述语言有VHDL和Verilog HDL,它们都已经成为IEEE标准。(3)开放性和标准化现代EDA工具普遍采用标准化和开放性框架结构,任何一个EDA系统只要建立了一个符合标准的开放式框架结构,就可以接纳其他厂商的EDA工具仪器进行设计工作。这样就可以实现各种EDA工具的优化组合,并集成在一个易于管理的统一环境下,实现资源共享。3 EDA的应用随着电子技术的发展,可编程逻辑器件和EDA技术已广泛应用于通信、工业自动化、智能仪表、图像处理、计算机等领域。EDA(ElectronincDesign Automation,电子设计自动化)技术是现代电子工程领域的一门新技术,它提供了基于计算机和信息技术的电路系统设计方法。EDA技术的发展和推广应用极大地推动了电子工业的发展。随着EDA技术的发展,硬件电子电路的设计几乎全部可以依靠计算机来完成,这样就大大缩短了硬件电子电路设计的周期,从而使制造商可以快速开发出品种多、批量小的产品,以满足市场的众多需求。EDA教学和产业界的技术推广是当今世界的一个技术热点,EDA技术是现代电子工业中不可缺少的一项技术。图2-1为采用EDA设计的总流程概念提出与系统定义高层建模系统仿真验证分析和优化转换低层建模电路仿真验证分析和优化物理实验真实测试投入使用图2-1 EDA设计流程图2.2 FPGA简介 FPGA是FieldProgrammable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是专用集成电路中一种半定制电路。克服了传统可编程器件数有限的缺点。FPGA器件是由美国XILINX公司于1985年首先推出。一般把FPGA定义为基于查找表技术(LOOK-UP Tablc,LUT)和SRAM工艺的PLD,目前的FPGA已远超出先前产品的基本功能,并且整合了许多常用功能(如RAM、时钟管理和DSP),在新型的的系统级可编程逻辑器件中还可以以IP核的形式来进行功能设计,或许只需要一块FPGA芯片就可以实现所有功能,成为片上系统。FPGA芯片的结构如图2-2所示。图2-2 FPGA芯片结构图近几年来FPGA有了很快的发展,按照传统观点,FPGA仅用于产品原型设计和ASIC的验证,用于大规模的数字系统开发就过于昂贵且功耗巨大。随着FPGA的研究突破了低功率、低成本和先进工艺的瓶颈后,FPGA的应用领域日益扩大,随着功能和性能的进一步提高,FPGA应用领域已成可编程逻辑领域扩展到了高性能DSP、高性能嵌入式等领域。2.2.1 EDA实验开发平台EDA实验开发平台提供了丰富的资源供学生或开发人员使用,资源包括接口通信、控制、存储、数据转换以及人机交互显示等几大模块,接口通信模块包括SPI 接口、IIC 接口、VGA接口、RS232接口、网络接口、USB接口、PS2键盘/鼠标接口、1Wire 接口等;控制模块包括直流电机、步进电机和交通灯的控制模块等;存储模块包括EEPROM存储模块等;数据转换模块包括串行ADC、DAC、高速并行ADC、DAC以及音频CODE等;人机交互显示模块包括8个按键、12个拨动开关、12个LED发光二极管显示、4*4键盘阵列、128*240图形点阵LCD、8位动态7段数码管、16*16点阵、实时时钟等。2.2.2 EP2C5核心板 EP2C5核心板为基于Altera Cyclone II器件的嵌入式系统开发提供了一个良好的硬件平台,它可以为设计人员提供以下资源。1 主芯片采用Altera Cyclone II器件EP2C5Q208C82 EPCS118配置芯片3 标准AS编程接口和JTAG调试接口4 50MHz高精度时钟源5 三个高密度扩展接口6 支持上电复位电路7 支持+5V直接输入,板上电源管理模板2.3硬件描述语言 硬件描述语言HDL 是一种用形式化方法描述硬件电路系统的语言。利用这种语言硬件电路系统的设计可以从上层到下层逐层描述设计思想,用一系列分层次的模块来表示复杂的系统。然后利用EDA工具逐层进行仿真验证,生成实际的电路模块组合,再经过自动综合工具转换成门级电路网表。2.3.1 VHDL和VerilogHDL比较硬件描述语言经过几十年的发展种类繁多。目前比较有代表性的硬件描述语言有VHDL、VerilogHDL。目前VHDL和VerilogHDL作为IEEE工业标准硬件描述语言,得到了众多EDA公司的支持。VHDL和VerilogHDL两者相比,前者使用的较多,但对于初学者来说后者更易学习。2.3.2 VHDL语言的基本特点VHDL能成标准化的硬件描述语言又得到广泛应用,正式?因为有如下优点。(1) 功能强大和设计灵活。VHDL拥有强大的语言结构,可以用简洁的程序描述复杂的逻辑控制。(2) 与具体器件无关。设计人员采用VHDL设计硬件电路时,并不需要一开始确定采用哪些器件,也不需要了解器件的内部结构。这样设计人员就可以把精力集中在系统的设计方面。设计完成后,可根据设计选择合适的器件。(3) 很强的移植能力。VHDL语言的移植能力非常强,同一个设计的程序可以被不同的工具所支持,包括综合工具、仿真工具、系统平台。(4) 强大硬件描述能力。VHDL语言既能描述门级电路又能描述系统及电路(5) 语法规范易于共享。VHDL的语法非常规范,可读性也非常强。用它编写的代码文件即使程序,也是文档;既可以作为设计人员之间相互交流谈论的内容,也可以作为合同文本供双方签约。其次共享性,适合大规模协作开发利用。VHDL自身也存在一些缺点。(1) 要求设计人员有一定的硬件电路基础。(2) 系统的抽象表达能力较差。不能够对模拟电路进行描述。2.3.3 VHDL设计流程(1)设计人员确定电路实现的具体功能。(2)设计输入。采用自顶向下的方法,将设计模块化。模块划分过程是设计的重要环节,这一环节花费的时间和精力最多,以确保设计的最优。(3)功能仿真。此仿真阶段对电路进行功能验证,通过此过程,检查设计存在的不足。可以改正设计初期的不足和错误,节省后期的时间,缩短开发周期。(4)综合、优化和布局布线。综合是将较高层次抽象描述转化为较低层次的描述。优化是缩小时延增大资源的利用率。一个好的布局布线可以减少布线延迟。(5)时序仿真。(6)编程下载。(7)硬件测试。2.3.4VHDL程序的基本结构 一段完整的VHDL程序包括:实体(ENTITY)、结构体(ARCHTECTURE)、配置(CONFIGURATION)、库(LIBRARY)和程序包(PACKAGE)五部分组成,其中前四部分是可分别编译的源设计单元。(1) 实体是一个VHDL语言程序的基本单元,它可以很简单也可以很复杂。简单到可以描述一个门电路,也可以复杂到描述一个系统带电路。不管是简单的还是复杂的数字电路,实体的构成基本上是一致的,即由实体说明和结构体两部分组成。(2) 实体说明部分用以描述设计系统的外部端口信号和参数的属性及设置,结构体部分定义了设计单元的具体功能、行为、数据流程或内部结构。(3) 配置用于从库中选取所需单元组成系统的不同版本。(4) 程序包用于存放各个设计模块能共同使用的数据类型、常数、子程序等。2.3.5状态机的简介关于状态机的一个确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个事件都在属于“当前” 节点的转移函数的控制范围内,其中函数的范围是节点的一个子集。函数返回“下一个”(也许是同一个)节点。这些节点中至少有一个必须是终态。当到达终态时,状态机停止。 状态机包含一组状态集(states)、一个起始状态(start state)、一组输入符号集(alphabet)、一个映射输入符号和当前状态到下一状态的转换函数(transition function)的计算模型。当输入符号串,模型随即进入起始状态。它要改变到新的状态,依赖于转换函数。在有限状态机中,会有很多变量。例如,状态机有很多与动作(actions)、转换(Mealy机)或状态(摩尔机)相关联的动作,多重起始状态,基于没有输入符号的转换,或者指定符号和状态(非定有限状态机)的多个转换,指派给接收状态(识别者)的一个或多个状态,等等。 传统应用程序的控制流程基本是顺序的:遵循事先设定的逻辑,从头到尾地执行。很少有事件能改变标准执行流程;而且这些事件主要涉及异常情况。“命令行实用程序”是这种传统应用程序的典型例子。 另一类应用程序由外部发生的事件来驱动换言之,事件在应用程序之外生成,无法由应用程序或程序员来控制。具体需要执行的代码取决于接收到的事件,或者它 相对于其他事件的抵达时间。所以,控制流程既不能是顺序的,也不能是事先设定好的,因为它要依赖于外部事件。事件驱动的GUI应用程序是这种应用程序的典 型例子,它们由命令和选择(也就是用户造成的事件)来驱动。 Web应用程序由提交的表单和用户请求的网页来驱动,它们也可划归到上述类 别。但是,GUI应用程序对于接收到的事件仍有一定程度的控制,因为这些事件要依赖于向用户显示的窗口和控件,而窗口和控件是由程序员控制的。Web应用 程序则不然,因为一旦用户采取不在预料之中的操作(比如使用浏览器的历史记录、手工输入链接以及模拟一次表单提交等等),就很容易打乱设计好的应用程序逻辑。 显然,必须采取不同的技术来处理这些情况。它能处理任何顺序的事件,并能提供有意义的响应即使这些事件发生的顺序和预计的不同。有限状态机正是为了满足这方面的要求而设计的。 有限状态机是一种概念性机器,它能采取某种操作来响应一个外部事件。具体采取的操作不仅能取决于接收到的事件,还能取决于各个事件的相对发生顺序。之所以能 做到这一点,是因为机器能跟踪一个内部状态,它会在收到事件后进行更新。为一个事件而响应的行动不仅取决于事件本身,还取决于机器的内部状态。另外,采取 的行动还会决定并更新机器的状态。这样一来,任何逻辑都可建模成一系列事件/状态组合。 状态机可归纳为4个要素,即现态、条件、动作、次态。这样的归纳,主要是出于对状态机的内在因果关系的考虑。“现态”和“条件”是因,“动作”和“次态”是果。详解如下: 现态:是指当前所处的状态。 条件:又称为“事件”。当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。 动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。 次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。(5) 片厂商提供。?2.4 Quartus II软件介绍Alteral 公司是20世纪90年代最大的可编程供应商之一,发展的非常快。开发工具从早期的A+PLUS、到MAX+PLUS发展到MAX+PLUS II、Quartus、再到现在的Quartus II,多次版本的升级,软件性能能也得到了相应的提高。Quartus II是目前最主流的开发软件。该软件有如下几个显著特点:1、Quartus II的优点用三级目录Quartus II提供了一种与结构无关的的设计环境以缩短其开发周期降低设计的复杂度,设计人员不需要精通器件的内部结构,只要用自己熟练的输入工具进行设计。还可以对设计电路进行时序分析、功能分析、时许逼真、仿真及功率分析等。该软件界面友好,使用方便,功能强大,是一个完全集成化的可编程逻辑设计环境,是先进的EDA工具软件。此软件具有开放性、与结构无关、多平台、完全集成化、丰富的设计库、模块化工具等特点,支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式,内嵌自有的综合其以及仿真器,可以完成从设计输入到硬件配置的完整的PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使2用Tcl脚本完成设计流程外、提供了完善的用户图形界面设计方式。具有速度快、界面统一,功能能集中,易学易用等特点。2、Quartus II对器件的支持Quartus II支持Altera公司的MAX 3000A系列、MAX 7000系列、MAX 9000系列、ACEX 1K系列、APEX 20K系列、APEX II系列、FLEX 6000系列、FLEX 10K系列,支持MAX7000/MAX3000等乘积项器件。支持MAX IICPLD系列、Cyclone系列、Cyclone II系列、Stratix II系列、Stratix GX系列等。3、Quartus II对第三方EDA工具的支持对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三工具EDA。Atltera的Quartus II可编程软件属于第四代PLD开发平台。该平台支持一个工作组环境的设计要求,其中包括支持基于Internet的写作设计。Quartus 平台与Cadence、Exemplar Logic、MentorGraphics、Synopspys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络的编辑性能,而且提高了调试能力。 Quartus II软件的设计流程如图2-3所示设计输入(Design Entity)综合(Synthesis)布局布线(Place and route)时序分析(Timing Analysis)仿真(Simulation)编程和仿真(Programming & Configuration)时序逼近 (Timing closure)功耗分析(Power Analysis)调试(Debugging)工程更改管理(Engineering Change Management)图2-3Quartus II的设计流程 3 电梯控制器的设计及仿真3.1电梯及电梯控制器的功能简介3.1.1电梯的机械组成电梯是机与电紧密结合的复杂产品,是垂直交通运输工具中使用最普遍的一种电梯,其基本组成包括机械部份和电气部份,结构包括四大空间(机房部分、井道和底坑部分、围壁部分和层站部分)和八大系统(曳引系统、导向系统、门系统、轿厢、重量平衡系统、电力拖动系统、电气控制系统、安全保护系统)组成。电梯控制系统结构图如图3-1所示:拖动控制调整指示层门机控制井道装置安全保护装置厅外呼叫轿厢操作盘输出接口CPU存储器PC主机输入接口图3-1电梯控制系统结构图电梯信号控制基本由PLC软件实现。输入到PLC的控制信号有运行方式选择(如自动、有司机、检修、消防运行方式等)、运行控制、轿内指令、层站召唤、安全保护信号、开关门及限位信号、门区和平层信号等。电梯信号控制系统如图3-2所示拖动控制调整指示层门机控制井道装置安全保护装置厅外呼叫轿厢操作盘输出接口CPU存储器PC主机输入接口图3-2 电梯信号控制系统结构图怎么和上图一样?3.1.2电梯控制器的工作原理电梯的安全保护装置用于电梯的启停控制;轿厢操作盘用于轿厢门的关闭、轿厢需要到达的楼层等的控制;厅外呼叫的主要作用是当有人员进行呼叫时,电梯能够准确达到呼叫位置;指层器用于显示电梯达到的具体位置;拖动控制用于控制电梯的起停、加速、减速等功能;门机控制主要用于控制当电梯达到一定位置后,电梯门应该能够自动打开,或者门外有乘电梯人员要求乘梯时,电梯门应该能够自动打开。3.2电梯控制器的程序设计电梯控制系统总体框图如图3-3所示(增加)按键模块电梯控制模块数码管模块点阵模块电机模块分频模块图3-3电梯控制系统框图3.2.1电梯的总体控制思想1、(改为3.2.1)设计任务设计一个五层电梯控制器,功能如下:(1) 在电梯开关打开时响应请求;(2) 电梯初始位置时1层;(3) 电梯运行时,指示方向和当前所在楼层;(4) 电梯每秒升降1层;(5) 当电梯到达请求楼层时,自动开门,等待五秒后自动关门,继续运行,如没有请求,停留在当前楼层;(6) 收到请求后,自动到达用户所在楼层,自动开门;(7) 记忆电梯内的外所有请求,并按电梯运行顺序执行,在执行清除请求;(8) 电梯运行规则:当电梯处于上升状态时,仅响应比电梯位置更高的用户的请求;当电梯处于下降状态时,仅响应比电梯位置更低用户的请求;(9) 具有提前关门和延时关门的功能(10) 具有报警功能2、(改为3.2.2)系统设计图3-3放这写电梯控制器是设计的核心也是设计的难点。根据电梯的实际工作情况,可以将主控制器的运行状态分为6中?:停止、等待、上升、连续上升、下降和连续下降,如图所示3-4所示,电梯开关未打开时,处于停止状态,开关打开后处于等待状态,之后响应用户的请求,进入上升或下降状态。连续上升状态发生正在电梯不在中间停留的情形,例如,用户在1层进入电梯,知道5层,那么在2、3、4层处于连续上升状态,连续下降状态也同理。这里状态划分与具体的楼层无关,因此具有很强的通用性。其次考虑输入输出端口,一个电梯开关,供电梯管理员控制电梯,开关无效时,电梯不工作;用户进入电梯后,可以不必等待5秒,而提前关门,提供close请求服务;用户需要时也可以延时关门,延时的时间随意,提供delay请求服务;电梯内有5个按键,供用户请求楼层,5个电梯外控制器的上升下降请求;还有时钟输出端口比较简单,一个是开门信号,控制电梯开关门,另一个是输出电梯当前所在楼层,还有上升下降标志信号。连续下降(middown)下降(down)rising_edge(clk)等待(pause)ur=0 and dr=0Switch=1Switch=0停止(stop)连续上升(midup)上升(up)Position/=(urr and position)position=(urr and positionposition=(drr and position)position/=(drr and position)rising_edge(clk)图3-4 状态转移图3.2.2电梯控制器的程序流程图该部分最好放在“设计任务”中的最后写,你认为呢?初始化等待是否有请求?目标层与本层是否相同?是否判断电梯运行方向电梯运行楼层检测是否目标层?电梯停止开门延时关门是否停止运行?停止是否是否是否图3-5电梯控制器流程框图3.2.3模块设计与实现1、主控制器模块用四级目录(1)首先说明一下电梯状态。由图3-4可以看出,状态机设置了6个状态,分别是停止、等待、上升、连续上升、下降、连续下降。在结构体ARCHITECTURE 和 BEGIN之间有如下定义。TYPE statetype is (stop,pause,up,down,midup,middown)SIGNAL state :statetype;打开电梯开关后,尚无请求,电梯处于等待状态。如有用户发出请求,则电梯响应,上升至用户所在楼层。响应的过程是:判断请求是否符合规则,如果符合,则将请求保存至上升请求寄存器(urr)中,由等待转入上升状态,然后启动运行定时器,1秒中后,到达上一层,如果此层被用户请求,则转入等待状态,自动打开电梯门;否则转入连续上升状态,将运行定时器清零,然后返回上升状态,重新启动运行定时器,再上升一层,直至到达用户所在楼层。下降过程同理。在等待过程中,逻辑判断最为复杂。首先判断下一步状态,是继续上升,继续下降,还是一直等待,抑或从上升转入下降,从下降转入上升,这些都是通过方向标志位ur,dr的判断得到。其次是开门问题,电梯刚到某一层时,必定是用户准备出梯,或者准备入梯,电梯必须自动开门,启动开门定时器,5秒之后关门;如果电梯在过去一段时间处于等待状态,现在用户发出请求,则必须判断用户的位置,如果电梯跟用户在同一层,则须立即开门使用户如梯,否则直接到达用户所在楼层再开门。电梯内部设有提前关门、延时关门和报警请求,用户可以根据实际情况发出请求。这两项功能是通过对开门定时器的计数控制实现的,开门计数器和运行计数器都一样,都带清零端、置位端和使能端的8为计数器。按下提前关门按钮,等于将开门计数器置位,所以计数提前结束,从而实现提前关门的功能;同理按下延时关门按钮,等于将使能置位为无效,暂停计时,从而实现延时关门的功能。主控制器的VHDL程序见附录IV主控制器部分程序中定义了几个信号用于描述电梯运行状态,urr(上升请求寄存器)、drr(下降请求寄存器)、ur(上升标志)和dr(下降标志)。Opentime 和runtime 分别是开门计数器和运行计数器的输出。结构体中有六个进程,说明如下:第一个进程对系统时钟进行分频得到运行定时器时钟;第二个进程对运行计数器时钟分频得到开门计数器时钟;第三个进程是延时进程,用于检测信号跳变;第四个进程是岁上升/下降请求寄存器置位和清零;第五个进程控制电梯运行状态;第六个进程几路电梯位置变化及相应提前、延时关门请求。(3) (序号3删去)主控制器模块图如下(增加)端口clk为系统时钟10khz 图号及名称,下同?端口switch为电梯开关信号,当switch为高电平时电梯才能正常工作端口close为提前关门开关,当打开此开关,电梯关门delay为延时关门开关,当打开此开关,电梯们一直打开知道关闭开关然后延时5秒然后关门端口sel5.1为电梯内按键端口uplift5.1电梯外上升请求按键端口downlift5.1为电梯外下降请求按键端口qout5.1电梯位置输出信号端口ur1、d12为电梯运行状态输出信号端口opendoor为电梯开门信号端口ud为电机输出信号(4) (序号4删去)主控制器状态机程序U5:PROCESS(switch,clk) BEGIN IF switch=0 THEN state=stop; opendoor=0; openonce state IF (opentime=000 AND openonce=0 AND (ur=1OR dr=1)OR (uplift/=uplift_d AND position=uplift)OR (downlift/=downlift_d AND position=downlift) THEN opendoor=1; clrstop=0; enstop1=1; END IF; IF opentime=101 OR (openonce=1 AND (ur=1 OR dr=1)THEN IF ur=1 THEN state=up; wei=1; opendoor=0; enstop1=0; clrstop=1; openonce=0; ELSIF dr=1 THEN state=down; wei=1; opendoor=0; enstop1=0; clrstop=1; openonce=0; ELSE state=pause; wei=0; o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年消化内科克罗恩病诊治规范模拟考试答案及解析
- 2025年药物治疗原理及不良反应考核模拟试卷答案及解析
- 2025年全科医学工伤鉴定的程序规定模拟考试试卷答案及解析
- 2025年儿科感染性疾病诊断治疗考试卷答案及解析
- 2025年产科分娩镇痛技术操作规范与生产过程监护答案及解析
- 新质生产力社会应用案例
- 2025年急诊科立体定向穿刺术实操考试答案及解析
- 2025年放射科影像学常见异常体征识别考核答案及解析
- 税收服务新质生产力发展策略
- 2025年急诊医学重症抢救技术模拟考试卷答案及解析
- 新版(七步法案例)PFMEA
- 练平舌音和翘舌音的绕口令
- 01血涂片、红细胞形态PPT课件
- 高二年级开学学生大会年级主任的讲话[001]
- 校企合作讲座精品PPT课件
- 煤矿电缆与电缆敷设标准
- T∕CATCM 008-2019 阿胶质量规范
- 以内加减法口算100题可直接打印
- 增员-再从亮剑谈增员之道
- 锚杆锚索框架梁施工方案
- 医院食堂装修改造工程施工组织设计方案p
评论
0/150
提交评论