




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、分类号 密级 u d c 编号 本科毕业论文(设计) 题目题目 基于基于 fpga 的电梯控制器的研究的电梯控制器的研究 系 别 物理与电子信息学院 专 业 名 称 电子信息科学与技术 年 级 08 级 学 生 姓 名 学 号 指 导 教 师 二一二年五月 学位论文原创性声明 本人郑重声明:所呈交的学位论文 基于 fpga 的电梯控制器的研究 ,是本人 在导师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出 重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法 律责任由本人承担. 作
2、者签名: 日期: 文献综述文献综述 1 概述概述 随着大规模集成电路和计算机技术的不断发展,可编程逻辑技术已经发展成一 门关键的学科技术,在逻辑电路设计和嵌入式系统设计方面, fpga/cpld 技术在工 业中已经得到广泛应用;目前,在硬件实现方面主要有 altera 公司推出的 max 系 列、xilinx 公司推出的 xc 系列的芯片,在软件编程方面主要运用 vhdl/verilog hdl 硬件描述语言进行相关设计,主要的开发平台有 max+plus、quartus等。 fpga(field programmable gate arry)即现场可编程门阵列,它是在 pal、gal、cpl
3、d 等可编程器件的基础上进一步发展的产物。它是作为专用集成 电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克 服了原有可编程器件门电路数有限的缺点;fpga 采用了逻辑单元阵列 lca(logic cell array)这样一个概念,内部包括可配置逻辑模块 clb(configurable logic block) 、输入输出模块 iob(input output block)和内部连线(interconnect)三个 部分。 本次论文是基于 fpga 的电梯控制器的研究,是电梯控制的核心技术,通过电 梯控制器可以对电梯运行模式和状态进行全面的控制,电梯的层数为 6
4、 层,本次论 文采用模块化设计方法,主要分为四大模块:时钟分频模块、按键处理模块、电梯 运行控制模块、数码管显示模块。 2 设计原理与思路设计原理与思路 本次论文是实现 6 层电梯的运行控制,当在某一楼层按下上升或者下降请求按 钮时,控制器响应该请求并控制电梯前往该楼层,当到达该楼层时电梯开门,当进 入电梯后,电梯关门,此时按下要到达的楼层按钮,控制器响应该请求并控制电梯 前往该楼层,当到达前往楼层后,电梯开门,走出电梯,然后关门.,就这样往复 的实现电梯的控制功能。 电梯运行时遵循如下规则:当电梯处于上升模式时,只响应比电梯所在位置高 的上楼信号,由下至上依次执行;直到最后一个上楼请求执行完
5、毕,如有更高层有 下楼请求时,则直接升到有下降请求的最高楼,然后进入下降模式,电梯处于下降 模式时,则与上升相反。 电梯的输入信号主要包括外部输入信号和内部输入信号;对于电梯外部输入信 号:每一层电梯门外都有上升请求和下降请求按钮,其中一楼电梯门外只有上升请 求按钮,六楼电梯门外只有下降请求按钮。对于电梯内部输入信号主要有:6 个前 往楼层的按钮、提前关门按钮、延时关门按钮、电梯异常按钮。 电梯输出信号也主要包括外部输出信号和内部输出信号;对于电梯外部输出信 号包括上升请求按钮和下降按钮指示信号、电梯当前所在楼层指示信号、电梯运行 方向指示信号。电梯内部输出信号包括 6 个前往楼层按钮指示信号
6、、超重等警告指 示信号、电梯当前所在楼层指示信号、电梯运行方面指示信号。 3 硬件设计硬件设计 本次论文主要是通过 altera 公司生产的 cyclone这一款芯片进行功能的实现, cycloneii 器件采用 tsmc90nm 低 k 绝缘材料工艺技术,这种技术结合 altera 低成 本的设计方式,使之能够在更低的成本下制造出更大容量的器件。这种新的器件比 第一代 cyclone 产品具有两倍多的 i/o 引脚,且对可编程逻辑的存储块和其它特性 进行了最优的组合,具有许多新的增强特性。 cycloneii 器件包含了许多新的特性,如嵌入存储器、嵌入乘法器、pll 和低成 本的封装,这些都
7、为诸如视频显示、数字电视(dtv)、机顶盒(stb)、dvd 播放器、 dsl 调制解调器、家用网关和中低端路由器等批量应用进行了优化。 在 eda 设计的开发板上面,支持 sopc 片上可编程,在 cycloneii 芯片旁边外 围有按键模块、液晶显示模块、led 指示灯等,通过 quartus平台将硬件描述语言 下载至该芯片中,然后进行程序的调试、运行并进行功能的实现。 4 软件设计软件设计 altera 的 fpga 设计主要采用两种标准语言:vhdl/verilog hdl。其中 verilog hdl 出现早,运用广泛,而且比较简单,在 nios 项目里运用较多;而 vhdl 语言
8、功能强大,语句相对要复杂一些,所以对于现在一些复杂的可编程项目多采用 vhdl 语言编写。 vhdl(very-high-speed integrated circuit hardware description language)主要 用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句 外,vhdl 的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。 vhdl 的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个 电路模块或一个系统)分成外部(或称可视部分、端口)和内部(或称不可视部分) , 涉及实体的内部功能和算法完成部分。在对一个设计实体定义
9、了外部界面,一旦其 内部开发完成后,其他的设计就可以直接调用这个实体。如下图 4-1 是 vhdl 的层 次模型: 器件 实体 结构 体 功能构造体 行为构造体 结构构造体 图 4-1 具有不同构造体的 vhdl 模型 vhdl 语言具有强大的语言结构,只需采用简单明确的 vhdl 语言程序就可以 描述十分复杂的硬件电路。同时,它还具有多层次的电路设计描述功能:既支持自 顶向下的设计方式,也支持自底向上的设计方法;既支持模块化设计方法, 也支持 层次化设计方法;既可描述系统级电路,也可以描述门级电路;描述方式既可以采 用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。 vh
10、dl 语言具有很强的移植能力,对于同一个硬件电路的 vhdl 语言描述, 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上 或者从一个工作平台移植到另一个工作平台上去执行。 vhdl 语言采用基于库 ( library) 的设计方法。在设计过程中,设计人员可以 建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始 一步步地进行设计,而是一些模块的累加,这些模块可以预先设计或者使用以前设 计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用。 本次论文主要是运用 vhdl 语言进行程序的编写,采用自顶向下、模块化设计 方法。按照要求可以分
11、为:时钟分频模块、按键处理模块、电梯运行控制模块、数 码管显示模块;分别设计出这四个模块之后,进行调试、运行、功能仿真和时序分 析,然后将生产的模块图在原理图编辑器中连接起来,组成完整的电梯控制器。 5 总结总结 可编程逻辑器件 fpga/cpld 技术在工业上得到广泛应用,是一门发展的很成 熟的学科技术,它是作为专用集成电路(asic)领域中的一种半定制电路出现的, 既解决了定制电路的不足,又克服了原有可编程器件门电路数不足的缺点。 本次论文是基于 fpga 的电梯控制器的研究,克服了传统的 pal 设计的不足, 实现了对电梯控制器的低功耗、实时性响应、高集成度设计;其创新点在于通过状 态机
12、进行电梯运行状态和模式的控制以及传感器技术对电梯超重运行的控制。 参考文献参考文献 1 卢毅,赖杰.vhdl 与数字电路设计.科学出版社,2001.4 2 刘建清,刘汉文,高广海.从零开始学 cpld 和 verilog hdl 编程技术.国防 工业出版社,2006.8 3 刘福奇.fpga 嵌入式项目开发实战.电子工业出版社,2009.4 4 张丕状,李兆光.基于 vhdl 的 cpld/fpga 开发与应用.国防工业出版社, 2009.6 5 葛亚明,彭永丰,薛冰.零基础学 fpga.机械工业出版社,2010.7 6 余孟尝.数字电子技术基础简明教程.高等教育出版社,2006.7 7 谢自
13、美.电子线路设计实验测试.华中科技大学出版社,2006.8 8 江国强.eda 技术与应用.电子工业出版社,2010.4 9 聂小燕,鲁才.数字电路 eda 设计与应用.人民邮电出版社,2010.4 10 华清远见嵌入式培训中心.fpga 应用开发入门与典型实例.人民邮电出版社, 2008.7 11 潘松,黄继业.eda 技术实用教程vhdl 版(第四版).科学出版社, 2010.6 12 英peter wilson,杜生海译.fpga 设计实践.人民邮电出版社,2009.7 13 侯伯亭,顾新.vhdl 硬件描述语言与数字逻辑电路设计.西安电子科技大 学,1997.5 14 杨春玲,朱敏.e
14、da 技术与实验.哈尔滨工业大学出版社,2009.3 15 焦素敏.eda 应用技术.清华大学出版社,2005.4 16 李洪伟,袁斯华.基于 quartus 的 fpga/cpld 设计.电子工业出版社, 2006.7 17 邢建平,曾繁泰.vhdl 程序教程(第 3 版).清华大学出版社,2007.4 18 潘松,黄继业.eda 技术与 vhdl(第 2 版).清华大学出版社,2007.10 19 李广军,孟宪元.可编程 asic 设计及应用.成都电子科技大学出版社, 2003.2 20 杨恒,卢飞成.fpga/cpld 快速工程实践入门与提高.北京航空航天大学出 版社,2003.8 21
15、 雷伏容,李俊,尹霞.eda 技术与 vhdl 开发基础教程.清华大学出版社, 2010.5 摘要:摘要: 随着时代的进步、科技的发展,各大城市高楼大厦平地起,这是城市建设蓬 勃发展的标志,我们就是在这喧哗的城市中生活、工作着,每天都会上下班,每天 都会进出电梯;从此,电梯与我们的生活形影不离,并让我们上下高楼变得方便、 安全、快捷。从奥的斯发明的历史上第一部安全升降梯到现在的电梯,历经一个多 世纪,在这个过程中,电梯不论从外观、结构还是控制方式都发生了巨大的变化, 随着数字技术 eda、嵌入式技术的发展,电梯的控制变得微型化、智能化;目前载 人电梯都是微机控制的智能化、自动化设备,不需要专门
16、的人员来操作驾驶,普通 乘客只需按下上下按钮和到达楼层的按钮就可以进行电梯的乘坐。 本次论文是基于 fpga 的电梯控制器的研究,是电梯控制的核心技术,通过电 梯控制器可以对电梯运行模式和状态进行全面的控制,这也是此次论文研究的重要 性;由于 fpga 技术近些年来蓬勃发展,而且在很多领域已经应用的十分成熟,所 以用 fpga 可以实现对电梯精确、稳定、实时性控制,同时用于 fpga 开发的芯片 都是一些微处理器芯片,便于集成和智能化设计。 关键词关键词: fpga vhdl 电梯 状态机 abstract: with the increasing progress of science an
17、d technology, many cites appaer high- rise buildings,this is a sign of urban construction booming. we are working and living in the city, every day to work , and every day out of the elevator. since then, the elevator and our lives inseparable, and so that life becomes convenient. after more than a
18、century from otis invented the first one safety elevator lift to the present. in this process, elevator has undergone tremendous changes from the appearance, structure or control. with the development of digital technology, eda, embedded technology, the elevator control become miniaturized and intel
19、ligent. manned elevators are intelligent computer control, automation equipment, does not require specialized personnel to operate the driving, ordinary passenger just press the up and down buttons and reach the floor button on the elevator ride. this design is the design of fpga-based elevator cont
20、roller, that is the core technology of the elevator control. it controls its operation mode and status accurately from elevator controller which is also the sub-thesis importance. because of fpga technology has developed rapidly in recent years, and has been applied very mature in many areas, we can
21、 achieve right elevator accurate, real-time control with fpga. at the same time, for fpga development chip are a number of microprocessor chips, which is easy integration and intelligent to design. key words: fpga, vhdl, elevator, state machine 目 录 1 绪论.1 1.1 电梯控制器的发展现状.1 1.2 论文研究的主要内容.2 2 cpld/fpga
22、 硬件结构知识.2 2.1 cpld/fpga 概述.2 2.2 cpld 和 fpga 性能比较.3 2.3 fpga 体系结构.3 2.3 fpga 常用芯片介绍.4 3 vhdl 硬件描述语言.4 3.1 vhdl 语言特点.4 3.2 状态机的 vhdl 实现.5 4 电梯控制器的工作原理.6 5 电梯控制系统的设计内容.7 5.1 时钟分频模块.7 5.2 按键处理模块.8 5.3 电梯运行控制模块.11 5.4 数码管显示模块.21 5.5 电梯超重控制可行性分析.23 6 仿真效果及结论.24 6.1 仿真效果.24 6.2 结论.36 参考文献.36 致 谢.37 附录.38
23、1 绪论绪论 1.11.1 电梯控制器的发展现状电梯控制器的发展现状 国家规定超过六楼以上的楼层必须按要求安装电梯,而且随着超高层建筑的出 现,电梯的应用越来越来广泛了,与此同时,对电梯的要求也越来越高了。 目前,电梯的设计、工艺不断提高,电梯的品种也逐渐增多,电梯的材质由黑 白到彩色,样式由直式到斜式,在操纵控制方面更是步步出新:手柄开关操纵、按 钮控制、信号控制、集选控制、人机对话等;多台电梯还出现了并联控制、智能群 控;双层轿箱电梯展示出节省井道空间,提升运输能力的优势,变速式自动人行道 扶梯大大节省了行人的时间;不同外形的电梯则使身处其中的乘客的视线不再封闭。 电梯的结构分为:四大空间
24、,八大系统;四大空间:机房部分、井道及地坑部 分、轿厢部分、层站部分;八大系统:曳引系统、导向系统、轿厢、门系统、重量 平衡系统、电力拖动系统、电气控制系统、安全保护系统;电梯的功能结构决定电 梯的八大应用技术: 1) 全数字识别乘客技术(所有乘客进入电梯前进行识别,其中包括眼球识别、 指纹识别) 2) 数字智能型安全控制技术(通过乘客识别系统或者 ic 卡以及数码监控设备, 拒绝外来人员进入) 3) 第四代无机房电梯技术(主机必须与导轨和轿厢分离,完全没有共振共鸣, 速度可以达到 2.0m/s 以上,最高可以使用在 30 层以上。) 4) 双向安全保护技术(双向安全钳、双向限速器,在欧洲必须
25、使用,中国正 在被普遍使用) 5) 快速安装技术(改变过去的电梯安装方法,能够快速组装) 6) 节能技术(采用节能技术,使电梯更节约能源) 7) 数字监控技术(完全采用计算机进行电梯监控与控制) 8)无线远程控制及报警装置(当电梯产生故障时,电梯可以通过无线装置给 手机发送故障信息,并通过手机发送信号对电梯进行简单控制。) 本次论文主要是控制电梯的运行模式和状态,对信号进行处理的模块,重点在 对响应的信号进行处理,并将处理结果反馈给对应功能的控制端口,实现对电梯运 行的全面控制。 1.21.2 论文研究的主要内容论文研究的主要内容 随着可编程逻辑电路和 eda 技术的发展,在逻辑电路设计和嵌入
26、式系统设计 方面,以 cpld/fpga 为代表的可编程逻辑器件已经逐步代替了传统的标准逻辑器 件;本次论文的电梯控制器所有的程序可以集成在一个 fpga 开发芯片上面,不用 在用其他功能的分立逻辑元件,达到集成度高、响应快、功耗低的特点。 本次论文是基于 fpga 的电梯控制器的研究,是电梯控制的核心技术,通过电 梯控制器可以对电梯运行模式和状态进行全面的控制,这也是次论文的研究重要性; 电梯的层数为 6 层,本次论文采用模块化设计,主要分为四大模块:时钟分频模块、 按键处理模块、电梯运行控制模块、数码管显示模块。 由于 fpga 技术近些年来蓬勃发展,而且在很多领域已经应用的十分成熟,用
27、fpga 可以实现对电梯精确、实时性控制,而且用于 fpga 开发的芯片都是一些微 处理器芯片,便于集成和智能化设计,而且大大缩短了开发周期。 2 cpld/fpga 硬件结构知识硬件结构知识 2.12.1 cpld/fpgacpld/fpga 概述概述 cpld(complex programmable logic device)复杂可编程逻辑器件,主要是由 可编程逻辑宏单元(lmc,logic macro cell)围绕中心的可编程互连矩阵单元组成, 其中 lmc 逻辑结构比较复杂,并具有复杂的 i/o 单元互连结构,可由用户根据需要 生成特定的电路构成,完成一定的功能。由于 cpld 内
28、部采用固定长度的金属线进 行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结 构时序不能完全预测的缺点,20 世纪 90 年代,cpld 迅速发展,不仅具有电擦除特 性,而且出现边缘扫描以及在线可编程(isp,in system programmable)等高级特性。 fpga(field programmable gate arry)即现场可编程门阵列,它是在 pal、gal、cpld 等可编程器件的基础上进一步发展的产物。它是作为专用集成 电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克 服了原有可编程器件门电路数有限的缺点;fpga 采用
29、了逻辑单元阵列 lca(logic cell array)这样一个概念,内部包括可配置逻辑模块 clb(configurable logic block) 、输入输出模块 iob(input output block)和内部连线(interconnect)三个 部分。 2.22.2 cpldcpld 和和 fpgafpga 性能比较性能比较 尽管 fpga 和 cpld 都是可编程 asic 器件,有很多共同点,但是由于其结构 的不同使得各自又具有不同的特点,具体的有一下区别: 1)cpld 内部逻辑单元比较多,而触发器资源较少,适合各种算法和组合逻辑 电路的设计;而 fpga 内部触发器资源
30、多,而门级单元较少,适合时序逻 辑电路的设计。 2)cpld 的连续式布线结构决定了其时序延时是均匀的、可预测性的,而 fpga 的分段式布线结构决定了其延时是不可预测性的。 3)在编程上,fpga 比 cpld 具有更大的灵活性,cpld 通过修改具有固定内 部连线电路的逻辑功能来编程,fpga 主要是修改内部连线的布线来编程。 4)相对 cpld 而言,fpga 的集成度高,可实现的规模也较大,并具有更负 责的布线结构和逻辑实现,同时 cpld 的功耗比 fpga 的大,并且随着集 成度的增加而更明显。 5)相对于 fpga 而言,cpld 使用起来更方便;cpld 编程采用或prome
31、2 fast flash 技术,无须外部存储器芯片,使用简单;而 fpga 的编程信息必 须存放在外部存储器上,使用较复杂;由于存储的信息的方式就决定了两 者的保密性,一般情况,cpld 保密性好,fpga 的保密性差。 6)cpld 的运行速度比 fpga 的快,在编程方式上,cpld 编程采用 或 fast flash 存储器编程,编程次数可达 1 万次,其特点是系统prome 2 在掉电时编程信息不会丢失;而 fpga 大部分是基于 sram 编程,编程信 息在掉电时丢失,每次上电时,需从外部存储器将编程数据重新写入 sram 中,其特点是可编程任意次,可在工作中快速编程。 2.32.3
32、 fpgafpga 体系结构体系结构 fpga 采用逻辑单元阵列(lca,logic cell array)新概念,内部包括可配置 逻辑模块(clb,configurable logic block) 、输入输出模块(iob,input output block)和内部互连资源(ir,interconnect resources)三部分组成。 1)可配置逻辑块(clb,configurable logic block)是 fpga 的主要组成部分, 主要是由逻辑函数发生器、触发器、数据选择器等电路组成。 2)输入输出模块(iob,input output block)提供了器件引脚和内部逻辑阵
33、列 之间的连接,主要是由输入触发器、输入缓冲器和输出触发、锁存器、输 出缓冲器组成。 3)可编程互连资源(ir,interconnect resources)可以将 fpga 内部的 clb 和 clb 之间、clb 和 iob 之间连接起来,构成各种具有复杂功能的系统, ir 主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布 线实现各种电路的连接。 2.32.3 fpgafpga 常用芯片介绍常用芯片介绍 目前世界上有很多生产 fpga 芯片的公司,常用的主要有: altera、xilinx、lattice 和 actel,其中 altera 和 xilinx 占据主流市场。
34、1)altera 的主流 fpga 分为两大类:一种是侧重低成本、容量中等、性能可以 满足一般逻辑设计要求的,如 cyclone 系列;另一种是侧重高性能、容量大、 性能可以满足各类高端应用,如 stratix 系列。 2)xilinx 是 fpga 发明者,是老牌 pld,产品的种类较全,主要有: xc9500/4000、cool runner(xpla3) 、spartan、virtex 等系列。 3)lattice 是在系统编程(isp)技术的发明者,主要有: isplsi2000/5000/8000、mach4/5、ispmach4000 等系列。 4)actel 公司是世界反熔丝技术
35、的 fpga 领先供应商,主要有两大系列的反熔 丝 fpga 产品 sx-a 和 mx 高速系列。 3 vhdl 硬件描述语言硬件描述语言 3.13.1 vhdlvhdl 语言特点语言特点 vhdl(very-high-speed integrated circuit hardware description language)是一 种标准的硬件描述语言,中文意思是超高速集成电路硬件描述语言;利用 vhdl 进 行系统行为级设计已经成为 fpga 与 asic 设计的主流,使用 vhdl 不仅可以快速 的描述和综合 fpga 设计,还可以提供一下的一些性能。 1)功能强大且很具有灵活性,vhd
36、l 具有很强大的语言结构,可以用简洁明 确的代码描述复杂的控制逻辑,语言很灵活,支持设计库和可重复使用的 元件生成。 2)不依赖于器件的设计,vhdl 允许设计者生成一个设计而不需要首先选择 一个用来实现设计的器件,对于同一个设计描述,可以采用多种不同的器 件结构来实现其功能。 3)具有可移植性,因为 vhdl 是一种标准的语言,所以它可以被不同的工具 所支持,这意味着同一个 vhdl 设计描述可以在不同的设计项目中采用 4)可以对其设计性能进行评估,设计者可以进行一个完整的设计描述,并对 其进行综合,生产选定的器件结构的逻辑功能,然后评估结果,选用最适 合设计需求的器件。 5)上市时间快、成
37、本低、开发周期短,vhdl 语言的设计将大大提高数字单 片化设计实现的速度,为生产者大大节约开发成本。 3.23.2 状态机的状态机的 vhdlvhdl 实现实现 有限状态机以及其设计技术是使用数字系统设计中的重要组成部分,也是实现 高效率、高可靠和高速控制逻辑系统的重要途径,广义而论,只要是涉及到触发器 的电路,都属于状态机,由此也可以看出其重要性。用 vhdl 设计的状态机根据不 同的标准可以分为不同的形式: 1)从状态机的信号输出方式上分:mealy 型和 moore 型; 2)从状态机的描述结构上分:单进程状态机和多进程状态机; 3)从状态机表达形式上分:符号化状态机和确定状态编码状态
38、机; 4)从状态机编码方式上分:顺序编码状态机、一位热编码状态机和其他编码 方式状态机。 实际设计过程中,接触最多的分类方法就是 mealy 型和 moore 型;从输出时序 上看,前者是异步输出,后者是同步输出。mealy 型状态机的输出是当前状态和所 有输入信号的函数,它的输出是输入变化后立即变化的,不依赖时钟的同步。 moore 型状态的输出仅为当前状态的函数,但是在输入发生变化时还必须等到时钟 的到来,输出才会变化,由此可见,moore 型要多等待一个时钟周期。 本次论文中,电梯控制模块部分就利用 moore 型状态机的方法实现对电梯运 行状态的同步控制,通过将电梯运行过程分解为一些实
39、质性的状态来进行转换,使 得电梯的运行变得方便、快捷、稳定。 4 电梯控制器的工作原理电梯控制器的工作原理 本次论文是实现 6 层电梯的运行控制,当在某一楼层按下上升或者下降请求按 钮时,控制器响应该请求并控制电梯前往该楼层,当到达该楼层时,电梯开门,当 进入电梯后,电梯关门,此时按下要到达的楼层按钮,控制器响应该请求并控制电 梯前往该楼层,当到达前往楼层后,电梯开门,走出电梯,然后关门.,就这样往 复的实现电梯的控制功能。 在电梯运行时遵循如下规则:当电梯处于上升模式时,只响应比电梯所在位置 高的上楼信号,由下至上依次执行;直到最后一个上楼请求执行完毕,如有更高层 有下楼请求时,则直接升到有
40、下降请求的最高楼,然后进入下降模式,电梯处于下 降模式时,则与上升相反。 电梯的输入信号主要包括外部输入信号和内部输入信号;对于电梯外部输入信 号主要有:每一层电梯门外都有上升请求和下降请求按钮,其中一楼电梯门外只有 上升请求按钮,6 楼电梯门外只有下降请求按钮。对于电梯内部输入信号主要有:6 个前往楼层的按钮、提前关门按钮、延时关门按钮、电梯异常按钮。 电梯输出信号也主要包括外部输出信号和内部输出信号;对于电梯外部输出信 号包括上升请求按钮和下降按钮指示信号、电梯当前所在楼层指示信号、电梯运行 方向指示信号。电梯内部输出信号包括 6 个前往楼层按钮指示信号、超重等警告指 示信号、电梯当前所在
41、楼层指示信号、电梯运行方面指示信号。 5 电梯控制系统的设计内容电梯控制系统的设计内容 本次论文是基于 fpga 的电梯控制器的研究,是电梯控制的核心技术,通过电 梯控制器可以对电梯运行模式和状态进行全面的控制,这也是次论文的研究重要性; 电梯的层数为 6 层,本次论文采用模块化设计方法,主要分为四大模块:时钟分频 模块、按键处理模块、电梯运行控制模块、数码管显示模块。其方框原理图 5-0 如 下: 图 5-0 电梯控制器原理图 5.15.1 时钟分频模块时钟分频模块 时钟分频模块功能是将系统频率分频为两种不同的频率,一个是 2 分频时钟供 电梯运行控制模块使用,另一个 8 分频时钟供其他模块
42、使用,其源代码如下: 时钟分频模块:clkdiv.vhd library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; / 定义所用的标准库 entity clkdiv is port( clk: in std_logic; /系统时钟频率 时钟分频 数码管显示 按键处理 电梯运行控制 系统时钟 2 倍分频 8 倍分频 按键请求 按键处理响应 显示电梯 所在楼层 clk_2: out std_logic; /2 分频脉冲(作为电梯控制时钟) clk_8: out std_logic /8 分频脉冲(作为按
43、键处理时钟) ); /定义输入输出变量 end clkdiv; architecture one of clkdiv is signal cnt: std_logic_vector(7 downto 0); /定义一个 8 位的变量 begin process(clk) /时钟分频进程 begin if clkevent and clk=1 then /时钟脉冲上升沿有效 cnt=cnt+1; clk_2=cnt(1); /变量 cnt 的第 1 位输出 2 分频 clk_8=cnt(4); /变量 cnt 的第 3 位输出 8 分频 end if; end process; end one;
44、 源程序编写完成后,进行调试、运行并生成模块文件,确认没有错误之后进行 功能仿真、时序分析。其模块原理图 5-1 如下: 图 5-1 时钟分频模块原理图 clkclk_2 clk_8 clkdiv inst 5.25.2 按键处理模块按键处理模块 按键处理模块的功能是把电梯外部与内部的按键信号进行处理,把处理好的按 键信号送到电梯运行控制模块;根据电梯外部按键信号转化为电梯运行控制模块的 外部请求信号,根据电梯内部的按键信号转化为电梯运行控制模块的电梯前往信号, 根据电梯楼层信号及时清除电梯外部与内部按键信号。其源代码编写如下: 按键处理模块:keypro.vhd library ieee;
45、use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; / 定义所用的标准库 entity keypro is port( clk: in std_logic; /按键时钟 rst: in std_logic; /异步置位按键 up: in std_logic_vector(5 downto 1); /上升请求按键(低电平有效) down: in std_logic_vector(6 downto 2); /下降请求按键(低电平有效) up_light: out st
46、d_logic_vector(6 downto 1); /电梯外部上升请求指示灯 down_light: out std_logic_vector(6 downto 1);/电梯外部下降请求指示灯 inside: in std_logic_vector(6 downto 1); /电梯内部楼层请求按键(低 电平有效) inside_light: out std_logic_vector(6 downto 1); /电梯内部楼层请求指示灯 position: in integer range 1 to 6; /电梯位置变量 clear_up: in std_logic; /用于清除上升请求指示灯
47、的信号 clear_down: in std_logic /用于清除下降请求指示灯的信号 ); /定义输入输出变量 end keypro; architecture one of keypro is begin process(clk,rst) begin if rst=0 then inside_light=000000; up_light=000000; down_light=000000; elsif clkevent and clk=1 then /清除电梯当前外部上升请求信号和电梯内部前往该楼层信号 if clear_up=1 then inside_light(position)=
48、0; up_light(position)=0; else up_light=0 inside_light=not inside; end if; /清除电梯当前外部下降请求信号和电梯内部前往该楼层信号 if clear_down=1 then inside_light(position)=0; down_light(position)=0; else down_light= (not down) inside_light=not inside; end if; end if; end if; end process; end one; 源程序编写完成后,进行编译、运行并生成模块文件,确认没有
49、错误之后进行 波形仿真、时序分析。其模块原理图 5-2 如下: 图 5-2 按键处理模块原理图 5.35.3 电梯运行控制模块电梯运行控制模块 电梯运行控制模块是此次设计的核心,电梯运行的模式和状的态控制效果完全 取决于电梯控制模块,它的功能是在系统 2 分频时钟下,根据按键处理模块输出的 信号,控制电梯上升与下降运行模式和状态,当电梯关门时输出相应的上升与下降 清除信号,同时输出电梯当前所在楼层的数码管输出信号与电梯运行方向,本次是 设计的 6 层电梯控制系统,在源程序中具体要体现一下功能: 1)每层电梯(除 1 楼和 6 楼外,1 楼只有上升请求按钮,6 楼只有下降请求按 钮)入口出设置有
50、上升和下降请求按钮,电梯内部设有要到达楼层的请求 按钮 1-6 楼。 2)设有电梯所处位置数码管显示部分,电梯运行模式的 led 显示部分。 3)电梯能记忆电梯外部所有信号请求,并按照电梯运行规则进行顺序响应, 每个电梯请求信号保留到电梯响应结束。 4)电梯运行规则:当电梯上升时候,只响应比电梯所在楼层高的上楼信号, clk rst up5.1 down6.2 inside6.1 position2.0 clear_up clear_down up_light6.1 down_light6.1 inside_light6.1 keypro inst 由下到上依次执行,直到最后一个上升请求信号执
51、行完毕,当电梯下降时 候,只响应比电梯所在楼层低的下楼信号,由上到下依次执行,直到最后 一下下降请求信号执行完毕。 电梯运行控制模块的源程序如下: 电梯运行控制模块:elevator_run.vhd library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; / 定义所用的标准库 entity elevator_run is port( clk: in std_logic; /电梯时钟 rst: in std_logic; /异步置位按键 al
52、arm: in std_logic; up_light: in std_logic_vector(6 downto 1); /电梯外部上升请求指示灯 down_light: in std_logic_vector(6 downto 1);/电梯外部下降请求指示灯 inside_light: in std_logic_vector(6 downto 1); /电梯内部楼层请求指示灯 position: out integer range 1 to 6; /电梯位置变量 door_light: out std_logic; /电梯门开关指示灯 clear_up: out std_logic; /用
53、于清除上升请求指示灯信号 clear_down: out std_logic /用于清除下降请求指示灯信号 delay: in std_logic; /延时关门变量 advance: in std_logic; /提前关门变量 updown_light: buffer std_logic_vector(7 downto 0); /电梯升降显示 ); /定义输入输出变量 end elevator_run; architecture six_floor of elevator_run is type lift_state is (stop_1,door_open,door_close,door_w
54、ait1,door_wait2,door_wait3,door_wait4, door_wait5,door_wait6,up,down,stop); signal my_lift:lift_state; signal pos:integer range 6 downto 0; signal updown_flag:std_logic; signal posreg:integer range 1 to 6; signal one:std_logic_vector(6 downto 1); begin /控制电梯状态进程 u1:process(rst,clk) begin if (rst=0 o
55、r alarm=0) then my_lift=stop_1; clear_up=1; clear_down /初试状态在第一层 door_lght=0; position=1; my_lift=door_wait1; clear_up=0; clear_down=0; updown_light if advance=1 then my_lift=door_close; elsif delay=1 then my_lift=door_wait1; else my_lift=door_wait2; end if; clear_up=0; clear_down if advance=1 then
56、my_lift=door_close; elsif delay=1 then my_lift=door_wait1; else my_lift=door_wait3; end if; clear_up=0; clear_down if advance=1 then my_lift=door_close; elsif delay=1 then my_lift=door_wait1; else my_lift=door_wait4; end if; clear_up=0; clear_down if advance=1 then my_lift=door_close; elsif delay=1
57、then my_lift=door_wait1; else my_lift=door_wait5; end if; clear_up=0; clear_down if advance=1 then my_lift=door_close; elsif delay=1 then my_lift=door_wait1; else my_lift=door_wait6; end if; clear_up=0; clear_down my_lift=door_close; clear_up=0; clear_down door_light=0; clear_up=0; clear_down=0; if
58、posreg=6 then /如果电梯在第 6 层 /如果电梯在第 6 层,且电梯外部与内部没有任何按键请求,电梯进入关门状态 /电梯运行状态指示停止 if(inside_light=000000 and up_light=000000 and down_light=000000) then my_lift=door_close; /数码管显示横杠,表示电梯停止,没有向上和向下运行 updown_light000000 or up_light000000 or down_light000000) then my_lift=down; /数码管显示小写 d 字,表示电梯下降运行 updown_l
59、ight=01111010; updown_flag=1; end if; /如果电梯在第 1 层 if posreg=1 then /如果电梯在第 1 层,且电梯外部与内部没有任何按键请求,电梯进入关门状态 /电梯运行状态指示停止 if(inside_light=000000 and up_light=000000 and down_light=000000) then my_lift=door_close; /数码管显示横杠,表示电梯停止,没有向上和向下运行 updown_light000000 or up_light000000 or down_light000000) then my_
60、lift=up; /数码管显示小写 u 字,表示电梯上升运行 updown_light=01111100; updown_flag=0; end if; /如果电梯在其他楼层时候 else /如果电梯在其他楼层,且电梯外部与内部没有任何按键请求,电梯进入关门状态 /电梯运行状态指示停止 if(inside_light=000000 and up_light=000000 and down_light=000000) then my_lift=door_close; /数码管显示横杠,表示电梯停止,没有向上和向下运行 updown_light=(one+one) or up_light=(one
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 神奇的大树250字14篇
- 我学会了责任400字11篇
- 早餐专业知识培训班课件
- 爱看书的女孩200字9篇
- 叫我第一名观后感650字(13篇)
- 早期孕妇保健知识培训课件
- 早教老师礼仪知识培训课件
- 纪念白求恩app课件
- 假如我是一条蚯蚓作文800字(11篇)
- 纪念抗美援朝课件
- 胆总管结石伴急性胆管炎
- 找对英语学习方法的第一本书
- 制度编写书写规范
- 安徽涵丰科技有限公司年产6000吨磷酸酯阻燃剂DOPO、4800吨磷酸酯阻燃剂DOPO衍生品、12000吨副产品盐酸、38000吨聚合氯化铝、20000吨固化剂项目环境影响报告书
- 制造业业务流程
- 《诺丁山》经典台词
- 对铁路机车乘务员规章培训的探讨与实践
- 临床医学实验室 仪器设备一览表格模板
- 2016风行菱智m5原厂维修手册及电路图-14
- 《绿色建筑》绿色建筑与建筑节能课件
- 二级生物安全实验室备案登记申请表(模板)
评论
0/150
提交评论