6层FPGA电梯控制器.pdfVIP

  • 38
  • 0
  • 约2.24万字
  • 约 15页
  • 2018-05-20 发布于河南
  • 举报
本文档是精心选出来的精华文档,对您的生活和学习将有所帮助!

第8 章 6 层电梯控制器 章的设计实例为6 层电梯控制。使用FPGA 可以方便高效的实现。在学习之前,读者 本 需要分析了解电梯的信号原理。 8.1 实例内容说明 本例主要实现的功能为:以FPGA 为控制芯片控制6 层电梯的升降运行状态。 本实例设计主要涉及到VHDL 语言的case 语句的使用,以及模块设计方法的运用。 8.2 设计思路与原理 1 )电梯的输入信号分析 电梯的输入信号分析主要包括外部输入信号和内部输入信息的分析。对于电梯外部输 入信号:每一层电梯门外需要有上升请求按钮和下降请求按钮,其中一楼电梯门外只有上 升请求按钮,6 楼电梯门外只有下降请求按钮。 电梯内部输入信号包括6 个前往楼层按钮、提前关门按钮、延时关门按钮、电梯异常 求救按钮(该信号本章当做告警信号),另外还有超重等告警信号输入。 2 )电梯的输出信号分析 电梯的输出信号分析也主要包括外部输出信号和内部输出信息的分析。对于电梯外部 输出信号包括上升请求按钮和下降请求按钮是否被按下指示信号灯、电梯当前所在楼层指 示信号、电梯运行方向指示信号。 电梯内部输出信号包括6 个前往楼层按钮是否被按下指示信号、是否超重等告警指示 信号、电梯当前所在楼层指示信号、以及电梯运行方向指示信号。 3 )电梯的运行规则 当电梯处于上升模式时,只响应比电梯所在位置高的上楼信号,由下至上依次执行, 直到最后一个上楼请求执行完毕,如更高层有下楼请求时,则直接升到有下降请求的最高 楼,然后进入下降模式,电梯处于下降模式时,则与上升模式相反。 FPGA 嵌入式项目开发实战 8.3 程序设计与验证 本节主要介绍程序的设计与验证。 8.3.1 创建 Quartus II 工程 打开Quartus II 开发环境,创建新工程并设置相关的信息,本实例工程名为“elevator ”, 如图8-1 所示。 图8-1 Quartus II 新工程创建对话框 单击“Finish ”按钮,完成工程创建。如果在Quartus II 的“Project Navigator ”中显示 的FPGA 芯片与实际开发板上的不同,则需要进行调整,选择“Assignments ”→“Device ” 命令,在弹出的对话框中进行选择。 8.3.2 创建 VHDL 文件 本实例分为4 个模块:时钟分频模块、按键处理模块、电梯运行控制模块、数码管显 232 FPGA 第8 章 6 层电梯控制器 示模块。 (1)时钟频模块功能为把系统时钟分出两个不同频率的时钟,一个 2Hz 时钟供电梯 运行控制模块使用,另一个8Hz 时钟供其他模块使用,读者可以根据实际情况来进行分频, 编写代码如下: LIBRARY ieee; USE ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY clkdiv IS PORT ( clk : IN STD_LOGIC; clk_2hz: out std_logic; clk_8hz: out std_logic ); END clkdiv; ARCHITECTURE behave OF clkdiv IS signal cnt:std_logic_vector(7 downto 0); BEGIN --时钟分频进程 process (clk) begin if clkevent and clk=1 then cnt = cnt + 1; clk_8hz = cnt(1); clk_2hz = cnt(4);

文档评论(0)

1亿VIP精品文档

相关文档