基于VHDL三層電梯控制器的設計
0 引言
電梯控制器是控制電梯按顧客要求自動上下的裝置。本文采用VHDL語言來設計實用三層電梯控制器,其代碼具有良好的可讀性和易理解性,源程序經A1tera公司的MAX+plus II軟件仿真,目標器件選用CPLD器件。通過對三層電梯控制器的設計,可以發現本設計有一定的擴展性,而且可以作為更多層電梯控制器實現的基礎。
1 三層電梯控制器將實現的功能
(1)每層電梯入口處設有上下請求開關,電梯內設有顧客到達層次的停站請求開關。
(2)設有電梯入口處位置指示裝置及電梯運行模式(上升或下降)指示裝置。
(3)電梯每秒升(降)一層樓。
(4)電梯到達有停站請求的樓層,經過1秒電梯門打開,開門指示燈亮,開門4秒后,電梯門關閉(開門指示燈滅),電梯繼續進行,直至執行完最后一個請求信號后停留在當前層。
(5)能記憶電梯內外所有請求,并按照電梯運行規則按順序響應,每個請求信號保留至執行后消除。
(6)電梯運行規則一當電梯處于上升模式時,只響應比電梯所在位置高的上樓請求信號,由下而上逐個執行,直到最后一個上樓請求執行完畢;如果高層有下樓請求,則直接升到由下樓請求的最高層,然后進入下降模式。當電梯處于下降模式時則與上升模式相反。
(7)電梯初始狀態為一層開門狀態。
2 設計方案和論證
2.1 控制器的設計方案
控制器的功能模塊如圖1所示,包括主控制器、分控制器、樓層選擇器、狀態顯示器、譯碼器和樓層顯示器。乘客在電梯中選擇所要到達的樓層,通過主控制器的處理,電梯開始運行,狀態顯示器顯示電梯的運行狀態,電梯所在樓層數通過譯碼器譯碼從而在樓層顯示器中顯示。分控制器把有效的請求傳給主控制器進行處理,同時顯示電梯的運行狀態和電梯所在樓層數。由于分控制器相對簡單很多,所以主控制器是核心部分。
2.2 三層電梯控制器的設計思路
電梯控制器采用狀態機來實現,思路比較清晰。可以將電梯等待的每秒鐘以及開門、關門都看成一個獨立的狀態。由于電梯又是每秒上升或下降一層,所以就可以通過一個統一的1秒為周期的時鐘來觸發狀態機。根據電梯的實際工作情況,可以把狀態機設置10個狀態,分別是“電梯停留在第1層”、“開門”、“關門”、“開門等待第1秒”、“開門等待第2秒”、“開門等待第3秒”、“開門等待第4秒”、“上升”、“下降”和“停止狀態”。各個狀態之間的轉換條件可由上面的設計要求所決定。
3 三層電梯控制器的綜合設計
3.1 三層電梯控制器的實體設計
首先考慮輸入端口,一個異步復位端口reset,用于在系統不正常時回到初始狀態;在電梯外部,必須有升降請求端口,一層是最低層,不需要有下降請求,三層是最高層,不需要有上升請求,二層則上升、下降請求端口都有;在電梯的內部,應該設有各層停留的請求端口:一個電梯時鐘輸入端口,該輸入時鐘以1秒為周期,用于驅動電梯的升降及開門關門等動作;另有一個按鍵時鐘輸入端口,時鐘頻率比電梯時鐘高。
其次是輸出端口,有升降請求信號以后,就得有一個輸出端口來指示請求是否被響應,有請求信號以后,該輸出端口輸出邏輯‘l’。被響應以后則恢復邏輯‘O’;同樣,在電梯內部也應該有這樣的輸出端口來顯示各層停留是否被響應;在電梯外部,需要一個端口來指示電梯現在所處的位置;電梯開門關門的狀態也能用一個輸出端口來指示;為了觀察電梯的運行是否正確,可以設置一個輸出端口來指示電梯的升降狀態。
評論