[毕业设计精品]采用VHDL语言来设计实用三层电梯控制器.doc
《[毕业设计精品]采用VHDL语言来设计实用三层电梯控制器.doc》由会员分享,可在线阅读,更多相关《[毕业设计精品]采用VHDL语言来设计实用三层电梯控制器.doc(19页珍藏版)》请在三一办公上搜索。
1、目 录1 引言12 EDA技术介绍22.1 EDA概述22.2 MAX+plus II软件简介23 电梯控制器设计33.1设计要求33.2电梯运行规则33.3电梯整体设计33.4端口设计说明43.5具体程序设计说明53.5.1 库声明部分53.5.2 实体部分53.5.3 结构体部分54 系统仿真95 硬件测试116 结论12参考文献13附录141 引言当今世界,部分地区人口高度密集,人和土地资源短缺的矛盾日益激化。这就注定了必须合理的利用土地去解决人与土地的矛盾。而兴建高层建筑是其中有效措施之一。因此能使人们快速便捷地到达目的楼层的电梯就应运而生了。 随着电子技术日薪月异的发展,集成电路从2
2、0 世纪60年代的小规模到中规模,再到大规模集成电路,伴随着它的高速发展,EDA技术、CPLD 技术也得到充分发展。电梯的使用越来越普遍,已从原来只在商业大厦、宾馆使用,过度到在办公室、居民楼等场所使用,并且对电梯功能的要求也不断提高,相应地其控制方式也在不停地发生变化。对于电梯的控制,随着技术的不断发展,微型计算机在电梯控制上的应用日益广泛,现在已进入全微机化控制的时代。电梯的微机化控制主要有以下几种形式:PLC控制,单片机控制,单板机控制,单微机控制,多微机控制,人工智能控制1。随着EDA技术的快速发展,CPLD/FPGA2已广泛应用于电子设计与控制的各个方面。本设计就是使用一片CPLD/
3、FPGA来实现对电梯的控制的。三层电梯广泛应用在大型的货运之中。其使用便捷,货运周期短,效率高成本低,对货运事业具有相当的经济价值。电梯作为高层建筑物的重要交通工具与人们的工作日益紧密FPGA/CPLD作为新一代工业控制器,以其高可靠性和技术先进性,在电梯控制中得到广泛应用,从而使电梯由传统的继电器控制方式发展为计算机控制的一个重要方向,成为当前电梯控制和技术改造的热点之一。电梯控制器是控制电梯按顾客要求自动上下的装置。本文采用VHDL语言来设计实用三层电梯控制器,其代码具有良好的可读性和易理解性,源程序经A1tera公司的MAX+plus II软件仿真,目标器件选用CPLD器件。通过对三层电
4、梯控制器的设计,可以发现本设计有一定的扩展性,而且可以作为更多层电梯控制器实现的基础。 2 EDA技术介绍2.1 EDA概述EDA技术是20世纪90年代初从计算机辅助设计(Computer Adied Design)、计算机辅助制造(Computer Adied Manufacture)、计算机辅助测试(Computer Adied Testing)和计算机辅助工程(Computer Adied Engineering)的概念发展而来的。随着超大规模集成电路(Very Large Scale Integration)规模和技术复杂度的急剧增长,一块芯片内集成门可达几十万甚至几百万门,并且还在迅
5、速增长,电子系统人工设计已十分困难,必须依靠电子设计自动化技术。EDA技术的基本特征和基本工具总的来说,现代EDA技术的基本特征是采用高级语言描述,具有系统级仿真和综合能力。它主要采用并行工程和“自顶向下”的设计方法,使开发者从一开始就要考虑到产品生成周期的诸多方面,包括质量、成本、开发时间及用户的需求等等,然后从系统设计入手,在顶层进行功能方框图的划分和结构设计,在方框图一级进行仿真、纠错、并用VHDL、Verilog-HDL、ABEL等硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证,然后再用逻辑综合优化工具生成具体的门级逻辑电路的网表3,其对应的物理实现级可以是印刷电路板或专用
6、集成电路。利用EDA技术进行电子系统的设计,具有以下几个特点:用软件的方式设计硬件;用软件方式设计的系统到硬件系统的转换是由相关的开发软件自动完成;设计过程中可用相关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,具有体积小、功耗低及可靠性高的特点。因此,EDA技术是现代电子设计的发展趋势。电子设计自动化(EDA)是一种实现电子系统或电子产品自动化的技术,它与电子技术、微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。2.2 MAX+plus II软件简介 MAX+plus是Altera公司提供的FPGA
7、/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件4的供应商之一。MAX+plus界面友好,使用便捷,被誉为业界最易用易学的EDA软件。在MAX+plus上可以完成设计输入、元件适配、时序仿真和功能仿真5、编程下载整个流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程6。3 电梯控制器设计3.1设计要求 EDA设计实现一个3层电梯的控制系统。系统要求如下: (1)电梯到达楼层时,能发出指示信号(数码管显示楼层号); (2)能指示电梯的运行状态(上行或下行); (3)电梯的门操作具有关门延时设置(当按下梯内关门按钮时立刻响应关门操作,否则延时固定
8、时间后响应关门操作); (4)正确响应各楼层的上行和下行请求(各楼层设置上行和下行选择按钮)。3.2电梯运行规则 电梯运行规则:当电梯处在上升模式时,只响应比电梯所在位置高的上楼请求,由下向上逐个执行,直到最后一个上楼请求执行完毕。如果高层有下楼请求,直接升到有下楼请求的最高楼层,然后进入下降模式。当电梯在一楼时,不管是梯内梯外,电梯都只可能接收到上升的请求信号。此时,电梯就进入预上升状态,准备作上升运行。如果电梯没有接收到请求信号,电梯则在一楼待机。当电梯在二楼时,电梯则可能出现三种情况:电梯并没有接收到梯内梯外的任何请求信号时,电梯停在二楼待机;电梯接收到上升请求信号,进入预上升状态;电梯
9、接收到下降请求信号,进入预下降状态。 当电梯在三楼时,不管是梯内梯外,电梯都只可能接收到下降的请求信号。此时,电梯就进入预下降状态,准备作下降运行。如果电梯没有接收到请求信号,电梯则停在二楼待机。3.3电梯整体设计电梯控制器采用状态机来实现,思路比较清晰。可以将电梯等待的每秒钟以及开门、关门都看成一个独立的状态。由于电梯又是每秒上升或下降一层,所以就可以通过一个统一的1秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以把状态机设置10个状态,分别是“电梯停留在第1层”、“开门”、“关门”、“开门等待第1秒”、“开门等待第2秒”、“开门等待第3秒”、“开门等待第4秒”、“上升”、“下降”和
10、“停止状态”。各个状态之间的转换条件可由上面的设计要求所决定。电梯初始状态为一层,处在开门状态,开门指示灯亮。一层电梯入口处设有上楼请求开关,二层电梯入口设有上、下楼请求开关,三层电梯入口处设有下楼请求开关,电梯内部设有乘客到达楼层的停站请求开关及其显示,电梯内部还设有乘客关门请求。设置电梯所处位置指示(用数码管表示)及电梯上升或下降指示。电梯到达有停站请求的楼层后,电梯门打开,开门指示灯亮。当按下梯内关门按钮时立刻响应关门操作,否则,开门4秒后,电梯门关闭,开门指示灯灭,电梯继续运行,直至执行完最后一个请求信号后停在当前层。电梯控制系统能记忆电梯内外的请求信号,并按照电梯运行规则工作,每个请
11、求信号执行完毕后随即清除。3.4端口设计说明由功能要求得到本程序设计的端口必须包括:时钟信号(clk);系统复位信号(reset);一楼电梯外人的上升请求信号(up1);二楼电梯外人的上升请求信号(up2);二楼电梯外人的下降请求信号(down2);三楼电梯外人的下降请求信号(down2);电梯内部人到达楼层的请求信号(stop1、stop2、stop3);电梯内部关门请求信号(close);所有输入信号等于1,表示有请求,等于0,表示无请求;电梯外部上升指示灯(uplight)和下降请求指示灯(downlight),它们与up1、up2、down2、down3信号相对应;电梯内部乘客到达楼层
12、的停站请求灯(stoplight),该信号与stop1、stop2和stop3信号相对应;电梯运行模式指示(udsig),1代表下降模式,0代表上升模式;电梯所在楼层指示(position),表示电梯在对应楼层;电梯所在楼层数码管表示(dout),该信号与position信号相对应;电梯门状态指示(doorlight),1表示开门,0表示关门。3.5具体程序设计说明整段代码由三大部分组成:库声明,实体,结构体。3.5.1 库声明部分调用VHDL库,通过library语句本程序应用了VHDL库中的”通用ieee库”和”标准std库”。 library ieee; use ieee.std_log
13、ic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;3.5.2 实体部分实体部分列出了代码所用到的所用输入输出端口。结构体部分共使用了分频进程,电梯状态进程,读按键、控制指示灯进程和信号灯进程4个进程。主控制器系统由VHDL语言实现,其输入输出端口定义如下: entity flift is port(clk:in std_logic; 时钟信号 close :in std_logic; 立即关门 rightlight:buffer std_logic; 门灯信号 up1:in std_logic;
14、 楼上升按钮 up2:in std_logic; 二楼上升按钮 down2:in std_logic; 二楼下将按钮 down3:in std_logic; 三楼下将按钮 uplight:buffer std_logic_vector(3 downto 1); 上升指示灯 dnlight:buffer std_logic_vector(3 downto 1); 下将指示灯 stop1,stop2,stop3:in std_logic; 停止按钮 stoplight:buffer std_logic_vector(3 downto 1); 停止指示灯 position:buffer intege
15、r range 1 to 3; 楼层信号 led: buffer std_logic_vector(3 downto 0); 楼层指示灯 doorlight:out std_logic; 门灯信号 udsig:buffer std_logic); 电梯运行状态3.5.3 结构体部分 使用状态机来实现电梯功能。 在结构体中,设计了俩个进程互相配合,一个是状态机进程作为主要进程,另外一个是信号灯控制进程作为辅助进程。状态机进程中的很多判断条件是以信号灯进程产生的信号灯信号为依据的,而信号灯进程中信号灯的熄灭又是由状态机进程中传出的clearup和cleardn信号来控制。 在状态机进程中,在电梯的
16、上升状态中,通过对信号灯的判断,决定下一个状态是继续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续下降还是停止;在电梯停止状态中,判断是最复杂的,通过对信号的判断,决定电梯是上升、下降还是停止。在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键的灵敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。按键后产生的点亮的信号灯(逻辑值为1)用于作为状态机进程中的判断条件,而clearup和cleardn信号为逻辑l使得相应的信号灯熄灭。 分频进程:该进程的目的是产生不同频率的两个时钟,电梯控制时钟fliclk和按键控制时钟buttclk。 pro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计精品 毕业设计 精品 采用 VHDL 语言 设计 实用 三层 电梯 控制器
链接地址:https://www.31ppt.com/p-2392551.html