




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄第一章 設計的性質與目的2第二章 設計任務與要求3第三章 方案選擇與論證4第四章 設計原理54.1 原理圖54.2 流程圖54.3 結構框圖64.4 程序描述6第五章部分時序仿真圖155.1 電梯上鎖155.2 電梯報警155.3 電梯超載155.4 電梯運行模擬165.5 電梯開門延時模擬185.6 電梯緊急開門19第七章 調試過程中出現的問題及解決措施20第八章 設計總結218.1 設計方案的優(yōu)缺點比較218.2 心得體會22第一章 設計的性質與目的 sopc/eda綜合課程設計是繼eda技術及應用和數字電子技術課程之后開出的實踐環(huán)節(jié)教學。目的是訓練學生綜合運用學過的數字電子技術和ed
2、a技術及應用的基本知識,培養(yǎng)獨立設計比較復雜的數字邏輯系統的能力。設計工作建立在硬件和軟件兩個平臺的基礎上。硬件平臺是可編程邏輯器件,所選的器件可保證在一片芯片上設計出題目要求的數字電路系統。軟件平臺是altera公司的quartus ii。通過課程設計,學生要掌握使用eda(電子設計自動化)工具設計數字邏輯的方法,包括設計輸入、編譯、軟件仿真、下載和硬件仿真等全過程。第二章 設計任務與要求1.設計一個4層電梯全自動控制電路。2.電梯運行鎖用一按鈕代替(開鎖上電),低電平可以運行,高電平不能運行。3.每層電梯入口處設有上行、下行請求按鈕,電梯內設有乘客到達層次的停站要求開關,高電平有效。4.有
3、電梯所處樓層指示燈和電梯上行、下行狀態(tài)指示燈。5.電梯到達某一層時,該層指示燈亮,并一直保持到電梯到達另一層為止。電梯上行或下行時,相應狀態(tài)指示燈亮。6.電梯接收到停站請求后,每層運行2秒,到達停站層,停留2秒后門自動打開,開門指示燈亮,開門6秒后電梯自動關門。7.能記憶電梯內、外的請求信號,并按照電梯的運行規(guī)則依次響應,請求信號保留至響應后撤除。8.人數超載或超重用一按鈕代替,高電平有效,超載時電梯不能運行,并有相應指示。9.事故報警按鈕高電平有效,事故報警不能運行,并有指示燈,信號保留至事故消除。10.增加手動開門、關門控制,并可調整開、關門時間。第三章 方案選擇與論證電梯共有上升、下降、
4、開門、關門、停止、一樓、二樓、三樓、四樓等幾個狀態(tài),設計電梯就是要弄清楚這幾個狀態(tài)之間的相互轉化關系,可以假設電梯開始時在一樓,如果二三四樓有請求(包括電梯要停在二樓或二樓有上升或下降請求或停在三樓或三樓有上升或下降請求或停在四樓、或四樓有下降請求),則電梯要上升,否則就停在一樓。當電梯在二樓時,如果三樓或四樓有請求(包括電梯停在三樓或三樓有上升或下降請求或停在四樓或四樓有下降請求),則電梯要上升,如果一樓有請求(包括停在一樓或一樓有上升請求),則電梯下降。當電梯在三樓時,如果四樓有請求(包括停在四樓或四樓有下降請求),則電梯要上升,如果一樓二樓有請求(包括停在一樓或二樓或一樓二樓有上升請求或
5、二樓有下降請求),則電梯要下降,否則電梯就停在三樓。當電梯在四樓,如果一二三樓有請求(包括停在一二三樓或一二三樓有上升請求或二三樓有下降請求),則電梯下降,否則電梯停在四樓。當電梯上鎖時,電梯處于非工作狀態(tài),所有指示燈全滅,當電梯超載時,超載燈亮,等電梯遇到緊急情況時,報警燈亮。因為電梯上升或下降是一個過程,這個過程持續(xù)兩秒,電梯開關門要持續(xù)六秒,所以還必須設計一個計數器,計數器和主控制器共同組成電路的原理方案圖,這是主控制器和計數器可以不用同一個時鐘脈沖驅動,但要處理好兩個元件的連接。當然如果主控制器是用秒脈沖驅動,可以把兩個模塊集成一個模塊。第四章 設計原理4.1 原理圖clk1clock
6、alarmoverweightit1it2it3it4up1up2up3down2down3down4opencloseled1led2led3led4upleddownled openled overweightledalarmled電 梯 控 制 器圖4.1 電梯控制器的原理圖4.2 流程圖 lt1 lt2 lt4 lt3lock or alarm or overweightlock or alarm or overweightlock or alarm or overweightlock or alarm or overweight圖4.2 電梯控制器流程圖4.3 結構框圖圖4.3 電梯
7、控制器結構圖4.4 程序描述library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity contrl is port(clk1,lock,alarm,overweight,it1,it2,it3,it4,up1,up2,up3,down2,down3,down4:in std_logic;-lock為電梯鎖開關 alarm為警報器開關 overweight為超重開關 it1、it2、it3、it4分別表示電梯停在一二三四樓 up1表示一樓
8、有向上請求 up2表示二樓有向上請求 up3表示三樓有向上請求 down2表示二樓有向下的請求-down3表示三樓有向下請求 down4表示四樓有向下請求 quick,delay,dengwo:in std_logic;-分別表示快速關門 延長一段時間關門 不馬上關門 led1,led2,led3,led4:out std_logic;-一二三四樓層的指示燈 alarmled,overweightled,upled,downled,dooropenled:out std_logic);-報警燈 超重燈 上行狀態(tài)燈 下降狀態(tài)燈 開門燈 end contrl;architecture xin of
9、 contrl istype state_type is(start,rukou,up,down,dooropen,stop,wait1,wait2,wait3,wait4,wait5,wait6,wait7,wait8,wait9,upwait1,upwait2,dnwait1,dnwait2);-start表示初始化狀態(tài) rukou表示程序執(zhí)行狀態(tài) up上行狀態(tài) down下降狀態(tài) dooropen開門狀態(tài) stop停止運行狀態(tài)-后面幾個狀態(tài)用來延時signal state:state_type:=start;signal stopcun: std_logic_vector(3 downto
10、 0);-電梯停止樓層存儲器signal upcun,downcun: std_logic_vector(2 downto 0);-上升請求存儲器 下降請求存儲器signal dd1,dd2,dd3: std_logic_vector(3 downto 0);-信號用來交換數據beginp1:process(clk1,lock,alarm,overweight)variable position: integer range 0 to 4;beginif lock=1 then led1=0;led2=0;led3=0;led4=0;alarmled=0;overweightled=0;doo
11、ropenled=0;upled=0;downled=0;-電梯上鎖elsif alarm=1 then alarmled=1;-警報燈亮elsif overweight=1 then overweightled=1;-超重燈亮elsif rising_edge(clk1) then if up1=1 then upcun(0)=1; end if; if up2=1 then upcun(1)=1; end if; if up3=1 then upcun(2)=1; end if; if down4=1 then downcun(2)=1; end if; if down3=1 then d
12、owncun(1)=1; end if; if down2=1 then downcun(0)=1; end if; if it1=1 then stopcun(0)=1; end if; if it2=1 then stopcun(1)=1; end if; if it3=1 then stopcun(2)=1; end if; if it4=1 then stopcun(3)=1; end if;-將各種請求存入存儲器 dd1=0& upcun;-將上升請求存儲器擴展成四位 dd2=downcun & 0;-將下降請求擴展成四位 dd3 if dd3=0000 then state=sta
13、rt; elsif position=0 then led1=1;position:=position+1; state if position=1 then if stopcun(0)=1 or upcun(0)=1 then stopcun(0)=0;upcun(0)=0; state=dooropen; else state=up; end if;-電梯在一樓,如果當前層有請求,進入開門狀態(tài),同時清除請求,否則電梯上升 elsif position=2 then if stopcun(1)=1 or upcun(1)=1 or downcun(0)=1 then stopcun(1)=0
14、 ; upcun(1)=0;downcun(0)=0;state0011 then state=up; elsif dd30010 then state=down; end if;-電梯在二樓,如果當前層有請求,進入開門狀態(tài),同時將請求清除,如果三四樓有請求,電梯上升,否則下降 elsif position=3 then if stopcun(2)=1 or upcun(2)=1 or downcun(1)=1 then stopcun(2)=0;upcun(2)=0 ;downcun(1)=0; state0111 then state=up; elsif dd30100 then stat
15、e=down; end if;-電梯在三樓,如果當前層有請求,進入開門狀態(tài),同時將請求清除,如果四樓有請求,電梯上升,否則下降 elsif position=4 then if stopcun(3)=1 or downcun(2)=1 then stopcun(3)=0;downcun(2)=0;state=dooropen; else stateupled=1;statestateupled=0;position:=position+1;-到達新的樓層,上行指示燈滅 if position=1 then led1=1;led2=0;led3=0;led4=0;-一樓指示燈亮 elsif po
16、sition=2 then led2=1;led1=0;led3=0;led4=0;-二樓指示燈亮 elsif position=3 then led3=1;led2=0;led1=0;led4=0;-三樓指示燈亮 elsif position=4 then led4=1;led1=0;led2=0;led3=0;-四樓指示燈亮 else led1=0;led2=0;led3=0;led40011 and stopcun(1)=0 and upcun(1)=0 and downcun(0)=0 then state0111 and stopcun(2)=0 and upcun(2)=0 and
17、 downcun(1)=0 then state=up;-如果在三樓且當前層沒有請求,電梯繼續(xù)上升 else state=dooropen;if position=4 then if downcun(2)=1 then downcun(2)=0;end if; if stopcun(3)=1 then stopcun(3)=0;end if; elsif position=3 then if downcun(1)=1 then downcun(1)=0; end if; if upcun(2)=1 then upcun(2)=0; end if; if stopcun(2)=1 then st
18、opcun(2)=0;end if; elsif position=2 then if downcun(0)=1 then downcun(0)=0; end if; if upcun(1)=1 then upcun(1)=0; end if; if stopcun(1)=1 then stopcun(1)downled=1;statestatedownled=0;position:=position-1;-到達新的樓層,下降指示燈滅 if position=1 then led1=1;led2=0;led3=0;led4=0; elsif position=2 then led2=1;led
19、1=0;led3=0;led4=0; elsif position=3 then led3=1;led2=0;led1=0;led4=0; elsif position=4 then led4=1;led2=0;led3=0;led1=0; else led1=0;led2=0;led3=0;led4=0; end if; if position=3 and dd30100 and stopcun(2)=0 and upcun(2)=0 and downcun(1)=0 then state=down;-電梯在三樓且當前層沒有請求,電梯繼續(xù)下降 elsif position=2 and dd3
20、0010 and stopcun(1)=0 and upcun(1)=0 and downcun(0)=0 then state=down;-電梯在二樓且當前層沒有請求,電梯繼續(xù)下降 else state=dooropen;if position=1 then if upcun(0)=1 then upcun(0)=0;end if; if stopcun(0)=1 then stopcun(0)=0;end if; elsif position=2 then if upcun(1)=1 then upcun(1)=0; end if; if downcun(0)=1 then downcun
21、(0)=0; end if; if stopcun(1)=1 then stopcun(1)=0;end if; elsif position=3 then if upcun(2)=1 then upcun(2)=0;end if; if downcun(1)=1 then downcun(1)=0; end if; if stopcun(2)=1 then stopcun(2)statedooropenled=1; state if quick=1 then state=wait7;-快速關門,電梯開門后過三秒關門 elsif delay=1 then state=wait3;-延時關門,電
22、梯開門后過九秒關門 else statestatestatestatestatestatestate dooropenled=0; if dengwo=1 then state0000 then state=rukou;-請求沒有執(zhí)行完畢,繼續(xù)執(zhí)行程序 else stateif position1 then stopcun(0)=1; state=rukou;-如果電梯不是停在一樓,將電梯返回到一樓 else led1=0;led2=0;led3=0;led4=0;alarmled=0; overweightled=0;dooropenled=0;upled=0;downled=0; posi
23、tion:=0;-電梯停止運行,進入上鎖狀態(tài) end if;end case;end if;end process p1;end xin;第五章 部分時序仿真圖5.1 電梯上鎖電梯上鎖,有請求也不執(zhí)行;5.2 電梯報警當有緊急情況時,報警燈亮,有請求不會執(zhí)行;5.3 電梯超載當電梯超載時,超載警報燈亮,有請求不執(zhí)行5.4 電梯運行模擬這個圖模擬的是多個請求時,電梯的運行情況。先是一樓有向上請求想到二樓去同時二樓有向上請求到四樓去,接著四樓有下降請求回到一樓,電梯運行情況是:電梯在一樓(一樓指示燈led1亮)時開門持續(xù)6秒(波形上可以看到開門燈亮),關門后,電梯向上運行(上行指示燈亮2秒),到二
24、樓后(二樓指示燈led2亮),電梯開門(同樣開門燈持續(xù)亮六秒),接著電梯繼續(xù)上升,上行指示燈亮2秒,到三樓時,三樓指示燈led3亮,電梯繼續(xù)向上運行,上行指示燈亮2秒,到達四樓時四樓指示燈亮,同時電梯門打開(開門燈亮6秒),關門后,電梯向下運行(下降指示燈亮2秒),到達三樓時三樓指示燈亮,電梯繼續(xù)向下運行(下降指示燈亮2秒),到達2樓時二樓指示燈亮,電梯繼續(xù)向下運行(下降指示燈亮兩秒),到達一樓時,電梯門打開(開門燈亮),關門后沒有其它請求,電梯停止運行。四樓有個向下的請求要到三樓去,二樓有個向下的請求要到一樓,電梯運行情況為:電梯開始時在一樓,一樓指示燈亮,電梯向上運行(上升指示燈亮2秒),
25、到達二樓,二樓指示燈亮,電梯繼續(xù)向上運行(上升指示燈亮2秒),到達三樓,三樓指示燈亮,電梯仍向上運行(上升指示燈亮2秒),到達四樓,四樓指示燈亮,電梯門打開(開門燈亮6秒),電梯關門后,電梯向下運行(下降指示燈亮2秒),到達三樓(三樓指示燈亮),電梯開門(開門指示燈亮6秒),電梯繼續(xù)下降(下降指示燈亮2秒),到達二樓(二樓指示燈亮),電梯開門(開門指示燈亮6秒),電梯繼續(xù)下降(下降指示燈亮2秒),到達一樓,電梯門打開,電梯運行結束。5.5 電梯開門延時模擬電梯受到一個不馬上關門信號(dengwo=1),電梯關上的門重新打開,并延長一段時間門。5.6 電梯緊急開門在這幅波形圖上,當第二次開門時有
26、一個快速關門信號(quick=1)開門燈亮了四秒就滅了(電梯關門了),當第三次開門時收到一個延時信號(delay=1),開門燈亮了8秒才滅。注釋:由于有的信號名字太長無法全部顯示出來,現特意標示(每幅圖都一樣),信號的名稱依次為:alarm alarmled clk1 delay dengwo dooropenled down2 down3 down4 downled it1 it2 it3 it4 led1 led2 led3 led4 lock overweight overweightled quick up1 up2 up3 upled 第七章 調試過程中出現的問題及解決措施error
27、:vhdl syntax error at contrl vhd(11)near text “if”:expecting “end”,or “(”or an identifier (“if” is a reserved keyword),or a parallel statement 這通常是警告你你寫的程序在11行附近的if在后面沒有end if 與之呼應。由于程序中用到判斷條件的語句非常多,所以這個錯誤會經常出現。error: vhdl error at haha.vhd(16): type of identifier haha does not agree with its usage
28、as void type這是在警告你程序16行定義的haha的類型與其使用形式不對應,很可能是haha為變量,卻被當作信號來賦值或者是haha為信號,卻被當作變量使用。error: vhdl syntax error at contrl.vhd(4) near text這表明程序第四行有錯誤,很可能知識用中文打了幾個標點符號而已,這個要注意了,千萬不要忽略了這個小錯誤,很可能你就是找不出來在那干著急。error: vhdl syntax error at contrl.vhd(17) :variable “position” is used but not declared這個錯誤是因為你使用
29、了變量variable 但是卻在之前沒有先進行定義,當然也可能是你定義了,但在使用時由于筆下誤而打錯了。還有一個值得注意的問題是在組合邏輯中不能使用if條件語句,而應該用when 語句來代替。還有問題就是在使用邏輯變量時,0和1一定要加上單引號,但對于整型變量卻不用加單引號。錯誤一般提示都比較明顯,很容易就可以改正過來,比較難改的是警告warning,因為錯誤一般都是語法造成的,只要學會了vhdl語言,掌握其使用方法就很容易改正錯誤,但警告不同,警告一般都是思維邏輯錯誤造成的,當然一般的警告不必管,但如果警告過多,比如超過10條以上你就得小心了,你需要把思路重新整理一下,看看有沒有明顯的邏輯錯誤,如果沒有,在看看是哪個地方出毛病了,當把警告消除到10個以內基本就可以運行程序出現結果了。第八章 設計總結8.1 設計方案分析比較我設計的方案比較精簡,因為我把電梯在四個樓層的請
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程課題立項申報書
- 儲罐氣體銷售合同范本
- 代駕租賃合同范本
- Unit 3 Keep Fit section B 1a-1d 同步課時講練(含答案)七年級英語下冊(人教版2024)
- 原料購置合同范例
- 公司食堂 燃氣 合同范本
- 印刷紙箱合同范本
- 產品折扣合同范本
- 課題申報書怎么寫作
- 卡位包間租賃合同范本
- 2024年廣州市公安局招聘交通輔警考試真題
- 隨機交易策略(TB版)
- 《綠色建筑設計原理》課件
- 中醫(yī)館裝修合同范本
- 1.1 銳角三角函數(第1課時) 課件 2024-2025學年北師大版九年級數學下冊
- 2025年分手協議書規(guī)范承諾函
- 椎管打骨水泥后的護理
- 學習與科技的融合主題班會
- 《直播銷售》課件-項目一 認識直播與直播銷售
- 2025年南京科技職業(yè)學院高職單招數學歷年(2016-2024)頻考點試題含答案解析
- 2025-2030年中國航空配餐行業(yè)市場發(fā)展現狀及投資前景規(guī)劃研究報告
評論
0/150
提交評論