0 引言
隨著社會的發(fā)展,,電梯的使用越來越普遍,,對電梯功能的要求也不斷提高,其相應(yīng)控制方式也在不斷發(fā)生變化,。電梯的微機(jī)化控制主要有:PLC控制,、單板機(jī)控制、單片機(jī)控制,、單微機(jī)控制,、多微機(jī)控制和人工智能控制等。隨著專用集成電路ASIC設(shè)計技術(shù)和EDA技術(shù)的發(fā)展,,可編程邏輯器件的廣泛使用,,為數(shù)字系統(tǒng)設(shè)計帶來了革命性的變化,改變了傳統(tǒng)的電路設(shè)計中使用的芯片多,、電路復(fù)雜,、出現(xiàn)問題不易查找、不易進(jìn)行功能擴(kuò)展的缺點,。本設(shè)計使用FPGA器件作為主控制芯片,,采用Verilog-HDL語言設(shè)計一個四樓層單個載客箱的電梯控制系統(tǒng),設(shè)計采用模塊化設(shè)計,,便于修改和升級,,可稍加改進(jìn),實現(xiàn)多層電梯控制,。
1 電梯控制系統(tǒng)總體設(shè)計
1.1 設(shè)計任務(wù)及要求
設(shè)計一個四層電梯控制系統(tǒng),,要求如下:
(1)各層電梯內(nèi)部信號:各樓層請求按鍵、開關(guān)門請求按鍵,,所在樓層顯示,,電梯運行狀態(tài)顯示。外部信號:上升下降請求按鍵,,所在樓層顯示,,電梯運行狀態(tài)顯示。
(2)能夠存儲請求信號,,電梯上升(下降)過程中,,根據(jù)電梯的運行狀態(tài),首先按方向優(yōu)先,、循環(huán)次序響應(yīng)各請求,。
(3)到達(dá)請求樓層后,該層的指示燈亮,,電梯門自動打開,,開門指示燈亮。延時等待時間后,,電梯門自動關(guān)閉(開門指示燈滅),,電梯繼續(xù)運行,。電梯空閑時,停在0層,。
(4)具有超載報警功能,。
1.2 電梯控制系統(tǒng)硬件結(jié)構(gòu)
電梯控制系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
如圖1所示,,該系統(tǒng)主要由FPGA控制器,、各輸入信號模塊、輸出驅(qū)動模塊組成,。FPGA控制模塊的輸入信號有:電梯內(nèi)外請求信號,、樓層到達(dá)信號,、重啟超載報警等信號,;其輸出信號分別驅(qū)動顯示電路、電梯開關(guān)門電路,、電機(jī)驅(qū)動電路,、以及其他如報警電路等。FPGA控制模塊是本設(shè)計的核心,。
2 FPGA控制器的設(shè)計與實現(xiàn)
本設(shè)計的開發(fā)軟件使用Altera公司的QuartusⅡ集成開發(fā)環(huán)境,,采用自上而下的設(shè)計方法,模塊設(shè)計與Verilog-HDL描述相結(jié)合的輸入方式,,便于程序的維護(hù)與升級,。FPGA控制器整體設(shè)計如圖2所示。
如圖2所示,,F(xiàn)PGA控制編程主要由六個模塊組成:按鍵請求模塊,、狀態(tài)控制模塊、電機(jī)驅(qū)動模塊,、顯示及報警模塊,、開關(guān)門控模塊、分頻模塊,。各模塊的信號及功能如下:
模塊1:按鍵請求模塊
該模塊的接口信號如表1所示,,模塊功能如下:
(1)利用鎖存器對輸入的請求信號進(jìn)行存儲,當(dāng)請求滿足后清0,。為了數(shù)據(jù)表示方便,,本設(shè)計的后綴0~3分別表示1~4層。
(2)根據(jù)電梯的運行狀態(tài),,按照方向優(yōu)先,、循環(huán)執(zhí)行的原則,在請求信號中提取電梯下一站的樓層信號并輸出,。如目前樓層為2層,,狀態(tài)為升,,那么判斷優(yōu)先級為:p2/up2→p3/down3→down2→downl→p0/up0。
(3)當(dāng)無請求信號時,,下一站樓層為0,。
模塊2:狀態(tài)控制模塊
本模塊是系統(tǒng)設(shè)計的核心控制模塊。本文把電梯運行劃分為4個狀態(tài),,分別為:上升,、下降、停止,、空閑,。控制系統(tǒng)的狀態(tài)轉(zhuǎn)換圖如圖3所示,。
系統(tǒng)重啟時(res=1),,進(jìn)入空閑狀態(tài)(Idle),空閑狀態(tài)下,,輸出信號posit=up=down=open=0,,當(dāng)輸入信號goto為0時,保持空閑狀態(tài),;當(dāng)goto信號不為0時,,進(jìn)入上升狀態(tài)(Stop)。當(dāng)?shù)谝粚由仙盘栍|發(fā)時,,進(jìn)入停止?fàn)顟B(tài),。停止?fàn)顟B(tài)下,open信號上升沿觸發(fā)電梯開門,;up=down =0,,posit=goto。在電梯開門延時期間(dooropen=1),,保持停止?fàn)顟B(tài),;當(dāng)電梯門關(guān)上時(dooropen=0),判斷下一站樓層,,若大于目前樓層,,進(jìn)入上升狀態(tài),若小于目前樓層,,進(jìn)入下降狀態(tài),。上升狀態(tài)下,up=1,,updown=01,,posit=goto,觸發(fā)電機(jī)控制模塊拖拽電機(jī)上升,。樓層達(dá)到信號,,使系統(tǒng)進(jìn)入停止?fàn)顟B(tài),。下降狀態(tài)同理。本模塊接口信號如表2所示,。
模塊3:電機(jī)控制模塊
本模塊輸入信號有:上升觸發(fā)信號(up),、下降觸發(fā)信號(down)、所在樓層(posit)以及下一站樓層(goto),,輸出信號:4個位不同相位的電機(jī)驅(qū)動信號,。模塊由升降信號觸發(fā),經(jīng)電機(jī)狀態(tài)控制器,,產(chǎn)生4個相位的電機(jī)驅(qū)動信號P[3:0],,輸出至電機(jī)驅(qū)動電路,其頻率決定電機(jī)轉(zhuǎn)動,,其相位決定電機(jī)的轉(zhuǎn)動方向,。P[3:0]的各頻率信號由分頻器模塊提供。
模塊4:顯示模塊
本模塊功能用于電梯所在樓層(posit),、電梯運行狀態(tài)(updown)的七段碼顯示或LED顯示,。以及超載信號(over)的報警和顯示。
模塊5:門控模塊
本模塊用來控制電梯門狀態(tài),,由輸入門控信號open信號觸發(fā)開門(doorstat=1),經(jīng)過延時,,電梯門自動閉合(doorstat=0),。所超載(over=1),則電梯門不合,,電梯保持開門狀態(tài),,直到超載信號清除。
模塊6:分頻模塊
分頻模塊用來對系統(tǒng)時鐘信號分頻,,產(chǎn)生向電機(jī)控制模塊提供的各頻率信號,。
3 仿真驗證
本設(shè)計頂層采用模塊化設(shè)計,各模塊采用VerilogHDL硬件描述語言,。自頂向下的設(shè)計方式,,便于程序查錯、升級,、改進(jìn),,本設(shè)計稍加修改,即可實現(xiàn)任意樓層電梯控制,。對所設(shè)計程序進(jìn)行分析,、編譯、綜合,、布線后產(chǎn)生的電路進(jìn)行功能仿真和時序仿真,,均可獲得符合設(shè)計要求的邏輯值,。時序仿真波形如圖4所示。
由圖4可以看出:控制器始終能有效存儲各樓層請求信號,,能按照方向優(yōu)先,、循環(huán)次序執(zhí)行各樓層請求。各信號狀態(tài)符合設(shè)計要求,。信號延時為10ns級,,在允許范圍內(nèi)。
本設(shè)計硬件實現(xiàn)采用康芯KX_7CH最小系統(tǒng)版,。程序經(jīng)引腳鎖定并編程下載到器件,,經(jīng)測試,邏輯完全正確,,達(dá)到設(shè)計要求,。
4 結(jié)論
基于FPGA的數(shù)字電路設(shè)計方式在可靠性、體積,、成本上的優(yōu)勢是巨大的,,它已經(jīng)成為實現(xiàn)數(shù)字電路的主要手段之一。本文設(shè)計的四層電梯控制器,,稍加改進(jìn)即適合于任意樓層,,靈活性強(qiáng),運行可靠,,具有很強(qiáng)的適應(yīng)性和實用性,。
作者:孫艷敏 龐學(xué)民 岳彩青 黨志軍 來源:現(xiàn)代電子技術(shù)