EDA課程設計電梯控制器的VHDL設計_第1頁
EDA課程設計電梯控制器的VHDL設計_第2頁
EDA課程設計電梯控制器的VHDL設計_第3頁
EDA課程設計電梯控制器的VHDL設計_第4頁
EDA課程設計電梯控制器的VHDL設計_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《EDA技術》課程設計闡明書電梯控制器的VHDL設計學院:電氣與信息工程學院學生姓名:指導教師:職稱/學位高級實驗師專業:通信工程班級:通信1602班學號:完畢時間:6月15日 《 EDA技術》課程設計任務書學院:電氣與信息工程學院適應專業:16級電子信息工程和通信工程指導教師學生姓名課題名稱電梯控制器的VHDL設計內容及任務一、設計內容設計智能電梯運行控制電路,用按鍵/開關與數碼管/LED表達輸入與輸出。二、重要任務:(1)擬定總體方案.(2)運用EDA技術完畢各模塊的軟件設計,運用所學的電路及電子技術知識完畢硬件模塊設計仿真.(3)完畢全部流程:設計規范文檔、模塊設計、代碼輸入、功效仿真、約束與綜合、布局布線、時序仿真、下載驗證等。擬達到的要求或技術指標一、擬達成的規定:(1)恰本地運用所學理論知識,對總體方案進行必要的技術、經濟比較,然后選定較佳的設計方案。(2)編寫各模塊VHDL源程序,繪制原理框圖、頂層電路模塊劃分圖、系統總原理圖電路圖、流程圖采用規范的原則繪制,規定設計參數對的、布局合理。二、技術指標:(1)樓層4層;梯內顯示現在樓層、梯外各層顯示現在電梯所在樓層;電梯含有提前關門和延時關門功效,設立電梯運行開關控制鍵控制電梯運行狀態(2)1層只有向上按鈕,4層只有向下按鈕,其它各層都有上下按鈕;每層電梯入口均設有電梯上下運行請求開關,轎廂內設有樓層選擇開關,供乘客自由選擇電梯運行方向或所要達成的樓層。(3)電梯含有鎖定,超重/超員報警(電路有空載、超重、乘客入梯批示輸入)功效(梯內);能夠對的顯示電梯的運行狀況、樓層間的運行時間以及電梯所在樓層的等待時間(4)電梯的運行遵照方向優先原則:當電梯處在上升模式時,只響應比電梯所在位置高的上樓請求信號,由下而上依次運行,直到最后一種請求執行完畢,如更高層有下樓請則直接上升到有下樓請求的最高層,然后進入下降模式;當電梯處在下降模式時,運行規則與上升模式剛好相反。主要參考資料[1]林明權.VHDL數字控制系統設計范例[M].北京:電子工業出版社,[2]劉欲曉等.EDA技術與VHDL電路開發應用實踐[M].北京:電子工業出版社,[3]劉延飛等.基于ALTERAFPGA/CPLD的電子系統設計及工程實踐[M].北京:人民郵電出版社,[4]劉江海.EDA技術[M].武漢:華中科技大學出版社,[5]艾明晶.EDA設計實驗教程[M].北京:清華大學出版社,[6]陳蘇婷.EDA設計與應用基礎[M].北京:氣象出版社,[7]范秋華.EDA技術及實驗教程[M].北京:電子工業出版社,[8]馬玉清.EDA技術(VHDL版)[M].合肥:中國科學技術大學出版社,[9]李俊.EDA技術與VHDL編程[M].北京:電子工業出版社.[10]陳炳權,曾慶立.EDA技術及實例開發教程[M].湘潭:湘潭大學出版社,教研室意見簽名:年月日摘要隨著社會的發展,電梯的使用越來越普遍,已從原來只在商業大廈、賓館使用,過渡到在辦公樓、居民樓等場合使用,并且對電梯功效的規定也不停提高,對應地其控制方式也在不停地發生變化。該設計是一種基于FPGA的電梯控制系統。它的設計是采用VHDL硬件描述語言使用EDA技術在QuartusII軟件平臺上設計完畢的調試并且時序仿真通過后再下載到開發板上選用GWAC3-EP3CTC144芯片調試通過。信號請求靠高低電平來控制,且高電平有效。這個系統分為3個模塊:主控制模塊、請求信號輸入模塊、輸出顯示模塊。請求信號輸入模塊采用狀態機的方式來完畢的。以此來實現電梯控制器上升、下降、停止、開門、關門、等待、以及故障的功效。該程序采用狀態機來主控制,頂層采用原理圖設計,底層采用VHDL設計,最后進行下載測試和波形仿真,電梯控制器按照所規定的在數碼管上顯示所在樓層,成功實現了課程設計的規定。核心字:電梯控制系統;QuartusII;VHDL;狀態機目錄224511緒論 1267191.1EDA介紹 1251261.2課題背景 1125722電梯控制器設計方案 241682.1設計思想 2194022.2設計方案 357913電梯控制器的軟件設計 4257963.1VHDL源代碼語法的簡樸闡明 4149423.2電梯控制器的VHDL描述模塊流程 4219233.3電梯控制器的流程圖 5233044電梯控制器的模塊及仿真 67514.1控制模塊 6174274.2顯示模塊 7180994.3頂層模塊 841534.4頂層文獻設計 10290355下載測試 11160545.1引腳鎖定 11178245.2下載測試成果 1124624結束語 1520357參考文獻 177593致謝 184932附錄程序清單 191緒論1.1EDA介紹20世紀90年代,國際上電子和計算機技術較先進的國家,始終在主動探索新的電子電路設計辦法,并在設計辦法、工具等方面進行了徹底的變革,獲得了巨大成功。在電子技術設計領域,可編程邏輯器件(如CPLD、FPGA)的應用,已得到廣泛的普及,這些器件為數字系統的設計帶來了極大的靈活性。這些器件能夠通過軟件編程而對其硬件構造和工作方式進行重構,從而使得硬件的設計能夠猶如軟件設計那樣方便快捷。這一切極大地變化了傳統的數字系統設計辦法、設計過程和設計觀念,增進了EDA技術的快速發展。EDA技術就是以計算機為工具,設計者在EDA軟件平臺上,用硬件描述語言VHDL完畢設計文獻,然后由計算機自動地完畢邏輯編譯、化簡、分割、綜合、優化、布局、布線和仿真,直至對于特定目的芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術的出現,極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強度。1.2課題背景隨著我國城鄉化程度的加大,電梯市場越來越繁華,人們對電梯的規定越來越高。如何更安全、更快捷地達成目的樓層,也就成為了人們對電梯的最為根本的規定。因此,本設計就四層電梯控制器設計為例,結合EDA技術,對電梯控制進行設計。當代電子設計技術的核心是EDA技術。基于EDA技術開發的實現四層電梯自動控制與現在主流的運用可編程邏輯控制器實現電梯控制緊密相連。硬件描述語言是EDA技術的重要構成部分,VHDL是作為電子設計主流硬件的描述語言。使用VHDL語言進行程序設計,在QuartusII軟件上對程序進行編譯、仿真。在QuartusII平臺上開發含有易學易懂、控制靈活方便、抗干擾能力強、運行穩定可靠等優點。2電梯控制器設計方案2.1設計思想實驗模擬生活中電梯運動控制,電梯總共四層,最簡樸的控制思想以下:采集顧客呼喊樓層,并放入對應的記憶單元中;不考慮電梯轎廂所在樓層。若有顧客呼喊,電梯上行直達成到顧客呼喊最大層,再下行直到達成最低層,由此構成一次行程;每完畢一次行程,檢測與否所用顧客呼喊均已響應完畢。如果沒有,電梯繼續運行,直到響應完全部顧客呼喊。否則,電梯停止運行;其中顧客請求涉及外部請求和內部請求。有外部升降請求信號需點亮對應的外部請求批示燈,內部升降請求信號同外呼;根據電梯所在樓層,七段數碼管顯示樓層數;根據顧客運行方向,點亮對應升降批示燈;當電梯運行到有對應外部呼喊或內部呼喊樓層時,電梯停止運行,滅掉對應的呼喊顯示燈,電梯開關門后,繼續運行。電梯控制器設計兩個進程互相配合,狀態機進程作為重要進程,信號燈控制進程作為輔助進程。根據電梯的實際工作狀況,可覺得狀態機設立十個狀態,它們分別是“電梯停在一層”“開門”“關門”“開門等待第一秒”“開門等待第二秒”“開門等待第三秒”“開門等待第四秒”“上升”“下降”和“停止”。由于電梯每秒上升或下降一層,則能夠用周期為1s的信號作為電梯狀態轉換的觸發時鐘。狀態機進程中的諸多判斷條件是以信號燈控制進程產生的信號燈信號為根據,而信號燈控制進程中信號燈的熄滅又是由狀態機進程中傳出的信號來控制。假設電梯所在樓層為N,此時電梯如處在運行中,這時若樓層選擇批示為t且t>N時按下了樓層選擇確認鍵,或者按下上升按鈕up,則對應的上升請求寄存器賦值為1,否則,若電梯運行到,且沒有任何請求,則對應的上升請求寄存器賦值為0;反之,如果電梯如處在運行中,樓層選擇批示為t且t<N時按下了樓層選擇確認鍵,或者按下了下降按鈕down,則對應的下降請求寄存器賦值為1,否則,若電梯運行時間到,且沒有任何請求,則對應的下降請求寄存器賦值為0;除此之外的其它狀況發生時,各樓層的上升、下降請求寄存器都置位為0。2.2設計方案電梯控制器設計模塊如圖1所示,涉及主控制模塊、請求信號輸入模塊、輸出顯示模塊。乘客在電梯中選擇所要達成的樓層,通過主控制器的解決,電梯開始運行,顯示屏顯示電梯的運行狀態,電梯所在樓層數通過顯示模塊從而在樓層顯示屏中顯示。控制器把有效的請求傳給主控制模塊進行解決,同時顯示電梯的運行狀態和電梯所在樓層數,其中主控制器是核心部分。圖1電梯控制器框圖由設計框圖能夠看出,電梯重要有三種控制狀態:運行狀態、停止狀態和等待狀態,其中運行狀態由控制模塊控制,重要控制電梯上升和下降兩個不同的運行方向、電梯要完畢開門、關門、停止、上升或下降運行的功效,乘客能夠通過選擇開門/關門按鈕、選擇上行/下行按鈕和選擇指定樓層等控制電梯的運行狀態。其中,clk為基準輸入時鐘信號,在時鐘上升沿有效;upin為樓層上升請求信號,高電平有效;downin為樓層下降請求信號,高電平有效;樓層選擇鍵st_ch,高電平有效;提前關門開關close和延時關門開關delay,高電平有效;電梯運行開關按鈕run_stop,電梯在高電平時正常運行,低電平時停止運行。電梯運行狀態由顯示模塊共陰極LED數碼顯示管顯示,通過輸出信號電梯運行/停止輸出信號lamp、電梯運行/等待時間顯示run_waitdis6...0]、所在樓層批示st_outdis[6..0]和樓層選擇批示directdis6...0],的輸出直接批示電梯控制器的多種運行狀態。3電梯控制器的軟件設計3.1VHDL源代碼語法的簡樸闡明本程序設計調用了IEEE庫,IEEE庫是VHDL設計中最為慣用的庫,它包含有IEEE原則的程序包和其它某些支持工業原則的程序包。本設計采用STD-LOGIC-1164、STD-LOGIC-UNSIGNED、STD-LOGIC-ARITH程序包。以核心詞ENTITY引導,ENDENTITYTHREELIFT結尾的部分是程序的實體部分。VHDL的實體描述了電路器件的外部狀況,本設計定義了有關三層電梯控制器用到的各類時鐘、異步復位按鍵、信號燈批示端口、電梯的請求端口。它描述了端口模式重要有IN、BUFFER、OUT,以及各端口信號的數據類型重要有STD-LOGIC、STD-LOGIC-VECTOR、INTEGER。以核心詞ARCHITECTURE引導,ENDARCHITECTUREONE結尾的語句部分是構造體部分,構造體描述電路器件的內部邏輯功效。3.2電梯控制器的VHDL描述模塊流程電梯控制器的設計重要是對實體和構造體的設計,它的VHDL描述模塊流程如圖2所示:元件庫的闡明元件庫的闡明端口定義實體端口定義實體電梯控制進程電梯控制進程構造體構造體按鍵信號燈信號燈控制進程按鍵信號燈信號燈控制進程結束結束圖2電梯控制器的VHDL描述模塊流程框圖3.3電梯控制器的流程圖電梯控制器總流程框圖、主流程圖分別如圖3、圖4所示。初始化外部按鍵初始化外部按鍵否請求信號寄存器否請求信號寄存器與否有請求?樓層檢測電梯運行等待鑒定電梯運行方向與否有請求?樓層檢測電梯運行等待鑒定電梯運行方向是目的層與本層與否同層?狀態寄存器是目的層與本層與否同層?狀態寄存器是內部軟件執行機構是內部軟件執行機構否否外部硬件執行機構外部硬件執行機構圖3總流程框圖與否目的層?否與否目的層?否是是電梯停止電梯停止開門開門關門關門否否與否停止運行?與否停止運行?是是停止停止圖4電梯控制主流程圖

4電梯控制器的模塊及仿真4.1控制模塊根據設計規定,電梯主體控制器模塊重要控制三種狀態,運用輸入信號實現電梯運行狀態、停止狀態和等待狀態的功效調控。ENTITYliftISPORT(clk:INSTD_LOGIC;upin:INSTD_LOGIC;downin:INSTD_LOGIC;st_ch:INSTD_LOGIC;close:INSTD_LOGIC;delay:INSTD_LOGIC;run_stop:INSTD_LOGIC;lamp:OUTSTD_LOGIC;run_wait:OUTSTD_LOGIC_VECTOR(3DOWNTO0);st_out:OUTSTD_LOGIC_VECTOR(3DOWNTO0);direct:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDrtl;其中,clk為基準輸入時鐘信號,在時鐘上升沿有效;upin為樓層上升請求信號,高電平有效;downin為樓層下降請求信號,高電平有效;樓層選擇鍵st_ch,高電平有效;提前關門開關close和延時關門開關delay,高電平有效;電梯運行開關按鈕run_stop,電梯在高電平時正常運行,低電平時停止運行;輸出信號涉及電梯運行/停止輸出信號lamp、電梯運行/等待時間顯示run_waitdis[3...0]、所在樓層批示st_outdis[3..0]和樓層選擇批示directdis3...0]。由VHDL語句生成的頂層文獻如圖5所示。圖5控制模塊封裝圖波形仿真如圖6所示圖6控制模塊波形圖根據圖6我們能夠看出,當upin上升沿來時,up信號進行準備,down始終處在低電平停滯狀態,電梯根據信號的請求電梯正常運行,電梯上升到四樓,進入預備上升狀態,電梯工作正常,符合設計規定。4.2顯示模塊根據設計規定,顯示模塊采用共陰極LED數碼顯示管,即輸入信號為樓層選擇輸出顯示信號,且高電平有效,當輸入信號選擇樓層時,輸出信號顯示屏將顯示對應樓層數,實現四層電梯的顯示功效。ENTITYledISPORT(ledin:INSTD_LOGIC_VECTOR(3DOWNTO0);ledout:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDrtl;led為顯示模塊工程名,ledin為電梯顯示輸入信號,ledout為共陰極LED數碼顯示管電梯顯示輸出信號。由VHDL語句生成的頂層文獻如圖7所示。圖7顯示模塊封裝圖波形仿真如圖8所示。圖8顯示模塊波形仿真由波形仿真圖8可看出,當ledin輸入“0000”時,共陰極LED顯示譯碼letout輸出信號為“0111111”,即顯示屏顯示為“0”,當ledin輸入“0001”時,共陰極LED顯示譯碼letout輸出信號為“0000110”,即顯示屏顯示為“1”,當ledin輸入“0010”時,共陰極LED顯示譯碼letout輸出信號為“1011011”,即顯示屏顯示為“2”,當ledin輸入“0011”時,共陰極LED顯示譯碼letout輸出信號為“1001111”,即顯示屏顯示為“3”,當ledin輸入“0100”時,共陰極LED顯示譯碼letout輸出信號為“1100110”,即顯示屏顯示為“4”,當ledin輸入信號不小于“0100”時,顯示模塊停止工作,符合設計規定。4.3頂層模塊根據設計規定,四層電梯頂層模塊內部涉及顯示模塊以及電梯控制器主體模塊,其重要實現電梯顯示功效,以及電梯運行狀態、停止狀態和等待狀態的控制功效。ENTITYtopISPORT(clk:INSTD_LOGIC;upin:INSTD_LOGIC;downin:INSTD_LOGIC;st_ch:INSTD_LOGIC;close:INSTD_LOGIC;delay:INSTD_LOGIC;run_stop:INSTD_LOGIC;lamp:OUTSTD_LOGIC;run_waitdis:OUTSTD_LOGIC_VECTOR(6DOWNTO0);st_outdis:OUTSTD_LOGIC_VECTOR(6DOWNTO0);directdis:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDrtl;其中,程序中重要介紹以下:clk為基準輸入時鐘信號,在時鐘上升沿有效;upin為樓層上升請求信號,高電平有效;downin為樓層下降請求信號,高電平有效;樓層選擇鍵st_ch,高電平有效;提前關門開關close和延時關門開關delay,高電平有效;電梯運行開關按鈕run_stop,電梯在高電平時正常運行,低電平時停止運行:輸出信號涉及電梯運行/停止輸出信號lamp、電梯運行/等待時間顯示run_waitdis6...0]、所在樓層批示st_outdis[6..0]和樓層選擇批示directdis6...0]。由VHDL語句生成的頂層文獻如圖9所示。圖9頂層模塊封裝圖波形仿真如圖10所示:圖10頂層模塊波形仿真由仿真波形圖10能夠看出,當信號close為高電平時,電梯進入運行次態控制進程,通過判斷上升、下降請求寄存器每一種的值,決定電梯的運行狀態,并通過狀態批示信號輸出該狀態。電梯控制器的核心器件為GWAC3-EP1C3TC144芯片的控制器,原理圖中為5個重要輸入,3個輸出,其它的請求輸入信號用實驗箱中的按鍵器控制替代。clsos以及delay信號分別為樓梯的請求信號。lamp輸出信號為電梯運行批示燈顯示,run_waitdis輸出來控制電梯的時間設立,時間0-3s和direct信號為樓層選擇顯示輸出信號,st_outis信號為樓層顯示輸出信號。4.4頂層文獻設計頂層原理圖各個模塊的頂層文獻圖構成。重要有顯示模塊、電梯主控制模塊。各模塊按照輸入信號和輸出信號之間的聯系進行連接。時鐘輸入為2Hz,分頻和樓選信號產生進程將輸入時鐘信號進行二分頻,同時對樓選批示變量dir進行從0到3的計數,頂層原理圖如圖11所示。圖11頂層原理圖5下載測試5.1引腳鎖定圖12引腳鎖定圖由于設計為電梯控制器,因此選擇GWAC3-EP1C3TC144芯片并在模式6下載測試。根據模式6的引腳控制、數碼管顯示,結合頂層原理圖的設計,完畢引腳鎖定。引腳鎖定圖如圖12所示。引腳分派中由功效規定得到本程序設計的端口涉及:輸入端口:電梯外人的上升請求信號upin、電梯外人的下降請求信號downin等輸出端口:電梯門控制信號(close)、電梯所在樓層顯示(st_outis)、電梯外人下降請求信號顯示(downin)等。下載到實驗箱上,電梯開門四秒,關門一秒,樓層顯示屏能分別顯示數字。電梯控制器中的各個功效實現通過按鍵控制來完畢。5.2下載測試成果下載成果如圖13~18所示。通過按鍵8實現了電梯運行功效且接受樓梯請求信號,現在樓層顯示1樓,關門延時時間為1秒。如圖13所示。圖13電梯運行功效下載測試通過按鍵7,屏6運行時間顯示1秒停止不變,實現了電梯延時關門功效。如圖14所示。圖14電梯延時功效下載測試通過按鍵6,屏6運行時間顯示歸零,實現電梯提前關門功效且D8關門批示燈亮實現LED顯示功效。如圖15所示。圖15電梯提前關門功效下載測試按按鍵5,通過屏7顯示數字選擇目的樓層3,實現樓層選擇功效。如圖16所示。圖16電梯樓層選擇功效下載測試按鍵4、鍵5,通過屏7顯示數字選擇目的樓層4,實現樓層上升功效。如圖17所示。圖17電梯上升功效下載測試按鍵3、鍵5,通過屏7顯示數字選擇目的樓層1,完畢電梯下降功效。如圖18所示。圖18電梯下降功效下載測試通過數碼管6顯示現在樓層在2樓,準備下降到1樓,這時4樓有個上升請求,通過鍵4實現上升請求,通過數碼管6顯示電梯已經下降到1樓,然后準備上升到4樓,如圖19所示,已經達成二樓并且繼續上升,最后達成4樓。圖19電梯上升下降組合請求功效下載測試

結束語在本設計的過程中,我學習了VHDL語言的基本語法,熟悉了QuartusII的VHDL文本設計流程全過程,掌握了四層電梯控制器的設計辦法,及它的仿真和硬件測試。通過多次改善,本設計實現了四層電梯的基本功效,電梯的的運行狀況完全符合它的運行規則,電梯的位置變化與實驗設計規定相符合。本次四層電梯控制器的設計采用VHDL語言,源程序經QuartusII軟件仿真,目的器件選用CPLD器件。本設計代碼含有良好的創新性和可讀性,運用了有限狀態機的設計辦法,使得它敏捷、易操作、實踐性強、智能性高,并且此設計含有良好的擴展以及延伸性。另外,更加學會了將所學的知識用于實踐中,并結合本身的學習基礎來完畢本次設計,真正用自己所學的知識來解決多種問題,分析,構思,整頓,選用器件,整體到局部的全局性思考不僅鍛煉自己設計構思,更加鍛煉了自己動手能力。從設計的題目開始到完畢設計的期間,一步一步,都會碰到諸多的困難。在碰到困難時要學會,耐心,思考,用自己的能力,竭力自己解決問題。在這個過程中,也得到了各位老師的協助和悉心教導,使我學習到了更多的知識,以及解決問題的措施。即使過程很艱難,但是通過努力,最后才干獲得成功,順利完畢了設計。只要有努力就會有回報。這次的EDA課程設計既是在學習,也是在鍛煉自己的操作能力和團體意識,真的很故意義,讓我受益匪淺,培養了我的動腦、動手的能力,也使我意識到了自己的問題所在。不能只重視與教材的學習,也要注意多進行實踐。也非常感謝課設指導老師的指導和教導,耐心的幫我們解決問題,在這里我對他們表達感謝!參考文獻[1]潘松.黃繼業.《EDA技術實用教程》.北京:科學出版社,.[2]徐志軍.徐光輝.《CPLD/FPGA的開發與應用》.北京:電子工業出版社,.[3]蘇長贊.《電梯設計與應用》.北京:人民郵電出版社,.[4]樓然苗.《CPLD設計指導》.北京:北京航空航天大學出版社,.[5]彭為.《數字系統設計》.北京:電子工業出版社,.[6]戴佳.《VHDL程序設計實例精講》.北京:電子工業出版社,.[7]李華.《EDA實用接口技術》.北京:北京航空航天大學出版社.[8]林明權.VHDL數字控制系統設計范例[M].北京:電子工業出版社,[9]劉欲曉等.EDA技術與VHDL電路開發應用實踐[M].北京:電子工業出版社,[10]范秋華.EDA技術及實驗教程[M].北京:電子工業出版社,[11]馬玉清.EDA技術(VHDL版)[M].合肥:中國科學技術大學出版社,[12]李俊.EDA技術與VHDL編程[M].北京:電子工業出版社.[13]陳炳權,曾慶立.EDA技術及實例開發教程[M].湘潭:湘潭大學出版社,致謝在本次的設計過程中,除找資料外,大多時間都是在電腦上進行的,通過重復的編譯,仿真,不停實驗來實現所得成果。在設計上,運用了EDA自上而下的設計思想,逐步完善所設計功效,以及CASE、IF….ELSE等語句,才達成以上成果。在設計中也碰到許多困難,首先要感謝我的課設老師予以我得極大地協助。同時,在自己及同窗的共同努力下才完畢此設計。因此這次課設給我帶來的收獲重要有:進一步熟悉QuartusII軟件的使用和操作辦法,以及硬件實現時的下載辦法與運行辦法;對vhdl語言的自頂向下設計辦法有了進一步的認識,對其中的許多語句也有了新理解,掌握;對自己獨立思考和解決問題的能力也有了很大的鍛煉,同時同窗間的互幫互助精神也是在課程設計中較好體現的。自己做的四層層電梯控制器的運行狀況都能對的的實現,更加好的理解了電梯控制器的工作方式。人們生活中的每個地方都需要技術的支持,電梯的發展極大地提高了人們的生活水平,使社會向著繁華的方向發展!附錄程序清單/***************************************************************/

作品名稱:四層電梯控制器

指導老師:胡紅艷

制作者:全銳楊

時間:6月班級:通信1602班功能:電梯控制器采用狀態機來實現。能夠將電梯等待的每秒鐘以及開門、關門都當作一種獨立的狀態。由于電梯又是每秒上升或下降一層,因此就能夠通過一種統一的1秒為周期的時鐘來觸發狀態機。根據電梯的實際工作狀況,能夠把狀態機設立10個狀態,分別是“電梯停留在第1層”、“開門”、“關門”、“開門等待第1秒”、“開門等待第2秒”、“開門等待第3秒”、“開門等待第4秒”、“上升”、“下降”和“停止狀態”。各個狀態之間的轉換條件可由上面的設計規定所決定。/***************************************************************//*****************************顯示模快*****************************/LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYledISledin:INSTD_LOGIC_VECTOR(3DOWNTO0);ledout:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDled;ARCHITECTURErtlOFledIsBEGINPROCESS(ledin)BEGINCASEledinISWHEN"0001"=>ledout<="0000110";WHEN"0010"=>ledout<="1011011";WHEN"0011"=>ledout<="1001111";WHEN"0100"=>ledout<="1100110";WHENOTHERS=>ledout<="0000000";ENDcase;ENDPROCESS;ENDrtl;/**************************電梯主控制模快****************************/LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYliftISPORT(clkin:INSTD_LOGIC;upin:INSTD_LOGIC;downin:INSTD_LOGIC;st_ch:INSTD_LOGIC;close:INSTD_LOGIC;delay:INSTD_LOGIC;run_stop:INSTD_LOGIC;lamp:OUTSTD_LOGIC;run_wait:OUTSTD_LOGIC_VECTOR(3DOWNTO0);st_out:OUTSTD_LOGIC_VECTOR(3DOWNTO0);direct:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDENTITYlift;ARCHITECTURErtlOFliftISSIGNALur,dr:STD_LOGIC_VECTOR(4DOWNTO1);SIGNALdir,liftor:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALwai_t:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALdivide,hand:STD_LOGIC;SIGNALladd:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALclosex,delayx:STD_LOGIC;BEGINdirect<=dir+1;st_out<=liftor+1;run_wait<='0'&wai_t;p0:PROCESS(clkin)ISBEGINIF(clkin'EVENTANDclkin='1')THENlamp<=ladd(1);ENDIF;ENDPROCESSp0;hand<=wai_t(2)AND(NOTwai_t(1))ANDwai_t(0);closex<=closeAND(NOTladd(1));delayx<=delayAND(NOTladd(1));p1:PROCESS(clkin)BEGINIF(clkin'EVENTANDclkin='1')THENdivide<=NOTdivide;IF(dir="0011")THENdir<="0000";ELSEdir<=dir+1;ENDIF;ENDIF;ENDPROCESSp1;p2:PROCESS(ur,dr,dir,upin,downin,st_ch,liftor,wai_t,run_stop,hand)VARIABLEnum,t:INTEGERRANGE1TO4;BEGINnum:=conv_integer(liftor)+1;t:=conv_integer(dir)+1;IF(run_stop='1')THENIF(((t>num)AND(st_ch='1'))OR(upin='1'))THENCASEtISWHEN1=>ur(1)<='1';WHEN2=>ur(2)<='1';WHEN3=>ur(3)<='1';WHEN4=>ur(4)<='1';WHENOTHERS=>NULL;ENDCASE;ELSIF(hand='1')THENCASEnumISWHEN1=>ur(1)<='0';WHEN2=>ur(2)<='0';WHEN3=>ur(3)<='0';WHEN4=>ur(4)<='0';WHENOTHERS=>NULL;ENDCASE;ENDIF;IF(((t<num)AND(st_ch='1'))OR(downin='1'))THENCASEtISWHEN1=>dr(1)<='1';WHEN2=>dr(2)<='1';WHEN3=>dr(3)<='1';WHEN4=>dr(4)<='1';WHENOTHERS=>NULL;ENDCASE;ELSIF(hand='1')THENCASEnumISWHEN1=>dr(1)<='0';WHEN2=>dr(2)<='0';WHEN3=>dr(3)<='0';WHEN4=>dr(4)<='0';WHENOTHERS=>NULL;ENDCASE;ENDIF;ELSEur<="0000";dr<="0000";ENDIF;ENDPROCESSp2;p3:PROCESS(ur,dr,liftor,ladd,wai_t,run_stop)BEGINIF(run_stop='1')THENIF(wai_t="110")THENIF((urORdr)="0000")THENladd(1)<='0';ELSECASEliftorISWHEN"0000"=>IF((ur(1)ORdr(1))>'0')THENladd(1)<='0';ELSEladd<="11";ENDIF;WHEN"0001"=>IF((ur(2)ORdr(2))>'0')THENladd(1)<='0';ELSIF(((ladd(0)='1')AND((ur(4DOWNTO3)ORdr(4DOWNTO3))>"00"))OR((ur(1)ORdr(1))='0'))THENladd<="11";ELSEladd<="10";ENDIF;WHEN"0010"=>IF((ur(3)ORdr(3))>'0')THENladd(1)<='0';ELSIF(((ladd(0)='1')AND((ur(4)ORdr(4))>'0'))OR((ur(2DOWNTO1)ORdr(2DOWNTO1))="00"))THENladd<="11";ELSEladd<="10";ENDIF;WHEN"0011"=>IF((ur(4)ORdr(4))>'0')THENladd(1)<='0';ELSEladd<="10";ENDIF;WHENOTHERS=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論