版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄第1章 緒論2第2章 電梯控制器的設(shè)計(jì)要求與設(shè)計(jì)思路4 2.1 設(shè)計(jì)要求4 2.2 總體設(shè)計(jì)思路4 2.3 具體設(shè)計(jì)思路5第3章 電梯控制器的綜合設(shè)計(jì)6 3.1 電梯控制器功能6 3.2 電梯控制器設(shè)計(jì)6 3.3 電梯控制器實(shí)體設(shè)計(jì)8 3.4 電梯控制器結(jié)構(gòu)體設(shè)計(jì)9 3.5 電梯控制器仿真波形10 3.6 硬件實(shí)現(xiàn)14小結(jié)16參考文獻(xiàn)16謝辭17附錄18第1章 緒論20世紀(jì)90年代,國(guó)際上電子和計(jì)算機(jī)技術(shù)較先進(jìn)的國(guó)家,一直在積極探索新的電子電路設(shè)計(jì)方法,并在設(shè)計(jì)方法、工具等方面進(jìn)行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計(jì)領(lǐng)域,可編程邏輯器件(如cpld、fpga)的應(yīng)用,已得到廣泛的普
2、及,這些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來(lái)了極大的靈活性。這些器件可以通過(guò)軟件編程而對(duì)其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過(guò)程和設(shè)計(jì)觀念,促進(jìn)了eda技術(shù)的迅速發(fā)展。 eda是電子設(shè)計(jì)自動(dòng)化(electronic design automation)的縮寫(xiě),在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(cad)、計(jì)算機(jī)輔助制造(cam)、計(jì)算機(jī)輔助測(cè)試(cat)和計(jì)算機(jī)輔助工程(cae)的概念發(fā)展而來(lái)的。eda技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在eda軟件平臺(tái)上,用硬件描述語(yǔ)言hdl完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、
3、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。eda技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可*性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。 這些器件可以通過(guò)軟件編程而對(duì)其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過(guò)程和設(shè)計(jì)觀念,促進(jìn)了eda技術(shù)的迅速發(fā)展。eda技術(shù)在進(jìn)入21世紀(jì)后,得到了更大的發(fā)展,突出表現(xiàn)在以下幾個(gè)方面:(1)使電子設(shè)計(jì)成果以自主知識(shí)產(chǎn)權(quán)的方式得以明確表達(dá)和確認(rèn)成為可能;(2)在仿真和設(shè)計(jì)兩方面支持標(biāo)準(zhǔn)硬件描述語(yǔ)言的功能強(qiáng)大的eda軟件不斷推出。(3)電子
4、技術(shù)全方位納入eda領(lǐng)域;(4)eda使得電子領(lǐng)域各學(xué)科的界限更加模糊,更加互為包容;(5)更大規(guī)模的fpga和cpld器件的不斷推出;(6)基于eda工具的asic設(shè)計(jì)標(biāo)準(zhǔn)單元已涵蓋大規(guī)模電子系統(tǒng)及ip核模塊;(7)軟硬件ip核在電子行業(yè)的產(chǎn)業(yè)領(lǐng)域、技術(shù)領(lǐng)域和設(shè)計(jì)應(yīng)用領(lǐng)域得到進(jìn)一步確認(rèn);(8)soc高效低成本設(shè)計(jì)技術(shù)的成熟。硬件描述語(yǔ)言是eda技術(shù)的重要組成部分,vhdl是作為電子設(shè)計(jì)主流硬件的描述語(yǔ)言。vhdl語(yǔ)言具有很強(qiáng)的電路描述和建模能力,能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行建模和描述,從而大大簡(jiǎn)化了硬件設(shè)計(jì)任務(wù),提高了設(shè)計(jì)效率和可靠性。用vhdl進(jìn)行電子系統(tǒng)設(shè)計(jì)的一個(gè)很大的優(yōu)點(diǎn)是設(shè)計(jì)者可以專(zhuān)心
5、致力于其功能的實(shí)現(xiàn),而不需要對(duì)不影響功能的與工藝有關(guān)的因素花費(fèi)過(guò)多的時(shí)間和精力。利用vhdl設(shè)計(jì)狀態(tài)機(jī),不需要進(jìn)行繁瑣的狀態(tài)分配、繪制狀態(tài)表和化簡(jiǎn)次態(tài)方程。設(shè)計(jì)者不必使用卡諾圖進(jìn)行邏輯化簡(jiǎn),不必畫(huà)電路原理圖,也不必搭試硬件電路進(jìn)行邏輯功能的測(cè)試,所有這些工作都可以通過(guò)eda工具自動(dòng)完成。應(yīng)用vhdl設(shè)計(jì)狀態(tài)機(jī)的具體步驟如下:(1)根據(jù)系統(tǒng)要求確定狀態(tài)數(shù)量、狀態(tài)轉(zhuǎn)移的條件和各狀態(tài)輸出信號(hào)的賦值,并畫(huà)出狀態(tài)轉(zhuǎn)移圖;(2)按照狀態(tài)轉(zhuǎn)移圖編寫(xiě)狀態(tài)機(jī)的vhdl設(shè)計(jì)程序;(3)利用eda工具對(duì)狀態(tài)機(jī)的功能進(jìn)行仿真驗(yàn)證。第2章 電梯控制器的設(shè)計(jì)要求與設(shè)計(jì)思路2.1 設(shè)計(jì)要求三層電梯控制器的功能電梯控制器是控
6、制電梯按顧客要求自動(dòng)上下的裝置。設(shè)計(jì)要求如下:(1)每層電梯入口處設(shè)有上下請(qǐng)求開(kāi)關(guān),電梯內(nèi)設(shè)有顧客到達(dá)層次的停站請(qǐng)求開(kāi)關(guān)。(2)設(shè)有電梯入口處位置指示裝置及電梯運(yùn)行模式(上升或下降)指示裝置。(3)電梯每秒升(降)一層樓(4)電梯到達(dá)有停站請(qǐng)求的樓層,經(jīng)過(guò)1秒電梯門(mén)打開(kāi),開(kāi)門(mén)指示燈亮,開(kāi)門(mén)4秒后,電梯門(mén)關(guān)閉(開(kāi)門(mén)指示燈滅),電梯繼續(xù)進(jìn)行,直至執(zhí)行完最后一個(gè)請(qǐng)求信號(hào)后停留在當(dāng)前層。(5)能記憶電梯內(nèi)外所有請(qǐng)求,并按照電梯運(yùn)行規(guī)則按順序響應(yīng),每個(gè)請(qǐng)求信號(hào)保留至執(zhí)行后消除。(6)電梯運(yùn)行規(guī)則當(dāng)電梯處于上升模式時(shí),只響應(yīng)比電梯所在位置高的上樓請(qǐng)求信號(hào),由下而上逐個(gè)執(zhí)行,直到最后一個(gè)上樓請(qǐng)求執(zhí)行完畢;如
7、果高層有下樓請(qǐng)求,則直接升到有下樓請(qǐng)求的最高樓層,然后進(jìn)入下降模式。當(dāng)電梯處于下降模式時(shí)則與上升模式相反,只響應(yīng)比電梯所在位置低的下樓請(qǐng)求信號(hào),由下而下逐個(gè)執(zhí)行,直到最后一個(gè)下樓請(qǐng)求執(zhí)行完畢;如果低層有上樓請(qǐng)求,則直接降到有上樓請(qǐng)求的最低樓層,然后進(jìn)入上升模式。(7)電梯初始狀態(tài)為一層開(kāi)門(mén)狀態(tài)2.2 總體設(shè)計(jì)思路實(shí)驗(yàn)?zāi)M生活中電梯運(yùn)動(dòng)控制,電梯總共三層,最簡(jiǎn)單的控制思想如下:(1)采集用戶呼叫樓層,并放入相應(yīng)的記憶單元中。(2)不考慮電梯轎廂所在樓層。若有用戶呼叫,電梯上行直到達(dá)到用戶呼叫最大層,再下行直到到達(dá)最低層,由此構(gòu)成一次行程。(3)每完成一次行程,檢測(cè)是否所用用戶呼叫均已響應(yīng)完畢。如
8、果沒(méi)有,電梯繼續(xù)運(yùn)行,直到響應(yīng)完所有用戶呼叫。否則,電梯停止運(yùn)行。其中用戶請(qǐng)求包括外部請(qǐng)求和內(nèi)部請(qǐng)求。有外部升降請(qǐng)求信號(hào)需點(diǎn)亮相應(yīng)的外部請(qǐng)求指示燈,內(nèi)部升降請(qǐng)求信號(hào)同外呼。(4)根據(jù)電梯所在樓層,七段數(shù)碼管顯示樓層數(shù)。(5)根據(jù)用戶運(yùn)行方向,點(diǎn)亮相應(yīng)升降指示燈。(6)當(dāng)電梯運(yùn)行到有相應(yīng)外部呼叫或內(nèi)部呼叫樓層時(shí),電梯停止運(yùn)行,滅掉相應(yīng)的呼叫顯示燈,電梯開(kāi)關(guān)門(mén)后,繼續(xù)運(yùn)行。2.3 具體設(shè)計(jì)思路電梯控制可以通過(guò)多種方法進(jìn)行設(shè)計(jì),其中采用狀態(tài)機(jī)來(lái)實(shí)現(xiàn),思路比較清晰。可以將電梯等待的每秒鐘以及開(kāi)門(mén),關(guān)門(mén)都看成一個(gè)獨(dú)立的狀態(tài)。由于電梯又是每秒上升或下降一層,所以就可以通過(guò)一個(gè)統(tǒng)一的一秒為周期的時(shí)鐘來(lái)觸發(fā)狀
9、態(tài)機(jī)。根據(jù)電梯的實(shí)際工作情況,可以把狀態(tài)機(jī)設(shè)置10個(gè)狀態(tài),分別是“電梯停留在1層”,“開(kāi)門(mén)”,“關(guān)門(mén)”,“開(kāi)門(mén)等待第一秒”,“開(kāi)門(mén)等待第二秒”,“開(kāi)門(mén)等待第三秒”,“開(kāi)門(mén)等待第四秒”,“上升”,“下降”和“停止”狀態(tài)。各個(gè)狀態(tài)之間的轉(zhuǎn)換條件可以由上面的設(shè)計(jì)要求所決定。第3章 電梯控制器的綜合設(shè)計(jì)3.1 電梯控制器功能本電梯控制器分為主控制器和分控制器。主控制器是電梯內(nèi)部的控制器,每個(gè)樓層有一個(gè)分控制器。主控制器的功能:(1)完成3個(gè)樓層多用戶的載客服務(wù)控制。(2)電梯運(yùn)行時(shí)顯示電梯的運(yùn)行方向和所在的樓層。(3)當(dāng)電梯到達(dá)選擇的樓層時(shí),電梯自動(dòng)開(kāi)門(mén)。(4)具有提前關(guān)電梯門(mén)和延時(shí)關(guān)電梯門(mén)的功能。(
10、5)響應(yīng)分控制器的有效請(qǐng)求,如果到達(dá)有請(qǐng)求的樓層,電梯自動(dòng)開(kāi)門(mén)。分控制器的功能:(1)顯示電梯的運(yùn)行狀態(tài)和所在的樓層。(2)顯示乘客的上升和下降請(qǐng)求。分控制器的有效請(qǐng)求原則:(1)電梯處于等待狀態(tài)時(shí),上升和下降請(qǐng)求都響應(yīng)。(2)電梯處于上升狀態(tài)時(shí),有上升請(qǐng)求的分控制器所在樓層數(shù)大于電梯所在的樓層數(shù)。(3)電梯處于下降狀態(tài)時(shí),有下降請(qǐng)求的分控制器所在樓層數(shù)小于電梯所在的樓層數(shù)。3.2 電梯控制器設(shè)計(jì)控制器的功能模塊如圖3.2.1所示,包括主控制器、分控制器、樓層選擇器、狀態(tài)顯示器、譯碼器和樓層顯示器。乘客在電梯中選擇所要到達(dá)的樓層,通過(guò)主控制器的處理,電梯開(kāi)始運(yùn)行,狀態(tài)顯示器顯示電梯的運(yùn)行狀態(tài),
11、電梯所在的樓層數(shù)通過(guò)譯碼器譯碼從而在樓層顯示器中顯示。分控制器把有效的請(qǐng)求傳給主控的樓層數(shù)。由于分控制器相對(duì)簡(jiǎn)單很多,所以主控制器是核心部分。狀態(tài)顯示器主控制器分控制器譯碼器電梯位置顯示器樓層選擇器圖3.2.1 控制器的功能模塊圖電梯控制電路輸入部分: 外部請(qǐng)求,內(nèi)部請(qǐng)求。 輸出部分: 外部請(qǐng)求顯示、內(nèi)部請(qǐng)求顯示、樓層數(shù)碼顯示、電梯升降顯示、電梯升降控制、電梯開(kāi)關(guān)門(mén)顯示、電梯開(kāi)關(guān)門(mén)控制nyynnynn到達(dá)第三層(開(kāi)門(mén)、關(guān)門(mén))開(kāi)始到達(dá)第一層(開(kāi)門(mén)、關(guān)門(mén))上樓請(qǐng)求?第二層請(qǐng)求?到達(dá)第二層(開(kāi)門(mén)、關(guān)門(mén))上樓請(qǐng)求?下樓請(qǐng)求?第二層請(qǐng)求?下樓請(qǐng)求?yn控制器程序框圖3.3電梯控制器實(shí)體設(shè)計(jì)首先考慮輸入端
12、口,一個(gè)異步復(fù)位端口reset,用于在系統(tǒng)不正常時(shí)回到初始狀態(tài);在電梯外部,必須有升降請(qǐng)求端口,一層是最底層,不需要有下降請(qǐng)求,三層是最高層,不需要有上升請(qǐng)求,二層則上升,下降請(qǐng)求端口都有;在電梯內(nèi)部,應(yīng)該設(shè)有各層停留的請(qǐng)求端口;個(gè)電梯時(shí)鐘輸入端口,該時(shí)鐘輸入以1秒為周期,用于驅(qū)動(dòng)電梯的升降以及開(kāi)門(mén)關(guān)門(mén)等動(dòng)作;另有一個(gè)按鍵時(shí)鐘輸入端口,時(shí)鐘頻率比電梯時(shí)鐘頻率高。buttonclk:in std_logic; -按鍵時(shí)鐘liftclk:in std_logic; -電梯時(shí)鐘reset:in std_logic; -異步復(fù)位按鈕f1upbutton:in std_logic; -第一層上升請(qǐng)求按鈕
13、f2upbutton:in std_logic; -第二層上升請(qǐng)求按鈕f2dnbutton:in std_logic; -第二層下降請(qǐng)求按鈕f3dnbutton:in std_logic; -第三層下降請(qǐng)求按鈕stop1button,stop2button, stop3button:in std_logic; -電梯內(nèi)部各層請(qǐng)求按鈕其次是輸出端口,有升降請(qǐng)求信號(hào)以后,就得有一個(gè)輸出端口來(lái)指示請(qǐng)求是否被響應(yīng),有請(qǐng)求信號(hào)以后,該輸出端口輸出邏輯1,被響應(yīng)以后則恢復(fù)邏輯0;同樣,在電梯內(nèi)部也應(yīng)該有這樣的輸出端口來(lái)顯示各層停留是否被響應(yīng);在電梯外部,需要一個(gè)端口來(lái)指示電梯現(xiàn)在所處的位置;電梯開(kāi)門(mén)關(guān)門(mén)的
14、狀態(tài)也能用一個(gè)輸出端口來(lái)指示;為了觀察電梯的運(yùn)行是否正確,可以設(shè)置一個(gè)輸出端口來(lái)指示電梯的升降狀態(tài)。fuplight:buffer std_logic_vector(3 downto 1); -電梯外部上升請(qǐng)求指示燈fdnlight:buffer std_logic_vector(3 downto 1); -電梯外部下降請(qǐng)求指示燈stoplight:buffer std_logic_vector(3 downto 1); -電梯內(nèi)部各層請(qǐng)求指示燈position:buffer integer range 1 to 3; -電梯位置指示dout1:out std_logic_vector(3 d
15、ownto 0); -電梯位置譯碼顯示doorlight:out std_logic; -電梯門(mén)開(kāi)關(guān)指示燈udsig:buffer std_logic; -電梯升降指示電梯控制器電路圖3.4電梯控制器結(jié)構(gòu)體設(shè)計(jì)首先說(shuō)明一下?tīng)顟B(tài)。狀態(tài)機(jī)設(shè)置了10個(gè)狀態(tài),分別是電梯停留在1層(stopon1),開(kāi)門(mén)(dooropen)關(guān)門(mén)(doorclose),開(kāi)門(mén)等待第1秒(doorwait1),開(kāi)門(mén)等待第2秒(doorwait2),開(kāi)門(mén)等待第三秒(doorwait3),開(kāi)門(mén)等待第四秒(doorwait4),上升(up),下降(down)和停止(stop)。在實(shí)體說(shuō)明中定義完端口之后,在結(jié)構(gòu)體architect
16、ure和begin之間需要有如下的定義語(yǔ)句來(lái)定義狀態(tài)機(jī)。type lift_state is(stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop); -電梯的10個(gè)狀態(tài)signal mylift:lift_state; -定義為life類(lèi)型的信號(hào)mylift結(jié)構(gòu)體分為3個(gè)進(jìn)程,分別完成寄存器的置位復(fù)位、電梯運(yùn)行狀態(tài)判斷、時(shí)序電路及電梯運(yùn)行樓層變化。在結(jié)構(gòu)體進(jìn)程中,在電梯上升狀態(tài)中,通過(guò)對(duì)信號(hào)燈的判斷,決定下一個(gè)狀態(tài)是繼續(xù)上升還是停止;在電梯下降狀態(tài)中,也是通過(guò)對(duì)信號(hào)燈的判斷,決定下一個(gè)狀
17、態(tài)是繼續(xù)下降還是停止;在電梯停止?fàn)顟B(tài)中,判斷是最復(fù)雜的,通過(guò)對(duì)信號(hào)的判斷,決定電梯是上升,下降還是停止。在信號(hào)燈控制進(jìn)程中,由于使用了專(zhuān)門(mén)的頻率較高的按鍵時(shí)鐘,所以使得按鍵的靈敏度增大,但是時(shí)鐘頻率不能過(guò)高,否則容易使按鍵過(guò)于靈敏。按鍵后產(chǎn)生的點(diǎn)亮的信號(hào)燈(邏輯值為1)用于作為狀態(tài)機(jī)進(jìn)程中的判斷條件,而clearup和cleardn信號(hào)為邏輯1使得相應(yīng)的信號(hào)燈熄滅。3.5 電梯控制器仿真波形首先做一些符合實(shí)際情況的假設(shè),就是有外部上升請(qǐng)求的乘客,進(jìn)入電梯以后一定是按高層的內(nèi)部停站按鈕,有外部下降請(qǐng)求的乘客,進(jìn)入電梯以后一定是按低層的內(nèi)部停站按鈕。而乘客進(jìn)入電梯以后必定要按按鍵。在同一時(shí)刻有多人
18、按鍵的概率很小,所以按鍵一定有先后順序。這些假設(shè)都是符合實(shí)際情況的。圖3.5.1所示仿真的是在第二層電梯外有上升請(qǐng)求,也就是f2upbutton產(chǎn)生一個(gè)脈沖,可以看到電梯從一層上升到二層,position信號(hào)由1變到2,doorlight信號(hào)邏輯1表示開(kāi)門(mén),0表示關(guān)門(mén)。當(dāng)乘客進(jìn)入電梯以后,在電梯內(nèi)部要求上升到第三層,也就是stop3button產(chǎn)生一個(gè)脈沖,電梯上升到第三層,開(kāi)門(mén)4秒以后關(guān)門(mén),停留在3層,position最后的值為3。在仿真圖中,看不到buttonclk,只顯示為一條黑色的線,是因?yàn)椴捎昧祟l率較高的時(shí)鐘。圖3.5.1fuplight信號(hào)燈,當(dāng)二層有上升請(qǐng)求的時(shí)候,它的值由0變到
19、2(注意,fuplight和fdnlight是3位的二進(jìn)制向量,這里的2代表“010”,表示二層有請(qǐng)求;“100”也就是4,表示三層有請(qǐng)求)。當(dāng)電梯停留到二層以后,表明該請(qǐng)求被響應(yīng),所以它的值變?yōu)?。由于沒(méi)有下降請(qǐng)求信號(hào),所以fdnlight信號(hào)燈的值一直都為零。圖3.5.2是有下降請(qǐng)求的情況,它是圖3.5.1的繼續(xù),當(dāng)電梯停留在第三層的時(shí)候,在電梯外第二層有下降請(qǐng)求,這時(shí)候fdnlight信號(hào)燈由0變到2,說(shuō)明第二層有下降請(qǐng)求。電梯下降到第二層,響應(yīng)了下降請(qǐng)求,所以fdnlight信號(hào)燈清零。這時(shí)候,在電梯內(nèi)部沒(méi)有停留在哪一層的請(qǐng)求,所以電梯就停留在第二層,position信號(hào)的值保持在2。
20、圖3.5.2同時(shí)有上升和下降請(qǐng)求信號(hào)時(shí),電梯的運(yùn)行情況如圖3.5.3所示。圖3.5.3圖3.5.3仿真的情況是,原先電梯停留在一層,這時(shí)候電梯外第三層有下降請(qǐng)求,電梯上升到三層,乘客進(jìn)入電梯以后要求下降到一層。與此同時(shí),在電梯外第二層有上升請(qǐng)求,電梯首先要響應(yīng)下降請(qǐng)求然后再響應(yīng)這個(gè)上升請(qǐng)求,所以電梯得先下降到一層,然后再上升到第二層來(lái),這是符合常理的。從仿真波形看,電梯的位置變化和想象是一致的。電梯的運(yùn)行完全正確。最后乘客在電梯內(nèi)部要求上升到三層,所以電梯最后停留的位置為三層。在圖3.5.4的仿真中,原先電梯停留在一層,電梯外第三層有下降請(qǐng)求,電梯上升到三層,乘客進(jìn)入電梯以后要求下降到一層。此
21、時(shí),二樓有下降請(qǐng)求,接著又有上升請(qǐng)求,電梯首先在二層停留,然后下降到一層。隨后要響應(yīng)二層上升請(qǐng)求,上升到二層,乘客進(jìn)入電梯以后要求上升到三層,所以最后電梯停留的位置是三層。圖3.5.4在同步電路中,一般情況下,“毛刺”不會(huì)產(chǎn)生重大影響。因?yàn)椤懊獭眱H發(fā)生在時(shí)鐘有效邊沿之后的一小段時(shí)間內(nèi),只要在下一個(gè)時(shí)鐘有效邊沿到來(lái)之前“毛刺”消失即中。但是,由于狀態(tài)機(jī)的輸出信號(hào)都是作為其它功能模塊的控制信號(hào),如果這些控制信號(hào)作為異步控制、三態(tài)使能控制或時(shí)鐘信號(hào)來(lái)使用,則將會(huì)使受模塊發(fā)生誤動(dòng)作,造成系統(tǒng)工作混亂。因此,在這種情況下必須保證狀態(tài)機(jī)的輸出沒(méi)有“毛刺”。消除狀態(tài)機(jī)輸出信號(hào)的“毛刺”有以下三種方案:(1
22、)在狀態(tài)機(jī)輸出信號(hào)較少的情況下,直接把狀態(tài)作為輸出信號(hào);(2)對(duì)于順序遷移的狀態(tài)機(jī),選擇雷格碼作為狀態(tài)編碼;(3)在moore型或mealy型狀態(tài)機(jī)基礎(chǔ)上,用時(shí)鐘同步輸出信號(hào)。若要安全消除狀態(tài)機(jī)的“毛刺”,則應(yīng)采用第三種方案。這時(shí),設(shè)計(jì)程序要作相應(yīng)改變,狀態(tài)的轉(zhuǎn)移和輸出信號(hào)的賦值要寫(xiě)在同一步時(shí)鐘進(jìn)程中。綜上,采用vhdl設(shè)計(jì)狀態(tài)機(jī),能夠大大降低設(shè)計(jì)難度。使用雙進(jìn)程描述編寫(xiě)vhdl設(shè)計(jì)程序,可以清楚地在一個(gè)進(jìn)程中確定狀態(tài)的轉(zhuǎn)移和對(duì)輸出的賦值,而且具有易于建立、理解和維護(hù)的優(yōu)點(diǎn)。特別針對(duì)大型或具有大量狀態(tài)轉(zhuǎn)移和輸出信號(hào)的狀態(tài)機(jī)設(shè)計(jì),將會(huì)更加顯示出它的優(yōu)勢(shì)。對(duì)于狀態(tài)機(jī)輸出信號(hào)所產(chǎn)生的 “毛刺”,可以
23、按照系統(tǒng)的要求,根據(jù)不同的情況采用相應(yīng)的設(shè)計(jì)方案予以消除。3.6 硬件實(shí)現(xiàn)首先根據(jù)電梯控制器的設(shè)計(jì)要求選擇模式5進(jìn)行編程下載,之后依照目標(biāo)器件引腳名和引腳號(hào)對(duì)照表進(jìn)行引腳鎖定,具體鎖定情況如下表,然后再編譯一次將引腳信息導(dǎo)入,選擇編程器,準(zhǔn)備將設(shè)計(jì)好的三層電梯控制器文件下載到目器件ep1k144-3中去,在編程窗打開(kāi)的情況下選擇下載方式設(shè)置,byteblastermv,然后向ef1k30下載配置文件,當(dāng)編程窗顯示configuration complete時(shí)說(shuō)明下載已經(jīng)成功。實(shí)驗(yàn)板位置信號(hào)目標(biāo)器件引腳名ep1k30tc144引腳號(hào)1、時(shí)鐘buttonclkclock5562、發(fā)光管2doorl
24、ightpio9213、數(shù)碼譯碼器8dout103pio44pio4791、92、95、964、發(fā)光管8fuplight1pio15295、發(fā)光管7fuplight2pio14286、發(fā)光管6fuplight3pio13277、鍵8f1upbuttonpio7198、鍵7f2upbuttonpio6189、鍵6f2dnbuttonpio51710、鍵5f3dnbuttonpio41311、時(shí)鐘liftclkclock012612、發(fā)光管5position1pio122613、發(fā)光管4position0pio112314、鍵1resetpio20815、鍵4stop3buttonpio31216
25、、鍵3stop2buttonpio21017、鍵2stop1buttonpio1918、發(fā)光管1udsigpio820下面以一例來(lái)簡(jiǎn)要說(shuō)明一下,原先電梯停留在一層,這時(shí)候電梯外第三層有下降到二層的請(qǐng)求,由于初始態(tài)是電梯停留在一層,則按鍵2,觀察到升降指示d1燈滅,說(shuō)明電梯處于上升狀態(tài),數(shù)碼譯碼器8顯示由1變?yōu)?再變?yōu)?,說(shuō)明了電梯位置的改變,之后d2亮,電梯門(mén)開(kāi),按鍵3,等待,關(guān)門(mén),d2滅,d1亮,電梯處于下降狀態(tài),譯碼器8的顯示由3變?yōu)?表示電梯已由三層降到二層,d2亮,若無(wú)其他按鍵,則電梯停留在二層,數(shù)碼顯示2不變。小結(jié)我這篇課設(shè)基于vhdl語(yǔ)言設(shè)計(jì)的三層電梯控制器,并進(jìn)行了電路綜合和仿真
26、以及硬件實(shí)現(xiàn)。該控制器提供3個(gè)樓層多用戶的載客服務(wù)并指示電梯的運(yùn)行情況。用vhdl硬件描述語(yǔ)言的形式來(lái)進(jìn)行三層電梯控制器的設(shè)計(jì)方便靈活,利用eda軟件進(jìn)行編譯優(yōu)化仿真極大的減少了電路設(shè)計(jì)時(shí)間和可能發(fā)生的錯(cuò)誤,降低了開(kāi)發(fā)成本,相信這種設(shè)計(jì)方法將在未來(lái)的數(shù)字系統(tǒng)設(shè)計(jì)中發(fā)揮越來(lái)越重要的作用。通過(guò)此次的課程設(shè)計(jì),我學(xué)到了很多知識(shí),跨越了傳統(tǒng)方式下的教與學(xué)的體制束縛,在論文的寫(xiě)作過(guò)程中,通過(guò)查資料和搜集有關(guān)的文獻(xiàn),培養(yǎng)了自學(xué)能力和動(dòng)手能力。并且由原先的被動(dòng)的接受知識(shí)轉(zhuǎn)換為主動(dòng)的尋求知識(shí),這可以說(shuō)是學(xué)習(xí)方法上的一個(gè)很大的突破。在以往的傳統(tǒng)的學(xué)習(xí)模式下,可能會(huì)記住很多的書(shū)本知識(shí),但是通過(guò)課程設(shè)計(jì),我學(xué)會(huì)了如
27、何將學(xué)到的知識(shí)轉(zhuǎn)化為自己的東西,學(xué)會(huì)了怎么更好的處理知識(shí)和實(shí)踐相結(jié)合的問(wèn)題。不過(guò),一個(gè)星期的課設(shè)實(shí)在很快,我發(fā)現(xiàn)還有很多課上的知識(shí)在實(shí)際應(yīng)用中十分不熟練,這說(shuō)明我還有很多東西要學(xué)。我會(huì)在以后的學(xué)習(xí)生活中更加完善的。參考文獻(xiàn)1. 潘松 黃繼業(yè) eda技術(shù)實(shí)用教程 科學(xué)出版社 20052. 徐志軍 許光輝 cpld/fpga的開(kāi)發(fā)與應(yīng)用 電子工業(yè)出版社 2001.13. 朱正偉 eda技術(shù)及應(yīng)用 清華大學(xué)出版社 2005.104. 王振紅 vhdl數(shù)字電路設(shè)計(jì)與應(yīng)用實(shí)踐教程 機(jī)械工業(yè)出版社 2003.65. 付家才 eda原理與應(yīng)用化學(xué)工業(yè)出版社 2001.56. http:/www.edacn.
28、net/html/85/t-113885.html謝辭非常感謝同學(xué)們的幫助。通過(guò)這幾天的努力和學(xué)習(xí),我得到了很好的鍛煉,提高了動(dòng)手能力和實(shí)踐能力,并把我們這學(xué)期的所學(xué)的理論知識(shí)和實(shí)踐很好的結(jié)合起來(lái),達(dá)到了融會(huì)貫通的學(xué)習(xí)目的,使得我們不僅學(xué)會(huì)了學(xué)習(xí)基本理論的方法,而且教會(huì)我們?cè)鯓影鸦A(chǔ)知識(shí)和實(shí)際結(jié)合起來(lái),確實(shí)達(dá)到了提高和創(chuàng)新的目的。在這里特別要感謝朱老師對(duì)我悉心的指導(dǎo),還有我同寢室的兄弟們的幫助,使我順利完成本次課設(shè)!附錄源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_l
29、ogic_unsigned.all;entity threeflift is port(buttonclk:in std_logic;liftclk:in std_logic;reset:in std_logic;dout1:out std_logic_vector(3 downto 0);f1upbutton:in std_logic;f2upbutton:in std_logic;f2dnbutton:in std_logic;f3dnbutton:in std_logic; fuplight:buffer std_logic_vector(3 downto 1); fdnlight:bu
30、ffer std_logic_vector(3 downto 1); stop1button,stop2button, stop3button:in std_logic;stoplight:buffer std_logic_vector(3 downto 1);position:buffer integer range 1 to 3;doorlight:out std_logic;udsig:buffer std_logic);end threeflift;architecture a of threeflift istype lift_state is(stopon1,dooropen,do
31、orclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop);signal mylift:lift_state;signal clearup:std_logic;signal cleardn:std_logic;begin ctrlift:process(reset,liftclk)variable pos:integer range 3 downto 1;begin if reset=1 thenmylift=stopon1;clearup=0;cleardndoorlight=1;position=1;pos:=1;mylift
32、mylift clearup=0;cleardn=0;myliftmyliftmyliftdoorlight=0;if udsig=0 thenif position=3 then if stoplight=000and fuplight=000and fdnlight=000 then udsig=1; mylift =doorclose; elsifstoplight(2)=1or(stoplight(2)=0andfdnlight(2)=1)then udsig =1; mylift =doorclose; elsif stoplight(2)=1or(stoplight(2)=0and
33、 fuplight(2)=1)then udsig=0; mylift=up; else udsig=1;mylift=down; end if; elsif position=2 thenif stoplight=000and fuplight=000and fdnlight=000thenudsig=0;mylift=doorclose;elsifstoplight(3)=1or (stoplight(3)=0 and fdnlight(3)=1)thenudsig=0;mylift=up;else udsig=1;mylift=down;end if;elsif position=1 t
34、henif stoplight=000 and fuplight=000 and fdnlight=000thenudsig=0;mylift=doorclose;else udsig=0; mylift=up;end if;end if;elsif udsig=1 thenif position =1 thenif stoplight=000 and fuplight=000 and fdnlight=000 thenudsig=0;mylift=doorclose;else udsig=0;mylift=up;end if;elsif position=2 thenifstoplight=
35、000 and fuplight=000 and fdnlight=000 thenudsig=1;mylift=doorclose;elsif stoplight(1)=1or (stoplight(1)=0 and fdnlight(1)=1)thenudsig=1;mylift=down;else udsig=0;mylift=up;end if;elsif position=3 thenif stoplight=000 and fuplight=000 and fdnlight=000 thenudsig=1;mylift=doorclose;else udsig=1;mylift position=position+1; pos:=pos+1; if pos3 snd(stoplight(pos)=1or fdnlight(pos)=1) then mylift=stop; elsif pos=3and(stoplight(pos)=1orfdnlight(pos)=1)then mylift=stop; else mylift position1 snd(stoplight(pos)=1or
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程對(duì)賭協(xié)議書(shū)
- 建筑輔材合同范本
- 自愿購(gòu)書(shū)協(xié)議書(shū)
- 小賣(mài)鋪合同協(xié)議
- 征收林地協(xié)議書(shū)
- 裝修財(cái)產(chǎn)協(xié)議書(shū)
- 我國(guó)京都協(xié)議書(shū)
- 裝修勞動(dòng)協(xié)議書(shū)
- 蝦池承包協(xié)議書(shū)
- 裝修管道協(xié)議書(shū)
- MT/T 1218-2024煤礦動(dòng)壓巷道水力壓裂切頂卸壓施工技術(shù)規(guī)范
- 中醫(yī)推拿知識(shí)培訓(xùn)課件
- 河道水管搶修方案(3篇)
- 沃柑種植合同協(xié)議書(shū)
- 河南省許昌市2024-2025學(xué)年八年級(jí)上學(xué)期數(shù)學(xué)期末測(cè)評(píng)卷(含答案與解析)
- 2024-2025學(xué)年四川省成都市高一上學(xué)期期末教學(xué)質(zhì)量監(jiān)測(cè)英語(yǔ)試題(解析版)
- 人生中的轉(zhuǎn)折點(diǎn)主題班會(huì)
- 陳景潤(rùn)數(shù)學(xué)家人物介紹
- 【浙教版】一年級(jí)上冊(cè)《勞動(dòng)》《水培植物我養(yǎng)護(hù)》
- 2024秋期國(guó)家開(kāi)放大學(xué)本科《國(guó)際經(jīng)濟(jì)法》一平臺(tái)在線形考(形考任務(wù)1至4)試題及答案
- 醫(yī)學(xué)倫理學(xué)(山東中醫(yī)藥大學(xué))智慧樹(shù)知到答案2024年山東中醫(yī)藥大學(xué)
評(píng)論
0/150
提交評(píng)論