

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)論文</b></p><p> 題目:基于FPGA的智能電梯控制系統(tǒng)的實現(xiàn)</p><p> 2010 年 12 月 07 日</p><p><b> 摘要</b></p><p> 智能電梯控制系統(tǒng)的設(shè)計思想</p><p>
2、; 智能電梯的編寫的過程也不是一帆風順的。而且我試過好多種方法去實現(xiàn)電梯的狀態(tài)的轉(zhuǎn)移。起初我想到的肯定是有限狀態(tài)機。不過由于開始我想到只有六個請求(分別為1~6樓),后來在老師的啟發(fā)下和東十二樓的電梯實際運行情況我發(fā)現(xiàn),6個按鈕肯定是不夠的,所以我又加了5個向上的請求按鈕和5個向下的請求按鈕,這樣總共就有16個按鈕了,由于當時我沒有想到用信號并置的方法,所以需要分析的情況實在是太多了,我也沒有信心了。不過問題始終都是要得到解決的,后來
3、我在我們寢室的一個同學的參考書上看到了一個用VHDL語言編寫的智能電梯控制器的程序,不過很不完整,它給我的最大的啟發(fā)就是“信號并置的算法”,我才發(fā)現(xiàn)這樣一來的話,我的工作量就大大減少了。</p><p> 當時我不僅采用“信號并置的算法”外,還采納了它的“以樓層為電梯的狀態(tài)轉(zhuǎn)移的依據(jù)”的思想,這確實是一個不錯的方法,不過當時我一直沒有任何進展,一是它是用VHDL語言編寫的,而且我對這個語言不是很熟悉所以不是特別
4、理解。后來竟然干起了把VHDL語言翻譯成verilog語言的工作,這樣沒有任何含金量的工作讓我浪費了不少時間?,F(xiàn)在想起來,我才發(fā)現(xiàn)我竟然迷失了自己,我原先自己的算法已經(jīng)被丟失了,留下了的僅僅是一些他人的程序。“以樓層為電梯的狀態(tài)轉(zhuǎn)移的依據(jù)”的編程方法讓我沒有得到任何進展,我放棄的這種處理多種狀態(tài)的方法,繼而轉(zhuǎn)向了我原先的“有限狀態(tài)機”的方法。使用三段式的有限狀態(tài)機的方法也花了很多時間去修正和改善。實現(xiàn)了基本的功能,當時一遇到比較復(fù)雜的情
5、況時(比喻同時有幾個人在請求或者是同時有兩個在不同樓層的請求時電梯該如何運行呢,這些特殊情況我在當時一直沒有找到合適和有效的方法去解決)。</p><p> 關(guān)鍵詞:信號并置 verilog 狀態(tài)機</p><p> Intelligent elevator control system design thought
6、</p><p><b> Abstract</b></p><p> Intelligent elevator compilation process is not easy. And I tried a variety of ways to realize the transfer of the state. At first I thought the a
7、ffirmation is a finite state machine. But due to start I thought only six request (respectively for 1 ~ 6 / f) and then in teacher inspired and east ten on the second floor of the elevator actual operation situation I fo
8、und, 6 button affirmation is not enough, so I added five upward request button and five downward request button, so it has 16 button, </p><p><b> 目 錄</b></p><p> 第一章 概述摘要7</
9、p><p> 1.1 EDA概述7</p><p> 1.1.1什么是EDA7</p><p> 1.1.2 EDA的特8</p><p> 1.1.3 EDA的應(yīng)用8</p><p> 1.2 FPGA的簡介及特點9</p><p> 1.3 VHDL語言及程序概述11&l
10、t;/p><p> 1.3.1 VHDL語言的發(fā)展.11</p><p> 1.3.2 VHDL語言的特點11</p><p> 1.3.3 VHDL語言程序的基本結(jié)構(gòu)13</p><p> 1.4狀態(tài)機的簡介13</p><p> 第二章 電梯控制系統(tǒng)的分析15</p><p>
11、; 2.1選題的背景15</p><p> 2.2電梯控制的研究背景16</p><p> 2.3 我國電梯的發(fā)展概況16</p><p> 2.4 電梯設(shè)計的具體目的及控制要求17</p><p> 2.5電梯控制器設(shè)計原理及思路17</p><p> 2.6 電梯控制系統(tǒng)狀態(tài)圖分析18<
12、;/p><p> 第三章 電梯控制系統(tǒng)的設(shè)計與實現(xiàn)21</p><p> 3.1 MAX+PLUSII的介紹21</p><p> 3.2 電梯控制系統(tǒng)的VHDL語言設(shè)計及仿真22</p><p> 3.2.1 模塊示意圖和輸入輸出描述22</p><p> 3.2.2 模塊設(shè)計過程25</p&g
13、t;<p> 3.2.3 波形仿真26</p><p> 3.3 電梯控制系統(tǒng)的實驗平臺實現(xiàn)32</p><p><b> 結(jié)論與體會.33</b></p><p><b> 致謝.35</b></p><p><b> 附件程序.35</b>
14、</p><p><b> 參考文獻.49</b></p><p><b> 第一章 概述摘要</b></p><p><b> 1.1 EDA概述</b></p><p> EDA在通信行業(yè)(電信)里的另一個解釋是企業(yè)數(shù)據(jù)架構(gòu),EDA給出了一個企業(yè)級的數(shù)據(jù)架構(gòu)的總體
15、視圖,并按照電信企業(yè)的特征,進行了框架和層級的劃分。 EDA是電子設(shè)計自動化(Electronic Design Automation)的縮寫,在20世紀60年代中期從計算機輔助設(shè)計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發(fā)展而來的。</p><p> 1.1.1什么是EDA</p><p> 20世紀90年代,國際上電子和計算機技
16、術(shù)較先進的國家,一直在積極探索新的電子電路設(shè)計方法,并在設(shè)計方法、工具等方面進行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結(jié)構(gòu)和工作方式進行重構(gòu),從而使得硬件的設(shè)計可以如同軟件設(shè)計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計方法、設(shè)計過程和設(shè)計觀念,促進了EDA技術(shù)的迅速發(fā)展。 &l
17、t;/p><p> EDA技術(shù)就是以計算機為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計的效率和可操作性,減輕了設(shè)計者的勞動強度。 </p><p> 利用EDA工具,電子設(shè)計師可以從概念、算法、協(xié)議
18、等開始設(shè)計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設(shè)計、性能分析到設(shè)計出IC版圖或PCB版圖的整個過程的計算機上自動處理完成。 </p><p> 現(xiàn)在對EDA的概念或范疇用得很寬。包括在機械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學、軍事等各個領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學部門廣泛使用。例如在飛機制造過程中,從設(shè)計、性能測試及特性分析直到飛行模
19、擬,都可能涉及到EDA技術(shù)。</p><p> 1.1.2 EDA的特點</p><p> (1) 高層綜合和優(yōu)化</p><p> 為了能更好地支持自頂向下的設(shè)計方法,現(xiàn)代的EDA工具能夠在系統(tǒng)進行綜合和優(yōu)化,這樣就縮短了設(shè)計的周期,提高了設(shè)計效率。</p><p> (2)采用硬件描述語言進行設(shè)計</p><p
20、> 采用硬件描述語言進行電路與系統(tǒng)的描述是當前EDA技術(shù)的另一個特征。與傳統(tǒng)的原理圖設(shè)計方法相比,HDL語言更適合描述規(guī)模大的數(shù)字系統(tǒng),它能夠使設(shè)計者在比較抽象的層次上對所設(shè)計系統(tǒng)的結(jié)構(gòu)和邏輯功能進行描述。采用HDL語言設(shè)計的突出優(yōu)點是:語言的公開性和利用性;設(shè)計與工藝的無關(guān)性;寬范圍的描述能力;便于組織大規(guī)模系統(tǒng)的設(shè)計;便于設(shè)計的復(fù)用,交流,保存和修改等。目前最常用的硬件描述語言有VHDL和Verilog HDL,它們都已經(jīng)成
21、為IEEE標準。</p><p> (3)開放性和標準化</p><p> 現(xiàn)代EDA工具普遍采用標準化和開放性框架結(jié)構(gòu),任何一個EDA系統(tǒng)只要建立了一個符合標準的開放式框架結(jié)構(gòu),就可以接納其他廠商的EDA工具儀器進行設(shè)計工作。這樣就可以實現(xiàn)各種EDA工具的優(yōu)化組合,并集成在一個易于管理的統(tǒng)一環(huán)境下,實現(xiàn)資源共享。</p><p> 1.1.3 EDA的應(yīng)用&
22、lt;/p><p> 隨著電子技術(shù)的發(fā)展,可編程邏輯器件和eda技術(shù)已廣泛應(yīng)用于通信、工業(yè)自動化、智能儀表、圖像處理、計算機等領(lǐng)域。EDA(ElectronincDesign Automation,電子設(shè)計自動化)技術(shù)是現(xiàn)代電子工程領(lǐng)域的一門新技術(shù),它提供了基于計算機和信息技術(shù)的電路系統(tǒng)設(shè)計方法。EDA技術(shù)的發(fā)展和推廣應(yīng)用極大地推動了電子工業(yè)的發(fā)展。隨著EDA技術(shù)的發(fā)展,硬件電子電路的設(shè)計幾乎全部可以依靠計算機來完
23、成,這樣就大大縮短了硬件電子電路設(shè)計的周期,從而使制造商可以快速開發(fā)出品種多、批量小的產(chǎn)品,以滿足市場的眾多需求。EDA教學和產(chǎn)業(yè)界的技術(shù)推廣是當今世界的一個技術(shù)熱點,EDA技術(shù)是現(xiàn)代電子工業(yè)中不可缺少的一項技術(shù)。</p><p> 1.2 FPGA的簡介及特點</p><p><b> 背景</b></p><p> 目前以硬件描述語言
24、(Verilog或 VHDL)所完成的電路設(shè)計,可以經(jīng)過簡單的綜合與布局,快速的燒錄至 FPGA 上進行測試,是現(xiàn)代 IC 設(shè)計驗證的技術(shù)主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。 </p><p> 系
25、統(tǒng)設(shè)計師可以根據(jù)需要通過可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計者而改變,所以FPGA可以完成所需要的邏輯功能。 </p><p> FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復(fù)雜的設(shè)計,而且消耗更多的電能。但是他們也有很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可
26、能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設(shè)計的開發(fā)是在普通的FPGA上完成的,然后將設(shè)計轉(zhuǎn)移到一個類似于ASIC的芯片上。另外一種方法是用CPLD(復(fù)雜可編程邏輯器件備)。 </p><p> CPLD與FPGA的關(guān)系</p><p> 早在1980年代中期,F(xiàn)PGA已經(jīng)在PLD設(shè)備中扎根。CPLD和FPGA包括了一些相對大數(shù)量的可以編輯邏輯單
27、元。CPLD邏輯門的密度在幾千到幾萬個邏輯單元之間,而FPGA通常是在幾萬到幾百萬。 </p><p> CPLD和FPGA的主要區(qū)別是他們的系統(tǒng)結(jié)構(gòu)。CPLD是一個有點限制性的結(jié)構(gòu)。這個結(jié)構(gòu)由一個或者多個可編輯的結(jié)果之和的邏輯組列和一些相對少量的鎖定的寄存器。這樣的結(jié)果是缺乏編輯靈活性,但是卻有可以預(yù)計的延遲時間和邏輯單元對連接單元高比率的優(yōu)點。而FPGA卻是有很多的連接單元,這樣雖然讓它可以更加靈活的編輯,
28、但是結(jié)構(gòu)卻復(fù)雜的多。 </p><p> CPLD和FPGA另外一個區(qū)別是大多數(shù)的FPGA含有高層次的內(nèi)置模塊(比如加法器和乘法器)和內(nèi)置的記憶體。一個因此有關(guān)的重要區(qū)別是很多新的FPGA支持完全的或者部分的系統(tǒng)內(nèi)重新配置。允許他們的設(shè)計隨著系統(tǒng)升級或者動態(tài)重新配置而改變。一些FPGA可以讓設(shè)備的一部分重新編輯而其他部分繼續(xù)正常運行。 </p><p><b> FPGA工作
29、原理</b></p><p> FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。 </p><p><b> FPGA的基本特點</b&g
30、t;</p><p> 1)采用FPGA設(shè)計ASIC電路(特定用途集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。 </p><p> 2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。 </p><p> 3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。 </p><p> 4)FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用
31、最低、風險最小的器件之一。 </p><p> 5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。 </p><p> 可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 </p><p> FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式
32、,采用不同的編程方式。 </p><p> 加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此
33、,F(xiàn)PGA的使用非常靈活。</p><p> 1.3 VHDL語言及程序概述</p><p> VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,誕生于 1982 年。1987 年底,VHDL被 IEEE 和美國國防部確認為標準硬件描述語言。 </p><p>
34、; VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。
35、這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點。 </p><p> 1.3.1 VHDL語言的發(fā)展</p><p> 在集成電路制造工藝的發(fā)展的過程中,微電子設(shè)計工藝已經(jīng)達到了深亞微米時代,在EDA設(shè)計中主要有軟硬件協(xié)作設(shè)計的要求,現(xiàn)有的工具支持SOC設(shè)計尚有難度,迫切需要提高設(shè)計能力。在設(shè)計語言中,由于VHL和Verilog HDL是目前通用的設(shè)計語言,在設(shè)計大系統(tǒng)時,
36、不夠方便直觀,所以需要進一步完善。</p><p> 電子產(chǎn)品隨著技術(shù)的進步,更新?lián)Q代日新月異,而掌握電子產(chǎn)品開發(fā)研制的動力源—EDA技術(shù),是我們國家工程技術(shù)人員不可推卸的責任,因為中國的設(shè)計公司大多還處在發(fā)展的初級階段,所使用的設(shè)計工具都是幾年前國外的主流工具。</p><p> 1.3.2 VHDL語言的特點</p><p> VHDL 語言能夠成為標準化
37、的硬件描述語言并獲得廣泛應(yīng)用 , 它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點。歸納起來 ,VHDL 語言主要具有以下優(yōu)點:[1] </p><p> (1) VHDL 語言功能強大 , 設(shè)計方式多樣 </p><p> VHDL 語言具有強大的語言結(jié)構(gòu), 只需采用簡單明確的VHDL語言程序就可以描述十分復(fù)雜的硬件電路。同時, 它還具有多層次的電路設(shè)計描述功能。此外 ,VHDL 語
38、言能夠同時支持同步電路、異步電路和隨機電路的設(shè)計實現(xiàn), 這是其他硬件描述語言所不能比擬的。VHDL 語言設(shè)計方法靈活多樣 , 既支持自頂向下的設(shè)計方式, 也支持自底向上的設(shè)計方法; 既支持模塊化設(shè)計方法, 也支持層次化設(shè)計方法。 </p><p> (2) VHDL 語言具有強大的硬件描述能力 </p><p> VHDL 語言具有多層次的電路設(shè)計描述功能,既可描述系統(tǒng)級電路 , 也可
39、以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時,VHDL 語言也支持慣性延遲和傳輸延遲,這樣可以準確地建立硬件電路的模型。VHDL 語言的強大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。VHDL 語言既支持標準定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會給硬件描述帶來較大的自由度。 </p><p> (3) VHDL 語言具有很強的移植能力 <
40、/p><p> VHDL 語言很強的移植能力主要體現(xiàn)在: 對于同一個硬件電路的 VHDL 語言描述 , 它可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。 </p><p> (4) VHDL 語言的設(shè)計描述與器件無關(guān) </p><p> 采用 VHDL 語言描述硬件電路時, 設(shè)計人員并不需要首
41、先考慮選擇進行設(shè)計的器件。這樣做的好處是可以使設(shè)計人員集中精力進行電路設(shè)計的優(yōu)化, 而不需要考慮其他的問題。當硬件電路的設(shè)計描述完成以后 ,VHDL 語言允許采用多種不同的器件結(jié)構(gòu)來實現(xiàn)。 </p><p> (5) VHDL 語言程序易于共享和復(fù)用 </p><p> VHDL 語言采用基于庫 ( library) 的設(shè)計方法。在設(shè)計過程中 , 設(shè)計人員可以建立各種可再次利用的模塊
42、, 一個大規(guī)模的硬件電路的設(shè)計不可能從門級電路開始一步步地進行設(shè)計 , 而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計或者使用以前設(shè)計中的存檔模塊, 將這些模塊存放在庫中 , 就可以在以后的設(shè)計中進行復(fù)用。 </p><p> 由于 VHDL 語言是一種描述、模擬、綜合、優(yōu)化和布線的標準硬件描述語言 , 因此它可以使設(shè)計成果在設(shè)計人員之間方便地進行交流和共享, 從而減小硬件電路設(shè)計的工作量, 縮短開發(fā)周期。</
43、p><p> 1.3.3 VHDL語言程序的基本結(jié)構(gòu)</p><p> 實體(Entity)結(jié)構(gòu)體 (Architecture) 包集合(Package) 配(Configuration) 庫(Library)</p><p><b> 1.4狀態(tài)機的簡介</b></p><p>
44、; 關(guān)于狀態(tài)機的一個極度確切的描述是它是一個有向圖形,由一組節(jié)點和一組相應(yīng)的轉(zhuǎn)移函數(shù)組成。狀態(tài)機通過響應(yīng)一系列事件而“運行”。每個事件都在屬于“當前” 節(jié)點的轉(zhuǎn)移函數(shù)的控制范圍內(nèi),其中函數(shù)的范圍是節(jié)點的一個子集。函數(shù)返回“下一個”(也許是同一個)節(jié)點。這些節(jié)點中至少有一個必須是終態(tài)。當?shù)竭_終態(tài), 狀態(tài)機停止。 </p><p> 包含一組狀態(tài)集(states)、一個起始狀態(tài)(start state)、一組輸入
45、符號集(alphabet)、一個映射輸入符號和當前狀態(tài)到下一狀態(tài)的轉(zhuǎn)換函數(shù)(transition function)的計算模型。當輸入符號串,模型隨即進入起始狀態(tài)。它要改變到新的狀態(tài),依賴于轉(zhuǎn)換函數(shù)。在有限狀態(tài)機中,會有有許多變量,例如,狀態(tài) 機有很多與動作(actions)轉(zhuǎn)換(Mealy機)或狀態(tài)(摩爾機)關(guān)聯(lián)的動作,多重起始狀態(tài),基于沒有輸入符號的轉(zhuǎn)換,或者指定符號和狀態(tài)(非定有 限狀態(tài)機)的多個轉(zhuǎn)換,指派給接收狀態(tài)(識別者)的一
46、個或多個狀態(tài),等等。 </p><p> 傳統(tǒng)應(yīng)用程序的控制流程基本是順序的:遵循事先設(shè)定的邏輯,從頭到尾地執(zhí)行。很少有事件能改變標準執(zhí)行流程;而且這些事件主要涉及異常情況。“命令行實用程序”是這種傳統(tǒng)應(yīng)用程序的典型例子。 </p><p> 另一類應(yīng)用程序由外部發(fā)生的事件來驅(qū)動——換言之,事件在應(yīng)用程序之外生成,無法由應(yīng)用程序或程序員來控制。具體需要執(zhí)行的代碼取決于接收到的事件,或者
47、它 相對于其他事件的抵達時間。所以,控制流程既不能是順序的,也不能是事先設(shè)定好的,因為它要依賴于外部事件。事件驅(qū)動的GUI應(yīng)用程序是這種應(yīng)用程序的典 型例子,它們由命令和選擇(也就是用戶造成的事件)來驅(qū)動。 </p><p> Web應(yīng)用程序由提交的表單和用戶請求的網(wǎng)頁來驅(qū)動,它們也可劃歸到上述類 別。但是,GUI應(yīng)用程序?qū)τ诮邮盏降氖录杂幸欢ǔ潭鹊目刂?,因為這些事件要依賴于向用戶顯示的窗口和控件,而窗口和控
48、件是由程序員控制的。Web應(yīng)用 程序則不然,因為一旦用戶采取不在預(yù)料之中的操作(比如使用瀏覽器的歷史記錄、手工輸入鏈接以及模擬一次表單提交等等),就很容易打亂設(shè)計好的應(yīng)用程序邏輯。 </p><p> 顯然,必須采取不同的技術(shù)來處理這些情況。它能處理任何順序的事件,并能提供有意義的響應(yīng)——即使這些事件發(fā)生的順序和預(yù)計的不同。有限狀態(tài)機正是為了滿足這方面的要求而設(shè)計的。 </p><p>
49、 有限狀態(tài)機是一種概念性機器,它能采取某種操作來響應(yīng)一個外部事件。具體采取的操作不僅能取決于接收到的事件,還能取決于各個事件的相對發(fā)生順序。之所以能 做到這一點,是因為機器能跟蹤一個內(nèi)部狀態(tài),它會在收到事件后進行更新。為一個事件而響應(yīng)的行動不僅取決于事件本身,還取決于機器的內(nèi)部狀態(tài)。另外,采取 的行動還會決定并更新機器的狀態(tài)。這樣一來,任何邏輯都可建模成一系列事件/狀態(tài)組合。 </p><p> 狀態(tài)機可歸納
50、為4個要素,即現(xiàn)態(tài)、條件、動作、次態(tài)。這樣的歸納,主要是出于對狀態(tài)機的內(nèi)在因果關(guān)系的考慮?!艾F(xiàn)態(tài)”和“條件”是因,“動作”和“次態(tài)”是果。詳解如下: </p><p> ?、佻F(xiàn)態(tài):是指當前所處的狀態(tài)。 </p><p> ?、跅l件:又稱為“事件”。當一個條件被滿足,將會觸發(fā)一個動作,或者執(zhí)行一次狀態(tài)的遷移。 </p><p> ③動作:條件滿足后執(zhí)行的動作。動作執(zhí)
51、行完畢后,可以遷移到新的狀態(tài),也可以仍舊保持原狀態(tài)。動作不是必需的,當條件滿足后,也可以不執(zhí)行任何動作,直接遷移到新狀態(tài)。 </p><p> ?、艽螒B(tài):條件滿足后要遷往的新狀態(tài)?!按螒B(tài)”是相對于“現(xiàn)態(tài)”而言的,“次態(tài)”一旦被激活,就轉(zhuǎn)變成新的“現(xiàn)態(tài)”了。</p><p> 第二章 電梯控制系統(tǒng)的分析</p><p><b> 2.1選題的背景<
52、/b></p><p> 隨高層樓宇的增加,電梯越來越多的走進了人們的生活,對人們的生活的影響越來越大。為了讓電梯更好的服務(wù)人們,各種電梯新技術(shù)不斷地發(fā)展起來。隨著人們生活水平的不斷提高,經(jīng)濟的快速發(fā)展和生產(chǎn)生活的需要,城市高層建筑如雨后春筍拔地而起。與此相應(yīng),作為一種可以垂直升降運輸?shù)墓ぞ咭浑娞菀驳玫窖该偷陌l(fā)展?,F(xiàn)在,電梯己完全融入我們的生活、工作及學習中,人們越來越離不開它。因此,它的安全可靠性、迅速
53、準確性、舒適性,對人們來說都是非常重要的。為了確保電梯正常運行、安全使用,一般電梯都有專業(yè)的維修管理人員。他們必須對電梯原理、性能、特點、控制、運行要全面認識和掌握,才能做到對電梯的正確使用、管理及維護。根據(jù)我國有關(guān)部門的規(guī)定,電梯作業(yè)屬于特種作業(yè),其作業(yè)人員必須經(jīng)過專門培訓,并經(jīng)理論考試和實踐考核合格后,發(fā)給《特種作業(yè)操作證》方可上崗操作。同時,對電梯操作人員定期考核,讓他們定期參加安全技術(shù)學習,扎扎實實地做好電梯維護和保養(yǎng)工作,才能
54、使人們平安長久的使用電梯少,</p><p> 2.2電梯控制的研究背景 </p><p> 電梯控制系統(tǒng)是一個相當復(fù)雜的邏輯控制系統(tǒng).系統(tǒng)要同時對幾百個信號進行接收、處理。由于用戶對電梯功能的要求不斷提高.其相應(yīng)控制方式也在不斷發(fā)生變化。隨著EDA技術(shù)的快速發(fā)展.基于FPGA的微機化控制已廣泛應(yīng)用于電梯電路設(shè)計與控制的各個方面。</p><p>
55、2.3 我國電梯的發(fā)展概況 </p><p> 電梯控制是屬于機電一體化研究領(lǐng)域,它涉及到多個方面,包括:機械工程、電子技術(shù)、電力電子技術(shù)、電機與拖動理論、自動控制理論、電力拖動自動控制系統(tǒng)、微機技術(shù)和土建工程等多個科學領(lǐng)域。</p><p> 100多年來,我國電梯行業(yè)的發(fā)展經(jīng)歷以下幾個階段:①對進口電梯的銷售、安裝、維護階段(1900-1949年),這一階段我國電梯擁有數(shù)
56、量僅約1100多臺;②獨立自主、艱苦研制、生產(chǎn)階段(1950-1979年),這一階段我國共生產(chǎn)安裝電梯</p><p> 約1萬臺;③建立三資企業(yè),行業(yè)快速發(fā)展階段(自1980年至今),這一階段我國</p><p> 共生產(chǎn)安裝電梯約40萬臺。目前,我國已經(jīng)成為世界最大的新裝電梯市場和最</p><p> 大的電梯生產(chǎn)國。并且還有著巨大市場和發(fā)展?jié)摿臻g。20
57、02年,中國電梯行</p><p> 業(yè)電梯年產(chǎn)量首次突破6萬臺。中國電梯行業(yè)自改革開放以來第三次發(fā)展浪潮正</p><p> 在掀起。第一次出現(xiàn)在1986-1988年,當時適逢我國高層建筑業(yè)的大規(guī)模浪潮的</p><p> 第一次興起。第二次出現(xiàn)在1995^-1997年。應(yīng)該說,隨著我國經(jīng)濟的增長,電</p><p> 梯市場一直保
58、持著旺盛的需求。其次表現(xiàn)在企業(yè)的規(guī)模效益逐步展現(xiàn)。隨著我國</p><p> 經(jīng)濟平穩(wěn)持續(xù)的發(fā)展,尤其是住宅產(chǎn)業(yè)作為國民經(jīng)濟新增長點的提出,為電梯業(yè)</p><p> 的發(fā)展提供了良好的機遇。今后幾年,我國將年建住宅3. 5億平方米,公建項目</p><p> 1.2億平方米。隨著城市向大型化、高層化的發(fā)展,我國每年將需要電梯在40000</p>
59、<p> 臺以上。如此大的市場需求,將是電梯業(yè)再創(chuàng)輝煌的最好契機。</p><p> 2.4 電梯設(shè)計的具體目的及控制要求</p><p> 使用FPGA完場6層的電梯控制系統(tǒng)??梢允褂脿顟B(tài)機實現(xiàn)。要求指示電梯所在樓層位置等其他必要的信號。通過仿真結(jié)果驗證其正確性,并在開發(fā)板上進行硬件測試。</p><p><b> 系統(tǒng)的要求如下:&
60、lt;/b></p><p> 電梯共有6層。電梯運行規(guī)則:上升時:響應(yīng)比當前位置高的上樓要求,由下往上逐個執(zhí)行;如果樓層有下樓請求,直接升到由此請求的最高層,然后進入下降模式。進入下降模式后,只響應(yīng)比當前位置低的下樓請求,由上到下逐個執(zhí)行。電梯有6層,每1秒上升或者下降1層。</p><p> 有信號燈指示電梯處于上升或者下降狀態(tài),并有數(shù)碼管顯示電梯到達層數(shù)。</p>
61、;<p> 每一層有信號燈指示該層電梯門狀態(tài),有兩個按鍵分別響應(yīng)上升或下降的請求</p><p> 每一層電梯內(nèi)部有乘客到達樓層的停站請求開關(guān)及其顯示</p><p> 電梯到達有停站請求的樓層后,電梯門打開,指示燈亮,4秒后電梯門關(guān)閉,指示燈滅,直至執(zhí)行完。最后停在發(fā)出最后一個請求的樓層。</p><p> 電梯的初始位置為一層,處于開門狀態(tài)
62、。</p><p> 2.5電梯控制器設(shè)計原理及思路 </p><p><b> 原理與系統(tǒng)設(shè)計</b></p><p><b> 思想來源:</b></p><p> 平時我們上課或者是上自習都去過東十二樓或者去過科技樓、南一樓,免不了坐坐電梯,對它的基本工作原理我們有知道多少了
63、,這次我們要制作一個智能電梯控制器,必須對它的工作原理有十分清晰的了解。我們設(shè)計的智能電梯控制器應(yīng)該可以實時接受各樓層的上下請求信號及電梯內(nèi)部的??空埱?,然后根據(jù)這些請求實現(xiàn)對電梯正確的控制:</p><p> 1、除了頂層和底層外,各樓層均設(shè)有上下請求開關(guān),頂層和底層分別設(shè)有下降和上升請求開關(guān),這一點應(yīng)該不難理解;電梯內(nèi)設(shè)有乘客到達層次的請求開關(guān)。</p><p> 2、電梯每1s上
64、升或下降一層</p><p> 3、電梯到達有停站請求的樓層后,經(jīng)過1s后電梯門打開,開門指示燈亮,開門5s后電梯指示燈滅,電梯繼續(xù)運行,直至運行完最后一個請求后??吭诋斍皩?。以上是我們所應(yīng)實現(xiàn)的基本功能。我在序言中也講到了,“應(yīng)用有限狀態(tài)機”實現(xiàn)電梯的實時控制是最好不過的方法了,通過我的分析以及參考圖書館的有關(guān)書籍,也少不了參照一些網(wǎng)上的程序,最后總結(jié)出了電梯正常運行的七個狀態(tài):上升、下降、上升的過程中途停止
65、、下降的過程中途停止、開門、關(guān)門、等待狀態(tài)。電梯在上述七個狀態(tài)間的轉(zhuǎn)移是通過三段式狀態(tài)機來實現(xiàn)的,各狀態(tài)間的轉(zhuǎn)移大體與生活中的電梯運轉(zhuǎn)一致,有如下的基本原則:</p><p> 1、方向為第一優(yōu)先準則,這就是曾老師給我們的技術(shù)指標。電梯在運轉(zhuǎn)時先響應(yīng)同方向上的請求,只有當同方向上的請求響應(yīng)完后,才能轉(zhuǎn)而響應(yīng)不同方向上的請求。</p><p> 2、初始化狀態(tài)為1樓等待門是關(guān)閉的。這個就
66、不用多解釋了。除了我對電梯的運行規(guī)律做出如上的分析外,我的另一個選擇開發(fā)智能電梯控制器的原因是我想鍛煉一下自己的邏輯思維和分析復(fù)雜問題的能力。</p><p> 2.6 電梯控制系統(tǒng)狀態(tài)圖分析</p><p> 最開始我根據(jù)DE2板子所能提供的資源,把樓層數(shù)設(shè)為6層。從我查閱的書籍中我總結(jié)了兩點是我可以借鑒的。首先,是怎樣處理數(shù)量繁多的電梯輸入信號,如果采用分情況討論的話,程序一路寫完
67、,復(fù)雜度肯定是不堪設(shè)想,而且我還不敢保證是否分析到所有的情況了。</p><p> always @(call_up_1 or call_up_2 or call_up_3 or call_up_4 or call_up_5)</p><p> up_all={1'b0, call_up_5, call_up_4, call_up_3, call_up_2, call_up_1
68、}; </p><p> //將各下降請求信號實時地合并(1樓為底層,無下降請求,考慮到通用性,將第1位填零)</p><p> always @(call_down_2 or call_down_3 or call_down_4 or call_down_5 or call_down_6)</p><p> down_all={call_d
69、own_6, call_down_5, call_down_4, call_down_3, call_down_2, 1'b0};</p><p> //將各??空埱笮盘枌崟r地合并 </p><p> always @(request_1 or request_2 or request_3 or request_4 or request_5 or request_6)<
70、;/p><p> request_all={request_6, request_5, request_4, request_3, request_2, request_1};</p><p> 以上這一段程序就是我采用的信號并置處理很多輸入信號的一種行之有效的方法。</p><p> 其次,我從資料中學習到的方法就是如何把信號并置的方法和有限狀態(tài)機聯(lián)系起來。這一
71、點從下面的參數(shù)定義中可以窺見一二。</p><p> parameter WAIT=7'b0000001, UP=7'b0000010, DOWN=7'b0000100, UPSTOP=7'b0001000</p><p> , DOWNSTOP=7'b0010000, OPENDOOR=7'b0100000, CLOSEDOOR=7
72、39;b1000000;</p><p> //定義樓層的符號常量</p><p> parameterFLOOR1=6'b000001,FLOOR2=6'b000010,FLOOR3=6'b000100, FLOOR4=6'b001000, FLOOR5=6'b010000, FLOOR6=6'b100000;</p>
73、;<p> parameter TRUE=1'b1, FALSE=1'b0;//定義門打開和門關(guān)閉的符號常量</p><p> parameter OPEN=1'b1, CLOSED=1'b0;//定義電梯上升,下降和靜止的符號常量</p><p> parameter UPFLAG=2'b01,DNFLAG=2'b10,
74、STATIC=2'b00;</p><p> 這里采用了七個狀態(tài)實現(xiàn)了有限狀態(tài)機。</p><p> 以上是我分析的兩種基本的電梯狀態(tài)轉(zhuǎn)換圖:</p><p> 黑線:WAIT TO UP TO UPSTOP TO OPENDOOR TO CLOSEDOOR TO WAIT</p><p> 粉
75、紅線:WAIT TO DOWN TO DOWNSTOP TO OPENDOOR TO CLOSEDOOR TO WAIT </p><p> 由于狀態(tài)轉(zhuǎn)換的輸入條件實在太多,在此我不畫出,讀者可以自行在程序(附有詳細注釋)中領(lǐng)會。我的程序中采用的是標準的MEALY型狀態(tài)狀態(tài)機。而且是老師建議的三段式的結(jié)構(gòu)來寫的。不過我有一點不明白的就是為什么在我的QUARTUS7.1中運用RTL
76、 VIEW不能顯示出這個三段式的有限狀態(tài)機。不過我會繼續(xù)努力一下的,目前我智能用圖形框來表示這個狀態(tài)的流程了。</p><p> 第三章 電梯控制系統(tǒng)的設(shè)計與實現(xiàn)</p><p> 3.1 MAX+PLUSII的介紹</p><p> Max+plusII(或?qū)懗蒑axplus2,或MP2) 是Altera公司推出的的第三代PLD開發(fā)系統(tǒng)(Altera第四代P
77、LD開發(fā)系統(tǒng)被稱為:QuartusII,主要用于設(shè)計新器件和大規(guī)模CPLD/FPGA).使用MAX+PLUSII的設(shè)計者不需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu)。設(shè)計者可以用自己熟悉的設(shè)計工具(如原理圖輸入或硬件描述語言)建立設(shè)計,MAX+PLUSII把這些設(shè)計轉(zhuǎn)自動換成最終所需的格式。其設(shè)計速度非???。對于一般幾千門的電路設(shè)計,使用MAX+PLUSII,從設(shè)計輸入到器件編程完畢,用戶拿到設(shè)計好的邏輯電路,大約只需幾小時。設(shè)計處理一般在數(shù)分鐘內(nèi)內(nèi)完成
78、。特別是在原理圖輸入等方面,Maxplus2被公認為是最易使用,人機界面最友善的PLD開發(fā)軟件,特別適合初學者使用。在這里我們可以先看一看用FPGA/CPLD開發(fā)工具進行電路設(shè)計的一般流程</p><p> 通??蓪PGA/CPLD設(shè)計流程歸納為以下7個步驟,這與ASIC設(shè)計有相似之處。</p><p> 1.設(shè)計輸入。在傳統(tǒng)設(shè)計中,設(shè)計人員是應(yīng)用傳統(tǒng)的原理圖輸入方法來開始設(shè)計的。自
79、90年代初, Verilog、VHDL、AHDL等硬件描述語言的輸入方法在大規(guī)模設(shè)計中得到了廣泛應(yīng)用。</p><p> 2.前仿真(功能仿真)。設(shè)計的電路必須在布局布線前驗證電路功能是否有效。(ASCI設(shè)計中,這一步驟稱為第一次Sign-off)PLD設(shè)計中,有時跳過這一步。</p><p> 3.設(shè)計編譯。設(shè)計輸入之后就有一個從高層次系統(tǒng)行為設(shè)計向門級邏輯電路設(shè)轉(zhuǎn)化翻譯過程,即把設(shè)
80、計輸入的某種或某幾種數(shù)據(jù)格式(網(wǎng)表)轉(zhuǎn)化為軟件可識別的某種數(shù)據(jù)格式(網(wǎng)表)。</p><p> 4.優(yōu)化。對于上述綜合生成的網(wǎng)表,根據(jù)布爾方程功能等效的原則,用更小更快的綜合結(jié)果代替一些復(fù)雜的單元,并與指定的庫映射生成新的網(wǎng)表,這是減小電路規(guī)模的一條必由之路。</p><p> 5.布局布線。在PLD設(shè)計中,3-5步可以用PLD廠家提供的開發(fā)軟件(如 Maxplus2)自動一次完成。&
81、lt;/p><p> 6.后仿真(時序仿真)需要利用在布局布線中獲得的精確參數(shù)再次驗證電路的時序。(ASCI設(shè)計中,這一步驟稱為第二次Sign—off)。</p><p> 7.生產(chǎn)。布線和后仿真完成之后,就可以開始ASCI或PLD芯片的投產(chǎn)。同樣,使用Maxplus2基本上也是有以上幾個步驟,但可簡化為:1.設(shè)計輸入 2.設(shè)計編譯 3.設(shè)計仿真
82、60; 4.下載</p><p> 3.2 電梯控制系統(tǒng)的VHDL語言設(shè)計及仿真 </p><p> 3.2.1 模塊示意圖和輸入輸出描述</p><p> 電梯主控制器模塊elevator_controller:</p><p><b> 端口聲明:</b></p>&l
83、t;p> Input Port:</p><p> call_up_1, call_up_2, call_up_3, call_up_4, call_up_5分別為1-5樓的上行請求信號,</p><p> call_down_2, call_down_3, call_down_4, call_down_5, call_down_6則分別為2-6樓的下行請求信號</p&g
84、t;<p> request_1, request_2, request_3, request_4, request_5, request_6則分別為電梯內(nèi)部的???-6樓的請求</p><p> 上述各端口均為有請求時,輸入為高電平,否則為低電平;</p><p> clk分別為狀態(tài)轉(zhuǎn)移時鐘,reset為復(fù)位信號</p><p> Outpu
85、t Port:</p><p> PosOut輸出當前電梯所在的樓層,DoorFlag為開門標志,UpDnFlag為電梯上下標志</p><p> LiftState輸出當前電梯的狀態(tài).</p><p> PosOut取值可為6'b000001,6'b000010,6'b000100,6'001000,6'b010000
86、,6'b100000分別代表電梯處在1,2,3,4,5,6樓。這樣編碼的話,有利于后面的比較判斷。</p><p> DoorFlag取值可為1'b0,1'b1,分別代表當前門是關(guān)閉和當前門是打開的。</p><p> UpDnFlag取值可為2'b00,2'b01,2'b10,分別代表當前電梯是上升的,下降的和靜止的。</p>
87、;<p> LiftState7'b0000001,7'b0000010,7'b0000100,7'b0001000,7'b0010000,7'b0100000,7'b1000000,</p><p> 分別電梯處于等待模式、上升模式、下降模式、上升停止,下降停止、開門和關(guān)門等7個狀態(tài)。</p><p> ?。?)分
88、頻模塊frequence_div:</p><p><b> 端口說明:</b></p><p> Input ports:</p><p><b> cp_50M;</b></p><p> output ports:</p><p><b> cp_1
89、;</b></p><p> ?。?)電梯狀態(tài)仲裁器arbitrator:</p><p><b> 端口說明:</b></p><p> Input ports:</p><p> elevator_state;</p><p><b> count_in;<
90、/b></p><p> output ports:</p><p> output open_enable,stop_enable,up_enable,down_enable,close_enable;</p><p> ?。?)LCD驅(qū)動模塊DE2_Default:</p><p><b> 端口說明:</b&
91、gt;</p><p> Input ports:</p><p> input open_enable,stop_enable,up_enable,down_enable,close_enable;</p><p> inputCLOCK_50;//50 MHz</p><p> input KE
92、Y;</p><p> output ports:</p><p> inout[7:0]LCD_DATA;//LCD Data bus 8 bits</p><p> outputLCD_ON;//LCD Power ON/OFF</p><p> outputLCD_BLON;//LCD Back L
93、ight ON/OFF</p><p> outputLCD_RW;//LCD Read/Write Select, 0 = Write, 1 = Read</p><p> outputLCD_EN;//LCD Enable</p><p> outputLCD_RS;//LCD Command/DataSelect, 0= Co
94、mmand, 1 = Data</p><p> 3.2.2 模塊設(shè)計過程</p><p> 現(xiàn)在我簡要的說明一下我的模塊的設(shè)計過程:</p><p> ?。?)電梯主控制器模塊elevator_controller:</p><p> 此段智能電梯控制器由三個重要部分組成的。</p><p> ?。╝)信號并置
95、部分,完成對5路向上請求、5路向下請求、6路內(nèi)部請求的信號并置,化繁為簡。</p><p> (b)三段式有限狀態(tài)機部分。在有請求的情況下,電梯控制器還要根據(jù)電梯的當前狀態(tài)和當前的樓層去判斷電梯的下一步該如何運作。</p><p> (c)計數(shù)器部分。完成電梯的開門、關(guān)門的時間管理。</p><p> ?。?)分頻模塊frequence_div:</p&g
96、t;<p> 這段分頻器完成對50Mhz的1分頻操作。采用傳統(tǒng)的“一半就翻轉(zhuǎn)”的計數(shù)技巧。</p><p> ?。?)電梯狀態(tài)仲裁器arbitrator:</p><p> 完成電梯信號到LCD控制的信號轉(zhuǎn)換。其中也采用了“電梯主控制器”中的信號并置的思想。這一點可以在我的程序中十分清楚的看到,在此我不再贅述。</p><p> (4)LCD驅(qū)動
97、模塊DE2_Default:</p><p> 這個模塊我是采用“ 拿來主義”的。因為是DE2板子提供的源程序,所以編寫起來還算比較輕松。就只加了一個“ 根據(jù)不同的輸入產(chǎn)生不同的輸出 ”的模塊。中途還遇到了字符型液晶不能更新的問題,不過在同學的幫助下,最終還是解決了。</p><p> ?。?)數(shù)碼管譯碼模塊:</p><p> (6)數(shù)碼管時間譯碼模塊:<
98、;/p><p> 以上兩個模塊一起講比較合適,因為它們都是采用了同樣的譯碼原則,只不過條件不一樣而已。我們可以針對不同的輸入根據(jù)自己的意愿把它譯成同樣的數(shù)碼顯示。</p><p> 以上的模塊設(shè)計過程說的比較的簡約。主要是大概的介紹了我的各個模塊的基本設(shè)計原理,希望讀者能從程序中仔細體會這種原理。</p><p> 3.2.3 波形仿真</p>&l
99、t;p> (1)當電梯處于初始狀態(tài)時,電梯在高層有向下的請求時:</p><p> ?。?)LCD的顯示由于數(shù)據(jù)太多,所以單獨顯示如下:</p><p> 首先顯示:“ it is static.. ”</p><p><b> 隨后會顯示:</b></p><p> 以上的字符發(fā)送到液晶顯示模塊之后,可以
100、顯示“ door is rising.. ”</p><p><b> 隨后會顯示:</b></p><p> 可以顯示“ it is static.. ”</p><p> 以上的字符發(fā)送到液晶顯示模塊之后,可以顯示“ door is opening.. ”</p><p><b> 隨后會顯示:&l
101、t;/b></p><p> 以上的字符發(fā)送到液晶顯示模塊之后,可以顯示“ it is closing.. ”</p><p> 最后會顯示下列字符,電梯重新回到初始等待狀態(tài):</p><p> 以上可以顯示“ it is static.. ”</p><p> 說明:由于LCD顯示波形會占用比較多的空間,所以以上我僅以在高層有
102、向下的請求為例來說明,電梯的狀態(tài)完全可以通過LCD來正確地顯示出來。鑒于此,我的下面的波形將不展示LCD顯示部分的波形圖。</p><p> ?。?)當電梯停在6樓處于等待狀態(tài)時,在1樓和2樓同時有向上的請求時:</p><p> (4)當電梯停在1樓處于等待狀態(tài)時,在6樓和5樓同時有向下的請求時:</p><p> (5)當電梯停在6樓時,有在5樓的向下的請求
103、時,電梯應(yīng)該先到五樓,電梯內(nèi)部請求到1樓,如果電梯在下降的過程中,有在2樓的向上的請求時,電梯應(yīng)該先相應(yīng)內(nèi)部請求,然后相應(yīng)外部請求:</p><p> ?。?)電梯的強制運行按鈕forbid:</p><p> 3.3 電梯控制系統(tǒng)的實驗平臺實現(xiàn) </p><p><b> 結(jié)論與體會</b></p><p&g
104、t; 結(jié)論:我們設(shè)計的智能電梯控制器應(yīng)該可以實時接受各樓層的上下請求信號及電梯內(nèi)部的??空埱螅缓蟾鶕?jù)這些請求實現(xiàn)對電梯正確的控制:</p><p> 1、除了頂層和底層外,各樓層均設(shè)有上下請求開關(guān),頂層和底層分別設(shè)有下降和上升請求開關(guān),這一點應(yīng)該不難理解;電梯內(nèi)設(shè)有乘客到達層次的請求開關(guān)。</p><p> 2、電梯每1s上升或下降一層</p><p>
105、3、電梯到達有停站請求的樓層后,經(jīng)過1s后電梯門打開,開門指示燈亮,開門5s后電梯指示燈滅,電梯繼續(xù)運行,直至運行完最后一個請求后??吭诋斍皩?。</p><p> 以上是我們所應(yīng)實現(xiàn)的基本功能。我在序言中也講到了,“應(yīng)用有限狀態(tài)機”實現(xiàn)電梯的實時控制是最好不過的方法了,通過我的分析以及參考圖書館的有關(guān)書籍,也少不了參照一些網(wǎng)上的程序,最后總結(jié)出了電梯正常運行的七個狀態(tài):</p><p>
106、 上升、下降、上升的過程中途停止、下降的過程中途停止、開門、關(guān)門、等待狀態(tài)。</p><p> 電梯在上述七個狀態(tài)間的轉(zhuǎn)移是通過三段式狀態(tài)機來實現(xiàn)的,各狀態(tài)間的轉(zhuǎn)移大體與生活中的電梯運轉(zhuǎn)一致,有如下的基本原則:</p><p> 1、方向為第一優(yōu)先準則,這就是老師給我們的技術(shù)指標。電梯在運轉(zhuǎn)時先響應(yīng)同方向上的請求,只有當同方向上的請求響應(yīng)完后,才能轉(zhuǎn)而響應(yīng)不同方向上的請求。</
107、p><p> 2、初始化狀態(tài)為1樓等待門是關(guān)閉的。這個就不用多解釋了。</p><p> 除了我對電梯的運行規(guī)律做出如上的分析外,我的另一個選擇開發(fā)智能電梯控制器的原因是我想鍛煉一下自己的邏輯思維和分析復(fù)雜問題的能力。</p><p> 體會:本人認為電梯時未來高層建筑必不可少的一種工具,并且由于世界人</p><p> 口的急劇增加和地
108、球的有效使用面積的減少,未來的建筑都在向越來越高的方向</p><p> 發(fā)展,所以電梯在未來有著舉足輕重的作用,對此研究有著十分積極的作用。</p><p> 通過對此課題的研究,本人還發(fā)現(xiàn)一個優(yōu)秀的電子產(chǎn)品必須具備自動化能</p><p> 力,本人還認為此課題還培養(yǎng)了我們更好的了解本專業(yè)的知識,提高個人修養(yǎng),</p><p>
109、鍛煉自己的實際操作能力以及對待一件事的嚴謹態(tài)度,以及對以后的工作提出了</p><p> 寶貴的經(jīng)驗。首先感謝我們學校給了我們這樣一個寶貴的鍛煉自己的能力的機會。我覺得在大學缺少的就是象這樣的鍛煉,我們不是有好多同學抱怨自己工作沒經(jīng)驗、做項目沒有經(jīng)驗嗎?我覺得只要象這樣的機會都每次認真對待了,我覺得我們就會有一個很不一樣的看法。回顧一下我們從大一到現(xiàn)在象這樣的機會不多:大二上的C語言程序課程設(shè)計;大二下的電工實
110、習;大三上的電子線路設(shè)計與測試實驗—多功能數(shù)字鐘的設(shè)計;大三上的IC課程設(shè)計;可以看出我們這樣的機會不是沒有,如果每一次我們都認真做了,認真總結(jié)了,認真分析了,資料認真查了,那么不管你最終成績?nèi)绾?,我覺得我們都成功了。</p><p><b> 致謝</b></p><p> 回首課題研究的歷程,對那些引導(dǎo)我、幫助我、激勵我的人心中充滿了感激。</p>
111、<p> 首先要感謝導(dǎo)師楊小獻老師,雖然我們是在開始畢設(shè)時才算真正的認識,但他卻</p><p> 能以一位長輩的風范來容諒我的無知,給我不厭其煩的指導(dǎo),從論文定題、開發(fā)</p><p> 過程的疑難解決到論文概要、寫作方式以及用詞造句、標點符號,傾注了楊老師</p><p> 大量的心血。課題研究開發(fā)以及論文寫作期間,深深受益于楊老師的關(guān)心、
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于fpga的智能電梯控制系統(tǒng)的實現(xiàn)畢業(yè)論文
- 基于fpga電梯控制系統(tǒng)畢業(yè)論文
- fpga智能電梯控制系統(tǒng)實現(xiàn)大學課題論文
- 基于fpga的運動控制系統(tǒng)-畢業(yè)論文
- 畢業(yè)論文-基于fpga六層電梯控制系統(tǒng)【精校排版】
- 基于plc的電梯控制系統(tǒng)設(shè)計畢業(yè)論文
- 基于eda技術(shù)的電梯控制系統(tǒng)畢業(yè)論文
- 電梯控制系統(tǒng)畢業(yè)論文
- 基于eda技術(shù)的電梯控制系統(tǒng)畢業(yè)論文
- 基于profibus的電梯群控制系統(tǒng)【畢業(yè)論文】
- 基于fpga的溫度控制系統(tǒng)設(shè)計【畢業(yè)論文】
- 畢業(yè)論文---基于plc的電梯控制系統(tǒng)的應(yīng)用
- 基于plc的電梯控制系統(tǒng)的設(shè)計畢業(yè)論文
- 基于plc的四層電梯控制系統(tǒng)【畢業(yè)論文】
- 基于plc的六層電梯控制系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---基于fpga的空調(diào)控制系統(tǒng)設(shè)計
- 基于單片機的電梯控制系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-基于fpga的電梯控制器設(shè)計
- 電梯控制系統(tǒng)的仿真設(shè)計畢業(yè)論文
- plc電梯控制系統(tǒng)畢業(yè)論文
評論
0/150
提交評論