EDA課程設(shè)計電梯控制器設(shè)計_第1頁
EDA課程設(shè)計電梯控制器設(shè)計_第2頁
EDA課程設(shè)計電梯控制器設(shè)計_第3頁
EDA課程設(shè)計電梯控制器設(shè)計_第4頁
EDA課程設(shè)計電梯控制器設(shè)計_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁眉頁腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請聯(lián)系刪除,謝謝!EDA技術(shù)與VHDL語言課程設(shè)計報告題班姓學(xué)成電子與信息工程學(xué)院信息與通信工程系引言.....................................................................11.1EDA技術(shù)的概念.....................................................11.2EDA技術(shù)的特點.....................................................11.3EDA設(shè)計流程.......................................................11.4VHDL的介紹........................................................22電梯控制器的設(shè)計要求....................................................22.1課程設(shè)計的目的....................................................22.2課程設(shè)計的基本要求................................................23電梯控制器的綜合設(shè)計....................................................33.1電梯控制器的功能..................................................33.2電梯控制器的設(shè)計方案..............................................33.3電梯控制器的實體設(shè)計..............................................33.4電梯控制器的結(jié)構(gòu)體設(shè)計............................................43.5電梯控制器的VHDL..................................................43.6電梯控制器的功能仿真波形..........................................94心得體會...............................................................105參考文獻(xiàn)...............................................................102EDA是電子設(shè)計自動化(ElectronicDesignAutomation)的縮寫,在20世紀(jì)90年代初從計算機輔助設(shè)計(計算機輔助工程(CAE)的概念發(fā)展而來的。EDA技術(shù)就是以計算機為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。利用EDA技術(shù)進(jìn)行電子系統(tǒng)的設(shè)計,具有以下幾個特點:①用軟件的方式設(shè)計硬件;②用軟件方式設(shè)計的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由有關(guān)的開發(fā)軟件自動完成的;③設(shè)計過程中可用有關(guān)軟件進(jìn)行各種仿真;④系統(tǒng)可現(xiàn)場編程,在線升級;⑤整個系統(tǒng)可集成在一個芯片上,體積小、功耗低、可靠性高。因此,EDA技術(shù)是現(xiàn)代電子設(shè)計的發(fā)展趨勢。典型的EDA設(shè)計流程如下:EDA工具的文本或圖形編輯器將設(shè)計者的設(shè)計意圖用文本或圖形方式表達(dá)出來。2、編譯。完成設(shè)計描述后即可通過編譯器進(jìn)行排錯編譯,變成特定的文本格式,為下一步的綜合做準(zhǔn)備。3、綜合。將軟件設(shè)計與硬件的可實現(xiàn)性掛鉤,是將軟件轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。4、行為仿真和功能仿真。利用產(chǎn)生的網(wǎng)表文件進(jìn)行功能仿真,以便了解設(shè)計描述與設(shè)計意圖的一致性。5、適配。利用FPGA/CPLD布局布線適配器將綜合后的網(wǎng)表文件針對某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優(yōu)化、布局布線。適配報告指明了芯片內(nèi)資源的分配與利用、引腳鎖定、設(shè)計的布爾方程描述情況。6、功能仿真和時序仿真。7、下載。如果以上的所有過程都沒有發(fā)現(xiàn)問題,就可以將適配器產(chǎn)生的下載文件通過FPGA/CPLD下載電纜載入目標(biāo)芯片中。8、硬件仿真與測試。1VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionVHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計算機高級語言。VHDL的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本。1.用VHDL代碼而不是用原理圖進(jìn)行設(shè)計,意味著整個電路板的模型及性能可用計算機模擬進(jìn)行驗證。2.VHDL元件的設(shè)計與工藝無關(guān),與工藝獨立,方便工藝轉(zhuǎn)換。3.VHDL支持各種設(shè)計方法,自頂向下、自底向上或者混合的都可以。4.可以進(jìn)行從系統(tǒng)級到邏輯級的描述,即混合描述。5.VHDL區(qū)別于其他的HDL,已形成標(biāo)準(zhǔn),其代碼在不同的系統(tǒng)中可交換建模。2本次設(shè)計的目的就是通過實踐深入理解EDA技術(shù)并掌握VHDL硬件描述語言的設(shè)計方法和思想。通過學(xué)習(xí)的VHDL語言結(jié)合電子電路的設(shè)計知識理論聯(lián)系實際,掌握所學(xué)的課程知識和基本單元電路的綜合設(shè)計應(yīng)用。通過對實用電梯控制系統(tǒng)的設(shè)計,鞏固和綜合運用所學(xué)知識,提高設(shè)計能力,提高分析、解決計算機技術(shù)實際問題的獨立工作能力。電梯控制器是控制電梯按顧客要求自動上下的裝置。本文采用VHDL語言來設(shè)計實用六層電梯控制器,其代碼具有良好的可讀性和易理解性,源程序經(jīng)A1tera公司的MAX+plusII軟件仿真。通過對四層電梯控制器的設(shè)計,可以發(fā)現(xiàn)本設(shè)計有一定的擴展性,而且可以作為更多層電梯控制器實現(xiàn)的基礎(chǔ)。通過獨立的設(shè)計,能夠完整的完成老師分配的課程設(shè)計任務(wù)。通過對電梯控制系統(tǒng)的設(shè)計,掌握所學(xué)EDA課程的基本知識和對VHDL語言的綜合設(shè)計應(yīng)用。通過課程設(shè)計,為以后工作和發(fā)揮技術(shù)打下基礎(chǔ)。21、每層電梯的入口處設(shè)有上下請求開關(guān),電梯內(nèi)設(shè)有乘客到達(dá)層次的停站請求開關(guān)。4、電梯到達(dá)有停站請求的樓層后,經(jīng)過1s電梯打開,開門只是燈亮,開門4s層。5、能記憶電梯內(nèi)外的所以請求信號,并按照電梯運行規(guī)則依次響應(yīng),每個請求信號保留至執(zhí)行后消除。6、電梯運行規(guī)則:當(dāng)電梯處于上升模式時,只響應(yīng)比電梯所在位置高的上樓信號,由下至上依次執(zhí)行,直到最后一個上樓請求執(zhí)行完畢,如更高層有下樓請求時,則直接升到有下降請求的最高樓接客,然后進(jìn)入下降模式,但電梯處于下降模式時,則與上升模式相反。所在樓層數(shù)。由于分控制器相對簡單很多,所以主控制器是核心部分。關(guān)門都看成一個獨立的狀態(tài)。由于電梯又是每秒上升或下降一層,所以就可以通過一個統(tǒng)一的1秒為周期的時鐘來觸發(fā)狀態(tài)機。根據(jù)電梯的實際工作情況,可以把狀態(tài)機設(shè)置10個狀態(tài),分別是“電梯停留在第11等待第234各個狀態(tài)之間的轉(zhuǎn)換條件可由上面的設(shè)計要求所決定。3不需要有上升請求,二層則上升、下降請求端口都有;在電梯的內(nèi)部,應(yīng)該設(shè)有各層停留的請求端口:一個電梯時鐘輸入端口,該輸入時鐘以1秒為周期,用于驅(qū)動電梯的升降及開門關(guān)門等動作;另有一個按鍵時鐘輸入端口,時鐘頻率比電梯時鐘高。其次是輸出端口,有升降請求信號以后,就得有一個輸出端口來指示請求是否被響在電梯內(nèi)部也應(yīng)該有這樣的輸出端口來顯示各層停留是否被響應(yīng);在電梯外部,需要一個端口來指示電梯現(xiàn)在所處的位置;電梯開門關(guān)門的狀態(tài)也能用一個輸出端口來指示;為了觀察電梯的運行是否正確,可以設(shè)置一個輸出端口來指示電梯的升降狀態(tài)。首先說明一下狀態(tài)。狀態(tài)機設(shè)置了lO個狀態(tài),分別是電梯停留在l層(stoponl)、開門(dooropen)、關(guān)門(doorclose)、開門等待第1秒(doorwaitl)、開門等待第2秒(doorwait2)、開門等待第3秒(doorwait3)、開門等待第4下降(down)和停止(stop)。在實體說明定義完端口之后,在結(jié)構(gòu)體architecture和begin之間需要有如下的定義語句,來定義狀態(tài)機。TYPElift_stateIS(stoponl,dooropen,doorclose,doorwaitl,doorwait2,doorwait3,doorwait4,up,down,stop):SIGNALmylift:lift_state:在結(jié)構(gòu)體中,設(shè)計了倆個進(jìn)程互相配合,一個是狀態(tài)機進(jìn)程作為主要進(jìn)程,另外一的信號燈信號為依據(jù)的,而信號燈進(jìn)程中信號燈的熄滅又是由狀態(tài)機進(jìn)程中傳出的clearup和cleardn信號來控制。在狀態(tài)機進(jìn)程中,在電梯的上升狀態(tài)中,通過對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)上升還是停止;在電梯下降狀態(tài)中,也是通過對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)下降還是停止;在電梯停止?fàn)顟B(tài)中,判斷是最復(fù)雜的,通過對信號的判斷,決定電梯是上升、下降還是停止。在信號燈控制進(jìn)程中,由于使用了專門的頻率較高的按鍵時鐘,所以使得按鍵的靈敏度增大,但是時鐘頻率不能過高,否則容易使按鍵過于靈敏。按鍵后產(chǎn)生的點亮的信號燈(邏輯值為‘1’)用于作為狀態(tài)機進(jìn)程中的判斷條件,而clearup和cleardn信號為邏輯‘l’使得相應(yīng)的信號燈熄滅。libraryieee;--庫聲明useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;--實體代碼entityfourliftisport(reset:instd_logic;sys_clk,key_clk:instd_logic;--系統(tǒng)時鐘按鍵時鐘f1_up_key:instd_logic;--一樓上升按鍵4f2_up_key:instd_logic;--二樓上升按鍵f2_dn_key:instd_logic;--二樓下降按鍵f3_up_key:instd_logic;--三樓上升按鍵f3_dn_key:instd_logic;--三樓下降按鍵f4_dn_key:instd_logic;--四樓下降按鍵stop1_key:instd_logic;--一層停站請求端口stop2_key:instd_logic;--二層停站請求端口stop3_key:instd_logic;--三層停站請求端口stop4_key:instd_logic;--四層停站請求端口close_key:instd_logic;--關(guān)門請求端口f_up_status:bufferstd_logic_vector(4downto1);--上升的狀態(tài)寄存信號f_dn_status:bufferstd_logic_vector(4downto1);--下降的狀態(tài)寄存信號f_stop_status:bufferstd_logic_vector(4downtoposition:bufferintegerrange1to4;--樓層的位置狀態(tài)lift_mode:bufferstd_logic;--電梯運行模式1為上升0為下降door_status:outstd_logic);--電梯門的狀態(tài)1為開0為關(guān)endentityfourlift;--結(jié)構(gòu)體代碼architectureoneoffourliftistypestatesis(stop_on1,door_open,door_close,door_wait1,door_wait2,door_wait3,door_wait4,up,down,stop);--定義各狀態(tài)子類型signallift_state:states;signalclear_up:std_logic;--上升和停站請求清除信號signalclear_dn:std_logic;--下降和停站請求清除信號beginreg:process(reset,sys_clk)--狀態(tài)進(jìn)程variablepos1:integerrange4downto1;--定義一個樓層的局部變量beginifreset='1'then--復(fù)位有效lift_state<=stop_on1;clear_up<='0';clear_dn<='0';elseif(sys_clk'eventandsys_clk='1')then--上升沿caselift_stateiswhenstop_on1=>door_status<='1';--position<=1;pos1:=1;lift_state<=door_wait1;whendoor_wait1=>lift_state<=door_wait2;whendoor_wait2=>lift_state<=door_wait3;clear_up<='0';clear_dn<='0';whendoor_wait3=>lift_state<=door_wait4;whendoor_wait4=>lift_state<=door_close;whendoor_close=>door_status<='0';--關(guān)門判斷電梯的下一個運行方式iflift_mode='0'then--下降模式5ifposition=4then--在4層if(f_up_status="0000"andf_dn_status="0000"andf_stop_status="0000")then--沒有請求信號時電梯停在當(dāng)前層lift_mode<='0';lift_state<=door_close;elsif(f_dn_status(4)='1'andf_stop_status(4)='1')then--本層有請求信號時開門lift_mode<='0';lift_state<=door_open;elselift_mode<='0';lift_state<=down;--否則下降endif;elsifposition=3then--if(f_up_status="0000"andf_dn_status="0000"andf_stop_status="0000")then--沒有請求信號時電梯停在當(dāng)前層lift_mode<='1';lift_state<=door_close;elsif(f_up_status(3)='1'orf_stop_status(3)='1')then--本層有上升和停站請求時lift_mode<='1';lift_state<=door_open;elsif(f_up_status="0000"andf_dn_status="0100"andf_stop_status="0000")then--只有3層有下降請求電梯開門lift_mode<='0';lift_state<=door_open;elsif(f_dn_status(4)='1'orf_stop_status(4)='1')then--當(dāng)四層有下降和停請求信號時lift_mode<='1';lift_state<=up;elselift_mode<='0';lift_state<=down;endif;elsifposition=2then--if(f_up_status="0000"andf_dn_status="0000"andf_stop_status="0000")then--沒有請求信號時電梯停在當(dāng)前層lift_mode<='1';lift_state<=door_close;elsif(f_up_status(2)='1'orf_stop_status(2)='1')then--本層有上升和停站請求時lift_mode<='1';lift_state<=door_open;elsif(f_up_status="0000"andf_dn_status="0010"andf_stop_status="0000")then--只有2層有下降請求電梯開門lift_mode<='0';lift_state<=door_open;elsif(f_dn_status(4)='1'orf_stop_status(4)='1'orf_dn_status(3)='1'orf_stop_status(3)='1'orf_up_status(3)='1')thenlift_mode<='1';lift_state<=up;elselift_mode<='0';lift_state<=down;endif;elsifposition=1then--if(f_up_status="0000"andf_dn_status="0000"andf_stop_status="0000")then--沒有請求信號時電梯停在當(dāng)前層lift_mode<='1';lift_state<=door_close;elsif(f_up_status(1)='1'orf_stop_status(1)='1')then--本層有上升和停站請求時lift_mode<='1';lift_state<=door_open;6elselift_mode<='1';lift_state<=up;endif;endif;endif;whenup=>position<=position+1;pos1:=pos1+1;--電梯樓層數(shù)加一ifpos1<4and(f_up_status(pos1)='1'orf_stop_status(pos1)='1')thenlift_state<=stop;elsiff_stop_status(pos1)='1')thenlift_state<=stop;pos1=4and(f_up_status(pos1)='1'orelselift_state<=door_close;endif;whendown=>position<=position-1;pos1:=pos1-1;--電梯樓層數(shù)減一ifpos1>1and(f_dn_status(pos1)='1'orf_stop_status(pos1)='1')thenlift_state<=stop;elsiff_stop_status(pos1)='1')thenlift_state<=stop;pos1=1and(f_dn_status(pos1)='1'(f_up_status(pos1)='1'(f_dn_status(pos1)='1'orororelselift_state<=door_close;endif;whenstop=>lift_state<=door_open;whendoor_open=>door_status<='1';iflift_mode='1'theniff_stop_status(pos1)='1')thenclear_up<='1';elseposition<4andclear_up<='1';clear_dn<='1';endif;elsiflift_mode='0'thenifpositionf_stop_status(pos1)='1')thenclear_dn<='1';else>1andclear_up<='1';clear_dn<='1';endif;endif;endcase;endif;endif;endprocessreg;7com:process(reset,key_clk)--控制進(jìn)程beginifreset='1'then--復(fù)位寄存器信號清零f_up_status<="0000";f_dn_status<="0000";f_stop_status<="0000";elseif(key_clk'eventandkey_clk='1')then--key—clk上升沿觸發(fā)iff1_up_key='1'then--記憶各層上升請求f_up_status(1)<='1';endif;iff2_up_key='1'then--記憶各層上升請求f_up_status(2)<='1';endif;iff3_up_key='1'then--記憶各層上升請

溫馨提示

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

最新文檔

評論

0/150

提交評論