




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、山東大學(xué)威 海 分 校課 程 設(shè) 計 報 告設(shè)計題目: _基于fpga的四層電梯控制器設(shè)計 指導(dǎo)教師: 李素梅 鄭亞民 董曉舟 _姓 名:學(xué) 號:20058002089院 系: 信息工程學(xué)院專 業(yè):電子信息科學(xué)與技術(shù)年 級: 2005級2008年 7月 15 日目 錄摘 要1關(guān)鍵詞11、設(shè)計要求12、總體設(shè)計13、詳細(xì)設(shè)計23.1 中央處理模塊23.2 外部數(shù)據(jù)采集模塊33.3 信號存儲模塊33.3 顯示模塊44、仿真45、結(jié)語5附 錄 :源程序5摘 要: 本文介紹了基于fpga的電梯控制器的總體設(shè)計方案,闡述了其內(nèi)部功能模塊的工作原理,基于狀態(tài)機的原理,利用vhdl語言對各功能模塊進(jìn)行了編程
2、、編譯、仿真,并下載到實驗箱上進(jìn)行了驗證。結(jié)果表明,該電梯控制器按進(jìn)循方向優(yōu)先的原則可為四個樓層提供載客服務(wù),并具有電梯運行情況指示功能。文中使用的設(shè)計方法不僅簡化了電路設(shè)計、節(jié)約了設(shè)計成本,而且提高了控制器的可靠性、穩(wěn)定性和靈活性。關(guān)鍵詞:vhdl; fpga; 狀態(tài)機; 電梯控制1、設(shè)計要求(1) 使用vhdl語言與狀態(tài)機設(shè)計思想設(shè)計一個4層建筑的電梯控制器;(2) 每層電梯入口設(shè)有上下請求開關(guān)及電梯內(nèi)設(shè)有到達(dá)樓層請求開關(guān);(3) 電梯每5秒鐘升(降)一層;(4) 電梯到達(dá)有請求的樓層自動開門并定時關(guān)門和緊急狀態(tài)緊急停止運行的功能;(5) 能記憶電梯內(nèi)外所有請求信號并按照電梯運行規(guī)則按順序
3、響應(yīng), 每個請求信號留至執(zhí)行完后消除;(6) 電梯運行規(guī)則當(dāng)電梯處于上升模式時, 只響應(yīng)比電梯所在的位置高的上樓請求信號, 由下而上逐個執(zhí)行, 直到最后一個上樓請求執(zhí)行完畢,如果高層有下樓請求,則直接升到有下樓請求的最高樓層, 然后進(jìn)入下降模式,當(dāng)電梯處于下降模式時,則與上升模式相反。2、總體設(shè)計根據(jù)上述設(shè)計要求,可以得到電梯控制器的總體結(jié)構(gòu)如圖1所示。該系統(tǒng)包括外部數(shù)據(jù)采集模塊、信號存儲模塊、中央處理模塊、控制輸出與顯示模塊。外部數(shù)據(jù)采集模塊負(fù)責(zé)采集用戶通過按鍵輸入的請求信號、光敏傳感器采集的到達(dá)樓層信號和壓力傳感器采集的超載信號;信號存貯模塊負(fù)責(zé)存儲電梯內(nèi)外及各層用戶的請求信號和故障、超載
4、信號;中央處理模塊處理電梯運行中的各種狀態(tài),在電梯運行過程中,對信號存儲模塊的用戶請求數(shù)據(jù)進(jìn)行比對, 從而確定電梯的運行狀態(tài);顯示模塊主要顯示電梯所在樓層、電梯運行方向和關(guān)門延時等;控制輸出主要有電梯的升、降、停和門的開、關(guān)、停以及報警等信號。中央處理器計時器時鐘樓層請求故障請求超載超載、故障報警樓層、關(guān)門延時顯示門開、關(guān)、停電梯升、降、停信號存儲外部數(shù)據(jù)采集圖1 電梯控制器總體結(jié)構(gòu)3、詳細(xì)設(shè)計3.1 中央處理模塊中央數(shù)據(jù)處理模塊是系統(tǒng)的核心,通過對存儲的數(shù)據(jù)(含用戶請求、到達(dá)樓層和故障、超載等信號)進(jìn)行比較、判斷以驅(qū)動系統(tǒng)狀態(tài)的轉(zhuǎn)換。電梯工作過程中共有4種狀態(tài):第一層、第二層、第三層、第四層
5、。而每種狀態(tài)都有等待、上升、下降、開關(guān)門、超載報警以及緊急停止動作(第一層無下降動作,第四層無上升動作)。一般情況下,電梯工作起始點是第一層,起始狀態(tài)是等待狀態(tài),啟動條件是收到上升請求信號。系統(tǒng)的狀態(tài)流程圖如圖2所示。圖中超載狀態(tài)時電梯關(guān)門動作取消,本系統(tǒng)由請求信號啟動,運行中每檢測到一個到達(dá)樓層信號,就將信號存儲器的請求信號與樓層狀態(tài)信號進(jìn)行比較,再參考原方向信號來決定是否停止、轉(zhuǎn)向等動作。第一層第二層第四層第三層上升下降等待、開關(guān)門、超載、緊急停止上升下降上升下降等待、開關(guān)門、超載、緊急停止等待、開關(guān)門、超載、緊急停止等待、開關(guān)門、超載、緊急停止圖2 系統(tǒng)的狀態(tài)轉(zhuǎn)換圖系統(tǒng)輸入輸出端口的vh
6、dl語言定義如下:port ( clk : in std_logic; -時鐘信號(頻率為1hz) o_u1,o_u2,o_u3: in std_logic; -電梯外人的上升請求信號 o_d2,o_d3,o_d4 : in std_logic; -電梯外乘客的下降請求信號 in1,in2,in3,in4 : in std_logic; -電梯內(nèi)乘客的請求信號 led : out std_logic_vector(3 downto 0);-電梯所在樓層顯示 led_c : out integer range 0 to 15; -開關(guān)門延時顯示 stop,overload : in std_lo
7、gic -緊急停止運行及超載信號 ); 3.2 外部數(shù)據(jù)采集模塊外部數(shù)據(jù)采集模塊的功能是實時、準(zhǔn)確的采集外部信號,以便準(zhǔn)確、實時的捕捉樓層到達(dá)信號、用戶請求信號和超載信號等,有效防止對樓層到達(dá)信號和外部請求信號的誤判。由于外界干擾,電路中會出現(xiàn)毛刺現(xiàn)象,使信號的純凈度降低,單個的毛刺往往會被錯誤的當(dāng)成系統(tǒng)狀態(tài)轉(zhuǎn)換的觸發(fā)信號,從而嚴(yán)重影響電梯的正常工作。為了增強系統(tǒng)的抗干擾能力,提高電梯工作的可靠性,可以采用多次檢測的方法,即對一個信號連續(xù)進(jìn)行多次采樣,以保證信號的可信度。 本設(shè)計實際不包含此模塊,而是采用按鍵輸入模擬此模塊來完成相應(yīng)功能的。在實際應(yīng)用中需包含此功能模塊。外部請求信號和緊急停止信
8、號的輸入形式為按鍵輸入,電梯自動上升或下降時間為5s,超載信號來自壓力傳感器。3.3 信號存儲模塊電梯控制器的輸入請求信號有10個(電梯外有 3個上升請求和3個下降請求的用戶輸入端口,電梯內(nèi)有4個用戶請求輸入端口),由于系統(tǒng)對內(nèi)、外請求沒有設(shè)置優(yōu)先級,各樓層的內(nèi)、外請求信號被采集后可先進(jìn)行運算,再存到存儲器內(nèi),但對請求信號的響應(yīng)有一定的優(yōu)先級,即:當(dāng)電梯處于上升模式時, 只響應(yīng)比電梯所在的位置高的上樓請求信號, 由下而上逐個執(zhí)行, 直到最后一個上樓請求執(zhí)行完畢;如果高層有下樓請求則直接升到有下樓請求的最高樓層, 然后進(jìn)入下降模式。當(dāng)電梯處于下降模式時則與上升模式相反。電梯運行過程中,由于用戶請
9、求信號的輸入是離散的,而且系統(tǒng)對請求的響應(yīng)也是離散的,因此,請求信號的存儲要保證新的請求信號不能覆蓋原來的請求信號,只有當(dāng)響應(yīng)動作完成后才能清除存儲器內(nèi)對應(yīng)的請求信號位。對應(yīng)某一樓層的請求信號的存儲、清除電路如圖3所示。ram的對應(yīng)位與與外部某層請求信號內(nèi)部某層請求信號響應(yīng)信號(clr)圖3 請求信號操作電路圖3.3 顯示模塊系統(tǒng)的顯示輸出包括樓層顯示及關(guān)門延時顯示(若需要,還可以增加請求信號顯示和電梯運動方向指示)。電梯每到一新樓層時,樓層數(shù)碼管便會更新顯示為新樓層的層數(shù);關(guān)門時會有3秒的倒計時顯示。4、仿真結(jié)果該電梯控制器使用vhdl語言設(shè)計,用atera公司cyclone系列中的ep1c
10、3t144c8芯片實現(xiàn),在 quartus ii 7.2 (32-bit)環(huán)境下通過編譯和仿真,并下載到實驗箱上進(jìn)行了驗證,其中部分仿真結(jié)果如圖4和圖5所示。從圖中可以看出,電梯在1樓(led0)時處于等待狀態(tài),當(dāng)有乘客在一樓電梯外請求要上3樓時(o_u1=1,in3=1),電梯開門后延時3秒(3個時鐘周期,實際中1個時鐘周期就是1秒,仿真時為提高速度時鐘周期取10ns)后關(guān)門(led_c=3,2,1,0);電梯將要到達(dá)二樓時,有乘客在三樓電梯外請求要上四樓(o_u3=1),電梯到達(dá)三樓時開門,釋放第一批乘客,接入第二批乘客;到達(dá)四樓后,進(jìn)入第三批乘客要去二樓,當(dāng)關(guān)門倒計時器數(shù)到1時(led_
11、c=1),發(fā)現(xiàn)超載(overload=1),此時關(guān)門倒計時器停止,電梯一直處于四樓,對二樓乘客的請求(in2=1)也不響應(yīng);超載信號消失后(overload =0),電梯一直下降至二樓,在關(guān)門倒計時器數(shù)到3時(led_c=3),有人請求緊急停止(stop=1),此時電梯保持不動,緊急停止信號消失后(stop=0),電梯完成關(guān)門,在二樓等待。三樓乘客要上四樓超載一樓乘客要上三樓 關(guān)門倒計時器值樓層指示圖4 仿真圖(0400ns)緊急制動圖5 續(xù)圖4(400ns)5、結(jié) 語本文設(shè)計的基于fpga的電梯控制器能夠很好的控制電梯完成四層樓的載客服務(wù),其硬件電路簡單,可靠性高。只要稍微改變程序就可以實現(xiàn)
12、更多層的電梯控制,便于擴(kuò)展,靈活性好,需用批量足夠大時容易做成專用集成電路芯片,設(shè)計成本低具有較好的應(yīng)用前景。參考文獻(xiàn)略附 錄 :源程序-文件名:dianti.vhd。-功能:4層樓的電梯控制系統(tǒng)。-最后修改日期:2008.7.20。library ieee;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; -時鐘信號(頻率為1hz) o_u1,o_u2,o_u3: in std_
13、logic; -電梯外乘客的上升請求信號 o_d2,o_d3,o_d4 : in std_logic; -電梯外乘客的下降請求信號 in1,in2,in3,in4 : in std_logic; -電梯內(nèi)乘客的請求信號 led : out std_logic_vector(3 downto 0); -電梯所在樓層顯示 led_c : out integer range 0 to 15; -開關(guān)門延時 stop,overload : in std_logic -緊急停止運行,超載 ); end dianti;architecture behav of dianti issignal opendo
14、or:std_logic; -開門使能信號signal updown:std_logic; -電梯運動方向信號寄存器signal en_up,en_dw:std_logic; -預(yù)備上升、預(yù)備下降預(yù)操作使能信號type state is(g1,g2,g3,g4);signal g:state;signal en : std_logic ; - 1 電梯下一步動作使能;0 進(jìn)行動作上升,下降,開關(guān)門beginprocess(clk,en,stop,overload)variable in1_r,in2_r,in3_r,in4_r:std_logic; -電梯內(nèi)乘客請求信號寄存信號variable
15、 o_u1_r,o_u2_r,o_u3_r:std_logic; -電梯外乘客上升請求信號寄存信號variable o_d2_r,o_d3_r,o_d4_r:std_logic; -電梯外乘客下降請求信號寄存信號variable in_all,o_u_all,o_d_all,o_i_all:std_logic_vector(3 downto 0); -電梯內(nèi)外請求信號寄存器beginif clkevent and clk=1 then -if alarm=1then-in1_r:=1;in2_r:=0;in3_r:=0;in4_r:=0;-o_u1_r:=0;o_u2_r:=0;o_u3_r:
16、=0;-o_d2_r:=0;o_d3_r:=0;o_d4_r:=0; -elseif in1=1 then in1_r:=1; end if; -對電梯內(nèi)乘客請求信號進(jìn)行檢測和寄存 if in2=1 then in2_r:=1;end if;if in3=1 then in3_r:=1;end if;if in4=1 then in4_r:=1;end if;if o_u1=1 then o_u1_r:=1;end if; -對電梯外乘客上升請求信號進(jìn)行檢測和寄存if o_u2=1 then o_u2_r:=1;end if;if o_u3=1 then o_u3_r:=1;end if; i
17、f o_d2=1 then o_d2_r:=1;end if; -對電梯外乘客下降請求信號進(jìn)行檢測和寄存if o_d3=1 then o_d2_r:=1;end if;if o_d4=1 then o_d2_r:=1;end if; -end if;in_all:=in4_r&in3_r&in2_r&in1_r; -電梯內(nèi)乘客請求信號并置 o_u_all:=0&o_u3_r&o_u2_r&o_u1_r; -電梯外乘客上升請求信號并置 o_d_all:=o_d4_r&o_d3_r&o_d2_r&0; -電梯外乘客下降請求信號并置 o_i_all:=in_all or o_u_all or o_d
18、_all; -電梯內(nèi)、外乘客請求信號進(jìn)行綜合 end if; if clkevent and clk=1 and en=1 and stop=0and overload=0thencase g iswhen g1 = led=0001; -電梯到達(dá)一樓,數(shù)碼管顯示1if in1_r=1 or o_u1_r=1 then -有當(dāng)前層的請求,則電梯進(jìn)入開門狀態(tài)in1_r:=0; o_u1_r:=0;en_up=0;en_dw=0;opendoor=1; g=g1; elsif o_i_all=0000 then-無請求時,電梯停在1樓待機 en_up=0;en_dw=0;opendoor=0; g
19、0001 then -有上升請求,則電梯進(jìn)入預(yù)備上升狀態(tài)en_up=1;en_dw=0;opendoor=0; g led=0010; -電梯到達(dá)二樓,數(shù)碼管顯示2if updown=1 then -電梯前一運動狀態(tài)位上升 if in2_r=1 or o_u2_r=1 or o_d2_r=1 then -有當(dāng)前層的請求,則電梯進(jìn)入開門狀態(tài) in2_r:=0; o_u2_r:=0;o_d2_r:=0;en_up=0;en_dw=0;opendoor=1; g=g2; elsif o_i_all=0000 then en_up=0;en_dw=0;opendoor=0; g0011 then -有
20、上升請求,則電梯進(jìn)入預(yù)備上升狀態(tài) en_up=1;en_dw=0;opendoor=0;g=g3;-無請求時,電梯停在二樓待機elsif o_i_all0010 then -有下降請求,則電梯進(jìn)入預(yù)備下降狀態(tài)en_up=0;en_dw=1;opendoor=0;g=g1;end if; else-電梯前一運動狀態(tài)為下降 if in2_r=1 or o_d2_r=1 or o_u2_r=1 then -有當(dāng)前層的請求,則電梯進(jìn)入開門狀態(tài)in2_r:=0; o_d2_r:=0;o_u2_r:=0;en_up=0;en_dw=0;opendoor=1; g=g2;elsif o_i_all=0000
21、 then en_up=0;en_dw=0;opendoor=0; g=g2;-無請求時,電梯停在二樓待機elsif o_i_all0010 then -有下降請求,則電梯進(jìn)入預(yù)備下降狀態(tài)en_up=0;en_dw=1;opendoor=0; g0011 then -有上升請求,則電梯進(jìn)入預(yù)備上升狀態(tài) en_up=1;en_dw=0;opendoor=0; g led=0011;-電梯到達(dá)三樓,數(shù)碼管顯示3if updown=1 then if in3_r=1 or o_u3_r=1 or o_d3_r=1 then in3_r:=0; o_u3_r:=0;o_d3_r:=0;en_up=0;
22、en_dw=0;opendoor=1; g=g3;elsif o_i_all=0000 then en_up=0;en_dw=0;opendoor=0; g0111 then en_up=1;en_dw=0;opendoor=0; g=g4;elsif o_i_all0100 then en_up=0;en_dw=1;opendoor=0; g=g2; end if;elseif in3_r=1 or o_d3_r=1 or o_u3_r=1then in3_r:=0; o_d3_r:=0;o_u3_r:=0;en_up=0;en_dw=0;opendoor=1;g=g3; elsif o_i
23、_all=0000 then en_up=0;en_dw=0;opendoor=0; g=g3; elsif o_i_all0100 then en_up=0;en_dw=1;opendoor=0;g0111 then en_up=1;en_dw=0;opendoor=0; g led=0100; -電梯到達(dá)四樓,數(shù)碼管顯示4 if in4_r=1 or o_d4_r=1 then in4_r:=0; o_d4_r:=0;en_up=0;en_dw=0;opendoor=1;g=g4;elsif o_i_all=0000 then en_up=0;en_dw=0;opendoor=0; g=g4; elsif o_i_all1000 then en_up=0;en_dw=1;opendo
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大竹縣竹中中考數(shù)學(xué)試卷
- 營養(yǎng)型輸液項目風(fēng)險識別與評估綜合報告
- 自籌經(jīng)費措施方案
- 喀什非開挖頂管施工方案
- 智能制造與物聯(lián)網(wǎng)(IoT)應(yīng)用的策略及實施方案
- 新型城鎮(zhèn)化中的農(nóng)村振興與現(xiàn)代農(nóng)業(yè)發(fā)展的策略
- 能源結(jié)構(gòu)優(yōu)化與清潔能源轉(zhuǎn)型的策略
- 降碳減污擴(kuò)綠增長的經(jīng)濟(jì)學(xué)分析
- 文化交流與一帶一路人文合作的推動路徑
- 更大力度穩(wěn)定和擴(kuò)大就業(yè)的策略及實施路徑
- SB-T 11238-2023 報廢電動汽車回收拆解技術(shù)要求
- 《商朝的發(fā)展》課件
- 開題報告-基于單片機的溫度控制系統(tǒng)設(shè)計
- 北師版四下數(shù)學(xué)數(shù)學(xué)好玩教材分析公開課課件教案
- 山羊傳染性胸膜肺炎的防治
- 設(shè)計交底與圖紙會審會議紀(jì)要
- 北師大版完整版英語完形填空練習(xí)題40篇
- 統(tǒng)編版語文三年級上冊期中課外閱讀大闖關(guān)(含答案)
- 多樣生態(tài)茶園建設(shè)方案
- 電子商務(wù)專升本考試(習(xí)題卷7)
- 莖木類中藥鑒定技術(shù)-通草、鉤藤的鑒定
評論
0/150
提交評論