【正文】
FLOOR5))||((down_allamp。FLOOR3))||((down_allamp。FLOOR1))||((down_allamp。FLOOR6)posamp。FLOOR4)posamp。FLOOR2)posamp。//無任何請求,轉(zhuǎn)為WAIT模式 end //請參考UpDnFlag=UPFLAG的注釋 else if(UpDnFlag==DNFLAG) begin if((request_allamp。 else if(down_all0)//有下降請求否 begin if((down_allpos)amp。 end UPSTOP: begin NextState=OPENDOOR。(posFLOOR1)) NextState=DOWNSTOP。FLOOR5))||((up_allamp。FLOOR3))||((up_allamp。FLOOR1))||((up_allamp。FLOOR6)posamp。FLOOR4)posamp。FLOOR2)posamp。amp。amp。amp。pos)||(down_allamp。 else if((down_allamp。pos)||(up_allamp。//有則,下一狀態(tài)轉(zhuǎn)上升 else NextState=DOWN。//如果計(jì)數(shù)不到5且下一狀態(tài)為OPENDOOR的話,繼續(xù)計(jì)數(shù) else count=0。b0, call_up_5, call_up_4, call_up_3, call_up_2, call_up_1}。b01,DNFLAG=239。b100000。b0100000, CLOSEDOOR=739。//分別表示電梯的當(dāng)前狀態(tài)和下一狀態(tài) wire real_clk。//這個(gè)說的簡單一點(diǎn),就是移位寄存器,便于對電梯狀態(tài)的實(shí)時(shí)的控制 wire over_alarm。//輸出電梯狀態(tài) output over_alarm。課題研究開發(fā)以及論文寫作期間,深深受益于楊老師的關(guān)心、愛護(hù)和諄諄教導(dǎo)。除了我對電梯的運(yùn)行規(guī)律做出如上的分析外,我的另一個(gè)選擇開發(fā)智能電梯控制器的原因是我想鍛煉一下自己的邏輯思維和分析復(fù)雜問題的能力。電梯內(nèi)設(shè)有乘客到達(dá)層次的請求開關(guān)。(5)數(shù)碼管譯碼模塊:(6)數(shù)碼管時(shí)間譯碼模塊:以上兩個(gè)模塊一起講比較合適,因?yàn)樗鼈兌际遣捎昧送瑯拥淖g碼原則,只不過條件不一樣而已。采用傳統(tǒng)的“一半就翻轉(zhuǎn)”的計(jì)數(shù)技巧。 // LCD Enableoutput LCD_RS。(4)LCD驅(qū)動模塊DE2_Default:端口說明:Input ports:input open_enable,stop_enable,up_enable,down_enable,close_enable。b0010000,739。b00,239。001000,639。 在PLD設(shè)計(jì)中,35步可以用PLD廠家提供的開發(fā)軟件(如 Maxplus2)自動一次完成。(功能仿真)。其設(shè)計(jì)速度非???。這里采用了七個(gè)狀態(tài)實(shí)現(xiàn)了有限狀態(tài)機(jī)。b0。b000001,FLOOR2=639。b0000001, UP=739。b0, call_up_5, call_up_4, call_up_3, call_up_2, call_up_1}。電梯在運(yùn)轉(zhuǎn)時(shí)先響應(yīng)同方向上的請求,只有當(dāng)同方向上的請求響應(yīng)完后,才能轉(zhuǎn)而響應(yīng)不同方向上的請求。系統(tǒng)的要求如下:(1) 電梯共有6層。隨著我國經(jīng)濟(jì)平穩(wěn)持續(xù)的發(fā)展,尤其是住宅產(chǎn)業(yè)作為國民經(jīng)濟(jì)新增長點(diǎn)的提出,為電梯業(yè)的發(fā)展提供了良好的機(jī)遇。目前,我國已經(jīng)成為世界最大的新裝電梯市場和最大的電梯生產(chǎn)國。電梯控制系統(tǒng)是一個(gè)相當(dāng)復(fù)雜的邏輯控制系統(tǒng).系統(tǒng)要同時(shí)對幾百個(gè)信號進(jìn)行接收、處理。隨著人們生活水平的不斷提高,經(jīng)濟(jì)的快速發(fā)展和生產(chǎn)生活的需要,城市高層建筑如雨后春筍拔地而起。當(dāng)一個(gè)條件被滿足,將會觸發(fā)一個(gè)動作,或者執(zhí)行一次狀態(tài)的遷移。為一個(gè)事件而響應(yīng)的行動不僅取決于事件本身,還取決于機(jī)器的內(nèi)部狀態(tài)。但是,GUI應(yīng)用程序?qū)τ诮邮盏降氖录杂幸欢ǔ潭鹊目刂疲驗(yàn)檫@些事件要依賴于向用戶顯示的窗口和控件,而窗口和控件是由程序員控制的。 傳統(tǒng)應(yīng)用程序的控制流程基本是順序的:遵循事先設(shè)定的邏輯,從頭到尾地執(zhí)行。每個(gè)事件都在屬于“當(dāng)前” 節(jié)點(diǎn)的轉(zhuǎn)移函數(shù)的控制范圍內(nèi),其中函數(shù)的范圍是節(jié)點(diǎn)的一個(gè)子集。這樣做的好處是可以使設(shè)計(jì)人員集中精力進(jìn)行電路設(shè)計(jì)的優(yōu)化, 而不需要考慮其他的問題。VHDL 語言設(shè)計(jì)方法靈活多樣 , 既支持自頂向下的設(shè)計(jì)方式, 也支持自底向上的設(shè)計(jì)方法。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。 5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。一個(gè)因此有關(guān)的重要區(qū)別是很多新的FPGA支持完全的或者部分的系統(tǒng)內(nèi)重新配置。CPLD和FPGA包括了一些相對大數(shù)量的可以編輯邏輯單元。 系統(tǒng)設(shè)計(jì)師可以根據(jù)需要通過可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來,就好像一個(gè)電路試驗(yàn)板被放在了一個(gè)芯片里。 EDA的應(yīng)用隨著電子技術(shù)的發(fā)展,可編程邏輯器件和eda技術(shù)已廣泛應(yīng)用于通信、工業(yè)自動化、智能儀表、圖像處理、計(jì)算機(jī)等領(lǐng)域。例如在飛機(jī)制造過程中,從設(shè)計(jì)、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術(shù)。這些器件可以通過軟件編程而對其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。t made any progress, one is it is with VHDL language preparation, and I39。關(guān)鍵詞:信號并置不過由于開始我想到只有六個(gè)請求(分別為1~6樓),后來在老師的啟發(fā)下和東十二樓的電梯實(shí)際運(yùn)行情況我發(fā)現(xiàn),6個(gè)按鈕肯定是不夠的,所以我又加了5個(gè)向上的請求按鈕和5個(gè)向下的請求按鈕,這樣總共就有16個(gè)按鈕了,由于當(dāng)時(shí)我沒有想到用信號并置的方法,所以需要分析的情況實(shí)在是太多了,我也沒有信心了。不過問題始終都是要得到解決的,后來我在我們寢室的一個(gè)同學(xué)的參考書上看到了一個(gè)用VHDL語言編寫的智能電梯控制器的程序,不過很不完整,它給我的最大的啟發(fā)就是“信號并置的算法”,我才發(fā)現(xiàn)這樣一來的話,我的工作量就大大減少了。m not very familiar with the language so not particularly understanding. Later unexpectedly raised the VHDL language translation into verilog language job, so that no measure of work let I waste a lot of time. Now that I think about it, I found that I had lost themselves, I had his own algorithm has been lost, leaving the others are only some of the program. To the floor for elevator status transfer basis programming method, let I haven39。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過程和設(shè)計(jì)觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展。 EDA的特點(diǎn)(1) 高層綜合和優(yōu)化為了能更好地支持自頂向下的設(shè)計(jì)方法,現(xiàn)代的EDA工具能夠在系統(tǒng)進(jìn)行綜合和優(yōu)化,這樣就縮短了設(shè)計(jì)的周期,提高了設(shè)計(jì)效率。EDA(ElectronincDesign Automation,電子設(shè)計(jì)自動化)技術(shù)是現(xiàn)代電子工程領(lǐng)域的一門新技術(shù),它提供了基于計(jì)算機(jī)和信息技術(shù)的電路系統(tǒng)設(shè)計(jì)方法。一個(gè)出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計(jì)者而改變,所以FPGA可以完成所需要的邏輯功能。CPLD邏輯門的密度在幾千到幾萬個(gè)邏輯單元之間,而FPGA通常是在幾萬到幾百萬。允許他們的設(shè)計(jì)隨著系統(tǒng)升級或者動態(tài)重新配置而改變。 可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。因此,F(xiàn)PGA的使用非常靈活。 VHDL語言的發(fā)展在集成電路制造工藝的發(fā)展的過程中,微電子設(shè)計(jì)工藝已經(jīng)達(dá)到了深亞微米時(shí)代,在EDA設(shè)計(jì)中主要有軟硬件協(xié)作設(shè)計(jì)的要求,現(xiàn)有的工具支持SOC設(shè)計(jì)尚有難度,迫切需要提高設(shè)計(jì)能力。 既支持模塊化設(shè)計(jì)方法, 也支持層次化設(shè)計(jì)方法。當(dāng)硬件電路的設(shè)計(jì)描述完成以后 ,VHDL 語言允許采用多種不同的器件結(jié)構(gòu)來實(shí)現(xiàn)。函數(shù)返回“下一個(gè)”(也許是同一個(gè))節(jié)點(diǎn)。很少有事件能改變標(biāo)準(zhǔn)執(zhí)行流程;而且這些事件主要涉及異常情況。Web應(yīng)用 程序則不然,因?yàn)橐坏┯脩舨扇〔辉陬A(yù)料之中的操作(比如使用瀏覽器的歷史記錄、手工輸入鏈接以及模擬一次表單提交等等),就很容易打亂設(shè)計(jì)好的應(yīng)用程序邏輯。另外,采取 的行動還會決定并更新機(jī)器的狀態(tài)。 ?、蹌幼鳎簵l件滿足后執(zhí)行的動作。與此相應(yīng),作為一種可以垂直升降運(yùn)輸?shù)墓ぞ咭浑娞菀驳玫窖该偷陌l(fā)展。由于用戶對電梯功能的要求不斷提高.其相應(yīng)控制方式也在不斷發(fā)生變化。并且還有著巨大市場和發(fā)展?jié)摿臻g。今后幾年,我國將年建住宅3. 5億平方米,公建項(xiàng)目。電梯運(yùn)行規(guī)則:上升時(shí):響應(yīng)比當(dāng)前位置高的上樓要求,由下往上逐個(gè)執(zhí)行;如果樓層有下樓請求,直接升到由此請求的最高層,然后進(jìn)入下降模式。原理與系統(tǒng)設(shè)計(jì)思想來源:平時(shí)我們上課或者是上自習(xí)都去過東十二樓或者去過科技樓、南一樓,免不了坐坐電梯,對它的基本工作原理我們有知道多少了,這次我們要制作一個(gè)智能電梯控制器,必須對它的工作原理有十分清晰的了解。初始化狀態(tài)為1樓等待門是關(guān)閉的。 //將各下降請求信號實(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。b0000010, DOWN=739。b000010,FLOOR3=639。//定義門打開和門關(guān)閉的符號常量 parameter OPEN=139。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)會。對于一般幾千門的電路設(shè)計(jì),使用MAX+PLUSII,從設(shè)計(jì)輸入到器件編程完畢,用戶拿到設(shè)計(jì)好的邏輯電路,大約只需幾小時(shí)。設(shè)計(jì)的電路必須在布局布線前驗(yàn)證電路功能是否有效。(時(shí)序仿真)需要利用在布局布線中獲得的精確參數(shù)再次驗(yàn)證電路的時(shí)序。 b010000,639。b01,239。b0100000,739。input CLOCK_50。// LCD Command/DataSelect, 0= Command, 1 = Data 模塊設(shè)計(jì)過程現(xiàn)在我簡要的說明一下我的模塊的設(shè)計(jì)過程:(1)電梯主控制器模塊elevator_controller:此段智能電梯控制器由三個(gè)重要部分組成的。(3)電梯狀態(tài)仲裁器arbitrator:完成電梯信號到LCD控制的信號轉(zhuǎn)換。我們可以針對不同的輸入根據(jù)自己的意愿把它譯成同樣的數(shù)碼顯示。電梯每1s上升或下降一層電梯到達(dá)有停站請求的樓層后,經(jīng)過1s后電梯門打開,開門指示燈亮,開門5s后電梯指示燈滅,電梯繼續(xù)運(yùn)行,直至運(yùn)行完最后一個(gè)請求后??吭诋?dāng)前層。體會:本人認(rèn)為電梯時(shí)未來高層建筑必不可少的一種工具,并且由于世界人口的急劇增加和地球的有效使用面積的減少,未來的建筑都在向越來越高的方向發(fā)展,所以電梯在未來有著舉足輕重的作用,對此研究有著十分積極的作用。能在楊老師手下做畢設(shè),我為自己感到慶幸。//出錯 output [6:0]count_out。 wire [6:0]out。 //up_all,down_all,request_all分別用來合并向上請求的各信號,向下請求的各信號和停靠請求的各信號 //以便判斷電梯在狀態(tài)間如何轉(zhuǎn)移時(shí)更簡潔 reg [5:0] up_all,down_all,request_all。b1000000。 parameter TRUE=139。b10,STATIC=239。 //將各下降請求信號實(shí)時(shí)地合并(1樓為底層,無下降請求,考慮到通用性,將第1位填零) always (call_down_2 or call_down_3 or call_down_4 or call