基于FPGA的电梯控制器设计

合集下载

基于FPGA的电梯控制系统设计毕设论文

基于FPGA的电梯控制系统设计毕设论文

基于FPGA的电梯控制系统设计毕设论文摘要本毕设论文旨在设计一个基于FPGA的电梯控制系统。

通过采用FPGA芯片作为硬件平台,并结合相应的算法和逻辑设计,实现一个稳定、高效的电梯控制系统。

引言电梯控制系统在现代社会中扮演着重要的角色,它为人们的出行提供了便利。

然而,传统的电梯控制系统存在一些问题,比如效率低下、响应时间长等。

因此,设计一个基于FPGA的电梯控制系统成为了一个迫切的需求。

方法我们采用FPGA作为硬件平台,利用其可编程性和并行性的特点,完成电梯控制系统的设计。

具体的步骤如下:1. 首先,进行电梯控制系统的需求分析,确定系统所需要的功能和性能指标;2. 然后,设计相应的算法和逻辑电路,包括电梯调度算法、楼层按钮输入处理、状态机设计等;3. 接下来,使用FPGA开发平台进行硬件设计和验证,实现电梯控制系统的功能;4. 最后,进行系统性能测试和调优,确保系统的稳定性和高效性。

结果经过实验和测试,我们成功地实现了基于FPGA的电梯控制系统。

该系统具有以下特点:- 响应时间短:通过合理的调度算法和状态机设计,实现了快速响应用户操作的功能;- 稳定性高:通过FPGA的可编程性,能够灵活地根据需求进行调整和优化,提升系统的稳定性;- 高效性好:利用FPGA的并行处理能力,实现了多任务并行处理,提高了系统的处理效率。

结论本毕设论文通过设计一个基于FPGA的电梯控制系统,成功地解决了传统电梯控制系统存在的一些问题。

该系统具有响应时间短、稳定性高和高效性好的优点,能够为用户提供更好的电梯使用体验。

未来可以进一步优化和扩展该系统,使其更加智能化和智能化。

FPGA电梯控制器硬件电路设计

FPGA电梯控制器硬件电路设计

FPGA电梯控制器硬件电路设计FPGA(Field-Programmable Gate Array)是一种集成电路,可以根据用户的需求进行重复配置,实现不同的功能。

在电梯控制器中,FPGA 可以用于控制和管理电梯的各项功能,包括按钮输入、电机控制、门的开关等。

FPGA电梯控制器硬件电路设计需要考虑到电梯的各种功能和安全性要求。

通常,一个电梯系统由以下几个主要部分组成:按钮输入模块、电梯状态控制模块、电机控制模块、门控制模块、安全控制模块等。

下面我们将详细介绍这些模块的设计。

1.按钮输入模块:这个模块主要用于接受乘客在电梯厅内按下的楼层按钮。

在FPGA电梯控制器中,可以使用按键矩阵来实现按钮输入模块。

当乘客按下按钮时,按键矩阵将发送信号到FPGA芯片,FPGA芯片将根据接收到的信号确定乘客要去的楼层。

2.电梯状态控制模块:这个模块主要用于监控电梯当前的状态,包括当前楼层、电梯的移动方向、电梯是否到达目标楼层等。

在FPGA电梯控制器中,可以使用状态机来实现这个模块。

状态机可以根据按钮输入模块传递的信号和电梯当前的状态来确定电梯下一步的动作。

3.电机控制模块:这个模块用于控制电梯的运行,包括启动、停止、速度控制等。

在FPGA电梯控制器中,可以使用PWM(脉冲宽度调制)信号来控制电机的转速。

FPGA芯片可以根据状态控制模块传递的信号生成PWM信号,以实现电机的控制。

4.门控制模块:这个模块主要用于控制电梯门的开关。

在FPGA电梯控制器中,可以使用继电器或者马达来控制电梯门的开关。

FPGA芯片可以根据状态控制模块传递的信号来控制门的开关动作。

5.安全控制模块:这个模块用于确保电梯系统的安全运行,包括紧急停止、超载保护、电梯困人报警等功能。

在FPGA电梯控制器中,可以使用传感器监测电梯的状态,并根据监测结果生成相应的控制信号,确保电梯的安全运行。

总的来说,在设计FPGA电梯控制器硬件电路时需要考虑到电梯的各项功能和安全性要求,合理设计每个模块之间的交互关系,保证电梯系统的稳定运行和用户的安全。

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

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

基于FPGA的电梯控制器系统设计本文首先提出了一种基于有限状态机的电梯控制器算法,然后根据该算法设计了一个三层电梯控制器,该电梯控制器的正确性经过了仿真验证和硬件平台的验证。

本文的电梯控制器设计,结合了深圳信息职业技术学院的实际电梯的运行情况,易于学生理解和接受,对于工学结合的教学改革,是一个非常好的实践项目。

另外,本文提出的电梯控制器算法适合于任意楼层,具有很强的适应性和实用性。

电子设计自动化技术是19世纪末21世纪初新兴的技术,其在数字电路设计和日常的控制系统中已经体现了强大的功能和优势。

随着EDA技术的高速发展,电子系统设计技术和工具发生了深刻的变化,大规模可编程逻辑器件FPGA的出现,给设计人员带来了诸多的方便。

HDL(硬件描述语言)是随着可编程逻辑器件(PLD)发展起来的,主要用于描述数字系统的结构、行为、功能和接口,是电子设计自动化(EDA)的关键技术之一。

它通常采用一种自上而下的设计方法,即从系统总体要求出发进行设计。

目前从期刊杂志中看到一些采用FPGA实现电梯控制系统的设计文章,在这些文章中看不到针对任意楼层的控制器算法,而针对任意层数的控制器算法是保证控制器实用性和适用性的关键。

因此,本文尝试采用EDA技术来设计一个N层电梯控制系统,具体思路是:首先给出电梯控制器的算法,然后在硬件平台上实现并验证。

1 电梯控制系统要求电梯控制系统通常包含图1中的功能:电梯升、降、停;电梯门开、关;请求信号显示、楼层显示;超载、故障报警。

其中超载、故障报警需要用到传感器,该控制相对比较简单,因此本文不再展开讨论。

本文着重讨论涉及其他功能的控制器算法。

针对第一教学楼的电梯,其电梯控制器实现了以下功能:(1)电梯内部每层均有相应的STop按钮;电梯外部除顶层外每层都有up按钮,除底层外每层都有down按钮;up按钮被按下表示该层有人要去高层,down按钮被按下表示该层有人要去低层,stop按钮被按下表示该层有人要出电梯。

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

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

基于FPGA的电梯控制系统设计摘要:介绍了基于FPGA的四层电梯控制系统的设计。

该系统采用Altera公司的CycloneⅡ系列FPGA芯片EP2C5T144作为主控制芯片,采用Verilog-HDL编程描述,实现对电梯的智能控制,经仿真验证,完成所要求功能。

该设计采用模块化编程,升级可实现任意多层电梯系统,具有很强的适应性和实用性。

关键词:电梯控制;FPGA;Verilog;控制模块0 引言随着社会的发展,电梯的使用越来越普遍,对电梯功能的要求也不断提高,其相应控制方式也在不断发生变化。

电梯的微机化控制主要有:PLC控制、单板机控制、单片机控制、单微机控制、多微机控制和人工智能控制等。

随着专用集成电路ASIC设计技术和EDA技术的发展,可编程逻辑器件的广泛使用,为数字系统设计带来了革命性的变化,改变了传统的电路设计中使用的芯片多、电路复杂、出现问题不易查找、不易进行功能扩展的缺点。

本设计使用FPGA器件作为主控制芯片,采用Verilog-HDL语言设计一个四楼层单个载客箱的电梯控制系统,设计采用模块化设计,便于修改和升级,可稍加改进,实现多层电梯控制。

1 电梯控制系统总体设计1.1 设计任务及要求设计一个四层电梯控制系统,要求如下:(1)各层电梯内部信号:各楼层请求按键、开关门请求按键,所在楼层显示,电梯运行状态显示。

外部信号:上升下降请求按键,所在楼层显示,电梯运行状态显示。

(2)能够存储请求信号,电梯上升(下降)过程中,根据电梯的运行状态,首先按方向优先、循环次序响应各请求。

(3)到达请求楼层后,该层的指示灯亮,电梯门自动打开,开门指示灯亮。

延时等待时间后,电梯门自动关闭(开门指示灯灭),电梯继续运行。

电梯空闲时,停在0层。

(4)具有超载报警功能。

1.2 电梯控制系统硬件结构电梯控制系统硬件结构如图1所示。

如图1所示,该系统主要由FPGA控制器、各输入信号模块、输出驱动模块组成。

FPGA控制模块的输入信号有:电梯内外请求信号、楼层到达信号、重启超载报警等信号;其输出信号分别驱动显示电路、电梯开关门电路、电机驱动电路、以及其他如报警电路等。

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

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

基于FPGA的四层电梯控制器设计山东大学 威 海 分 校课 程 设 计 报 告设计题目: _基于FPGA 的四层电梯控制器设计指导教师: 李素梅 郑亚民 董晓舟 ___姓 名:学 号: 20058002089 院 系: 信息工程学院 专 业: 电子信息科学与技术 年 级: 2005级2008年 7月 15 日目录摘要 (1)关键词 (1)1、设计要求 (1)2、总体设计 (1)3、详细设计 (2)3.1中央处理模块 (2)3.2 外部数据采集模块 (3)3.3 信号存储模块 (3)3.3 显示模块 (4)4、仿真 (4)5、结语 (5)附录:源程序 (6)摘要:本文介绍了基于FPGA的电梯控制器的总体设计方案,阐述了其内部功能模块的工作原理,基于状态机的原理,利用VHDL语言对各功能模块进行了编程、编译、仿真,并下载到实验箱上进行了验证。

结果表明,该电梯控制器按进循方向优先的原则可为四个楼层提供载客服务,并具有电梯运行情况指示功能。

文中使用的设计方法不仅简化了电路设计、节约了设计成本,而且提高了控制器的可靠性、稳定性和灵活性。

关键词:VHDL; FPGA; 状态机; 电梯控制1、设计要求(1) 使用VHDL语言与状态机设计思想设计一个4层建筑的电梯控制器;(2) 每层电梯入口设有上下请求开关及电梯内设有到达楼层请求开关;(3) 电梯每5秒钟升(降)一层;(4) 电梯到达有请求的楼层自动开门并定时关门和紧急状态紧急停止运行的功能;(5) 能记忆电梯内外所有请求信号并按照电梯运行规则按顺序响应, 每个请求信号留至执行完后消除;(6) 电梯运行规则———当电梯处于上升模式时, 只响应比电梯所在的位置高的上楼请求信号, 由下而上逐个执行, 直到最后一个上楼请求执行完毕,如果高层有下楼请求,则直接升到有下楼请求的最高楼层, 然后进入下降模式,当电梯处于下降模式时,则与上升模式相反。

2、总体设计根据上述设计要求,可以得到电梯控制器的总体结构如图1所示。

基于FPGA的全自动电梯控制器设计说明

基于FPGA的全自动电梯控制器设计说明

基于FPGA的全自动电梯控制器的设计序言随着科学技术的发展、近年来,我国的电梯生产技术得到了迅速发展.一些电梯厂也在不断改进设计、修改工艺。

电梯主要分为机械系统与控制系统两大部份,随着自动控制理论与微电子技术的发展,电梯的拖动方式与控制手段均发生了很大的变化。

目前电梯控制系统主要有三种控制方式:继电器控制系统(早期安装的电梯多位继电器控制系统)、微机控制系统、FPGA控制系统。

继电器控制系统由于故障率高、可靠性差、控制方式不灵活以与消耗功率大等缺点,目前已逐渐被淘汰。

微机控制系统虽在智能控制方面有较强的功能,但也存在抗扰性差,系统设计复杂,一般维修人员难以掌握其维修技术等缺陷。

而FPGA控制系统由于运行可靠性高,使用维修方便,抗干扰性强,设计和调试周期较短等优点,倍受人们重视等优点,已成为目前在电梯控制系统中使用最多的控制方式,目前也广泛用于传统继电器控制系统的技术改造[1]。

目前国七八十年代安装的许多电梯电气部分用继电器接触器控制系统,线路复杂,接线多,故障率高,维修保养难,许多已处于闲置状态,其拽引系统多采用交流双速电机系统换速,效率低,调速性能指标较差,严重影响电梯运行质量。

由于这些电梯交流调压调速系统,交流双速电机拖动系统性能与乘坐舒适感较差,交流调压调速系统属能耗型调速的机械部分无大问题,为节约资金,大部分老式电梯用户希望对电梯的电气控制系统进行改造,提高电梯的运行性能。

因此对电梯控制技术进行研究,寻找适合我国老式电梯的改造方法具有十分重要的意义 [1][2]。

可编程器件的广泛使用,为数字系统的设计带来了极大的灵活性。

FPGA作为新一代可编程逻辑器件,以其高可靠性和技术先进性,在电梯控制中得到广泛应用,从而使电梯由传统的继电器控制方式发展为计算机控制的一个重要方向,成为当前电梯控制和技术改造的热点之一。

FPGA不仅具有可以满足电子系统小型化、低功耗、高可靠性、开发周期短、开发软件投入少等优点,而且可以通过软件编程对硬件的结构和工作方式进行重构式的硬件的设计,如同软件设计那样的方便快捷[2]。

fpga电梯控制器课程设计

fpga电梯控制器课程设计

fpga电梯控制器课程设计一、课程目标知识目标:1. 掌握FPGA的基本原理和编程方法;2. 学习并理解电梯控制系统的基本组成和工作原理;3. 了解电梯控制系统中各个模块的功能及相互关系;4. 掌握使用FPGA进行电梯控制程序设计的方法。

技能目标:1. 能够运用Verilog HDL或VHDL语言编写简单的FPGA程序;2. 能够分析电梯控制系统的需求,设计出相应的控制策略;3. 能够运用FPGA实现简单的电梯控制功能,如楼层召唤、运行方向控制等;4. 能够通过课程设计,培养实际操作和解决问题的能力。

情感态度价值观目标:1. 培养学生对电子工程及FPGA技术的兴趣,激发学生主动学习和探索的热情;2. 培养学生的团队协作精神和沟通能力,使他们能够在团队中共同解决问题;3. 培养学生的创新意识,鼓励他们勇于尝试新方法,提高电梯控制系统的性能;4. 培养学生关注社会问题,了解电梯安全运行的重要性,提高他们的社会责任感。

本课程旨在通过FPGA电梯控制器课程设计,使学生掌握FPGA编程和电梯控制系统设计的基本方法,培养他们的实际操作和创新能力。

在教学过程中,注重理论与实践相结合,充分调动学生的主观能动性,提高他们的综合素质。

课程目标具体、可衡量,便于教师进行教学设计和评估,同时有助于学生明确学习成果。

二、教学内容1. FPGA基础知识:- FPGA原理与结构;- Verilog HDL或VHDL语言基础;- FPGA开发环境介绍。

2. 电梯控制系统原理:- 电梯控制系统概述;- 电梯控制系统的主要组成部分;- 电梯控制系统的基本工作原理。

3. 电梯控制策略与算法:- 电梯运行模式及控制策略;- 楼层召唤与运行方向控制算法;- 交通分配与优化方法。

4. FPGA在电梯控制系统中的应用:- 基于FPGA的电梯控制程序设计;- 电梯控制模块的划分与实现;- FPGA程序仿真与调试。

5. 课程设计与实践:- FPGA电梯控制器设计任务与要求;- 设计方案的选择与评估;- FPGA程序编写与验证;- 课程设计成果展示与评价。

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

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

36魁科■技2021年•第2期基于FPGA的电梯控制系统设计◊武汉轻工大学电气与电子工程学院陶云轩李素芬张祥武杨文卓使用FPGA器件作为主控制芯片,Quartus II作为编程软件,使用DE10-NAN0作为编程后的硬件板子,设计一个基于DE10-NAN0板的电梯控制系统,便于实现更多层电梯控制,有较强的灵活性。

电梯在生活中随处可见,大型的商城中、高档的酒店内都少不了电梯的身影。

现阶段,电梯控制系统硬件由轿厢操纵盘、厅门信号、PLC、变频器、调速系统构成,变频器只完成调速功能,而逻辑控制部分是由PLC完成的。

PLC负责处理各种信号的逻辑关系,从而向变频器发出起停信号,同时变频器也将本身的工作状态输送给PLC,形成双向联络关系已。

FPGA,其实是一种开发者在短时间内利用个人PC就可以在实现多次重写的廉价设备,是高密度可编程逻辑器件的主流产品葺具有运行效率高,操作简易易于实现大规模系统和二次开发的系统。

Quartus II是Altera公司的综合性CPLD/FPGA开发软件,原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware支持DescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流本研究将使用FPGA器件作为主控制芯片,Quartus n作为编程软件,设计〜基于DE10-NANO板五层电梯控制系统。

1电梯的控制要求冋(1)该电梯五层,除第一、五层,每层都设有上下键,一层设有上键,五层设有下键。

(2)电梯内有防超重系统、紧急呼叫按钮、故障指示灯、报警系统和楼MS®等。

(3)电梯到达指定楼层后,过2秒后电梯门打开,开门4s电梯开始关闭,再经过6s电梯开始上下行。

(4)电梯没有接到指令时,在3楼待命。

2系统设计2.1电梯控制器的模块设计电梯控制器主要由指令请求模块、电梯运行状态模块、显示模块、开关门模块、超重报警模块这五个模块组成。

基于FPGA的三层电梯

基于FPGA的三层电梯

基于FPGA(verilog)编写的三层电梯一、需求分析;1、问题描述与要求:用Verilog语言设计一个电梯控制器,通过实验板对设计进行演示;要求楼层的高度大于等于6,并且所设计的电梯调度算法满足提高服务质量、降低运行成本的原则,电梯每2s上升或下降一层,关门需要2s,电梯开门维持4s,电梯超载后蜂鸣器会响,报警。

二、系统描述;1、考虑到板上的资源利用情况,设定电梯控制器适用的楼层为3层.2、在电梯的内部有一个控制面板,它负责按下请求到的楼层,并且显示当前尚未完成的目的地请求,当到达该楼层以后自动撤销本楼层的请求,即将面板灯熄灭.3、除1层和3层分别只有上/下按钮外,每个楼层(电梯门口旁)的召唤面板都有两个按钮,分别指示上楼和下楼请求。

4、电梯的外部面板会显示电梯当前所在的楼层,及上行还是下行(暂停显示刚才运行时的状态).当电梯在运行时,对应的楼层灯间固定显示一段时间进入下一楼层。

5、电梯调度方案:电梯向一个方向运行时,只对本方向前方的请求进行应答,直到本方向前方无请求时,才对反方向的请求进行应答。

当前内部控制面板上有的请求,只要经过所在楼层均会立即响应.在所有内部外部请求都已完成后,电梯转入等待。

电梯模型:(如下附图)三,功能模块划分1,分频模块:50Mhz的系统时钟输入,经过分频后产生1KHZ的时钟和0.5hz的时钟,1KHZ的时钟用于采集按键信号,按键的消抖和显示模块中数码管的动态扫描。

0.5hz的时钟用于主控制模块的的工作时钟,电梯每2s上升或下降一层,电梯开门维持4s,关门需要2s。

2,按键消抖模块:由于按键在按下的过程中有抖动的现象,会影响信号的采集结果,所以有必要对按键进行消抖,消抖模块为:3,报警模块:电梯开门后,如果电梯超载则蜂鸣器响,报警报警模块为:4,寄存器模块:用于对采集的按键信号进行保存,供后面的主控制模块分析,采样频率为1khz,寄存器模块为:5,主控制模块:该模块为整个设计的核心,控制电梯的运行情况;主控制模块为:6,显示模块:该模块用于将主控制的模块的输出数据进行译码显示,显示模块为:7,主控制模块的功能分析:将主控制模块分为5个状态,idle(等待),ceng1(第一层),ceng2(第二层),ceng3(第三层),kai(开门),主要通过这几个状态之间的转变来实现电梯的工作情况8,板上硬件介绍:按键:sw1为一层的上升请求,sw2为二层的上升请求,sw3为二层的下降请求,sw4为三层的下降请求,sw5为超载信号输入,sw6为选择第一层,sw7为选择第二层,sw8为选择第三层.数码管:左边三个数码管分别显示各层电梯所处的状态,为0时表示空闲等待状态,为1时表示下降,为2时表示上升,第4,5,6个数码管为各层显示电梯处于的层数,第7个数码管为电梯内部显示电梯所在层数,第8个数码管为内部显示电梯的工作方式,为0时表示空闲等待状态,为1时表示下降,为2时表示上升。

FPGA电梯控制系统软件设计

FPGA电梯控制系统软件设计

FPGA电梯控制系统软件设计一、引言电梯是现代城市生活中不可或缺的交通工具,具有极其重要的作用。

随着科技的发展,智能化电梯的需求也日益增长。

FPGA(Field Programmable Gate Array)作为一种可编程的逻辑器件,能够在实现特定功能的同时满足快速设计以及可重构的需求,因此在电梯控制系统中具有广泛的应用前景。

本文将重点介绍FPGA电梯控制系统的软件设计,包括设计目标、系统功能、系统架构、软件模块划分等内容。

二、设计目标1.自动控制:通过FPGA实现对电梯的自动调度、楼层选择、门的开关等功能。

2.安全保障:设计系统保障电梯在运行中的安全,避免因操作失误或其他原因导致的意外事故。

3.高效运行:提高系统的响应速度,保证电梯的运行在最短时间内完成。

三、系统功能1.电梯的调度功能:根据乘客的楼层选择,自动调度电梯的运行,使得乘客能够尽快到达目的楼层。

2.电梯的楼层选择功能:乘客在电梯门口选择所需的楼层时,电梯能够自动识别并调整运行方向。

3.门的开关功能:在乘客进出电梯时,自动控制电梯门的开关,确保乘客的安全。

四、系统架构在软件设计中,需要实现以下几个模块:1.电梯调度模块:根据乘客的楼层选择和当前楼层情况,自动调度电梯的运行。

2.楼层选择模块:在乘客选择楼层时,识别并记录乘客的选择,并与调度模块进行通信。

3.门的控制模块:控制电梯门的开关,确保乘客在进出电梯时的安全性。

4.状态监控模块:监控电梯的当前状态,包括运行方向、当前楼层等信息。

五、软件模块划分在FPGA电梯控制系统的软件设计中,可以将软件模块划分为以下几个部分:1.顶层模块:顶层模块包括整个系统的主控制逻辑,负责协调各个子模块之间的通信和数据传递。

2.电梯调度子模块:电梯调度子模块主要负责对电梯的运行进行调度,根据乘客的需求和当前楼层情况进行合理的调度。

3.楼层选择子模块:楼层选择子模块根据乘客的楼层选择,向电梯调度子模块发送相应的指令。

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

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

摘要电梯作为现代化的产物,早在上个世纪就已经进入了人们的生活之中。

随着城市建设的不断发展,高层建筑的不断增多,电梯作为高层建筑中垂直运行的交通工具已与人们的日常生活密不可分。

目前电梯控制系统主要有三种控制方式:继电路控制系统、FPGA/CPLD的控制系统、微机控制系统。

FPGA/CPLD控制系统由于运行可靠性高、使用维修方便、抗干扰性强、设计和调试周期较短等优点,倍受人们重视,已经成为目前在电梯控制系统中使用最多的控制方式。

本文设计了一款基于FPGA 的四层电梯控制系统设计。

该控制系统主要有按键输入部分、FPGA控制处理部分、显示部分、提醒部分等组成。

该控制系统以FPGA 芯片EP2C5T114为核心,采用VHDL 语言进行描述,采用有限状态机的设计方法完成的。

通过程序仿真调试及硬件运行,结果表明,本程序可以完成电梯运行所有按键请求输入、按键指示灯显示、楼层显示、电梯运行方向指示、关门延时、到达提醒等,电梯运行正确无误。

该设计采用模块化编程,升级可实现任意多层电梯系统,具有很强的适应性和实用性。

关键词:VHDL,电梯控制器, FPGA , Quartus IIAbstractAs a modern elevator product early in the last century has entered people's lives. With the continuous development of urban construction, the growing number of high-rise buildings, the elevator as high-rise buildings in a vertical run of transport has been inextricably linked with people's daily lives. Currently there are three main elevator control system control: Following the circuit control system, FPGA / CPLD control systems, computer control system. FPGA / CPLD control system due to high reliability, easy maintenance, strong anti-jamming design and debug cycle is shorter, etc., much of the attention of people, has become in the elevator control system using the most control.This paper presents an FPGA-based four-story elevator control system design. The control system has the key input section, FPGA control processing section, a display section, reminding parts and other components. The control system EP2C5T114 FPGA chip as the core, using VHDL language to describe finite state machine design complete. Simulation and hardware debugging through the program runs, the results show that the procedure can be completed where the elevator buttons request input, key indicator displays, floor displays, elevator directions, closing delay setting, arrived reminders, elevators run correctly. The design is modular programming, upgrades can be any multi-elevator system, has strong adaptability and practicality.Keywords: VHDL, Elevator controller, FPGA, Quartus II目录摘要 (I)Abstract (II)目录........................................................................................................................................... I II 第1章绪论 .. (1)1.1 课题研究的背景及意义 (1)1.2 国内外状况的研究 (1)1.2.1国内电梯的状况 (1)1.2.2 国外电梯的状况 (2)1.3 本章小结 (2)第2章EDA的介绍 (3)2.1 EDA技术的简介 (3)2.2 FPGA的简介 (4)2.3 VHDL语言的简介 (5)2.4 FPGA开发环境 (7)2.5 状态机的简介 (8)2.6 本章小结 (9)第3章方案分析与论证 (10)3.1 设计任务 (10)3.2 设计思路 (10)3.3 软件系统流程 (12)3.4 状态原理图说明 (15)3.5 本章小结 (16)第4章软件设计原理及开发测试 (17)4.1 软件编程在Quartus II中实现的流程 (17)4.2 仿真操作与结果分析 (23)4.2.1仿真的基本操作 (23)4.2.2仿真图的分析 (25)4.3本章小结 (29)第5章硬件设计原理及开发调试 (31)5.1 芯片介绍 (31)5.2 硬件实现下载 (31)5.3 硬件电路原理图 (33)5.3.1 按键部分硬件电路设计 (33)5.3.2 按键指示灯部分硬件电路设计 (33)5.3.3 楼层显示部分硬件电路设计 (34)5.3.4上升下降指示灯硬件电路图设计 (35)5.4 设计在硬件电路板上的运行 (35)5.4.1 硬件电路图功能介绍 (35)5.4.2 硬件电路的开发调试 (37)5.5 本章小结 (40)结论 (41)参考文献 (42)致谢 (43)附录A 本设计的RTL级视图 (44)附录B 硬件电路原理图 (45)附录C 部分程序 (46)第1章绪论1.1 课题研究的背景及意义随高层楼宇的增加,电梯越来越普遍的走进了人们的生活,对人们的生活的影响也越来越大。

基于FPGA10层电梯控制器的设计

基于FPGA10层电梯控制器的设计

学校代码:11059学号:0905076037Hefei University毕业论文(设计)BACH ELOR DISSERTATION论文题目:__基于FPGA全自动电梯控制器的设计_学位类别:________________工学学士______________________学科专业:___________ ___电子信息工程__ ____作者姓名:____________ _ 石侠军________ _____________导师姓名:________________ 周泽华__________________完成时间:___________ 2013.5.28_______ _______基于FPGA的全自动电梯控制器的设计中文摘要作为高层建筑的交通工具--电梯,已经是必不可少的设备了,在中国电梯的需求量是巨大的,但是国内相比欧美等发达国家,自主创新的品牌所占份额还是相对较少。

早在20世纪电梯就已经进入到我们的生活当中,在电梯的控制方面,以前主要使用继电器-接触器控制系统进行控制,如今FPGA已经广泛的应用电梯控制中。

随着社会不断的进步,电梯已经朝着快捷,节能的方向发展。

在电梯控制方面,FPGA拥有了他独特的优势,他打破了硬件和软件之间的壁垒,在本设计当中采用的是VHDL描述语言进行设计,运用有限状态机的设计方法,设计了两个进程相互配合,状态机进程作为主要进程,信号灯控制进程作为辅助进程。

在本论文中是基于VHDL语言上的十层电梯控制。

以QuartusⅡ软件为开发环境,最终实现十层电梯控制。

功能包括:显示电梯所在楼层、电梯当前运行方向、对各个楼层按键的响应。

关键字:电梯控制器,VHDL,状态机Base on FPGA Automatic Elevator Control SystemABSTRACTHigh-rise buildings as a means of transport, elevator, is an indispensable equipment. In the Chinese elevator demand also is enormous, but the domestic compared to developed countries, independent innovation brand share or less. As society continues to progress, the elevator has been toward fast, energy-saving direction. In early twentieth Century the elevator has entered into our daily lives, in the elevator control, before the main use of relay contactor control system control, now FPGA has been widely used in elevator control.In the elevator control, FPGA has his unique advantage, he broke the barriers between hardware and software, is adopted in this design is the VHDL description language for designing, using the design method of finite state machine, the design of the two processes interact with each other, the state machine process as the main process, signal lamp control process as the worker process.The elevator control ten layers based on is VHDL language in this paper. By the Quartus software development environment, and ultimately ten elevator control. Features include: shows the elevator floor, elevator running direction, in response to each floor button.KEY WORD: Elevator Controller, VHDL State Machine,CPL目录第1章课题概述 (1)1.1课题设计基本背景 (1)1.1.1国内与国外电梯发展情况 (1)1.1.2电梯在运行时的安全要求 (2)1.1.3电梯控制发展概况 (3)1.2 课题设计的提出 (3)1.2.1 FPGA/CPLD简介 (3)1.2.2 FPGA体系结构 (4)1.2.3硬件描述语言VHDL (4)1.3课题主要内容 (5)第2章设计基本原理与思路 (6)2.1控制器的功能及技术指标 (6)2.2全自动电梯控制方案选择 (6)2.3 电梯模块划分 (7)第3章模块内部程序设计 (10)3.1 系统时钟分频模块 (10)3.2 系统按键综合处理模块 (11)3.3 电梯运行控制模块 (12)3.4 数码管显示模块 (19)3.5 模块整合 (19)第4章系统模块程序运行与仿真 (21)4.1 时钟分频模块仿真效果 (21)4.2 按键处理模块仿真效果 (21)4.3 数码管显示模块仿真效果 (22)4.4电梯运行控制模块仿真效果 (22)4.5电梯整合后总体仿真效果 (24)第5章硬件验证 (25)5.1模式选择 (25)5.2 引脚锁定 (25)5.3硬件验证结果 (27)第6章总结 (31)附录:各个模块内部VHDL程序 (34)第1章课题概述1.1课题设计基本背景1.1.1国内与国外电梯发展情况随着科学技术的发展,社会文明的进步,土地资源的也随之变得紧缺,建筑物高度的提高也成为必然的趋势,于是在日常生活当中,电梯已经是作为高层建筑中必不可少的垂直运输工具了,它也已然成为城市物质文化的一种明显的标志。

基于FPGA的电梯控制器设计

基于FPGA的电梯控制器设计

基于FPGA的电梯控制器设计一、题目要求设计三层电梯控制器,要求能根据用户在电梯内外按下的命令键,实现上升、下降、停止等功能。

电梯内的命令键主要是前往1、2和3楼的按键;电梯外的命令键则主要是分布在电梯三个楼层的入口处,用以呼叫电梯到用户所在的楼层。

二、题目分析本设计主要由电梯控制模块和显示模块两部分组成,其中电梯控制模块又包含状态机、分频、按键扫描、延时等子模块,显示模块主要是通过数码管来完成,可以通过显示“UP”、“DOWN”、“OPEN”、“CLOSE”还有当前楼层数等字样来反映电梯当前状态。

以下是详细介绍。

(一)电梯控制模块电梯控制模块主要部分是一个由14个状态组成的状态机,包括上升、下降、停止、直接打开、等待电梯到来、电梯停稳、等待开门、等待关门、去第几层命令检测等。

电梯控制模块的输入输出端口主动是为该状态机服务的,现介绍模块的输入输出端口如下。

输入端口:up1,up2,up3分别是用户在电梯外部呼叫电梯的信号。

goto_floor1,goto_floor2,goto_floor3分别是用户在电梯内部选择去向的信号。

clk_in为50MHZ时钟信号输入。

rst为复位信号。

输出端口:open_door为开门标志位,当该位置1时为开门状态,当该为置0时为关闭状态。

display_up为上升显示标志位,当该为置1时,表示电梯正处于上升状态。

display_down为下降显示标志位,当该为置1时,表示电梯正处于下降状态。

各状态的定义如表1所示,状态间的切换如图1所示。

表1 状态对照表图1 状态切换图(二)显示模块显示模块主要由6个数目管完成,当电梯处于上升阶段时,会显示“UP”,当电梯处于下降时显示“dn”代表down,当电梯处于开门时显示“OPEN”,当电梯处于关门状态时,由于板载资源有限,显示“CLOE”代表CLOSE ,此外还有当店楼层显示。

整个系统的RTL级结构图如图2所示。

图2 系统RTL图三、程序代码1.电梯控制模块代码/*_______________________电梯控制模块__________________________*/ module Elevator(clk_in,rst,goto_floor1,goto_floor2,goto_floor3, //电梯里面请求去几楼buttonup1,up2,up3, //电梯外面请求去几楼button open_door,display_up,display_down,pos //状态标志作为输出);input clk_in,rst;input up1,up2,up3;input goto_floor1,goto_floor2,goto_floor3;output open_door,display_up,display_down;output pos; //当前楼层数reg open_door,display_up,display_down;reg [1:0] position;reg [3:0] state;reg [1:0] KeyFlag; //外面请求button值reg Cont; //计数标志reg [1:0]goto_floor;reg [27:0] wait_cnt; //计数延时变量reg [24:0] cnt; //分频计数变量wire goto_stop;wire CLK_OUT; //慢时钟扫描button用reg [1:0] pos; //记录当前位置//状态变量parameter[3:0]//wait for elevatorstop=0, //扫描buttonup=1, //电梯向上down=2, //电梯向下opendirect=3, //直接打开wait_evelator_coming=4, //电梯向上或者向下进行中 come_done=5, //电梯停稳wait_door_close=6, //等待电梯门关闭go_to_where=7, //电梯里面选择去哪里//on the elevetorup_d=8, //电梯里面的向上状态down_d=9, //电梯里面的向下状态wait_evelator_coming_d=10, //电梯里面的等待电梯到位 come_done_d=11, //电梯里面的到位完成 wait_door_open=12, //等待开门wait_door_close_d=13; //等待关门/*_______________________状态切换模块_________________________*/ always @ (posedge clk_in or negedge rst)beginif(!rst)beginpos = 1; //默认楼层初始值为1state = stop; //初始状态 stop扫描模式display_up = 0; //显示上升标志位display_down = 0; //显示下降标志位open_door = 0; //开门标志位Cont = 0; //计数标志endelsebegincase(state)/****扫描外部请求button****/stop:beginif(KeyFlag==1) //一楼有请求信号beginif(KeyFlag < pos) //如果电梯当前不是在1楼state = down; //下降elsestate = opendirect; //如在1楼,直接打开门endelse if(KeyFlag==2) //2楼有请求信号beginif(KeyFlag > pos) //如果电梯在1楼state = up; //上升else if(KeyFlag < pos) //如果电梯在3楼state = down; //下降elsestate = opendirect; //在二楼直接打开 endelse if(KeyFlag==3) //如果请求信号在3楼beginif(KeyFlag > pos) //如当期那位置不是在3楼state = up;elsestate = opendirect; //如当前位置在3楼 endelsestate = stop; //如果没有检测到正确值,继续检测 end/******电梯向上******/up:begindisplay_up = 1;state = wait_evelator_coming;end/******等待电梯到来******/wait_evelator_coming:begin Cont = 1;if(wait_cnt[26]==1)beginCont =0;pos = KeyFlag;state = come_done;endelsestate = wait_evelator_coming;end/******电梯已经到来******/come_done:beginopen_door=1;display_up = 0;display_down = 0;state = wait_door_close;end/******等待电梯关门******/wait_door_close:beginCont = 1;if(wait_cnt[26]==1)beginCont =0;pos = KeyFlag;open_door = 0;state = go_to_where;endelsestate = wait_door_close;end/******去哪里—电梯内部button扫描******/go_to_where:beginopen_door = 0;if(((goto_floor ==1) && (goto_floor <pos))|((goto_floor ==2) && (goto_floor < pos)))state = down_d;else if(goto_floor == pos) //elevator at currect pos floor nowstate = opendirect;else if(((goto_floor ==2) && (goto_floor >pos))|((goto_floor ==3) && (goto_floor > pos)))state = up_d;elsestate = go_to_where;end/******直接打开******/opendirect:beginopen_door = 1;state = wait_door_close;end/******检测外部button后,向下运行******/down:begindisplay_down = 1;state = wait_evelator_coming;end/******检测内部button后,向下运行******/down_d:begindisplay_up = 0;display_down = 1;state = wait_evelator_coming_d;end/******检测外部button后,向上运行******/ up_d:begindisplay_up = 1;state = wait_evelator_coming_d;end/******内部状态下,等待电梯到来******/ wait_evelator_coming_d:beginCont = 1;if(wait_cnt[26]==1)beginCont = 0;pos = goto_floor;state = come_done_d;endelsestate = wait_evelator_coming_d;end/******电梯已经到来******/come_done_d:begindisplay_up = 0;display_down = 0;pos = goto_floor;state = wait_door_open;end/******等待开门******/wait_door_open:beginCont = 1;if(wait_cnt[26]==1)beginCont = 0;open_door = 1;state = wait_door_close_d;endelsestate = wait_door_open;end/******等待关门******/wait_door_close_d:beginCont = 1;if(wait_cnt[26]==1)beginCont =0;open_door=0;state = stop;endelsestate = wait_door_close_d;endendcaseendend/*_____________________慢时钟分频模块________________________*/ always @ (posedge clk_in or negedge rst)beginif(!rst)cnt<=0;elsecnt<=cnt+1;endassign CLK_OUT = cnt[8];/*_______________外部button请求扫描模______________________*/ always @ (posedge CLK_OUT or negedge rst)beginif(!rst)KeyFlag<=0;else if(up1)KeyFlag<=1;else if(up2)KeyFlag<=2;else if(up3)KeyFlag<=3;end/*_________________内部button请求扫描模__________________________*/ always @ (posedge CLK_OUT or negedge rst)beginif(!rst)goto_floor<=0;else if(goto_floor1)goto_floor<=1;else if(goto_floor2)goto_floor<=2;else if(goto_floor3)goto_floor<=3;elsegoto_floor<=0;end/*___________________________延时模块______________________________*/ always @ (posedge clk_in or negedge rst)beginif(!rst)wait_cnt<=0;else if(Cont)wait_cnt<=wait_cnt+1;else if(!Cont)wait_cnt<=0;endendmodule2.显示模块代码/*________________________显示模块________________________*/ module display(clk,rst,display_up,display_down,pos,open_door, //标志位信号sm_db0,sm_db1,sm_db2,sm_db3,sm_db4,sm_db5,sm_db6,sm_db60); //数码管input clk,rst;input display_up,display_down;input [1:0]pos,open_door;output[6:0] sm_db0,sm_db1,sm_db2,sm_db3,sm_db4,sm_db5,sm_db6,sm_db60; reg[6:0] sm_db0,sm_db1,sm_db2,sm_db3,sm_db4,sm_db5,sm_db6,sm_db60;//数码管显示编码parameter segC = 7'hC6,segd = 7'hA1,segE = 7'h86,segL = 7'hC7,segN = 7'hC8,segO = 7'hc0,segP = 7'h8C,segU = 7'hC1,seg1 = 7'hf9,seg2 = 7'ha4,seg3 = 7'hb0,segdis = 7'hff;always @ (posedge clk or negedge rst)beginif(!rst)begin //复位显示关闭sm_db0 <= segdis;sm_db1 <= segdis;sm_db2 <= segdis;sm_db3 <= segdis;sm_db4 <= segdis;sm_db5 <= segdis;sm_db6 <= segdis;sm_db60 <= segdis;endelsebeginif(display_up && (!display_down)) //4 5数码管显示UPbeginsm_db5 <= segU;sm_db4 <= segP;endelse if(display_down && (!display_up)) //4 5 数码管显示 DN 代表downbeginsm_db5 <= segd;sm_db4 <= segN;endelsebeginsm_db5 <= segdis;sm_db4 <= segdis;endif(open_door) //0 1 2 3 数码管显示 OPENbeginsm_db3 <= segO;sm_db2 <= segP;sm_db1 <= segE;sm_db0 <= segN;endelse //open_door = 0 数码管显示 CLOEbeginsm_db3 <= segC;sm_db2 <= segL;sm_db1 <= segO;sm_db0 <= segE;endif(pos == 1) sm_db6 <= seg1;else if(pos == 2) sm_db6 <= seg2;else if(pos == 3) sm_db6 <= seg3;endendendmodule四、测试仿真1.测试代码timescale 1ns / 1psmodule test;// Inputsreg clk;reg rst;reg goto_floor1;reg goto_floor2;reg goto_floor3;reg up1;reg up2;reg up3;reg [1:0] seg7_sel;// Outputswire [7:0] seg7;wire led_flag;// Instantiate the Unit Under Test (UUT)top_elevator uut (.clk_in(clk),.rst(rst),.goto_floor1(goto_floor1),.goto_floor2(goto_floor2),.goto_floor3(goto_floor3),.up1(up1),.up2(up2),.up3(up3),.seg7(seg7),.seg7_sel(seg7_sel),.led_flag(led_flag));always # 1 clk =~clk;initialbegin// Initialize Inputsclk = 0;rst = 0;goto_floor1 = 0;goto_floor2 = 0;goto_floor3 = 0;up1 = 0;up2 = 0;up3 = 0;seg7_sel = 0;// Wait 100 ns for global reset to finish#100;rst = 1;up2 = 1;#20000;up2 = 0;//goto_floor3 = 1;//#20000;//goto_floor3 = 0;// Add stimulus hereendendmodule2.仿真结果图3 仿真效果五、实验效果图4 初始状态:楼层为1,电梯关闭图5 当2楼有用户呼叫,电梯状态为up图6 用户选择3楼为目的地并到达3楼,此时电梯门打开六、实验心得本次试验可谓感触颇多,通过题目要求的实现,较为系统的了解了FPGA的编程方法,对状态机也有了更进一步的认识,感谢在程序调试中出现的一系列问题,给了我学习知识的机会,也感谢老师和学长的帮助,最后,对本次作业如此长时间的迟交向老师表示深深的歉意!!。

基于FPGA的电梯控制器设计_毕业设计论文

基于FPGA的电梯控制器设计_毕业设计论文
(2)设有电梯所处位置指示装置及电梯运行情况指示。
(3)当电梯处于上升时,只响应比电梯所在位置高的上楼请求信号,直到最后一个上楼请求执行完毕,再进入下降模式。
(4)当电梯处于下降时,只响应比电梯所在位置低的下楼请求信号,直到最后一个下楼请求执行完毕,再进入上升模式。
(5)电梯的初始状态为第一楼层。
(6)设计超载报警功能。
设计要求:
(1)根据任务要求确定电路各功能模块;
(2)写出设计代码;
(3)给出时序仿真结果和硬件调试结果;
(4)最后要有设计总结。
二、设计原始资料
QuartusⅡ软件,EDA实验箱。
三、要求的设计成果(课程设计说明书、设计实物、图纸等)
软件仿真和硬件仿真结果;课程设计说明书。
四、进程安排
周1-周4:查阅资料,上机编写并调试代码;
3 电梯控制器设计
3.1 电梯控制器设计总体框图
电梯控制器的功能模块如图所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显示器中显示。分控制器把有效的请求传给主控制器进行处理,同时显示电梯的运行状态和电梯所在楼层数。由于分控制器相对简单很多,所以主控制器是核心部分。
2 EDA技术介绍
2.1 EDA技术简介
EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

基于FPGA的电梯控制器的设计

基于FPGA的电梯控制器的设计

基于FPGA的电梯控制器的设计中文摘要现代社会中,电梯已成为不可缺少的运输设备。

电梯是势能负载,使用过程中起动、制动频繁负载变化较大,行驶方向也不断变化为了保证电梯运行安全、可靠、乘客舒适感好,要求电梯控制系统在各种负载下都有良好的调速性能。

电梯控制系统为电梯提供动力并且对电梯的起动加速、稳速运行、制动减速起着控制作用。

本文研究使用FPGA实现对电梯的控制,讲述FPGA在控制系统中的综合应用。

设计具有可靠性、稳定性的电梯控制系统。

其中使用超声波测距技术测量电梯的位置,使用变频器驱动电机达到节约能源。

设计电路并用仿真软件对电路进行仿真,以验证电路。

使用Quartus6.0设计FPGA控制电梯的程序,并对程序进行仿真验证。

主要解决的问题是提高超声波距的精度;变频器根据乘客重量自动控制电机功率以节能;在突然停电情况下电梯启动保护系统和报警系统,以保证乘客安全。

关键字:电梯FPGA 变频器引言在电梯控制系统方面,目前国外发达国家的电梯正在推广32位微机控制系统。

他们都采用闭环反馈单微处理机控制系统或多微处理机协调控制系统。

在电梯传动系统方面,采用交流变压变频(VVVF)调速技术,实现电梯从超低速到高速无级调速的高精度运行,具有节能、对电网污染小、乘坐舒适感佳等优点。

目前,我国国内的电梯产品,速度控制的运行方式和理想运行曲线基本上和国外的差不多。

考虑到经济性,现有国内的电梯控制系统,通常采用微机或可编程逻辑控制器对变频器进行多段速控制。

在电梯传动系统方面,对于新装客梯及旧梯改造项目,大多数采用了交流变压变频调速电梯。

在电梯反馈系统方面,采用闭环速度反馈,利用套在电机轴上的增量编码器产生脉冲信号反馈给控制系统。

在井道信号采集方面,目前国内电梯一般都采用增量编码器记数方式配合双稳态磁开关或光电开关来识别轿厢位置。

随着我国城市率的增长,对电梯需求量也迅猛增长,与1992年相比,当时城市率为27.8%,新电梯量为1.6万台,2005年,城市率为43%,新电梯量已猛增长为12.5万台,而根据最新统计,2006年我国电梯产量已突破15万台,占世界年产量的三分之一。

FPGA技术实现四层电梯控制器

FPGA技术实现四层电梯控制器

电梯控制器一、设计需求说明与功能1.设计需求说明电梯作为高层建筑物的重要交通工具与人们的工作和生活日益紧密联系。

FPGA/CPLD作为新一代工业控制器,以其高可靠性和技术先进性,在电梯控制中得到广泛应用,从而使电梯由传统的继电器控制方式发展为计算机控制的一个重要方向,成为当前电梯控制和技术改造的热点之一。

FPGA/CPLD是一种专门从事逻辑控制的微型计算机系统。

由于FPGA/CPLD具有性能稳定、抗干扰能力强、设计配置灵活等特点。

因此在工业控制方面得到了广泛应用。

自90年代后期FPGA/CPLD引入我国电梯行业以来,由FPGA/CPLD组成的电梯控制系统被许多电梯制造厂家普遍采用。

利用VHDL语言完成一个4层自动升降的电梯的控制电路,控制电路遵循方向优先原则控制电梯完成多层楼的载客服务,同时指示电梯运行情况和电梯内外请求信息。

电梯控制系统分为调速部分和逻辑控制部分。

调速部分的性能对电梯运行是乘客的舒适感有着重要影响,而逻辑控制部分则是电梯安全可靠运行的关键。

为了改善电梯的舒适感和运行的可靠性,现在都改为用FPGA/CPLD来控制电梯的运行,这样大大提高了电梯的性能。

2.设计设备使用的软件平台:WindowsXP+二、方案设计及实现1.电梯控制器的任务和要求利用VHDL语言完成一个多层自动升降的电梯的控制电路,控制电路遵循方向优先原则控制电梯完成多层楼的载客服务,同时指示电梯运行情况和电梯内外请求信息。

(1)设计一个4层电梯全自动控制电路。

(2)电梯运行锁用一按钮代替(开锁上电),低电平可以运行,高电平不能运行。

(3)每层电梯入口处设有上行、下行请求按钮,电梯内设有乘客到达层次的停站要求开关,高电平有效。

(4)有电梯所处楼层指示灯和电梯上行、下行状态指示灯。

(5)电梯到达某一层时,该层指示灯亮,并一直保持到电梯到达另一层为止。

电梯上行或下行时,相应状态指示灯亮。

(6)电梯接收到停站请求后,每层运行2秒,到达停站层,停留2秒后门自动打开,开门指示灯亮,开门6秒后电梯自动关门。

FPGA的自动升降电梯控制器的设计

FPGA的自动升降电梯控制器的设计

3.方向优先控制方式方案
方向优先控制是指电梯运行到某一楼 层时先考虑这一楼层是否有请求:有 ,则停止; 无,则继续前进。 其效率远大于单向层层停等控制方式 的效率。 而且,方向优先控制方式 下,电梯在维持停止状态的时候可以 进入省电模式,又能节省大量电能。 本设计选择方向优先控制方式。
谢 谢!
控制器功能模块图
电梯控制方式
1.内部请求优先控制方式 2.单向层层停控制方式
3.方向优先控制方式
1.内部请求优先控制方式方案
在内部请求优先控制方式中,当 电梯外部人的请求和电梯内部人 的请求冲突时,外部人的请求信 号可能被长时间忽略,因而它不 能作为通用型电梯的设计方案。
2.单向层层停控制方式方案 这种方案的优点在于“面面俱 到”,然而这样不必要的等待消 耗了大量时间,而且电梯的运作 与用户的请求无关,当无请求时 电梯也照常跑空车,就浪费了大 量电能。 对用户而言,其请求响应时间也 不是很快,因而这不是理想的方 案。

FPGA技术的定义
FPGA是Field Programmable Gate Array的缩写,译为现场可编 程阵列,是一种数字集成电路。 FPGA芯片内部有大量的逻辑块, 这些逻辑块是可以编程的,逻辑块 之间的连接称为互连资源,这些互 连资源 也是可以编程的通过对逻辑块以及互连资源 的编程可以实现各种数字电路、数字系统的 设计。
FPGA的全自动电梯控 制系统的设计
指导老师: 2013-5
一、研究内容
Fpga简介
1.系统组成
基 于 FP GA 的 电 梯 控 制 系 统
二、研究现状
2.国外
2.国外
三、设计要求
2.国外
四、分析比较各个研 究的优点与缺点
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

唐山学院EDA技术课程设计题目基于FPGA的电梯控制器设计系(部) 信息工程系班级姓名学号指导教师2013 年1 月7 日至1 月11 日共 1 周2013年1 月10 日《EDA技术》课程设计任务书课程设计成绩评定表目录1 前言 (1)2 EDA技术介绍 (2)2.1 EDA技术简介 (2)2.2 EDA技术的发展 (2)3 电梯控制器设计 (3)3.1 电梯控制器设计总体框图 (3)3.2 电梯控制器设计思路 (3)3.3 电梯处于各楼层的具体分析 (4)3.4 电梯外部端口具体说明 (6)3.4.1 定义各个端口 (6)3.4.2 引脚锁定 (6)4 仿真结果与说明 (8)5 总结 (10)参考文献 (11)附录程序代码 (12)1 前言当今社会,随着城市建设的不断发展,高层建筑的不断增多,电梯作为高层建筑中垂直运行的交通工具已与人们的日常生活密不可分。

目前电梯控制系统主要有三种控制方式:继电路控制系统(“早期安装的电梯多位继电器控制系统”)、FPGA/CPLD的控制系统、微机控制系统。

继电器控制系统由于故障率高、可靠性差、控制方式不灵活以及消耗功率大等缺点,目前已逐渐被淘汰,微机控制系统虽在智能控制方面有较强的功能,但也存在抗扰性差,系统设计复杂,一般维修人员难以掌握其维修技术等缺陷。

而FPGA/CPLD控制系统由于运行可靠性高,使用维修方便,抗干扰性强,设计和调试周期较短等优点,倍受人们重视等优点,已经成为目前在电梯控制系统中使用最多的控制方式,目前也广泛用于传统继电器控制系统的技术改造。

随着EDA技术的快速发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。

采用EDA设计,拥有电子系统小型化、低功耗、高可靠性、开发过程投资小、周期短等优点,而且还可以通过软件编程对硬件结构和工作方式进行重构,使得硬件设计如软件设计那般方便快捷。

本次设计就是应用EDA电子电路技术来设计电梯控制器,从而使用一片芯片就可以实现对电梯的控制的。

2 EDA技术介绍2.1 EDA技术简介EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。

2.2 EDA技术的发展从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用广泛、工具多样、软件功能强大。

现在对EDA的概念或范畴用得很宽。

包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。

目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。

例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。

EDA设计可分为系统级、电路级和物理实现级。

在EDA软件开发方面,目前主要集中在美国。

但各国也正在努力开发相应的工具。

日本、韩国都有ASIC设计工具,但不对外开放。

中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。

相信在不久的将来会有更多更好的设计工具在各地开花并结果。

据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年夏合增长率分别达到了50%和30%。

3 电梯控制器设计3.1 电梯控制器设计总体框图图 3 – 1 总体框图电梯控制器的功能模块如图所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。

乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显示器中显示。

分控制器把有效的请求传给主控制器进行处理,同时显示电梯的运行状态和电梯所在楼层数。

由于分控制器相对简单很多,所以主控制器是核心部分。

3.2 电梯控制器设计思路本系统的主要输入有电梯外上下控制按钮Button(其中Button(0)表示一楼电梯外上升请求,Button(1)表示二楼电梯外上升请求,Button(2)表示二楼电梯外下降请求,Button(3)表示三楼电梯外下降请求);电梯内到达楼层控制按钮floor(其中floor(0)表示请求到达一层,floor(1)表示请求到达二层,floor(2)表示请求到达三层)。

系统的输出包括电梯位置标识position,表示电梯当前所在楼层;电梯开门关门显示按钮door(当door=1时表示开门,door=0表示关门);电梯当前运行状态按钮up_down(当up_down=1时表示电梯处于上升状态,当up_down=0时表示电梯处于下降状态)。

系统主要通过当前所在楼层以及运行状态、后续请求判断运行方式。

电梯处在第一层时,当它收到二层电梯外上下楼请求、三层电梯外下楼请求、一层电梯内到达二层和三层请求时,电梯会按照指令上升到相应楼层并开门、关门;若收到一层电梯外上楼请求只做开门响应,随后根据使用者进入电梯后请求进行响应;其他请求不响应。

当电梯处在第二层时,若系统收到二层电梯外上下楼请求只做开门响应;若收到三层电梯外下楼或二层电梯内到达三层请求,则做上楼响应、开门;若收到一层电梯外上楼或二层电梯内到达一层请求,则做下楼楼响应并开门;其他请求不响应。

当电梯处在第三层时,若它收到二层电梯外上下楼请求、一层电梯外上楼请求、电梯内到达二层和一层请求时,电梯会按照指令下降到相应楼层并开门、关门;若收到三层电梯外下楼请求只做开门响应,随后根据使用者进入电梯后请求进行响应;其他请求不响应。

若电梯正处在上升状态中收到外部请求,则只响应比当前所在楼层高的楼层的请求,到达需要到达最高楼层时再响应低层请求。

若电梯正处在下降状态中收到外部请求,则只响应比当前所在楼层低的楼层的请求,到达需要到达最低楼层时再响应高层请求。

3.3 电梯处于各楼层的具体分析处于一楼时,不管是电梯内或电梯外,电梯都只可能接收到上升的请求信号。

此时,电梯就进入预上升状态,准备作上升运行,如果电梯没有接收到请求信号,电梯则在一楼待机。

图 3 - 2 电梯处于一楼处于二楼时,电梯则可能出现三种情况:1.电梯并没有接受到电梯内或电梯外的任何请求信号时,电梯则停留在当前楼层。

2.电梯接收到上升请求信号,进入预上升状态。

3.电梯接收到下降请求信号,进入预下降状态。

处于三楼时,不管电梯内或电梯外电梯都只可能接收到下降的请求信号。

此时,电梯就进入预下降状态,准备作下降运行。

如果电梯没有接收到请求信号,电梯则停留在三楼。

电梯的运行规则确立后,需对整个控制程序的设计做一个流程规范。

对程序进行模块化构思。

根据VHDL 语言的规则,程序必须由最基本的实体和结构体构成。

实体对控制器的端口进行定义,结构体对各端口的行为进行描述。

因此程序运行需经过以下流程:VHDL 库调用:确立控制器的端口及相关的寄存器;根据电梯运行规则,设计相关运行描述;对电梯内信号进行处理。

总流程图如下图3 - 3 电梯处于二楼图 3 - 4 电梯处于三楼图 3 - 5 总流程图3.4 电梯外部端口具体说明3.4.1 定义各个端口1.时钟信号(clk);2.一楼电梯外人的上升请求信号(Button[0]),二楼电梯外人的上升请求信号(Button[1]);二楼电梯外人的下降请求信号(Button[2]),三楼电梯外人的下降请求信号(Button[3]);3.电梯内人请求到达一楼的信号(fllor[0]),电梯内人请求到大二楼的信号(floor[1]),电梯内人请求到大三楼的信号(floor[2]);4.电梯控制复位信号(reset);5.电梯所在楼层显示(position[3..0]);6.电梯开门状态(door);7.电梯上下指示(up-down);3.4.2 引脚锁定表 3 - 1 :输入引脚锁定输入共10个信号,clk为输入脉冲,提供时钟,信号Button[3]为三楼外下降请求信号,Button[2]为二楼外下降请求信号,Button[1]为二楼外上升请求信号,Button[0]为一楼外上升请求信号;floor[2]为电梯内三层请求信号,floor[1]为电梯内二层请求信号,floor[0]为电梯内一层请求信号;reset为复位信号;warm为警告信号。

表 3 - 2 :输出引脚锁定输出信号共7个door为门信号,当door=’1’时表示为门开,当door=’0’时表示门关;position[3]、position[2]、position[1]、position[0],为控制数码管显示的输出引脚;q为警告指示信号,当触发警告warm时q=’1’’则超载,当q=’0’时则没事;up_down为上下楼层显示信号,当up_down=’1’时表示电梯正在向上运行,当up_down=’0’时表示电梯正在向下运行。

4 仿真结果与说明图 4 - 1 从一楼到三楼使用者在一楼给予电梯上升请求信号,即button[0]置1,随后门打开,即door置1,使用者在电梯内给予三楼请求信号,随后门关闭,即door置0,并电梯上升,即up_down置1,最后到达三楼后门打开,door置1。

图 4 - 2 三楼下一楼同时二楼有上升请求使用者在三楼给予电梯一下降请求,即button[3]置1,随后门打开,即door 置1,使用者在电梯内给予一层请求信号,随后门关闭,即door置0,当到达一楼时门打开,即door置1,随后门关闭,door置0,到达二楼后,门打开,door置1.电梯上升过程中可以接收较高楼层的要求。

开始时有人按下一层外上升(Button(0)=1)按钮,电梯开门使用者进入并按下到达三层(floor(2)=1)请求,此时电梯关门并上升。

在电梯上升但未到达二层时,二层外有人按下上楼(Button(1)=1)请求,因此当电梯到达二层(position=2)后停止并开门,待二层使用者进入后再完成第一个使用者的请求到达三层。

当有超载信号时警报指示等亮起,即q 置1,电梯将一直在一楼。

相关文档
最新文档