【正文】
門級的高層次(即使設(shè)計尚未完成時),設(shè)計者就能夠?qū)φ麄€工程設(shè)計的結(jié)構(gòu)和功能的可行性進行查驗,并做出決策。(2)實體實體(ENTITY)是VHDL設(shè)計中最其本的組成部分之一(另一個是結(jié)構(gòu)體),VHDL表達的所有設(shè)計均與實體有關(guān)。類型;端口信號名2:實體語句結(jié)構(gòu)體名; 用VHDL語言對FPGA和CPLD器件進行開發(fā)時出現(xiàn)的毛刺問題的處理 在EDA環(huán)境中,毛刺是系統(tǒng)設(shè)計是否成功的關(guān)鍵。Quartus II 開發(fā)工具人機界面友好、易于使用、性能優(yōu)良,并自帶編譯、仿真功能。而MATLAB具有強大的運算功能,可以容易的實現(xiàn)A/D、D/A轉(zhuǎn)換等外圍電路功能,并能以波形形式將結(jié)果直觀地呈現(xiàn),極大地方便了程序設(shè)計人員設(shè)計應(yīng)用系統(tǒng)4程序設(shè)計及調(diào)試 電梯運行規(guī)則(1)請求信號分析:電梯的請求信號分為梯內(nèi)請求和梯外請求,如果從這個角度就很難去進行對電梯運行可能情況的分析,因為電梯的運行是根據(jù)梯內(nèi)和梯外的請求信號、行程信號進行控制的,而梯內(nèi)和梯外的請求是隨機且不能以有限的規(guī)則去對其進行說明的。此時,電梯就進入預(yù)上升狀態(tài),準備作上升運行。電梯實際上是一個人機交互式的控制系統(tǒng),單純用順序優(yōu)先或邏輯優(yōu)先是不能滿足控制要求的,因此,控制系統(tǒng)采用隨機邏輯方式控制去解決信號優(yōu)先的問題。如果此前出現(xiàn)提前關(guān)門信號而且電梯也已經(jīng)進行完超重排除和故障排除,電梯同樣關(guān)門進入預(yù)操作狀態(tài)。具體流程圖如圖5所示。library ieee。 電梯外人的下降請求信號 d1,d2,d3,d4,d5,d6 : in std_logic??撮T狗報警信號 ud,alarm : out std_logic。關(guān)門延時計數(shù)器 signal q2:integer range 0 to 9。在這些語句里,賦值語句占了相當(dāng)一部分。wahaha=39。 else door=00。 then led=0010010。039。039。039。 c_d22=39。 opendoor=39。 有上升請求,則電梯進入預(yù)備上升狀態(tài) end if。 then q1=0。 q1=0。139。down=39。q2=q2+1。139。 then 下降預(yù)操作 if deng=39。 elsif q1=6 then door=00。door=00。139。 elsif d4=39。 then d66=d6。 elsif c_u3=39。 then c_u55=c_u5。 elsif c_d4=39。 then c_d66=c_d6。 電梯內(nèi)人請求信號并置 cc_u=39。 電梯外人上升請求信號并置 cc_d=c_d66amp。 電梯內(nèi)、外人請求信號進行綜合 end if。選擇“VHDL File”,如圖9所示。當(dāng)程序被確認無誤后會出現(xiàn)如下界面,如圖11所示。(5)創(chuàng)立輸入波形。仿真結(jié)果如下圖17和圖18。圖20 電梯控制程序仿真局部放大圖3從上圖可以看出:1. 電梯到達3樓時,響應(yīng)請求(c_d3),開門載客;進入預(yù)備下降狀態(tài)。5. 電梯接受到deng、c_d3和d3電梯重新進入預(yù)備下降狀態(tài),并且c_d3和d3信號都可以對q2(q23時)進行清零處理。在本設(shè)計過程中還需要改進的地方有,電梯運行規(guī)則的優(yōu)化(如設(shè)計閑時忙時控制規(guī)則)、電梯運行速度的控制、設(shè)計更多的報警功能等。這個文化底蘊深厚、安詳寧靜的地方,塑造了我積極、樂觀、淡定的人生態(tài)度,刻畫了我永遠留戀的青春記憶,讓我在這即將離別的時候如此不舍。[3].侯伯亨,故 新。北京:中國電力出版社,2006[9].黃桂梅,劉永立。 超載、關(guān)門中斷、提前關(guān)門清除報警信號 c_u1,c_u2,c_u3,c_u4,c_u5: in std_logic。 電梯外人下降請求信號顯示 led_d : out std_logic_vector(5 downto 0)。 電梯外人下降請求信號寄存信號signal q:integer range 0 to 1。event and clk=39。 清除故障報警 elsif full=39。 elsif q=1 then q=0。q1=0。 then 上升預(yù)操作 if deng=39。 提前關(guān)門 elsif q1=6 then door=00。door=00。q2=q2+1。139。139。 c_u11=39。 opendoor=39。 電梯到達2樓,數(shù)碼管顯示2 if updown=39。 c_u22=39。 opendoor=39。 有下降請求,則電梯進入預(yù)備下降狀態(tài) end if。039。039。 elsif g3=39。139。139。039。 then d33=39。en_up=39。 opendoor=39。 then if d44=39。 opendoor=39。 elsif dd_cc00001000 then en_dw=39。139。139。139。 then led=0100100。039。039。039。 c_d55=39。opendoor=39。 end if。 then d66=39。en_up=39。039。 then d11=d1。139。 end if。139。 end if。139。end if。039。c_d55amp。 ud=updown。 end behav。 電梯外人下降請求信號并置 dd_cc=dd or cc_u or cc_d。c_u11。d11。139。 then c_d33=c_d3。139。 then c_u22=c_u2。139。 then d33=d3。 清除超載報警 if d1=39。039。 elsif dd_cc10000000 then en_dw=39。 or c_d66=39。 opendoor=39。 en_up=39。 then d55=39。039。139。139。 elsif g5=39。039。039。 end if。 opendoor=39。 c_u44=39。 電梯到達4樓,數(shù)碼管顯示4 if updown=39。en_dw=39。 elsif dd_cc00000100 then en_dw=39。 or c_d33=39。139。139。139。039。039。039。 opendoor=39。en_dw=39。 then d22=39。139。en_dw=39。 then d11=39。 end if。039。 then door=10。q1=q1+1。139。 開門操作 elsif en_up=39。139。 else door=00。wahaha=39。 電梯運動方向信號寄存器signal en_up,en_dw:std_logic。 電梯內(nèi)人請求信號寄存信號signal c_u11,c_u22,c_u33,c_u44,c_u55:std_logic。 電梯所在樓層顯示 led_c_u:out std_logic_vector(5 downto 0)。entity dianti is port ( clk : in std_logic?!峨娞菘刂萍夹g(shù)》[M].北京:機械工業(yè)出版社. 2003[8].陳家盛。[2].求是科技。再次謹向?qū)熩w桂青表示衷心的感謝和崇高的敬意。在設(shè)計方法上也做了特殊的設(shè)計,所以使得擴展性較好。4. 電梯接受到提前關(guān)門信號quick,電梯跳過關(guān)門等待時間。圖19 電梯控制程序仿真局部放大圖2從上圖可以看出:1. 電梯上升到6樓時,響應(yīng)請求(d_6),開門卸客;進入預(yù)備下降狀態(tài)。(2)啟動仿真器。(3)將工程dianti的端口信號名選入波形編輯器中。選擇菜單“Project”中的“Set as TopLevel Entity”。 程序調(diào)試(1)建立好工作目錄,以便設(shè)計工程項目的存儲,打開QuartusII軟件,其初始界面如圖8所示。039。c_u22amp。d22amp。 elsif c_d6=39。139。 elsif c_u5=39。139。 elsif d6=39。139。039。q1=q1+1。139。 elsif en_dw=39。139。 then door=10。up=39。039。 then alarm=39。 then if clr=39。 opendoor=39。en_up=39。 thend22=39。039。139。139。elsif g2=39。 q1=0。 then q1=0。(進程語句具體看附錄)end behav。電梯外人下降請求信號寄存信號signal q:integer range 0 to 1。電梯外人下降請求信號顯示 led_d : out std_logic_vector(5 downto 0)。 超載、關(guān)門中斷、提前關(guān)門、清除報警信號 c_u1,c_u2,c_u3,c_u4,c_u5: in std_logic。而在結(jié)構(gòu)體模塊中又內(nèi)嵌有進程執(zhí)行單元。實體對控制器的端口進行定義,結(jié)構(gòu)體對各端口的行為進行描述。開門使能信號促使電梯開門載客,同時驅(qū)動關(guān)門延時信號、超重檢測以及故障檢測。對上述電梯的運行情況進行匯總,可以得到如圖2的電梯運行狀態(tài)圖。反之,則是下降請求信號。而QuartusII 設(shè)計只是針對數(shù)字信號,并不支持模擬量的輸入。其中,修改邏輯設(shè)計能從根本上消除毛刺,但該方法要求使用者掌握電路的工作狀態(tài)及其轉(zhuǎn)換,有時需要多路輸出,使用起來有一定的復(fù)雜性。實體名類型);TYPE語句或常量定義端口說明(端口信號名1:構(gòu)造體(ARCHITECTUR):定義實體的實現(xiàn)。(五)靈活性:VHDL最初是作為一種仿真標(biāo)準格式出現(xiàn)的,有著豐富的仿真語句和庫函數(shù)。VHDL是一種設(shè)計、仿真和綜合的標(biāo)準硬件描述語言。例如在飛機制造過程中,從設(shè)計、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術(shù)。這些器件可以通過軟件編程而對其硬件結(jié)構(gòu)和工作方式進行重構(gòu),從而使得硬件的設(shè)計可以如同軟件設(shè)計那樣方便快捷。3設(shè)計的基礎(chǔ)依據(jù)現(xiàn)代電子設(shè)計技術(shù)的核心是EDA技術(shù)。EDA使得設(shè)計者的工作僅限于利用硬件描述語言和EDA軟件來完成對系統(tǒng)硬件功能的實現(xiàn)。所以在電梯的運行控制中,PLC的編程工作主要是針對各種信號進行邏輯判斷和處理。具有繼電器系統(tǒng)的直觀、易懂、易學(xué),應(yīng)用操作和調(diào)試方便等優(yōu)勢。因此,它逐漸被可靠性高、通用性強的可編程序控制器及微機控制系統(tǒng)所代替。如何更安全、更快捷地到達目的樓層,也就成為了人們對電梯的最為根本的要求。Design針對我國電梯業(yè)現(xiàn)狀,本設(shè)計以電子設(shè)計自動化(Electronic隨著我國城鎮(zhèn)化程度的加大,電梯市場越來越繁華,人們對電梯的要求越來越高。為了實現(xiàn)電梯的控制,過去大多是采用繼電器邏輯電路,這種邏輯控制方式具有原理簡單、直觀的特點,但通用性較差,對不同的樓層和不同的控制方式,其原理圖、接線圖等必須重新制作,且控制系統(tǒng)由許多繼電器觸點組成,接線復(fù)雜、故障率高。PLC將CPU、存儲器、I/O接口等做成一體,使用方便,擴展容易。由于電梯在運行過程中各種輸入信號是隨機出現(xiàn)的,即信號的出現(xiàn)具有不確定性,同時信號需要自鎖保持、互鎖保存、優(yōu)先級排隊、數(shù)據(jù)比較等,因此信號之間就存在復(fù)雜的邏輯關(guān)系。VHDL具有與具體硬件電路無關(guān)和設(shè)計平臺無關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語言易讀性和層次化結(jié)構(gòu)化設(shè)計方面,表現(xiàn)了強大的生命力和應(yīng)用潛力。綜上比較,本設(shè)計采用EDA技術(shù)實現(xiàn)對電梯的控制。在電子