- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA在电梯控制系统中的应用
摘? 要: 介绍了基于Altera公司EP1K30TC144芯片的电梯控制器设计过程,描述了该控制系统的功能。该设计采用VHDL语言进行编程,以QUARTUSⅡ软件为开发平台,对本设计进行了仿真,并使用JTAG将程序代码下载到实验板上进行了硬件验证。关键词: 电梯控制器; VHDL; EP1K30TC144; QUARTUSⅡ
??? 随着社会的发展,电梯的使用越来越普遍,对电梯功能的要求也不断提高,相应地其控制方式也在不断发生变化。对于电梯的控制,传统的方法是使用继电器-接触器控制系统进行控制,进入全微机化控制的时代,微型计算机在电梯控制上的应用日益广泛。电梯的微机化控制主要有以下几种形式:①PLC控制;②单板机控制;③单片机控制;④单微机控制;⑤多微机控制;⑥人工智能控制。随着EDA技术的快速发展,CPLD/FPGA因其高速处理信号的能力、可在线编程、易于实现、开发周期短、便于维护等优点,使FPGA已广泛应用于电子设计控制的各个方面。本文就是使用一片Altera公司的EP1K30TC144为控制中心,以VHDL编程语言为基础进行了电梯控制器的设计,并做了仿真。1 系统功能简介?? ?电梯控制器[1]的功能:每层电梯入口处设有上下请求开关;电梯内设有乘客到达层次的停站请求开关;电梯所处位置指示装置及电梯运行模式指示装置;电梯每分钟升降一层楼。电梯到达有停站请求的楼层后,经过5 s电梯开门,开门指示灯亮,开门10 s后电梯门关闭,电梯继续运行,直到运行完最后一个请求信号后停在当前层;能记忆电梯内外所有请求信号,并按照电梯运行规则依次响应,每个信号保留至执行后消除。?? ?电梯运行规则:遵循方向优先的原则,电梯上升时,只响应比电梯所在位置高的上楼请求信号,由下到上逐个执行,直到最后一个上楼请求执行完毕,如更高层有请求下楼信号,则直接上升到有下楼请求的最高层,然后进入下楼状态。电梯下降时,与上升状态规则相反。?? ?输入信号定义:?? ?系统复位信号:reset,高电平有效;?? ?电梯入口处一层、二层的上楼请求开关:upone、uptwo;?? ?电梯入口处二层、三层的下楼请求开关:downtwo、downthree;?? ?电梯内部到达楼层的停站请求开关:one、two、three;?? ?所有输入信号的规定为:1表示有请求,0表示无请求;?? ?输出信号定义:?? ?电梯外部上升和下降请求指示灯:lightup和lightdown,这些信号与upone、uptwo、downtwo和downthree信号相对应;?? ?电梯内部乘客到达楼层的停站请求灯:arr,该信号与one、two和three相对应;?? ?电梯所在楼层指示:p表示电梯在对应楼层;?? ?电梯的运行状态:lightdown指示向下运行,lightup向上运行,arr指示电梯的开关门状态及是否到达楼层。2 系统设计实现2.1 系统总体框图?? ?系统总体框图如图1所示。
2.2顶层电路的设计?? ?纵观各种基于FPGA的电梯控制器,很少有人介绍并使用构造体的结构描述方式。即在多层次的设计中,高层次的设计模块调用低层次的设计模块,或者直接使用门电路设计单元来完成一个复杂的逻辑电路的描述方法。结构描述方式最能提高设计效率,它可以将已有的设计成果方便地运用到新的设计中去。??? 本系统的顶层电路设计就采用构造体的结构描述方式。易于实现,易于纠错,易于修改程序。??? 上层模块源程序[4]及注释:library ieee;use ieee.std_logic_1164.all;entity total5 isport(uo,ut,dt,dth:in std_logic--一、二、三层楼电梯外的上下楼请求键。o,t,th:in std_logic;--一、二、三层电梯里的按键。pres:in std_logic;--reset信号。clk:in std_logic;--时钟信号,1 MHz。?? ?lightout:out std_logic_vector(6 downto 0);--数码管的输入信号。lu,ld:out std_logic;--电梯上升,下降的灯。arr:out std_logic);--开门的灯。end;architecture a of total5 issignal templ0,templ2:std_logic;signal templ1:integer range 3 to 1;Signaltemp1,temp2,temp3,temp4,temp5,temp6,temp7:std_logic;component bigmain--调用
文档评论(0)