1 / 57
文档名称:

Verilog语言设计电梯控制器文档.doc

格式:doc   大小:2,371KB   页数:57页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Verilog语言设计电梯控制器文档.doc

上传人:儒林 2024/5/10 文件大小:2.32 MB

下载得到文件列表

Verilog语言设计电梯控制器文档.doc

相关文档

文档介绍

文档介绍:该【Verilog语言设计电梯控制器文档 】是由【儒林】上传分享,文档一共【57】页,该文档可以免费在线阅读,需要了解更多关于【Verilog语言设计电梯控制器文档 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。Verilog语言设计电梯控制器文档1)、需求分析;1、问题描述与要求:用Verilig语言设计一个电梯控制器,通过实验板对设计进行演示;要求楼层的高度大于等于6,并且所设计的电梯调度算法满足提高服务质量、降低运行成本的原则。 BACK2)、系统描述;1、、在电梯的内部有一个控制面板,它负责按下请求到的楼层,并且显示当前尚未完成的目的地请求,当到达该楼层以后自动撤销本楼层的请求,、除1层和7层分别只有上/下按钮外,每个楼层(电梯门口旁)的召唤面板都有两个按钮,分别指示上楼和下楼请求。当按下后,对应按钮灯亮。如果电梯已经到达该楼层,按钮灯熄灭。4、电梯的外部面板会显示电梯当前所在的楼层,及上行还是下行(暂停显示刚才运行时的状态).当电梯在运行时,对应的楼层灯间固定显示一段时间进入下一楼层;在暂停时,灯一直在该楼层保持亮的状态。5、电梯调度方案:电梯向一个方向运行时,只对本方向前方的请求进行应答,直到本方向前方无请求时,才对反方向的请求进行应答。当前内部控制面板上有的请求,,电梯转入等待。 电梯模型:(如下附图)每个楼层对应两个状态触发器,同时控制两个LED显示向上向下请求.(5)CALL:电梯各个楼层的召唤面板,用户通过它发出向上向下的请求;(6)DESTINATION:电梯目的地指定命令面板,用户通过它申请要去的楼层;(7)CONTRAL:电梯的集中控制器。 2、电梯控制基本结构图:CONTROLRCRBFLOORRDLEDLEDCALLDESTINATIONNLEDLED3、电梯工作过程的具体描述:a)、当电梯开始启动的时候,将当前所处的楼层置为第一层,电梯为暂停状态,方向向上,)、等待过程当中(FLOOR保持在该楼层),首先检测RC和RD,判断当前楼层(第i层)以上的楼层是否发出召唤或者已经有人已经发请求,若有则向上运行;否则以同样的方法判断是否向下运行;若不向下运行则重复等待状态. )、若已经判明要向上运行,则首先使RB中的运行/暂停触发器置为运行,且标志向上运行,控制LED在该楼层亮T1时间后将所在楼层加1,这时新的当前楼层(第i+1层)灯亮起,接着电梯检索RC和RD,判断当前楼层是否发出向上召唤或者已经有人已经发出目的地为第i+1层的请求,若有则在第i+1层停靠;否则检索RC和RD,判断第i+1层以上的楼层是否发出召唤或者已经有人已经发出目的地为第i+1层以上的请求,若有则向上运行;否则(必定是有第i+1层向下的请求)在第i++1层停靠,就使灯闪烁,,撤销所在楼层的召唤请求和目的地任务,接受用户的目的地请求,:<a>、只要不是当前暂停在的楼层的用户发出的召唤命令都存入RD,以供控制器检索和判断. <b>、只要不是当前暂停在的楼层的用户发出的目的地请求都存入RC,供运行过程当中控制器的检索和判断。 BACK************************************************************4、电梯控制流程图: BACK********************************************************* 5、系统控制器ASM图: BACK************************************************************4)、硬件实现;为了更好地实现电梯的功能我们将其划分为数据处理单元和控制单元。控制器通过control模块实现它统一向其它各个模块发出控制信号,并且接收condition和counter模块的反馈信号,使得个子运算按照算法设计中的顺序有序的进行,在S0~S14的状态之间进行合理的跳转,从而完成电梯的各项逻辑功能。 下面分别简述使用verilog语言实现的各个模块的功能及其接口。(1)、destination:该模块是为了描述电梯内的目的请求的记录和撤销。input: set_dest:当按下对应楼层的目的地请求且当前电梯来停在cur_floor时,便可以记录这个请求。 rst:在电梯进入初始状态时,撤销记录中的目的地请求。 ce:在电梯进入暂停在cur_floor状态时ce=1;控制撤销cur_floor的目的地请求,并不记录在当前状态下该楼层的目的地请求。 cur_Floor:当前楼层作为判断的条件。output: get_dest:通过输出LED显示当前未完成的目的地请求。源代码如下:moduledestination(set_dest,rst,ce,cur_Floor,get_dest); input[6:0]set_dest; input[2:0]cur_Floor; inputrst,ce; output[6:0]get_dest; reg[6:0]get_dest; always@(rstorceorset_dest[0]orcur_Floor) begin if(rst==1) get_dest[0]=0; else begin if(set_dest[0]==0) begin if(ce==0||cur_Floor!=1) get_dest[0]=1; 电梯不在1楼,目的地为1 else get_dest[0]=0; 电梯在1楼目的地不显示 end else begin if(ce==1&&cur_Floor==1) get_dest[0]=0; end end end always@(rstorceorset_dest[1]orcur_Floor) begin if(rst==1)初始化 get_dest[1]=0; elseif(set_dest[1]==0) 没有请求 begin if(ce==0||cur_Floor!=2) get_dest[1]=1; else get_dest[1]=0; end else begin if(ce==1&&cur_Floor==2) get_dest[1]=0; end end always@(rstorceorset_dest[2]orcur_Floor) begin