版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于FPGA的電梯控制器的研究設(shè)計(jì)目錄TOC\o"1-3"\h\u9947摘要 Ⅰ25904第一章緒論 1215041.1研究背景 192481.2設(shè)計(jì)思想與方案論證 1221801.3EDA概述 2236921.4EDA功能 3129721.5FPGA 3307701.6FPGA功能 345131.7本文主要內(nèi)容 4574第二章設(shè)計(jì)特點(diǎn)和要求 5186502.1電梯控制器的任務(wù)和要求 5322862.2電梯控制器的設(shè)計(jì)思路 529952.3電梯控制器系統(tǒng)配置和模塊設(shè)計(jì) 6165792.3.1系統(tǒng)配置 657222.3.2模塊設(shè)計(jì) 6196332.4模塊設(shè)計(jì)程序的硬件分析 710302.4.1總電路圖 740692.4.2電梯核心控制子模塊 865542.4.3電梯模擬子模塊 8312622.4.4樓層號(hào)顯示子模塊 9203302.4.5按鈕清零控制子模塊 918342.4.6時(shí)鐘分頻模塊 1093262.4.7附加模塊 1031944第三章軟件設(shè)計(jì) 11108093.1電梯核心控制子模塊的功能 11270273.2電梯模擬子模塊的功能 15212313.3樓層號(hào)顯示子模塊的功能 摘要電梯現(xiàn)在成為了現(xiàn)代化社會(huì)不可缺少的運(yùn)載工具。電梯是隱藏的資源消耗者。起動(dòng)或制動(dòng)時(shí)的負(fù)載經(jīng)常變化,并且運(yùn)動(dòng)方向保持著持續(xù)變化。電梯控制系統(tǒng)需要在各種負(fù)載下進(jìn)行適當(dāng)調(diào)整,以確保安全可靠的電梯運(yùn)行和乘客舒適度。速度性能電梯控制系統(tǒng)為電梯提供動(dòng)力,以控制電梯的啟動(dòng)加速度,穩(wěn)定的速度運(yùn)行和制動(dòng)減速度。使用FPGA組裝件的主動(dòng)型的控制芯片和模塊化研發(fā)方法,采用Verilog的硬件描述語(yǔ)言對(duì)電梯控制器的每個(gè)功能區(qū)域進(jìn)行精準(zhǔn)編程,用來實(shí)現(xiàn)四層電梯控制器的準(zhǔn)確設(shè)計(jì)。然后使用軟件仿真和硬件來完成,最終表示這個(gè)方案基本符合設(shè)計(jì)要求,可以拓展到多樓層的電梯,是十分實(shí)用的。關(guān)鍵詞:FPGA;Verilog;控制器第一章緒論1.1研究背景目前在人口稠密的地區(qū),勞動(dòng)力的極度短缺和土地資源匱乏之間的沖突變得越來越嚴(yán)重。目的是使用合理利用土地的方法來解決人地矛盾。建造摩天大樓是有效的措施之一。隨著時(shí)間的流逝,出現(xiàn)了一部電梯,電梯能夠快速,輕松地到達(dá)目的地。在一些國(guó)家和地區(qū),每個(gè)人使用電梯數(shù)量超過每10,000人30臺(tái),在其他部分國(guó)家里,電梯的使用數(shù)量可能已經(jīng)超過每10,000人120臺(tái)。城市化程度越高,電梯的市場(chǎng)前景就越廣闊。當(dāng)前,每年的增長(zhǎng)率為15-18%。因?yàn)楝F(xiàn)在使用電梯的地方越來越多,人們對(duì)電梯運(yùn)輸?shù)姆奖愕男枨笤絹碓礁摺k娞莸淖钪饕奶攸c(diǎn)就是安全和快速地抵達(dá)所想要到達(dá)的樓層。因此,研發(fā)控制器已經(jīng)作為了電梯的設(shè)計(jì)領(lǐng)域里的關(guān)鍵性技術(shù)。伴隨如今電子技術(shù)的高水平快速發(fā)展,科技化時(shí)代的電子信息科技產(chǎn)品現(xiàn)在幾乎影響到了社會(huì)的每個(gè)領(lǐng)域之中,十分有效地促進(jìn)了世界生產(chǎn)力的快速發(fā)展,提升了世界的計(jì)算機(jī)化程度。與此同時(shí),我們也優(yōu)化了現(xiàn)代化電子產(chǎn)品,還加速了電子設(shè)計(jì)的開發(fā)、技術(shù)升級(jí)和技術(shù)的不斷創(chuàng)新的過程。對(duì)于這些廣闊的電梯市場(chǎng)前景,所謂的"科技至關(guān)重要的生產(chǎn)力"電子設(shè)計(jì)技術(shù)自然會(huì)超過電梯技術(shù)的標(biāo)準(zhǔn),這對(duì)設(shè)計(jì)師而言是至關(guān)重要的絕佳的設(shè)計(jì)空間。所以,這個(gè)設(shè)計(jì)需要在綜合電子化設(shè)計(jì)技術(shù)的前提條件之下設(shè)計(jì)安全高效的電梯控制系統(tǒng)。1.2設(shè)計(jì)思想與方案論證方案一:基于FPGA的電梯控制器研發(fā)程序使用Altera公司開發(fā)的QuartusII集成化的研發(fā)環(huán)境,采取自上而下的模塊化設(shè)計(jì)方法,有利于程序的優(yōu)化和升級(jí),設(shè)計(jì)語(yǔ)言使用語(yǔ)法十分嚴(yán)謹(jǐn)且廣泛的Verilog語(yǔ)言。在關(guān)鍵組裝器件的選擇中,因?yàn)橄氲紺yclo-neII系列芯片要比一代芯片在設(shè)計(jì)和研究上、內(nèi)部的邏輯關(guān)系上都具有較大的優(yōu)化,而且價(jià)格方面也能被多數(shù)用戶們所接受。方案二:基于嵌入式的電梯控制器使用將電梯核心控制器為主要控制器的嵌入式軟件發(fā)開平臺(tái)來編譯Linux電梯核心控制器的每個(gè)獨(dú)立的功能模塊的驅(qū)動(dòng)程序,為符合控制器的功能的基本要求,研發(fā)電梯控制器的數(shù)據(jù)流圖,在這個(gè)條件上對(duì)電梯控制器的功能進(jìn)行結(jié)構(gòu)改造,還使用Linux的編程方法來研發(fā)完成控制器的基礎(chǔ)邏輯控制功能。最終,搭建虛擬檢驗(yàn)平臺(tái),對(duì)電梯控制器的硬件和軟件的功能進(jìn)行模擬測(cè)試。方案三:基于蟻群算法的電梯群控制器的研發(fā)設(shè)計(jì)使用DSP芯片通過CAN總線協(xié)議與現(xiàn)場(chǎng)數(shù)據(jù)收集的信息通訊來研發(fā)電梯群控制器的一部分硬件系統(tǒng)。使用VisualBasic6.0語(yǔ)言進(jìn)行電梯系統(tǒng)的監(jiān)控界面的編譯,在與群控制器采用的傳輸速度更快的USB通訊技術(shù),這樣通過信息的交互,電梯的監(jiān)管人員能夠?qū)崟r(shí)地觀察電梯運(yùn)行情況??偨Y(jié),如果用基于FPGA的方法來進(jìn)行設(shè)計(jì)和優(yōu)化電梯控制器,不僅優(yōu)化了電路的設(shè)計(jì)和提升控制器的抗干擾能力,而且具有節(jié)能的功能,降低了功耗,擁有廣闊的發(fā)展前景。1.3EDA概述在1990年代,因電子及計(jì)算機(jī)技術(shù)領(lǐng)域方面十分成功,所以世界的許多國(guó)家紛紛尋找新的電子電路的設(shè)計(jì)方法,并且徹底地改變了這些設(shè)計(jì)方法和工具。只有硬件設(shè)計(jì)和軟件設(shè)計(jì)才是方便、快捷的。這些器件可通過運(yùn)用軟件編程的方法來重新配置這些硬件的構(gòu)造和結(jié)構(gòu)。所以,這些都已經(jīng)完全地更改了普通的系統(tǒng)開發(fā)方法和概念,促進(jìn)了EDA核心技術(shù)的飛速提升。EDA技術(shù)使用計(jì)算機(jī)作為工具。研發(fā)人員運(yùn)用HDL硬件的描述語(yǔ)言把研發(fā)信息儲(chǔ)存于EDA軟件平臺(tái)里。之后,計(jì)算機(jī)會(huì)自行地進(jìn)行邏輯編譯,優(yōu)化,區(qū)分,綜合,布置,連線及仿真,持續(xù)到完成相關(guān)的編譯和邏輯過程。因?yàn)镋DA技術(shù)的發(fā)明,設(shè)計(jì)電路所花費(fèi)的時(shí)間和可操作程度得到極大的優(yōu)化,研發(fā)人員們的工作強(qiáng)度得到適當(dāng)降低。電子研發(fā)人員運(yùn)用EDA工具依靠相關(guān)理念,規(guī)則,協(xié)議等來研發(fā)相關(guān)的電子系統(tǒng),并且使用計(jì)算機(jī)來達(dá)目的,包含完全的電路設(shè)計(jì)和功能檢驗(yàn)過程?,F(xiàn)在,EDA概念或類別已被廣泛使用。EDA用于各種領(lǐng)域,例如機(jī)械,電子,電信,航空,化學(xué)工業(yè),礦物學(xué),生物學(xué),醫(yī)學(xué)和軍事。如今,EDA技術(shù)已廣泛用于大型公司,企業(yè),機(jī)構(gòu),科學(xué)研究和教育部門。1.4EDA功能(1)為了優(yōu)化自上而下的設(shè)計(jì)技術(shù),最新的EDA工具可以對(duì)系統(tǒng)進(jìn)行優(yōu)化和改良,來有效的減短設(shè)計(jì)時(shí)所花費(fèi)的時(shí)間周期并且提高在設(shè)計(jì)時(shí)候的效率。(2)運(yùn)用硬件描述語(yǔ)言來實(shí)施設(shè)計(jì)。運(yùn)用硬件編程語(yǔ)言搭建電路和系統(tǒng)是目前EDA技術(shù)的一種功能。和目前使用的電路設(shè)計(jì)技術(shù)相比,HDL語(yǔ)言十分適合于搭建較大的數(shù)字系統(tǒng)。這使設(shè)計(jì)人員可以在相對(duì)抽象的級(jí)別上解釋系統(tǒng)的結(jié)構(gòu)和邏輯。使用HDL語(yǔ)言設(shè)計(jì)的主要優(yōu)點(diǎn)是語(yǔ)言的開放性和易用性,獨(dú)立的設(shè)計(jì)和過程,廣泛的寫入功能,易于配置,重用,大型系統(tǒng)的通信和設(shè)計(jì),以及保存和修改。目前全球世界使用最廣的硬件描述語(yǔ)言為IEEEVHDL標(biāo)準(zhǔn)及VerilogHDL。(3)對(duì)于標(biāo)準(zhǔn)化最新的EDA工具一般會(huì)采取標(biāo)準(zhǔn)化的框架結(jié)構(gòu)。EDA系統(tǒng)可以容納第三方EDA工具和設(shè)備,以進(jìn)行符合標(biāo)準(zhǔn)的設(shè)計(jì)工作,從而構(gòu)建開放的框架結(jié)構(gòu)。這樣,可以完成多種EDA工具的結(jié)構(gòu)優(yōu)化,將其集成于一種可以編輯管理的環(huán)境中,并可以進(jìn)行相關(guān)的資源共享。1.5FPGA使用目前的硬件編程語(yǔ)言來搭建的電路設(shè)計(jì)能在FPGA上以較快的速度生成,還擁有簡(jiǎn)化的綜合和檢驗(yàn)功能,這是現(xiàn)代化電路驗(yàn)證技術(shù)的趨勢(shì)。這些可編輯組件可用于實(shí)現(xiàn)更復(fù)雜的組合功能,例如某些基本邏輯門電路(AND,OR,XOR,NOT等)或解碼器和表達(dá)式。在大部分的FPGA里,這一些可進(jìn)行編輯的組件也包含了存儲(chǔ)組件,例如觸發(fā)器和其他更完整的存儲(chǔ)塊。系統(tǒng)研發(fā)人員可依據(jù)需要通過可修改的連接(例如,芯片電路板放置)來連接FPGA邏輯模塊。研發(fā)人員可以通過編輯FPGA邏輯模塊和工廠端口的連接,來使FPGA可以完成所需的邏輯功能。FPGA一般情況下相比ASIC較慢,可以完成十分繁瑣的設(shè)計(jì),并且不會(huì)損失掉過多的功率。但是,快速完成產(chǎn)品具有許多優(yōu)勢(shì),例如修復(fù)程序錯(cuò)誤和降低成本。制造商還會(huì)供應(yīng)十分便宜的FPGA,而其編輯能力不足。由于這些芯片的可編輯性較低,因此這一些設(shè)計(jì)的研發(fā)早于現(xiàn)有FPGA上使用的下一個(gè)ASIC型芯片。另一種方法是運(yùn)用CPLD。1.6FPGA功能(1)通過使用FPGA設(shè)計(jì)ASIC(專用集成電路),即使用戶不制造芯片,也可以獲得合適的芯片。(2)FPGA可使用在完全定制或半定制ASIC電路的樣本。(3)FPGA擁有較多的觸發(fā)器和I/O引腳。(4)FPGA是ASIC電路里研發(fā)時(shí)間、費(fèi)用、風(fēng)險(xiǎn)程度最低的器件之一。(5)FPGA采用高速CHMOS技術(shù)和低功耗來支持CMOS和TTL電平。FPGA芯片是用來使較少的系統(tǒng)提升系統(tǒng)集成度和穩(wěn)定性的最優(yōu)芯片之一。FPGA由存儲(chǔ)在芯片RAM中的程序組成,以設(shè)置工作狀態(tài)。所以,要對(duì)芯片中的RAM進(jìn)行具體化編譯。使用者可以為此外不一樣的配置模式來運(yùn)用不同的編程方法。通電之后,F(xiàn)PGA芯片從RAM中讀取EPROM數(shù)據(jù)。配置完成后,F(xiàn)PGA將運(yùn)行。斷電之后,F(xiàn)PGA重新成為空白,內(nèi)部的邏輯取消關(guān)聯(lián)。因此,F(xiàn)PGA可以重復(fù)使用。FPGA的編譯是不需要使用專門的FPGA編程器的,通常僅需要EPROM和PROM編程器。如果需要更改FPGA的功能,則只需更改一個(gè)EPROM。這樣,同一FPGA,其他編程數(shù)據(jù)可以創(chuàng)建其他電路的功能。1.7本文主要內(nèi)容第一章基于FPGA的電梯控制器的發(fā)展,對(duì)比當(dāng)前多種電梯控制器的設(shè)計(jì)方案并進(jìn)行方案分析論證,介紹設(shè)計(jì)相關(guān)FPGA技術(shù)等,了解現(xiàn)如今的一些研究現(xiàn)狀,說明了本研究的意義。第二章介紹FPGA的電梯控制器的功能要求,并闡述電梯控制器的設(shè)計(jì)思路及原理圖,介紹系統(tǒng)配置和具體的模塊設(shè)計(jì)和硬件功能的分析。(如:1.電梯核心控制子模塊2.電梯模擬子模塊3.樓層號(hào)顯示子模塊4.按鈕清零控制子模塊5.時(shí)鐘分頻模塊6.附加模塊)第三章介紹電梯核心控制子模塊、電梯模擬子模塊、樓層號(hào)顯示子模塊、按鈕清零控制子模塊、時(shí)鐘分頻模塊和附加模塊的具體功能還有其程序代碼展示。第四章進(jìn)行設(shè)計(jì)總結(jié)和期望;表示在完成這次電梯控制器設(shè)計(jì)時(shí),F(xiàn)PGA更加靈活??梢孕薷某绦蛞钥刂贫鄬?,十分適合電梯控制器的設(shè)計(jì)。表達(dá)對(duì)老師和同學(xué)的感謝!第二章設(shè)計(jì)特點(diǎn)和要求2.1電梯控制器的任務(wù)和要求Verilog硬件描述語(yǔ)言用于對(duì)電梯控制器系統(tǒng)的每個(gè)模塊進(jìn)行編程。該系統(tǒng)至少具有以下特征:(1)電梯在4樓完成了乘客服務(wù),并且可以根據(jù)方向優(yōu)先原則進(jìn)行控制。(2)運(yùn)行模式和下班模式。(3)有司機(jī)和無司機(jī)功能。(4)顯示功能。2.2電梯控制器的設(shè)計(jì)思路圖2-1是控制器的功能模塊,例如主控制器,分控制器,樓層選擇器,狀態(tài)指示器,解碼器和樓層指示器。用戶選擇想要抵達(dá)的樓層,主控制器使電梯運(yùn)行,且狀態(tài)顯示屏展示電梯目前的工作狀態(tài)。解碼器使用電梯解碼樓層數(shù),并將其顯示在樓層顯示器上。子控制器將有效請(qǐng)求發(fā)送到主控制器的樓層數(shù)。分控制器比較簡(jiǎn)單,所以主控制器是核心部分。狀態(tài)顯示狀態(tài)顯示分控制器主控制器譯碼器樓層顯示分控制器主控制器譯碼器樓層顯示樓層選擇樓層選擇圖2-1電梯控制器原理框圖電梯控制器系統(tǒng)的一般要求(1)在電梯的每一層的進(jìn)門口有上下請(qǐng)求開關(guān),使乘客可以到達(dá)電梯的高度。電梯樓層的當(dāng)前位置用兩位數(shù)顯管顯示。(2)顯示電梯的當(dāng)前位置。(3)當(dāng)電梯響應(yīng)停止請(qǐng)求到達(dá)地板時(shí),電梯門自動(dòng)打開,門燈點(diǎn)亮。如果開門3秒鐘,電梯門將自動(dòng)關(guān)閉(開門指示燈將熄滅),電梯將繼續(xù)運(yùn)行。(4)可以存儲(chǔ)和響應(yīng)電梯內(nèi)部及外部的所有請(qǐng)求信號(hào),這些信息基于電梯的運(yùn)行規(guī)則。保留每個(gè)請(qǐng)求令牌,直到執(zhí)行為止。2.3電梯控制器系統(tǒng)配置和模塊設(shè)計(jì)2.3.1系統(tǒng)配置該設(shè)計(jì)采用了定向優(yōu)先級(jí)控制方法。方向優(yōu)先級(jí)控制意味著,當(dāng)電梯到達(dá)某個(gè)特定層時(shí),它首先會(huì)考慮是否需要該層。顯示消息時(shí)停止。如果沒有消息,請(qǐng)繼續(xù)移動(dòng)。停止后恢復(fù)的步驟:考慮請(qǐng)求是來自上方還是下方。出現(xiàn)提示時(shí),單擊繼續(xù)。如果沒有,請(qǐng)繼續(xù)。否則它將停止。進(jìn)入運(yùn)行狀態(tài)之前,請(qǐng)確保存在一個(gè)請(qǐng)求或一個(gè)請(qǐng)求。2.3.2模塊設(shè)計(jì)(1)設(shè)計(jì)原理電梯上升和下降的原理是依靠步進(jìn)電機(jī)在控制器的帶動(dòng)下通過旋轉(zhuǎn)固定的角度來抵達(dá)指定的樓層:高度H=R×Φ式2.1樓層數(shù)N=H÷L式2.2公式里L(fēng)為單位樓層的高度;R為步進(jìn)電機(jī)的轉(zhuǎn)軸半徑;Φ為步進(jìn)電機(jī)旋轉(zhuǎn)的角度。(2)設(shè)計(jì)思路和設(shè)計(jì)方案說明電梯具有許多電梯控制方法和多種類型的電動(dòng)機(jī)。步進(jìn)電機(jī)可以準(zhǔn)確地旋轉(zhuǎn)指定角度。該過程的設(shè)計(jì)展示了如何使用FPGA控制步進(jìn)電機(jī)的上升和下降以模擬電梯的功能。這個(gè)系統(tǒng)使用了多個(gè)CPU的協(xié)同配合來進(jìn)行優(yōu)化和闡述各模塊的功能,從而有助于調(diào)試和維護(hù)。兩個(gè)核心的模塊是主控制器模塊(電梯核心控制子模塊,電梯模擬子模塊)和分頻器模塊。電梯核心控制子模塊:實(shí)現(xiàn)電梯的相關(guān)調(diào)度算法,通過接收樓層信號(hào)和按鈕信號(hào)來生成電梯的運(yùn)行方向指示信號(hào)、控制信號(hào)及請(qǐng)求電梯停止信號(hào)、控制電梯停止信號(hào)。電梯模擬子模塊:模擬電梯在不同工作模式下的實(shí)際運(yùn)行,即根據(jù)電梯當(dāng)前的運(yùn)行方向控制信號(hào)控制電梯的樓層轉(zhuǎn)移并輸出樓層號(hào);根據(jù)該控制信號(hào)使電梯停止,產(chǎn)生用于打開和關(guān)閉電梯門的控制信號(hào),并關(guān)閉電梯門1s,然后產(chǎn)生按鈕復(fù)位控制信號(hào)。樓層號(hào)顯示子模塊:用于顯示樓層號(hào)。當(dāng)電梯懸掛在某個(gè)樓層上時(shí),電梯中的數(shù)字管會(huì)對(duì)應(yīng)的樓層數(shù)進(jìn)行閃爍,并以每秒1次的頻率顯示樓層號(hào)。在其他情況下,電梯中的數(shù)字管會(huì)穩(wěn)定顯示電梯當(dāng)前通過的樓層號(hào)。按鈕清零控制子模塊:將10個(gè)按鈕信號(hào)調(diào)整為正脈沖有效模式,并控制按鈕信號(hào)的存儲(chǔ)和清除。首先,將10個(gè)按鈕信號(hào)調(diào)整為正脈沖有效模式;一旦脈沖按鈕信號(hào)ipt到來,則對(duì)應(yīng)的輸出opt為高。時(shí)鐘分頻模塊:對(duì)1KHz進(jìn)行100分頻得到10Hz時(shí)鐘信號(hào),再進(jìn)行10分頻,得到1Hz時(shí)鐘信號(hào)。附加模塊:調(diào)整按鈕信號(hào)均為正脈沖有效模式。2.4模塊設(shè)計(jì)程序的硬件分析2.4.1總電路圖圖3-1總電路2.4.2電梯核心控制子模塊實(shí)現(xiàn)電梯的相關(guān)調(diào)度算法,通過接收樓層信號(hào)和按鈕信號(hào)來生成電梯的運(yùn)行方向指示信號(hào)、控制信號(hào)及請(qǐng)求電梯停止信號(hào)、控制電梯停止信號(hào)。模塊電路如圖3-2所示:圖3-2電梯核心控制子模塊2.4.3電梯模擬子模塊用來模擬電梯在不同工作模式下的實(shí)際運(yùn)行情況,根據(jù)電梯當(dāng)前運(yùn)行方向控制信號(hào)來控制電梯的樓層移動(dòng)并輸出樓層號(hào);根據(jù)該控制信號(hào)使電梯停止,產(chǎn)生用于打開和關(guān)閉電梯門的控制信號(hào),并關(guān)閉電梯門1s,然后產(chǎn)生按鈕復(fù)位控制信號(hào)。模塊電路如圖3-3所示:圖3-3電梯模擬子模塊2.4.4樓層號(hào)顯示子模塊用于顯示樓層號(hào)。當(dāng)電梯懸掛在某個(gè)樓層上時(shí),電梯中的數(shù)字管會(huì)對(duì)應(yīng)的樓層數(shù)進(jìn)行閃爍,并以每秒1次的頻率顯示樓層號(hào)。在其他情況下,電梯中的數(shù)字管會(huì)穩(wěn)定顯示電梯當(dāng)前通過的樓層號(hào)。模塊電路如圖3-4所示:圖3-4樓層號(hào)顯示子模塊2.4.5按鈕清零控制子模塊將10個(gè)按鈕信號(hào)調(diào)整為正脈沖有效模式,并控制按鈕信號(hào)的存儲(chǔ)和清除。首先,將10個(gè)按鈕信號(hào)調(diào)整為正脈沖有效模式;一旦脈沖按鈕信號(hào)ipt到來,則對(duì)應(yīng)的輸出opt為高。當(dāng)電梯到達(dá)地板時(shí),它響應(yīng)地板的按鈕信號(hào)。暫停,打開門并關(guān)閉門1秒鐘后,應(yīng)清除按鈕信號(hào)。此時(shí),按鈕清除控制信號(hào)c[9..0]中的相應(yīng)位為高,使輸出變低。模塊電路如圖3-5所示:圖3-5按鈕清零控制子模塊2.4.6時(shí)鐘分頻模塊時(shí)鐘分頻模塊對(duì)1KHz進(jìn)行100分頻得到10Hz時(shí)鐘信號(hào),再進(jìn)行10分頻,得到1Hz時(shí)鐘信號(hào)。模塊電路如圖3-6所示:圖3-6時(shí)鐘分頻模2.4.7附加模塊附加模塊調(diào)整按鈕信號(hào)均為正脈沖有效模式。模塊電路如圖3-7所示:圖3-7附加模塊第三章軟件設(shè)計(jì)3.1電梯核心控制子模塊的功能(1)實(shí)現(xiàn)電梯的調(diào)度算法(2)根據(jù)當(dāng)前樓層和按鈕信號(hào)產(chǎn)生電梯的運(yùn)行方向指示信號(hào)、控制信號(hào)及請(qǐng)求電梯停止信號(hào)、控制電梯停止信號(hào)。程序如下:modulecorecontrol(dirup,dirdown,ctrlup,ctrldown,ask_stop,stop,clk,status,opt,run_cnt,ds0,ds1);inputclk;input[2:0]status;input[9:0]opt;input[4:0]run_cnt;outputdirup,dirdown;outputctrlup,ctrldown;outputask_stop;outputstop;outputds0,ds1;regdirup,dirdown;wirectrlup,ctrldown;regup,down;regask_stop;regds0,ds1;wiref1_up,f2_up,f2_down,f3_up,f3_down,f4_down,cmd1,cmd2,cmd3,cmd4;wirestop;assignf1_up=opt[0];assignf2_up=opt[1];assignf2_down=opt[2];assignf3_up=opt[3];assignf3_down=opt[4];assignf4_down=opt[5];assigncmd1=opt[6];assigncmd2=opt[7];assigncmd3=opt[8];assigncmd4=opt[9];always@(posedgeclk)begin case(status)3'd1:beginup=f2_up|f2_down|f3_up|f3_down||f4_down|cmd2|cmd3|cmd4;ask_stop=f1_up|cmd1;down=0;end 3'd2:begin up=f3_up|f3_down|f4_down|cmd3|cmd4;down=f1_up|cmd1;ask_stop=ds0&f2_up|ds1&f2_down|ds0&(f2_down)&(~f3_up)&(~f3_down)&(~f4_down)&(~cmd3)&(~cmd4)|ds1&(f2_up)&(~f1_up)&(~cmd1)|cmd2;end3'd3:beginup=f4_down|cmd4;down=f2_up|f2_down|f1_up|cmd1|cmd2;ask_stop=ds0&f3_up|ds1&f3_down|ds0&(f3_down)&(~f4_down)&(~cmd4)| ds1&(f3_up)&(~f2_up)&(~f2_down)&(~f1_up)&(~cmd2)&(~cmd1)|cmd3;end 3'd4:beginup=0;down=f3_up|f3_down|f2_up|f2_down|f1_up|cmd1|cmd2|cmd3;ask_stop=ds1&f4_down|ds0&f4_down|cmd4;end default: begin up=0; down=0; ask_stop=0; end endcase endalways@(posedgeclk)begin if(ds0==0&&ds1==0)beginds0=1;ds1=1;end elseif((ds0==1)&&(up==1))begindirup=1;dirdown=0;ds0=1;ds1=0;end elseif((ds0==1)&&(up==0)&&(ask_stop==1))begindirup=0;dirdown=0;ds0=1;ds1=1;end elseif((ds1==1)&&(down==1))begindirup=0;dirdown=1;ds0=0;ds1=1;end elseif((ds1==1)&&(down==0)&&(ask_stop==1))begindirup=0;dirdown=0;ds0=1;ds1=1;end elsebegindirup=0;dirdown=0;ds0=1;ds1=1;end //elseif((up==1)&&(down==0)&&(ask_stop==0))begindirup=1;dirdown=0;ds0=1;ds1=0;end endassignstop=(ask_stop&(run_cnt==0));assignctrlup=dirup&!stop;assignctrldown=dirdown&!stop;endmodule3.2電梯模擬子模塊的功能(1)模擬電梯在不同工作模式下的實(shí)際運(yùn)行情況。(2)根據(jù)電梯當(dāng)前運(yùn)行方向控制信號(hào),控制電梯的樓層轉(zhuǎn)移并輸出樓層號(hào)。(3)令電梯停止的控制信號(hào),產(chǎn)生開、關(guān)電梯門控制信號(hào),關(guān)門1s后產(chǎn)生按鈕清零控制信號(hào)。程序如下:modulesimulator(cnt,run_cnt,status,open_door,close_door,c,clk,ctrlup,ctrldown,stop,power,admin,open,close);inputclk;inputctrlup,ctrldown;inputstop;inputpower;inputadmin;inputopen;inputclose;output[4:0]cnt;output[4:0]run_cnt;output[2:0]status;outputopen_door,close_door;output[9:0]c;reg[2:0]status;reg[9:0]c;regclose_door;reg[4:0]cnt;reg[4:0]run_cnt;assignopen_door=power&(stop==1)&(!close_door);initialstatus=0;always@(posedgeclkornegedgepower)begin if(!power) begin close_door=1; c=16'h3fff; cnt=0; run_cnt=0; end else begin if(status==0)beginstatus=1;close_door=0;endif(ctrlup)beginif(run_cnt==19)beginrun_cnt=0;status=status+1'b1;endelsebeginrun_cnt=run_cnt+1'b1;endend elseif(ctrldown) begin if(run_cnt==19) beginrun_cnt=0;status=status-1'b1;end elsebeginrun_cnt=run_cnt+1'b1;end end elseif(stop) begin if(!admin&&(close_door==0)&&(cnt==29))begin if(open) close_door=0; else begin cnt=0; close_door=1; end end elseif((close_door==0)&&(open==0)&&(close)) begin cnt=0; close_door=1; end elseif((cnt==9)&&(close_door==1)) begin cnt=0; close_door=0; case(status)3'd1:beginc[0]=1;c[6]=1;end3'd2:beginc[1]=1;c[2]=1;c[7]=1;end3'd3:beginc[3]=1;c[4]=1;c[8]=1;end 3'd4:beginc[5]=1;c[9]=1;endendcase end else begin cnt=cnt+1'b1; c=10'h000; end end else begincnt=0;run_cnt=0;c=0;endendendendmodule3.3樓層號(hào)顯示子模塊的功能(1)顯示電梯所在的樓層。程序如下:moduledisplay(eleIn,floor1,floor2,floor3,floor4,clk1k,clk1Hz,statusin,stopin,power);output[3:0]eleIn,floor1,floor2,floor3,floor4;inputclk1k;inputclk1Hz;input[2:0]statusin;//fourfloorinputstopin;inputpower;reg[3:0]eleIn,floor1,floor2,floor3,floor4;always@(posedgeclk1k)beginif(!power) begin eleIn<=4'd0; floor1<=4'd0; floor2<=4'd0; floor3<=4'd0; floor4<=4'd0; end else begin case(statusin) 3'd1:begin if(stopin) begin eleIn<=statusin&{3{clk1Hz}}; floor1<=statusin&{3{clk1Hz}}; floor2<=statusin; floor3<=statusin; floor4<=statusin; end else begin eleIn<=statusin; floor1<=statusin; floor2<=statusin; floor3<=statusin; floor4<=statusin; end end 3'd2:begin if(stopin) Begin eleIn<=statusin&{3{clk1Hz}}; floor1<=statusin; floor2<=statusin&{3{clk1Hz}}; floor3<=statusin; floor4<=statusin; end else begin eleIn<=statusin; floor1<=statusin; floor2<=statusin; floor3<=statusin; floor4<=statusin; end end 3'd3:begin if(stopin) begin eleIn<=statusin&{3{clk1Hz}}; floor1<=statusin; floor2<=statusin; floor3<=statusin&{3{clk1Hz}}; floor4<=statusin; end else begin eleIn<=statusin; floor1<=statusin; floor2<=statusin; floor3<=statusin; floor4<=statusin; end end 4'd4:begin if(stopin) begin eleIn<=statusin&{3{clk1Hz}}; floor1<=statusin; floor2<=statusin; floor3<=statusin; floor4<=statusin&{3{clk1Hz}}; end else begin eleIn<=statusin; floor1<=statusin; floor2<=statusin; floor3<=statusin; floor4<=statusin; end end default:begin eleIn<=4'd0; floor1<=4'd1; floor2<=4'd2; floor3<=4'd3; floor4<=4'd4; end endcase endendEndmodule3.4按鈕清零控制子模塊的功能調(diào)整10個(gè)按鈕信號(hào)均為正脈沖有效模式,并對(duì)按鈕信號(hào)進(jìn)行存儲(chǔ)和清零控制。(2)將脈沖信號(hào)轉(zhuǎn)換為電平信號(hào)。(3)當(dāng)電梯到達(dá)該層時(shí)響應(yīng)了該層的按鈕信號(hào),暫停、開門、關(guān)門1s后則應(yīng)清除此按鈕信號(hào),此時(shí)使按鈕清零控制信號(hào)c[9..0]中的相應(yīng)位為高,使輸出opt變低。程序如下:modulebutton_clr_ctrl(opt,clk,ipt,c);inputclk;input[9:0]ipt,c;output[9:0]opt;reg[4:0]i;reg[9:0]opt;wire[9:0]ipt_high;assignipt_high={~ipt[9],~ipt[8],ipt[7:0]};always@(posedgeclk) begin for(i=0;i<=9;i=i+1) if(ipt_high[i])opt[i]<=1; elseif(c[i])opt[i]<=0; endendmodule3.5時(shí)鐘分頻模塊的功能(1)對(duì)1KHz進(jìn)行100分頻得到10Hz時(shí)鐘信號(hào),再進(jìn)行10分頻,得到1Hz時(shí)鐘信號(hào)。程序如下:moduleclockdiv(clkin,clk_10Hz,clk_1Hz);inputclkin;outputclk_10Hz,clk_1Hz;regclk_10Hz,clk_1Hz;reg[5:0]count1,count2;always@(posedgeclkin)begin if(count1==49) begin clk_10Hz=~clk_10Hz; count1=0; end elsecount1=count1+1;endalways@(posedgeclk_10Hz)beginif(count2==4)beginclk_1Hz=~clk_1Hz;count2=0;endelsecount2=count2+1;endendmodule 3.6附加模塊的功能(1)調(diào)整按鈕信號(hào)均為正脈沖有效模式程序如下:modulenot10(in,out);input[9:0]in;output[9:0]out;assignout={~in[9],~in[8],in[7:0]};endmodule圖頂層電路圖第四章總結(jié)與期望使用先前的設(shè)計(jì)進(jìn)行調(diào)試和改進(jìn),并通過長(zhǎng)期的迭代測(cè)試。如果需要,可以將各種索引的參數(shù)打印為曲線圖和模擬圖,但是建議重復(fù)一次。Verilog硬件描述語(yǔ)言方式的數(shù)字系統(tǒng)設(shè)計(jì)非常地方便和靈活。大幅縮短了運(yùn)用EDA軟件編譯及優(yōu)化仿真的電路開發(fā)時(shí)間,還減少了錯(cuò)誤的發(fā)生概率且大幅減少了開發(fā)所需要的成本。這種設(shè)計(jì)方法肯定會(huì)增加。這對(duì)于研發(fā)過程有著極其重要的作用。未來的數(shù)字系統(tǒng)。在此設(shè)計(jì)中,用于控制電梯邏輯操作的官方FPGA具有編程靈活,性能穩(wěn)定的優(yōu)點(diǎn)。電源關(guān)閉時(shí),F(xiàn)PGA配置數(shù)據(jù)將自動(dòng)刪除。用戶可以在現(xiàn)場(chǎng)控制充電過程并更改設(shè)備的邏輯功能。整個(gè)設(shè)計(jì)過程電梯的設(shè)計(jì)可以根據(jù)其功能分為幾個(gè)功能模塊,可以掌握每個(gè)模塊的時(shí)間,并且可以將這些功能模塊集成在一起并與NorthBus共享。它可以正常運(yùn)行而不會(huì)受到干擾。在仿真過程中,某些程序的時(shí)序非常精確,但是將程序下載到芯片時(shí)出現(xiàn)了錯(cuò)誤。這主要是由于每個(gè)功能執(zhí)行的延遲,但在仿真過程中不會(huì)出現(xiàn)。所以進(jìn)行編程的時(shí)候要十分注意在選擇芯片之前將計(jì)算出的數(shù)據(jù)信號(hào)放置在數(shù)據(jù)總線上。在完成電梯的控制時(shí),F(xiàn)PGA更加靈活。可以修改程序以控制多層。該設(shè)計(jì)與電梯控制完美配合。例如,內(nèi)部和外部電梯指示器系統(tǒng)的設(shè)計(jì)以及電梯當(dāng)前運(yùn)行狀態(tài)的顯示可以滿足一般乘客電梯的運(yùn)行功能要求。參考文獻(xiàn)[1]高迎慧,侯忠霞,楊成林.基于FPGA的自動(dòng)升降電梯控制器設(shè)計(jì)[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào),2007(02):242-244.[2]陳慧萍,王章瑞,馬啟強(qiáng),黃學(xué)坤.基于FPGA的三層電梯控制器的實(shí)現(xiàn)[J].儀器儀表用戶,2007(04):72-73.[3]申彥春,張銀蒲,吳錚.基于FPGA的電梯控制器的設(shè)計(jì)[J].科技創(chuàng)新導(dǎo)報(bào),2007(32):94-9
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 團(tuán)隊(duì)建設(shè)管理培訓(xùn)40
- 中原地產(chǎn)-拓展客戶與行銷技巧
- 〈〈錢塘湖春行〉課件圖
- 《我要健康成長(zhǎng)》課件
- 《展會(huì)招商的技巧》課件
- 梵高-英文課件(在文輯中配有英文演講稿)
- 低溫預(yù)制食品智能化生產(chǎn)項(xiàng)目可行性研究報(bào)告模板-備案拿地
- 工學(xué)《動(dòng)能 動(dòng)能定理》課件設(shè)計(jì)
- 單位人力資源管理制度品讀匯編十篇
- 單位管理制度展示匯編員工管理十篇
- 小班數(shù)學(xué)《香香的餅干》
- 醫(yī)院工會(huì)經(jīng)費(fèi)使用與管理辦法、制度規(guī)則
- 2022年外交學(xué)院輔導(dǎo)員招聘筆試題庫(kù)及答案解析
- 磁致伸縮液位傳感器KYDM-路線設(shè)置使用
- 收割機(jī)轉(zhuǎn)讓協(xié)議
- 中學(xué)歷史教育中的德育狀況調(diào)查問卷
- 煤礦煤業(yè)掘進(jìn)工作面班組安全確認(rèn)工作記錄表 模板
- 第8期監(jiān)理月報(bào)(江蘇版)
- 建筑工程質(zhì)量管理體系文件
- 乙丙橡膠電力電纜絕緣一步法硅烷交聯(lián)工藝
- 中止施工安全監(jiān)督申請(qǐng)書(范例)
評(píng)論
0/150
提交評(píng)論