免費(fèi)預(yù)覽已結(jié)束,剩余8頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
電梯控制系統(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)比電梯所在位置高的上樓請求,由下向上逐個(gè)執(zhí)行,直到最后一個(gè)上樓請求執(zhí)行完畢。如果高層有下樓請求,直接升到有下樓請求的最高樓層,然后進(jìn)入下降模式。當(dāng)電梯處在下降模式時(shí),工作方式與上升模式相反。設(shè)電梯共有3層,每秒上升或下降一層。(2)電梯初始狀態(tài)為一層,處在開門狀態(tài),開門指示燈亮。(3)一層電梯入口處設(shè)有上樓請求開關(guān),二層電梯入口處設(shè)有上、下樓請求開關(guān),三層電梯入口處設(shè)有下樓請求開關(guān),電梯內(nèi)部設(shè)有乘客到達(dá)樓層的停站請求開關(guān)及其顯示。(4)設(shè)置電梯所處位置指示及電梯上升或下降指示。(5)電梯到達(dá)有停站請求的樓層后,電梯門打開,開門指示燈亮。開門4s后,電梯門開關(guān)閉,開門指示燈滅,電梯繼續(xù)運(yùn)行,直至執(zhí)行完最后一個(gè)請求信號后停在當(dāng)前層。(6)電梯控制系統(tǒng)能記憶電梯內(nèi)外的請求信號,并按照電梯運(yùn)行規(guī)則工作,每個(gè)請求信號執(zhí)行完畢后隨即清除。電梯控制器的設(shè)計(jì) 控制器的功能模塊如圖1所示,包括主控制器、分控制器、樓層選擇器、狀態(tài)顯示器、譯碼器和樓層顯示器。乘客在電梯中選擇所要到達(dá)的樓層,同過主控制器的處理,電梯開始運(yùn)行,狀態(tài)顯示器顯示電梯的運(yùn)行狀態(tài)。電梯所在的樓層數(shù)通過譯碼器譯碼從而在樓層顯示器中顯示。分控制器把有效的請求傳給主控制器進(jìn)行處理,同時(shí)顯示電梯的運(yùn)行狀態(tài)和電梯所在的樓層數(shù)。由于控制器相對簡單很多,所以主控制器是核心部分。樓層顯示器樓層顯示器譯碼器狀態(tài)顯示器主控制器分控制器 圖1 電梯控制器原理框圖主控制器系統(tǒng)由VHDL語言實(shí)現(xiàn),其輸入輸出端口定義如下:library ieeeuse ieee std_loigic_unsigned.allentity ladder 3 isporl(clk,switch,close,delay:std_logic; /時(shí)鐘、開關(guān)、提前開門、延時(shí)關(guān)門 dir: in std_logic_vector(2 down to 0); /所選的樓層 up lift、down lift : in std_logic_vector(3 down to 0); /分控制器上升、下降請求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í)請求。程序中定義urr(3b上升寄存器),drr(3b的下降寄存器),ur(上升寄存器各位相或),dr(下降寄存器各位相或),let(判斷狀態(tài)的使能信號),輸出端口qout, lamp的內(nèi)部信號lift、ladd, 時(shí)序內(nèi)部信號time。樓層請求寄存器的復(fù)位和置位。如果乘客進(jìn)入電梯后所選的樓層大于所在的樓層,而且電梯處于上升或者是ladd為“01”的等待狀態(tài),則給上升請求寄存器urr相應(yīng)的為置位。當(dāng)電梯運(yùn)行到所在的樓層,在time等于“110”時(shí)給該位復(fù)位。如果有多個(gè)請求則urr響應(yīng)的位都置位。下降請求寄存器drr原理相似。寄存器urr和drr的各位相或后得到ur和dr信號作為狀態(tài)變化的條件信號。電梯運(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)電梯開關(guān)switch為“0”時(shí),為等待狀態(tài),狀態(tài)指示信號ladd為“00”。Switch為“1”時(shí),time為“101”而且使能信號let有效時(shí),進(jìn)行狀態(tài)確定。沒有上升下降請求時(shí)也為等待狀態(tài)。狀態(tài)信號ladd為“01”;上升狀態(tài)時(shí)信號ladd為“11”;下降狀態(tài)時(shí)狀態(tài)信號為“10”。時(shí)序電路及電梯運(yùn)行時(shí)樓層變化和提前延時(shí)關(guān)門功能:根據(jù)ladd狀態(tài)對所到達(dá)的樓層數(shù)信號lift做相應(yīng)的增減。電梯在time信號跳變到“110”時(shí)關(guān)門,此時(shí)設(shè)置使能信號let為“1”,當(dāng)time信號跳變到“010”時(shí),如果電梯狀態(tài)信號ladd為“11”,而且使能信號let有效時(shí),電梯層數(shù)指示器就增加,如果電梯達(dá)到了所選擇的樓層,則使能信號復(fù)位。電梯門打開。下降原理類似。當(dāng)電梯處于上升狀態(tài)時(shí),如果有上升請求的分控制器所在樓層數(shù)大于電梯所在的樓層數(shù),當(dāng)電梯運(yùn)行到相應(yīng)的樓層數(shù)時(shí),電梯開門,讓有請求的乘客進(jìn)入電梯。分控制器下降請求的原理類似。如果提前開門有效,則等待時(shí)間縮短,如果延時(shí)信號有效,則等待時(shí)間加長??傮w框圖如下圖所示: 4 模塊、模塊功能及相應(yīng)程序模塊VERYHARDD見圖3。該模塊是整個(gè)程序的核心。主要的設(shè)計(jì)思想是將電梯的狀態(tài)劃分為四個(gè):一層狀態(tài)(c1),二層狀態(tài) (c2) ,三層狀態(tài) (c3) ,開門狀態(tài) ( kai )。對每一個(gè)狀態(tài)分析其所有的可能。 圖3 模塊VERYHARDD library ieee; /up1,up2:是一層二層的上升請求Use ieee.std_logic_1164.all; /down2,down3:是二層、三層的下降請求entity veryhardd is /k1,k2,k3:是在一層、二層、三層停電梯的請求port(up1,up2,clk,down2,down3,k1,k2,k3:instd_logic; /up1,up2,down2,down3,k1,k2,k3均與按鍵開關(guān)相連site:out std_logic_vector(3 downto 1);a1,a2,a3:out std_logic; /a1,a2,a3:顯示在哪一層有停電梯請求 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”表示開)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; /任何請求都會破壞初態(tài) end if; if z=0then /電梯的初態(tà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見圖5。該模塊的功能是將電梯工作模式利用16X16點(diǎn)陣顯示出來。圖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語言實(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”,電梯門自動打開,后有提前關(guān)門的請求,電梯開門開始運(yùn)行。電梯到達(dá)3樓后urr第3位復(fù)位為“0000”,電梯開門讓乘客出去。從下四圖可見實(shí)現(xiàn)了電梯控制器的設(shè)計(jì)。有上升請求的仿真波形有下降請求的仿真波形 同時(shí)有上有下請求的仿真波形 復(fù)雜請求的仿真波形總結(jié)VHDL語言既具有高級編程語言的優(yōu)點(diǎn),又有并行執(zhí)行的特性,使設(shè)計(jì)者脫離了底層電路,而在更高的層次上考慮電路的各種時(shí)序和邏輯關(guān)系。這樣設(shè)計(jì)者可以采用自頂向下的設(shè)計(jì)方法和并行工作的設(shè)計(jì)原則。用VHDL硬件描述語言的形式來進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì)方便靈活,利用EDA軟件進(jìn)行編譯優(yōu)化仿真極大的減少了電路設(shè)計(jì)時(shí)間和可能發(fā)生的錯(cuò)誤,降低了開發(fā)成本。這種設(shè)計(jì)方法必在將來的數(shù)字系統(tǒng)設(shè)計(jì)中發(fā)揮越來越重要的作用。(1)在進(jìn)行設(shè)計(jì)時(shí),最主要的是先設(shè)計(jì)理清時(shí)序。在單個(gè)實(shí)現(xiàn)各個(gè)模塊功能時(shí)比較簡單。但將各個(gè)功能模塊綜合在一起之后就需要理清它們的時(shí)序,才能夠共用數(shù)據(jù)總線,使其互不干擾地工作。(2)設(shè)計(jì)完成后要在模版上仿真,來驗(yàn)證所編程序的正確性和可行性。在仿真的時(shí)候會出現(xiàn)比較多的問題,如果能夠耐心的解決將會獲益良多。(3)有的
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年供應(yīng)鏈控制塔平臺項(xiàng)目公司成立分析報(bào)告
- 2026年傳感器項(xiàng)目公司成立分析報(bào)告
- 2026年縣域商業(yè)體系升級項(xiàng)目可行性研究報(bào)告
- 2026年新能源電力交易服務(wù)項(xiàng)目可行性研究報(bào)告
- 2026年工業(yè)廢水近零排放改造項(xiàng)目公司成立分析報(bào)告
- 2026年內(nèi)衣洗衣機(jī)項(xiàng)目可行性研究報(bào)告
- 2026年中級經(jīng)濟(jì)師經(jīng)濟(jì)政策與實(shí)務(wù)練習(xí)題庫
- 2026年現(xiàn)代藝術(shù)作品欣賞與評論試題
- 2026年能源行業(yè)危機(jī)應(yīng)對能力測試題能源安全與輿情管理題
- 2026年研究生歷史學(xué)科期末復(fù)習(xí)預(yù)測題
- 38000t化學(xué)品船施工要領(lǐng)
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 綜合交通規(guī)劃案例分析
- 空調(diào)設(shè)備維護(hù)保養(yǎng)制度范文(2篇)
- “轉(zhuǎn)作風(fēng)、換腦子、促管理”集中整頓工作心得體會
- 安全生產(chǎn)目標(biāo)管理制度
- 2024年度初會職稱《初級會計(jì)實(shí)務(wù)》真題庫匯編(含答案)
- 廠精益道場設(shè)計(jì)方案
- 綠植租賃合同
- 比亞迪Forklift軟件使用方法
- GB/T 2899-2008工業(yè)沉淀硫酸鋇
評論
0/150
提交評論