freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的智能電梯控制系統(tǒng)的實(shí)現(xiàn)畢業(yè)論文(編輯修改稿)

2024-07-15 14:31 本頁面
 

【文章內(nèi)容簡介】 別設(shè)有下降和上升請求開關(guān),這一點(diǎn)應(yīng)該不難理解。電梯內(nèi)設(shè)有乘客到達(dá)層次的請求開關(guān)。電梯每1s上升或下降一層電梯到達(dá)有停站請求的樓層后,經(jīng)過1s后電梯門打開,開門指示燈亮,開門5s后電梯指示燈滅,電梯繼續(xù)運(yùn)行,直至運(yùn)行完最后一個(gè)請求后停靠在當(dāng)前層。以上是我們所應(yīng)實(shí)現(xiàn)的基本功能。我在序言中也講到了,“應(yīng)用有限狀態(tài)機(jī)”實(shí)現(xiàn)電梯的實(shí)時(shí)控制是最好不過的方法了,通過我的分析以及參考圖書館的有關(guān)書籍,也少不了參照一些網(wǎng)上的程序,最后總結(jié)出了電梯正常運(yùn)行的七個(gè)狀態(tài):上升、下降、上升的過程中途停止、下降的過程中途停止、開門、關(guān)門、等待狀態(tài)。電梯在上述七個(gè)狀態(tài)間的轉(zhuǎn)移是通過三段式狀態(tài)機(jī)來實(shí)現(xiàn)的,各狀態(tài)間的轉(zhuǎn)移大體與生活中的電梯運(yùn)轉(zhuǎn)一致,有如下的基本原則:方向?yàn)榈谝粌?yōu)先準(zhǔn)則,這就是曾老師給我們的技術(shù)指標(biāo)。電梯在運(yùn)轉(zhuǎn)時(shí)先響應(yīng)同方向上的請求,只有當(dāng)同方向上的請求響應(yīng)完后,才能轉(zhuǎn)而響應(yīng)不同方向上的請求。初始化狀態(tài)為1樓等待門是關(guān)閉的。這個(gè)就不用多解釋了。除了我對電梯的運(yùn)行規(guī)律做出如上的分析外,我的另一個(gè)選擇開發(fā)智能電梯控制器的原因是我想鍛煉一下自己的邏輯思維和分析復(fù)雜問題的能力。 電梯控制系統(tǒng)狀態(tài)圖分析最開始我根據(jù)DE2板子所能提供的資源,把樓層數(shù)設(shè)為6層。從我查閱的書籍中我總結(jié)了兩點(diǎn)是我可以借鑒的。首先,是怎樣處理數(shù)量繁多的電梯輸入信號,如果采用分情況討論的話,程序一路寫完,復(fù)雜度肯定是不堪設(shè)想,而且我還不敢保證是否分析到所有的情況了。always @(call_up_1 or call_up_2 or call_up_3 or call_up_4 or call_up_5) up_all={139。b0, call_up_5, call_up_4, call_up_3, call_up_2, call_up_1}。 //將各下降請求信號實(shí)時(shí)地合并(1樓為底層,無下降請求,考慮到通用性,將第1位填零) always @(call_down_2 or call_down_3 or call_down_4 or call_down_5 or call_down_6) down_all={call_down_6, call_down_5, call_down_4, call_down_3, call_down_2, 139。b0}。 //將各停靠請求信號實(shí)時(shí)地合并 always @(request_1 or request_2 or request_3 or request_4 or request_5 or request_6) request_all={request_6, request_5, request_4, request_3, request_2, request_1}。以上這一段程序就是我采用的信號并置處理很多輸入信號的一種行之有效的方法。其次,我從資料中學(xué)習(xí)到的方法就是如何把信號并置的方法和有限狀態(tài)機(jī)聯(lián)系起來。這一點(diǎn)從下面的參數(shù)定義中可以窺見一二。 parameter WAIT=739。b0000001, UP=739。b0000010, DOWN=739。b0000100, UPSTOP=739。b0001000 , DOWNSTOP=739。b0010000, OPENDOOR=739。b0100000, CLOSEDOOR=739。b1000000。 //定義樓層的符號常量 parameterFLOOR1=639。b000001,FLOOR2=639。b000010,FLOOR3=639。b000100, FLOOR4=639。b001000, FLOOR5=639。b010000, FLOOR6=639。b100000。 parameter TRUE=139。b1, FALSE=139。b0。//定義門打開和門關(guān)閉的符號常量 parameter OPEN=139。b1, CLOSED=139。b0。//定義電梯上升,下降和靜止的符號常量 parameter UPFLAG=239。b01,DNFLAG=239。b10,STATIC=239。b00。這里采用了七個(gè)狀態(tài)實(shí)現(xiàn)了有限狀態(tài)機(jī)。WAITUPUPSTOPDOWNOPENDOORDOWNSTOPCLOSEDOOR以上是我分析的兩種基本的電梯狀態(tài)轉(zhuǎn)換圖:黑線:WAIT TO UP TO UPSTOP TO OPENDOOR TO CLOSEDOOR TO WAIT粉紅線:WAIT TO DOWN TO DOWNSTOP TO OPENDOOR TO CLOSEDOOR TO WAIT 由于狀態(tài)轉(zhuǎn)換的輸入條件實(shí)在太多,在此我不畫出,讀者可以自行在程序(附有詳細(xì)注釋)中領(lǐng)會。我的程序中采用的是標(biāo)準(zhǔn)的MEALY型狀態(tài)狀態(tài)機(jī)。而且是老師建議的三段式的結(jié)構(gòu)來寫的。 VIEW不能顯示出這個(gè)三段式的有限狀態(tài)機(jī)。不過我會繼續(xù)努力一下的,目前我智能用圖形框來表示這個(gè)狀態(tài)的流程了。第三章 電梯控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) MAX+PLUSII的介紹Max+plusII(或?qū)懗蒑axplus2,或MP2) 是Altera公司推出的的第三代PLD開發(fā)系統(tǒng)(Altera第四代PLD開發(fā)系統(tǒng)被稱為:QuartusII,主要用于設(shè)計(jì)新器件和大規(guī)模CPLD/FPGA).使用MAX+PLUSII的設(shè)計(jì)者不需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu)。設(shè)計(jì)者可以用自己熟悉的設(shè)計(jì)工具(如原理圖輸入或硬件描述語言)建立設(shè)計(jì),MAX+PLUSII把這些設(shè)計(jì)轉(zhuǎn)自動換成最終所需的格式。其設(shè)計(jì)速度非常快。對于一般幾千門的電路設(shè)計(jì),使用MAX+PLUSII,從設(shè)計(jì)輸入到器件編程完畢,用戶拿到設(shè)計(jì)好的邏輯電路,大約只需幾小時(shí)。設(shè)計(jì)處理一般在數(shù)分鐘內(nèi)內(nèi)完成。特別是在原理圖輸入等方面,Maxplus2被公認(rèn)為是最易使用,人機(jī)界面最友善的PLD開發(fā)軟件,特別適合初學(xué)者使用。在這里我們可以先看一看用FPGA/CPLD開發(fā)工具進(jìn)行電路設(shè)計(jì)的一般流程通??蓪PGA/CPLD設(shè)計(jì)流程歸納為以下7個(gè)步驟,這與ASIC設(shè)計(jì)有相似之處。在傳統(tǒng)設(shè)計(jì)中,設(shè)計(jì)人員是應(yīng)用傳統(tǒng)的原理圖輸入方法來開始設(shè)計(jì)的。自90年代初, Verilog、VHDL、AHDL等硬件描述語言的輸入方法在大規(guī)模設(shè)計(jì)中得到了廣泛應(yīng)用。(功能仿真)。設(shè)計(jì)的電路必須在布局布線前驗(yàn)證電路功能是否有效。(ASCI設(shè)計(jì)中,這一步驟稱為第一次Signoff)PLD設(shè)計(jì)中,有時(shí)跳過這一步。設(shè)計(jì)輸入之后就有一個(gè)從高層次系統(tǒng)行為設(shè)計(jì)向門級邏輯電路設(shè)轉(zhuǎn)化翻譯過程,即把設(shè)計(jì)輸入的某種或某幾種數(shù)據(jù)格式(網(wǎng)表)轉(zhuǎn)化為軟件可識別的某種數(shù)據(jù)格式(網(wǎng)表)。對于上述綜合生成的網(wǎng)表,根據(jù)布爾方程功能等效的原則,用更小更快的綜合結(jié)果代替一些復(fù)雜的單元,并與指定的庫映射生成新的網(wǎng)表,這是減小電路規(guī)模的一條必由之路。在PLD設(shè)計(jì)中,35步可以用PLD廠家提供的開發(fā)軟件(如 Maxplus2)自動一次完成。(時(shí)序仿真)需要利用在布局布線中獲得的精確參數(shù)再次驗(yàn)證電路的時(shí)序。(ASCI設(shè)計(jì)中,這一步驟稱為第二次Sign—off)。布線和后仿真完成之后,就可以開始ASCI或PLD芯片的投產(chǎn)。同樣,使用Maxplus2基本上也是有以上幾個(gè)步驟,但可簡化為: 電梯控制系統(tǒng)的VHDL語言設(shè)計(jì)及仿真 模塊示意圖和輸入輸出描述(1) 電梯主控制器模塊elevator_controller:端口聲明:Input Port:call_up_1, call_up_2, call_up_3, call_up_4, call_up_5分別為15樓的上行請求信號,call_down_2, call_down_3, call_down_4, call_down_5, call_down_6則分別為26樓的下行請求信號request_1, request_2, request_3, request_4, request_5, request_6則分別為電梯內(nèi)部的???6樓的請求上述各端口均為有請求時(shí),輸入為高電平,否則為低電平。clk分別為狀態(tài)轉(zhuǎn)移時(shí)鐘,reset為復(fù)位信號Output Port:PosOut輸出當(dāng)前電梯所在的樓層,DoorFlag為開門標(biāo)志,UpDnFlag為電梯上下標(biāo)志LiftState輸出當(dāng)前電梯的狀態(tài).PosOut取值可為639。b000001,639。b000010,639。b000100,639。001000,639。b010000,639。b100000分別代表電梯處在1,2,3,4,5,6樓。這樣編碼的話,有利于后面的比較判斷。DoorFlag取值可為139。b0,139。b1,分別代表當(dāng)前門是關(guān)閉和當(dāng)前門是打開的。UpDnFlag取值可為239。b00,239。b01,239。b10,分別代表當(dāng)前電梯是上升的,下降的和靜止的。LiftState739。b0000001,739。b0000010,739。b0000100,739。b0001000,739。b0010000,739。b0100000,739。b1000000,分別電梯處于等待模式、上升模式、下降模式、上升停止,下降停止、開門和關(guān)門等7個(gè)狀態(tài)。(2)分頻模塊frequence_div:端口說明:Input ports:cp_50M。output ports:cp_1。(3)電梯狀態(tài)仲裁器arbitrator:端口說明:Input ports:elevator_state。count_in。output ports:output open_enable,stop_enable,up_enable,down_enable,close_enable。(4)LCD驅(qū)動模塊DE2_Default:端口說明:Input ports:input open_enable,stop_enable,up_enable,down_enable,close_enable。input CLOCK_50。 // 50 MHzinput KEY。output ports:inout [7:0] LCD_DATA。 // LCD Data bus 8 bitsoutput LCD_ON。 // LCD Power ON/OFFoutput LCD_BLON。 // LCD Back Light ON/OFFoutput LCD_RW。 // LCD Read/Write Select, 0 = Write, 1 = Readoutput LCD_EN。 // LCD Enableoutput LCD_RS。// LCD Command/DataSelect, 0= Command, 1 = Data 模塊設(shè)計(jì)過程現(xiàn)在我簡要的說明一下我的模塊的設(shè)計(jì)過程:(1)電梯主控制器模塊elevator_controller:此段智能電梯控制器由三個(gè)重要部分組成的。(a)信號并置部分,完成對5路向上請求、5路向下請求、6路內(nèi)部請求的信號并置,化繁為簡。(b)三段式有限狀態(tài)機(jī)部分。在有請求的情況下,電梯控制器還要根據(jù)電梯的當(dāng)前狀態(tài)和當(dāng)前的樓層去判斷電梯的下一步該如何運(yùn)作。(c)計(jì)數(shù)器部分。完成電梯的開門、關(guān)門的時(shí)間管理。(2)分頻模塊frequence_div:這段分頻器完成對50Mhz的1分頻操作。采用傳統(tǒng)的“一半就翻轉(zhuǎn)”的計(jì)數(shù)技巧。(3)電梯狀態(tài)仲裁器arbitrator:完成電梯信號到LCD控制的信號轉(zhuǎn)換。其中也采用了“電梯主控制器”中的信號并置的思想。這一點(diǎn)可以在我的程序中十分清楚的看到,在此我不再贅述。(4)LCD驅(qū)動模塊DE2_Default:這個(gè)模塊我是采用“ 拿來主義”的。因?yàn)槭荄E2板子提供的源程序,所以編寫起來還算比較輕松。就只加了一個(gè)“ 根據(jù)不同的輸入產(chǎn)生不同的輸出 ”的模塊。中途還遇到了字符型液晶不能更新的問題,不過在同學(xué)的幫助下,最終還是解決了。(5)數(shù)碼管譯碼模塊:(6)數(shù)碼管時(shí)間譯碼模塊:以上兩個(gè)模塊一起講比較合適,因?yàn)樗鼈兌际遣捎昧送瑯拥淖g碼原則,只不過條件不一樣而已。我們可以針對不同的輸入根據(jù)自己的意愿把它譯成同樣的數(shù)碼顯示。 以上的模塊設(shè)計(jì)過程說的比較的簡約。主要是大概的介紹了我的各個(gè)模塊的基本設(shè)計(jì)原理,希望讀者能從程序中仔細(xì)體會這種原理。 波形仿真(1)當(dāng)電梯處于初始狀態(tài)時(shí),電梯在高層有向下的請求時(shí):(2)LCD的顯示由于數(shù)據(jù)太多,所以單獨(dú)顯示如下:首先顯示:“ it is static.. ”隨后會顯示:以上的字符發(fā)送到液晶顯示模塊之后,可以顯示“ door is rising.. ”隨后會顯示:可以顯示“ it is static.. ”以上的字符發(fā)送到液晶顯示模塊之后,可以顯示“ door is opening.. ”隨后會顯示:以上的字符發(fā)送到液晶顯示模塊之后,可以顯示“ it is closing.. ”最后會顯示下列字符,電梯重新回到初始等待狀態(tài):以上可以顯示“ it is static.. ” 說明:由于LCD顯示波形會占用比較多的空間,所以以上我僅以在高層有向下的請求為例來說明,電梯的狀態(tài)完全可以通過LCD來正確地顯示出來。鑒于此,我的下面的波形將不展示LCD顯示部分的波形圖。(3)當(dāng)電梯停在6樓處于等待狀態(tài)時(shí),在1樓和2樓同時(shí)有向上的請求時(shí):(4)當(dāng)電梯停在1樓處于等待狀態(tài)時(shí),在6樓和5樓同時(shí)有向下的請求時(shí):(5)當(dāng)電梯停在6樓時(shí),有在5樓的向下的請求時(shí),電梯應(yīng)該先到五樓,電梯內(nèi)部請求到1樓,如果電梯在下降的過程中,有在2樓的向上的請求時(shí),電梯應(yīng)該先相應(yīng)內(nèi)部請求,然后相應(yīng)外部請求:(6)電梯的強(qiáng)制運(yùn)行按鈕forbid: 電梯控制系統(tǒng)的實(shí)驗(yàn)平臺實(shí)現(xiàn)結(jié)論與體會
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1