新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA的自动门控制设计

基于FPGA的自动门控制设计

作者:时间:2013-04-26来源:网络收藏

3.1 设计思路

首先画出控制器的状态图。分析的运行过程可知:门开始处于闭合状态,有开信号则开门,开关门过程中如遇到阻力则暂停一段时间,然后自动继续原来的开关门动作。门在运行过程中遇到停信号以及起始位置(门关时)则停,遇到底(门全开时)位置信号则暂停一段时间,然后自动执行关门动作。假设x1、x2、x3 分别表示开、关、停控制信号;x4 表示门在运行过程中遇到障碍时传感器发出的信号;x5 表示门完全闭合;x6 表示门完全打开。COUT 为控制器内部的定计时控制信号(这里假定三个暂停状态的暂停时间一样)。

s0 表示电动门处于零位置时的状态,此时电动门处于关闭的位置;

s1 表示电动门开的状态、电机正转的情况;

s2 表示电动门关的状态、电机反转的情况;

s3 表示电动门停止时的状态,此时要求电机停止转动;

s4 表示电动门处于底位置时的状态,此时电动门处于开的临界位置;

s5 表示在反转过程中电动门在遇到障碍时的暂停状态;

s6 表示在正转过程中电动门在遇到障碍时的暂停状态。Z1、Z2、Z3 分别表示控制器发给电机控制电路的开、关、停控制信号。

3.2 控制器的VHDL 语言设计

(1) VHDL 的实体描述:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY door IS
PORT(
Clk,reset: IN STD_LOGIC;--时钟和复位信号;
X1,x2,x3,x4,x5,x6:OUT STD_LOGIC;--开关量;
Outputs:OUT_LOGIC_VECTOR(1 TO 3);
Ten:OUT STD_LOGIC);
END door;

(2) 主控组合进程部分程序
PROCESS(current_state,x1,x2,x3,x4,x5,x6)
BEGIN
CASE current_state IS
WHEN so=》comb_output《=’001’;
en《=’0’;
IF x1=’1’ THEN next_state《s1;
………………
ELSE next_state《s0;
………………
END IF;
4 结束语

本文中介绍的自动控制系统采用了先进的EDA 技术,从上而下的设计方法,与工艺无关的设计思路,使设计者在设计中更多的考虑系统的实现,更好的简化系统,同时大大缩短了系统的设计完成时间。EDA 技术将在自动控制中应用会越来越广泛。

万能遥控器相关文章:万能遥控器代码


fpga相关文章:fpga是什么



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭