版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 電梯控制器目錄 1緒論.11.1中國電梯的現(xiàn)狀及發(fā)展趨勢.11.2 EDA技術(shù)簡介.31.3 硬件描述語言(VHDL).42設(shè)計(jì)電梯控制器的目的與要求.52.1 設(shè)計(jì)目的.5 2.2 設(shè)計(jì)要求.53電梯控制器的綜合設(shè)計(jì).5 3.1 電梯控制器功能要求.5 3.2 電梯控制器設(shè)計(jì)方案.6 3.3 電梯控制器實(shí)體設(shè)計(jì).8 3.4 電梯控制器結(jié)構(gòu)體設(shè)計(jì).9 3.5 電梯控制器程序設(shè)計(jì)說明.10 4. 總結(jié).17 5. 參考文獻(xiàn).19附錄.201 緒論 隨著EDA技術(shù)發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大與深入,EDA技術(shù)在電子信息、通訊、自動控制及計(jì)算機(jī)應(yīng)用等領(lǐng)域的重要性突出。隨著技術(shù)市場與人才市場對EDA的需求不
2、斷提高,產(chǎn)品的市場需求和技術(shù)市場的要求也必然會反映到教學(xué)領(lǐng)域和科研領(lǐng)域中來。因此學(xué)好EDA技術(shù)對我們有很大的益處。 EDA功能強(qiáng)大,一臺計(jì)算機(jī)、一套EDA軟件和一片或幾片大規(guī)??删幊绦荆–PLD/FPGA或ispPAC),就能完成電子系統(tǒng)的設(shè)計(jì)。EDA技術(shù)涉及面廣,內(nèi)容豐富,但在教學(xué)和技術(shù)推廣層面上,應(yīng)用較為廣泛的是基于可編程器件的EDA技術(shù),它主要包括如下四大要素:1大規(guī)模可編程器件,它是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的載體; 2硬件描述語言,它是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的主要手段;3軟件開發(fā)工具,它是利用EDA技術(shù)進(jìn)行電子系統(tǒng)的智能化的自動化設(shè)計(jì)工具;4實(shí)驗(yàn)開發(fā)系統(tǒng),它是
3、利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的下載工具及硬件驗(yàn)證工具。 電梯行業(yè)也隨著科技的發(fā)展,不斷地出現(xiàn)在人們生活的各個場所,因此,對電梯控制器的設(shè)計(jì)是一個很實(shí)用的例子,對我們掌握EDA技術(shù)的應(yīng)用也有很大的幫助。 1.1中國電梯的現(xiàn)狀及發(fā)展趨勢 1.1.1中國電梯市場的現(xiàn)狀 近年來,隨著中國房地產(chǎn)業(yè)的快速發(fā)展,與之配套的電梯生產(chǎn)制造業(yè)也經(jīng)歷了迅猛發(fā)展的階段,電梯產(chǎn)量保持了每年20以上的增長速度。我國電梯的出口年均增長率將保持在35%以上,電梯行業(yè)逐步成為國內(nèi)比較重要的行業(yè)。 隨著我
4、國經(jīng)濟(jì)持續(xù)增長、城鎮(zhèn)化建設(shè)的加速和房地產(chǎn)行業(yè)的進(jìn)一步發(fā)展,對電梯的需求越來越大。估計(jì)未來50年中國新增住房面積將達(dá)到200億平方米。國家規(guī)定20米以上高樓就應(yīng)安裝電梯,因此未來電梯最大的市場就是住宅市場。此外,機(jī)場、商場、地鐵等大型公共設(shè)施建設(shè)對自動扶梯、觀光電梯等電梯的需求量也十分可觀。中國不但是全球最大的電梯市場,而且形成了全球最強(qiáng)的電梯生產(chǎn)能力,但由于缺乏自主的知識產(chǎn)權(quán)和核心技術(shù),產(chǎn)品的附加價值不高,利潤非常低。目前,全國注冊電梯企業(yè)約400家,但美國奧的斯、瑞士迅達(dá)、芬蘭通力、德國蒂森、日本三菱、日立、富士達(dá)、東芝等13家大型外企占據(jù)中國電梯市場75%左右的份額,而自主品牌只占25%左
5、右的市場份額。 電梯作為終端消費(fèi)品,品牌在市場競爭中的作用非常明顯。品牌往往成為人們在選擇電梯產(chǎn)品時的重要考慮因素,電梯生產(chǎn)要想建立良好的品牌并獲得市場的認(rèn)可,也必須經(jīng)過市場一定時間的不斷考驗(yàn)。面對外資巨頭的貼身進(jìn)逼,我國電梯品牌在服務(wù)和營銷上難以匹敵,其生存狀況不容樂觀。 1.1.2電梯的發(fā)展方向 電梯作為垂直方向的交通工具,在高層建筑和公共場所已經(jīng)成為重要的建筑設(shè)備而不可或缺。電梯產(chǎn)業(yè)的前景和走勢隨著社會的需求而悄然發(fā)生著改變,除了考慮安全、舒適、豪華裝修等要求外,市場對新一代的綠色電梯、節(jié)能電梯和智能電梯的需求越來越旺盛。國內(nèi)外電梯企業(yè)順
6、應(yīng)市場需要,加大研發(fā)投入,都準(zhǔn)備在未來新概念電梯產(chǎn)業(yè)發(fā)展中占得先機(jī)。 1電梯的節(jié)能和環(huán)保 “綠色”已成為21世紀(jì)的主流色調(diào),一個全球性的綠色市場為企業(yè)的發(fā)展提供了廣闊的空間,當(dāng)今社會誰先推出綠色產(chǎn)品,搶占綠色營銷市場,誰就能掌握競爭的主動權(quán)。有關(guān)人士預(yù)言,綠色環(huán)保電梯將成為今后電梯市場的主導(dǎo)性產(chǎn)品,誰擁有了它的核心技術(shù),誰就在競爭中獲得了優(yōu)勢。老式電梯噪音、占用空間、耗能等形成的危害積累起來是相當(dāng)大的,因此,在城市環(huán)保社區(qū)建設(shè)中,如何盡量減少電梯對環(huán)境的危害是相當(dāng)重要的課題之一。目前,我國市場每年銷售各種類型的電梯達(dá)4.5萬部,如果這些電梯全部實(shí)現(xiàn)環(huán)保化,其環(huán)境效益是難以
7、估量的。 電梯現(xiàn)在越來越多,在對賓館、寫字樓等的用電情況調(diào)查統(tǒng)計(jì)中,電梯用電量占總用電量的17%-25%以上,僅次于空調(diào)用電量,高于照明、供水等的用電量。負(fù)責(zé)任的開發(fā)商,都會為業(yè)主的長遠(yuǎn)利益著想,購買節(jié)能型的電梯。近年來,節(jié)能型電梯的市場越來越好,電梯制造商也越來越注重電梯的“節(jié)能”性能。在上世紀(jì)90年代,在電梯驅(qū)動上開始應(yīng)用變頻調(diào)壓調(diào)速系統(tǒng),能耗大幅度地降低。近幾年,又出現(xiàn)了永磁同步電機(jī)驅(qū)動的電梯,能耗又有大幅度的下降,有的電梯還能利用太陽能對機(jī)房的電能進(jìn)行補(bǔ)充。 2電梯的智能化 隨著城市化的高速發(fā)展,越來越多的摩天大樓拔地而起。就摩天大樓的高度而言,不僅受建
8、筑技術(shù)上的制約,而且還有電梯升高方面的困惑,因而,在摩天大樓日益完備智能化的趨勢中,電梯的智能化也不容忽視。它不僅是人們上上下下的代步工具,同時,也是摩天大樓智能化的一個重要標(biāo)志。盡管電梯在摩天大樓中只是個細(xì)節(jié),但電梯智能化程度的高低卻決定著它服務(wù)質(zhì)量的優(yōu)劣。因而,電梯的智能化在一定程度上反映出智能大廈的智能程度。計(jì)算機(jī)技術(shù),通訊技術(shù)與控制技術(shù)的發(fā)展使大廈的智能化成為現(xiàn)實(shí),而電梯是智能建筑中的重要交通工具,其技術(shù)發(fā)展及智能化程度也倍受世人關(guān)注。智能化的電梯要與智能大廈中所有自動化系統(tǒng)聯(lián)網(wǎng),如與樓宇控制系統(tǒng)、消防系統(tǒng)、保安監(jiān)控系統(tǒng)等交互聯(lián)系,使電梯成為高效優(yōu)質(zhì)、安全舒適的服務(wù)工具。1.2 EDA
9、技術(shù)簡介 EDA是電子設(shè)計(jì)自動化(Electronic Design Automation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來的。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。1.2 .1EDA技術(shù)的特點(diǎn)利用EDA技術(shù)進(jìn)行電子系統(tǒng)的設(shè)計(jì),具有以下幾個特點(diǎn): 用軟件的方式設(shè)計(jì)硬件; 用軟件方式設(shè)計(jì)的系統(tǒng)到硬件系統(tǒng)
10、的轉(zhuǎn)換是由有關(guān)的開發(fā)軟件自動完成的; 設(shè)計(jì)過程中可用有關(guān)軟件進(jìn)行各種仿真; 系統(tǒng)可現(xiàn)場編程,在線升級; 整個系統(tǒng)可集成在一個芯片上,體積小、功耗低、可靠性高。因此,EDA技術(shù)是現(xiàn)代電子設(shè)計(jì)的發(fā)展趨勢。1.2.2 EDA設(shè)計(jì)流程典型的EDA設(shè)計(jì)流程如下:1)文本/原理圖編輯與修改。首先利用EDA工具的文本或圖形編輯器將設(shè)計(jì)者的設(shè)計(jì)意圖用文本或圖形方式表達(dá)出來。 2)編譯。完成設(shè)計(jì)描述后即可通過編譯器進(jìn)行排錯編譯,變成特定的文本格式,為下一步的綜合做準(zhǔn)備。 3)綜合。將軟件設(shè)計(jì)與硬件的可實(shí)現(xiàn)性掛鉤,是將軟件轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。4)行為仿真和功能仿真。利用產(chǎn)生的網(wǎng)表文件進(jìn)行功能仿真,以便了解設(shè)
11、計(jì)描述與設(shè)計(jì)意圖的一致性。5)適配。利用FPGA/CPLD布局布線適配器將綜合后的網(wǎng)表文件針對某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優(yōu)化、布局布線。適配報(bào)告指明了芯片內(nèi)資源的分配與利用、引腳鎖定、設(shè)計(jì)的布爾方程描述情況。 6) 功能仿真和時序仿真。7)下載。如果以上的所有過程都沒有發(fā)現(xiàn)問題,就可以將適配器產(chǎn)生的下載文件通過FPGA/CPLD下載電纜載入目標(biāo)芯片中。8)硬件仿真與測試。1.3硬件描述語言(VHDL)VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)主要用于描
12、述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對一個設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本。1)用VHDL代碼而不是用原理圖進(jìn)行設(shè)計(jì),意味著整個電路板的模型及性能可用計(jì)算機(jī)模擬進(jìn)行驗(yàn)證。2)VHDL元件的設(shè)計(jì)與工藝無關(guān)
13、,與工藝獨(dú)立,方便工藝轉(zhuǎn)換。3)VHDL支持各種設(shè)計(jì)方法,自頂向下、自底向上或者混合的都可以。4)可以進(jìn)行從系統(tǒng)級到邏輯級的描述,即混合描述。5)VHDL區(qū)別于其他的HDL,其代碼在不同的系統(tǒng)中可交換建模。2設(shè)計(jì)電梯控制器的目的與要求2.1 設(shè)計(jì)目的 1) 在設(shè)計(jì)中理解EDA技術(shù)并掌握VHDL硬件描述語言的設(shè)計(jì)方法和思想。2) 通過學(xué)習(xí)的VHDL語言結(jié)合電子電路的設(shè)計(jì)知識理論聯(lián)系實(shí)際,掌握所學(xué)的課程知識和基本單元電路的綜合設(shè)計(jì)應(yīng)用。3) 通過對實(shí)用電梯控制系統(tǒng)的設(shè)計(jì),鞏固和綜合所學(xué)知識,提高設(shè)計(jì)能力,提高分析、解決計(jì)算機(jī)技術(shù)實(shí)際問題的獨(dú)立工作能力,并在設(shè)計(jì)中體會硬件編程的流程和思路,為以后工作
14、和發(fā)揮技術(shù)打下基礎(chǔ)。2.2設(shè)計(jì)要求電梯控制器是控制電梯按顧客要求自動上下的裝置。本文采用VHDL語言來設(shè)計(jì)實(shí)用四層電梯控制器,其代碼具有良好的可讀性和易理解性,源程序經(jīng)A1tera公司的quartus II軟件仿真。通過對四層電梯控制器的設(shè)計(jì),可以發(fā)現(xiàn)本設(shè)計(jì)有一定的擴(kuò)展性,而且可以作為更多層電梯控制器實(shí)現(xiàn)的基礎(chǔ)。3電梯控制器的綜合設(shè)計(jì) 3.1 電梯控制器功能要求在本課程設(shè)計(jì)中使用Altera公司的EP2C35系列的FPGA芯片,利用SOPC-NIOSII-EP2C35開發(fā)板的資源,實(shí)現(xiàn)全自動的電梯控制器:1)每層樓有上、下請求按鈕,電梯內(nèi)部有到達(dá)層數(shù)請求按鈕,有指示電梯
15、到達(dá)層數(shù)指示。2) 能記憶電梯內(nèi)外所有請求,并能依一定規(guī)則響應(yīng),響應(yīng)后自動消除請求電梯運(yùn)行規(guī)則:當(dāng)電梯上行時,只響應(yīng)比電梯高的層的請求,從下至上依次響應(yīng),如更高層有下行請求,則上升直最高層,電梯下行則反之。沒有請求則電梯自動停在第1層。3.2 電梯控制器設(shè)計(jì)方案 控制器的功能模塊如圖1所示,包括主控制器、分控制器、樓層選擇器、狀態(tài)顯示器、譯碼器和樓層顯示器。乘客在電梯中選擇所要到達(dá)的樓層,通過主控制器的處理,電梯開始運(yùn)行,狀態(tài)顯示器顯示電梯的運(yùn)行狀態(tài),電梯所在樓層數(shù)通過譯碼器譯碼從而在樓層顯示器中顯示。分控制器把有效的請求傳給主控制器進(jìn)行處理,同時顯示電梯的運(yùn)行狀態(tài)和電梯所在樓層數(shù)。由于分控制
16、器相對簡單很多,所以主控制器是核心部分。圖1 電梯控制器原理圖電梯控制器采用狀態(tài)機(jī)來實(shí)現(xiàn),思路比較清晰??梢詫㈦娞莸却拿棵腌娨约伴_門、關(guān)門都看成一個獨(dú)立的狀態(tài)。由于電梯又是每秒上升或下降一層,所以就可以通過一個統(tǒng)一的1秒為周期的時鐘來觸發(fā)狀態(tài)機(jī)。根據(jù)電梯的實(shí)際工作情況,可以把狀態(tài)機(jī)設(shè)置10個狀態(tài),分別是“電梯停留在第1層”、“開門”、“關(guān)門”、“開門等待第1秒”、“開門等待第2秒”、“開門等待第3秒”、“開門等待第4秒”、“上升”、“下降”和“停止?fàn)顟B(tài)”。各個狀態(tài)之間的轉(zhuǎn)換條件可由上面的設(shè)計(jì)要求所決定。外部按鍵請求信號寄存器狀態(tài)寄存器內(nèi)部軟件執(zhí)行機(jī)構(gòu)外部硬件執(zhí)行機(jī)構(gòu)圖2總流程圖總流程圖初始化
17、判定電梯運(yùn)行方向是否有請求?等待電梯運(yùn)行樓層檢測否電梯停止目標(biāo)層與本層是否同層?是是否目標(biāo)層?開門延時關(guān)門是否停止運(yùn)行?是否是否是否停止圖3 電梯控制主流程圖3.3電梯控制器實(shí)體設(shè)計(jì)首先考慮輸入端口,一個異步復(fù)位端口reset,用于在系統(tǒng)不正常時回到初始狀態(tài);在電梯外部,必須有升降請求端口,一層最低,不需要下降請求,四層是最高層。不需要有上升請求,二層與三層則上升,下降請求端口都有;在電梯內(nèi)部,應(yīng)該設(shè)有各層停留的請求端口;一個電梯時鐘輸入端口,該輸入時鐘以1秒為周期,用于驅(qū)動電梯的升降及開門關(guān)門等動作;另有一個是按鍵時鐘輸入端口,時鐘頻率比電梯時鐘高。 其次是輸出端口,有升降請求信號,就得有一
18、個輸出端口來指示請求是否被響應(yīng),有請求信號以后,該輸出端口輸出邏輯1,被響應(yīng)以后則恢復(fù)邏輯0;同樣,在電梯內(nèi)部也應(yīng)該有這樣的輸出端口來顯示各層停留是否被響應(yīng);在電梯外部,需要一個端口來指示電梯現(xiàn)在所處的位置;電梯開門關(guān)門的狀態(tài)也能用一個輸出端口來指示;為了觀察電梯的運(yùn)行是否正確,可以設(shè)置一個輸出端口來指示電梯的升降狀態(tài)。 時鐘clk請求信號顯示 控 制 模 塊樓層請求輸出顯示模塊請求信號輸入模式運(yùn)行狀態(tài)顯示提前關(guān)門所在樓層顯示關(guān)門中斷門控制信號清除報(bào)警圖4 電梯控制系統(tǒng)圖在端口的定義中定義position時選用的是整型數(shù)據(jù)類型(INTEGRER),主要是為了在電梯運(yùn)行是便于觀察。整型直接可以看
19、出電梯運(yùn)行是樓層的變化,在第一層就顯示1,第二層就顯示2,很直觀。當(dāng)然,position的定義也可以用標(biāo)準(zhǔn)邏輯矢量(STD_LOGIC_VECTOR)來定義,但是如果選用標(biāo)準(zhǔn)邏輯矢量,在電梯運(yùn)行時就不是那么好觀察。這里是四層的電梯控制器,那么只需定義一個兩位的就足夠顯示了?!?0”的時候?qū)?yīng)電梯的第一層,”11”的時候就對應(yīng)第四層。但是”11”的十進(jìn)制值為3,沒有和層次顯示的第四層想對應(yīng)起,所以就放棄選用標(biāo)準(zhǔn)邏輯矢量來定義position,而選用的整型。 3.4電梯控制器結(jié)構(gòu)體設(shè)計(jì) 首先說明一下狀態(tài)。狀態(tài)機(jī)設(shè)置了10個狀態(tài),分別是電梯停留在1層(stopon1)、開門(dooropen)、關(guān)門
20、(doorclose)、開門等待第1秒(doorwait1)、開門等待第2秒(doorwait2)、開門等待第3秒(doorwait3)、開門等待第4秒(doorwait4)、上升(up)、下降(down)和停止(stop)。在實(shí)體說明中定義完端口之后,在結(jié)構(gòu)體個之間需要有如下的定義語句,來定義狀態(tài)機(jī)。TYPE lift_state IS (stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3, doorwait4,up,down,stop) -電梯的10個狀態(tài) SIGNAL mylift:lift_state; -定義為lift類型
21、的信號mylift 在結(jié)構(gòu)體中,設(shè)計(jì)了兩個進(jìn)程互相配合,一個狀態(tài)機(jī)進(jìn)程作為主要進(jìn)程,另外一個是信號燈控制進(jìn)程作為輔助進(jìn)程。狀態(tài)機(jī)進(jìn)程中的很多判斷條件是以信號燈進(jìn)程產(chǎn)生的信號燈信號為依據(jù)的,而信號燈進(jìn)程中信號燈的熄滅又是有狀態(tài)機(jī)進(jìn)程中傳出clearup和cleardn信號來控制。 在狀態(tài)機(jī)進(jìn)程中,在電梯上升狀態(tài)中,通過對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)上升還是停止;在電梯下降狀態(tài)中,也是通過對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)下降還是是停止;在電梯停止?fàn)顟B(tài)中,判斷是最復(fù)雜的,通過對信號的判斷,決定電梯是上升、下降還是停止。 在信號燈控制進(jìn)程中,由于使用了專門的頻率較高的按鍵時鐘,所以使得按鍵的
22、靈敏度增大,但是時鐘頻率不能過高,否則容易使按鍵過于靈敏。按鍵后產(chǎn)生的點(diǎn)亮的信號燈(邏輯值為1)用于作為狀態(tài)機(jī)進(jìn)程中的判斷條件,而clearup和cleardn信號為邏輯1使得相應(yīng)的信號燈熄滅。表1 控制信號燈的譯碼電路說明Buttonclk按鍵時鐘Liftclk電梯時鐘Reset異步復(fù)位信號f1upbutton第一層上升請求f2upbutton第二層上升請求f3upbutton第三層上升請求f2dnbutton第二層下降請求f3dnbutton第三層下降請求f4dnbutton第四層下降請求Fuplight上升指示燈(1 到4)Fdnlight下降指示燈(1 到4)sto
23、p1button第一層到站請求stop2button第二層到站請求stop3button第三層到站請求stop4button第四層到站請求Stoplight停止指示燈(1 到4)Position電梯位置(1 到4)Doorlight門燈3.5電梯控制器程序設(shè)計(jì)說明3.5.1端口、寄存器設(shè)計(jì)說明(1)由功能要求得到本程序設(shè)計(jì)的端口必須包括:輸入端口:時鐘(clk,頻率為2Hz)超載(full)關(guān)門中斷(deng)提前關(guān)門(quick)清除報(bào)警(clr)電梯外的上升請求信號(c_u1,c_u2,c_u3)電梯外的下降請求信號(c_d2,c_d3,c_d4)電梯內(nèi)的請求信號(d1
24、,d2,d3,d4)到達(dá)樓層信號(g1,g2,g3,g4)。 輸出端口:電梯門控制信號(door)電梯所在樓層顯示(led)電梯外上升請求信號顯示(led_c_u)電梯外下降請求信號顯示(led_c_d)電梯內(nèi)請求信號顯示(led_d)看門狗報(bào)警信號(wahaha)電梯運(yùn)動方向顯示(ud)超載警告信號(alarm)電機(jī)控制信號(up,down)圖5 電梯控制器端口分布圖(2)程序要求的寄存器(中間信號)包括: 電梯內(nèi)請求信號寄存信號(d11,d22,d33,d44)電梯外上升請求信號寄存信號(c_u11,c_u22,c_u33)電梯外下降請求信號寄存信號(c_d22,c
25、_d33,c_d44)分頻信號(q)關(guān)門延時計(jì)數(shù)器(q1)看門狗計(jì)數(shù)器(q2)電梯內(nèi)外請求信號寄存器(dd,cc_u,cc_d,dd_cc)開門使能信號(opendoor)電梯運(yùn)動方向信號寄存器(updown)預(yù)備上升、預(yù)備下降預(yù)操作使能信號(en_up,en_dw)3.5.2模塊設(shè)計(jì)說明 本程序由三個基本模塊組成,包括調(diào)用VHDL庫模塊、實(shí)體設(shè)計(jì)模塊和結(jié)構(gòu)體設(shè)計(jì)模塊。而在結(jié)構(gòu)體模塊中又內(nèi)嵌有進(jìn)程執(zhí)行單元。 (1) 調(diào)用VHDL庫 使用library語句,本程序應(yīng)用了VHDL庫中的“通用ieee庫”和“標(biāo)準(zhǔn)std庫” 。library iee
26、e; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; (2) entity實(shí)體設(shè)計(jì)模塊 Entity zx is port ( clk : in std_logic;-時鐘信號(頻率為2Hz) full,deng,q
27、uick,clr : in std_logic; -超載、關(guān)門中斷、提前關(guān)門、清除報(bào)警信號c_u1,c_u2,c_u3: in std_logic; -電梯外的上升請求信號c_d2,c_d3,c_d4: in std_logic; -電梯外的下降請求信號d1,d2,d3,d4, : in std_logic;-電梯內(nèi)的請求信號g1,g2,g3,g4: in std_logic;-到達(dá)樓層信號 door :
28、;out std_logic_vector(1 downto 0);-電梯門控制信號 led : out std_logic_vector(4 downto 0);-電梯所在樓層顯示(數(shù)碼管顯示)led_c_u:out std_logic_vector(3 downto 0);-電梯外上升請求信號顯示 led_c_d:out std_logic_vector(3 downto 0);-電梯外下降請求信號顯示
29、160; led_d : out std_logic_vector(3 downto 0);-電梯內(nèi)請求信號顯示wahaha : out std_logic;-看門狗報(bào)警信號 ud,alarm : out std_logic;-電梯運(yùn)動方向顯示,超載警告信號up,down : out std_logic );-電機(jī)控制信號和電梯運(yùn)動end zx;
30、 (3)archi結(jié)構(gòu)體設(shè)計(jì)模塊和process進(jìn)程執(zhí)行單元 architecture behav of zx is signal d11,d22,d33,d44:std_logic; -電梯內(nèi)請求信號寄存信號 signal c_u11,c_u22,c_u33:std_logic;-電梯外上升請求信號寄存信號 signal c_d22,c_d33,c_d44:std_logic;-電梯外下降請求信號寄存信號 signal q:integer
31、range 0 to 1;-分頻信號 signal q1:integer range 0 to 4;-關(guān)門延時計(jì)數(shù)器 signal q2:integer range 0 to 9;-看門狗計(jì)數(shù)器 signal dd,cc_u,cc_d,dd_cc:std_logic vector(4 downto 0);-電梯請求信號寄存器 signal opendoor:
32、std_logic;-開門使能信號signal updown:std_logic;-電梯運(yùn)動方向信號寄存器 signal en_up,en_dw:std_logic;-預(yù)備上升、預(yù)備下降預(yù)操作使能信號 begin process(clk) begin (進(jìn)程語句具體看附錄) end behav; 3.5.3具體語句設(shè)計(jì)說明 上文已說明了構(gòu)成VHDL程序的兩大部分實(shí)體和結(jié)構(gòu)體的相關(guān)語句。在這些語句里,賦值語句占了相當(dāng)一部分。在VHDL語言里,賦值符號一般都是“<=”
33、;符號,具體形式如下: begin if clk'event and clk='1' then if clr='1' then q1<=0;q2<=0;wahaha<='0' elsif full='1' then alarm<='1' q1<=0; if q1>=3
34、0;then door<="10" else door<="00" end if; VHDL語言也具有與一般編程語言相同的一些語句邏輯結(jié)構(gòu),如上述中的“ifthenelsifthen;”等。這是VHDL中的順序語句,與我們常見的C語言中的if作為條件語句不同。在結(jié)構(gòu)體中對電梯的運(yùn)行行為作出描述
35、,以其中電梯處于二樓時為例。 elsif g2='1' then led<="0010010" -電梯到達(dá)2樓,數(shù)碼管顯示2 if updown='1' then -電梯前一運(yùn)動狀態(tài)為上升 if d22='1' or c_u22='1' then d22<='0' c_u22&
36、lt;='0' opendoor<='1' -有當(dāng)前層請求,電梯進(jìn)入開門狀態(tài) elsif dd_cc>"00000011" then en_up<='1'en_dw<='0' opendoor<='0' -有上升請求,電梯預(yù)備上升
37、 elsif dd_cc<"00000010" then en_dw<='1'en_up<='0' opendoor<='0'-有下降請求,電梯預(yù)備下降 end if; -電梯前一運(yùn)動狀態(tài)為下降
38、 elsif d22='1' or c_d22='1' then d22<='0' c_d22<='0'opendoor<='1' -有當(dāng)前層請求,電梯進(jìn)入開門狀態(tài) e
39、lsif dd_cc<"00000010" then en_dw<='1'en_up<='0' opendoor<='0' -有下降請求,電梯預(yù)備下降elsif dd_cc>"00000011" then en_up<='1'en_dw<='0' opendoor<='0' -有上升請求
40、,電梯預(yù)備上升end if; 在上述語句中的“elsif g2=1then led<=“0010010;”,led的賦值之所以為“0010010”是根據(jù)共陽極七段數(shù)字顯示器的發(fā)光段排列的,如圖所示。圖6 七段數(shù)字顯示器 可發(fā)光段a、b、c、e、g形成一個2字。在進(jìn)程執(zhí)行單元里,對電梯在樓層時的操作情況作出了描述,例如:開門、關(guān)門延時、超載報(bào)警、故障報(bào)警以及電梯內(nèi)的請求信號處理,具體說明給出如下: process(clk) begin if clk'event and
41、clk='1' 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" &
42、#160; else door<="00" end if;
43、160; elsif q=1 then q<=0;alarm<='0' if q2=3 then wahaha<='1'&
44、#160; -故障報(bào)警 else if opendoor='1' then door<="10"q1<=0;q2<=0;up<='0'down<='0'-開門操作
45、; elsif en_up='1' then -上升預(yù)操作 if deng='1' then door<="10"q1<=0;q2<=q2+1;-關(guān)門中斷 elsif
46、0;quick='1' then q1<=3;-提前關(guān)門 elsif q1=6 then door<="00"updown<='1'up<='1' -關(guān)門完畢,電梯進(jìn)入上升狀態(tài) elsif q1>=3 then door<="01"q1<
47、=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<=0;q2<=q2+1;elsif quick='1' then q1<=3;elsif
48、60;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;else
49、60; q<=1;alarm<='0' -清除超載報(bào)警 if d1='1' then d11<=d1; -對電梯內(nèi)請求信號進(jìn)行檢測和寄存elsif d2='1' then d22<=d2; elsif d3='1' then d33<=d3; elsif d4='
50、1' then d44<=d4; end if;if c_u1='1' then c_u11<=c_u1; -對電梯外上升請求信號進(jìn)行檢測和寄存elsif c_u2='1' then c_u22<=c_u2;elsif c_u3='1' then c_u33<=c_u3; end if;
51、; if c_d2='1' then c_d22<=c_d2; -對電梯外下降請求信號進(jìn)行檢測和寄存elsif c_d3='1' then c_d33<=c_d3; elsif c_d4='1' then c_d44<=c_d4; end if; dd<=
52、 d44&d33&d22&d11; -電梯內(nèi)請求信號并置 cc_u<='0' &c_u33&c_u22&c_u11; -電梯外上升請求信號并置 cc_d<= c_d44&c_d33&c_d22&'
53、0' -電梯外下降請求信號并置 dd_cc<=dd or cc_u or cc_d; -電梯內(nèi)、外請求信號進(jìn)行綜合 end if; ud<=updown; -電梯運(yùn)動狀態(tài)顯示
54、160; led_d<=dd; -電梯內(nèi)請求信號顯示 led_c_u<=cc_u; -電梯外上升請求信號顯示 led_c_d<=cc_d; -電梯外下降請求信號顯示 end if; 4總結(jié)4.1設(shè)計(jì)總結(jié)VHDL語言既具有高級編程語言的優(yōu)點(diǎn),又有并行執(zhí)行
55、的特性,使設(shè)計(jì)者脫離了底層電梯,而在更高的層次上考慮電路的各種時序和邏輯關(guān)系。這樣設(shè)計(jì)者可以采用自頂向下的設(shè)計(jì)方法和并行工作的設(shè)計(jì)原則。用VHDL硬件描述語言的形式來進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì)方便靈活,利用EDA軟件進(jìn)行編譯優(yōu)化仿真極大的減少了電路設(shè)計(jì)時間和可能發(fā)生的錯誤,降低了開發(fā)成本,這種設(shè)計(jì)方法必將在將來的數(shù)字系統(tǒng)設(shè)計(jì)中發(fā)揮越來越重要的作用。(1) 在進(jìn)行設(shè)計(jì)時,最主要的是先設(shè)計(jì)理清時序。在單個實(shí)現(xiàn)各個模塊功能時比較簡單。但將各個功能模塊綜合在一起后就需要理清他們的時序才能夠共用數(shù)據(jù)總線,使其互不干擾地工作。(2) 設(shè)計(jì)完成后要在模板上仿真,來驗(yàn)證所編程序的正確性和可行性。在仿真的時候會出現(xiàn)比較
56、多的問題,如果能夠耐心的解決會受益良多。(3) 有的程序可能在仿真時時序是完全正確的,而將程序下載到板子上之后卻發(fā)現(xiàn)不對。這主要是由于各個功能實(shí)現(xiàn)會有延時,這在仿真時是反映不出來的。因此編程時要注意在選中某個片子之前,要先將計(jì)算出的數(shù)據(jù)信號先放到數(shù)據(jù)總線上。(4) 要仔細(xì)研究仿真時所獲得的波形圖,確定所做的設(shè)計(jì)穩(wěn)定又實(shí)用。在此次設(shè)計(jì)中,我掌握了一些使用VHDL語言編程的基本方法。在設(shè)計(jì)的過程中我深深地體會到VHDL語言所具有的強(qiáng)大生命力和應(yīng)用潛力,它必將成為數(shù)字系統(tǒng)設(shè)計(jì)中的一種重要工具。4.2設(shè)計(jì)心得與體會在做本次課程設(shè)計(jì)之前,我從沒有注意過每天都看到的、習(xí)以為常的電梯,當(dāng)我知道自己的設(shè)計(jì)任務(wù)
57、是做電梯控制器時,我開始關(guān)注它,并思考它的構(gòu)造。 動手設(shè)計(jì)之前我到圖書館、上網(wǎng)查閱了與電梯控制器相關(guān)的資料,對其構(gòu)造有了初步的了解,腦海中也有了大體思路,于是便迫不及待的開始了自己的設(shè)計(jì)。本以為電梯控制器是一個很簡單的數(shù)字電子系統(tǒng),自己可以很容易地完成任務(wù),但在實(shí)際操作中還是遇到了一些障礙。雖然最終的電梯控制器滿足了課設(shè)要求但是由于我的水平有限,電路并不是最合理最完善的電路,其中存在許多需要改進(jìn)的地方。為時兩周的EDA課程設(shè)計(jì)雖然短暫卻使我受益匪淺:進(jìn)一步熟悉 Quartus II軟件的操作方法以及硬件實(shí)現(xiàn)時的下載方法與運(yùn)行方法,很好的彌補(bǔ)了我們平時只學(xué)不用的缺陷;對VHDL語言的自頂向下設(shè)計(jì)
58、方法有了進(jìn)一步的認(rèn)識,對其中的許多語句也有了新的理解和掌握;提高了我們的邏輯思維能力,使我們在邏輯電路的分析與設(shè)計(jì)上有了很大的進(jìn)步,加深了我們對組合邏輯電路與時序邏輯電路的認(rèn)識。另外,我們還更加充分的認(rèn)識到,EDA應(yīng)用技術(shù)這門課程在科學(xué)發(fā)展中的至關(guān)重要性。查閱參考書的獨(dú)立思考的能力以及培養(yǎng)也同樣重要,我們在設(shè)計(jì)電路時,遇到很多不理解的東西,有的我們通過查閱參考書弄明白,有的通過網(wǎng)絡(luò)查到,但由于時間和資料有限我們更多的還是獨(dú)立思考。理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考
59、的能力。 這次課程設(shè)計(jì)能夠如期完成也離不開老師與同學(xué)的幫助。在考慮這個課題時,我們組的成員都能積極思想,提出意見。在程序編譯出錯時,是感覺最無奈的時候,每個錯誤都需要很耐心的查找,有時錯誤太多就會頭腦發(fā)麻,找同學(xué)們幫忙時他們都會很耐心的幫我查找錯誤,老師也會給出好的建議。同時,我們也需要自己多多思考,現(xiàn)在查閱資料的渠道有很多,我們需要充分利用資源,這樣才能充實(shí)自己的知識。非常感謝老師能在我們做課程設(shè)計(jì)的途中一直陪著我們,為我們講解難題,在日后的學(xué)習(xí)中,我們一定會更加努力。5參考文獻(xiàn)1 SOPCIIEDA實(shí)驗(yàn)指導(dǎo)書(第二版)2 SOPCII使用手冊(第二版)3 4EDA技術(shù)基礎(chǔ). 譚會生編著.
60、湖南大學(xué)出版社,20045EDA技術(shù)實(shí)用教程(第三版),潘松、黃繼業(yè)編著 ,科學(xué)出版社 ,2010附錄 電梯控制器VHDL總程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity zx isport(clk:in std_logic; full,deng,quick,clr:in&
61、#160;std_logic; c_u1,c_u2,c_u3:in std_logic; c_d2,c_d3,c_d4:in std_logic; d1,d2,d3,d4:in std_logic; g1,g2,g3,g4:in s
62、td_logic; door:out std_logic_vector(1 downto 0); led:out std_logic_vector(6 downto 0); led_c_u:out std_logic_vector(3 downto 0);
63、0; led_c_d:out std_logic_vector(3 downto 0); led_d:out std_logic_vector(3 downto 0); wahaha:out std_logic; ud,alarm:out std_logic; up
64、,down:out std_logic);end zx;architecture behave of zx issignal d11,d22,d33,d44:std_logic;signal c_u11,c_u22,c_u33:std_logic;signal c_d22,c_d33,c_d44:std_logic;signal q:integer range 0 to 1;signal q1:integer range 0&
65、#160;to 6;signal q2:integer range 0 to 9;signal dd,cc_u,cc_d,dd_cc:std_logic_vector(3 downto 0);signal opendoor:std_logic;signal updown:std_logic;signal en_up,en_dw:std_logic;begincom:process(clk)beginif(clk'event and clk='
66、;1')thenif (clr='1')then q1<=0;q2<=0;wahaha<='0'elsif full='1'then alarm<='1'q<=0;if (q1>=3)then door<="10" else door<="00"
67、60; end if; elsif q=1 then q<=0;alarm<='0' if q2=3 then wahaha<='1' else
68、0; if(opendoor='1')then door<="10" q1<=0;q2<=0;up<='0'down<='0' elsif
69、 en_up='1'then if(deng='1')then door<="10"q1<=0;q2<=q2+1; elsif quick='1' then
70、;q1<=3; elsif q1=6 then door<="00"updown<='1'up<='1' elsif q1>=3 then door&
71、lt;="01"q1<=q1+1; else q1<=q1+1;door<="00" end if; elsif en_d
72、w='1'then if(deng='1')then door<="10"q1<=0;q2<=q2+1; elsif quick='1' then q1<=3;
73、 elsif q1=6 then door<="00"updown<='0'down<='1' elsif q1>=3 then door<="01"q1<=q1+1;
74、160; else q1<=q1+1;door<="00" end if; end if; if(g1='1')then led<="1001111"
75、0; if d11='1'or c_u11='1'then d11<='0'c_u11<='0'opendoor<='1' elsif dd_cc>"0001"then en_up<='1'opendoor<=
76、'0' elsif dd_cc="0000"then opendoor<='0' end if; elsif g2='1' then led<
77、="0010010" if updown='1'then if d22='1'or c_u22='1'then d22<='0'c_u22<='0'opendoor<='1'
78、160; elsif dd_cc>"0011"then en_up<='1'opendoor<='0' elsif dd_cc<"0010"then en_dw<='1'opendoor<='
79、0' end if; elsif d22='1'or c_d22 ='1'then d22<='0'c_d22<='0'opendoor<='1' &
80、#160; elsif dd_cc>"0011"then en_up<='1'opendoor<='0' elsif dd_cc<"0010"then en_dw<='1'opendoor<='0'
81、; end if; elsif g3='1' then led<="0000110" if updown='1'then
82、60; if d33='1'or c_u33 ='1'then d33<='0'c_u33<='0'opendoor<='1' elsif dd_cc>"0111"then en_up<='1'
83、opendoor<='0' elsif dd_cc<"0100"then en_dw<='1'opendoor<='0' end if;
84、; elsif d33='1'or c_d33='1'then d33<='0'c_d33<='0'opendoor<='1' elsif dd_cc>"0111"then en_up<='1'opendoor<='0'
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年采購合同:電子產(chǎn)品批量采購及技術(shù)支持
- 2024版特種物品運(yùn)輸協(xié)議3篇
- 2024年版企業(yè)租車服務(wù)協(xié)議規(guī)范化文件版B版
- 2024慶陽房屋租賃及租后維護(hù)服務(wù)合同3篇
- 2024年私募股權(quán)投資基金投融資合作協(xié)議3篇
- 2024年美甲行業(yè)勞動合同樣本
- 2024年度藝術(shù)品寄賣代理委托協(xié)議(含投資咨詢)3篇
- 2024年版建筑總承包協(xié)議解除條款明細(xì)一
- 2024年綿陽地區(qū)標(biāo)準(zhǔn)房屋租賃協(xié)議格式版B版
- 2025年度智能家居產(chǎn)品形象拍攝合作協(xié)議3篇
- 2024年甘肅省職業(yè)院校技能大賽養(yǎng)老照護(hù)(中職學(xué)生組)賽項(xiàng)樣題1
- 圓圈正義讀書分享課件
- 安平縣2024年小升初必考題數(shù)學(xué)檢測卷含解析
- 人教版數(shù)學(xué)二年級下冊全冊核心素養(yǎng)目標(biāo)教學(xué)設(shè)計(jì)
- 人教版PEP小學(xué)英語三年級下冊單詞表(帶音標(biāo))
- 康美藥業(yè)財(cái)務(wù)分析案例
- 《無人機(jī)駕駛航空試驗(yàn)基地(試驗(yàn)區(qū))基礎(chǔ)設(shè)施使用、管理規(guī)范(征求意見稿)》
- 寵物醫(yī)療行業(yè)人力資源管理戰(zhàn)略研究
- 《了凡四訓(xùn)》略說教學(xué)課件
- 項(xiàng)目15-1 蛋黃中免疫球蛋白的提取
- 電子招標(biāo)投標(biāo)交易平臺試題附有答案
評論
0/150
提交評論