




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、VHDL數(shù)字系統(tǒng)設(shè)計與測試實驗報告基于VHDL的電梯控制系統(tǒng)設(shè)計一、設(shè)計背景及說明隨著高層建筑的不斷涌現(xiàn),對電梯的需求也與日俱增,電梯已經(jīng)成為我們?nèi)粘I钪胁豢扇鄙俚牟糠?,穩(wěn)定可靠性高的電梯系統(tǒng)成為了電梯領(lǐng)域的新需求?,F(xiàn)在基于VHDL硬件描述語言,用FPGA為控制芯片控制完成一個簡單的6層樓的電梯控制系統(tǒng)設(shè)計。我們常見的電梯控制系統(tǒng)功能都包括:上升請求、下降請求、電梯門控、樓層顯示燈、電梯運動方向顯示、超載、報警、電梯內(nèi)請求信號等。根據(jù)這些常用的信號設(shè)計一個電梯系統(tǒng),實現(xiàn)所要求的功能??刂品绞降倪x擇:1) 內(nèi)部請求優(yōu)先控制方式內(nèi)部請求控制方式類似于出租車的工作方式,先將車上的人送至目地,再去載
2、客。作為通用型電梯應(yīng)該服務(wù)于大多數(shù)人,必須考慮電梯對內(nèi)外請求的響應(yīng)。在內(nèi)部請求優(yōu)先控制方式中,當(dāng)電梯外部人的請求和電梯內(nèi)部人的請求沖突時,外部人的請求信號可能被長時間忽略,因為它不能作為通用型電梯的設(shè)計方案。2) 單層層停控制方案單層層??刂品绞降韧诨疖囘\行方式,遇到站即停止、開門。這種方案保證所有的人的請求都能得到響應(yīng)。然而這樣對電梯的效率產(chǎn)生了消極的影響:不必要的等待消耗了大量時間,而且電梯的運作與用戶的請求無關(guān),當(dāng)無請求時電梯也照常跑空車,浪費了大量的電能。對于用戶而言這種控制方式的請求響應(yīng)時間也不是很快,因而也不是理想的電梯控制設(shè)計方案。3) 方向優(yōu)先控制式方式方案方向優(yōu)先控制是指電
3、梯運行到某一層樓時,先考慮這一層樓是否有請求:有則停止;無則繼續(xù)上升或者下降。停止后再啟動時,考慮上方或者下方是否有請求,有則繼續(xù)前進,無則停止。檢測后方是否有請求,有請求則轉(zhuǎn)向運行,無請求則維持停止?fàn)顟B(tài)。這種運作方式下,電梯對用戶的請求相應(yīng)率為100%,而且響應(yīng)的時間較短。方向優(yōu)先控制方式的效率遠遠大于單向?qū)訉油5瓤刂品绞降男省6?,方向控制方式下,電梯在維持停止?fàn)顟B(tài)的時候可以進入省電模式,又能節(jié)省大量的電能。在本設(shè)計中采用方向優(yōu)先控制方式。l 電梯的輸入信號分析電梯的輸入信號分析主要包括外部輸入信號和內(nèi)部輸入信息的分析。對于電梯外部輸入信號:每一層電梯門外需要有上升請求按鈕和下降請求按鈕
4、,其中一樓電梯門外只有上升請求按鈕,6樓電梯門外只有下降請求按鈕。電梯內(nèi)部輸入信號包括6個前往樓層按鈕、提前關(guān)門按鈕、延時關(guān)門按鈕、電梯異常求救按鈕,另外還有超重等警告信號輸入。l 電梯的輸出信號分析:電梯的輸出信號分析也主要包括外部輸出信號和內(nèi)部輸出信息的分析。對于電梯外部信號包括上升請求按鈕和下降請求按鈕是否被按下指示信號燈、電梯當(dāng)前所在樓層指示信號、電梯運行方向指示信號。電梯內(nèi)部輸出信號包括6個前往樓層按鈕是否被按下指示信號、是否超重等告警指示信號、電梯當(dāng)前所在樓層指示信號、以及電梯運行方向指示信號。l 電梯運行規(guī)則分析:當(dāng)電梯處于上升模式時,只響應(yīng)比電梯所在位置更高的上樓信號,由下至上
5、依次執(zhí)行,直到最后一個上樓請求執(zhí)行完畢,如果高層有下樓請求時,則直接升到有下降請求的最高樓,然后進入下降模式,電梯處于下降模式時,則與上升模式相反。電梯系統(tǒng)框圖如下圖所示:按鍵輸入乘坐電梯者所想要去的樓層,控制電梯門的開關(guān),可編程邏輯芯片接收到信號后進行處理,發(fā)送信號給控制電機系統(tǒng)來控制電梯的上升下降等狀態(tài),同時通過LED數(shù)碼管顯示所在的樓層,以及電梯的運動狀態(tài)。該控制器完成6層電梯的載客服務(wù),而且遵循方向優(yōu)先原則,并能相應(yīng)提前關(guān)門、延時關(guān)門,并且有超載報警和故障報警。同時指示電梯的運行情況以及電梯內(nèi)外請求信息。二、設(shè)計框圖及模塊說明² 設(shè)計電梯系統(tǒng)框圖如下圖所示: ² 電
6、梯系統(tǒng)大致包括4個模塊:1) 外部數(shù)據(jù)采集模塊對外部信號采集、處理要求電梯控制器:實現(xiàn)對外部請求信號的實時、準(zhǔn)確采集;準(zhǔn)確實時地捕捉達到樓層的信號;有效防止樓層到達信號、外部請求信號的誤判。采用FPGA為系統(tǒng)控制核心,系統(tǒng)時鐘頻率足夠滿足此系統(tǒng)實時采集數(shù)據(jù)的要求。外部請求信號的輸入形式為按鍵輸入,到達樓層信號來自光敏傳感器,關(guān)門中斷信號及超載信號則產(chǎn)生于壓力傳感器。2) 信號存儲模塊電梯控制系統(tǒng)的請求輸入信號有18個(電梯外有6個上升請求和6個下降請求的用戶輸入端口,電梯內(nèi)有6個請求用戶輸入端口),由于系統(tǒng)對內(nèi)外請求沒有設(shè)置優(yōu)先級,各樓層的內(nèi)外請求信號被采集后可先進行運算,再存到存儲器內(nèi)。要注
7、意的是電梯運行過程中,由于用戶的請求信號的輸入是離散的,而且系統(tǒng)對請求的響應(yīng)也是離散的,因此請求信號的存儲要新的請求信號不能覆蓋原來的請求信號,只有響應(yīng)動作完成后才能清除存儲器內(nèi)對應(yīng)的請求信號位。3) 基于FPGA的中央處理器模塊中央數(shù)據(jù)處理模塊是系統(tǒng)的核心,通過對存儲的數(shù)據(jù)(含請求、到達樓層等信號)進行比較、判斷以驅(qū)動系統(tǒng)狀態(tài)的流轉(zhuǎn)。電梯工作過程中共有9種狀態(tài):等待、上升、下降、開門、關(guān)門、停止、休眠、超載報警及故障報警狀態(tài)。一般情況下電梯的工作始點是第一層,起始狀態(tài)是等待狀態(tài),啟動條件是接受上升請求。超載狀態(tài)時電梯關(guān)門動作取消,同時發(fā)出警報,直到警報被清除(看門狗信號有效的條件是一層樓連續(xù)
8、發(fā)生關(guān)門中斷情況超過3次)。本系統(tǒng)由請求信號啟動,運行中每檢測到一個到達樓層信號,再參考原方向信號來決定是否停止,轉(zhuǎn)向等動作。系統(tǒng)狀態(tài)流程圖如下圖所示:4) 信號的輸出、顯示模塊本系統(tǒng)的輸出信號有兩種:一種是電機的升降控制信號(兩位)和開門/關(guān)門控制信號;另一種是面向用戶的提示信號(含樓層顯示、方向顯示、已接受請求顯示等)。電機控制信號一般需要兩位,本系統(tǒng)中電機有3種工作狀態(tài):正轉(zhuǎn)、反轉(zhuǎn)和停轉(zhuǎn)狀態(tài)。兩位控制信號作為一個三路開關(guān)的選通信號,此三路開關(guān)選用模擬電子開關(guān)。系統(tǒng)的顯示輸出包括數(shù)碼管樓層顯示、數(shù)碼管請求信號顯示和表征運動方向箭頭指示燈的開關(guān)信號。LED七段數(shù)碼管顯示部分在前面的作業(yè)中已經(jīng)
9、做了詳細的介紹及說明,在本系統(tǒng)中省略。本系統(tǒng)具有請求信號顯示功能,結(jié)合方向顯示,可以減少用戶對同一請求的輸入次數(shù),這樣就延長了電梯按鍵的壽命。三、電梯控制程序設(shè)計源代碼及端口說明輸入端口信號說明:clk:時鐘信號,2Hz;clr:清除警報信號,高有效,清除故障報警;c_u1、c_u2、c_u3、c_u4、c_u5:電梯外人的上升請求;c_d2、c_d3、c_d4、c_d5、c_d6:電梯外人的下降請求;deng:關(guān)門中斷,用于在需要等待時,讓電梯門一直打開,停止運動;d1、d2、d3、d4、d5、d6:電梯內(nèi)人的請求信號;full:超載信號,高時表示電梯內(nèi)的人過多,超載報警;g1、g2、g3、
10、g4、g5、g6:到達樓層信號,數(shù)碼管LED將顯示其值;quick:提前關(guān)門信號,高有效,當(dāng)為高時,電梯門馬上關(guān)閉;輸出端口信號說明:door1:0:電梯門控信號;led6:0:電梯所在樓層顯示;led_c_u5:0:電梯外人上升請求信號顯示;led_c_d5:0:電梯外人下降請求信號顯示;led_d5:0:電梯內(nèi)請求信號顯示;alarm:超載警告信號;up:電梯運動狀態(tài)顯示,高時表示上升;down:電梯運動狀態(tài)顯示,高時表示為下降;ud:電機控制信號,控制電梯的上升下降,“1”表示為上升,“0”表示為下降;wawawa:看門狗報警信號,高時表示故障報警。源代碼如下所示: -library i
11、eee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity dianti is port ( clk : in std_logic; -時鐘信號(頻率為2Hz) full,deng,quick,clr : in std_logic; -超載、關(guān)門中斷、提前關(guān)門清除報警信號 c_u1,c_u2,c_u3,c_u4,c_u5: in std_logic; -電梯外人的上升請求信號 c_d2,c_d3,c_d4,c_d5,c_d6 : in std_logic;
12、 -電梯外人的下降請求信號 d1,d2,d3,d4,d5,d6 : in std_logic; -電梯內(nèi)人的請求信號 g1,g2,g3,g4,g5,g6 : in std_logic; -到達樓層信號 door : out std_logic_vector(1 downto 0); -電梯門控制信號 led : out std_logic_vector(6 downto 0); -電梯所在樓層顯示 led_c_u:out std_logic_vector(5 downto 0); -電梯外人上升請求信號顯示 led_c_d:out std_logic_vector(5 downto 0); -
13、電梯外人下降請求信號顯示 led_d : out std_logic_vector(5 downto 0); -電梯內(nèi)請求信號顯示 wahaha : out std_logic; -看門狗報警信號 ud,alarm : out std_logic; -電梯運動方向顯示,超載警告信號up,down : out std_logic ); -電機控制信號和電梯運動end dianti;architecture behav of dianti issignal d11,d22,d33,d44,d55,d66:std_logic; -電梯內(nèi)人請求信號寄存信號signal c_u11,c_u22,c_u3
14、3,c_u44,c_u55:std_logic; -電梯外人上升請求信號寄存信號signal c_d22,c_d33,c_d44,c_d55,c_d66:std_logic; -電梯外人下降請求信號寄存信號signal q:integer range 0 to 1; -分頻信號signal q1:integer range 0 to 6; -關(guān)門延時計數(shù)器 signal q2:integer range 0 to 9; -看門狗計數(shù)器signal dd,cc_u,cc_d,dd_cc:std_logic_vector(5 downto 0); -電梯內(nèi)外請求信號寄存器signal opendo
15、or:std_logic; -開門使能信號signal updown:std_logic; -電梯運動方向信號寄存器signal en_up,en_dw:std_logic; -預(yù)備上升、預(yù)備下降預(yù)操作使能信號begincom:process(clk)beginif clk'event and clk='1' then if clr='1' then q1<=0;q2<=0;wahaha<='0' -清除故障報警 elsif full='1' then alarm<='1' q1&l
16、t;=0; -超載報警if q1>=3 then door<="10" else door<="00" end if; elsif q=1 then q<=0;alarm<='0' if q2=3 then wahaha<='1' -故障報警 else if opendoor='1' then door<="10"q1<=0;q2<=0;up<='0'down<='0' -開門操作 elsi
17、f en_up='1' then -上升預(yù)操作 if deng='1' then door<="10"q1<=0;q2<=q2+1; -關(guān)門中斷 elsif quick='1' then q1<=3; -提前關(guān)門 elsif q1=6 then door<="00"updown<='1'up<='1' -關(guān)門完畢,電梯進入上升狀態(tài) elsif q1>=3 then door<="01"q1<=q1
18、+1; -電梯進入關(guān)門狀態(tài) else q1<=q1+1;door<="00" -電梯進入等待狀態(tài) end if; elsif en_dw='1' then -下降預(yù)操作 if deng='1' then door<="10"q1<=0;q2<=q2+1; elsif quick='1' then q1<=3; elsif q1=6 then door<="00"updown<='0'down<='1'
19、elsif q1>=3 then door<="01"q1<=q1+1; else q1<=q1+1;door<="00" end if; end if; if g1='1' then led<="1001111" -電梯到達1樓,數(shù)碼管顯示1 if d11='1' or c_u11='1' then d11<='0' c_u11<='0'opendoor<='1'-有當(dāng)前層的請求,則電
20、梯進入開門狀態(tài) elsif dd_cc>"000001" then en_up<='1' opendoor<='0' -有上升請求,則電梯進入預(yù)備上升狀態(tài) elsif dd_cc="000000" then opendoor<='0' -無請求時,電梯停在1樓待機 end if; elsif g2='1' then led<="0010010" -電梯到達2樓,數(shù)碼管顯示2 if updown='1' then -電梯前一運動
21、狀態(tài)位上升 if d22='1' or c_u22='1' then d22<='0' c_u22<='0' opendoor<='1' -有當(dāng)前層的請求,則電梯進入開門狀態(tài) elsif dd_cc>"000011" then en_up<='1' opendoor<='0' -有上升請求,則電梯進入預(yù)備上升狀態(tài) elsif dd_cc<"000010" then en_dw<='1
22、9; opendoor<='0' -有下降請求,則電梯進入預(yù)備下降狀態(tài) end if; -電梯前一運動狀態(tài)為下降 elsif d22='1' or c_d22='1' then d22<='0' c_d22<='0'opendoor<='1' -有當(dāng)前層的請求,則電梯進入開門狀態(tài) elsif dd_cc<"000010" then en_dw<='1' opendoor<='0' -有下降請求,則電梯進入預(yù)
23、備下降狀態(tài) elsif dd_cc>"000011" then en_up<='1' opendoor<='0' -有上升請求,則電梯進入預(yù)備上升狀態(tài) end if; elsif g3='1' then led<="0000110" -電梯到達3樓,數(shù)碼管顯示3 if updown='1' then if d33='1' or c_u33='1' then d33<='0' c_u33<='0'
24、;opendoor<='1' elsif dd_cc>"000111" then en_up<='1' opendoor<='0' elsif dd_cc<"000100" then en_dw<='1' opendoor<='0' end if; elsif d33='1' or c_d33='1' then d33<='0' c_d33<='0' open
25、door<='1' elsif dd_cc<"000100" then en_dw<='1' opendoor<='0' elsif dd_cc>"000111" then en_up<='1' opendoor<='0' end if; elsif g4='1' then led<="1001100" -電梯到達4樓,數(shù)碼管顯示4 if updown='1' then if
26、d44='1' or c_u44='1' then d44<='0' c_u44<='0' opendoor<='1' elsif dd_cc>"001111" then en_up<='1' opendoor<='0' elsif dd_cc<"001000" then en_dw<='1' opendoor<='0' end if; elsif d44=&
27、#39;1' or c_d44='1' then d44<='0' c_d44<='0' opendoor<='1' elsif dd_cc<"001000" then en_dw<='1' opendoor<='0' elsif dd_cc>"001111" then en_up<='1' opendoor<='0' end if; elsif g5='1&
28、#39; then led<="0100100" -電梯到達5樓,數(shù)碼管顯示5 if updown='1' then if d55='1' or c_u55='1' then d55<='0' c_u55<='0'opendoor<='1' elsif dd_cc>"011111" then en_up<='1' opendoor<='0' elsif dd_cc<"01
29、0000" then en_dw<='1' opendoor<='0' end if; elsif d55='1' or c_d55='1' then d55<='0' c_d55<='0'opendoor<='1' elsif dd_cc<"010000" then en_dw<='1' opendoor<='0' elsif dd_cc>"011111&q
30、uot; then en_up<='1' opendoor<='0' end if; elsif g6='1' then led<="0100000" -電梯到達6樓,數(shù)碼管顯示6 if d66='1' or c_d66='1' then d66<='0' c_d66<='0'opendoor<='1' elsif dd_cc<"100000" then en_dw<='1
31、' opendoor<='0' end if; else en_up<='0'en_dw<='0' -電梯進入上升或下降狀態(tài) end if; end if; else q<=1;alarm<='0' -清除超載報警 if d1='1' or d1='0' then d11<=d1; -對電梯內(nèi)人請求信號進行檢測和寄存 elsif d2='1' or d2='0' then d22<=d2; elsif d3='
32、1' or d3='0' then d33<=d3; elsif d4='1' or d4='0' then d44<=d4; elsif d5='1' or d5='0' then d55<=d5; elsif d6='1' or d6='0' then d66<=d6; end if; if c_u1='1' or c_u1='0' then c_u11<=c_u1; -對電梯外人上升請求信號進行檢測和寄存 e
33、lsif c_u2='1' or c_u2='0' then c_u22<=c_u2; elsif c_u3='1' or c_u3='0' then c_u33<=c_u3; elsif c_u4='1' or c_u4='0' then c_u44<=c_u4; elsif c_u5='1' or c_u5='0' then c_u55<=c_u5; end if; if c_d2='1' or c_d2='0
34、9; then c_d22<=c_d2; -對電梯外人下降請求信號進行檢測和寄存 elsif c_d3='1' or c_d3='0' then c_d33<=c_d3; elsif c_d4='1' or c_d4='0' then c_d44<=c_d4; elsif c_d5='1' or c_d5='0' then c_d55<=c_d5; elsif c_d6='1' or c_d6='0' then c_d66<=c_d6;
35、end if; dd<=d66&d55&d44&d33&d22&d11; -電梯內(nèi)人請求信號并置 cc_u<='0'&c_u55&c_u44&c_u33&c_u22&c_u11; -電梯外人上升請求信號并置 cc_d<=c_d66&c_d55&c_d44&c_d33&c_d22&'0' -電梯外人下降請求信號并置 dd_cc<=dd or cc_u or cc_d; -電梯內(nèi)、外人請求信號進行綜合 end if; ud<=updown; -電梯運動狀態(tài)顯示 led_d<=dd; -電梯內(nèi)人請求信號顯示 led_c_u<=cc_u; -電梯外人上升請求信號顯示 led_c_d<=cc_d; -電梯外人下降請求信號顯示end if; end process; end behav;此次電梯控制系統(tǒng)設(shè)計使用的是Altera公司的MAX-II,由下資源使用情況圖可見這款芯片足夠滿足本次設(shè)計需求。四、仿真結(jié)果及說明假設(shè)電梯初始狀態(tài)在一樓,此時2、3樓電梯外有人要下樓,4樓電梯外有人要上樓,在此后輸入等待、快速關(guān)門、超載等信號,觀察仿真圖得出結(jié)論:電梯控制程序仿真全圖注:實際使用時電
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考美術(shù)課題研究申報書
- 動畫項目合同范例
- 臺灣房屋抵押合同范本
- led器材租賃合同范本
- 食品化學(xué)試題庫(含答案)
- 原木訂制采購合同范本
- 業(yè)務(wù)經(jīng)理工作計劃
- 上半年公司領(lǐng)導(dǎo)總結(jié)
- 單位外包電梯合同范本
- 四級(中級)眼鏡驗光員考試
- 【屋頂花園的防水設(shè)計與施工探究6500字(論文)】
- 自導(dǎo)式教學(xué)心得體會范文【3篇】
- 防范游戲充值詐騙保護個人游戲賬號安全
- 數(shù)學(xué)與體育融合課程設(shè)計
- 七年級英語閱讀理解專項訓(xùn)練(含答案)共20篇
- 初步設(shè)計法律規(guī)范
- 社區(qū)獲得性肺炎疾病查房
- 神奇的光:如何形成彩虹
- 三、膽石癥課件
- 兔子坡(閱讀課上課課件)
- 固定資產(chǎn)清查盤點明細表
評論
0/150
提交評論