電梯控制的設計
一、實驗目的
1、 了解電梯時序電路的實現。
2、 掌握用FPGA實現電梯模型的方法。
3、 體驗FPGA的多用途性。
二、實驗原理
本實驗是用FPGA來實現一個三層樓的電梯模型,并利用點陣顯示電梯當前所在樓層。點陣顯示與七段碼顯示原理相同,也是通過掃描來顯示。下面主要講一下電梯實現過程中的幾個主要部分。
樓層到樓層之間的間隔:用計數器來實現。
開門與關門之間的間隔:用計數器來實現。
電梯向上還是向下:如果現在電梯在1樓,肯定以后向上走;如果現在在三樓,那么以后肯定向下;如果現在電梯在2樓,如果現在電梯向下開,且1樓有人按鍵,那么不管三樓有沒有人按鈕,則先到1樓;如果現在電梯向上開,且3樓有人按鈕,則不管1樓有沒有人呼叫,一直開到3樓;如果電梯現在在2樓,且處于向下開到狀態,但是1樓沒有按鈕,那么如果這個時候要是3樓有人呼叫,就向上開,反之,則向下開。
至于顯示部分,則只根據當前電梯所在的位置來確定,與電梯的運行方向無關。
三、實驗內容
實驗需要完成的任務是編寫VHDL代碼來模擬現實中的三層電梯工作。在點陣上顯示電梯所在的樓層,當其它樓層有上或下的請求信號時,表示該樓層上或下的綠色或黃色指示燈亮,電梯開始上或下運行,當到達該樓層時,表示該樓層上或下的綠色或黃色指示燈滅,表示到達該樓層的紅色指示燈亮,點陣顯示樓層數,紅色指示燈滅。
四、實驗步驟
1、打開QUARTUSII軟件,新建一個工程。
2、建完工程之后,再新建一個VHDL File,打開VHDL編輯器對話框。
3、按照實驗原理和自己的想法,在VHDL編輯窗口編寫VHDL程序,用戶可參照光盤中提供的示例程序。
4、編寫完VHDL程序后,保存起來。方法同實驗一。
5、對自己編寫的VHDL程序進行編譯并仿真,對程序的錯誤進行修改,直到完全通過編譯和仿真。
6、編譯仿真無誤后,根據用戶自己的要求進行管腳分配。分配完成后,再進行全編譯一次,以使管腳分配生效。
7、根據實驗內容用實驗導線將上面管腳分配的FPGA管腳與對應的模塊連接起來。
如果是調用的本書提供的VHDL代碼,則實驗連線如下:
Clk:FPGA工作所需時鐘信號,輸入為750Hz左右時鐘。
k1、k2u、k2d、k3:分別接電梯模型的1KU、2KU、2KD和3KD。
d1、d2u、d2d、d3:分別接電梯模型的1U、2U、2D和3D。
door1、door2、door3:分別與電梯模塊的1DOOR、2DOOR和3DOOR相連。
8、用下載電纜通過JTAG口將對應的sof文件加載到FPGA中。觀察實驗結果是否與自己的編程思想一致。
五、實驗結果與現象
以設計的參考示例為例,當設計文件加載到目標器件后,按下三層電梯模塊相對應的按鍵,則模擬電梯相對指示的燈會跟據到達不同樓層進行顯示,到達樓層會在數碼管上顯示。
六、實驗報告
1、 仔細分析該實驗程序,了解FPGA是如何來控制電梯的。
2、 仔細分析該實驗程序,了解點陣顯示的工作原理。
3、 可以編寫一個點陣的驅動程序來控制點陣,如通過按鍵來控制其中的一個亮點按要求的方向運動;或者設計一個點陣按一定的規律顯示的舞臺燈光設計程序。