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