三層電梯控制系統(tǒng)的設(shè)計(jì)_第1頁
三層電梯控制系統(tǒng)的設(shè)計(jì)_第2頁
三層電梯控制系統(tǒng)的設(shè)計(jì)_第3頁
三層電梯控制系統(tǒng)的設(shè)計(jì)_第4頁
三層電梯控制系統(tǒng)的設(shè)計(jì)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、三層電梯控制系統(tǒng)的實(shí)驗(yàn)設(shè)計(jì)指導(dǎo)老師:朱靜學(xué)生:馬小娟班級(jí):電科092學(xué)號(hào):095203403三層電梯控制系統(tǒng)的設(shè)計(jì)第一節(jié)設(shè)計(jì)要求要求用FPGAS計(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)入下降模式。電梯處在下降模式時(shí),工 作方式與上升模式相反。設(shè)電梯共有 3層,每秒上升或下降一層。(2)電梯初始狀態(tài)為一層,處在開門狀態(tài),開門指示燈亮。(3)每層電梯入口處均設(shè)有上下請(qǐng)求開關(guān),電梯內(nèi)部設(shè)有乘客到達(dá)樓層的停站請(qǐng)

2、求開關(guān)及其顯示。設(shè)置電梯所處位置的指示及電梯上升或下降的指示。(5)電梯到達(dá)有停站請(qǐng)求的樓層后,電梯門打開,開門指示燈亮。開門 4妙后, 電梯門關(guān)閉,開門指示燈滅,電梯繼續(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í)行完畢后清除。第二節(jié) 三層電梯控制系統(tǒng)的功能模塊及流程圖電梯控制器的功能模塊如圖2.1所示,包括主控制器、分控制器、樓層選擇器、 狀態(tài)顯示器、譯碼器和樓層顯示器。乘客在電梯中選擇所要到達(dá)的樓層, 通過主 控制器的處理,電梯開始運(yùn)行,狀態(tài)顯示器顯示電梯的運(yùn)行狀態(tài), 電梯所在樓層 數(shù)通過譯碼器譯碼從

3、而在樓層顯示器中顯示。 分控制器把有效的請(qǐng)求傳給主控制 器進(jìn)行處理,同時(shí)顯示電梯的運(yùn)行狀態(tài)和電梯所在樓層數(shù)。由于分控制器相對(duì)簡(jiǎn)單很多,所以主控制器是核心部分。圖2.1電梯控制器原理圖圖2.2總流程圖圖2.3電梯控制主流程圖第三節(jié)三層電梯控制器的具體設(shè)計(jì)本設(shè)計(jì)嘗試用硬件描述語言VHD求實(shí)現(xiàn)對(duì)三層電梯的控制,源程序經(jīng) Altera公司的MAX+plusII軟件仿真,保證了設(shè)計(jì)的正確性。使用 VHDL!行電 梯控制器的設(shè)計(jì),主要就是對(duì)電梯軟件部分的設(shè)計(jì),使用VHDL中的邏輯關(guān)系建立電梯的升降模式,開門,關(guān)門達(dá)到動(dòng)作,而外部器件的硬件設(shè)備基本上保持不 變。使用VHD底件描述語言設(shè)計(jì)電梯控制器可以為電梯

4、實(shí)現(xiàn)智能控制奠定基礎(chǔ)。一三層電梯控制器實(shí)現(xiàn)的功能及運(yùn)行規(guī)則電梯一層入口處設(shè)有上升請(qǐng)求開關(guān), 二層入口處設(shè)有上、下請(qǐng)求開關(guān),三層入 口處設(shè)有下降請(qǐng)求開關(guān),電梯內(nèi)部設(shè)有顧客到達(dá)樓層的停站請(qǐng)求開關(guān)。每層電梯入口處設(shè)有位置指示裝置及電梯運(yùn)行模式 (上升或下降)指示裝置。電梯初始狀態(tài)為一層開門狀態(tài)。電梯每秒上升(下降)一層樓。電梯到達(dá)需要停止的樓層,經(jīng)過1秒電梯門打開,開門指示燈亮,開門4秒后, 電梯門關(guān)閉(開門指示燈滅),電梯繼續(xù)運(yùn)行,直至執(zhí)行完最后一個(gè)請(qǐng)求信號(hào)后停 留在當(dāng)前層。電梯需要寄存器來記憶電梯內(nèi)外所有請(qǐng)求,并按照電梯運(yùn)行規(guī)則按順序響應(yīng), 每個(gè)請(qǐng)求信號(hào)保留至執(zhí)行后消除。電梯的運(yùn)行規(guī)則:當(dāng)電梯處

5、于上升模式時(shí),只響應(yīng)比電梯所在位置高的上樓請(qǐng) 求信號(hào)和停站請(qǐng)求信號(hào),由下而上逐個(gè)執(zhí)行,直到最后一個(gè)上樓請(qǐng)求執(zhí)行完畢; 如果高層有下樓請(qǐng)求,則直接上升到有下樓請(qǐng)求的最高層,然后進(jìn)入下降模式。 當(dāng)電梯處于下降模式時(shí)則與上升模式相反。二三層電梯控制器的綜合設(shè)計(jì)1三層電梯控制器的設(shè)計(jì)思路電梯控制器設(shè)計(jì)兩個(gè)進(jìn)程相互配合, 狀態(tài)機(jī)進(jìn)程作為主要進(jìn)程,信號(hào)燈控制 進(jìn)程作為輔助進(jìn)程。根據(jù)電梯的實(shí)際工作情況,可以為狀態(tài)機(jī)設(shè)置十個(gè)狀態(tài),它 們分別是“電梯停在一層” “開門” “關(guān)門” “開門等待第一秒” “開門等待第 二秒” “開門等待第三秒” “開門等待第四秒” “上升” “下降”和“停止”。由于電梯每秒上升或下

6、降一層,則可以用周期為 1s的信號(hào)來作為電梯狀態(tài)轉(zhuǎn)換 的觸發(fā)時(shí)鐘。狀態(tài)機(jī)進(jìn)程中的很多判斷條件是以信號(hào)燈控制進(jìn)程產(chǎn)生的信號(hào)燈信 號(hào)為依據(jù),而信號(hào)燈控制進(jìn)程中信號(hào)燈的熄滅又是由狀態(tài)機(jī)進(jìn)程中傳出的信號(hào)來 控制。三層電梯控制器的設(shè)計(jì)主要是對(duì)實(shí)體和結(jié)構(gòu)體的設(shè)計(jì),它的VHDL苗述模塊流程如圖3.1所示:圖3.1三層電梯控制器的VHDL描述模塊流程2實(shí)體設(shè)計(jì)實(shí)體設(shè)計(jì)即是對(duì)端口名、端口模式及數(shù)據(jù)類型的說明。首先考慮輸入端口, 一個(gè)異步復(fù)位端口 “reset”,用于當(dāng)電梯出現(xiàn)非正常情況時(shí)回到初始狀態(tài);在 電梯外部,一層入口處設(shè)有上升請(qǐng)求端,二層入口處設(shè)有上升和下降請(qǐng)求端, 三 層入口處設(shè)有下降請(qǐng)求端;在電梯內(nèi)部

7、,應(yīng)設(shè)有各層停站請(qǐng)求端口 ; 一個(gè)電梯時(shí) 鐘輸入端口,它提供周期為1s的時(shí)鐘信號(hào),用作電梯狀態(tài)轉(zhuǎn)換的觸發(fā)時(shí)鐘;還 有一個(gè)頻率很高的按鍵時(shí)鐘輸入端口。 其次考慮輸出端口,當(dāng)有各層上升或下降 請(qǐng)求時(shí),各層入口處應(yīng)該有端口顯示請(qǐng)求是否被響應(yīng), 有請(qǐng)求時(shí)端口輸出邏輯1, 被執(zhí)行后則恢復(fù)成邏輯0;同樣的,電梯內(nèi)部也應(yīng)有各層停站請(qǐng)求是否被響 應(yīng)的指示端口; 一個(gè)開關(guān)門指示端口,當(dāng)門開著時(shí),它為邏輯1,門關(guān)著時(shí), 則為邏輯0;還需要端口來顯示電梯所處的位置和模式(上升或下降)。3結(jié)構(gòu)體設(shè)計(jì)在結(jié)構(gòu)體中,首先說明了狀態(tài)機(jī)設(shè)置白十個(gè)狀態(tài),分別是:電梯停在1層(stoponl)、開門(dooropen)、關(guān)門(do

8、orclose)、開門等待第 1 秒(doorwaitl)、 開門等待第2秒(doorwait2)、開門等待第3秒(doorwait3)、開門等待第4秒 (doorwait4)、上升(up)、下降(down)和停止(stop)。在結(jié)構(gòu)體最前端用如下的 定義語句,來定義狀態(tài)機(jī)。type lift_state is(stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,u p,down,stop);接著描述電梯內(nèi)部功能實(shí)現(xiàn),在結(jié)構(gòu)體中設(shè)計(jì)了兩個(gè)進(jìn)程,一個(gè)狀態(tài)機(jī)進(jìn)程 (ctrlift ),它是以reset和liftclk

9、作為敏感信號(hào),控制電梯的狀態(tài)轉(zhuǎn)移;另外一個(gè)是信號(hào)燈控制進(jìn)程(ctrlight ),它是以reset和buttonclk作為敏感信 號(hào),控制寄存信號(hào)的邏輯值。在狀態(tài)機(jī)進(jìn)程中,電梯關(guān)門后根據(jù)信號(hào)燈的情況, 來決定下一個(gè)狀態(tài)是上升、下降還是停止;在信號(hào)燈控制進(jìn)程中,由于使用了專 門的頻率較高的按鍵時(shí)鐘,所以使得按鍵的靈敏度大,但是時(shí)鐘頻率不能過高, 否則容易使按鍵過于靈敏,而信號(hào)燈的熄滅是由狀態(tài)機(jī)進(jìn)程中傳出clearup和cleardn信號(hào)來控制。VHDL源代碼語法的簡(jiǎn)單說明本程序設(shè)計(jì)調(diào)用了 ieee庫,ieee庫是VHDL&計(jì)中最為常用的庫,它包 含有ieee標(biāo)準(zhǔn)的程序包和其他一些支持工業(yè)標(biāo)準(zhǔn)的程

10、序包。本設(shè)計(jì)采用 std-logic-1164 、std-logic-unsigned 、std-logic-arith 程序包。以關(guān)鍵詞entity 引導(dǎo),end entity threelift結(jié)尾的部分是程序的實(shí)體部分。VHDL勺實(shí)體描述了電路器件的外部情況,本設(shè)計(jì)定義了關(guān)于三層電梯控 制器用到的各類時(shí)鐘、異步復(fù)位按鍵、信號(hào)燈指示端口、電梯的請(qǐng)求端口。它描述了端口模式主要有in、buffer out,以及各端口信號(hào)的數(shù)據(jù)類型主要有 std-logic 、std-logic-vector 、integer。(3)以關(guān)鍵詞architecture 引導(dǎo),end architectureone

11、結(jié)尾的語句部分是結(jié)構(gòu)體部分,結(jié)構(gòu)體描述電路器件的內(nèi)部邏輯功能。VHDL源代碼根據(jù)主模塊中3個(gè)進(jìn)程的工作原理和狀態(tài)機(jī)設(shè)計(jì)流程編寫的主模塊VHDL1序如下:library ieee;-庫的說明use ieee.std_logic_1164.all; -程序包的說明use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all; TOC o 1-5 h z entity threelift is-port(buttonclk:in std_logic;-liftclk:in std_logic;-reset:in std_logic;-f1u

12、pbutton:in std_logic;-f2upbutton:in std_logic;-f2dnbutton:in std_logic;-f3dnbutton:in std_logic;-stop1button:in std_logic;-stop2button:in std_logic;-stop3button:in std_logic;-position:buffer integer range 1 to 3;-udsig:buffer std_logic; -號(hào)fuplight,fdnlight,stoplight:buffer 1);-上升、下降、停站請(qǐng)求寄存信號(hào)doorligh

13、t:out std_logic; -dout1:out std_logic_vector(3 downto 0); end entity threelift;實(shí)體按鍵時(shí)鐘信號(hào)電梯時(shí)鐘信號(hào)異步復(fù)位端口一層上升請(qǐng)求端口 二層上升請(qǐng)求端口二層下降請(qǐng)求端口 三層下降請(qǐng)求端口 一層停站請(qǐng)求端口 二層停站請(qǐng)求端口 三層停站請(qǐng)求端口電梯位置信號(hào)電梯模式(上升或下降)信std_logic_vector(3 downto開關(guān)門信號(hào)architecture one of threelift is-結(jié)構(gòu)體type lift_state is-定義十個(gè)狀態(tài)(stopon1,dooropen,doorclose,doo

14、rwait1,doorwait2,doorwait3,doorwait4,u p,down,stop);signal mylift:lift_state;signal clearup:std_logic;-上升和停站請(qǐng)求清除信signal cleardn:std_logic;號(hào).begin下降和停站請(qǐng)求清除信ctrlift:process(reset,liftclk) -variable pos:integer range 3 downto 1; begin if reset=1 then-狀態(tài)mylift=stopon1;clearup=0;cleardn doorlight=1; posi

15、tion=1; pos:=1;mylift mylift clearup=0; cleardn=0;mylift mylift mylift-狀態(tài)機(jī)進(jìn)程異步復(fù)位,電梯的初始狀態(tài)為一層開門電梯等待4s關(guān)門,判定電梯下一個(gè)運(yùn)行方doorlight=0;if udsig=1 thenif position=3 then if電梯處在上升模式fuplight=000andfdnlight=000andstoplight=000 then-時(shí),電梯停在當(dāng)前層udsig=0;mylift=doorclose;elsif fdnlight(3)=1 or stoplight(3)=1 then-本層有請(qǐng)求信

16、號(hào)是,電梯開門udsig=0;mylift=dooropen;沒有請(qǐng)求信號(hào)else-否則下降udsig=0;mylift=down;end if;elsif position=2 theniffuplight=000 and fdnlight=000 andstoplight=000 thenudsig=1;mylift=doorclose;elsif fuplight(2)=1 or stoplight(2)=1 then-本層有上升或停站請(qǐng)求時(shí)時(shí),電梯開門udsig=1;mylift=dooropen;elsiffuplight=000 and stoplight=000 andfdnli

17、ght=010 then-只有二層有下降請(qǐng)求時(shí),電梯開門udsig=0;mylift=dooropen;elsif stoplight(3)=1 or fdnlight(3)=1 then-三層有停站請(qǐng)求或下降請(qǐng)求,則上升udsig=1;mylift=up;elseudsig=0;mylift=down;end if;elsif position=1 thenfdnlight=000 andiffuplight=000 andstoplight=000 then udsig=1; mylift=doorclose;elsif stoplight(1)=1 or fuplight(1)=1 th

18、en udsig=1;mylift=dooropen;elseudsig=1;mylift=up;end if;電梯處在下降模式and fdnlight=000 andend if;elsif udsig=0 then -if position=3 theniffuplight=000stoplight=000 thenudsig=0; mylift=doorclose;elsif fdnlight(3)=1 or stoplight(3)=1 thenudsig=0;mylift=dooropen;elseudsig=0;mylift=down;end if;elsif position=2

19、 theniffuplight=000 and fdnlight=000 andstoplight=000 then udsig=0;mylift=doorclose;elsif fdnlight(2)=1 or stoplight(2)=1 thenudsig=0;mylift=dooropen;elsiffdnlight=000 and stoplight=000 andfuplight=010 thenudsig=1;mylift=dooropen;elsif fuplight(1)=1 or stoplight(1)=1 then-一層有停站請(qǐng)求或上升請(qǐng)求,則下降udsig=0;myl

20、ift=down;elseudsig=1;mylift=up;end if;elsif position=1 theniffuplight=000 and fdnlight=000 andstoplight=000 then udsig=1;mylift=doorclose;elsif stoplight(1)=1 or fuplight(1)=1 thenudsig=1;mylift=dooropen;elseudsig=1;mylift-電梯處于上升狀態(tài)position=position+1; -電梯樓層數(shù)加一pos:=pos+1;if pos3 and (stoplight(pos)=1

21、 or fuplight(pos)=1) then mylift=stop;-電梯在一層或二層,本層有停站或上升請(qǐng)求時(shí),則停止elsif pos=3 and (stoplight(pos)=1 or fdnlight(pos)=1)thenmylift=stop;-電梯處在三層,并且有三層停站或下降請(qǐng)求,則停止elsemylift -電梯處在下降狀態(tài)position1 and (stoplight(pos)=1 and fdnlight(pos)=1) then mylift=stop;elsif pos=1 and (stoplight(pos)=1 or fuplight(pos)=1)

22、thenmylift=stop;elsemyliftmyliftdoorlight=1;if udsig=1 thenifposition3 and (fuplight(pos)=1orstoplight(pos)=1) then clearup=1; -清除當(dāng)前層上升和停站請(qǐng)求else elseclearup=1;cleardn1stoplight(pos)=1) thencleardn=1; -and (fdnlight(pos)=1消除當(dāng)前層下降和停站請(qǐng)求orclearup=1;cleardn=1;end if;end if;mylift=doorwait1;end case;end i

23、f;end if;end process ctrlift;ctrlight:process(reset,buttonclk) -信號(hào)燈控制進(jìn)程beginif reset=1 then -復(fù)位,寄存信號(hào)清零fuplight=000;fdnlight=000;stoplight=000;elseif buttonclkevent and buttonclk=1 thenif clearup=1 then - fuplight(position)=0; stoplight(position)=0;elseif f1upbutton=1 then fuplight(1)=1;elsif f2upbut

24、ton=1 then fuplight(2)=1;end if;end if;if cleardn=1 then - fdnlight(position)=0; stoplight(position)=0;else if f2dnbutton=1 then fdnlight(2)=1;elsif f3dnbutton=1 then fdnlight(3)=1;end if;end if;if stop1button=1 then stoplight(1)=1;elsif stop2button=1 then stoplight(2)=1;elsif stop3button=1 then sto

25、plight(3)=1;end if;end if;end if;end process ctrlight;上升和停站請(qǐng)求清零記憶各層上升請(qǐng)求下降和停站請(qǐng)求清零記憶各層下降請(qǐng)求記憶各層停站請(qǐng)求樓層顯示進(jìn)程process(position)beginif position=1 then dout1=0001;elsif position=2 then dout1=0010;elsif position=3 then dout1 resetmtpMitlon $t卬?bull口n plbutiuiiw f3crbLi1tcn12cnbulton_z- CLpbuitorr f1 Lpbulton

26、udsig doorlight五# CdF liulil與3 fdrlight ttcplightA m州圖4.1有上升請(qǐng)求的仿真波形圖4.2所示的波形是三層有下降請(qǐng)求的波形,當(dāng)電梯在一層關(guān)門后,檢測(cè)到fdnlight 為“100”,則上升到三層,開門等待4s,關(guān)門檢測(cè)到stoplight 為1,于是電梯下降到一層,最終停在一層。圖4.2有下降請(qǐng)求的仿真波形圖4.3所示的波形是二層和三層都有下降請(qǐng)求的仿真波形, 當(dāng)電梯在一層關(guān) 門后,檢測(cè)到fdnlight為“110”,則直接上升到三層,開門后fdnlight(3)清零,等 待4s后,關(guān)門下降到二層停止,開門后fdnlight(2)和stopl

27、ight(2)清零,再下降到一層。處西伙Rpt|0 On11* |*j Time- |9iKiwrii-9 EJ6sName.0 QraValu. J 如10,C3i5Ca120.0s25.ffaJtt.Qs35 0311I1tctthreeIxft, scVavcf zb Edit or01f-JbuMdn0siDa2buti3fiQsloplbutlon0i f3dp buiiun01_ L.d-buiton0Qupbultan0一一 Hu.bijUOn0-_r詞占用0-o dw li油 10耳 pus tioiiHOLfnyh:什0耳* fan iq hrHQHQ酣m/tHObutton

28、 -IkYTY人士A|巨邛第裝刈回門的口第四日cws洞。w豺哭碰網(wǎng):圖4.3有多個(gè)下降請(qǐng)求的仿真波形圖4.4所示的波形為有多個(gè)停站請(qǐng)求的仿真波形,電梯在一層關(guān)門后,檢測(cè)到stoplight為“110”,則上升至二層停止開門,stoplight(2)清零,等待4s后關(guān)門, 繼續(xù)上升至三層,開門后stoplight(3)清零,乘客下站后電梯最終停在三層。thLEcalxf - VavfGza Hdiloc|U g| *!* Time |2 42g| ElenH |?必lane:3 lift曰黑w butfondkre 3 el-5l&p|ju1tcnc;oo2buitcn- si&p1bultcn

29、 .一 GdnhuttDrif2upouTtortf lluphuttor udsij dooilighl-J PK .15 ft pl口hr: p Inn h ji tj/ rrylrft圖4.4有多個(gè)停站請(qǐng)求的仿真波形圖4.5所示,當(dāng)只有二層有下降請(qǐng)求時(shí),電梯上升至二層,然后下降,顯然 正確。尸產(chǎn)JRef. |口一口11Ma roe: liftdk *- tmi-ionclk:Etcp3ttJtlcn itcp2lbiuttcn slop Ibu lien -f3dnhittonI2dnbutton*-f2uptHjrcM fl uptnjtt txi udsigA doorlight 彳

30、產(chǎn) pumHiorifjpl ghit 彳學(xué) fdri ght/cpIigH my Mt圖4.5只有二層有下降請(qǐng)求時(shí)的仿真波形圖4.6所示,二層同時(shí)有上升和下降請(qǐng)求,電梯上升至二層,門打開等待4s, 關(guān)門后檢測(cè)到stoplight和fdnlight(2)都為1,它會(huì)先上升至三層,再下降至 二層,待有下降請(qǐng)求的乘客上電梯后,最后下降至一層。4.6同時(shí)有上升和下降請(qǐng)求的仿真波形從前面所有的仿真波形來看,電梯的的運(yùn)行情況完全符合它的運(yùn)行規(guī)則,電 梯的位置變化合情合理。三硬件驗(yàn)證與測(cè)試1引腳鎖定 本實(shí)驗(yàn)選擇的目標(biāo)芯片為EP1K30TC44-3賦值編輯操作結(jié)束后, 將引腳鎖定文件存盤,并再次通過編譯,完

31、成整個(gè)設(shè)計(jì)電路的引腳鎖定。如下圖 所示。引腳鎖定2編程下載設(shè)計(jì)文件在Quartus II軟件界面上執(zhí)行“ Tools 一 Programmer命令,完成設(shè)置 編程方式,之后執(zhí)行“ Processing ” 一 “Start ”命令,實(shí)現(xiàn)設(shè)計(jì)電路到目標(biāo)芯 片的編程下載。如下圖所示:編程下載設(shè)計(jì)文件3硬件驗(yàn)證設(shè)計(jì)電路用并行電纜將EDA600位驗(yàn)開發(fā)系的FPGA/EPL踹程下載打印接口 “ PRT與計(jì)算機(jī)的并行打印機(jī)接口連接好,用串行電纜將實(shí)驗(yàn)開發(fā)系統(tǒng)的系統(tǒng)配置 232 通信接口 “ SYSTEM282與計(jì)算機(jī)的串行232接口連好,打開實(shí)驗(yàn)開發(fā)系統(tǒng)的電源。完成“連接EDA6000操作并啟動(dòng)實(shí)驗(yàn)開發(fā)系

32、統(tǒng)處于運(yùn)行狀態(tài) 在系統(tǒng)界面上,驗(yàn)證三層電梯設(shè)計(jì)的正確性。如圖所示:4.8硬件驗(yàn)證設(shè)計(jì)電路小結(jié)本設(shè)計(jì)的擴(kuò)展性三層電梯控制器的設(shè)計(jì)很簡(jiǎn)單,但在實(shí)際應(yīng)用中,電梯往往不止三層,因此 考慮設(shè)計(jì)的擴(kuò)展性十分重要。本設(shè)計(jì)在信號(hào)定義時(shí)就使用了二進(jìn)制向量,而非整數(shù),并且使用狀態(tài)機(jī)的設(shè)計(jì)方法,因此擴(kuò)展性較好。如果要實(shí)現(xiàn)n層電梯的控制, 首先要在實(shí)體的端口定義中添加相應(yīng)的增加樓層的上身、下降和停站請(qǐng)求端口, 而指示燈只要把其數(shù)組寬度由 3 downto 1改為n downto 1就可以了。在電梯的 關(guān)門狀態(tài)中,應(yīng)把 pos用on=3改為pos市on=n,關(guān)鍵是修改pos市on=2的部分, 如果按照原方法把每層羅列,

33、則隨著樓層的增加,程序會(huì)非常復(fù)雜,所以得尋求 各中間層的共性。解決方法是,首先定義一個(gè)全局向量abc為std_logic_vector(ndownto 1), abc的賦值為abc1,others=0)在電梯的上升模式時(shí),如 果有本層請(qǐng)求信號(hào),則電梯開門;如果沒有任何請(qǐng)求信號(hào),則電梯停在當(dāng)前層; 否則用stoplight和fuplight與全局變量abc作比較,如果stoplight或fuplight比 abc大,則說明更高層還有上升或停站請(qǐng)求,電梯需繼續(xù)上升;如果 abc更大, 則用abc與fdnlight作比較,如果fdnlight更大,則說明更高層有下降請(qǐng)求,電 梯繼續(xù)上升,否則電梯下降

34、。電梯處在下降模式時(shí),同原理分析判定下一狀態(tài)。這樣可以大大簡(jiǎn)化程序,但要注意的是 abc向量作為判斷依據(jù),需實(shí)時(shí)更新,可 以單獨(dú)寫一個(gè)進(jìn)程,觸發(fā)時(shí)鐘周期要設(shè)置得很小。在電梯的上升狀態(tài)和開門狀態(tài) 中,把3改為n,在信號(hào)燈控制進(jìn)程中加入其它按鍵觸發(fā)指示燈的語句。在本學(xué)期課程結(jié)業(yè)設(shè)計(jì)白過程中,我學(xué)習(xí)了 VHDL語言的基本語法,熟悉了 MAX+plus II的VHDL文本設(shè)計(jì)流程全過程,掌握了三層電梯控制器的設(shè)計(jì)方法, 及它的仿真和硬件測(cè)試。經(jīng)過多次改進(jìn),本設(shè)計(jì)實(shí)現(xiàn)了三層電梯的基本功能,電梯的的運(yùn)行情況完全 符合它的運(yùn)行規(guī)則,電梯的位置變化合情合理。本次三層電梯控制器的設(shè)計(jì)采用 VHDL語言,源程序經(jīng)

35、MAX+plus II軟件仿真,目標(biāo)器件選用 CPL郵件。本設(shè)計(jì) 代碼具有良好的可讀性和可移植性,運(yùn)用了有限狀態(tài)機(jī)的設(shè)計(jì)方法,使得它靈活、 簡(jiǎn)單、運(yùn)算速度快、可靠性高,并且此設(shè)計(jì)具有良好的擴(kuò)展性。本文中設(shè)計(jì)的電 梯控制器以CPLD為實(shí)現(xiàn)載體,以VHDL為描述語言實(shí)現(xiàn)了電梯的升降舒適感和 運(yùn)行的可靠性,相信在以后的智能建筑中會(huì)得到廣泛的應(yīng)用和推廣。附:Quartus II(SOPC開發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、 是一種綜合性的開發(fā)平臺(tái)。Maxplus II 作為 Altera性而得到了廣泛的應(yīng)用。目前嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,的上一代PLD設(shè)計(jì)軟件,由于其出色的易用Altera 已經(jīng)停止了對(duì) Maxplus II的更新支QUARTUS IIQuartusII 圖標(biāo)簡(jiǎn)介Quartus II是Altera 公司的綜合性PLD/FPGAFF發(fā)軟件,支持原理圖、 VHDL VerilogHDL 以及 AHDL (Altera Hardware Description Language ) 等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸 入到硬件配置的完整PLD設(shè)計(jì)流程。Quart

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論