ImageVerifierCode 换一换
格式:DOC , 页数:24 ,大小:286.54KB ,
资源ID:1267238      下载积分:3 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(电梯控制器-Verilog语言.doc)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

电梯控制器-Verilog语言.doc

1、山东建筑大学信息与电气工程学院学院课程设计说明书目录摘 要2正文31设计目的及要求32设计原理32.1 设计实现原理32.2项目分块及其实现方案52.3电梯控制器的流程图63设计内容73.1基本状态设计73.2模块设计83.3波形仿真9总结与致谢13参考文献14附录15摘 要电梯作为垂直方向的交通工具,在高层建筑和公共场所已成为不可或缺的设备。中国是全球最大的电梯市场,也具有最强的电梯生产能力,但由于缺乏自主知识产权和核心技术,自主品牌占市场的份额很少。因此要加大对电梯技术的创新和发展,提升电梯的性能,就需要引进更好的技术,电梯控制器就是很好的装置,大力开发控制器是很必要的。 电梯的微机化控制

2、主要有以下几种形式:PLC控制;单片机控制;单板机控制;单微机控制;多微机控制;人工智能控制。本次课程设计采用了EDA技术进行操作EDA技术打破了软件和硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率与产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。本设计采用Verilog HDL语言的编程技术,源程序Altera公司的Quartus II软件仿真。关键字:EDA技术; Verilog HDL语言; Quartus II软件正文1设计目的及要求1、进一步巩固理论知识,培养所学理论知识的在实际中的应用能力;掌握EDA设计的一般方法;熟悉一种EDA软件,掌握一般EDA系统的调试方法

3、;利用EDA软件设计一个电子技术综合问题,培养Verilog HDL编程、书写技术报告的能力。为以后进行工程实际问题的研究打下设计基础。2、设计一个6层电梯控制器电路,用数码管显示电梯所在楼层号,电梯初始状态为第一楼层;每楼层电梯外都有上、下楼请求开关,电梯内设有乘客到达楼层的请求开关、电梯所处楼层、上升模式及下降模式的指示;电梯每2秒升降一层,到达有停站请求的楼层后,经4秒电梯门打开,开门指示灯亮,开门4秒后,指示灯灭,关门,关门时间3秒,电梯继续运行。可以通过快速关门和关门中断信号控制;能记忆电梯内外的请求信号,当电梯处于上升模式时,只响应比电梯所在位置高的楼请求信号,直到最后一个上楼请求

4、执行完毕,再进入下降模式。2设计原理2.1 设计实现原理根据系统设计要求,并考虑到系统的可检验性,整个系统的输入输出接口设计如图1所示:系统工作用2Hz基准时钟信号CLKIN,楼层上升请求键UPIN,楼层下降请求键DOWNIN,楼层选择键入键ST_CH,提前关门输入键CLOSE,延迟关门输入键DELAY,电梯运行的开关键RUN_STOP,电梯运行或停止指示键LAMP,电梯运行或等待时间指示键RUN_WAIT,电梯所在楼层指示数码管ST_OUT,楼层选择指示数码管DIRECT。 DTKZQCLKIN LAMPUPIN DOWNINST_CH1 RU_WAITCLOSE ST_OUTDELAY D

5、IRECTRUN_STOP图 1. 电梯控制器DTKZQ的输入输出接口图各输入端口的功能如下:CLKIN:基准时钟信号,为系统提供2Hz的时钟脉冲,上升沿有效;UPIN:电梯上升请求键。由用户向电梯控制器发出上升请求。高电平有效;DOWNIN:电梯下降请求键,由用户向电梯控制器发出下降请求。高电平有效;ST_CH2.0:楼层选择键入键,结合DIRECT完成楼层选择的键入,高电平有效;CLOSE:提前关门输入键。可实现无等待时间的提前关门操作,高电平有效;DELAY:延迟关门输入键。可实现有等待时间的延迟关门操作,高电平有效;RUN_STOP:电梯运行或停止开关键。可实现由管理员控制电梯的运行或

6、停止,高电平有效。一下为输出端口:LAMP:电梯运行或等待指示键,指示电梯的运行或等待状况。高电平有效;RUN_WAIT:电梯运行或等待时间指示键,指示电梯运行状况或等待时间的长短,高电平有效;ST_OUT:电梯所在楼层指示数码管,只是电梯当前所在的楼层数。即16层,高电平有效;DIRECT:楼层选择指示数码管,指示用户所要选择的楼层数,高电平有效。2.2项目分块及其实现方案电梯的控制状态包括运行状态停止状态及等待状态,其中运行状态又包含向上状态和向下状态。主要动作有开、关门,乘客可通过键入开、关门按键,呼唤按键,指定楼层按钮等来控制电梯的行与停。据此,整个电梯控制器DTLZQ应包括如下几个组

7、成部分:时序输出及楼选计数器;电梯服务请求处理器;电梯升降控制器;上升及下降寄存器;电梯次态生成器。该电梯控制器设计的关键是确定上升及下降寄存器的置位与复位。整个系统的内部组成结构图2所示。电梯服务请求处理器时序输出及楼选计数器(DIR)DRECTCLKINUOINDOWNINST_CH电梯升降 控制器(LIFTOR)DELAY电梯次态生成器(LADD)上升请求寄存器(UR)下降请求寄存器(DR)CLOSERUN_STOPLAMPRUN_WAITST_OUT图2. 电梯控制器的内部组成结构图时钟CLK请求信号输入模块楼层请求超 载超 载关门中断提前关门清楚报警控制模块 输出显示模块请求信号显示

8、运行状态显示所在楼层显示门控制信号超载报警 图3. 电梯控制器系统框图2.3电梯控制器的流程图初始化外部按键否请求信号寄存器是否有请求?楼层检测电梯运行等待判定电梯运行方向是目标层与本层是否同层?状态寄存器是内部软件执行机构否外部硬件执行机构图4 总流程图是否目标层?否是电梯停止开门关门否是否停止运行?是停止 图5 电梯控制主流程图3设计内容3.1基本状态设计1、采用信号并置处理很多输入信号的方式:always (call_up_1 or call_up_2 or call_up_3 or call_up_4 or call_up_5) up_all=1b0, call_up_5, call_

9、up_4, call_up_3, call_up_2, call_up_1; /将各下降请求信号实时地合并(1楼为底层,无下降请求,考虑到通用性,将第1位填零) always (call_down_2 or call_down_3 or call_down_4 or call_down_5 or call_down_6) down_all=call_down_6, call_down_5, call_down_4, call_down_3, call_down_2, 1b0;/将各停靠请求信号实时地合并 always (request_1 or request_2 or request_3 o

10、r request_4 or request_5 or request_6) request_all=request_6, request_5, request_4, request_3, request_2, request_1;2、通过参数定义把信号并置的方法和有限状态机联系起来parameter WAIT=7b0000001, UP=7b0000010, DOWN=7b0000100, UPSTOP=7b0001000, DOWNSTOP=7b0010000, OPENDOOR=7b0100000, CLOSEDOOR=7b1000000;/定义楼层的符号常量 parameterFLOO

11、R1=6b000001,FLOOR2=6b000010,FLOOR3=6b000100, FLOOR4=6b001000, FLOOR5=6b010000, FLOOR6=6b100000; parameter TRUE=1b1, FALSE=1b0;/定义门打开和门关闭的符号常量 parameter OPEN=1b1, CLOSED=1b0;/定义电梯上升,下降和静止的符号常量 parameter UPFLAG=2b01,DNFLAG=2b10,STATIC=2b00;3、采用了七个状态实现了有限状态机WAITUPUPSTOPDOWNOPENDOORDOWNSTOPCLOSEDOOR图6.状

12、态转换图黑线:WAIT TO UP TO UPSTOP TO OPENDOOR TO CLOSEDOOR TO WAIT粉红线:WAIT TO DOWN TO DOWNSTOP TO OPENDOOR TO CLOSEDOOR TO WAIT 3.2模块设计1、电梯主控制器模块elevator_controller:此段智能电梯控制器由三个重要部分组成的。(a)信号并置部分,完成对5路向上请求、5路向下请求、6路内部请求的信号并置,化繁为简。(b)三段式有限状态机部分。在有请求的情况下,电梯控制器还要根据电梯的当前状态和当前的楼层去判断电梯的下一步该如何运作。(c)计数器部分。完成电梯的开门、

13、关门的时间管理。 图7.电梯主控模块2、分频模块frequence_div:这段分频器完成对50Mhz的1分频操作。采用传统的“一半就翻转”的计数技巧。 图8.分频模块3、数码管译码模块3.3波形仿真1、当电梯处于初始状态时,电梯在高层有向下的请求时:图92、当电梯停在6楼处于等待状态时,在1楼和2楼同时有向上的请求时:图103、当电梯停在1楼处于等待状态时,在6楼和5楼同时有向下的请求时:图114、当电梯停在6楼时,有在5楼的向下的请求时,电梯应该先到五楼,电梯内部请求到1楼,如果电梯在下降的过程中,有在2楼的向上的请求时,电梯应该先相应内部请求,然后相应外部请求:图125、电梯的强制运行按

14、钮forbid:图13总结与致谢通过本次课程设计进一步熟悉Quartus II软件的使用和操作方法,以及硬件实现时的下载方法与运行方法;对Verilog HDL语言的自顶向下设计方法有了进一步的认识,对其中的许多语句也有了新了解,掌握;对自己独立思考和解决问题的能力也有了很大的锻炼。短暂的课程设计就要结束了,在此,感谢所有在学习和生活中给予我关心和帮助的人们。首先我要感谢杨红娟、王涛两位位老师,本次课程设计设计的选题、课题调研与撰写工作实在和老师的指导下完成的。和老师渊博的知识、严谨的治学态度、一丝不苟的工作作风、和不厌其烦的精神对我影响至深,使我受益终生,在此我向和老师表示崇高的敬意和衷心的

15、感谢。其次,在我的课程设计期间,同课题的同学都给予了我热情的帮助和无私的指导,在此向这些同学们表示衷心的感谢。最后,向所有曾给予我关心和帮助的老师和同学们再次致以最衷心的感谢,向参加报告评审、答辩的老师表示衷心的感谢和崇高的敬意。参考文献1 黄仁欣EDA技术实用教程北京:清华大学出版社,20062 潘松,黄继业EDA技术与VHDL北京:清华大学出版社,20093 江国强编著EDA技术与应用(第三版).北京:电子工业出版社,20104 夏宇闻编著Verilog HDL数字系统设计教程.北京:北京航空航天大学出版社,20085 周祖成,程晓军,马卓钊编著数字电路与系统教学实验教程北京:科学出版社,

16、20106 周润景,苏良碧基于Quartus II 的数字系统Verilog HDL设计实例详解北京:电子工业出版社,20107 (美国)Sanir Palnitkar 译者:夏宇闻 胡燕祥 刁岚松Verilog HDL数字设计与综合(第2版)北京:电子工业出版社,20098 云创工作室Verilog HDL程序设计与实践北京:人民邮电出版社,20099 刘福奇,刘波Verilog HDL应用程序设计实例精讲北京:电子工业出版社,200910 张延伟,杨金岩,葛爱学verilog hdl程序设计实例详解北京:人民邮电出版社,2008附录1、分频模块module frequence_div(cp

17、_50M,cp_1); input cp_50M;/板子提供的最高时钟 output cp_1;/要求得到的秒脉冲 reg 27:0 counter_1;/计数器 reg cp_1;/类型声明 always(posedge cp_50M) begin if(counter_1=28h17D7840)/50M的一半到了,秒脉冲翻转 begin cp_1=cp_1;/翻转 counter_1=28h0000000; end else counter_1=counter_1+1b1;/否则加1 endendmodule2、智能电梯主控制模块module elevator_controller(/in

18、put ports: cp_50M,clk,reset,forbid,call_up_1, call_up_2, call_up_3, call_up_4, call_up_5,call_down_2, call_down_3, call_down_4, call_down_5,call_down_6,request_1, request_2, request_3, request_4, request_5, request_6, /output ports:out,LiftState,over_alarm,count_out,count); /output ports: output 6:0

19、out;/输出楼层 output 6:0 LiftState;/输出电梯状态 output over_alarm;/出错 output 6:0count_out;/计数器输出,便于我控制开关门的状态显示 output 2:0count;/计数器 /input ports: input cp_50M; input clk,reset,call_up_1,call_up_2,call_up_3,call_up_4,call_up_5,call_down_2,call_down_3,call_down_4,call_down_5,call_down_6,request_1,request_2,req

20、uest_3,request_4,request_5,request_6;input forbid;/pos与Posout的关系:当前状态一改变,pos立即作相应改变,而PosOut则是当前状态在要变到下一状态的瞬间/,将PosOut作相应改变。如从WAIT切换到第一个UP时,pos立即加一,而PosOut则要等到第一个UP/即将切换到第二个UP时,才加一。/这个说的简单一点,就是移位寄存器,便于对电梯状态的实时的控制wire over_alarm;wire 6:0out;wire 6:0count_out; reg 5:0pos,PosOut; reg 2:0 count;/门开后要持续5个

21、时钟周期,用count来计数 reg DoorFlag; reg 1:0 UpDnFlag; reg 6:0 LiftState,NextState;/分别表示电梯的当前状态和下一状态 wire real_clk;/up_all,down_all,request_all分别用来合并向上请求的各信号,向下请求的各信号和停靠请求的各信号/以便判断电梯在状态间如何转移时更简洁 reg 5:0 up_all,down_all,request_all;/定义电梯7种状态的符号常量 parameter WAIT=7b0000001, UP=7b0000010, DOWN=7b0000100, UPSTOP

22、=7b0001000 , DOWNSTOP=7b0010000, OPENDOOR=7b0100000, CLOSEDOOR=7b1000000;/定义楼层的符号常量 parameter FLOOR1=6b000001, FLOOR2=6b000010, FLOOR3=6b000100, FLOOR4=6b001000, FLOOR5=6b010000, FLOOR6=6b100000; parameter TRUE=1b1, FALSE=1b0;/定义门打开和门关闭的符号常量 parameter OPEN=1b1, CLOSED=1b0;/定义电梯上升,下降和静止的符号常量 paramete

23、r UPFLAG=2b01,DNFLAG=2b10,STATIC=2b00; assign real_clk=(clk&(forbid); /采用屏蔽时钟的方法来实现“电梯强制禁止运行”。方法虽然违反了“同步电路最好/没有时钟门控”的要求,但是在此只要“负面影响”不是很大还是可以接受的。/将各上升请求信号实时地合并(6楼为顶层,无上升请求,考虑到通用性,将第4位填零) always (call_up_1 or call_up_2 or call_up_3 or call_up_4 or call_up_5) up_all=1b0, call_up_5, call_up_4, call_up_3

24、, call_up_2, call_up_1; /将各下降请求信号实时地合并(1楼为底层,无下降请求,考虑到通用性,将第1位填零) always (call_down_2 or call_down_3 or call_down_4 or call_down_5 or call_down_6) down_all=call_down_6, call_down_5, call_down_4, call_down_3, call_down_2, 1b0;/将各停靠请求信号实时地合并 always (request_1 or request_2 or request_3 or request_4 or

25、request_5 or request_6) request_all=request_6, request_5, request_4, request_3, request_2, request_1; always (posedge real_clk or posedge reset) if(reset) count=0; else if(NextState=OPENDOOR)&(count5)/or else if(NextState=OPENDOOR) count=count+1;/如果计数不到5且下一状态为OPENDOOR的话,继续计数 else count=0;/清零,以备下次计数

26、/display which floor the elevator is. display_decode h1(cp_50M,PosOut,out,over_alarm); display_decode_count h2(cp_50M,count,count_out); / finite state machine in the style of three segments ,三段式/1st StateShift always block,sequential state transition,有限状态机第一段 always (posedge real_clk or posedge rese

27、t) if(reset) begin LiftState=WAIT; end else LiftState0)/有停靠请求否 begin if(request_all&pos)0)/停靠请求中有当前楼层停靠请求否 NextState=OPENDOOR;/有当前楼层请求,则下一状态转开门 else if(request_allpos)/有当前楼层之上的停靠请求否(优先向上的请求) NextState=UP;/有则,下一状态转上升 else NextState=DOWN;/只有当前楼层之下的停靠请求,下一状态转下降 end else if(up_all&pos)|(down_all&pos)/上下

28、请求中有当前楼层请求否 begin NextState=OPENDOOR; end else if(up_allpos)|(down_allpos)/上下请求中有当前楼层之上的请求否 NextState=UP; else if(up_all|down_all)/上下请求中有当前楼层之下的请求否 NextState=DOWN; else NextState=WAIT;/无任何请求,继续处于WAIT模式 end UP: begin if(request_all&pos)|(up_all&pos)/停靠或上升请求中有当前楼层的请求否 NextState=UPSTOP;/有,下一状态转为UPSTOP(

29、停靠后要1s才开门,UPSTOP即为这1s的过渡期) else if(request_allpos)|(up_allpos)/停靠或上升请求中有当前楼层之上的请求否 NextState=UP; else if(down_all0)/有下降请求否 begin if(down_allpos)&(down_allpos)pos)/下降请求中有当前楼层的请求否 NextState=UP; else if(down_all&pos)|(posFLOOR6) /其实这样做意义不大,只是使上下标志提前变化 NextState=UPSTOP; else if(down_all&pos)&(pos=FLOOR6

30、)/事实上不满足第一条件的话,电梯根本不会到达第四层 NextState=DOWNSTOP; else/下降请求中只有当前楼层之下的请求 NextState=DOWN; end else if(request_all|up_all)/只有当前楼层之上的停靠或上升请求否 NextState=DOWN; else NextState=WAIT;/无任何请求,转为WAIT模式 end/DOWN的状态转移请参见UP的状态转移 DOWN: begin if(request_all&pos)|(down_all&pos) NextState=DOWNSTOP; else if(request_all&FL

31、OOR1)pos&(request_all&FLOOR1)|(request_all&FLOOR2)pos&(request_all&FLOOR2)|(request_all&FLOOR3)pos&(request_all&FLOOR3)|(request_all&FLOOR4)pos&(request_all&FLOOR4)|(request_all&FLOOR5)pos&(request_all&FLOOR5)|(request_all&FLOOR6)pos&(request_all&FLOOR6) NextState=DOWN; else if(down_all&FLOOR1)pos&(

32、down_all&FLOOR1)|(down_all&FLOOR2)pos&(down_all&FLOOR2)|(down_all&FLOOR3)pos&(down_all&FLOOR3)|(down_all&FLOOR4)pos&(down_all&FLOOR4)|(down_all&FLOOR5)pos&(down_all&FLOOR5)|(down_all&FLOOR6)0) begin if(up_all&FLOOR1)pos&(up_all&FLOOR1)|(up_all&FLOOR2)pos&(up_all&FLOOR2)|(up_all&FLOOR3)pos&(up_all&FL

33、OOR3)|(up_all&FLOOR4)pos&(up_all&FLOOR4)|(up_all&FLOOR5)pos&(up_all&FLOOR5)|(up_all&FLOOR6)FLOOR1) NextState=DOWNSTOP; else if(up_all&pos)&(pos=FLOOR1) NextState=UPSTOP; else NextState=UP; end else if(request_all|down_all) NextState=UP; else NextState=WAIT; end UPSTOP: begin NextState=OPENDOOR;/停靠1时钟周期后开门 end DOWNSTOP: begin NextState=OPENDOOR;/停靠1时钟周期后开门 end OPENDOOR: begin if(countpos)|(up_allpos)/上升或停靠请求中有当前楼层之上的请求否 NextState=UP; else if(down_all0)/有下降请求否 begin if(down_allpos)&(down_allpos)pos) NextState=UP;/有当前楼层之上的下降请求,则下一状态转移上升

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服