自動門控制系統(tǒng)設(shè)計
用 VHDL 進行電子系統(tǒng)設(shè)計的優(yōu)點是從上而下的設(shè)計方法,設(shè)計者不用考慮實際工藝,可以全心在思路設(shè)計上,這樣更有利于系統(tǒng)的簡單和實際應(yīng)用。
3.1 設(shè)計思路
首先畫出自動門控制器的狀態(tài)圖。分析自動門的運行過程可知:門開始處于閉合狀態(tài),有開信號則開門,開關(guān)門過程中如遇到阻力則暫停一段時間,然后自動繼續(xù)原來的開關(guān)門動作。門在運行過程中遇到停信號以及起始位置(門關(guān)時)則停,遇到底(門全開時)位置信號則暫停一段時間,然后自動執(zhí)行關(guān)門動作。假設(shè)x1、x2、x3 分別表示開、關(guān)、??刂菩盘枺粁4 表示門在運行過程中遇到障礙時傳感器發(fā)出的信號;x5 表示門完全閉合;x6 表示門完全打開。COUT 為控制器內(nèi)部的定計時控制信號(這里假定三個暫停狀態(tài)的暫停時間一樣)。
s0 表示電動門處于零位置時的狀態(tài),此時電動門處于關(guān)閉的位置;s1 表示電動門開的狀態(tài)、電機正轉(zhuǎn)的情況;s2 表示電動門關(guān)的狀態(tài)、電機反轉(zhuǎn)的情況;s3 表示電動門停止時的狀態(tài),此時要求電機停止轉(zhuǎn)動;s4 表示電動門處于底位置時的狀態(tài),此時電動門處于開的臨界位置;s5 表示在反轉(zhuǎn)過程中電動門在遇到障礙時的暫停狀態(tài);s6 表示在正轉(zhuǎn)過程中電動門在遇到障礙時的暫停狀態(tài)。Z1、Z2、Z3 分別表示控制器發(fā)給電機控制電路的開、關(guān)、??刂菩盘枴?/p>
3.2 自動門控制器的VHDL 語言設(shè)計
(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;--開關(guān)量;
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_states1;
………………
ELSE next_states0;
………………
END IF;
4 結(jié)束語
本文中介紹的自動控制系統(tǒng)采用了先進的EDA 技術(shù),從上而下的設(shè)計方法,與工藝無關(guān)的設(shè)計思路,使設(shè)計者在設(shè)計中更多的考慮系統(tǒng)的實現(xiàn),更好的簡化系統(tǒng),同時大大縮短了系統(tǒng)的設(shè)計完成時間。EDA 技術(shù)將在自動控制中應(yīng)用會越來越廣泛。
評論