重慶理工大學(xué) EDA電梯課題設(shè)計(jì)論文.doc_第1頁(yè)
重慶理工大學(xué) EDA電梯課題設(shè)計(jì)論文.doc_第2頁(yè)
重慶理工大學(xué) EDA電梯課題設(shè)計(jì)論文.doc_第3頁(yè)
重慶理工大學(xué) EDA電梯課題設(shè)計(jì)論文.doc_第4頁(yè)
重慶理工大學(xué) EDA電梯課題設(shè)計(jì)論文.doc_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余8頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

電梯控制系統(tǒng)的設(shè)計(jì)一、設(shè)計(jì)要求:要求用FPGA設(shè)計(jì)實(shí)現(xiàn)一個(gè)3層電梯的控制系統(tǒng)。系統(tǒng)的要求如下:(1)電梯運(yùn)行規(guī)則:當(dāng)電梯處在上升模式時(shí),只響應(yīng)比電梯所在位置高的上樓請(qǐng)求,由下向上逐個(gè)執(zhí)行,直到最后一個(gè)上樓請(qǐng)求執(zhí)行完畢。如果高層有下樓請(qǐng)求,直接升到有下樓請(qǐng)求的最高樓層,然后進(jìn)入下降模式。當(dāng)電梯處在下降模式時(shí),工作方式與上升模式相反。設(shè)電梯共有3層,每秒上升或下降一層。(2)電梯初始狀態(tài)為一層,處在開(kāi)門狀態(tài),開(kāi)門指示燈亮。(3)一層電梯入口處設(shè)有上樓請(qǐng)求開(kāi)關(guān),二層電梯入口處設(shè)有上、下樓請(qǐng)求開(kāi)關(guān),三層電梯入口處設(shè)有下樓請(qǐng)求開(kāi)關(guān),電梯內(nèi)部設(shè)有乘客到達(dá)樓層的停站請(qǐng)求開(kāi)關(guān)及其顯示。(4)設(shè)置電梯所處位置指示及電梯上升或下降指示。(5)電梯到達(dá)有停站請(qǐng)求的樓層后,電梯門打開(kāi),開(kāi)門指示燈亮。開(kāi)門4s后,電梯門開(kāi)關(guān)閉,開(kāi)門指示燈滅,電梯繼續(xù)運(yùn)行,直至執(zhí)行完最后一個(gè)請(qǐng)求信號(hào)后停在當(dāng)前層。(6)電梯控制系統(tǒng)能記憶電梯內(nèi)外的請(qǐng)求信號(hào),并按照電梯運(yùn)行規(guī)則工作,每個(gè)請(qǐng)求信號(hào)執(zhí)行完畢后隨即清除。電梯控制器的設(shè)計(jì) 控制器的功能模塊如圖1所示,包括主控制器、分控制器、樓層選擇器、狀態(tài)顯示器、譯碼器和樓層顯示器。乘客在電梯中選擇所要到達(dá)的樓層,同過(guò)主控制器的處理,電梯開(kāi)始運(yùn)行,狀態(tài)顯示器顯示電梯的運(yùn)行狀態(tài)。電梯所在的樓層數(shù)通過(guò)譯碼器譯碼從而在樓層顯示器中顯示。分控制器把有效的請(qǐng)求傳給主控制器進(jìn)行處理,同時(shí)顯示電梯的運(yùn)行狀態(tài)和電梯所在的樓層數(shù)。由于控制器相對(duì)簡(jiǎn)單很多,所以主控制器是核心部分。樓層顯示器樓層顯示器譯碼器狀態(tài)顯示器主控制器分控制器 圖1 電梯控制器原理框圖主控制器系統(tǒng)由VHDL語(yǔ)言實(shí)現(xiàn),其輸入輸出端口定義如下:library ieeeuse ieee std_loigic_unsigned.allentity ladder 3 isporl(clk,switch,close,delay:std_logic; /時(shí)鐘、開(kāi)關(guān)、提前開(kāi)門、延時(shí)關(guān)門 dir: in std_logic_vector(2 down to 0); /所選的樓層 up lift、down lift : in std_logic_vector(3 down to 0); /分控制器上升、下降請(qǐng)求qout : out std_logic_vector(3 down to 0); /所到達(dá)的樓層lamp : out std_logic_vector(1 down to 0); /電梯運(yùn)行狀態(tài)end ladder 3結(jié)構(gòu)體分為3個(gè)進(jìn)程,分別完成寄存器的置位復(fù)位、電梯運(yùn)行狀態(tài)判斷、時(shí)序電路及電梯運(yùn)行樓層變化和響應(yīng)提前延時(shí)請(qǐng)求。程序中定義urr(3b上升寄存器),drr(3b的下降寄存器),ur(上升寄存器各位相或),dr(下降寄存器各位相或),let(判斷狀態(tài)的使能信號(hào)),輸出端口qout, lamp的內(nèi)部信號(hào)lift、ladd, 時(shí)序內(nèi)部信號(hào)time。樓層請(qǐng)求寄存器的復(fù)位和置位。如果乘客進(jìn)入電梯后所選的樓層大于所在的樓層,而且電梯處于上升或者是ladd為“01”的等待狀態(tài),則給上升請(qǐng)求寄存器urr相應(yīng)的為置位。當(dāng)電梯運(yùn)行到所在的樓層,在time等于“110”時(shí)給該位復(fù)位。如果有多個(gè)請(qǐng)求則urr響應(yīng)的位都置位。下降請(qǐng)求寄存器drr原理相似。寄存器urr和drr的各位相或后得到ur和dr信號(hào)作為狀態(tài)變化的條件信號(hào)。電梯運(yùn)行狀態(tài)的判斷 分為3個(gè)狀態(tài) wait, upper, down。狀態(tài)圖如圖2所示。 Wait(等待)Switch=1Down(下降)Upper(上升) ur=1 ur=0,dr=0 ur=0,dr=0 ur =1 dr=1ur=1 圖2 電梯控制器的狀態(tài)轉(zhuǎn)換圖當(dāng)電梯開(kāi)關(guān)switch為“0”時(shí),為等待狀態(tài),狀態(tài)指示信號(hào)ladd為“00”。Switch為“1”時(shí),time為“101”而且使能信號(hào)let有效時(shí),進(jìn)行狀態(tài)確定。沒(méi)有上升下降請(qǐng)求時(shí)也為等待狀態(tài)。狀態(tài)信號(hào)ladd為“01”;上升狀態(tài)時(shí)信號(hào)ladd為“11”;下降狀態(tài)時(shí)狀態(tài)信號(hào)為“10”。時(shí)序電路及電梯運(yùn)行時(shí)樓層變化和提前延時(shí)關(guān)門功能:根據(jù)ladd狀態(tài)對(duì)所到達(dá)的樓層數(shù)信號(hào)lift做相應(yīng)的增減。電梯在time信號(hào)跳變到“110”時(shí)關(guān)門,此時(shí)設(shè)置使能信號(hào)let為“1”,當(dāng)time信號(hào)跳變到“010”時(shí),如果電梯狀態(tài)信號(hào)ladd為“11”,而且使能信號(hào)let有效時(shí),電梯層數(shù)指示器就增加,如果電梯達(dá)到了所選擇的樓層,則使能信號(hào)復(fù)位。電梯門打開(kāi)。下降原理類似。當(dāng)電梯處于上升狀態(tài)時(shí),如果有上升請(qǐng)求的分控制器所在樓層數(shù)大于電梯所在的樓層數(shù),當(dāng)電梯運(yùn)行到相應(yīng)的樓層數(shù)時(shí),電梯開(kāi)門,讓有請(qǐng)求的乘客進(jìn)入電梯。分控制器下降請(qǐng)求的原理類似。如果提前開(kāi)門有效,則等待時(shí)間縮短,如果延時(shí)信號(hào)有效,則等待時(shí)間加長(zhǎng)??傮w框圖如下圖所示: 4 模塊、模塊功能及相應(yīng)程序模塊VERYHARDD見(jiàn)圖3。該模塊是整個(gè)程序的核心。主要的設(shè)計(jì)思想是將電梯的狀態(tài)劃分為四個(gè):一層狀態(tài)(c1),二層狀態(tài) (c2) ,三層狀態(tài) (c3) ,開(kāi)門狀態(tài) ( kai )。對(duì)每一個(gè)狀態(tài)分析其所有的可能。 圖3 模塊VERYHARDD library ieee; /up1,up2:是一層二層的上升請(qǐng)求Use ieee.std_logic_1164.all; /down2,down3:是二層、三層的下降請(qǐng)求entity veryhardd is /k1,k2,k3:是在一層、二層、三層停電梯的請(qǐng)求port(up1,up2,clk,down2,down3,k1,k2,k3:instd_logic; /up1,up2,down2,down3,k1,k2,k3均與按鍵開(kāi)關(guān)相連site:out std_logic_vector(3 downto 1);a1,a2,a3:out std_logic; /a1,a2,a3:顯示在哪一層有停電梯請(qǐng)求 mode,door:out std_logic); end veryhardd; /mode:顯示電梯現(xiàn)在的運(yùn)行模式(上升或下降)architecture veryhard_arc of veryhardd is /door:顯示現(xiàn)在門的狀態(tài)(“0”表示關(guān),“1”表示開(kāi))type state_type is (c1,c2,c3,kai); begin /a1,a2,a3,door均與發(fā)光二極管相連process(clk)variable up1,down1,ting1,ceng1:std_logic_vector(3 downto 1);variable mo,x,y,z:std_logic;variable cnt1,cnt2:integer;variable state:state_type;beginif clkevent and clk=1thenif up1=0thenup1(1):=1;end if;if up2=0thenup1(2):=1;end if;if down3=0then down1(3):=1; end if;if diwn2=0then down1(2):=1; end if; if k1=0then ting1(1):=1; end if; if k2=0then ting1(2):=1; end if;if k3=0then ting1(3):=1; end if; if cnt1ceng1:=”001”;mo:=0; /電梯在一層轉(zhuǎn)為上升模式 if up1/=”000”ordown1/=”000”orting1/000then z:=1; /任何請(qǐng)求都會(huì)破壞初態(tài) end if; if z=0then /電梯的初態(tài)為一層開(kāi)門狀態(tài) door=1; else doorceng1:=”010”; if mo0then if ting1(2)=1or up1(2)=1then state:=kai; ting1(2):=0; up1(2):=0; elsif down1(3)=1or ting1(3)=1or x=1then state:=c3;x:=0;elsif down1(2)=1or up1(1)=1or ting1(1)=1then mo:=1; end if; else if ting1(2)=1or down1(2)=1thenstate:=kai;ting1(2):=0;down1(2):=0;elsif up1(1)=1or ting1(1)=1or y=1thenstate:=c1;y:=0;elsif up1(2)=1or down1(3)=1or ting1(3)=1then mo:=0;end if; end if;when c3=mo:=1ceng1;=”100”;If ting1(3)=1or down1(3)=1thenstate:=kai;ting1(3):=0;down1(3):=0;elsif down1(2)=1or ting1(2)=1then state:=c2;elsif up1(1)=1or ting1(1)=1then state:=c2; y:=1;elsif up1(2)=1then state:=c2; mo:=0;end if; when kai=door=1; if cnt23 thencnt2:cnt2+1;else door=0; cnt2:=0; if ceng1=”001”then state:=c1; elsif ceng1=”010”then state:=c2; else state:=c3; end if;end if; end case; cnt1:=0; end if; end if; site=ceng1; a1=ting(1);a2=ting(2);a3=ting(3); modeqqqnull; end case; end if;end process;end seg_arc;模塊DIAN見(jiàn)圖5。該模塊的功能是將電梯工作模式利用16X16點(diǎn)陣顯示出來(lái)。圖5 模塊DLANlibrary ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dian is port(clk,mode:in std_logic; sel:out std_logic_vector(3 downto 0); q:out std_logic_vector(0 to 15); end dian; architecture dian_arc of dian is begin process(clk) variable seel:std_logic_vector(3 downto 0); begin if clkevent and clk=1then seel:seel+1; if mode=0then case seel iswhen “0011”=qqqqqqqqqqqqqqqqqqqqqq=”0000000000000000”;end case; end if; end if; sel=seel; end process; end dian_arc;仿真結(jié)果該控制器由VHDL語(yǔ)言實(shí)現(xiàn)。在XXXX中仿真,仿真結(jié)果如圖6所示。電梯在1樓(dir=“0000”)時(shí)處于等待狀態(tài),有2個(gè)乘客進(jìn)入電梯,一個(gè)到2樓(dir=”0001”),一個(gè)到3樓(“dir=0010”),則dir的第2位和第3位置位。urr為“000A”,lamp變?yōu)椤?1”、電梯轉(zhuǎn)為上升狀態(tài)。當(dāng)電梯到達(dá)2樓時(shí),urr的第2位復(fù)位變?yōu)椤?00B”,電梯門自動(dòng)打開(kāi),后有提前關(guān)門的請(qǐng)求,電梯開(kāi)門開(kāi)始運(yùn)行。電梯到達(dá)3樓后urr第3位復(fù)位為“0000”,電梯開(kāi)門讓乘客出去。從下四圖可見(jiàn)實(shí)現(xiàn)了電梯控制器的設(shè)計(jì)。有上升請(qǐng)求的仿真波形有下降請(qǐng)求的仿真波形 同時(shí)有上有下請(qǐng)求的仿真波形 復(fù)雜請(qǐng)求的仿真波形總結(jié)VHDL語(yǔ)言既具有高級(jí)編程語(yǔ)言的優(yōu)點(diǎn),又有并行執(zhí)行的特性,使設(shè)計(jì)者脫離了底層電路,而在更高的層次上考慮電路的各種時(shí)序和邏輯關(guān)系。這樣設(shè)計(jì)者可以采用自頂向下的設(shè)計(jì)方法和并行工作的設(shè)計(jì)原則。用VHDL硬件描述語(yǔ)言的形式來(lái)進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì)方便靈活,利用EDA軟件進(jìn)行編譯優(yōu)化仿真極大的減少了電路設(shè)計(jì)時(shí)間和可能發(fā)生的錯(cuò)誤,降低了開(kāi)發(fā)成本。這種設(shè)計(jì)方法必在將來(lái)的數(shù)字系統(tǒng)設(shè)計(jì)中發(fā)揮越來(lái)越重要的作用。(1)在進(jìn)行設(shè)計(jì)時(shí),最主要的是先設(shè)計(jì)理清時(shí)序。在單個(gè)實(shí)現(xiàn)各個(gè)模塊功能時(shí)比較簡(jiǎn)單。但將各個(gè)功能模塊綜合在一起之后就需要理清它們的時(shí)序,才能夠共用數(shù)據(jù)總線,使其互不干擾地工作。(2)設(shè)計(jì)完成后要在模版上仿真,來(lái)驗(yàn)證所編程序的正確性和可行性。在仿真的時(shí)候會(huì)出現(xiàn)比較多的問(wèn)題,如果能夠耐心的解決將會(huì)獲益良多。(3)有的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論