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