ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:227.55KB ,
资源ID:10420541      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10420541.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(关于EDA电梯控制器的设计报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

关于EDA电梯控制器的设计报告.docx

1、关于EDA电梯控制器的设计报告关于EDA电梯控制器的设计报告1、绪论随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。随着技术市场与人才市场对EDA的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。因此学好EDA技术对我们有很大的益处。EDA功能强大,一台计算机、一套EDA软件和一片或几片大规模可编程芯片(CPLD/FPGA或ispPAC),就能完成电子系统的设计。EDA技术涉及面广,内容丰富,但在教学和技术推广层面上,应用较为广泛的是基于可编程器件的EDA技术,它主要包括如下四大要素:1大规模可编程

2、器件,它是利用EDA技术进行电子系统设计的载体;2硬件描述语言,它是利用EDA技术进行电子系统设计的主要手段;3软件开发工具,它是利用EDA技术进行电子系统的智能化的自动化设计工具;4实验开发系统,它是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。电梯行业也随着科技的发展,不断地出现在人们生活的各个场所,因此,对电梯控制器的设计是一个很实用的例子,对我们掌握EDA技术的应用也有很大的帮助。2、三层电梯设计原理21 系统设计功能1每层电梯入口处设有请求开关,电梯内设有顾客到达层次的停站请求开关。2设有电梯入口处位置指示装置及电梯运行模式(上升或者下降)指示装置。3电梯每秒升(降)层楼。

3、电梯到达有停站请求的楼层,经过1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至最后一个请求信号后停留在当前层。4能记忆电梯内所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。5电梯运行规则当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由上而下逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升到由下楼请求的最高楼层,然后进入下降模式。当电梯处于下降模式时则与上升模式相反。6电梯初始状态为一层开门状态。2.2系统设计方案2.2.1系统设计接口图根据系统设计要求,并考虑到系统的可验证性,整个系统的输入输出接口

4、设计如图2.2.1:图2.2.1 电梯输入输出接口图2.2.2系统设计各接口说明系统设计有如下输入:时钟(buttonclk,liftclk),系统复位键(reset),楼层上升请求(f1upbutton,f2upbutton),楼层下降请求(f2dnbutton,f3dnbutton),外部请求指示灯(fuplight,fdnlight),楼层停止请求(stop1button,stop2button,stop3button),内部请求指示灯(stoplight);同时输出如下:当前楼层位子(position),楼层上升、下降指示灯(udsig),开门状态灯(doorlight)。2.2.3主

5、要程序代码说明1设计此系统是通过状态机实现的,首先定义以下状态:TYPE LIFT_STATE IS(STOPON1,DOOROPEN,DOORCLOSE,DOORWAIT1,DOORWAIT2,DOORWAIT3,DOORWAIT4,UP,DOWN,STOP);2利用用户所输入请求,在以上状态之间进行转换,同时也定义了以下寄存器信号以备调用:SIGNAL MYLIFT: LIFT_STATE;SIGNAL CLEARUP: STD_LOGIC;-清除上升请求指示灯SIGNAL CLEARDN: STD_LOGIC;- 清除上下降请求指示灯SIGNAL POS: STD_LOGIC_VECTO

6、R(3 DOWNTO 0);SIGNAL POSITION: INTEGER RANGE 1 TO 3;3在用户输入控制时,通过多个进程进行协调工作:CTRLIFT: PROCESS(RESET,LIFTCLK)-控制电梯状态进程用来为用户楼层选择主要用了以下语句:(1)CASE语句CASE语句属于顺序语句,因此必须放在进程语句中使用,CASE语句的一般表达式是:CASE ISWHEN =;WHEN =;END CASE;当执行到CASE语句时,首先计算的值,然后根据WHEN条件句中与之相同的,执行对应的,最后结束CASE语句。条件句中的=“”不是操作符,它的含义相当于THEN(或“于是”)。

7、使用CASE语句应该注意以下几点:WHEN条件句中的选择值或标志符所代表的值必须在表达式的取值范围内。除非所以条件句中的选择值能完全覆盖CASE语句中表达式的取值,否则最末一个条件句中的选择必须如教材例那样用OTHERS关键词表示以上已列的所有条件句中的未能列出的其他可能的取值。OTHERS只能出现一次,且只能作为最后一种条件取值。使用OTHERS的目的是为了使条件句中的所有选择值能涵盖表达式的所有取值,以免综合器会插入不必要的锁存器。关键词NULL表示不做任何操作。CASE语句中的选择值只能出现一次,不允许有相同选择值的条件语句出现。CASE语句执行中必须选中,且只能选中所列条件语句中的一条

8、。(2)IF语句IF语句是VHDL设计中最重要和最常用的语句,IF语句作为一种条件语句,它根据语句中所设置的一种或多种条件,有选择地执行制定的顺序语句。IF语句的语句结构有以下几种:IF 条件句THEN顺序语句END IF;IF 条件语句THEN顺序语句ELSE 顺序语句END IF;IF 条件语句 THEN IF 条件句 THENENDIFEND IF IF 条件句 THEN顺序句ELSIF 条件句THEN顺序语句ELSE顺序语句 END IF;IF语句中至少应有一个条件句,“条件句”可以是BOOLEAN类型的标志符,如IF A1 THEN ,或者是一个判别表达式,如IF ATHEN ,判别

9、表达式输出的值,即判断结果的数据类型是BOOLEAN。IF语句根据条件语句产生的判断结果是TRUE或是FALSE,有条件的选择执行其后的顺序语句。以上具体应用如源代码所示.2.2.4电梯控制器的组成电梯的控制状态包括运行状态、停止状态及等待状态,其中运行状态又包含向上状态和向下状态。每层楼设有用户请求按钮,用户可以通过本层的请求,对电梯进行控制,使电梯到当前楼层;而在电梯内部,还设有电梯停靠按钮,当用户需要下电梯时,可按下停止按钮,在计数及显示上,当电梯运行停止后,计数4s后,门自动关闭,而显示器也可显示当前电梯所在楼层数。图2.2.2 电梯内部控制结构图2.3系统设计源程序及程序具体分析LI

10、BRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY THREEFLIFT IS PORT(BUTTONCLK:IN STD_LOGIC;-按键时钟 LIFTCLK:IN STD_LOGIC;-电梯时钟 RESET:IN STD_LOGIC;- F1UPBUTTON: IN STD_LOGIC;- F2UPBUTTON: IN STD_LOGIC;- F2DNBUTTON: IN STD_LOGIC;- F3DNBUTTON: IN S

11、TD_LOGIC;- FUPLIGHT: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 1);-外部上升请求指示灯 FDNLIGHT: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 1);-外部下降请求指示灯 STOP1BUTTON,STOP2BUTTON,STOP3BUTTON: IN STD_LOGIC;-内部请求按键 STOPLIGHT: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 1);-内部请求指示灯 POST : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-电梯楼层数 DOORLIGHT: OUT

12、 STD_LOGIC;-开关 UDSIG: BUFFER STD_LOGIC);-升降 END THREEFLIFT;ARCHITECTURE ART OF THREEFLIFT ISTYPE LIFT_STATE IS(STOPON1,DOOROPEN,DOORCLOSE,DOORWAIT1,DOORWAIT2,DOORWAIT3,DOORWAIT4,UP,DOWN,STOP);SIGNAL MYLIFT: LIFT_STATE;SIGNAL CLEARUP: STD_LOGIC;-清除上升请求指示灯SIGNAL CLEARDN: STD_LOGIC;- 清除上下降请求指示灯SIGNAL P

13、OS: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL POSITION: INTEGER RANGE 1 TO 3; BEGIN CTRLIFT: PROCESS(RESET,LIFTCLK)-控制电梯状态进程 BEGIN IF RESET=1THEN-异步信号如果为1时电梯状态 MYLIFT=STOPON1; CLEARUP=0; CLEARDNDOORLIGHT=0;POSITION=1;POS=0001;UDSIG=0;-电梯位置为1 MYLIFT=DOORWAIT1;-状态转移到开门等待第1秒状态 - CLEARUP=1; -CLEARDNMYLIFT=DOO

14、RWAIT2; -电梯处在等待第1秒状态时 CLEARUP=0;CLEARDNMYLIFTMYLIFTDOORLIGHT=0; -电梯处在等待第4秒状态时 IF UDSIG=0 THEN -UDSIG=0表示上升模式; IF POSITION=3 THEN -如果电梯在第三层;IF STOPLIGHT=000AND FUPLIGHT=000 AND FDNLIGHT=000 THEN-没有任何请求信号; UDSIG=1; -UDSIG=1表示下降模式; MYLIFT=DOORCLOSE;-电梯转为关门状态; ELSIF STOPLIGHT(POSITION)=1OR FDNLIGHT(POSI

15、TION)=1THEN UDSIG=1;MYLIFT=DOOROPEN; ELSE UDSIG=1; MYLIFT=DOWN;-电梯转为下降状态; END IF; ELSIF POSITION=2 THEN -如果电梯在第二层;IF STOPLIGHT=000AND FUPLIGHT=000 AND FDNLIGHT=000 THEN -没有任何请求信号; UDSIG=0; MYLIFT=DOORCLOSE;ELSIF STOPLIGHT(POSITION)=1OR FUPLIGHT(POSITION)=1THEN UDSIG=0;MYLIFT=DOOROPEN;ELSIF STOPLIGHT

16、(3)=1OR FDNLIGHT(3)=1THEN-有3层停站或3层下降请求 UDSIG=0;-处于上升状态MYLIFT=UP;ELSIF STOPLIGHT(POSITION)=1OR FDNLIGHT(POSITION)=1THEN UDSIG=1;MYLIFT=DOOROPEN; ELSE UDSIG=1;MYLIFT=DOWN; END IF; ELSIF POSITION=1 THEN-处于1层 IF STOPLIGHT=000AND FUPLIGHT=000 AND FDNLIGHT=000 THEN UDSIG=0;-任何请求,电梯处于1层,肯定上升,using置0 MYLIFT

17、=DOORCLOSE;状态置回关门状态等待升降请求 ELSIF STOPLIGHT(POSITION)=1OR FUPLIGHT(POSITION)=1 THEN UDSIG=0;MYLIFT=DOOROPEN; ELSE UDSIG=0;MYLIFT=UP;-否则无论怎么样电梯都得上升 END IF; ELSIF POSITION=2 THEN -如果电梯在第二层 IF STOPLIGHT=000AND FUPLIGHT=000 AND FDNLIGHT=000 THEN UDSIG=1; -没有任何请求信号,电梯仍处于下降模式 MYLIFT=DOORCLOSE; -状态置回关门状态等待升降

18、请求 ELSIF STOPLIGHT(POSITION)=1 OR FDNLIGHT(POSITION)=1 THEN -如果内部有1层停站请求或者有1层上升请求UDSIG=1;MYLIFT=DOOROPEN; ELSIF STOPLIGHT(1)=1OR FUPLIGHT(1)=1THEN UDSIG=1;MYLIFT=DOWN; -状态转移到下降状态 ELSIF STOPLIGHT(POSITION)=1 OR FUPLIGHT(POSITION)=1 THEN UDSIG=0;MYLIFT=DOOROPEN; ELSE UDSIG=0;MYLIFT=UP; -其他情况电梯都得上升 END

19、 IF; ELSIF POSITION=3 THEN -如果电梯停在第三层 IF STOPLIGHT=000AND FUPLIGHT=000 AND FDNLIGHT=000 THEN-没有任何请求信号,由于电梯处于最高层,所以肯定要下降 UDSIG=1; MYLIFT=DOORCLOSE; ELSIF STOPLIGHT(POSITION)=1OR FDNLIGHT(POSITION)=1THEN UDSIG=1;MYLIFT=DOOROPEN; ELSE UDSIG=1; MYLIFT -电梯处于上升状态时POSITION=POSITION+1; -信号POSITION加1表示上升1层 P

20、OS=POS+1; -电梯处在上升状态时,变量POS加1表示上升一层 IF POSITION=2 AND (STOPLIGHT(2)=1 OR FUPLIGHT(2)=1)-如果即将到达的层不是最高层并且内部有该层停站请求或者该层外部有上升请求 THEN MYLIFT=STOP; -下一状态电梯停止ELSIF POSITION3 AND (STOPLIGHT(3)=1 OR FUPLIGHT(3)=1) THEN MYLIFT=DOORCLOSE;ELSIF POSITION3 AND (STOPLIGHT(POSITION)=1OR FDNLIGHT(POSITION)=1) THEN MY

21、LIFT=STOP;ELSIF POSITION=3 AND (STOPLIGHT(POSITION)=1 OR FDNLIGHT(POSITION)=1) THEN MYLIFT=STOP; ELSE MYLIFTPOSITION=POSITION-1; POS1 AND (STOPLIGHT(POSITION)=1 OR FDNLIGHT(POSITION)=1) THEN MYLIFT1 AND (STOPLIGHT(1)=1 OR FUPLIGHT(1)=1) THEN-没有任何请求信号,由于电梯处于最高层,所以肯定要下降 MYLIFT1 AND (STOPLIGHT(POSITION

22、)=1 OR FUPLIGHT(POSITION)=1)-如果即将到达的层不是1层且内部有该层停站请求或者该层外部有下降请求 THEN MYLIFT=STOP; -下一状态为停止状态ELSIF POSITION=1 AND (STOPLIGHT(POSITION)=1 OR FUPLIGHT(POSITION)=1)-如果即将到达的层是1层且内部有该层停站请求或者该层外部有上升请求 THEN MYLIFT=STOP; -下一状态为停止状态 ELSE MYLIFT -电梯处在停止状态时MYLIFT -电梯处于开门状态时DOORLIGHT=1; IF UDSIG=0THEN -如果电梯处于上升模式

23、 IFPOSITION3 AND (STOPLIGHT(POSITION)=1 OR FUPLIGHT(POSITION)=1)THEN-如果电梯位于2层或2层以上,且内部停站等于1或外部请求下降信号等于1,此时只用-清除上升-请求指示灯 CLEARUP=1; ELSE CLEARUP=1;CLEARDN1AND (STOPLIGHT(POSITION)=1 OR FDNLIGHT(POSITION)=1)THEN-如果电梯位于2层或2层以上,且内部停站等于1或外部请求下降信号等于1,此时只用-清除下降-请求指示灯 CLEARDN=1; ELSE CLEARDN=1;CLEARUP=1; -其

24、他情况需同时清除上升和下降指示灯 END IF; END IF; MYLIFTDOORLIGHT=0; -10电梯处在关门状态时 MYLIFTMYLIFT=STOPON1; END CASE; END IF; END IF; END PROCESS CTRLIFT;POST=POS;CTRLIGHT: PROCESS(RESET,BUTTONCLK) -控制按键信号灯的进程 BEGIN IF RESET=1THEN -异步复位信号为1时 STOPLIGHT=000;FUPLIGHT=000;FDNLIGHT=000; ELSE IF BUTTONCLKEVENT AND BUTTONCLK=1

25、THEN IF CLEARUP=1THEN -当清除上升请求指示灯信号为1时STOPLIGHT(POSITION)=0;FUPLIGHT(POSITION)=0; -该层电梯内部停站信号灯和外部上升请求指示灯灭 ELSE IF F1UPBUTTON=1 THEN FUPLIGHT(1)=1; ELSIF F2UPBUTTON=1THEN FUPLIGHT(2)=1; END IF; -如果按键,那么指示灯亮 END IF; IF CLEARDN=1 THEN -当清除下降请求指示灯信号为1时STOPLIGHT(POSITION)=0;FDNLIGHT(POSITION)=0; ELSE IF

26、F2DNBUTTON=1THEN FDNLIGHT(2)=1; ELSIF F3DNBUTTON=1THEN FDNLIGHT(3)=1; END IF; -如果按键,那么指示灯亮 END IF; IF STOP1BUTTON=1THEN STOPLIGHT(1)=1; ELSIF STOP2BUTTON=1THEN STOPLIGHT(2)=1; ELSIF STOP3BUTTON=1THEN STOPLIGHT(3)=1; END IF; -如果按键,那么指示灯亮 END IF; END IF; END PROCESS CTRLIGHT; END ART;2.4程序仿真图及分析在第二层电梯

27、外部有上升请求,也就是f2upbuttton信号的一个脉冲,可以看到电梯从一层上升到二层,position信号由1变到2,doorlight信号1表示开门,0表示关门。当乘客进入电梯以后,在电梯内部要求上升到第三层,也就是stop3button产生一个脉冲,电梯上升到第3层,开门4秒以后关门,停留在第三层,position最后的值为3。在仿真图中看不到buttonclk,只显示为一条黑色的线,是因为采用了频率较大的时钟。再看fuplight信号灯,当二层有上升请求的时候,它的值由0变到2。(注意fuplight和fdnlight是3位的二进制向量,这里的2代表“010”,表示二层有请求;“100”也就是4,表示三层有请求)。当电梯停留到第二层以后,表明该请求被响应,所以它的值变为0,由于没有下降请求信号,所以fdnlight信号灯的值一盲都为O。波形图如图3.2.1。图3.2.1有下降请求的情况,它是图4的继续,当电梯停留在第三层的时候,在电梯外第二层有下降请求,这时候fdnlight信号灯由0变为2,说明第二层有下降请求。电梯下降到第二层,响应了下降请求,所以fdnlight信号灯清0。这时候,在

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1