使用Verilog實現FPGA雙列電梯控制系統

2021-07-30 14:16:46 字數 2265 閱讀 6711

1)

每層電梯設有請求開關,電梯可響應按鍵操作,到達指定樓層;

2)當有請求時,該樓層的指示燈亮;

3)電梯執行時,各樓層有執行模式指示,顯示目前電梯是上公升或下降。

4)各樓層均有電梯樓層顯示,告知等待者電梯當前處於哪一層樓;

5)響應動作完成後,即電梯到達該樓層後該樓層的指示燈滅,完成一次響應操作。

6)可以通過相關顯示模組提示公升降資訊。

根據系統設計要求,並考慮到系統的可檢驗性,結合實際情況,雙列電梯控制的相對於單列電梯控制的主要區別也是設計難點在於兩列電梯的相互配合,在多個請求觸發的情況下能夠盡可能快的完成響應,減少乘客等待時間。針對這一設計需求,對雙列電梯做了主從電梯區分,融合優先順序響應控制的方法,完成電梯的自主判斷。

改電源電路是給按鍵電路供電電路,輸出為3

圖1 電源電路

根據設計需要,本設計硬體電路一共包含

16個外接按鍵,分別是一棟八層的電梯內建樓層選擇按鍵

key[108...101];

二棟八層的電梯內建樓層選擇按鍵

key[208...201];

通過上拉電阻接入

3.3v

電壓,晶元引腳檢測到按鍵低電平有效。設計原理圖如圖2。

根據設計需要,本設計硬體電路一共包含

20個外接

led燈,分別是一棟八層的電梯外部樓層響應指示燈

led[1_8...1_1];

二棟八層的電梯外部樓層響應指示燈

led[2_8...2_1];

電梯上行指示燈兩個,和電梯下行指示燈兩個。通過查閱

ep2c8q208c8n

開發板晶元手冊,晶元引腳輸出電壓達到

3.3v

,輸出電流為

20ma,

所以可以直接給

led高電平來點亮

led。設計原理圖如圖3。

2 按鍵電路

圖3 指示燈電路

圖4 硬體實物圖

軟體設計分析

1. 按鍵掃瞄,當有鍵按下時,先判斷主電梯繁忙標誌位,從而選擇電梯工作。

2. 判斷上公升、下降標誌位,根據情況控制流水燈移位方向,指示燈亮滅,及數碼管顯示樓層。

3. 當目標樓層等於當前樓層時,標誌位都清零,流水燈停止移位,開始閃爍,指示燈全滅,數碼管顯示當前樓層。

圖5 程式流程圖

@param(in)

:rst

(復位訊號)

,clock

(基礎時鐘訊號)

,key

(按鍵訊號輸入);

@param(out)

:dig

(段選訊號)

,sel

(位選訊號)

,led1

(一棟指示燈)

,led2

(二棟指示燈)

,buzzer

(蜂鳴器輸出訊號);

sign_up

(一棟電梯上行訊號)

,sign_down

(一棟電梯下行訊號)

,sign_up2

(一棟電梯上行訊號)

,sign_down2

(一棟電梯下行訊號);

此雙列電梯能根據電梯運作情況來選擇電梯響應,有流水燈顯示、指示燈顯示及數碼管顯示來標明電梯工作情況,兩列電梯共用一套按鍵,節省硬體,更加智慧型。

不足之處:

1.未能實現電梯運作工程中對同一方向需求的按鍵判斷;

2.兩電梯都空閒時,未能根據時間最短原則選擇電梯響應請求。

圖6 實際執行圖

使用Verilog實現FPGA計數器功能

編寫veriloghdl 程式,實現如下功能 利用開發板上的數碼顯示解碼器設計乙個十進位制計數器,要求該計數器具有以下功能 1.計數範圍為 0 20 計算到 20時自動清零,計數間隔時間為1s 2.具有按鍵非同步 同步清零功能 1.用乙個時鐘脈衝,分出兩個頻率,乙個為計數頻率,乙個為掃瞄頻率。2.利...

使用Verilog實現FPGA計數器功能

編寫veriloghdl 程式,實現如下功能 利用開發板上的數碼顯示解碼器設計乙個十進位制計數器,要求該計數器具有以下功能 1.計數範圍為 0 20 計算到 20時自動清零,計數間隔時間為1s 2.具有按鍵非同步 同步清零功能 1.用乙個時鐘脈衝,分出兩個頻率,乙個為計數頻率,乙個為掃瞄頻率。2.利...

FPGA中用verilog分頻實現方法

分頻器是fpga設計中使用頻率非常高的基本設計之一,儘管在目前大部分設計中,廣泛使用晶元廠家整合的鎖相環資源,如altera 的pll,xilinx的dll.來進行時鐘的分頻,倍頻以及相移。但是對於時鐘要求不高的基本設計,通過語言進行時鐘的分頻相移仍然非常流行,首先這種方法可以節省晶元內部的鎖相環資...