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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

完整word版Verilog语言设计电梯控制器文档.docx

1、完整word版Verilog语言设计电梯控制器文档1)、需求分析;1、问题描述与要求:用Verilig语言设计一个电梯控制器,通过实验板对设计进行演示;要求楼层的高度大于等于,并且所设计的电梯调度算法满足提高服务质量、降低运行成本的原则。 BACK2)、系统描述;1、设定电梯控制器适用的楼层为8层.2、在电梯的内部有一个控制面板,它负责按下请求到的楼层,并且显示当前尚未完成的目的地请求,当到达该楼层以后自动撤销本楼层的请求,即将面板灯熄灭.3、除1层和7层分别只有上/下按钮外,每个楼层(电梯门口旁)的召唤面板都有两个按钮,分别指示上楼和下楼请求。当按下后,对应按钮灯亮。如果电梯已经到达该楼层,

2、按钮灯熄灭。4、电梯的外部面板会显示电梯当前所在的楼层,及上行还是下行(暂停显示刚才运行时的状态).当电梯在运行时,对应的楼层灯间固定显示一段时间进入下一楼层;在暂停时,灯一直在该楼层保持亮的状态。5、电梯调度方案:电梯向一个方向运行时,只对本方向前方的请求进行应答,直到本方向前方无请求时,才对反方向的请求进行应答。当前内部控制面板上有的请求,只要经过所在楼层均会立即响应.在所有内部外部请求都已完成后,电梯转入等待。 电梯模型:(如下附图) BACK*3)、算法设计; 1、电梯基本组成部分及其实现:(1) FLOOR:记录电梯所处楼层的记数器用模计数器实现,由001111的加减记数来表示电梯所

3、在楼层的变化(2) RB:电梯运行状态寄存器组用一位寄存器来表示电梯当前是运行还是暂停,再用一位寄存器表示当前或刚才的运行方向,这样就可以在电梯停止时也可以判断电梯刚才的状态,从而确定下个时刻电梯的后续方向对于FLOOR,我们通过三个LED显示. (3)RC:电梯目的地信息寄存器,记录电梯还有哪些要去楼层的任务每个楼层对应一个状态触发器,同时控制一个LED显示(4)RD: 各个楼层召唤信息寄存器,它记录了各楼层还有哪些向上向下的请求每个楼层对应两个状态触发器,同时控制两个LED显示向上向下请求(5)CALL:电梯各个楼层的召唤面板,用户通过它发出向上向下的请求;(6)DESTINATION:电

4、梯目的地指定命令面板,用户通过它申请要去的楼层;(7)CONTRAL:电梯的集中控制器。 2、电梯控制基本结构图:3、电梯工作过程的具体描述:a)、当电梯开始启动的时候,将当前所处的楼层置为第一层,电梯为暂停状态,方向向上,然后等待控制器的调度b)、等待过程当中(FLOOR保持在该楼层),首先检测RC和RD,判断当前楼层(第i层)以上的楼层是否发出召唤或者已经有人已经发请求,若有则向上运行;否则以同样的方法判断是否向下运行;若不向下运行则重复等待状态保持原状态循环进行操作直到检测到有向上或向下的任务c)、若已经判明要向上运行,则首先使RB中的运行暂停触发器置为运行,且标志向上运行,控制LED在

5、该楼层亮T1时间后将所在楼层加,这时新的当前楼层(第i+1层)灯亮起,接着电梯检索RC和RD,判断当前楼层是否发出向上召唤或者已经有人已经发出目的地为第i+1层的请求,若有则在第i+1层停靠;否则检索RC和RD,判断第i+1层以上的楼层是否发出召唤或者已经有人已经发出目的地为第i+1层以上的请求,若有则向上运行;否则(必定是有第i+1层向下的请求)在第i+1层若不在当前的第i+1层停靠,就使灯闪烁,继续中开始的操作如果停靠就修改运行状态为停止,撤销所在楼层的召唤请求和目的地任务,接受用户的目的地请求,控制电梯在T2时间后电梯进入中的等待状态注释:、只要不是当前暂停在的楼层的用户发出的召唤命令都

6、存入RD,以供控制器检索和判断 、只要不是当前暂停在的楼层的用户发出的目的地请求都存入RC,供运行过程当中控制器的检索和判断。 BACK*4、电梯控制流程图: BACK* 5、系统控制器ASM图: BACK*4)、硬件实现;为了更好地实现电梯的功能我们将其划分为数据处理单元和控制单元。控制器通过control模块实现它统一向其它各个模块发出控制信号,并且接收condition和counter模块的反馈信号,使得个子运算按照算法设计中的顺序有序的进行,在S0S14的状态之间进行合理的跳转,从而完成电梯的各项逻辑功能。 下面分别简述使用verilog语言实现的各个模块的功能及其接口。 (1)、de

7、stination:该模块是为了描述电梯内的目的请求的记录和撤销。input: set_dest:当按下对应楼层的目的地请求且当前电梯来停在cur_floor时,便可以记录这个请求。 rst:在电梯进入初始状态时,撤销记录中的目的地请求。 ce:在电梯进入暂停在cur_floor状态时ce=1;控制撤销cur_floor的目的地请求,并不记录在当前状态下该楼层的目的地请求。 cur_Floor:当前楼层作为判断的条件。output: get_dest: 通过输出LED显示当前未完成的目的地请求。源代码如下:module destination(set_dest,rst,ce,cur_Floor

8、,get_dest); input 6:0 set_dest; input 2:0 cur_Floor; input rst,ce; output 6:0 get_dest; reg 6:0 get_dest; always (rst or ce or set_dest0 or cur_Floor) begin if(rst=1) get_dest0=0; else begin if(set_dest0=0) begin if(ce=0|cur_Floor!=1) get_dest0=1; 电梯不在1楼,目的地为1 else get_dest0=0; 电梯在1楼 目的地不显示 end else

9、 begin if(ce=1&cur_Floor=1) get_dest0=0; end end end always (rst or ce or set_dest1 or cur_Floor) begin if(rst=1)初始化 get_dest1=0; else if(set_dest1=0) 没有请求 begin if(ce=0|cur_Floor!=2) get_dest1=1; else get_dest1=0; end else begin if(ce=1&cur_Floor=2) get_dest1=0; end end always (rst or ce or set_des

10、t2 or cur_Floor) begin if(rst=1) get_dest2=0; else if(set_dest2=0) begin if(ce=0|cur_Floor!=3) get_dest2=1; else get_dest2=0; end else begin if(ce=1&cur_Floor=3) get_dest2=0; end end always (rst or ce or set_dest3 or cur_Floor) begin if(rst=1) get_dest3=0; else if(set_dest3=0) begin if(ce=0|cur_Floo

11、r!=4) get_dest3=1; else get_dest3=0; end else begin if(ce=1&cur_Floor=4) get_dest3=0; end end always (rst or ce or set_dest4 or cur_Floor) begin if(rst=1) get_dest4=0; else if(set_dest4=0) begin if(ce=0|cur_Floor!=5) get_dest4=1; else get_dest4=0; end else begin if(ce=1&cur_Floor=5) get_dest4=0; end

12、 end always (rst or ce or set_dest5 or cur_Floor) begin if(rst=1) get_dest5=0; else if(set_dest5=0) begin if(ce=0|cur_Floor!=6) get_dest5=1; else get_dest5=0; end else begin if(ce=1&cur_Floor=6) get_dest5=0; end end always (rst or ce or set_dest6 or cur_Floor) begin if(rst=1) get_dest6=0; else if(set_dest6=0) begin if(ce=0|cur_Floor!=7) get_dest6=1; else get_dest6=0; end else begin if(ce=1&cur_Floor=7) get_dest6=0; end endendmodule (2)、call:该模块是为了描述电梯外的召唤的记录和撤销。input: set_call:当按下对应楼层的召唤请求且当前电梯未停在cur_floor,便可以记录这个召唤。 rst:当电梯进入初始状态时,撤销目的地面板上的请求。 ce:在电梯进入暂停在cur_floor的状态时,控制撤销cur_flo

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

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