根據系統設計要求,并考慮到系統的可驗證性,整個系統的輸入輸出接口設計如圖1所示:系統工作用2 Hz基準時鐘信號CLKIN,樓層上升請求鍵UPIN,樓層下降請求鍵DOWNIN,樓層選擇鍵入鍵ST_CH,提前關門輸入鍵CLOSE,延遲關門輸入鍵DELAY,電梯運行的開關鍵RUN_STOP,電梯運行或停止指示鍵LAMP,電梯運行或等待時間指示鍵RUN_WAIT,電梯所在樓層指示數碼管ST_OUT,樓層選擇指示數碼管DIRECT。

如圖1 電梯控制器DTKZQ的輸入輸出接口圖
電梯的控制狀態(tài)包括運行狀態(tài)、停止狀態(tài)及等待狀態(tài),其中運行狀態(tài)又包含向上狀態(tài)和向下狀態(tài)。主要動作有開、關門,停靠和啟動。乘客可通過鍵入開、關門按鈕,呼喚按鈕,指定樓層按鈕等來控制電梯的行與停。
據此,整個電梯控制器DTKZQ應包括如下幾個組成部分:①時序輸出及樓選計數器;②靶梯服務請求處理器;③電梯升降控制器;④上升及下降寄存器;⑤電梯次態(tài)生成器。該電梯控制器設計的關鍵是確定上升及下降寄存器的置位與復位。整個系統的內部組成結構圖如圖2所示。

如圖2 電梯控制器的內部組成結構圖
由上面的內部組成結構圖可知,系統中的模塊較少,因此我們可采用多進程的方式進行VHDL程序設計。程序中主要進程有四個(見后述的DTKZQ.VHD):分頻及樓選信號產生進程P1,樓層請求寄存器的置位與復位進程P2,電梯運行的次態(tài)控制進程P3,電梯運行樓層計數及提前/延遲關門控制進程M。其中P3是最重要的一個進程,合理判斷電梯的運行次態(tài)是完成本設計的關鍵。
Pl進程將CLKIN 2分頻,產生1 Hz的時鐘信號驅動M進程。Pl進程同時對DIR加1計數,從“0000”計到“1111”。
P2進程通過樓層選擇指示變量DIR、電梯所在樓層變量LIFTOR和輸入信號UPIN,DOWNIN、ST_CH來判斷UR、DR的置位。
P3進程根據UR/DR的寄存器狀態(tài)和電梯所在樓層變量LIFTOR,當WAI_T=110時,給出電梯的下一個狀態(tài)。LADD為電梯的下一狀態(tài)的指示變量,“11”表示上升,“10”表示下降,“01”或“00”表示等待狀態(tài)。
P4進程由DIVID信號驅動,它響應CLOSEX,DELAYX信號,完成提前關門和延時關門請求,并根據LADD的狀態(tài)對LIFTOR變量做相應的增減。LIFTOR加1產生ST_OUT輸出信號,LADD(1)則直接輸出給LAMP變量。
來源:ks990次





