基于FPGA的六层电梯控制系统课程设计打印终稿

合集下载

基于FPGA的智能电梯控制系统的实现毕业论文

基于FPGA的智能电梯控制系统的实现毕业论文

基于FPGA的智能电梯控制系统的实现毕业论文目录第一章概述摘要 (5)1.1 EDA概述 (5)1.1.1什么是EDA (5)1.1.2 EDA的特 (6)1.1.3 EDA的应用 (6)1.2 FPGA的简介及特点 (7)1.3 VHDL语言及程序概述 (8)1.3.1 VHDL语言的发展.............................................. .9 1.3.2 VHDL语言的特点.. (9)1.3.3 VHDL语言程序的基本结构 (10)1.4状态机的简介 (10)第二章电梯控制系统的分析 (12)2.1选题的背景 (12)2.2电梯控制的研究背景 (12)2.3 我国电梯的发展概况 (13)2.4 电梯设计的具体目的及控制要求 (13)2.5电梯控制器设计原理及思路 (14)2.6 电梯控制系统状态图分析 (15)第三章电梯控制系统的设计与实现 (17)3.1 MAX+PLUSII的介绍 (17)3.2 电梯控制系统的VHDL语言设计及仿真 (18)3.2.1 模块示意图和输入输出描述 (18)3.2.2 模块设计过程 (20)3.2.3 波形仿真 (21)3.3 电梯控制系统的实验平台实现 (27)结论与体会 ............................................ .28致谢.................................................. .30附件程序.............................................. .31参考文献.............................................. .43第一章概述摘要1.1 EDA概述EDA在通信行业(电信)里的另一个解释是企业数据架构,EDA给出了一个企业级的数据架构的总体视图,并按照电信企业的特征,进行了框架和层级的划分。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

基于FPGA的电梯控制系统

基于FPGA的电梯控制系统

操纵 盘 和每 层 的呼 叫 信 号 、轿 厢 和 厅 门 系 统 的 功 能 信 号 以 及 井 道 和 变频 器 的状 态 信 号 .经 程 序 判 断 与 运 算 实 现 电 梯 的 集 选 控 制 。F G P A在 输 出显 示 信 号 的 同 时 . 据 随机 逻 辑 控 制 的 要 求 , 根 向变 频 器 发 出 运 行 方 向 、 动 、 减 速 运 行 和 制 动 停 梯 等 信 号 。 启 加, 由变 频 器 根 据 一 定 的 控 制 规 律来 控 制 电 机 .完 成 电 梯 的 工 作 全
【 关键词】 电梯控制 系统 ;P A; ei g : F G V ro l
1 言 引
信 号输 入
电 梯 控 制 系 统 是一 个相 当复 杂 的 逻 辑 控 制 系 统 .系 统 要 同 时 对几 百 个 信 号 进 行 接 收 、 理 。 处 由于 用 户 对 电 梯功 能 的要 求 不 断 提 高 . 相 应 控 制 方 式 也 在 不 断 发 生 变 化 。随 着 E A 技术 的 其 D 快 速 发 展 .基 于 F G 的 微 机 化 控 制 已广 泛 应 用 于 电 梯 电路 设 PA 计 与 控 制 的各 个 方 面
过程 。
号, 自动 定 向 . 自动平 层并 保持最
远 召 唤 层 站 的 方 向和 自动 换 向 . 能 够 延 时 自动 关 门 . 站 自动 平 层 开 到 门 。 时 指 示 电 梯 运 行 情 况 、 层 同 楼
_
U T P以 A 。该 电梯 控 制 系统 软 件 采 用 模 新一代 的 F G P A甚 至 集 成 了 中央 处 理 器 ( P 和 数 字 处 理 R N S O , 及 输 出 信 号 L MP C U) 器( S 内核 。 一 片 FG D P) 在 P A上 进 行 软 硬 件 协 同设 计 , 实 现 片 块 化 多进 程 的 控制 原 理 来 实 现 . 程序 主要 分为 四个 模 块 . 个 为 该 一 模块 用 于 分频 及 楼 选 信 号 的 产 生 :一 个 模 块 用 于 请 求 寄 存 器 的 上 可 编 程 系 统 (O C.yt n S P Ss m O e P ga mal C i) 供 了强 大 的 o r rm b h 提 e p 硬件 支 持 。未来 的 F G P A将 朝 着 混 合信 号 及更 大 规 模 . 高 性 能 的 方 更 向继 续 发展 。此 外 , D 领 域 的 进 EA 展也 有 利 于 F G 的 开 发 。 PA 3F G 、P A控 制 系 统 总 体 结构 该 系统 采 用 C coe芯 片 实 现 yln 电梯 的控 制 . 循 电 梯 各 种 控 制 的 遵 逻 辑 关 系 . 现 轿 内 外 召 唤 指 令 信 实 置 位 与 复位 : 个用 于 电梯 运 行 的 次 态 控 制 : 个 用 于 电 梯 运 行 一 一 楼层 计数 及 提 前, 迟 关 门控 制 。 合 拖 动 系 统 ,P 计 周期 。 少 了 设 计 成 本 。 低 了设 计 风 险 。所 进 行 编 译 、 真 、 载 。用 该 软 件 设 计 的实 体 部 分 源 程 序 根 据 图 减 降 仿 下 . 输 实 以 当 F G : D芯 片及 其 开 发 系 统 一 问 世 . 在 数 字 系 统 设 计 3 设 定 具 体 的输 入 、 出 接 口来 描 述 系 统 的 外 部 接 口特 征 。 体 P M ̄ L P 就 领 域 占据 了 重 要地 位 名 为 , 输 入 信 号 C K、 P、O L U D WN、T CH OSE DEL 和 S 、 CL 、 Y

基于FPGA电梯控制系统实现

基于FPGA电梯控制系统实现

基于FPGA的电梯控制系统的实现摘要:本文通过使用fpga完成对6层的电梯控制系统。

可以使用状态机实现。

要求指示电梯所在楼层位置等其他必要的信号。

通过仿真结果验证其正确性,并在开发板上进行硬件测试。

关键字:信号并置;verilog;状态机;eda;fpga随高层楼宇的增加,电梯越来越多的走进了人们的生活,对人们的生活的影响越来越大。

为了让电梯更好的服务人们,各种电梯新技术不断地发展起来。

电梯控制系统是一个相当复杂的逻辑控制系统.系统要同时对几百个信号进行接收、处理。

由于用户对电梯功能的要求不断提高.其相应控制方式也在不断发生变化。

随着eda 技术的快速发展.基于fpga的微机化控制已广泛应用于电梯电路设计与控制的各个方面。

一、相关概念:eda在通信行业(电信)里的另一个解释是企业数据架构,eda给出了一个企业级的数据架构的总体视图,并按照电信企业的特征,进行了框架和层级的划分。

eda是电子设计自动化(electronic design automation)的缩写,在20世纪60年代中期从计算机辅助设计(cad)、计算机辅助制造(cam)、计算机辅助测试(cat)和计算机辅助工程(cae)的概念发展而来的。

fpga采用了逻辑单元阵列lca(logic cell array)这样一个概念,内部包括可配置逻辑模块clb(configurable logic block)、输出输入模块iob(input output block)和内部连线(interconnect)三个部分。

fpga是由存放在片内ram中的程序来设置其工作状态的,因此,工作时需要对片内的ram进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,fpga芯片将eprom中数据读入片内编程ram中,配置完成后,fpga进入工作状态。

掉电后,fpga恢复成白片,内部逻辑关系消失,因此,fpga能够反复使用。

vhdl主要用于描述数字系统的结构,行为,功能和接口。

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课程设计一、课程目标知识目标:1. 理解电梯控制系统的基本原理,掌握FPGA在电梯控制系统中的应用。

2. 学习并掌握Verilog HDL语言的基本语法,能够运用Verilog HDL编写简单的电梯控制程序。

3. 了解电梯控制系统的模块划分,掌握模块化设计和模块间通信的方法。

技能目标:1. 培养学生运用FPGA进行数字电路设计的能力,提高学生的实际动手操作能力。

2. 培养学生独立分析和解决实际问题的能力,能够根据电梯控制需求设计相应的控制程序。

3. 培养学生团队协作能力,能够与他人合作完成课程设计任务。

情感态度价值观目标:1. 培养学生对电梯控制技术及其在工程实际中应用的兴趣,激发学生主动探索新技术的热情。

2. 培养学生严谨的科学态度,养成良好的编程和设计习惯。

3. 增强学生的社会责任感,了解电梯控制系统在公共安全中的作用,认识到自己所学知识对社会的重要性。

本课程针对高年级学生,课程性质为实践性较强的专业课程。

结合学生特点和教学要求,课程目标旨在使学生通过本章节学习,将理论知识与实际应用相结合,培养具备实际工程能力的高素质人才。

通过分解课程目标为具体的学习成果,后续教学设计和评估将更有针对性,确保学生达到预期学习效果。

二、教学内容1. 电梯控制系统原理介绍:包括电梯运行原理、控制系统组成、FPGA在电梯控制系统中的应用。

教材章节:第3章“电梯控制系统概述”2. Verilog HDL语言基础:基本语法、数据类型、运算符、控制语句、模块定义等。

教材章节:第4章“Verilog HDL语言基础”3. 电梯控制模块设计:包括电梯运行模块、楼层显示模块、按键模块、门控模块等。

教材章节:第5章“电梯控制模块设计”4. 电梯控制程序编写:根据电梯控制需求,运用Verilog HDL编写相应的控制程序。

教材章节:第6章“电梯控制程序设计”5. FPGA开发流程:设计输入、综合、布局布线、仿真、下载等。

基于FPGA的电梯控制器设计

基于FPGA的电梯控制器设计

0 引言
随着高层建筑的飞速发展 , 电梯行业也随之进 入 了新 的发展 时期 。 目前 电梯 控制 主要有继 电器控 制、 单片机控制 、 P L C控制和 F P G A / C P L D控制等几 种控制方式。继电器控制方式是早期的控制方式 , 安装复杂, 通用性较差 。单片机控制方式¨ 虽在 智能控制方面有较强的功能 , 但也存在抗干扰性差 , 系统设计复杂等不足。P L C控制方式 使用梯形 图语言、 控制灵活方便 , 运行稳定可靠, 能较好地取 代继电器控制 。F P G A ( 现场可编程门阵列) 是一种 可由用户 自定 义并进行配 置的高 密度专 用集成电
a c h i e v e d w i h t mo d u l a r d e s i g n m e ho t d , p r o g r a m m e d b y he t v e r i l o g h a r d w re a d e s c i r p i t o n l a n g u a g e ( V H D L )
本文采用 F P G A芯片实现了六层客运电梯 的控 制, 经软件仿真和硬件平 台验证 , 符合设计要求 , 其

( 3 ) 电梯到达有停靠请求的楼层后, 经过 1 s 后 电梯门打开 , 开 门5 s 后 电梯门关闭, 电梯继续运行,
( C o mmu n i e a l i o n T r a i n i n g B a s e o f P L A G e n e r a l S t a f H e a d q u a r t e r s , X u a n h u a 0 7 5 1 0 0, He b e i P r o v i n c e , C h i n a )

基于FPGA的智能电梯控制系统的实现 毕业论文

基于FPGA的智能电梯控制系统的实现 毕业论文

毕业论文题目:基于FPGA的智能电梯控制系统的实现2010 年12 月07 日摘要智能电梯控制系统的设计思想智能电梯的编写的过程也不是一帆风顺的。

而且我试过好多种方法去实现电梯的状态的转移。

起初我想到的肯定是有限状态机。

不过由于开始我想到只有六个请求(分别为1~6楼),后来在老师的启发下和东十二楼的电梯实际运行情况我发现,6个按钮肯定是不够的,所以我又加了5个向上的请求按钮和5个向下的请求按钮,这样总共就有16个按钮了,由于当时我没有想到用信号并置的方法,所以需要分析的情况实在是太多了,我也没有信心了.不过问题始终都是要得到解决的,后来我在我们寝室的一个同学的参考书上看到了一个用VHDL语言编写的智能电梯控制器的程序,不过很不完整,它给我的最大的启发就是“信号并置的算法”,我才发现这样一来的话,我的工作量就大大减少了.当时我不仅采用“信号并置的算法”外,还采纳了它的“以楼层为电梯的状态转移的依据”的思想,这确实是一个不错的方法,不过当时我一直没有任何进展,一是它是用VHDL语言编写的,而且我对这个语言不是很熟悉所以不是特别理解。

后来竟然干起了把VHDL语言翻译成verilog语言的工作,这样没有任何含金量的工作让我浪费了不少时间。

现在想起来,我才发现我竟然迷失了自己,我原先自己的算法已经被丢失了,留下了的仅仅是一些他人的程序.“以楼层为电梯的状态转移的依据"的编程方法让我没有得到任何进展,我放弃的这种处理多种状态的方法,继而转向了我原先的“有限状态机”的方法。

使用三段式的有限状态机的方法也花了很多时间去修正和改善。

实现了基本的功能,当时一遇到比较复杂的情况时(比喻同时有几个人在请求或者是同时有两个在不同楼层的请求时电梯该如何运行呢,这些特殊情况我在当时一直没有找到合适和有效的方法去解决).关键词:信号并置 verilog 状态机Intelligent elevator control system design thoughtAbstractIntelligent elevator compilation process is not easy. And I tried a variety of ways to realize the transfer of the state。

基于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万台,占世界年产量的三分之一。

六层电梯控制系统的设计

六层电梯控制系统的设计


NS=open_state;

else if((d>now_f)||(up>now_f))

NS=up_state;

else if(d<now_f||up<now_f)

NS=down_state;

else if(dn>0)

begin

if(dn>now_f)

NS=up_state;

else if(dn&now_f)
now_f<=now_f>>1; ud_f<=dn_f; led<=led-1;
end open_state:
begin
now_f<=now_f; ud_f<=ud_f; led<=led;
end
close_state: begin now_f<=now_f; ud_f<=ud_f; led<=led; end
• 状态任务输出特性分析: • 1至6层分别用f1=6’b000001 f2=6’b000010 f3=6’b000100
f4=6’b001000 f5=6’b010000 f6=6’b100000表示; • 上下指示用idle=2’b00 up_f=2’b01 dn_f=2’b10表示; • 楼层显示则接七段数码管来输出,其中个位显示楼层,十
六、整体设计框图
上楼 下楼
开门5s
=
Dn/up=now _f
!=
运行直至 now_f
关门并运行 开门5s
八、方案论证
• 方案1:基于verlog HDL原理实现

基于FPGA的6层自动升降电梯控制系统的设计

基于FPGA的6层自动升降电梯控制系统的设计

引言随着经济和科学技术的发展,电梯在高层建筑物的作用越来越凸出。

目前电梯主要分为机械系统与控制系统两大部份,而电梯的控制系统主要有三种控制方式分别是:继电路控制系统(“早期安装的电梯多位继电器控制系统)、基于FPGA控制系统、微机控制系统。

实现继电路控制系统方法很多,可以用标准逻辑器件、可编程序控制器PLC、单片机等方案来实现。

但是这些方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难,且该系统由于故障率高、可靠性差、控制方式不灵活以及消耗功率大等缺点,已渐渐被人民淘汰。

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

而基于FPGA的电梯控制系统由于可靠性高,使用维修方便,抗干扰性强,设计和调试周期较短等优点,在电梯控制中得到广泛应用,从而使电梯由传统的继电器控制方式发展为计算机控制的一个重要方向,成为当前电梯控制和技术改造的热点之一。

本文给出一个基于FPGA的6层自动升降电梯控制系统的设计方案。

它的设计是采用通俗易懂的Verilog HDL硬件描述语言使用EDA技术在Quartus II软件平台上设计完成,程序设计、编译以及时序仿真通过后再下载到开发板配合外围电路(模拟电梯的电路)来验证该系统的可行性。

这个系统分主要有6个模块,分别是键盘响应寄存处理模块、上升/下降请求寄存处理模块、电梯运行和停止处理模块、开门/关门与延时处理模块、电梯运行方向判断模块和电梯运行状态显示模块。

通过模块化设计不仅提高了程序编程错误的排查能力还提高了系统的可靠性。

1 概论1.1 电梯国内外现状1.1.1国内现状电梯作为中国对外最早的行业经过多年的发展,电梯产品无论在数量和质量都有了显著的提高,和国外产品差距越来越小。

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

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.国外
四、分析比较各个研 究的优点与缺点

6层电梯控制课程设计

6层电梯控制课程设计

6层电梯控制课程设计一、课程目标知识目标:1. 学生能理解并掌握电梯控制系统的基本原理,包括电梯的运行机制、控制系统组成及功能。

2. 学生能了解并运用6层电梯控制的相关知识,如楼层指示、呼梯、选梯、平层、开门关门等环节的控制方法。

3. 学生能掌握6层电梯控制的安全防护措施,了解安全装置的作用及工作原理。

技能目标:1. 学生具备分析和设计6层电梯控制系统的能力,能根据实际需求进行合理的控制系统设计。

2. 学生能运用所学知识,解决实际电梯控制过程中遇到的问题,如电梯运行故障的排查与处理。

3. 学生能通过小组合作,完成6层电梯控制系统的模拟搭建与调试,提高实践操作能力。

情感态度价值观目标:1. 学生培养对电梯控制技术的兴趣,激发探究精神,形成积极的学习态度。

2. 学生在课程学习中,学会与他人合作,培养团队协作精神和沟通能力。

3. 学生了解电梯控制技术在现实生活中的应用,认识到科技对生活的影响,增强社会责任感和创新意识。

本课程旨在帮助学生在掌握6层电梯控制相关知识的基础上,提高实践操作能力,培养创新思维和团队协作精神。

课程性质为理论与实践相结合,注重培养学生的实际操作能力和解决问题的能力。

针对学生的年龄特点和知识水平,课程内容以直观、易懂的方式呈现,使学生能够轻松掌握并应用所学知识。

在教学过程中,教师需关注学生的个体差异,因材施教,确保课程目标的实现。

通过本课程的学习,学生将具备6层电梯控制系统的设计与实施能力,为未来从事相关工作打下坚实基础。

二、教学内容本课程教学内容主要包括以下几部分:1. 电梯控制系统的基本原理:介绍电梯的运行机制、控制系统组成及功能,涉及电梯曳引系统、驱动系统、控制系统等。

2. 6层电梯控制系统的设计:讲解楼层指示、呼梯、选梯、平层、开门关门等环节的控制方法,使学生了解并掌握6层电梯控制的关键技术。

3. 安全防护措施:介绍电梯安全装置的作用及工作原理,包括限速器、安全钳、缓冲器、门锁等,提高学生的安全意识。

6层FPGA电梯控制器

6层FPGA电梯控制器

stlight:in std_logic_vector (6 downto 1);--电梯内部各层请求指示灯
position:out integer range 1 to 6;
--电梯位置指示
FPGA 235
FPGA 嵌入式项目开发实战
doorlight: out std_logic;
--电梯门开关指示灯
begin --控制电梯状态的进程
process(reset,clk) begin
if (reset = '1' or alarm = '1') then mylift <= stopon1; clearup <= '1'; cleardn <= '1';
else if (clk 'event and clk = '1') then case mylift is
clearup:out std_logic;--用于清除上升请求指示灯的信号
cleardn:out std_logic;--gic;
tiqian: in std_logic; udsig:buffer std_logic_vector(7 downto 0) --电梯升降指示
ENTITY clkdiv IS PORT (
clk : IN STD_LOGIC; clk_2hz: out std_logic; clk_8hz: out std_logic );
END clkdiv; ARCHITECTURE behave OF clkdiv IS signal cnt:std_logic_vector(7 downto 0); BEGIN --时钟分频进程 process (clk) begin

基于FPGA的电梯控制器综述

基于FPGA的电梯控制器综述

基于FPGA的电梯控制器摘要电梯作为现代化的产物,早在上个世纪就进入了我们的生活之中。

本设计就是基于电子设计自动化(Electronic Design Automation)技术中的甚高速集成电路硬件描述语言(Very High Speed Integrated Circuit Hardware Description Language)语言所开发的六层电梯控制程序。

VHDL 具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。

本设计介绍了基于VHDL语言设计的电梯控制器,并进行了电路综合和仿真。

该控制器遵循方向优先的原则,提供6个楼层多用户的载客服务并指示电梯的运行情况。

通过程序调试及运行仿真,结果表明,本设计可以完成:电梯运行所在楼层指示、电梯运行方向指示、关门延时设置、看门狗报警、超载报警、故障报警等。

关键词:VHDL、控制器、EDA、电梯AbstractThe lift , as the modernized result, are entered in our life in last century. This thesis designs the three - floor lift control on the basis of the electron basic on the electronic design automation(EDA) technology’s the very high-speed integrated circuit hardware describe language(VHDL). VHDL has with the concrete hardware electric circuit has nothing to do with and designs the characteristic which the platform has nothing to do with, and has the good electric circuit behavior description and the system description ability, and in language legible and has orderliness the structurization design aspect, has displayed the formidable vitality and the application potential. Introduced based on the VHDL language design elevator controller, and has carried on the electric circuit synthesis and the simulation. This controller follows the direction first principle, provides 6 floors multi user to carry passengers to serve and to instruct the elevator the movement situation. Through testing the connection of the EDA case, realize the following main functions: The lift ‘s floor shows, the lift operation direction shows; closes prolonging the dog reports to the police; overloads reporting to the police fault alarm ,etc..Key word:VHDL, controller, EDA, elevator1引言1.1 选题背景随着科学技术的发展、近年来,我国的电梯生产技术得到了迅速发展.一些电梯厂也在不断改进设计、修改工艺。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于FPGA 的六层电梯控制系统郑州轻工业学院电子技术课程设计题目基于FPGA的学生姓名专业班级学号院指导教师完成时间郑州轻工业学院课程设计任务书题目基于FPGA 的六层电梯控制系统专业、班级电子信息工程10-01 学号 541001030136 姓名主要内容、基本要求、主要参考资料等:主要内容:要求学生使用硬件描述语言设计六层电梯控制系统的FPGA源程序,实现如下功能:(1)每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。

(2)设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。

(3)电梯到达有停站请求的楼层,开门指示灯亮,开门后,经一段时延后,电梯门关闭电梯继续进行,直至执行完最后一个请求信号后停留在当前层。

(4)电梯运行规则:当处于上升模式时,只响应比所在位置高的请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;高层有下楼请求,则直接升到请求层,进入下降模式。

当电梯处于下降模式时则与上升模式相反。

基本要求:1、掌握FPGA 的程序设计方法。

2、掌握硬件描述语言语法。

3、掌握有限状态机的原理与实现方法。

4、程序设计完成后要求在软件中实现功能仿真。

主要参考资料:1、王锁萍.电子设计自动化(EDA)教程[M].成都:成都电子科技大学出版社,2006.2、何立民.EDA应用技术选编[M].北京:北京航空航天大学出版社,2008.完成期限:2013.6.21—2013.6.25指导教师签名:课程负责人签名:2013年6月18摘要 (I)1概述 (1)1.1课题背景及意义 (1)1.2 EDA技术及实现方法概述 (1)1.2.1 EDA技术简介 (2)1.2.2 FPGA简介 (3)1.2.3 VHDL语言介绍 (4)1.3 状态机简介 (5)2 系统方案设计 (6)2.1设计要求 (6)2.2 总体设计方案 (6)2.2.1 控制器模块化概述 (6)2.2.2 电梯上下层运行流程图 (7)2.2.3电梯运行控制流程图 (8)2.2.4 电梯控制器设计思路 (9)2.3 设计的VHDL实现 (10)2.3.1 控制器实体设计 (10)2.3.2 控制器结构体设计 (11)3 器件选型 (11)3.1 FPGA芯片选型 (11)3.2 功能模块 (12)3.2.1 主控器模块 (12)3.2.2 分频器模块 (13)3.2.3 译码器模块 (13)3.2.4 数据选择器模块 (14)4 程序仿真 (15)4.1 电梯控制器仿真分析 (15)4.2 其它模块仿真 (19)5 结论 (19)参考文献 (21)致谢 (22)附录 (23)基于FPGA 的六层电梯控制系统摘要本设计是基于电子设计自动化(EDA)技术中的甚高速集成电路硬件描述语言(VHDL)语言,运用FPGA所开发的四层电梯控制程序,采用Quartus II软件仿真。

运用有限状态机的设计方法,设计了两个进程相互配合,状态机进程作为主要进程,信号灯控制进程作为辅助进程。

在主进程中定义了7个状态,在电梯时钟的触发下,通过当前状态和信号灯信号判定下一状态。

信号灯控制进程中,信号灯存储按键请求情况,它的熄灭是由状态机进程中传出的信号来控制。

通过程序调试及运行仿真,结果表明,本程序可以完成电梯运行所在楼层显示、电梯运行方向指示、关门延时设置等。

关键词:电梯控制器 VHDL 状态机 FPGA1概述1.1课题背景及意义随高层楼宇的增加,电梯越来越多的走进了人们的生活,对人们的生活的影响越来越大。

为了让电梯更好的服务人们,各种电梯新技术不断地发展起来。

随着人们生活水平的不断提高,经济的快速发展和生产生活的需要,城市高层建筑如雨后春笋拔地而起。

与此相应,作为一种可以垂直升降运输的工具一电梯也得到迅猛的发展。

现在,电梯已完全融入我们的生活、工作及学习中,人们越来越离不开它。

因此,它的安全可靠性、迅速准确性、舒适性,对人们来说都是非常重要的。

为了确保电梯正常运行、安全使用,一般电梯都有专业的维修管理人员。

他们必须对电梯原理、性能、特点、控制、运行要全面认识和掌握,才能做到对电梯的正确使用、管理及维护。

根据我国有关部门的规定,电梯作业属于特种作业,其作业人员必须经过专门培训,并经理论考试和实践考核合格后,发给《特种作业操作证》方可上岗操作。

同时,对电梯操作人员定期考核,让他们定期参加安全技术学习,扎扎实实地做好电梯维护和保养工作,才能使人们平安长久的使用电梯。

电梯控制系统是一个相当复杂的逻辑控制系统.系统要同时对几百个信号进行接收、处理。

由于用户对电梯功能的要求不断提高.其相应控制方式也在不断发生变化。

随着EDA技术的快速发展.基于FPGA的微机化控制已广泛应用于电梯电路设计与控制的各个方面。

在经济不断发展,科学技术日新月异的今天,楼的高度已和经济发展同样的速度成长起来。

作为建筑的中枢神经,电梯起着不可或缺的作用,电梯作为建筑物内的主要运输工具,像其他的交通工具一样,已经成为我们日常生活的一个不可缺少的组成部分。

一个国家的电梯需求总量,主要受其经济增长速度、城市化水平、人口密度及数量、国家产业结构等综合因素的影响。

在全球经济持续低迷的情况下,我国国民经济仍然以较高的速度持续增长,城市化水平不断提高。

这从客观上导致了我国电梯行业的空前繁荣景象,我国已经成为全球最大的电梯市场。

上世纪80年代以来,随着经济建设的持续高速发展,我国电梯需求量越来越大。

总趋势是上升的,电梯行业进入了“第三次浪潮”。

如此庞大的市场需求为我国电梯行业的发展创造了广阔的舞台!1.2 EDA技术及实现方法概述1.2.1 EDA技术简介EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。

下面介绍与EDA基本特征有关的几个概念。

1.“自顶向下”的设计方法,10年前,电子设计的基本思路还是选用标准集成电路“自底向上”地构造出一个新的系统,这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成本高而且容易出错。

高层次设计是一种“自顶向下”的全新设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。

在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。

然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路。

由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避免设计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次成功率。

2.ASIC设计现代电子产品的复杂度日益提高,一个电子系统可能由数万个中小规模集成电路构成,这就带来了体积大、功耗大、可靠性差的问题。

解决这一问题的有效方法就是采用ASIC芯片进行设计。

ASIC按照设计方法的不同可分为全定制ASIC、半定制ASIC和可编程ASIC(也称为可编程逻辑器件)。

设计全定制ASIC芯片时,设计师要定义芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由IC厂家去进行掩模制造,做出产品。

这种设计方法的优点是芯片可以获得最优的性能,即面积利用率高、速度快、功耗低,而缺点是开发周期长,费用高,只适合大批量产品开发。

半定制ASIC芯片的版图设计方法分为门阵列设计法和标准单元设计法,这两种方法都是约束性的设计方法,其主要目的就是简化设计,以牺牲芯片性能为代价来缩短开发时间可编程逻辑芯片与上述掩模ASIC的不同之处在于:设计人员完成版图设计后,在实验室内就可以烧制出自己的芯片,无须IC厂家的参与,大大缩短了开发周期。

可编程逻辑器件自70年代以来,经历了PAL、GAL、CPLD、FPGA几个发展阶段,其中CPLD/FPGA属高密度可编程逻辑器件,目前集成度已高达200万门/片,它将掩模ASIC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易地转由掩模ASIC实现,因此开发风险也大为降低。

上述ASIC芯片,尤其是CPLD/FPGA器件,已成为现代高层次电子设计方法的实现载体1.2.2 FPGA简介目前以硬件描述语言(Verilog或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。

这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。

在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。

系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。

一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。

FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。

但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。

厂商也可能会提供便宜的但是编辑能力差的FPGA。

因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。

另外一种方法是用CPLD(复杂可编程逻辑器件备)。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。

掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。

当需要修改FPGA功能时,只需换一片EPROM即可。

这样,同一片FPGA,不同的编程1.2.3 VHDL语言介绍VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,诞生于 1982 年。

1987 年底,VHDL被 IEEE 和美国国防部确认为标准硬件描述语言。

VHDL主要用于描述数字系统的结构,行为,功能和接口。

相关文档
最新文档