基于VHDL语言的3层电梯控制器毕业论文.doc
《基于VHDL语言的3层电梯控制器毕业论文.doc》由会员分享,可在线阅读,更多相关《基于VHDL语言的3层电梯控制器毕业论文.doc(23页珍藏版)》请在三一办公上搜索。
1、前 言 第1章 电梯控制器的设计思路1.1 设计要求. 1.1 总体设计思路1.2 具体设计思路第2章 电梯控制器的综合设计2.1 电梯控制器功能2.2 电梯控制器设计2.3 电梯控制器实体设计 2.4 电梯控制器结构体设计2.5电梯控制器源程序2.6 电梯控制器仿真波形第3章 N层电梯控制器的设计技巧分析第4章 设计的扩展性第5章 设计创新和心得体会第6章 结束语附 录 参考文献前 言现代电子设计技术的核心已趋向基于计算机的电子设计自动化技术,即EDA(Electronic Design Automation)技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言
2、HDL(Hardware Description Language)为系统逻辑描述手段的设计文件,自动完成逻辑编译,化简,分割,综合,布局布线以及逻辑优化和仿真测试,直至既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。20世纪70年代,在信息通信领域.要优先发展高速宽带信息网.深亚微米集成电路.新型元器件.计算机及软件技术.第三代移动通信技术.信息管理.信息安全技术.积极开拓以数字技术.网络技术为基础的新一代信息产品.发展新兴产业.培育新的经济增长点.要大力推进制造业信息化.积极开
3、展计算机辅助设计(CAD).计算机辅助工程(CAE).计算机辅助工艺(CAPP).计算机机辅助制造(CAM).产品数据管理(PDM).制造资源计划(MRPII)及企业资源管理(ERP)等.有条件的企业可开展网络制造.便于合作设计.合作制造.参与国内和国际竞争.开展数控化工程和数字化工程.自动化仪表的技术发展趋势的测试技术.控制技术与计算机技术.通信技术进一步融合.形成测量.控制.通信与计算机(M3C)结构.在ASIC和PLD设计方面.向超高速.高密度.低功耗.低电压方面发展.本课程设计使用软件为QUARTUS 2,设计一个电梯控制器,硬件通过ALTERA公司的CYCLONE系列的EP1C12Q
4、240C8芯片来实现。软件通过VHDL语言来实现。编者2010年1月第1章 电梯控制器的设计要求与设计思路电梯的使用越来越普遍,已从原来只在商业大厦,宾馆使用,过渡到在办公楼,居民楼等场所使用,并且对电梯功能的要求也不断提高,相应的器控制方式也在不停的发生变化。对于电梯的控制,传统的方式是使用继电器接触器控制系统进行控制,随着技术的不断发展,微型计算机在电梯控制器的应用日益广泛,现在已进入全微机化控制的时代。 电梯的微机化只要有以下几种方式:1.PLC控制;2.单板机控制;3.单片机控制;4.单微机控制;5.多微机控制;6.人工智能控制。随着EDA技术的快速发展,CPLD/FPDA已广泛应用于
5、电子设计与控制的各个方面。本设计就是使用一片CPLD/FPGA来实现对电梯的控制。1.1 设计要求整个系统的输入输出接口设计如下图所示:系统工作用2 Hz基准时钟信号CLKIN,楼层上升请求键UP,楼层下降请求键DOWN,楼层选择键入键ST_CH,提前关门输入键CLOSE,延迟关门输入键DELAY,电梯运行的开关键RUN_STOP,电梯运行或停止指示键LAMP,电梯运行或等待时间指示键RUN_WAIT,电梯所在楼层指示数码管ST_OUT,楼层选择指示数码管DIRECT。 CLKINUPINDOWNINST_CH2.0CLOSEDELAYRUN_STOPLAMPRUN_WAIT3.0ST_OUT
6、3.0DIRECT3.0 DTKZQ图1.1.1 电梯控制器DTKZQ的输入输出接口图 电梯的控制状态包括运行状态、停止状态及等待状态,其中运行状态又包含向上状态和向下状态。主要动作有开、关门,停靠和启动。乘客可通过键入开、关门按钮,呼唤按钮,指定楼层按钮等来控制电梯的行与停。据此,整个电梯控制器DTKZQ应包括如下几个组成部分: 时序输出及楼选计数器; 电梯服务梯升降控制请求处理器; 电器; 上升及下降寄存器; 电梯次态生成器。该电梯控制器设计的关键是确定上升及下降寄存器的置位与复位。整个系统的内部组成结构图如下图所示。图1.1.2 电梯控制器的内部组成结构图1.2 总体设计思路控制器的功能
7、模块如图1所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显示器中显示。分控制器把有效的请求传给主控制器进行处理,同时显示电梯的运行状态和电梯所在楼层数。由于分控制器相对简单很多,所以主控制器是核心部分。1.3 具体设计思路 电梯控制器采用状态机来实现,思路比较清晰。可以将电梯等待的每秒钟以及开门、关门都看成一个独立的状态。由于电梯又是每秒上升或下降一层,所以就可以通过一个统一的1秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以
8、把状态机设置10个状态,分别是“电梯停留在第1层”、“开门”、“关门”、“开门等待第1秒”、“开门等待第2秒”、“开门等待第3秒”、“开门等待第4秒”、“上升”、“下降”和“停止状态”。各个状态之间的转换条件可由上面的设计要求所决定。第2章 电梯控制器的综合设计2.1 电梯控制器功能电梯控制器是控制电梯按顾客的要求自动上下的装置。三层电梯控制器的功能如下: (1)每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。 (2)设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。 (3)电梯每秒升(降)一层楼。 (4)电梯到达有停站请求的楼层,经过1秒电梯门打开,开门指
9、示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信号后停留在当前层。 (5)能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。 (6)电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升到由下楼请求的最高层,然后进入下降模式。当电梯处于下降模式时则与上升模式相反。 (7)电梯初始状态为一层开门状态。2.2 电梯控制器设计 三层电梯控制器的VHDL描述模块流程如图2所示。三层电梯控制器的源代码(见附录)可知: (1)本程序设计调用
10、了IEEE库,IEEE库是VHDL设计中最为常用的库,它包含有IEEE标准的程序包和其他一些支持工业标准的程序包。本设计采用了STD_LOGIC_1164、STD_LOGIC_ARITH、STD_LOGIC_UNSIGNED程序包。 (2)以关键词ENTITY引导,END ENTITY THREEFLIFT结尾的语句部分,称为实体。VHDL的实体描述了电路器件的外部情况及各信号端口的基本性质。本设计定义了关于三层电梯控制器用到的各类时钟、异步复位按键、信号灯指示、电梯的请求。端口模式主要就是IN、BUFFER、OUT端口。及定义了各端口信号的数据类型,主要是STD_LOGIC(标准逻辑位数据类
11、型)、INTEGER(整数类型)、STD_LOGIC_VECTOR(标准逻辑矢量数据类型)。这些都满足上面调用的IEEE库中的程序包。 (3)以关键词ARCHITECTURE引导,END ARCHITECTURE ART结尾的语句部分,称为结构体。结构体负责描述电路器件的内部逻辑功能或电路结构。本设计定义了10个状态。描述了在三层电梯中出现的各种可能的情况作为控制电梯的主要进程。信号灯控制作为辅助进程。(4) 三层电梯控制器的模块2.3 电梯控制器实体设计 首先考虑输入端口,一个异步复位端口reset,用于在系统不正常时回到初始状态;在电梯外部,必须有升降请求端口,一层是最低层,不需要有下降请
12、求,三层是最高层,不需要有上升请求,二层则上升、下降请求端口都有;在电梯的内部,应该设有各层停留的请求端口:一个电梯时钟输入端口,该输入时钟以1秒为周期,用于驱动电梯的升降及开门关门等动作;另有一个按键时钟输入端口,时钟频率比电梯时钟频率高。 其次是输出端口,有升降请求信号以后,就得有一个输出端口来指示请求是否被响应,有请求信号以后,该输出端口输出逻辑l。被响应以后则恢复逻辑O;同样,在电梯内部也应该有这样的输出端口来显示各层停留是否被响应;在电梯外部,需要一个端口来指示电梯现在所处的位置;电梯开门关门的状态也能用一个输出端口来指示;为了观察电梯的运行是否正确,可以设置一个输出端口来指示电梯的
13、升降状态。2.4 电梯控制器结构体设计 首先说明一下状态。状态机设置了10个状态,分别是电梯停留在l层 (stoponl)、开门(dooropen)、关门(doorclose)、开门等待第1秒(doorwaitl)、开门等待第2秒(doorwait2)、开门等待第3秒(doorwait3)、开门等待第4秒(doorwait4)、上升(up)、下降(down)和停止(stop)。在实体说明定义完端口之后,在结构体architecture和begin之间需要有如下的定义语句,来定义状态机。 TYPE lift_state IS (stoponl,dooropen,doorclose,doorwai
14、tl,doorwait2,doorwai t3,door。wai t4,up,down,s top): SIGNAL mylift:lift_state: 在结构体中,设计了俩个进程互相配合,一个是状态机进程作为主要进程,另外一个是信号灯控制进程作为辅助进程。状态机进程中的很多判断条件是以信号灯进程产生的信号灯信号为依据的,而信号灯进程中信号灯的熄灭又是由状态机进程中传出的clearup和cleardn信号来控制。 在状态机进程中,在电梯的上升状态中,通过对信号灯的判断,决定下一个状态是继续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续下降还是停止;在电梯停止状态
15、中,判断是最复杂的,通过对信号的判断,决定电梯是上升、下降还是停止。 在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键的灵敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。按键后产生的点亮的信号灯(逻辑值为1)用于作为状态机进程中的判断条件,而clearup和cleardn信号为逻辑l使得相应的信号灯熄灭。2.5电梯控制器源程序 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY ETHREEFLIFT
16、IS PORT(BUTTONCLK: IN STD_LOGIC; -按键时钟 LIFTCLK: IN STD_LOGIC; -电梯时钟 RESET: IN STD_LOGIC; -异步复位按键 F1UPBUTTON: IN STD_LOGIC; -第1层上升请求按钮 F2UPBUTTON: IN STD_LOGIC; -第2层上升请求按钮 F2DNBUTTON: IN STD_LOGIC; -第2层下降请求按钮 F3DNBUTTON: IN STD_LOGIC; -第3层下降请求按钮 FUPLIGHT:BUFFER STD_LOGIC_VECTOR(3DOWNTO1);-电梯外部上升请求指示灯
17、 FDNLIGHT:BUFFER STD_LOGIC_VECTOR(3DOWNTO1);-电梯外部下降请求指示灯 STOP1BUTTON,STOP2BUTTON,STOP3BUTTON:IN STD_LOGIC;-电梯内部请求按键 STOPLIGHT: BUFFER STD_LOGIC_VECTOR(3DOWNTO1); POSITION: BUFFER INTEGER RANGE1 TO 3; -电梯位置指示 DOORLIGHT: OUT STD_LOGIC; -电梯门开关指示 UDSIG: BUFFER STD_LOGIC; -电梯升降指示END THREEFLIFT;ARCHITECTU
18、RE ART OF THREEFLIFT ISTYPE LIFT_STATE IS(STOPON1,DOOROPEN,DOORCLOSE,DOORWAIT1, DOORWAIT2, DOORWAIT3, DOORWAIT4,UP,DOWN,STOP);SIGNAL MYLIFT: LIFT_STATE; SIGNAL CLEARUP:STD_LOGIC; - 用于清除上升请求指示灯的信号SIGNAL CLEARDN:STD_LOGIC; -用于清除下降请求指示灯的信号 BEGINCTRLIFT: PROCESS(RESET,LIFTCLK) -控制电梯状态的进程VARIABLE POS: IN
19、TEGER RANGE 3 DOWNTO 1;-变量POS用于表示电梯的位置 BEGIN IF RESET=1THEN -异步复位信号如果为1时电梯的状态 MYLIFT=STOPON1; CLEARUP=0; CLEARDN -处于电梯停留在一层的状态 DOORLIFT=1; -开门指示灯亮,便是开门 POSITION=1;POS:=1; -电梯位置为1 MYLIFGT -处于开门等待第1秒的状态MYLIFT -处于开门等待第2秒状态CLEARUP=0;CLEARDN=0;MYLIFT -处于开门等待第3秒状态MYLIFT -处于开门等待第4秒状态MYLIFT=DOORCLOSE; -状态转移
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VHDL 语言 电梯 控制器 毕业论文
链接地址:https://www.31ppt.com/p-3939404.html