【正文】
h 0 。 h 2 C L EA R U P~ 0re s e tp o s i t i o n [ 1 . . 0 ] ~re g 0M u x 4b u t t o n cl ks t o p l i g h t [ 2 ] ~re g 0s t o p l i g h t [ 1 ] ~re g 0C L EA R U PM u x 51 39。 h 2 C L EA R D N ~0C L EA R D N ~2C L EA R D N ~1Se l e ct o r1 51 39。 h 5 n o d e [ 5 . . 1 ]5 39。 h 1 f d n l i g h t [ 1 ] ~0A d d 31 39。 h 1 u d s i g ~7Eq u a l 52 39。 h 2 u d s i g ~[ 5 . . 4 ]2 39。 h 0 u d s i g ~[ 1 . . 0 ]2 39。 h 0 C T R L I F T ~3Eq u a l 23 39。 h 0 3 39。 h 0 s t o p l i g h t [ 3 ] ~re g 0s t o p l i g h t [ 3 . . 1 ]l i f t cl kp o s i t i o n [ 1 . . 0 ]\ C T R L I F T : PO S1 [ 1 . . 0 ]C L EA R D Nd o o rl i g h t ~re g 0d o o rl i g h tu d s i g ~re g 0u d s i gM Y L I F Tf u p l i g h t [ 3 ] ~re g 0f u p l i g h t [ 3 . . 1 ]f u p l i g h t [ 2 ] ~re g 0f u p l i g h t [ 1 ] ~re g 0f d n l i g h t [ 3 ] ~re g 0f d n l i g h t ~[ 3 . . 2 ]1 39。 北京: 電子工業(yè)出版社 4.禇振勇 fpga 設(shè)計與應(yīng)用。經(jīng)典實例,經(jīng)驗總結(jié) 北京:北京航空大學出版社 3.徐志軍,徐光輝 。 附錄 參考文獻 1.潘松,黃繼業(yè), 技術(shù)使用教程 北京:科學出版社 2.黃任 入門。掌握了本次設(shè)計所用的 EDA試驗箱用法,為以后更好的學習 EDA 打下 了基礎(chǔ)。都可以進行管腳配對,把程序燒入芯片 ,在實物機上查看結(jié)果,從顯示中得出還需要改正的地方,再去修改程序,注意每改一次都要編譯,重新燒入 第 7 章 結(jié)束語 通過這次課程設(shè)計, 我 對 VHDL 的語言有了更深刻的認識,對課題設(shè)計的基本流程有了清醒的認識,把最近半年學的書本知識和實踐聯(lián)系在了起來,并通過實踐建立起了學習 EDA 的濃厚興趣。硬件熟悉其次,我在編完各個模塊程序后,編譯查錯后有 30 幾個錯誤,有輸入錯誤,語法錯誤,一遍一遍的查錯,直到?jīng)]有錯誤。如此就可以大大簡化程序,但是要注意的是 one向量必 須實時更新,以作為判斷依據(jù),可以另外寫一個進程,用 buttonclk 來觸發(fā)。在電梯的升降狀態(tài)將 3改成 n,在電梯的開門狀態(tài)中將 2改成 n一 1,在關(guān)門狀態(tài),將 position=3 改成 position=n,關(guān)鍵是修改 position=2的部分,如果按照每層羅列,將十分煩瑣,所以得尋求各層判斷條件的共性 ,解決方法之一就是,新建一個全局向量 one 為 std— logic— veoter(n downto 3)應(yīng)改寫成 0,然后和 stoplight 與 fuplight 向量比較,如果有更高層次的請求,那么 stoplight 或 fuplight 向量,如果 stoplight 和 fuplight 向量都小于 one向量,表示沒有更高層次的內(nèi)部上升請求,此時將 fdnlight 向量和 one 向量比較,如果大于,則表示高層有下降要求,電梯得上升。如果要實現(xiàn) n層電梯的控制,首先在端口的地方就要加入所有的按鍵,而指示燈只要把向量中的 3改成 n 就可以了。 第 4 章 設(shè)計的擴展性 在本設(shè)計中,因為考慮了擴展性,所以在信號定義的時候就使用了二進制的向量,而不是整數(shù)。如果沒有任何請求信號,則電梯停止,否則電梯下降。同時需要在按鍵控制進程里加入其他按鍵觸發(fā)指示燈的語句。在設(shè)計方法上也做了 特殊的設(shè)計,所以使得擴展性較好。隨后要響應(yīng)二層上升請求,上升到二層,乘客進入電梯以后要求上升到三層,所以電梯最后的停留位置在三層。 更多論文 模塊 (四 ):圖 7所示的仿真,原先電梯停留在第一層,電梯外第三層有下降請求,電梯上升到三層,乘客進入電梯以后要求下降到一層,此時,二層有下降請求,接著又有上升請求,電梯首先在二層停留。電梯的運行情況完全正確。圖6仿真的情況是,原先電梯停留在第一層,這時候電梯外第三層有下降請求,電梯上升到第三層,乘客進入電梯以后要求下降到一層,與此同時,在電梯外第二層有上升請求,電梯首先 要響應(yīng)下降請求然后再響應(yīng)這個上升請求,所以電梯得先下降到一層,然后再上升到第二層來,這是符合常理的。這時候,在電梯內(nèi)部沒有停留在哪層的請求,所以電梯就停留在第更多論文 二層, position 信號的值保持在 2。 模塊 (二 ):圖 5是有下降請求的情況,它是圖 4的繼續(xù),當電梯停留在第三層的時候,在電梯外第二層有下降請求,這時候 fdnlight 信號燈由 0 變?yōu)?2,說明第二層有下降請求。(注意 fuplight 和 fdnlight 是 3位的二進制向量,這里的 2 代表 “010” ,表示二層有請求; “100” 也就是 4,表示三層有請求 )。在仿真圖中看不到 buttonclk,只顯示為一條黑色的線,是因為采用了頻率較大的時鐘。 更多論文 電梯控制器仿真波形 三層電梯控制器的仿真模塊 模塊 (一 ): 圖 4所示仿真的是在第二層電梯外部有上升請求,也就是f2upbuttton 信號的一個脈沖,可以看到電梯從一層上升到二層, position 信號由 1 變到 2, doorlight 信號 ‘1’ 表示開門, ‘0’ 表示關(guān)門。 END PROCESS CTRLIGHT。 END IF。 END IF。THEN STOPLIGHT(3)=39。 ELSIF STOP3 BUTTON=39。THEN STOPLIGHT(2)=39。 ELSIF STOP2 BUTTON=39。THEN STOPLIGHT(1)=39。 IF STOP1BUTTON=39。 END IF。THEN FDNLIGHT(3)=39。 ELSIF F3 DNBUTTON=39。THEN FDNLIGHT(2)=39。 該層電梯內(nèi)部停站信號燈和外部上升請求信號燈滅 ELSE IF F2DNBUTTON=39。FUPLIGHT(POSITION)=39。THEN 當清除下降請求指示燈信號為 1 時 STOPLIGHT(POSITION)=39。 IF CLEARDN=39。 END IF。THEN FUPLIGHT(2)=39。 ELSIF F2UPBUTTON=39。THEN FUPLIGHT(1)=39。該層電梯內(nèi)部停站信號燈和外部上升請求信號燈滅 ELSE IF F1UPBUTTON=39。FUPLIGHT(POSITION)=39。THEN 當清除上升請求指示燈信號為 1 時 STOPLIGHT(POSITION)=39。THEN IF CLEARUP=39。EVENT AND BUTTONCLK=39。FUPLIGHT=000FDNLIGHT=000。139。 END PROCESS CTRLIFT。 END IF。 MYLIFT=DOORWAIT1。 其他情況需同時清除上升和下 降指示燈 END IF。CLEARDN=39。 ELSE CLEARUP=39。)THEN 如果電梯位于 2 層或 2層以上,且內(nèi)部停站等于 1 或外部請求下降信號等于 1,此時只需清除下降請求指示燈 CLEARDN=39。OR FDNLIGHT(POSITION)=39。 THEN 如果電梯處于下降模式 IF POSITION=2 AND(STOPLIGHT(POSITION)=39。 ELSIF UDSIG=39。139。139。139。139。139。039。139。 WHEN STOP= 電梯處于停止狀態(tài) MYLIFT=DOOROPEN。 ELSE MYLIFT=DOORCLOSE。139。139。) 如果即將到達的層不是 1 層并且內(nèi)部有該層停站請求或者該層外部有下降請求下一狀態(tài)電梯停止 THEN MYLIFT=STOP。OR FDNLIGHT(POS)=39。 變量 POS 減 1表示下降 1 層 IF POS1AND(STOPLIGHT(POS)=39。 WHEN DOWN= 電梯處于下降的狀態(tài) POSITION=POITION1。 ELSE MYLIFT=DOORCLOSE。139。139。) 更多論文 如果即將到