3 基于FPGA 的自动门主控制电路
用 VHDL 进行电子系统设计的优点是从上而下的设计方法,设计者不用考虑实际工艺,可以全心在思路设计上,这样更有利于系统的简单和实际应用。
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 技术将在自动控制中应用会越来越广泛。