基于FPGA的電梯控制器系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第1頁
基于FPGA的電梯控制器系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第2頁
基于FPGA的電梯控制器系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第3頁
基于FPGA的電梯控制器系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第4頁
基于FPGA的電梯控制器系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于FPGA的電梯控制器系統(tǒng)設(shè)計(jì)-設(shè)計(jì)應(yīng)用摘要:本文首先提出了一種基于有限狀態(tài)機(jī)的電梯控制器算法,然后根據(jù)該算法設(shè)計(jì)了一個三層電梯控制器,該電梯控制器的正確性經(jīng)過了仿真驗(yàn)證和硬件平臺的驗(yàn)證。本文的電梯控制器設(shè)計(jì),結(jié)合了深圳信息職業(yè)技術(shù)學(xué)院的實(shí)際電梯的運(yùn)行情況,易于學(xué)生理解和接受,對于工學(xué)結(jié)合的教學(xué)改革,是一個非常好的實(shí)踐項(xiàng)目。另外,本文提出的電梯控制器算法適合于任意樓層,具有很強(qiáng)的適應(yīng)性和實(shí)用性。

電子設(shè)計(jì)自動化技術(shù)是19世紀(jì)末21世紀(jì)初新興的技術(shù),其在數(shù)字電路設(shè)計(jì)和日常的控制系統(tǒng)中已經(jīng)體現(xiàn)了強(qiáng)大的功能和優(yōu)勢。隨著EDA技術(shù)的高速發(fā)展,電子系統(tǒng)設(shè)計(jì)技術(shù)和工具發(fā)生了深刻的變化,大規(guī)模可編程邏輯器件FPGA的出現(xiàn),給設(shè)計(jì)人員帶來了諸多的方便。HDL(硬件描述語言)是隨著可編程邏輯器件(PLD)發(fā)展起來的,主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,是電子設(shè)計(jì)自動化(EDA)的關(guān)鍵技術(shù)之一。它通常采用一種自上而下的設(shè)計(jì)方法,即從系統(tǒng)總體要求出發(fā)進(jìn)行設(shè)計(jì)。

目前從期刊雜志中看到一些采用FPGA實(shí)現(xiàn)電梯控制系統(tǒng)的設(shè)計(jì)文章,在這些文章中看不到針對任意樓層的控制器算法,而針對任意層數(shù)的控制器算法是保證控制器實(shí)用性和適用性的關(guān)鍵。因此,本文嘗試采用EDA技術(shù)來設(shè)計(jì)一個N層電梯控制系統(tǒng),具體思路是:首先給出電梯控制器的算法,然后在硬件平臺上實(shí)現(xiàn)并驗(yàn)證。

1電梯控制系統(tǒng)要求

電梯控制系統(tǒng)通常包含圖1中的功能:電梯升、降、停;電梯門開、關(guān);請求信號顯示、樓層顯示;超載、故障報(bào)警。其中超載、故障報(bào)警需要用到傳感器,該控制相對比較簡單,因此本文不再展開討論。

本文著重討論涉及其他功能的控制器算法。

針對深圳信息職業(yè)技術(shù)學(xué)院教學(xué)樓的電梯,其電梯控制器實(shí)現(xiàn)了以下功能:

(1)電梯內(nèi)部每層均有相應(yīng)的stop按鈕;電梯外部除頂層外每層都有up按鈕,除底層外每層都有down按鈕;up按鈕被按下表示該層有人要去高層,down按鈕被按下表示該層有人要去低層,stop按鈕被按下表示該層有人要出電梯。對于stop、up、down按鈕,當(dāng)被按下后,相應(yīng)的指示燈亮,直到該請求被滿足后,指示燈才滅;

(2)電梯運(yùn)行過程中,上升、下降、停止時相應(yīng)的指示燈要亮,樓層隨時顯示;

(3)電梯上升過程中,首先滿足向上的需求,對于低層或者向下的需求,在電梯上升過程中會記錄該需求,然后在電梯向上需求全部滿足后電梯再次下降的過程中給予滿足;

(4)電梯下降過程中,首先滿足向下的需求,對于高層或者向上的需求,在電梯下降過程中會記錄該需求,然后在電梯向下需求全部滿足后電梯再次上升的過程中給予滿足。

本文設(shè)計(jì)的電梯控制器,其基本要求就是滿足上述實(shí)際運(yùn)行電梯的要求。

2電梯控制系統(tǒng)實(shí)現(xiàn)

2.1整體方案設(shè)計(jì)

整體設(shè)計(jì)由四個模塊組成,各模塊功能具體描述如下:

a.分頻器模塊:該模塊實(shí)現(xiàn)了任意時鐘頻率輸入,任意頻率輸出的功能,輸出頻率精度為1Hz;模塊輸入為系統(tǒng)工作時鐘clk,系統(tǒng)復(fù)位信號rst,輸出為分頻時鐘。模塊定義如下:

modulefreq_div(reset,clk,keyclk,liftclk);

模塊中keyclk為處理按鍵時鐘,liftclk為電梯運(yùn)行控制時鐘。

b.按鍵請求模塊:該模塊實(shí)現(xiàn)了記錄并處理各樓層的up、down和stop按鈕被按下的情況,模塊端口如下:

modulekey_req(

reset,keyclk,

stop,//電梯間內(nèi)部各層按鈕,每1位代表1層,當(dāng)相應(yīng)位置1時表示指示該層的按鈕被按下;

up,//各樓層up按鈕(頂層無),每1位代表1層,當(dāng)相應(yīng)位置1時表示該層up按鈕被按下

down,//各樓層down按鈕(底層無),每1位代表1層,當(dāng)相應(yīng)位置1時表示該層down按鈕被按下;

stop_r,//電梯內(nèi)各層按鍵信息

up_r,//電梯外各層向上按鍵信息

down_r//電梯外各層向下按鍵信息

);

c.電梯控制器模塊和指示模塊:該模塊根據(jù)各層按鈕被按下的情況,控制電梯運(yùn)行,并設(shè)置指示燈。模塊定義如下:

moduleLift_control(

keyclk,//處理按鍵時鐘

liftclk,//電梯運(yùn)行控制時鐘

reset,//電梯復(fù)位按鈕,復(fù)位后電梯停在一樓;

stop_r,//電梯內(nèi)各層按鍵信息

up_r,//電梯外各層向上按鍵信息

down_r,//電梯外各層向下按鍵信息

position,//當(dāng)前樓層位置,每1位代表1層,當(dāng)相應(yīng)的位置1時表示電梯運(yùn)行至該層;

stoplight,//內(nèi)部各層按鈕指示燈,每1位代表1層,當(dāng)相應(yīng)位置1時表示指示該層指示燈亮;

uplight,//除頂層外各層外部按鈕指示燈,每1位代表1層,當(dāng)相應(yīng)位置1時表示該層up燈亮;

downlight,//除首層外各層外部按鈕指示燈,每1位代表1層,當(dāng)相應(yīng)的位置1時表示該層的down指示燈亮;

doorlight);//用于開門指示燈,為1表示開門,為0表示關(guān)門

d.顯示模塊:該模塊用于譯碼顯示當(dāng)前電梯所在樓層,模塊定義如下:

moduleDisplay(liftclk,position,disp);

2.2模塊設(shè)計(jì)與實(shí)現(xiàn)

對于分頻器模塊、按鍵請求模塊、電梯控制器模塊和指示模塊和顯示模塊這四個模塊,電梯控制器模塊和指示模塊涉及到電梯各種運(yùn)行情況的處理,其算法是復(fù)雜的,也是容易出錯的。本文采用使用有限狀態(tài)機(jī)來設(shè)計(jì)該模塊,具體的算法描述如下。

將電梯運(yùn)行定義為7個狀態(tài),具體的狀態(tài)定義如下:

S0:onfloor1,表示在樓層1;

S1:dooropen_up,上升過程中,電梯開門5s;

S2:doorclose_up,上升過程中,電梯關(guān)門;

S3:up_lift,表示電梯上升一層;

S4:dooropen_down,下降過程中,電梯開門5s;

S5:doorclose_down,下降過程中,電梯關(guān)門;

S6:down_lift,表示電梯下降一層。

各狀態(tài)在滿足一定的條件下轉(zhuǎn)換,具體狀態(tài)轉(zhuǎn)換如圖2所示。

圖2電梯控制器狀態(tài)轉(zhuǎn)換圖

表1電梯控制器狀態(tài)轉(zhuǎn)換條件

上表中,pos表示當(dāng)前樓層,up[pos]、down[pos]、stop[pos]分別表示當(dāng)前樓層的向上、向下、和停止銨鈕的狀態(tài)。

顯然,上述算法并未對樓層數(shù)作限制,也就是說該算法適合于任意樓層的電梯控制器。

2.3仿真驗(yàn)證

本文根據(jù)上述算法,采用VerilogHDL語言在FPGA上實(shí)現(xiàn)了一個三層電梯控制器。對于實(shí)現(xiàn)來說,三層電梯或者多層電梯的控制器只是Verilog代碼數(shù)量的不同,其算法則完全是本文提出的算法,沒有區(qū)別。本文只所以實(shí)現(xiàn)了一個三層電梯控制器,是因?yàn)橛布_發(fā)環(huán)境的資源(包括按鈕的數(shù)量、指示燈的數(shù)量)僅滿足三層電梯控制器的驗(yàn)證。

三層電梯控制器的仿真波形如圖3所示。

圖3三層電梯控制器的仿真波形

仿真波形說明:電梯內(nèi)外按鈕,當(dāng)其值由0變?yōu)?即表示被按下。圖中,各層電梯間內(nèi)外的銨鈕被按下是隨機(jī)發(fā)生的。

由仿真波形可以看出,電梯的運(yùn)行符合設(shè)計(jì)要求。

2.4硬件驗(yàn)證

本文的設(shè)計(jì)經(jīng)引腳鎖定并到硬件開發(fā)環(huán)境中,經(jīng)測試完全正確。

具體硬件開發(fā)環(huán)境為GW48-PK2實(shí)驗(yàn)開發(fā)系統(tǒng)。

CLK選擇clk0,頻率可選擇為256Hz。

鍵1、2、3對應(yīng)電梯內(nèi)各層的按鈕;鍵4、5對應(yīng)一二樓層電梯外的向上銨鈕;鍵6、7對應(yīng)二三樓層電梯外的向下銨鈕;鍵8對應(yīng)系統(tǒng)復(fù)位鍵;燈1、2、3指示電梯內(nèi)各層的按鈕被按下;燈4、5指示一二樓層電梯外的向上銨鈕被按下;燈6、7指

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論