基于FPGA的四层电梯控制系统设计 - 图文

更新时间:2024-04-24 10:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

大连海事大学

┊┊┊┊┊┊┊ 装┊┊┊┊┊┊┊ 订 ┊┊┊┊┊┊┊

线┊

业 论

二○一四 年 六 月文毕

┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊装订

线┊

基于FPGA的四层电梯控制系统设计

专业班级: 电子信息工程10-1班 姓 名: 刘刊儒 指导老师: 严 飞

信息科学技术学院

摘 要

随着科技的发展,电梯早在上个世纪就已进入人们的生活。对于电梯的控制,传统的方法是使用继电器-接触器控制系统进行控制。随着EDA技术的发展,FPGA已广泛应用于各项电子设计中,本设计即利用FPGA来实现对电梯控制系统的设计。

本文基于VHDL即超高速集成电路硬件描述语言开发的四层电梯控制系统,以 QuartusII为开发环境,最终在EDA实验箱上实现四层电梯控制系统的基本功能,其功能包括:显示电梯楼层数、响应楼层请求、电梯升降指示、电梯开关门、电梯开门超时报警等。本文采用模块化设计的方法,整个系统主要分为五个模块,其中包括:请求信号显示模块、楼层检测模块、数码管楼层显示模块、开关门控制模块及电梯运行模块。

首先,通过EDA实验箱上的按键输入楼层请求,其中包括电梯内部楼层请求、电梯外上升请求及电梯外下降请求;同时,利用LED灯及数码管显示输入的请求;然后,遵照电梯运行时的方向优先原则及内部响应优先原则来逐次应答请求;并且,如果开门时间过长,电梯将发出报警并自动关门。

关键字:电梯控制;EDA;FPGA;QuartusII;VHDL

I

ABSTRACT

With the development of scientific technology, lift has come into our daily life since last century. The traditional approach for elevator control is to use

relay-contactor system. While, thanks to the improvement of EDA technology, FPGA has been widely used in various of electronic design. And this design uses the FPGA to realize the elevator control.

Firstly, required information, including the interior floor required information and external required information for rising and external required information for dropping, will be input by button. Secondly, the required information will be show by LED. And then, following the principle of operation, the elevator control system will respond required information one by one. Finally, there is an alarm for overtime.

This design is an elevator control system basing on VHDL. In the development environment of Quartus, the ultimate functions will be realize in test case of EDA. The basic functions of this elevator include showing the current floor of elevator, responding the required information of elevator, controlling the door of elevator and alarming for overtime. And this elevator control system use modularization design. There are five block in this design, including displaying required information,

detecting current floor, displaying current floor by LED, the control of the door and operation of elevator.

Key words: elevator control system;EDA; FPGA; Quartus II; VHDL

II

目 录

第1章 绪论..................................................... 1 1.1 电梯的起源.............................................. 1 1.2 电梯的现状与发展........................................ 1 1.3 四层电梯控制系统的设计要求.............................. 2 第2章 开发技术基础............................................. 3 2.1 EDA技术简介 ............................................ 3 2.1.1 EDA技术基本概述 .................................. 3 2.1.2 EDA技术的基本特征 ................................ 3 2.1.3 EDA技术的主要内容 ................................ 4 2.1.4 EDA技术发展趋势 .................................. 4 2.2 FPGA简介 ............................................... 4 2.2.1 可编程逻辑器件(PLD)简介......................... 4 2.2.2 FPGA简介 ......................................... 5 2.3 VHDL设计基础 ........................................... 6 2.3.1 实体(Entity).................................... 6 2.3.2 结构体(Architecture)............................ 6 2.3.3 配置(Configuration)............................. 6 2.3.4 包集合(Package)................................. 6 2.3.5 库(Library)..................................... 7 2.4 开发软件QuartusII ...................................... 7 2.5 硬件介绍:ZY11EDA13BE................................... 7 2.5.1 ZY11EDA13BE实验系统的特点 ........................ 7 2.5.2 ZY11EDA13BE实验系统主板组成 ...................... 8 第3章 四层电梯控制系统的设计................................... 9 3.1 系统器件端口说明........................................ 9 3.2 请求信号响应模块....................................... 11 3.2.1 外部上升请求信号响应............................. 11 3.2.2 外部下降请求信号响应............................. 12 3.2.3 内部请求信号响应................................. 14 3.3 电梯所处楼层检测模块................................... 15 3.4 楼层数码管显示模块..................................... 16 3.5 开关门控制模块......................................... 17 3.6 电梯运行模块........................................... 18 第4章 四层电梯控制系统展示.................................... 21

III

4.1 系统软件验证........................................... 21 4.2 四层电梯控制系统相应图片展示........................... 22 第5章 总结.................................................. 35 参考文献..................................................... 36 致谢......................................................... 37

IV

基于FAGA的四层电梯控制系统设计

第1章 绪论

1.1 电梯的起源

电梯,是指动力驱动,利用刚性导轨运行的箱体或者沿固定线路运行的梯级,进行升降或者平行运送人、货物的机电设备,包括人(货)电梯、自动扶梯、自动人行道。习惯上不论其驱动方式如何,将电梯作为建筑物内垂直交通运输工具的总称。

其实,人类利用升降工具运输货物、人员的历史非常悠久。早在公元前2600年,埃及人在建造金字塔时就使用了最原始的升降系统,这套系统的基本原理至今仍无变化:即一个平衡物下降的同时,负载平台上升。早期的升降工具基本以人力为动力。英国科学家瓦特发明蒸汽机后,起重机装置开始采用蒸汽为动力。紧随其后,威廉·汤姆逊研制出用液压驱动的升降梯。在这些升降梯的基础上,一代又一代富有创新精神的工程师们在不断改进升降梯的技术。然而,安全性问题是人类一直在突破的问题。直到1854年,美国人伊莱沙·格雷夫斯·奥的发明了人类历史上第一部安全升降梯。在纽约水晶宫举行的世界博览会上,他向世人展示了这一伟大的伟大的发明。此后搭乘升降梯不再是“勇敢者的游戏”了,升降梯在世界范围内得到广泛应用。1889年12月,美国奥的斯电梯公司制造出了名副其实的电梯,它采用直流电动机为动力,通过蜗轮减速器带动卷筒上缠绕的绳索,悬挂并升降轿厢。

1.2 电梯的现状与发展

随着社会的发展,越来越多高层建筑出现在人们的生活中,电梯作为高层建筑中不可缺少的垂直运输设备,已然成为城市物质文明的一个重要标志。随着电梯的普遍使用,电梯功能也在随之提高,其控制方式也在不断的改善。150年来,电梯的材质由黑白到彩色,样式由直式到斜式,在操纵控制方面更是步步出新,一款款集纳了人类在机械、电子、光学等领域最新科研成果的新型电梯竞相问世,冷冰冰的建筑因此散射出人性的光辉,人们的生活因此变得更加美好。

伴随经济的快速发展,我国的电梯行业正经历着一个高速发展期。据前瞻网统计,我国电梯产量从1990年的1.03万台增长到2010年的36.5万台,年复合增长率19.5%,国内电梯需求量从2000年的仅3.72万台增长到2010年的32.97万台,到2010年底,我国电梯保有量超过160万台。

1

基于FAGA的四层电梯控制系统设计

1.3 四层电梯控制系统的设计要求

对于电梯的控制,传统的方法是使用继电器-接触器控制系统进行控制。随着EDA技术的发展,FPGA已广泛应用于各项电子设计中,本设计即利用FPGA来实现对电梯控制系统的设计。

本次设计的基于FPGA的四层电梯控制系统,要求按键输入楼层请求、各楼层的上升下降请求及快速关门与延时关门,LED灯显示按键请求的状况以及电梯运行方向和电梯开关门状况,数码管显示电梯当前所在楼层。

具体要求如下:

(1)每层电梯设有上升和下降请求开关,电梯内设有乘客到达层次的停站请求开关;

(2)显示电梯当前所在楼层以及电梯运行模式(上升或下降);

(3)电梯每3秒升降一层,电梯到达有停站请求的楼层后,电梯门开,开门指示灯亮,开门5秒后,电梯关门,关门指示灯灭,电梯继续运行,直到完成所有请求信号;

(4)电梯运行中,遵循电梯内部楼层请求响应优先的原则,响应请求信号时遵循运行方向优先的规则:当电梯处于上升模式时,优先响应比电梯所在位置高的上楼信号,由下至上执行;若多个楼层都有下降请求,则直接到达有下降请求的最高层,然后进入下降模式。当电梯处于下降模式时,电梯运行规律与上升模式相反;

(5)电梯设有延时关门与快速关门功能。当启用延时关门时,电梯延时3秒关门。当启用快速关门电梯则1秒后立即关门。当电梯开门时间超过10秒,则报警灯亮且2秒后电梯自动关门;

(6)电梯初始状态为一层关门。

2

基于FAGA的四层电梯控制系统设计

第2章 开发技术基础

2.1 EDA技术简介

2.1.1 EDA技术基本概述

EDA技术是以计算机为工作平台,以EDA软件软件工具为开发环境,以硬件描述语言为设计语言,以可编程逻辑器件为实验载体,以ASIC、SoC芯片为目标器件,以数字系统设计为应用方向的电子产品自动化设计过程[1] [13]。 EDA技术与传统的硬件技术以及软件技术有着很大的差别,它打破了计算机软件以及硬件间的隔阂,使计算机软件和硬件之间的结合得以实现,设计效率与产品性能互相融合。因此,它代表了数字电子设计技术和应用技术的发展方向。 2.1.2 EDA技术的基本特征

EDA技术的广泛应用,是电子技术的最新发展方向。EDA技术具备着自己独特的优势,设计人员首先按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,然后采用硬件描述语言完成系统行为设计,最后通过综合器和适配器生成目标器件,这样的设计方法被称为高层次的电子设计方法。因此,EDA技术具备以下几个基本的特征: (1)“自顶向下”的设计方法

传统的电子设计技术采取的是“自底向上”的设计方法,这种设计方法不仅效率低、易出错,而且成本很高。随着技术的发展,当今的EDA技术采取“自顶向下”的全新设计方法,在结构上对整体功能实现模块化,分块进行仿真、纠错,这样有利于程序设计的修改,大大提高了设计的效率以及正确率[13]。 (2)设计中采用硬件描述语言

采用硬件描述语言进行电路与系统的描述是当前EDA技术的另一个特征。HDL(Hardware Description Language)是一种用于设计硬件电子系统的计算机语言,通过利用硬件描述语言,利用软件编程的方式将硬件电路结构、电子系统的逻辑功能连接起来。硬件描述语言的应用是现在的发展趋势,它可以大大的缩小设计成本,减少研发的周期,不仅适用于小批量的生产,同时也适合于大批量的产品的成产,因此,不仅在设计研发上,在工业生产中都得到了广泛的应用[13]。 (3)具有逻辑综合和优化功能

逻辑综合功能是指将高层次的抽象描述转化为低级别抽象描述的一种方法,即根据芯片制造商提供的基本电路单元库,将硬件描述语言描述的电路转换为电

3

基于FAGA的四层电梯控制系统设计

路网表或者是一组逻辑方程[13]。

优化功能是指根据布尔方程等效的原则,利用逻辑综合生成的结果,采取更小更快的综合结果代替一些复杂的单元,然后根据指定的目标将其映射成新的网表或者一组逻辑方程。优化的作用是将电路设计的时延缩短到最小和有效利用资源。几乎所有的EDA综合工具都可以利用约束条件对电路进行优化。 (4) 具有开放性和标准化的软件架构

软件架构是一套配置使用的规范软件包,其提供给EDA开发的平台以及相应的开发环境。同时,架构还包括了各种与数据库相关的服务。架构能将来自不同厂商生产的工具软件进行优化组合,集成在一个方便管理的统一的环境下,这样有利与实现资源的优化配置以及资源共享[13]。 2.1.3 EDA技术的主要内容

EDA技术涉及面广,从教学和实用的角度看,主要有以下四个方面内容:一是大规模可编程逻辑器件;二是硬件描述语言;三是软件开发工具;四是实验开发系统[12]。

大规模可编程器件是利用EDA技术进行电子系统设计的载体;硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段;软件开发工具是利用EDA技术进行电子系统设计的智能化、自动化的设计工具;实验开发系统是利用EDA技术进行电子系统设计的下载工具以及硬件验证工具[12]。 2.1.4 EDA技术发展趋势

随着半导体技术、计算机技术以及集成技术的快速发展,面对如今的电子产品市场,设计师们需要更加实用、方便、快捷的EDA工具,这对EDA提出了更高的要求,从而也促进了EDA技术的快速发展。从EDA技术的组成方面来看,在可编程器件方面,朝着高密度、高速度、宽带宽方面发展,同时也朝着系统化、混合化、低电压、低功耗方向发展;在开发工具上,要求具备混合的信号处理能力,高效的仿真能力,高效的逻辑综合能力以及优化能力;系统描述方式更加的简便化、高效化和统一化[13]。

2.2 FPGA简介

2.2.1 可编程逻辑器件(PLD)简介

可编程逻辑器件以SRAM、Flash存储器或者EEPROM为存储基础,由用户

4

基于FAGA的四层电梯控制系统设计

根据自己的需要对其进行编程,确定芯片的功能,然后应用在用户的电路系统中的电子设计技术。随着科技的发展,可编程逻辑器件也在很多方面有了飞速的发展:规模、性能、密度,这些发展使得它广泛应用与计算机、信号处理、自动化、集成电路设计等领域[2—3]。

可编程逻辑器件具有减小系统体积、增强逻辑设计的灵活性、提高系统的处理速度和可靠性、缩短设计周期、降低系统成本、具有系统加密功能等特点。 可编程逻辑器件的分类:

(1)按编程的性质分:一次性编程PLD、可对次编程PLD、在线可重配置ICR器件、在系统编程ISPPLD。

(2)按器件的结构分:可分为乘积项结构器件和查找表结构器件。 (3)按器件的集成程度分:可分为高密度可编程逻辑器件和低密度可编程逻辑器件。 2.2.2 FPGA简介

1985年,美国Xilinx公司率先推出了一种新型的PLD——现场可编程门阵列(FPGA)。在功能上,FPGA的功能由逻辑结构的配置数据决定,这些数据配置存放在片外的EPROM或者其他的存储器上;在结构上,FPGA在结构上由逻辑功能模块排列成阵列,并有可编程的内部连接线连接这些功能模块,以用于实现某些特定的逻辑功能。与CPLD相比,FPGA可以实现更为复杂和更大规模的逻辑电路[2]。

FPGA由六个部分组成,分别是可编程输入/输出单元、基本可编程逻辑单元、丰富的布线资源、嵌入式块RAM、内嵌专用硬核以及底层嵌入功能单元。

(1)可编程输入/输出单元:该单元为芯片和外部电路的接口,可以完成不同电气特性下的输入输出的匹配[3]。

(2)基本可编程逻辑单元:该单元式可编程逻辑器件的核心,实现可编程逻辑器件最基本的功能,也可以根据设计的灵活性改变它的内部连接和配置,以实现不同的逻辑功能[3]。

(3)丰富的布线资源:布线资源是器件内部非常重要的连接渠道,连接着驱动功能以及数据的传输速度。FPGA有着非常丰富的布线资源,它们从工艺、长度、宽度位置上被分为不同的等级,有专用的、有公用的[3]。

(4)嵌入式块RAM:采用嵌入式块RAM,大大扩展了FPGA的使用灵活性和应用范围[3]。

(5)内嵌专用硬核:内嵌的专用内核主要指那些通用性相对较弱的功能单元。FPGA中的内嵌专用内核主要是为了实现某些特定功能开发的[3]。

(6)底层嵌入功能单元:它主要是指由生产商在出产前嵌入在FGPA中的

5

基于FAGA的四层电梯控制系统设计

一些通用程度较高的功能模块[3]。

2.3 VHDL设计基础

一个完整的VHDL语言程序一般情况下包括5个部分:实体(Entity)、结构体(Architecture)、配置(Configuration)、包集合(Package)、库(Library)。 2.3.1 实体(Entity)

任何一个VHDL程序必须包含并且只能有一个实体。实体是用于描述所设计芯片的外观特性;它是VHDL的首要设计单元,实体是程序中最重要的几个部分之一,其中定义了VHDL所描述的数字逻辑电路的外部接口,它相当于一段程序的外部视图,有输入输出的端口,也有参数的定义,相同的器件可以有不同的实现,但是只能对应一个实体[12]。 2.3.2 结构体(Architecture)

结构体用于描述所设计芯片的逻辑功能。它用于描述系统的数据流程、系统的行为,以及系统的数据构成形式。在该部分,VHDL语句的主要功能是指明所设计的芯片实现什么具体的功能,以及元件的内部联系和连线。通常情况,结构体对于输入输出的关系有三种方式进行描述:行为描述、寄存器传输描述、和结构描述,不同的描述方式仅仅是体现在所编写的语句上,其结构体的构造是完全相同的。其实结构体的功能描述共有5种:信号赋值语句、块(BLOCK)语句、进程(PROCESS)语句、元件例化(COMPONENT)语句和程序调用语句[16]。 2.3.3 配置(Configuration)

配置用于从库中选取所需要单元来组成系统设计的不同规格的不同版本,使被设计系统的功能发生改变。配置语句用来描述层与层之间的连接关系以及实体与结构体之间的连接关系。在复杂的VHDL工程设计中,设计者可以利用这种配置语句来选择不同的结构体,使其与要设计的实体相对应,或者为例化的各元件实体配置指定的结构体。在仿真设计中,可以利用配置来选择不同的结构体进行性能对比试验,以得到性能最佳的设计方案[13]。 2.3.4 包集合(Package)

程序包主要用于存放各设计模块能共享的数据类型、常数、子程序等。它主

6

基于FAGA的四层电梯控制系统设计

要由两个部分组成:程序包首、程序包体。程序包首用于说明程序包中所定义的常量、数据类型、过程首、函数首以及元件定义;程序包体主要是对程序包体部分所定义的函数首和过程首所对应的函数体和过程体进行说明。在VHDL程序中,程序包不是必需的,程序包首可以独立的定义和使用[13]。 2.3.5 库(Library)

在VHDL设计中,为了提高便捷性以及使用的规范性,必须将一些常用的、预先定义的数据类型,子程序等存放在一起,以供调用,这就是库,因此,库就是经编译的数据的集合,它可以存放实体定义、程序包定义、构造体定义以及配置的定义。库包含了5种:IEEE库、STD库、WORK库、VITAL库以及用户自定义库。需注意的是,在VHDL语言中,库的说明语句总是放在实体单元前面,即一段VHDL程序的开始一定是库说明语句。由于库是程序包的集合,因此,库的调用其实就是程序包的使用[12]。

2.4 开发软件QuartusII

QuartusII是Altera公司推出的新一代FPGA/CPLD开发软件,适合于大规模复杂的逻辑电路设计。它是Altera公司的第4代可编程逻辑器件集成开发环境,提供了从设计输入到器件编程的全部功能[1]。

本次设计是在QuartusII9.0环境下进行的,QuartusII9.0是Altera公司于2009年推出的新一代PLD开发集成环境。可在多种平台运行,具有开放性、多平台、与结构无关、完成集成化、丰富的设计库、模块化工具、支持多种HDL语言、易学习、易操作等特点。QuartusII提供了方便的实体设计、快速的编译处理以及编程功能,是目前FPGA/CPLD开发工具中较为理想的综合、仿真软件[1]。

QuartusII是EDA技术的一个综合性平台。运用EDA技术设计系统的工作流程如图2.2所示。应用QuartusII软件,可以完成所有的设计工作。

2.5 硬件介绍:ZY11EDA13BE

2.5.1 ZY11EDA13BE实验系统的特点

(1)采用主板A基本实验系统+适配板(扩展板)的结构:板是一个标准配置系统,是一个最简EDA工具系统,包含了核心芯片A(EP1K30QC208),在主板系统基础上扩展了不同系统,比如主板+单片机+扩展板构成单片机系统,以及主板+扩展CPLD/FPGA等多重系统

[11]

7

基于FAGA的四层电梯控制系统设计

(2)主板中所有I/O口开放:主芯片的I/O口分为三个部分使用,三个部分的I/O口无重合。第一部分连接到外部资源(数码管、译码器、时钟源、液晶、LCD、LED、按键、开关等),第二部分连接到试配板接口,第三部分连接到扩展版接口[11]。

(3)数字EDA与模拟EDA混合实验与开发:除了主板的模数转换实验,如果配以模拟EDA器件适配板,就能在主板系统上完成模拟EDA实验或模数混合实验的开发[18]。

(4)编程下载通用性强:主板系统含FPGA/CPLD通用下载编程模块,可用于对Altera 、Lattice、Xilinx等多家国际著名的PLD公司几乎所有isp或现场配置的CPLD/FPGA进行编程下载[11]。

(5)良好的混合电压(MV)兼容功能:绿色能源电子系统要求器件低功耗、低噪声和高电磁兼容性。因此低电压器件的使用将更加重要和普遍,如笔记本电脑、嵌入式系统等,其中的主要器件皆为低电压器件 [11]。 2.5.2 ZY11EDA13BE实验系统主板组成

ZY11EDA13BE实验系统主板,主要由以下几部分构成:通用编程模块、液晶显示模块、数码管显示模块、A/D、D/A转换模块、LED显示模块、数字可调信号源、滤波模块、信号调节模块、逻辑笔模块、配置模块、模式选择模块、模拟信号源、4×4键盘模块、开关按键模块、电源模块、分立元件模块、喇叭模块、I/O口插孔、核心芯片A、适配板B插座、扩展板C插座、40PIN插座[11]。 本次设计中用到了通用编程模块即核心芯片EPF1K30QC208—2、数码管显示模块、LED显示模块、4×4键盘模块、开关按键模块、电源模块、喇叭模块。

8

基于FAGA的四层电梯控制系统设计

第3章 四层电梯控制系统的设计

根据设计要求,此次四层电梯控制系统的设计包括请求信号响应、楼层检测、当前楼层数码管显示、开关门控制、电梯运行五个模块。四层电梯控制系统的整体流程图如图3.1所示。

图3.1 四层电梯控制系统整体流程图

3.1 系统器件端口说明

本次设计全部使用VHDL语言编程,在程序中完成对各模块的设计以及整体系统对各模块的调用。

系统生成器件如图3.2所示。

9

基于FAGA的四层电梯控制系统设计

liftclkrstinner_f1inner_f2inner_f3inner_f4outer_u1outer_u2outer_u3outer_d2outer_d3outer_d4delaycloseled7s[6..0]up_req[4..1]down_req[4..1]inner_req[4..1]u_dalarmdoor[1..0]runinst1 图3.2 四层电梯控制系统生成器件

端口信号说明: clk:系统时钟信号; rst:系统复位信号;

inner_f1~inner_f4:分别为电梯内用户到1、2、3、4楼的请求信号; outer_u1~outer_u3:分别为1、2、3楼用户的请求上楼信号; outer_d2~outer_d4:分别为2、3、4楼用户的请求下楼信号; up_req:用户上升请求楼层指示; down_req:用户下降请求楼层指示; inner_req:电梯内用户到达楼层请求信号; led7: 七段数码管楼层显示信号; delay:延时关门信号; close:快速关门信号:

door:门控信号,00为关门,01为等待关门,11为开门; alarm:报警信号;

u_d:上升/下降指示,0为下降,1为上升;

state:电梯运行状态指示,其中state(2):1为运行允许标志,0为运行禁止标志,state(1):1为上行任务标志,0为下行任务标志;state(0):1为正在上行标志,0为正在下行标志; current_floor:当前所在楼层; door_time:门开关控制计数信号。

10

基于FAGA的四层电梯控制系统设计

3.2 请求信号响应模块

请求信号灯的亮灭是根据该层是否有请求信号以及电梯的运行状态来决定的。当该层有人请求时,则该层的请求信号灯亮,直到电梯响应该层的请求时,请求信号灯才灭。请求信号响应分为外部上升请求信号响应、外部下降请求信号响应、内部请求信号响应三部分。 3.2.1 外部上升请求信号响应

四层电梯控制系统的外部上升请求信号有3个,根据运行规律,采用逐层判断的方法,先从3楼开始判断,最后到1楼。当有本层的外部上升请求信号时,外部请求信号指示灯亮,当电梯响应了本层外部上升请求信号,则本层的外部上升请求信号灯灭。外部上升请求信号流程图如图3.3所示。

图3.3 外部上升请求指示灯亮灭转换流程图

11

基于FAGA的四层电梯控制系统设计

(1)当3楼有外部上升请求时:

3楼外部上升请求指示灯亮,若电梯处于上升状态响应此上升请求(state(1 downto 0)=11),或下降状态响应此上升请求(state(1 downto 0)=10),则当电梯停止(run=0)且停在3楼时,3楼的外部上升请求指示灯灭;

若电梯处于下降状态响应下降请求时(state(1 downto 0)=00),3楼的内部请求和3楼的外部请求信号也可将电梯停在3楼,因此不能简单的通过电梯是否停止来判断信号灯熄灭,因此电梯在这种状态下,只有当2楼没有外部下降信号且1-2楼没有内部请求时,电梯停止(run=0)且停在3楼,3楼的外部上升信号指示灯才可以熄灭;

若电梯处于上升状态来响应下降请求(state(1 downto 0)=01),3楼的外部下降请求同样可以使电梯停在三楼,因此同样不能简单的通过电梯是否停止来判断3楼外部上升请求指示灯的亮灭,因此电梯在这种情况的,只有当2楼没有外部下降请求时,电梯停止(run=0)且停在3楼,3楼的外部上升请求指示灯才可以熄灭。

(2)当2楼有外部上升请求时:

同样的方法可以判断2楼是否有上升请求和控制指示灯的亮灭。 (3)当电梯有1楼上升请求时:

1楼上升请求指示灯亮,但由于1楼是最底层,不能往下运行,所以只要1楼外部有上升请求时,只需要判断电梯是否到达1楼且电梯停止运行(run=0),当响应完毕时,1楼外部上升信号指示灯灭。 3.2.2 外部下降请求信号响应

外部下降请求信号有3个,采用逐层判断的方法,先从4层开始判断,最后到2楼。其流程图如图3.4所示。

12

基于FAGA的四层电梯控制系统设计

图3.4 下降请求指示灯亮灭转换流程图

(1)当4楼有外部下降请求时:

由于4楼是最高层,不能往上运行,所以只要4楼外部有上升请求时,只需

要判断电梯是否到达4楼且电梯停止运行,当响应完毕时,4楼外部下降信号指示灯灭。

(2)当3楼有外部下降请求时:

3楼外部下降请求指示灯亮,若电梯处于下降状态响应下降请求(state(1 downto 0)=00)或上升状态响应下降请求(state(1 downto 0)=01),则当电梯停止运行(run=0)且停在3楼时,3楼的外部下降请求指示灯灭;若电梯处于上升状态响应上升请求时(state(1 downto 0)=11),3楼的内部请求和

13

基于FAGA的四层电梯控制系统设计

3楼的外部上升请求信号也可将电梯停在3楼,因此不能简单的通过电梯是否停止来判断信号灯熄灭,因此电梯在这种状态下,只有当4楼没有内部请求时,电梯停止运行(run=0)且停在3楼,3楼的外部下降信号指示灯才可以熄灭;若电梯处于上升状态来响应下降请求(state(1 downto 0)=01),3楼的外部上升请求同样可以使电梯停在三楼,但由于3楼的外部上升请求信号时4层电梯控制系统中可以有外部上升请求的最高层,因此在这种状态下,当电梯停止运行(run=0)且停在3楼,3楼的外部上升请求指示灯即熄灭。

(3)当2楼有外部上升请求时:

2楼外部下降请求指示灯亮,若电梯处于下降状态响应下降请求(state(1 downto 0)=00)或上升状态响应下降请求(state(1 downto 0)=01),则当电梯停止运行(run=0)且停在2楼时,2楼的外部下降请求指示灯灭;若电梯处于上升状态响应上升请求时(state(1 downto 0)=11),2楼的内部请求和2楼的外部上升请求信号也可将电梯停在2楼,因此不能简单的通过电梯是否停止来判断信号灯熄灭,因此电梯在这种状态下,只有当3-4楼没有内部请求且3楼没有外部上升请求时,电梯停止运行(run=0)且停在2楼,2楼的外部下降信号指示灯才可以熄灭;若电梯处于上升状态来响应下降请求(state(1 downto 0)=01),2楼的外部上升请求同样可以使电梯停在2楼,因此电梯在这种状态下,只有当电梯3楼没有外部上升请求时,当电梯停止运行(run=0)且停在2楼,2楼的外部上升请求指示灯即熄灭。 3.2.3 内部请求信号响应

内部请求信号有4个。先判断是否有1楼内部请求,若有则1楼内部信号指示灯亮,且保持到请求被响应,则1楼内部请求信号指示灯灭。用同样的方法可以判断2—4楼的内部请求信号,若某层有内部请求,则该层的内部请求指示灯亮,并保持到内部请求响应完毕。内部请求信号指示灯亮灭转换流程图如图3.5所示。

14

基于FAGA的四层电梯控制系统设计

图3.5 内部楼层请求信号指示灯亮灭转换流程图

3.3 电梯所处楼层检测模块

当系统复位时,电梯显示楼层为1楼。当系统置位时,楼层显示信号根据电梯运行方向和运行状态来决定。当电梯处于停运状态时,楼层信号保持当前数值,当电梯运行时,若电梯向上运行则层数加1,若电梯向下运行则楼层数减1。电梯的运行方向由后续的电梯运行程序来决定。根据设计要求,电梯每秒升降一层,系统时钟选择2HZ,因此设有计数器,当计数器到6时,3秒时间到,计数器的值恢复为0,楼层显示则相应地加1或减1。楼层检测流程图如图3.6所示。

15

基于FAGA的四层电梯控制系统设计

图3.6 楼层检测模块流程图

3.4 楼层数码管显示模块

表3.1为7段译码真值表:当输出端状态为1时表示该段亮,当输出端状态为0时表示该段灭。数码管显示当前电梯所在楼层,即current_floor。

表3.1 七段译码真值表

显示数字 a 1 2 3 4

输出笔状态 b 1 0 0 1

f 0 1 1 1 g 0 1 1 0 c 1 1 0 0 d 0 1 1 0 16

e 0 0 1 1 0 1 1 1 基于FAGA的四层电梯控制系统设计

3.5 开关门控制模块

当state(2)=0时,启动开关门控制,电梯门共有三个状态,分别为开门(door=11)、准备关门(door=01)和关门(door=00)状态。其中,一般情况下开门时间为4秒(0

同时,电梯门控还包含延时关门(delay)和快速关门(close)两个请求,当有延时关门请求时,电梯延时3秒关门,当有快速关门请求时,电梯直接进入准备关门状态,即1秒后立即关门。

同时电梯还设有报警,当电梯在本层停留时间超过10秒(q>20)则电梯开始报警,准备关门,并在3秒后自动关门。

开关门控制流程图如图3.7所示。

图3.7 开关门控制流程图

17

基于FAGA的四层电梯控制系统设计

3.6 电梯运行模块

电梯运行模块是控制系统的关键,这个模块中的很多判断条件是以信号灯的状态为依据,而后根据本模块输出的电梯上升、下降、停止等状态信号反过来又控制信号灯的状态。

电梯运行时,遵循电梯内部请求优先响应的原则,同时响应请求信号遵循运行方向优先原则,即:电梯处于上升模式时,电梯只响应比电梯所在位置高的上楼信号,由下至上依次执行,直到最后一个上楼请求执行完毕,如更高层有下楼请求时,则直接上升到有下降请求的最高楼接客,然后进入下降模式。当电梯处于下降模式时,电梯只响应比所在楼层低的下楼信号,由上至下依次响应,直到最后一个上楼请求执行完毕,若更低楼层有上升请求,则直接下降到有上升请求的最低楼接客,然后进入上升模式。电梯运行流程图如图3.8所示。 当系统复位时,电梯处于停止和等待的状态。 (1)当电梯在1楼时:

若电梯停在1楼(run=0),先判断1楼是否有上升请求,若有1楼的外部上升请求,则电梯开门关门,再判断2-3楼是否有外部上升请求或内部2-4楼的请求,若2-3楼有外部上升请求或有内部请求到达2-4楼,则电梯运行(run=1),此时电梯处于上升状态去应答上升请求(state(1 downto 0)=11),最后判断2-4楼是否有外部下降请求,若2-4楼有外部下降请求,则电梯运行(run=1)此时电梯处于上升状态去应答下降请求(state(1 downto 0)=01)。 若电梯正在运行(run=1):当电梯处于下降状态时且1楼有上升请求或有内部到达1楼的请求时,电梯停止运行并开门。

(2)当电梯在2楼时:

当电梯停在2楼时(run=0):先判断2楼是否有外部上升或下降的请求,若电梯在2楼有外部上升或下降请求,则电梯开门;若电梯当前处于下降状态(state(0)=0),则再判断电梯是否有内部1楼请求,若有内部请求去1楼,则电梯开始运行(run=1),电梯变为下降状态去响应下降请求(state(1 downto 0)=00),再判断电梯是否有1楼的外部上升请求,若电梯有1楼外部上升请求,则电梯开始运行(run=1),电梯变为下降状态去响应上升请求(state(1 downto 0)=10),再判断电梯是否有3-4楼的内部请求或3楼的外部上升请求,如果电梯内部有3-4楼请求或3楼有外部上升请求,则电梯开始运行(run=1),此时电梯变为上升状态去应答上升请求(state(1 downto 0)=11);最后判断是否有3-4楼的外部下降请求,若有3-4楼的外部下降请求,则电梯开始运行(run=1),此时电梯变为上升状态去响应下降请求(state(1 downto 0)=01);若电梯当前处于上升状态(state(0)=1),则再判断电梯是否有3-4楼的内部请

18

基于FAGA的四层电梯控制系统设计

求或3楼的外部上升请求,如果电梯内部有3-4楼请求或3楼有外部上升请求,则电梯开始运行(run=1),此时电梯变为上升状态去应答上升请求(state(1 downto 0)=11);再判断是否有3-4楼的外部下降请求,若有3-4楼的外部下降请求,则电梯开始运行(run=1),此时电梯变为上升状态去响应下降请求(state(1 downto 0)=01),再判断电梯是否有内部1楼请求,若有内部请求去1楼,则电梯开始运行(run=1),电梯变为下降状态去响应下降请求(state(1 downto 0)=00),最后判断电梯是否有1楼的外部上升请求,若电梯有1楼外部上升请求,则电梯开始运行(run=1),电梯变为下降状态去响应上升请求(state(1 downto 0)=10);

若电梯正在运行(run=1),则当电梯处于上升状态去完成上升请求时(state(1 downto 0)=11),若2楼有外部上升请求,则电梯停运并开门;若电梯处于上升状态去应答下降信号时(state(1 downto 0)=01),若2楼有外部下降请求且3-4楼没有外部下降请求,则电梯停运并开门;若电梯处于下降状态去应答下降信号时(state(1 downto 0)=00),若2楼有外部下降请求,则电梯停运并开门;若电梯处于下降状态去完成上升请求时(state(1 downto 0)=10),若2楼有外部上升请求且1楼没有上升请求时,电梯停运并开门。

(3)当电梯在3楼时: 电梯运行状态与2楼类似。 (4)当电梯在4楼时:

当电梯停在4楼时(run=0):先判断是否有4楼的外部下降请求4楼有外部下降请求,则电梯开门;在判断2-3楼是否有外部下降请求或1-3楼的内部请求,若2-3楼有外部下降请求或电梯内部有到1-3楼的请求时,则电梯开始运行(run=1),此时电梯处于下降状态去完成下降信号(state(1 downto 0)=00),最后判断电梯是否有1-3楼的外部上升请求,若1-3楼有外部上升请求时,电梯运行(run=1),此时电梯处于下降状态去应答上升信号(state(1 downto 0)=01)。

若电梯正在运行(run=1),当电梯处于下降状态且4楼外部有下降请求或有到4楼的内部请求时,电梯停止运行并开门。

19

基于FAGA的四层电梯控制系统设计

图3.8 电梯运行流程图

20

基于FAGA的四层电梯控制系统设计

第4章 四层电梯控制系统展示

4.1 系统软件验证

系统通过仿真后,根据EDA实验开发平台的实际情况,选择可编程逻辑器件CPLD/FPGA,进行管脚分配,锁定管脚进行编译,将编译产生的SOF文件,通过下载电缆配置到硬件中,将目标板和并口通信线连接好,验证电子密码锁的功能。该系统选择器件为EP1K30QC208-2。管脚锁定对照表如表4.1所示。系统仿真图如图4.1所示。

表4.1 信号与管教对照表

21

基于FAGA的四层电梯控制系统设计

图4.1 系统仿真图

如图4.1,当复位时(rst=1),电梯门关闭(door=00),电梯处于1楼(led7s=0000110),电梯停止运行(run=1)。当有外部的2楼上升请求时,2楼的外部上升信号指示灯亮(up_req(2)=1),电梯开始运行(run=1),电梯上升(u_d=1)。3秒后,电梯到达2楼(led7s=1011011),电梯停止运行(run=1),电梯开门(door=11),2楼外部上升请求指示灯灭(up_req(2)=0)。4秒后电梯准备关门(door=10),再过1秒后电梯关门(door=00)。

4.2 四层电梯控制系统相应图片展示

程序下载成功后,运行系统可得到展示结果。 (1) 电梯复位

如图4.2所示,当复位时,电梯处于1楼停止的状态。

22

基于FAGA的四层电梯控制系统设计

图4.2 成果展示图1:电梯复位

(2) 电梯有3楼内部请求:

如图4.3所示,当内部有3楼的请求信号时3楼的请求指示灯亮,上升/下降指示灯亮,说明电梯在向上运行,run运行指示灯亮。

当电梯到达3楼时,3楼指示灯灭,run运行指示灯灭,电梯开门,门控指示灯都亮。如图4.4所示。

图4.3 成果展示图2:电梯在1楼,内部有到3楼的请求,开始上升

23

基于FAGA的四层电梯控制系统设计

图4.4 成果展示图3:电梯上升到3楼,开门

(3)电梯在1楼,2楼3楼同时发出外部上升请求:

如图4.5所示,当电梯在1楼时,2楼3楼外部同时有向上请求时,电梯2楼3楼上升指示灯亮,上升/下降指示灯亮,run运行指示灯亮。电梯先应答2楼的上升请求,然后再应答3楼的上升请求。如图4.6、4.7所示。

图4.5 成果展示图4:电梯在1楼,上升状态2、3楼外部有上升请求

24

基于FAGA的四层电梯控制系统设计

图4.6 成果展示图5:上升状态,应答2楼上升请求,开门

图4.7 成果展示图6:上升状态,应答3楼上升请求,开门

(4)电梯在4楼,2楼3楼同时发出外部向下请求:

如图4.8所示,当电梯在4楼时,2楼3楼有外部下降请求时,2楼3楼的下降请求指示等亮,运行指示灯亮,上升/下降指示灯灭,电梯向下运行。电梯先应答3楼的下降信号再应答2楼的下降信号。如图4.9、4.10所示。

25

基于FAGA的四层电梯控制系统设计

图4.8 成果展示图7:电梯在4楼,下降状态,2、3楼外部有下降请求

图4.9 成果展示图8:下降状态,响应3楼下降请求,开门

26

基于FAGA的四层电梯控制系统设计

图4.10 成果展示图9:下降状态,响应2楼下降请求,开门

(5) 电梯处于2楼,且电梯为下降状态时,1楼3楼有上升请求: 如图4.11所示,当电梯处于2楼,且电梯为下降状态时,1楼3楼有上升请求,则1楼3楼的上升请求信号指示灯亮,运行信号灯亮,上升/下降指示灯灭。根据方向优先原则,电梯先应答1楼的上升请求,再应答3楼的上升请求,如图4.12、4.13所示。

图4.11 成果展示图10:电梯在2楼,下降状态,1、3楼外部有上升请求

27

基于FAGA的四层电梯控制系统设计

图4.12 成果展示图11:下降状态,响应1楼请求

图4.13 成果展示图12:上升状态,响应3楼请求

(6)电梯在3楼时,且电梯处于上升状态时,电梯2楼4楼有下降请求:

如图4.14所示,当电梯在3楼时,且电梯处于上升状态时,电梯2楼4楼有下降请求时,则2楼4楼的下降请求信号灯亮,运行指示灯亮,上升/下降指示灯亮。根据方向优先原则,电梯先应答4楼的下降请求,再应答2楼的下降请求,如图4.15、4.16所示。

28

基于FAGA的四层电梯控制系统设计

图4.14成果展示图13:电梯在3楼,开门,上升状态,2、4楼外部申请下降

图4.15 成果展示图14:响应4楼请求,开门

29

基于FAGA的四层电梯控制系统设计

图4.16 成果展示图15:响应2楼请求,开门

(7)电梯延时开门:

如图4.17所示,当电梯到达2楼时,电梯门开,按住延迟开门键,8秒后电梯开始报警,如图4.18所示。再过2秒后电梯自动关门,如图4.19所示。

图4.17 成果展示图16:电梯在2楼,上升状态,开门

30

基于FAGA的四层电梯控制系统设计

图4.18 成果展示图17:电梯在2楼,上升状态,开门,警告

图4.19 成果展示图18电梯在2楼,上升状态,关门,警告

(8)电梯在3楼,且电梯处于上升状态,2楼4楼分别发出外部向上和向下请求:

如图4.20所示,当电梯处于上升状态,2楼4楼分别发出外部向上和向下请求时,2楼外部上升请求指示灯亮,4楼下降外部请求指示灯亮,上升/下降

31

基于FAGA的四层电梯控制系统设计

指示灯亮,电梯处于上升状态。电梯先响应4楼的请求,再响应2楼的请求,如图4.21、图4.22所示。

图4.20 成果展示图19:电梯上升运行中,经过3楼,

2楼外部请求上升,4楼外部请求下降

图4.21 成果展示图20:电梯上升到4楼,开门

32

基于FAGA的四层电梯控制系统设计

图4.22 成果展示图21:电梯下降到2楼,开门

(9)电梯在2楼,处于下降状态,1楼3楼分别有外部向上和向下请求: 如图4.23所示,当电梯在2楼,且电梯处于下降状态,1楼3楼分别有外部向上和向下请求时,1楼外部上升请求指示灯亮,3楼下降外部请求指示灯亮,上升/下降指示灯灭,电梯处于下降状态。电梯先响应1楼的请求,再响应3楼的请求,如图4.24、图4.25所示。

图4.23 成果展示图22:电梯下降运行中,经过2楼

1楼外部有上升请求,3楼外部有下降请求

33

基于FAGA的四层电梯控制系统设计

图4.24 成果展示图23:电梯下降到1楼,开门

图4.25 成果展示图24:电梯上升到3楼,开门

实验结果证明了本设计成功地完成了四层电梯控制系统的基本要求。

34

基于FAGA的四层电梯控制系统设计

第5章 总结

本次四层电梯控制系统的设计通过VHDL语言编程,在QuartusII环境下开发,下载至目标芯片FPGA上,在 ZY11EDA13BE实验系统中硬件实现。通过设计,深入学习了EDA有关知识,了解了FPGA的应用。

本次设计成功地完成了四层电梯控制系统的基本设计要求。

(1)能完成电梯基本的上升下降功能,当有多个请求信号时,电梯运行符合电梯设计的方向优先原则。

(2)电梯的运行状态通过LED灯显示输出,同时数码管能够实时显示电梯所在楼层。

(3)设有快速关门和延时关门的功能,当有快速关门请求时,电梯过1秒后立即关门,当有延时关门请求时,电梯延时4秒关门。

(4)电梯还设有报警功能,当电梯开门时间超过8秒时,电梯报警,并在3秒后自动关门。

在本次设计中自己的收获很多:

(1)在此次设计选题、查阅资料、实际操作的过程中,我的动手能力和学习能力得到了提高,这对我今后的学习、生活中都有着巨大的帮助; (2)此次设计让自己对于大学四年学习到的知识,特别是EDA方面的知识有了更深一步的理解,同时也进行了一个综合的应用;

(3)在此次设计中,我曾遇到了许多困难,特别是在方向优先原则方面的设计,但是在老师和同学的帮助下,这些问题都得到了很好的解决,最终成功地完成了电梯控制系统设计,通过本次设计,我的自信心和解决问题的能力得到了大大的提升,总之,此次设计我受益匪浅。

35

基于FAGA的四层电梯控制系统设计

参考文献

[1] 刘昌华. EDA技术与应用—基于Quartus和VHDL.[M]. 北京:北京航空航天大学出版社.2012

[2] 王心水.基于FPGA的多功能密码锁的设计[J].电子技术,2011,4:60-62.

[3] 王永祥,刘焱.EDA实验教学的电子密码锁创新设计[J].宜春学院学报,2010,8:36-39.

[4] 徐志军,王金明,尹廷辉.EDA技术与VHDL设计[M].北京:电子工业出版社,2009. [5] 祝常青,张伟功,于伦正.VHDL语言的可综合性[J].微电子学与计算机,1998,4:25-29.

[6] 于润伟.EDA基础与应用[M].北京:机械工业出版社,2010.

[7] 王振红.数字电路设计与应用实践教程[M].北京:机械工业出版社,2006. [8] 郑常胼.基于FPGA和硬件教学实验的设计与开发[D].天津:天津大学,2007. [9] 摊会生,张昌凡.EDA技术及应用VHDL版[M].西安:西安电子科技大学出版社,2011. [10] 刘欲晓,方强,黄宛宁.EDA技术与VHDL[M].北京:电子工业出版社,2009.

[11] 江思敏.VHDL数字电路及系统设计[M].北京:机械工业出版社,2006. [12] 付家才.EDA工程实践技术[M].北京:化学工业出版社,2005. [13] 吴迪,杨梅,严飞.EDA与数字系统实验教程[M].大连:大连海事大学出版社,2011.

36

基于FAGA的四层电梯控制系统设计

致谢

时光飞逝,从论文的选题,到准备,到实施,到完成整个设计,本文的设计在我的指导老师悉心的指导和帮助之下得以完成。在这个过程中,从资料的查询和学习,系统设计的思路,到实际的操作,都离不开严飞老师的耐心指导和帮助。老师不是告诉我们结论,而是循循引导,给我们提示,像迷雾里的灯塔,这样的指导方式能够让我们学习到更多的东西,也教会了我们遇到问题时解决问题的思路。在此,感谢严飞老师以及大学四年老师们对我的教导和帮助,也感谢我的母校给了我一个成长的环境和不断进步的空间。

除此之外,我还想感谢在本次毕业设计中给过我帮助的同学,是你们在我遇到瓶颈的时候给了我建议帮助和鼓励,谢谢你们!也感谢大学四年中与我朝夕相处的同学们,在我生活学习上遇到困难的时候,给予我关怀和照顾,因为这样,我才能够在大学四年中不仅仅收获知识,也收获了友谊和心灵的成长。

我还要感谢我的家人,回顾这20多年来,是你们给了我最无私的爱。在外求学的这四年,你们在物质上和精神上都给了最大的支持,坚定了我追求梦想的信念,给了我勇气,在这大学毕业之际,希望即将步入社会的我,能成为你们的骄傲。

最后,由衷的感谢在百忙之中抽出时间审阅论文的专家教授老师,再次感谢给了我很多帮助的指导老师严飞老师,谢谢!

37

本文来源:https://www.bwwdw.com/article/m9pp.html

Top