自動(dòng)升降電梯控制設(shè)計(jì)_第1頁
自動(dòng)升降電梯控制設(shè)計(jì)_第2頁
自動(dòng)升降電梯控制設(shè)計(jì)_第3頁
自動(dòng)升降電梯控制設(shè)計(jì)_第4頁
自動(dòng)升降電梯控制設(shè)計(jì)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、武漢理工大學(xué)課程設(shè)計(jì)課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級(jí): 指導(dǎo)教師: 工作單位: 題 目: 自動(dòng)升降電梯控制設(shè)計(jì) 初始條件:ISE、Modelsim軟件要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求)設(shè)計(jì)任務(wù):根據(jù)自動(dòng)電梯工作原理,用ISE軟件設(shè)計(jì)一個(gè)自動(dòng)升降電梯控制器。該系統(tǒng)主要由四個(gè)模塊構(gòu)成:外部數(shù)據(jù)高速采集模塊設(shè)計(jì)、信號(hào)存儲(chǔ)模塊、基于FPGA的中央處理模塊和信號(hào)的輸出、顯示模塊。設(shè)計(jì)要求:(1) 設(shè)計(jì)一個(gè)6層樓的電梯控制器;(2) 該控制器可控制電梯完成6層樓的載客服而且遵循方向優(yōu)先原則,并能響應(yīng)提前關(guān)門延時(shí)關(guān)門,并具有超載報(bào)警和故障報(bào)警;(3) 同時(shí)指

2、示電梯運(yùn)行情況和電梯內(nèi)外請(qǐng)求信息。時(shí)間安排: 序號(hào)設(shè) 計(jì) 內(nèi) 容所 用 時(shí) 間1根據(jù)課題的技術(shù)指標(biāo),確定整體方案,并進(jìn)行參數(shù)設(shè)計(jì)計(jì)算2天2根據(jù)實(shí)驗(yàn)條件進(jìn)行全部或部分程序的編寫與調(diào)試,并完成基本功能4天3總結(jié)編寫課程設(shè)計(jì)報(bào)告1天合 計(jì)1周指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日目錄摘 要3Abstract4一、VHDL與ISE簡(jiǎn)介51.1 VHDL語言介紹51.1.1 VHDL語言特點(diǎn)介紹51.1.2 VHDL的設(shè)計(jì)步驟51.1.3 VHDL語言編程格式61.2 ISE概述7二、總體方案設(shè)計(jì)82.1設(shè)計(jì)要求82.2 方案論證82.4 電梯控制器的總體設(shè)計(jì)方案92.5 電梯

3、控制器模塊設(shè)計(jì)102.5.1 外部數(shù)據(jù)高速采集模塊設(shè)計(jì)112.5.2 信號(hào)存儲(chǔ)模塊112.5.3 基于FPGA的中央處理模塊122.5.4 信號(hào)的輸出、顯示模塊12三、程序設(shè)計(jì)及波形仿真143.1 程序流程分析143.1.1端口、寄存器設(shè)計(jì)說明153.1.2 程序調(diào)試及引腳鎖定163.2波形仿真173.2.1電梯功能實(shí)現(xiàn)與仿真結(jié)果分析18四、 設(shè)計(jì)總結(jié)214.1 可行性分析214.2 總結(jié)21參考文獻(xiàn)22附錄23摘 要 電梯作為垂直方向的交通工具,在高層建筑和公共場(chǎng)所已成為不可或缺的設(shè)備。中國(guó)是全球最大的電梯市場(chǎng),也具有最強(qiáng)的電梯生產(chǎn)能力,但由于缺乏自主知識(shí)產(chǎn)權(quán)和核心技術(shù),自主品牌占市場(chǎng)的份額

4、很少。隨著社會(huì)需求的變化,電梯朝著節(jié)能、環(huán)保及智能化方向發(fā)展。 本設(shè)計(jì)語言采用VHDL,源程序Xilinx公司的ISE軟件仿真。運(yùn)用有限狀態(tài)機(jī)的設(shè)計(jì)方法,設(shè)計(jì)了兩個(gè)進(jìn)程相互配合,狀態(tài)機(jī)進(jìn)程作為主要進(jìn)程,信號(hào)燈控制進(jìn)程作為輔助進(jìn)程。在主進(jìn)程中定義了7個(gè)狀態(tài),分別是 “dooropen”“doorclose”“doorwait4”“up”“down”和“stop”,在電梯時(shí)鐘的觸發(fā)下,通過當(dāng)前狀態(tài)和信號(hào)燈信號(hào)判定下一狀態(tài)。信號(hào)燈控制進(jìn)程中,信號(hào)燈存儲(chǔ)按鍵請(qǐng)求情況,它的熄滅是由狀態(tài)機(jī)進(jìn)程中傳出的信號(hào)來控制。關(guān)鍵字:電梯控制器;VHDL; FPGAAbstract Elevator has becom

5、e an indispensable device as a vertical transport in high-rise buildings and public places. China is the worlds largest elevator market ,and also has the highest lift capacity. But the lack of independent intellectual property rights and core technologies, the market share of own brands account for

6、very little. With the changing of the communitys needs, elevator develop towards energy saving, environmental protection and intelligent.This design which uses VHDL simulated by Xilinxs ISE software. I use method named finite state machine which two processes complement each other. The state machine

7、 process act as the main process, and the signal control process act as a assistant. Seven states were defined in the main process, namely “stopon1” “dooropen” “doorclose” “doorwait4” “up” “down” and “stop”. Triggered by the lifts clock, the next state is determined by the current state and the sign

8、al. In signal control process, registers keep input value, and lamps black out when the control process, registers keep input value, and lamps black out when the control signal in the main process is high value.Key words: Elevator Controller;VHDL State Machine;FPGA一、VHDL與ISE簡(jiǎn)介1.1 VHDL語言介紹1.1.1 VHDL語

9、言特點(diǎn)介紹VHDL作為一個(gè)規(guī)范語言和建模語言,具有很強(qiáng)的電路描述和建模能力,能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行建模和描述,從而大大簡(jiǎn)化了硬件設(shè)計(jì)任務(wù),提高了設(shè)計(jì)效率和可靠性。VHDL具有以下幾方面的特點(diǎn):功能強(qiáng)大:VHDL具有功能強(qiáng)大的語言結(jié)構(gòu)。它可以用明確的代碼描述復(fù)雜的控制邏輯設(shè)計(jì)。并且具有多層次的設(shè)計(jì)描述功能,支持設(shè)計(jì)庫和可重復(fù)使用的元件生成??梢浦残裕篤HDL語言是一個(gè)標(biāo)準(zhǔn)語言,其設(shè)計(jì)描述可以為不同的EDA工具支持。獨(dú)立性:VHDL的硬件描述與具體的工藝技術(shù)和硬件結(jié)構(gòu)無關(guān)??刹僮餍裕河捎赩HDL具有類屬描述語句和子程序調(diào)用等功能,對(duì)于已完成的設(shè)計(jì),在不改變?cè)闯绦虻臈l件下,只需改變端口類屬參量或

10、函數(shù),就能輕易地改變?cè)O(shè)計(jì)的規(guī)模和結(jié)構(gòu)。靈活性:VHDL最初是作為一種仿真標(biāo)準(zhǔn)格式出現(xiàn)的,有著豐富的仿真語句和庫函數(shù)。使其在任何大系統(tǒng)的設(shè)計(jì)中,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。1.1.2 VHDL的設(shè)計(jì)步驟采用VHDL的系統(tǒng)設(shè)計(jì),一般有以下6個(gè)步驟。(1)要求的功能模塊劃分;(2)VHDL的設(shè)計(jì)描述(設(shè)計(jì)輸入);(3)代碼仿真模擬(前仿真);(4)計(jì)綜合、優(yōu)化和布局布線;(5)布局布線后的仿真模擬(后仿真);(6)設(shè)計(jì)的實(shí)現(xiàn)(下載到目標(biāo)器件)。1.1.3 VHDL語言編程格式1、一個(gè)完整的VHDL程序是以下五部分組成的: 庫(LIBRARY):儲(chǔ)存預(yù)先已經(jīng)寫好的程序和數(shù)據(jù)的集合。 程序包(PACKAG

11、E):聲明在設(shè)計(jì)中將用到的常數(shù)、數(shù)據(jù)類型、元件及子程序。 實(shí)體(ENTITY):聲明到其他實(shí)體或其他設(shè)計(jì)的接口,即定義本定義的輸入輸出端口。 構(gòu)造體(ARCHITECTUR):定義實(shí)體的實(shí)現(xiàn)。 電路的具體描述配置(CONFIGURATION):一個(gè)實(shí)體可以有多個(gè)構(gòu)造體,可以通過配置來為實(shí)體選擇其中一個(gè)構(gòu)造體。2、實(shí)體實(shí)體(ENTITY)是VHDL設(shè)計(jì)中最其本的組成部分之一(另一個(gè)是結(jié)構(gòu)體),VHDL表達(dá)的所有設(shè)計(jì)均與實(shí)體有關(guān)。實(shí)體類似于原理圖中的一個(gè)部件符號(hào),它并不描述設(shè)計(jì)的具體功能,只是定義所需的全部輸入/輸出信號(hào)。實(shí)體格式如下:ENTITY 實(shí)體名 ISGENERIC(

12、常數(shù)名:數(shù)據(jù)類型:設(shè)定值)        類屬說明   PORT                                   

13、60;   端口說明(端口信號(hào)名1;模式 類型;端口信號(hào)名2:模式 類型;端口信號(hào)名3:模式 類型;端口信號(hào)名4:模式 類型)語句或常量定義申 明實(shí)體語句 END 實(shí)體名;(3)結(jié)構(gòu)體所有能被仿真的實(shí)體都由結(jié)構(gòu)體(ARCHITECTURE)描述,即結(jié)構(gòu)體描述實(shí)體的結(jié)構(gòu)或行為,一個(gè)實(shí)體可以有多個(gè)結(jié)構(gòu)體,每個(gè)結(jié)構(gòu)體分別代表該實(shí)體功能的不同實(shí)現(xiàn)方案。結(jié)構(gòu)體格式 : ARCHITECTURE  結(jié)構(gòu)體名  OF  實(shí)體名  IS定義語句(元件例化);BEGIN并行處理語句;END&#

14、160;結(jié)構(gòu)體名;1.2 ISE概述ISE的全稱為Integrated Software Environment,即“集成軟件環(huán)境”,是Xilinx公司的硬件設(shè)計(jì)工具。相對(duì)容易使用的、首屈一指的PLD設(shè)計(jì)環(huán)境 。 ISE將先進(jìn)的技術(shù)與靈活性、易使用性的圖形界面結(jié)合在一起,不管您的經(jīng)驗(yàn)如何,都讓您在最短的時(shí)間,以最少的努力,達(dá)到最佳的硬件設(shè)計(jì)。功能及作用:1、 設(shè)計(jì)輸入ISE軟件提供的設(shè)計(jì)輸入工具包括用于HDL代碼輸入和報(bào)告查看的ISE文本編輯器(TextEditor),用于原理圖編輯的工具ECS(Engineering Capture System),用于P CORE的COREGenerato

15、r,用于狀態(tài)機(jī)設(shè)計(jì)的StateCAD,以及用于約束文件編輯的Constraint Editor等。2、 綜合ISE的綜合工具不但包括了Xilinx自身提供的綜合工具xsr,同時(shí)還可以集成MentorGraphics公司的LeonardoSpectrum和Synplicity公司的Synplify3、 仿真ISE本身自帶了圖形化波形編輯功能的仿真工具HDL Bencher,同時(shí)又提供了使用ModelTechnology公司的ModelSim進(jìn)行仿真的接口。4、 實(shí)現(xiàn)ISE的實(shí)現(xiàn)功能包括了翻譯(Translate)、映射(Map)、布局布線(Place and Route)等。5、 下載下載功能包

16、括了BitGen,用于將布局布線后的設(shè)計(jì)文件轉(zhuǎn)換為比特流(Bitstream)文件。還包括了iMPACT功能,用于進(jìn)行設(shè)備配置和通信,控制將程序燒寫到FPGA芯片中去。二、 總體方案設(shè)計(jì)2.1設(shè)計(jì)要求1、設(shè)計(jì)一個(gè)6層樓的電梯控制器。2、該控制器可控制電梯完成6層樓的載客服而且遵循方向優(yōu)先原則,并能響應(yīng)提前關(guān)門延時(shí)關(guān)門,并具有超載報(bào)警和故障報(bào)警;3、同時(shí)指示電梯運(yùn)行情況和電梯內(nèi)外請(qǐng)求信息。2.2 方案論證1、內(nèi)部請(qǐng)求優(yōu)先控制方式內(nèi)部請(qǐng)求優(yōu)先控制方式類似于出租車的工作方式,先將車上的人送至目的地,再去載客。作為通用型電梯應(yīng)該服務(wù)于大多數(shù)人,必須考慮電梯對(duì)內(nèi)、外請(qǐng)求的響應(yīng)率P: Pin = 100%

17、; Pout = 0100%;在內(nèi)部請(qǐng)求優(yōu)先控制方式中,當(dāng)電梯外部人的請(qǐng)求和電梯內(nèi)部人的請(qǐng)求沖突時(shí),外部人的請(qǐng)求信號(hào)可能被長(zhǎng)時(shí)間忽略,因而它不能作為通用型電梯的設(shè)計(jì)方案。2、單向?qū)訉油?刂品绞絾蜗驅(qū)訉油?刂品绞降韧诨疖嚨倪\(yùn)行方式,遇站即停止、開門。這種方案的優(yōu)點(diǎn)在于“面面俱到”,可以保證所有人的請(qǐng)求都能得到響應(yīng)。缺點(diǎn)是:效率低,能耗高,時(shí)間長(zhǎng)。3、方向優(yōu)先控制方式 此方式是指當(dāng)電梯處于上升模式時(shí),只響應(yīng)比電梯所在位置高的上樓請(qǐng)求信號(hào)和梯內(nèi)乘客下電梯的請(qǐng)求,這些請(qǐng)求信號(hào)由下而上逐個(gè)執(zhí)行,直到最后一個(gè)請(qǐng)求信號(hào)執(zhí)行完畢。優(yōu)點(diǎn)是效率高,對(duì)用戶響應(yīng)為100%,時(shí)間段,節(jié)省能源。 綜上所述:本次設(shè)計(jì)中電

18、梯控制方式選擇為方向優(yōu)先控制方式。2.4 電梯控制器的總體設(shè)計(jì)方案控制器的功能模塊如圖2.1所示,包括主控制器、樓層選擇器、狀態(tài)顯示器、譯碼器和樓層顯示器。乘客在電梯中選擇所要到達(dá)的樓層,通過主控制器的處理,電梯開始運(yùn)行,狀態(tài)顯示器顯示電梯的運(yùn)行狀態(tài),電梯所在樓層數(shù)通過譯碼器譯碼從而在樓層顯示器中顯示。由于其他模塊相對(duì)簡(jiǎn)單很多,所以主控制器是核心部分。 圖2.1電梯控制器功能模塊電梯控制器運(yùn)用狀態(tài)機(jī)的設(shè)計(jì)方法,思路比較清晰??梢詫㈦娞莸却拿棵腌娨约伴_門、關(guān)門都看成一個(gè)獨(dú)立的狀態(tài)。根據(jù)電梯的實(shí)際工作情況,可以把狀態(tài)機(jī)設(shè)置成“電梯停留在第1層”、“開門”、“關(guān)門”、 “開門等待”、“上升”、“下

19、降”和“停止?fàn)顟B(tài)”、“故障”等不同狀態(tài)。各個(gè)狀態(tài)之間的轉(zhuǎn)換條件可由上面的設(shè)計(jì)要求所決定。各狀態(tài)機(jī)之間轉(zhuǎn)換圖如圖2.2所示: 圖2.2 電梯控制狀態(tài)流程圖2.5 電梯控制器模塊設(shè)計(jì)圖2.3 系統(tǒng)組成根據(jù)設(shè)計(jì)要求,各模塊設(shè)計(jì)為:1. 外部數(shù)據(jù)高速采集模塊設(shè)計(jì)2. 信號(hào)存儲(chǔ)模塊 3. 基于FPGA的中央處理模塊4. 信號(hào)的輸出、顯示模塊2.5.1 外部數(shù)據(jù)高速采集模塊設(shè)計(jì)對(duì)外部信號(hào)采集、處理要求電梯控制器: (1)外部請(qǐng)求信號(hào)的實(shí)時(shí)、準(zhǔn)確采集;(2)準(zhǔn)確、實(shí)時(shí)的捕捉樓層到達(dá)信號(hào);(3)有效的防止樓層到達(dá)信號(hào)、外部請(qǐng)求信號(hào)的誤判。控制器采用FPGA作為系統(tǒng)控制的核心,系統(tǒng)時(shí)鐘頻率是32.0000MHz

20、,完全可以滿足實(shí)時(shí)采集數(shù)據(jù)的要求。由于電路中毛刺現(xiàn)象的存在,信號(hào)的純凈度降低,單個(gè)的毛刺往往被誤作為系統(tǒng)狀態(tài)轉(zhuǎn)換的觸發(fā)信號(hào),嚴(yán)重影響電梯的正常工作??梢圆捎枚啻螜z測(cè)的方法解決這個(gè)問題,對(duì)一個(gè)信號(hào)進(jìn)行多次采樣以保證信號(hào)的可信度。外部請(qǐng)求信號(hào)的輸入形式為按鍵輸入,到達(dá)樓層信號(hào)來自光敏傳感器,關(guān)門中斷信號(hào)及超載信號(hào)則產(chǎn)生于壓力傳感器。 鍵盤、光敏外部輸入接口電路未設(shè)計(jì)。2.5.2 信號(hào)存儲(chǔ)模塊電梯控制器的請(qǐng)求輸入信號(hào)有18個(gè)(電梯外有6個(gè)上升請(qǐng)求和6個(gè)下降請(qǐng)求的用戶輸入斷口,電梯內(nèi)有6個(gè)請(qǐng)求用戶輸入斷口),由于系統(tǒng)對(duì)內(nèi)、外請(qǐng)求沒有設(shè)置優(yōu)先級(jí),各樓層的內(nèi)、外請(qǐng)求信號(hào)被采集后可先進(jìn)行運(yùn)算,再存到存儲(chǔ)器內(nèi)

21、。電梯運(yùn)行過程中,由于用戶的請(qǐng)求信號(hào)的輸入是離散的,而且系統(tǒng)對(duì)請(qǐng)求的響應(yīng)也是離散的,因此請(qǐng)求信號(hào)的存儲(chǔ)要求新的請(qǐng)求信號(hào)不能覆蓋原來的請(qǐng)求信號(hào),只有響應(yīng)動(dòng)作完成后才能清除存儲(chǔ)器內(nèi)對(duì)應(yīng)的請(qǐng)求信號(hào)位。2.5.3 基于FPGA的中央處理模塊中央數(shù)據(jù)處理模塊是系統(tǒng)的核心,通過對(duì)存儲(chǔ)的數(shù)據(jù)(含請(qǐng)求、到達(dá)樓層等信號(hào))進(jìn)行比較、判斷以驅(qū)動(dòng)系統(tǒng)狀態(tài)的流轉(zhuǎn)。電梯工作過程中共有種狀態(tài):等待、上升、下降、開門、關(guān)門、停止、休眠、超載報(bào)警以及故障報(bào)警狀態(tài)。一般情況下,電梯工作起始點(diǎn)是第一層,起始狀態(tài)是等待狀態(tài),啟動(dòng)條件是收到上升請(qǐng)求。超載狀態(tài)時(shí)電梯關(guān)門動(dòng)作取消,同時(shí)發(fā)出警報(bào),直到警報(bào)被清除; 故障時(shí)電梯不執(zhí)行關(guān)門動(dòng)作,

22、同時(shí)發(fā)出警報(bào),直到警報(bào)被清除(看門狗信號(hào)有效的條件是一層樓連續(xù)發(fā)生關(guān)門中斷情況超過3次)。本系統(tǒng)由請(qǐng)求信號(hào)啟動(dòng),運(yùn)行中每檢測(cè)到一個(gè)到達(dá)樓層信號(hào),就將信號(hào)存儲(chǔ)器的請(qǐng)求信號(hào)和樓層狀態(tài)信號(hào)進(jìn)行比較,再參考原方向信號(hào)來決定是否停止,轉(zhuǎn)向等動(dòng)作。2.5.4 信號(hào)的輸出、顯示模塊本系統(tǒng)的輸出信號(hào)有兩種: 一種是電機(jī)的升降控制信號(hào)(兩位)和開門/關(guān)門控制信號(hào);另一種是面向用戶的提示信號(hào)(含樓層顯示、方向顯示、已接受請(qǐng)求顯示等)。電機(jī)的控制信號(hào)一般需要兩位,本系統(tǒng)中電機(jī)有3種工作狀態(tài): 正轉(zhuǎn)、反轉(zhuǎn)和停轉(zhuǎn)狀態(tài)。 兩位控制信號(hào)作為一個(gè)三路開關(guān)的選通信號(hào),此三路開關(guān)選用模擬電子開關(guān)。系統(tǒng)的顯示輸出包括數(shù)碼管樓層顯示

23、、數(shù)碼管請(qǐng)求信號(hào)顯示和表征運(yùn)動(dòng)方向的箭頭形指示燈的開關(guān)信號(hào)。 圖2.4電梯控制運(yùn)行流程圖三、 程序設(shè)計(jì)及波形仿真3.1 程序流程分析電梯的運(yùn)行規(guī)則確立后,需對(duì)整個(gè)控制程序的設(shè)計(jì)作一個(gè)流程規(guī)范。對(duì)程序進(jìn)行模塊化構(gòu)思。根據(jù)VHDL語言的規(guī)則,程序必須由最基本的實(shí)體和結(jié)構(gòu)體構(gòu)成。實(shí)體對(duì)控制器的端口進(jìn)行定義,結(jié)構(gòu)體對(duì)各端口的行為進(jìn)行描述。因此程序運(yùn)行需經(jīng)過以下流程:VHDL庫調(diào)用;確立控制器的端口及相關(guān)的寄存器;根據(jù)電梯運(yùn)行規(guī)則,設(shè)計(jì)相關(guān)運(yùn)行描述;對(duì)電梯內(nèi)外信號(hào)進(jìn)行處理。具體流程圖如圖3.1所示。圖3.1流程圖3.1.1端口、寄存器設(shè)計(jì)說明(1)由功能要求得到本程序設(shè)計(jì)的端口必須包括:輸入端口:時(shí)鐘(

24、clk,頻率為2Hz)、超載(full)、關(guān)門中斷(deng)、提前關(guān)門(quick)、清除報(bào)警(clr)、電梯外人的上升請(qǐng)求信號(hào)(c_u1,c_u2,c_u3, ,c_u4,c_u5)、電梯外人的下降請(qǐng)求信號(hào)(c_d2,c_d3,c_d4,c_d5,c_d6)、電梯內(nèi)人的請(qǐng)求信號(hào)(d1,d2,d3,d4,d5,d6)、到達(dá)樓層信號(hào)(g1,g2,g3,g4,g5,g6)。輸出端口:電梯門控制信號(hào)(door)、電梯所在樓層顯示(led)電梯外人上升請(qǐng)求信號(hào)顯示(led_c_u)、電梯外人下降請(qǐng)求信號(hào)顯示(led_c_d)、電梯內(nèi)請(qǐng)求信號(hào)顯示(led_d)、看門狗報(bào)警信號(hào)(wahaha)、電梯運(yùn)動(dòng)

25、方向顯示(ud)、超載警告信號(hào)(alarm)、電機(jī)控制信號(hào)(up,down)。圖3.2 電梯端口分布圖(2)程序要求的寄存器(中間信號(hào))包括:電梯內(nèi)人請(qǐng)求信號(hào)寄存信號(hào)(d11,d22,d33,d44,d55,d66);電梯外人上升請(qǐng)求信號(hào)寄存信號(hào)(c_u11,c_u22,c_u33,c_u44,c_u55);電梯外人下降請(qǐng)求信號(hào)寄存信號(hào)(c_d22,c_d33,c_d44,c_d55,c_d66);分頻信號(hào)、關(guān)門延時(shí)計(jì)數(shù)器、看門狗計(jì)數(shù)器(q,q1,q2);電梯內(nèi)外請(qǐng)求信號(hào)寄存器(dd,cc_u,cc_d,dd_cc);開門使能信號(hào)(opendoor);電梯運(yùn)動(dòng)方向信號(hào)寄存器(updown);預(yù)

26、備上升、預(yù)備下降預(yù)操作使能信號(hào)(en_up,en_dw)。3.1.2 程序調(diào)試及引腳鎖定(1)建立好工作目錄,以便設(shè)計(jì)工程項(xiàng)目的存儲(chǔ),打開ISE軟件,(2)在工具欄中選擇“新建”按鈕。選擇“New Project>VHDL Moudle”(3) 在文本輸入界面內(nèi)進(jìn)行程序輸入,如圖3.3所示圖3.3(4) 輸入保存以后,對(duì)程序進(jìn)行編譯。若有錯(cuò)誤則修改程序重新編譯。進(jìn)行編譯后的總結(jié)報(bào)告如圖3.4所示:圖3.4 3.2波形仿真(1) 編譯完成后,會(huì)自動(dòng)彈出Modelsim波形仿真界面;(2)根據(jù)程序?qū)Χ丝诘亩x,對(duì)輸入端口進(jìn)行初始化;(3) 創(chuàng)立輸入波形。對(duì)程序進(jìn)行仿真,觀察輸出信號(hào),得出結(jié)論

27、。3.2.1電梯功能實(shí)現(xiàn)與仿真結(jié)果分析1、設(shè)置輸入圖3.2.1設(shè)計(jì)好的輸入波形2、結(jié)果分析以下將以“電梯停在一樓時(shí),接受到請(qǐng)求信號(hào)c_d2、c_d3、c_u4和d6”為例,分析操作這些請(qǐng)求信號(hào)完成的過程,并在電梯運(yùn)行到四樓時(shí)對(duì)超載報(bào)警、提前關(guān)門、延時(shí)關(guān)門、故障報(bào)警進(jìn)行仿真分析。1. 電梯停在一樓時(shí),接受到請(qǐng)求信號(hào)c_d3、c_d2、c_u4和d6,并把請(qǐng)求信號(hào)寫入相應(yīng)的寄存器。led顯示電梯所在樓層;led_d、led-c_u和led_c_d顯示用戶的請(qǐng)求。2. 電梯經(jīng)過準(zhǔn)備上升狀態(tài)后,進(jìn)入上升狀態(tài),到達(dá)2樓,3樓時(shí),不停繼續(xù)前進(jìn)。3. 電梯上升到4樓時(shí),響應(yīng)請(qǐng)求(c_u4),開門載客;進(jìn)入預(yù)

28、備上升狀態(tài)。圖3.2.2電梯控制程序仿真局部放大圖2注:1. 電梯停在一樓時(shí),接受到請(qǐng)求信號(hào)c_d3、c_d2、c_u4和d6,并把請(qǐng)求信號(hào)寫入相應(yīng)的寄存器。led顯示電梯所在樓層;led_d、led-c_u和led_c_d顯示用戶的請(qǐng)求從上圖可以看出:1. 電梯從1樓上升到6樓時(shí),響應(yīng)請(qǐng)求(d_3),開門卸客;繼續(xù)上升。2. 電梯到達(dá)二樓,響應(yīng)請(qǐng)求開門卸客圖3.2.3電梯控制程序仿真局部放大圖3從上圖可以看出:1、 電梯到達(dá)6樓,進(jìn)入預(yù)備下降狀態(tài),并開始下降;2、 電梯到達(dá)3樓,電梯應(yīng)超載信號(hào)(full=1),發(fā)出超載警報(bào)alarm;超載信號(hào)消失(full=0),電梯重新進(jìn)入預(yù)備下降狀態(tài)。圖

29、3.2.4電梯控制程序仿真局部放大圖41 、電梯接受到提前關(guān)門信號(hào)quick,電梯跳過關(guān)門等待時(shí)間。仿真圖中q1從1跳到3;進(jìn)入關(guān)門狀態(tài)。2、 電梯接受到deng、c_d3和d3電梯重新進(jìn)入預(yù)備下降狀態(tài),并且c_d3和d3信號(hào)都可以對(duì)q2(q2<3時(shí))進(jìn)行清零處理。3、 當(dāng)連續(xù)的關(guān)門中斷的次數(shù)超過3次時(shí),不認(rèn)為是出自乘客的需要,而認(rèn)為是故障,并報(bào)警,等技術(shù)員處理完故障時(shí),用clr信號(hào)才可以清除報(bào)警。4、 電梯排除故障后繼續(xù)運(yùn)行,電梯執(zhí)行完所有請(qǐng)求時(shí)電梯將停在1樓待機(jī)。四、 設(shè)計(jì)總結(jié)4.1 可行性分析 電梯控制器系統(tǒng)設(shè)計(jì)已經(jīng)全部完成,基本實(shí)現(xiàn)了預(yù)期效果,實(shí)現(xiàn)了電梯按預(yù)定運(yùn)行規(guī)則上升、下降、

30、載客等功能,并設(shè)計(jì)了提前關(guān)門功能,使電梯運(yùn)行更便捷,設(shè)計(jì)了關(guān)門延時(shí)功能、超載報(bào)警功能、故障報(bào)警功能,使電梯運(yùn)行更加安全更加可靠。在本設(shè)計(jì)中,因?yàn)榭紤]了擴(kuò)展性,所以在信號(hào)定義的時(shí)候就使用了二進(jìn)制的向量,而不是整數(shù)。在設(shè)計(jì)方法上也做了特殊的設(shè)計(jì),所以使得擴(kuò)展性較好。如果要實(shí)現(xiàn)n層電梯的控制,首先在端口的地方就要加入所有的按鍵,而指示燈只要把向量中的6改成n就可以了。在本設(shè)計(jì)過程中還需要改進(jìn)的地方有,電梯運(yùn)行規(guī)則的優(yōu)化(如設(shè)計(jì)閑時(shí)忙時(shí)控制規(guī)則)、電梯運(yùn)行速度的控制、設(shè)計(jì)更多的報(bào)警功能等。電梯控制系統(tǒng)的設(shè)計(jì)中體現(xiàn)了VHDL覆蓋面是如此的廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語言及運(yùn)行速度快,使用方便,

31、便于修改,設(shè)計(jì)簡(jiǎn)單等特點(diǎn)。本設(shè)計(jì)在實(shí)用方面和參考方面具有一定的價(jià)值。4.2 總結(jié)經(jīng)過本次課程設(shè)計(jì),我對(duì)電梯控制系統(tǒng)的工作原理有了深入認(rèn)識(shí),學(xué)會(huì)了對(duì)ISE電路仿真設(shè)計(jì)。經(jīng)過一個(gè)學(xué)期的FPGA課程的學(xué)習(xí),通過在圖書館查閱有關(guān)資料,了解了電梯的起源和發(fā)展過程,并且加深了對(duì)電梯運(yùn)行過程、控制系統(tǒng)的認(rèn)識(shí),熟悉了FPGA在電梯控制系統(tǒng)中的運(yùn)用。并且在所學(xué)知識(shí)的基礎(chǔ)上,利用己有的電梯控制系統(tǒng)的設(shè)計(jì),嘗試了對(duì)電梯控制系統(tǒng)的研究。并且,使我將原來所學(xué)的知識(shí)系統(tǒng)化、理論化、實(shí)用化,對(duì)如何使用己有知識(shí)及獲取相關(guān)資料方面的能力又有了提高。通過這次設(shè)計(jì),我還認(rèn)識(shí)到無論做什么,都需要踏實(shí),勤奮,嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度,這對(duì)我以后

32、的工作將會(huì)產(chǎn)生深遠(yuǎn)的影響。 設(shè)計(jì)達(dá)到了預(yù)定的設(shè)計(jì)目的,完成了電梯控制器的基本功能和達(dá)到了基本的技術(shù)指標(biāo)。利用FPGA實(shí)現(xiàn)了對(duì)電梯的控制,通過合理的設(shè)備選型、參數(shù)設(shè)置和軟件設(shè)計(jì),提高了電梯運(yùn)行的可靠性。用VHDL硬件描述語言的形式來進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì)方便靈活,利用ISE軟件進(jìn)行編譯優(yōu)化、仿真、極大地減少了電路設(shè)計(jì)時(shí)間和可能發(fā)生的錯(cuò)誤,降低了開發(fā)成本,這種設(shè)計(jì)方法必將在未來的數(shù)字系統(tǒng)設(shè)計(jì)中發(fā)揮越來越重要的作用。參考文獻(xiàn)1黃正巾,徐堅(jiān)等. CPLD系統(tǒng)設(shè)計(jì)與應(yīng)用M.北京:電子工業(yè)出版社,2002,110123.2蔣璇,臧春花.數(shù)字系統(tǒng)設(shè)計(jì)與PLD應(yīng)用技術(shù)M.北京:電子工業(yè)出版社, 2001,2334

33、.3孟憲元.可編程ASIC集成數(shù)字系統(tǒng)M.北京:電子工業(yè)出版社,2003,231243.4潘松,王國(guó)棟. VHDL實(shí)用教程(修訂版)M.成都:成都電子科技大學(xué)出版社,2002,4587.5宋萬杰,羅豐,吳順君.CPLD技術(shù)及其應(yīng)用M.西安:西安電子科技大學(xué)出社,2005,2556.6王鎖萍.電子設(shè)計(jì)自動(dòng)化(EDA)教程M.成都:成都電子科技大學(xué)出版社,2006,6790.7 邱玉春. 李文俊.VHDL系統(tǒng)設(shè)計(jì)M.電子產(chǎn)品世界,2007, 5053.8 蘇長(zhǎng)贊. 電梯設(shè)計(jì)與應(yīng)用M. 北京:人民郵電出版社,2008,7691.9 樓然苗. CPLD設(shè)計(jì)指導(dǎo)M. 北京航空航天大學(xué)出版社,2007,2

34、23225.10 彭為. 數(shù)字系統(tǒng)設(shè)計(jì)M. 電子工業(yè)出版社,2006,6171.14 何立民EDA應(yīng)用技術(shù)選編M北京:北京航空航天大學(xué)出版社,2008,445115 李華EDA實(shí)用接口技術(shù)M. 北京航空航天大學(xué)出版社2003,176182.附錄電梯程序: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; -時(shí)鐘信號(hào)(頻率為2Hz) full,deng,qui

35、ck,clr : in std_logic; -超載、關(guān)門中斷、提前關(guān)門清除報(bào)警信號(hào) c_u1,c_u2,c_u3,c_u4,c_u5: in std_logic; -電梯外人的上升請(qǐng)求信號(hào) c_d2,c_d3,c_d4,c_d5,c_d6 : in std_logic; -電梯外人的下降請(qǐng)求信號(hào) d1,d2,d3,d4,d5,d6 : in std_logic; -電梯內(nèi)人的請(qǐng)求信號(hào) g1,g2,g3,g4,g5,g6 : in std_logic; -到達(dá)樓層信號(hào) door : out std_logic_vector(1 downto 0); -電梯門控制信號(hào) led : out std

36、_logic_vector(6 downto 0); -電梯所在樓層顯示 led_c_u:out std_logic_vector(5 downto 0); -電梯外人上升請(qǐng)求信號(hào)顯示 led_c_d:out std_logic_vector(5 downto 0); -電梯外人下降請(qǐng)求信號(hào)顯示 led_d : out std_logic_vector(5 downto 0); -電梯內(nèi)請(qǐng)求信號(hào)顯示 wahaha : out std_logic; -看門狗報(bào)警信號(hào) ud,alarm : out std_logic; -電梯運(yùn)動(dòng)方向顯示,超載警告信號(hào)up,down : out std_logic

37、 ); -電機(jī)控制信號(hào)和電梯運(yùn)動(dòng)end dianti;architecture behav of dianti issignal d11,d22,d33,d44,d55,d66:std_logic; -電梯內(nèi)人請(qǐng)求信號(hào)寄存信號(hào)signal c_u11,c_u22,c_u33,c_u44,c_u55:std_logic; -電梯外人上升請(qǐng)求信號(hào)寄存信號(hào)signal c_d22,c_d33,c_d44,c_d55,c_d66:std_logic; -電梯外人下降請(qǐng)求信號(hào)寄存信號(hào)signal q:integer range 0 to 1; -分頻信號(hào)signal q1:integer range 0

38、 to 6; -關(guān)門延時(shí)計(jì)數(shù)器 signal q2:integer range 0 to 9; -看門狗計(jì)數(shù)器signal dd,cc_u,cc_d,dd_cc:std_logic_vector(5 downto 0); -電梯內(nèi)外請(qǐng)求信號(hào)寄存器signal opendoor:std_logic; -開門使能信號(hào)signal updown:std_logic; -電梯運(yùn)動(dòng)方向信號(hào)寄存器signal en_up,en_dw:std_logic; -預(yù)備上升、預(yù)備下降預(yù)操作使能信號(hào)begincom:process(clk)beginif clk'event and clk='1&#

39、39; then if clr='1' then q1<=0;q2<=0;wahaha<='0' -清除故障報(bào)警 elsif full='1' then alarm<='1' q1<=0; -超載報(bào)警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

40、' -故障報(bào)警 else if opendoor='1' then door<="10"q1<=0;q2<=0;up<='0'down<='0' -開門操作 elsif 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

41、then door<="00"updown<='1'up<='1' -關(guān)門完畢,電梯進(jìn)入上升狀態(tài) elsif q1>=3 then door<="01"q1<=q1+1; -電梯進(jìn)入關(guān)門狀態(tài) else q1<=q1+1;door<="00" -電梯進(jìn)入等待狀態(tài) end if; elsif en_dw='1' then -下降預(yù)操作 if deng='1' then door<="10"q1<=

42、0;q2<=q2+1; elsif quick='1' then q1<=3; elsif q1=6 then door<="00"updown<='0'down<='1' 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"

43、-電梯到達(dá)1樓,數(shù)碼管顯示1 if d11='1' or c_u11='1' then d11<='0' c_u11<='0'opendoor<='1'-有當(dāng)前層的請(qǐng)求,則電梯進(jìn)入開門狀態(tài) elsif dd_cc>"000001" then en_up<='1' opendoor<='0' -有上升請(qǐng)求,則電梯進(jìn)入預(yù)備上升狀態(tài) elsif dd_cc="000000" then opendoor<=&#

44、39;0' -無請(qǐng)求時(shí),電梯停在1樓待機(jī) end if; elsif g2='1' then led<="0010010" -電梯到達(dá)2樓,數(shù)碼管顯示2 if updown='1' then -電梯前一運(yùn)動(dòng)狀態(tài)位上升 if d22='1' or c_u22='1' then d22<='0' c_u22<='0' opendoor<='1' -有當(dāng)前層的請(qǐng)求,則電梯進(jìn)入開門狀態(tài) elsif dd_cc>"000011

45、" then en_up<='1' opendoor<='0' -有上升請(qǐng)求,則電梯進(jìn)入預(yù)備上升狀態(tài) elsif dd_cc<"000010" then en_dw<='1' opendoor<='0' -有下降請(qǐng)求,則電梯進(jìn)入預(yù)備下降狀態(tài) end if; -電梯前一運(yùn)動(dòng)狀態(tài)為下降 elsif d22='1' or c_d22='1' then d22<='0' c_d22<='0'opendoo

46、r<='1' -有當(dāng)前層的請(qǐng)求,則電梯進(jìn)入開門狀態(tài) elsif dd_cc<"000010" then en_dw<='1' opendoor<='0' -有下降請(qǐng)求,則電梯進(jìn)入預(yù)備下降狀態(tài) elsif dd_cc>"000011" then en_up<='1' opendoor<='0' -有上升請(qǐng)求,則電梯進(jìn)入預(yù)備上升狀態(tài) end if; elsif g3='1' then led<="00001

47、10" -電梯到達(dá)3樓,數(shù)碼管顯示3 if updown='1' then if d33='1' or c_u33='1' then d33<='0' c_u33<='0'opendoor<='1' elsif dd_cc>"000111" then en_up<='1' opendoor<='0' elsif dd_cc<"000100" then en_dw<=

48、9;1' opendoor<='0' end if; elsif d33='1' or c_d33='1' then d33<='0' c_d33<='0' opendoor<='1' elsif dd_cc<"000100" then en_dw<='1' opendoor<='0' elsif dd_cc>"000111" then en_up<='1&#

49、39; opendoor<='0' end if; elsif g4='1' then led<="1001100" -電梯到達(dá)4樓,數(shù)碼管顯示4 if updown='1' then if d44='1' or c_u44='1' then d44<='0' c_u44<='0' opendoor<='1' elsif dd_cc>"001111" then en_up<='1

50、' opendoor<='0' elsif dd_cc<"001000" then en_dw<='1' opendoor<='0' end if; elsif d44='1' or c_d44='1' then d44<='0' c_d44<='0' opendoor<='1' elsif dd_cc<"001000" then en_dw<='1'

51、 opendoor<='0' elsif dd_cc>"001111" then en_up<='1' opendoor<='0' end if; elsif g5='1' then led<="0100100" -電梯到達(dá)5樓,數(shù)碼管顯示5 if updown='1' then if d55='1' or c_u55='1' then d55<='0' c_u55<='0

52、9;opendoor<='1' elsif dd_cc>"011111" then en_up<='1' opendoor<='0' elsif dd_cc<"010000" 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>&q

溫馨提示

  • 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)論