VHDL语言实现电梯升降系统课程设计

上传人:飞*** 文档编号:24846521 上传时间:2017-12-07 格式:DOCX 页数:30 大小:234.84KB
返回 下载 相关 举报
VHDL语言实现电梯升降系统课程设计_第1页
第1页 / 共30页
VHDL语言实现电梯升降系统课程设计_第2页
第2页 / 共30页
VHDL语言实现电梯升降系统课程设计_第3页
第3页 / 共30页
VHDL语言实现电梯升降系统课程设计_第4页
第4页 / 共30页
VHDL语言实现电梯升降系统课程设计_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《VHDL语言实现电梯升降系统课程设计》由会员分享,可在线阅读,更多相关《VHDL语言实现电梯升降系统课程设计(30页珍藏版)》请在金锄头文库上搜索。

1、1数字系统设计报告VHDL 语言实现电梯升降系统 指导老师:徐向民 2学 院 电子与信息学院 班 别 13 级信息工程 2 班 学生姓名 袁雪姣 曾梓琪 邱昱目录目录2一 实验目的3二 实验要求32.1 性能需求级分析32.2 扩展功能需求分析3三 总体设计方案43.1 电梯升降系统的功能模块43.2 中央处理模块设计思路4四 电梯升降系统各功能模块实现64.1 电梯升降控制系统64.2 按键延时去抖模块 test_keyshake634.3 数码管显示模块 nixie_light64.4 分频器模块 clkdiv74.5 中央控制模块 lift_system_center7五 电梯升降系统的

2、代码实现及仿真分析95.1 按键延时去抖模块 test_keyshake95.1.1 代码95.1.2 仿真结果105.2 数码管显示模块 nixie_light105.2.1 代码105.2.2 仿真结果115.3 分频器模块 clkdiv125.3.1 代码125.3.2 仿真结果125.4 中央控制模块 lift_system_center135.4.1 代码135.4.2 仿真结果205.4.3 仿真结果分析21六 模块组合图22 七 感想23 一、实验目的4在现代化建筑中,电梯是不可或缺的装置,电梯的效率和服务质量是在很大程度上影响建筑能否有效利用的重要因素。高性能的电梯控制系统将节

3、省资源,提高效益。因而,利用现有技术提高电梯自动化控制系统的效率具有一定研究价值。如何实现建筑内电梯以最短时间响应各楼层用户的需求,并研究如何达到时间分配最合理的运行模式,是我们这次设计的目的。2、实验要求2.1 性能级需求分析1)总共 4 层楼,每层设有上下请求开关,电梯内设有楼层请求开关,另外还设有电梯复位开关,电梯报警开关。2)设有每层楼上下楼请求状态指示灯,电梯内楼层请求状态指示灯,电梯运行状态显示,电梯所在楼层显示,开关门状态指示灯。3)电梯每秒钟上升(下降)一层楼4)运行规则:当电梯处于上升模式时,只响应比当前位置高的楼层的上楼请求信号,直至所有上楼请求执行完毕后。若高层有下楼请求

4、,则上升至有下楼请求的最高层,然后进入下降模式。当电梯处于下降模式时,运行规则相反。5)电梯到达目标楼层后,经过 1 秒电梯门开,开门 3 秒后电梯门关,再经过 1秒电梯继续运行。直到执行完最后一个请求信号后,停在当前楼层。6)电梯初始状态为停止在 1 楼,门关,请求信号灯全灭。2.2 拓展功能需求分析1)报警功能:当有报警信号时,电梯停止在当前楼层,门常开,请求信号全部无效;直至报警信号解除后,门关,电梯停止在当前楼层,等待新的楼层请求。53、总体设计方案3.1 电梯升降系统的功能模块如图 3.1 所示,包括信号处理器,分频器,中央处理模块,数码管显示模块等。用户选择所要到达的楼层,发出请求

5、信号,与通过分频器处理的时钟信号由中央处理模块处理,电梯开始运行,数码管显示模块显示电梯的运行状态,楼层数通过译码器显示出楼层数字,同时中央处理模块给出开关门状态,请求信号状态信息。其中中央处理模块是重点模块。图 3.13.2 中央处理模块设计思路将电梯设置为上升(up) 、下降(down) 、空闲(stop) 、报警(alarm)四中央处理模块分频器信号处理器(延时去抖)数码管显示模块请求信号系统时钟楼层显示请求信号状态开关门状态楼层显示6个运行状态,开关门状态由开门倒计时(open_time)控制,其中“0”为关门状态, “-1”为常开(报警)状态。电梯的运行状态、楼层位置、开关门状态均由

6、时长 1 秒的分频时钟控制。电梯的楼层请求,指示灯的状态显示均为即时响应,不受分频时钟控制,仅受楼层位置、电梯状态及各输入状态的变化控制。电梯控制流程如图 3.2 所示。图 3.27运行状态流程如图 3.3 所示。图 3.34、电梯升降系统各功能模块实现4.1 电梯升降控制系统此电梯升降系统共有 4 个模块分别设计仿真,各模块如下:1.按键延时去抖模块 test_keyshake2.数码管显示模块 nixie_light3.分频器模块 clkdiv4.中央控制模块 lift_system_center4.2 按键延时去抖模块 test_keyshake8图 4.1输入端口 功能clk 时钟信号

7、key 按键信号reset 复位信号输出端口 功能key_en 按键延时去抖输出信号,输入到中央控制模块表 4.14.3 数码管显示模块 nixie_light图 4.29输入端口 功能floor_light1.0 电梯内的楼层灯信号lift_state1.0 电梯的状态信号输出端口 功能nixie_floor_light7.0 数码管显示楼层数字信号nixie_lift_light7.0 数码管显示楼层状态信号表 4.24.4 分频器模块 clkdiv图 4.3输入端口 功能clk 时钟信号输出端口 功能q 每 1 秒产生一次上升沿信号作为下一个模块的输入信号表 4.34.5 中央控制模块

8、lift_system_center 10图 4.4输入端口 功能clk 时钟信号reset 复位信号floor1 一楼电梯内楼层请求,1 周期正脉冲floor2 二楼电梯内楼层请求,1 周期正脉冲floor3 三楼电梯内楼层请求,1 周期正脉冲floor4 四楼电梯内楼层请求,1 周期正脉冲up1 一楼楼层上行请求,1 周期正脉冲up2 二楼楼层上行请求,1 周期正脉冲up3 三层楼层上行请求,1 周期正脉冲down2 二楼楼层下行请求,1 周期正脉冲11down3 三楼楼层下行请求,1 周期正脉冲down4 四楼楼层下行请求,1 周期正脉冲alarm_set 报警信号输出端口 功能lift

9、_state1.0 表示电梯所处的状态,其中有如下等价关系:”00”=0=stop,”01”=1=up,”10”=2=downlift_position1.0 以”00”11”, 表示电梯所处的 14 楼层floor_light3.0 3 downto 0,电梯内楼层灯up_light3.0 3 downto 0,楼层上行请求灯( 4 楼恒为0)down_light3.0 3 downto 0,楼层下行请求灯( 1 楼恒为0)open_light 开门状态灯表 4.4五、电梯升降系统的代码实现及仿真分析5.1 按键延时去抖模块 test_keyshake5.1.1 代码library ieee

10、;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;12entity test_keyshake is 延时去抖,输出对应信号的脉冲port(clk :in std_logic;key:in std_logic; -按键reset:in std_logic;key_en:out std_logic); -输出脉冲信号end entity;architecture behav of test_keyshake isbeginprocess(clk)variable count :std_logic_vector(2 downt

11、o 0); -延时计数beginif (reset=1)then key_ennixie_floor_lightnixie_floor_lightnixie_floor_lightnixie_floor_lightnixie_floor_lightnixie_lift_lightnixie_lift_lightnixie_lift_lightnixie_lift_lightnixie_lift_light 0) thenopen_time state 0001 or up_state0001 or down_state0001) thenstate 0 or up_state(0)0) the

12、nstate 0011 or up_state0011 or down_state0011) thenstate 00 or up_state(1 downto 0)00 or down_state(1 downto 0)00) thenstate 0111 or up_state0111 or down_state0111) thenstate 000 or 21up_state(2 downto 0)000 or down_state(2 downto 0)000) thenstate state 0001 or up_state0001 or down_state0001) thenst

13、ate 0 or up_state(0)0) thenstate 0011 or up_state0011 or down_state0011) thenstate 00 or up_state(1 downto 0)00 or down_state(1 downto 0)00) thenstate 0111 or up_state0111 or down_state0111) thenstate 000 or up_state(2 downto 0)000 or down_state(2 downto 0)000) thenstate state 0001 or up_state0001 or down_state0001) thenstate 0011 or up_state0011 or down_state0011) thenstate 0 or up_state(0)0) thenstate 0111 or up_state0111 or down_state0111) thenstate 00 or up_state(1 downto 0)00 or down_state(1 downto 0)00) thenstate 0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号