基于FPGA的智能电梯控制系统的实现

上传人:仙*** 文档编号:107375470 上传时间:2022-06-14 格式:DOC 页数:42 大小:376.50KB
收藏 版权申诉 举报 下载
基于FPGA的智能电梯控制系统的实现_第1页
第1页 / 共42页
基于FPGA的智能电梯控制系统的实现_第2页
第2页 / 共42页
基于FPGA的智能电梯控制系统的实现_第3页
第3页 / 共42页
资源描述:

《基于FPGA的智能电梯控制系统的实现》由会员分享,可在线阅读,更多相关《基于FPGA的智能电梯控制系统的实现(42页珍藏版)》请在装配图网上搜索。

1、毕业论文题目:基于FPGA的智能电梯控制系统的实现2010 年 12 月 07 日摘要智能电梯控制系统的设计思想智能电梯的编写的过程也不是一帆风顺的。而且我试过好多种方法去实现电梯的状态的转移。起初我想到的肯定是有限状态机。不过由于开始我想到只有六个请求分别为16楼,后来在老师的启发下和东十二楼的电梯实际运行情况我发现,6个按钮肯定是不够的,所以我又加了5个向上的请求按钮和5个向下的请求按钮,这样总共就有16个按钮了,由于当时我没有想到用信号并置的方法,所以需要分析的情况实在是太多了,我也没有信心了。不过问题始终都是要得到解决的,后来我在我们寝室的一个同学的参考书上看到了一个用VHDL语言编写

2、的智能电梯控制器的程序,不过很不完整,它给我的最大的启发就是信号并置的算法,我才发现这样一来的话,我的工作量就大大减少了。当时我不仅采用信号并置的算法外,还采纳了它的以楼层为电梯的状态转移的依据的思想,这确实是一个不错的方法,不过当时我一直没有任何进展,一是它是用VHDL语言编写的,而且我对这个语言不是很熟悉所以不是特别理解。后来竟然干起了把VHDL语言翻译成verilog语言的工作,这样没有任何含金量的工作让我浪费了不少时间。现在想起来,我才发现我竟然迷失了自己,我原先自己的算法已经被丢失了,留下了的仅仅是一些他人的程序。以楼层为电梯的状态转移的依据的编程方法让我没有得到任何进展,我放弃的这

3、种处理多种状态的方法,继而转向了我原先的有限状态机的方法。使用三段式的有限状态机的方法也花了很多时间去修正和改善。实现了基本的功能,当时一遇到比较复杂的情况时比喻同时有几个人在请求或者是同时有两个在不同楼层的请求时电梯该如何运行呢,这些特殊情况我在当时一直没有找到合适和有效的方法去解决。关键词:信号并置verilog 状态机Intelligent elevator controlsystem design thoughtAbstractIntelligent elevator compilation process is not easy. And I tried a variety of w

4、ays to realize the transfer of the state. At first I thought the affirmation is a finite state machine. But due to start I thought only six request and then in teacher inspired and east ten on the second floor of the elevator actual operation situation I found, 6 button affirmation is not enough, so

5、 I added five upward request button and five downward request button, so it has 16 button, because at that time I didnt think by signal and inverted method, so need analysis of true is too many, I also have no confidence. Nevertheless the problem are always to be solved, later I in our bedroom is a

6、classmate of reference books on saw a with VHDL language preparation intelligent elevator controller program, but is not complete, it gives me the greatest inspiration is signal and inverted algorithm, I discovered this way, then my workload is greatly reduced.I was not only use signal and inverted

7、algorithm outside, still adopted its to the floor for elevator status transfer basis thought, it is really a good method, but I havent made any progress, one is it is with VHDL language preparation, and Im not very familiar with the language so not particularly understanding. Later unexpectedly rais

8、ed the VHDLlanguage translation into verilog language job, so that no measure of work let I waste a lot of time. Now that I think about it, I found that I had lost themselves, I had his own algorithm has been lost, leaving the others are only some of the program. To the floor for elevator status tra

9、nsfer basis programming method, let I havent got any progress, I give up this handle a variety of state method, then turned to my original finite state machine method. Use the finite state machine 3-sectional methods also spent a lot of time to modify and improve. Realize the basic functions, when a

10、 meet more complex situations .Abstract KEY WORDS:A signal and buyverilogState machine目 录第一章概述摘要71.1 EDA概述71.1.1什么是EDA71.1.2 EDA的特81.1.3 EDA的应用81.2 FPGA的简介及特点91.3 VHDL语言及程序概述111.3.1 VHDL语言的发展.111.3.2 VHDL语言的特点111.3.3 VHDL语言程序的基本结构131.4状态机的简介13第二章电梯控制系统的分析152.1选题的背景152.2电梯控制的研究背景162.3 我国电梯的发展概况162.4

11、电梯设计的具体目的及控制要求172.5电梯控制器设计原理及思路172.6 电梯控制系统状态图分析18第三章电梯控制系统的设计与实现213.1 MAX+PLUSII的介绍213.2 电梯控制系统的VHDL语言设计及仿真223.2.1 模块示意图和输入输出描述223.2.2 模块设计过程253.2.3 波形仿真263.3 电梯控制系统的实验平台实现32结论与体会.33致.35附件程序.35参考文献.49第一章 概述摘要1.1 EDA概述EDA在通信行业电信里的另一个解释是企业数据架构,EDA给出了一个企业级的数据架构的总体视图,并按照电信企业的特征,进行了框架和层级的划分。 EDA是电子设计自动化

12、Electronic Design Automation的缩写,在20世纪60年代中期从计算机辅助设计CAD、计算机辅助制造CAM、计算机辅助测试CAT和计算机辅助工程CAE的概念发展而来的。1.1.1什么是EDA20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件如CPLD、FPGA的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极

13、改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。 现在对EDA的概念或畴用

14、得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。1.1.2 EDA的特点 高层综合和优化为了能更好地支持自顶向下的设计方法,现代的EDA工具能够在系统进行综合和优化,这样就缩短了设计的周期,提高了设计效率。采用硬件描述语言进行设计采用硬件描述语言进行电路与系统的描述是当前EDA技术的另一个特征。与传统的原理图设计方法相比,HDL语言更适合描述规模大的数字系统,它能够使设计者在比较抽象的层次上对所设

15、计系统的结构和逻辑功能进行描述。采用HDL语言设计的突出优点是:语言的公开性和利用性;设计与工艺的无关性;宽围的描述能力;便于组织大规模系统的设计;便于设计的复用,交流,保存和修改等。目前最常用的硬件描述语言有VHDL和Verilog HDL,它们都已经成为IEEE标准。3开放性和标准化现代EDA工具普遍采用标准化和开放性框架结构,任何一个EDA系统只要建立了一个符合标准的开放式框架结构,就可以接纳其他厂商的EDA工具仪器进行设计工作。这样就可以实现各种EDA工具的优化组合,并集成在一个易于管理的统一环境下,实现资源共享。1.1.3 EDA的应用随着电子技术的发展,可编程逻辑器件和eda技术已

16、广泛应用于通信、工业自动化、智能仪表、图像处理、计算机等领域。EDA技术是现代电子工程领域的一门新技术,它提供了基于计算机和信息技术的电路系统设计方法。EDA技术的发展和推广应用极推动了电子工业的发展。随着EDA技术的发展,硬件电子电路的设计几乎全部可以依靠计算机来完成,这样就大大缩短了硬件电子电路设计的周期,从而使制造商可以快速开发出品种多、批量小的产品,以满足市场的众多需求。EDA教学和产业界的技术推广是当今世界的一个技术热点,EDA技术是现代电子工业中不可缺少的一项技术。1.2 FPGA的简介及特点背景目前以硬件描述语言Verilog或 VHDL所完成的电路设计,可以经过简单的综合与布局

17、,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路比如AND、OR、XOR、NOT或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器Flipflop或者其他更加完整的记忆块。 系统设计师可以根据需要通过可编辑的连接把FPGA部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。 FPGA一般来说比ASIC专用集成芯片的速度要慢,无法完成复杂的设计,而且消耗更多

18、的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD复杂可编程逻辑器件备。 CPLD与FPGA的关系早在1980年代中期,FPGA已经在PLD设备中扎根。CPLD和FPGA包括了一些相对大数量的可以编辑逻辑单元。CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。 CPLD和FPGA的主要区别是他们的系统结构。CPLD是一个有点限制性

19、的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。 CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的置模块比如加法器和乘法器和置的记忆体。一个因此有关的重要区别是很多新的FPGA支持完全的或者部分的系统重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。 FPGA工作原理FPGA采用了逻辑单元阵列LCALog

20、ic Cell Array这样一个概念,部包括可配置逻辑模块CLBConfigurable Logic Block、输出输入模块IOBInput Output Block和部连线Interconnect三个部分。FPGA的基本特点1采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2FPGA可做其它全定制或半定制ASIC电路的中试样片。 3FPGA部有丰富的触发器和IO引脚。 4FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5 FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成

21、度、可靠性的最佳选择之一。 FPGA是由存放在片RAM中的程序来设置其工作状态的,因此,工作时需要对片的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时,FPGA芯片将EPROM中数据读入片编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。1.3 VHDL语言及程序概述VHDL

22、 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,诞生于 1982 年。1987 年底,VHDL被 IEEE 和美国国防部确认为标准硬件描述语言。 VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体可以是一个元件,一个电路模块或一个系统分成外部或称可视部分,及端口和部或称不可视部分,既涉及实体的部功能和算法完成部分。在对一个设计实体定义了外部界

23、面后,一旦其部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成外部分的概念是VHDL系统设计的基本点。 1.3.1 VHDL语言的发展在集成电路制造工艺的发展的过程中,微电子设计工艺已经达到了深亚微米时代,在EDA设计中主要有软硬件协作设计的要求,现有的工具支持SOC设计尚有难度,迫切需要提高设计能力。在设计语言中,由于VHL和Verilog HDL是目前通用的设计语言,在设计大系统时,不够方便直观,所以需要进一步完善。电子产品随着技术的进步,更新换代日新月异,而掌握电子产品开发研制的动力源EDA技术,是我们国家工程技术人员不可推卸的责任,因为中国的设计公司大多还处在发展的初级

24、阶段,所使用的设计工具都是几年前国外的主流工具。1.3.2VHDL语言的特点VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用 , 它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来 ,VHDL 语言主要具有以下优点:1 VHDL 语言功能强大 , 设计方式多样 VHDL 语言具有强大的语言结构, 只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时, 它还具有多层次的电路设计描述功能。此外 ,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现, 这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样 , 既支持自顶向下的设计方式, 也支持

25、自底向上的设计方法; 既支持模块化设计方法, 也支持层次化设计方法。 VHDL 语言具有强大的硬件描述能力 VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。 VHDL 语言具有很强的移植能力 VHDL 语言很强的移植能力主要体现在:

26、对于同一个硬件电路的 VHDL 语言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。 VHDL 语言的设计描述与器件无关 采用 VHDL 语言描述硬件电路时, 设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化, 而不需要考虑其他的问题。当硬件电路的设计描述完成以后 ,VHDL 语言允许采用多种不同的器件结构来实现。 VHDL 语言程序易于共享和复用 VHDL 语言采用基于库 的设计方法。在设计过程中 , 设计人员可以建立各种可再次利用的模块 , 一个大规模的硬件电

27、路的设计不可能从门级电路开始一步步地进行设计 , 而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块, 将这些模块存放在库中 , 就可以在以后的设计中进行复用。 由于 VHDL 语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言 , 因此它可以使设计成果在设计人员之间方便地进行交流和共享, 从而减小硬件电路设计的工作量, 缩短开发周期。1.3.3 VHDL语言程序的基本结构实体Entity结构体 包集合 配 库1.4状态机的简介关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而运行。每个事件都在属于当前 节点

28、的转移函数的控制围,其中函数的围是节点的一个子集。函数返回下一个也许是同一个节点。这些节点中至少有一个必须是终态。当到达终态, 状态机停止。 包含一组状态集states、一个起始状态start state、一组输入符号集alphabet、一个映射输入符号和当前状态到下一状态的转换函数transition function的计算模型。当输入符号串,模型随即进入起始状态。它要改变到新的状态,依赖于转换函数。在有限状态机中,会有有许多变量,例如,状态 机有很多与动作actions转换或状态摩尔机关联的动作,多重起始状态,基于没有输入符号的转换,或者指定符号和状态非定有 限状态机的多个转换,指派给接收

29、状态识别者的一个或多个状态,等等。 传统应用程序的控制流程基本是顺序的:遵循事先设定的逻辑,从头到尾地执行。很少有事件能改变标准执行流程;而且这些事件主要涉及异常情况。命令行实用程序是这种传统应用程序的典型例子。 另一类应用程序由外部发生的事件来驱动换言之,事件在应用程序之外生成,无法由应用程序或程序员来控制。具体需要执行的代码取决于接收到的事件,或者它 相对于其他事件的抵达时间。所以,控制流程既不能是顺序的,也不能是事先设定好的,因为它要依赖于外部事件。事件驱动的GUI应用程序是这种应用程序的典 型例子,它们由命令和选择也就是用户造成的事件来驱动。 Web应用程序由提交的表单和用户请求的网页

30、来驱动,它们也可划归到上述类 别。但是,GUI应用程序对于接收到的事件仍有一定程度的控制,因为这些事件要依赖于向用户显示的窗口和控件,而窗口和控件是由程序员控制的。Web应用 程序则不然,因为一旦用户采取不在预料之中的操作比如使用浏览器的历史记录、手工输入以及模拟一次表单提交等等,就很容易打乱设计好的应用程序逻辑。 显然,必须采取不同的技术来处理这些情况。它能处理任何顺序的事件,并能提供有意义的响应即使这些事件发生的顺序和预计的不同。有限状态机正是为了满足这方面的要求而设计的。 有限状态机是一种概念性机器,它能采取某种操作来响应一个外部事件。具体采取的操作不仅能取决于接收到的事件,还能取决于各

31、个事件的相对发生顺序。之所以能 做到这一点,是因为机器能跟踪一个部状态,它会在收到事件后进行更新。为一个事件而响应的行动不仅取决于事件本身,还取决于机器的部状态。另外,采取 的行动还会决定并更新机器的状态。这样一来,任何逻辑都可建模成一系列事件/状态组合。 状态机可归纳为4个要素,即现态、条件、动作、次态。这样的归纳,主要是出于对状态机的在因果关系的考虑。现态和条件是因,动作和次态是果。详解如下: 现态:是指当前所处的状态。 条件:又称为事件。当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。 动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作

32、不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。 次态:条件满足后要迁往的新状态。次态是相对于现态而言的,次态一旦被激活,就转变成新的现态了。第二章 电梯控制系统的分析2.1选题的背景随高层楼宇的增加,电梯越来越多的走进了人们的生活,对人们的生活的影响越来越大。为了让电梯更好的服务人们,各种电梯新技术不断地发展起来。随着人们生活水平的不断提高,经济的快速发展和生产生活的需要,城市高层建筑如雨后春笋拔地而起。与此相应,作为一种可以垂直升降运输的工具一电梯也得到迅猛的发展。现在,电梯己完全融入我们的生活、工作及学习中,人们越来越离不开它。因此,它的安全可靠性、迅速准确性、舒适性,

33、对人们来说都是非常重要的。为了确保电梯正常运行、安全使用,一般电梯都有专业的维修管理人员。他们必须对电梯原理、性能、特点、控制、运行要全面认识和掌握,才能做到对电梯的正确使用、管理及维护。根据我国有关部门的规定,电梯作业属于特种作业,其作业人员必须经过专门培训,并经理论考试和实践考核合格后,发给特种作业操作证方可上岗操作。同时,对电梯操作人员定期考核,让他们定期参加安全技术学习,扎扎实实地做好电梯维护和保养工作,才能使人们平安长久的使用电梯少,2.2电梯控制的研究背景电梯控制系统是一个相当复杂的逻辑控制系统系统要同时对几百个信号进行接收、处理。由于用户对电梯功能的要求不断提高其相应控制方式也在

34、不断发生变化。随着EDA技术的快速发展基于FPGA的微机化控制已广泛应用于电梯电路设计与控制的各个方面。2.3 我国电梯的发展概况电梯控制是属于机电一体化研究领域,它涉及到多个方面,包括:机械工程、电子技术、电力电子技术、电机与拖动理论、自动控制理论、电力拖动自动控制系统、微机技术和土建工程等多个科学领域。100多年来,我国电梯行业的发展经历以下几个阶段:对进口电梯的销售、安装、维护阶段,这一阶段我国电梯拥有数量仅约1100多台;独立自主、艰苦研制、生产阶段,这一阶段我国共生产安装电梯约1万台;建立三资企业,行业快速发展阶段,这一阶段我国共生产安装电梯约40万台。目前,我国已经成为世界最大的新

35、装电梯市场和最大的电梯生产国。并且还有着巨大市场和发展潜力空间。20XX,中国电梯行业电梯年产量首次突破6万台。中国电梯行业自改革开放以来第三次发展浪潮正在掀起。第一次出现在1986-1988年,当时适逢我国高层建筑业的大规模浪潮的第一次兴起。第二次出现在1995-1997年。应该说,随着我国经济的增长,电梯市场一直保持着旺盛的需求。其次表现在企业的规模效益逐步展现。随着我国经济平稳持续的发展,尤其是住宅产业作为国民经济新增长点的提出,为电梯业的发展提供了良好的机遇。今后几年,我国将年建住宅3. 5亿平方米,公建项目1.2亿平方米。随着城市向大型化、高层化的发展,我国每年将需要电梯在40000

36、台以上。如此大的市场需求,将是电梯业再创辉煌的最好契机。2.4 电梯设计的具体目的及控制要求使用FPGA完场6层的电梯控制系统。可以使用状态机实现。要求指示电梯所在楼层位置等其他必要的信号。通过仿真结果验证其正确性,并在开发板上进行硬件测试。系统的要求如下:(1) 电梯共有6层。电梯运行规则:上升时:响应比当前位置高的上楼要求,由下往上逐个执行;如果楼层有下楼请求,直接升到由此请求的最高层,然后进入下降模式。进入下降模式后,只响应比当前位置低的下楼请求,由上到下逐个执行。电梯有6层,每1秒上升或者下降1层。(2) 有信号灯指示电梯处于上升或者下降状态,并有数码管显示电梯到达层数。(3) 每一层

37、有信号灯指示该层电梯门状态,有两个按键分别响应上升或下降的请求(4) 每一层电梯部有乘客到达楼层的停站请求开关及其显示(5) 电梯到达有停站请求的楼层后,电梯门打开,指示灯亮,4秒后电梯门关闭,指示灯灭,直至执行完。最后停在发出最后一个请求的楼层。(6) 电梯的初始位置为一层,处于开门状态。2.5电梯控制器设计原理及思路原理与系统设计思想来源:平时我们上课或者是上自习都去过东十二楼或者去过科技楼、南一楼,免不了坐坐电梯,对它的基本工作原理我们有知道多少了,这次我们要制作一个智能电梯控制器,必须对它的工作原理有十分清晰的了解。我们设计的智能电梯控制器应该可以实时接受各楼层的上下请求信号及电梯部的

38、停靠请求,然后根据这些请现对电梯正确的控制:1、除了顶层和底层外,各楼层均设有上下请求开关,顶层和底层分别设有下降和上升请求开关,这一点应该不难理解;电梯设有乘客到达层次的请求开关。2、电梯每1s上升或下降一层3、电梯到达有停站请求的楼层后,经过1s后电梯门打开,开门指示灯亮,开门5s后电梯指示灯灭,电梯继续运行,直至运行完最后一个请求后停靠在当前层。以上是我们所应实现的基本功能。我在序言中也讲到了,应用有限状态机实现电梯的实时控制是最好不过的方法了,通过我的分析以及参考图书馆的有关书籍,也少不了参照一些网上的程序,最后总结出了电梯正常运行的七个状态:上升、下降、上升的过程中途停止、下降的过程

39、中途停止、开门、关门、等待状态。电梯在上述七个状态间的转移是通过三段式状态机来实现的,各状态间的转移大体与生活中的电梯运转一致,有如下的基本原则:1、方向为第一优先准则,这就是曾老师给我们的技术指标。电梯在运转时先响应同方向上的请求,只有当同方向上的请求响应完后,才能转而响应不同方向上的请求。2、初始化状态为1楼等待门是关闭的。这个就不用多解释了。除了我对电梯的运行规律做出如上的分析外,我的另一个选择开发智能电梯控制器的原因是我想锻炼一下自己的逻辑思维和分析复杂问题的能力。2.6 电梯控制系统状态图分析最开始我根据DE2板子所能提供的资源,把楼层数设为6层。从我查阅的书籍中我总结了两点是我可以

40、借鉴的。首先,是怎样处理数量繁多的电梯输入信号,如果采用分情况讨论的话,程序一路写完,复杂度肯定是不堪设想,而且我还不敢保证是否分析到所有的情况了。always up_all=1b0, call_up_5, call_up_4, call_up_3, call_up_2, call_up_1; /将各下降请求信号实时地合并 always down_all=call_down_6, call_down_5, call_down_4, call_down_3, call_down_2, 1b0;/将各停靠请求信号实时地合并 always request_all=request_6, request

41、_5, request_4, request_3, request_2, request_1;以上这一段程序就是我采用的信号并置处理很多输入信号的一种行之有效的方法。其次,我从资料中学习到的方法就是如何把信号并置的方法和有限状态机联系起来。这一点从下面的参数定义中可以窥见一二。 parameter WAIT=7b0000001, UP=7b0000010, DOWN=7b0000100, UPSTOP=7b0001000 , DOWNSTOP=7b0010000, OPENDOOR=7b0100000, CLOSEDOOR=7b1000000;/定义楼层的符号常量 parameterFLOOR

42、1=6b000001,FLOOR2=6b000010,FLOOR3=6b000100, FLOOR4=6b001000, FLOOR5=6b010000, FLOOR6=6b100000; parameter TRUE=1b1, FALSE=1b0;/定义门打开和门关闭的符号常量 parameter OPEN=1b1, CLOSED=1b0;/定义电梯上升,下降和静止的符号常量 parameter UPFLAG=2b01,DNFLAG=2b10,STATIC=2b00;这里采用了七个状态实现了有限状态机。WAITUPUPSTOPDOWNOPENDOORDOWNSTOPCLOSEDOOR以上是我

43、分析的两种基本的电梯状态转换图:黑线:WAIT TO UP TO UPSTOP TO OPENDOOR TO CLOSEDOOR TO WAIT粉红线:WAIT TO DOWN TO DOWNSTOP TO OPENDOOR TO CLOSEDOOR TO WAIT 由于状态转换的输入条件实在太多,在此我不画出,读者可以自行在程序附有详细注释中领会。我的程序中采用的是标准的MEALY型状态状态机。而且是老师建议的三段式的结构来写的。不过我有一点不明白的就是为什么在我的QUARTUS7.1中运用RTL VIEW不能显示出这个三段式的有限状态机。不过我会继续努力一下的,目前我智能用图形框来表示这个

44、状态的流程了。第三章 电梯控制系统的设计与实现3.1 MAX+PLUSII的介绍Max+plusII 是Altera公司推出的的第三代PLD开发系统.使用MAX+PLUSII的设计者不需精通器件部的复杂结构。设计者可以用自己熟悉的设计工具如原理图输入或硬件描述语言建立设计,MAX+PLUSII把这些设计转自动换成最终所需的格式。其设计速度非常快。对于一般几千门的电路设计,使用MAX+PLUSII,从设计输入到器件编程完毕,用户拿到设计好的逻辑电路,大约只需几小时。设计处理一般在数分钟完成。特别是在原理图输入等方面,Maxplus2被公认为是最易使用,人机界面最友善的PLD开发软件,特别适合初学

45、者使用。在这里我们可以先看一看用FPGACPLD开发工具进行电路设计的一般流程通常可将FPGA/CPLD设计流程归纳为以下7个步骤,这与ASIC设计有相似之处。1.设计输入。在传统设计中,设计人员是应用传统的原理图输入方法来开始设计的。自90年代初, Verilog、VHDL、AHDL等硬件描述语言的输入方法在大规模设计中得到了广泛应用。2.前仿真功能仿真。设计的电路必须在布局布线前验证电路功能是否有效。ASCI设计中,这一步骤称为第一次Sign-offPLD设计中,有时跳过这一步。3.设计编译。设计输入之后就有一个从高层次系统行为设计向门级逻辑电路设转化翻译过程,即把设计输入的某种或某几种数

46、据格式转化为软件可识别的某种数据格式。4.优化。对于上述综合生成的网表,根据布尔方程功能等效的原则,用更小更快的综合结果代替一些复杂的单元,并与指定的库映射生成新的网表,这是减小电路规模的一条必由之路。5.布局布线。在PLD设计中,3-5步可以用PLD厂家提供的开发软件如 Maxplus2自动一次完成。6.后仿真时序仿真需要利用在布局布线中获得的精确参数再次验证电路的时序。ASCI设计中,这一步骤称为第二次Signoff。7.生产。布线和后仿真完成之后,就可以开始ASCI或PLD芯片的投产。同样,使用Maxplus2基本上也是有以上几个步骤,但可简化为:1.设计输入 2.设计编译 3.设计仿真

47、 4.下载3.2 电梯控制系统的VHDL语言设计及仿真3.2.1 模块示意图和输入输出描述(1) 电梯主控制器模块elevator_controller:端口声明:InputPort:call_up_1, call_up_2, call_up_3, call_up_4, call_up_5分别为1-5楼的上行请求信号,call_down_2, call_down_3, call_down_4, call_down_5, call_down_6则分别为2-6楼的下行请求信号request_1, request_2, request_3, request_4, request_5, request

48、_6则分别为电梯部的停靠1-6楼的请求上述各端口均为有请求时,输入为高电平,否则为低电平;clk分别为状态转移时钟,reset为复位信号OutputPort:PosOut输出当前电梯所在的楼层,DoorFlag为开门标志,UpDnFlag为电梯上下标志LiftState输出当前电梯的状态.PosOut取值可为6b000001,6b000010,6b000100,6001000,6b010000,6b100000分别代表电梯处在1,2,3,4,5,6楼。这样编码的话,有利于后面的比较判断。DoorFlag取值可为1b0,1b1,分别代表当前门是关闭和当前门是打开的。UpDnFlag取值可为2b0

49、0,2b01,2b10,分别代表当前电梯是上升的,下降的和静止的。LiftState7b0000001,7b0000010,7b0000100,7b0001000,7b0010000,7b0100000,7b1000000,分别电梯处于等待模式、上升模式、下降模式、上升停止,下降停止、开门和关门等7个状态。2分频模块frequence_div:端口说明:Input ports:cp_50M;output ports:cp_1;3电梯状态仲裁器arbitrator:端口说明:Input ports:elevator_state;count_in;output ports:output open_

50、enable,stop_enable,up_enable,down_enable,close_enable;4LCD驱动模块DE2_Default:端口说明:Input ports:input open_enable,stop_enable,up_enable,down_enable,close_enable;inputCLOCK_50;/50 MHzinput KEY;output ports:inout7:0LCD_DATA;/LCD Data bus 8 bitsoutputLCD_ON;/LCD Power ON/OFFoutputLCD_BLON;/LCD Back Light ON

51、/OFFoutputLCD_RW;/LCD Read/Write Select, 0 = Write, 1 = ReadoutputLCD_EN;/LCD EnableoutputLCD_RS;/LCD Command/DataSelect, 0= Command, 1 = Data3.2.2 模块设计过程现在我简要的说明一下我的模块的设计过程:1电梯主控制器模块elevator_controller:此段智能电梯控制器由三个重要部分组成的。a信号并置部分,完成对5路向上请求、5路向下请求、6路部请求的信号并置,化繁为简。b三段式有限状态机部分。在有请求的情况下,电梯控制器还要根据电梯的当前状

52、态和当前的楼层去判断电梯的下一步该如何运作。c计数器部分。完成电梯的开门、关门的时间管理。2分频模块frequence_div:这段分频器完成对50Mhz的1分频操作。采用传统的一半就翻转的计数技巧。3电梯状态仲裁器arbitrator:完成电梯信号到LCD控制的信号转换。其中也采用了电梯主控制器中的信号并置的思想。这一点可以在我的程序中十分清楚的看到,在此我不再赘述。4LCD驱动模块DE2_Default:这个模块我是采用 拿来主义的。因为是DE2板子提供的源程序,所以编写起来还算比较轻松。就只加了一个 根据不同的输入产生不同的输出 的模块。中途还遇到了字符型液晶不能更新的问题,不过在同学的

53、帮助下,最终还是解决了。5数码管译码模块:6数码管时间译码模块:以上两个模块一起讲比较合适,因为它们都是采用了同样的译码原则,只不过条件不一样而已。我们可以针对不同的输入根据自己的意愿把它译成同样的数码显示。 以上的模块设计过程说的比较的简约。主要是大概的介绍了我的各个模块的基本设计原理,希望读者能从程序中仔细体会这种原理。3.2.3 波形仿真1当电梯处于初始状态时,电梯在高层有向下的请求时:2LCD的显示由于数据太多,所以单独显示如下:首先显示: it is static. 随后会显示:以上的字符发送到液晶显示模块之后,可以显示 door is rising. 随后会显示:可以显示 it i

54、s static. 以上的字符发送到液晶显示模块之后,可以显示 door is opening. 随后会显示:以上的字符发送到液晶显示模块之后,可以显示 it is closing. 最后会显示下列字符,电梯重新回到初始等待状态:以上可以显示 it is static. 说明:由于LCD显示波形会占用比较多的空间,所以以上我仅以在高层有向下的请求为例来说明,电梯的状态完全可以通过LCD来正确地显示出来。鉴于此,我的下面的波形将不展示LCD显示部分的波形图。3当电梯停在6楼处于等待状态时,在1楼和2楼同时有向上的请求时:4当电梯停在1楼处于等待状态时,在6楼和5楼同时有向下的请求时:5当电梯停在

55、6楼时,有在5楼的向下的请求时,电梯应该先到五楼,电梯部请求到1楼,如果电梯在下降的过程中,有在2楼的向上的请求时,电梯应该先相应部请求,然后相应外部请求:6电梯的强制运行按钮forbid:3.3 电梯控制系统的实验平台实现结论与体会结论:我们设计的智能电梯控制器应该可以实时接受各楼层的上下请求信号及电梯部的停靠请求,然后根据这些请现对电梯正确的控制:1、除了顶层和底层外,各楼层均设有上下请求开关,顶层和底层分别设有下降和上升请求开关,这一点应该不难理解;电梯设有乘客到达层次的请求开关。2、电梯每1s上升或下降一层3、电梯到达有停站请求的楼层后,经过1s后电梯门打开,开门指示灯亮,开门5s后电

56、梯指示灯灭,电梯继续运行,直至运行完最后一个请求后停靠在当前层。以上是我们所应实现的基本功能。我在序言中也讲到了,应用有限状态机实现电梯的实时控制是最好不过的方法了,通过我的分析以及参考图书馆的有关书籍,也少不了参照一些网上的程序,最后总结出了电梯正常运行的七个状态:上升、下降、上升的过程中途停止、下降的过程中途停止、开门、关门、等待状态。电梯在上述七个状态间的转移是通过三段式状态机来实现的,各状态间的转移大体与生活中的电梯运转一致,有如下的基本原则:1、方向为第一优先准则,这就是老师给我们的技术指标。电梯在运转时先响应同方向上的请求,只有当同方向上的请求响应完后,才能转而响应不同方向上的请求

57、。2、初始化状态为1楼等待门是关闭的。这个就不用多解释了。除了我对电梯的运行规律做出如上的分析外,我的另一个选择开发智能电梯控制器的原因是我想锻炼一下自己的逻辑思维和分析复杂问题的能力。体会:本人认为电梯时未来高层建筑必不可少的一种工具,并且由于世界人口的急剧增加和地球的有效使用面积的减少,未来的建筑都在向越来越高的方向发展,所以电梯在未来有着举足轻重的作用,对此研究有着十分积极的作用。通过对此课题的研究,本人还发现一个优秀的电子产品必须具备自动化能力,本人还认为此课题还培养了我们更好的了解本专业的知识,提高个人修养,锻炼自己的实际操作能力以及对待一件事的严谨态度,以及对以后的工作提出了宝贵的

58、经验。首先感我们学校给了我们这样一个宝贵的锻炼自己的能力的机会。我觉得在大学缺少的就是象这样的锻炼,我们不是有好多同学抱怨自己工作没经验、做项目没有经验吗?我觉得只要象这样的机会都每次认真对待了,我觉得我们就会有一个很不一样的看法。回顾一下我们从大一到现在象这样的机会不多:大二上的C语言程序课程设计;大二下的电工实习;大三上的电子线路设计与测试实验多功能数字钟的设计;大三上的IC课程设计;可以看出我们这样的机会不是没有,如果每一次我们都认真做了,认真总结了,认真分析了,资料认真查了,那么不管你最终成绩如何,我觉得我们都成功了。致回首课题研究的历程,对那些引导我、帮助我、激励我的人心中充满了感激

59、。首先要感导师小献老师,虽然我们是在开始毕设时才算真正的认识,但他却能以一位长辈的风来容谅我的无知,给我不厌其烦的指导,从论文定题、开发过程的疑难解决到论文概要、写作方式以及用词造句、标点符号,倾注了老师大量的心血。课题研究开发以及论文写作期间,深深受益于老师的关心、爱护和谆谆教导。能在老师手下做毕设,我为自己感到庆幸。在此谨向老师表示我最诚挚的敬意和感! 同时,感所有教导过我、关心过我的老师以及电信学院的所有老师。他们为我的学业倾注了大量心血,为人师表的风令我敬仰,严谨治学的态度令我敬佩。最后再次我非常感老师对我的帮助。附件程序智能电梯主控制器模块module elevator_controller/input ports: cp_50M,clk,reset,forbid,call_up_1, call_up_2, call_up_3, call_up_4, call_up_5,call_down_2, call_down_3, call_down_4, call_down

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!