電梯控制器設(shè)計畢業(yè)設(shè)計論文_第1頁
電梯控制器設(shè)計畢業(yè)設(shè)計論文_第2頁
電梯控制器設(shè)計畢業(yè)設(shè)計論文_第3頁
電梯控制器設(shè)計畢業(yè)設(shè)計論文_第4頁
電梯控制器設(shè)計畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

PAGE46-摘要電梯是標志現(xiàn)代物質(zhì)文明的垂直運輸工具、是機—電一體化的復(fù)雜運輸設(shè)備。它涉及電子技術(shù)、機械工程、電力電子技術(shù)、微機技術(shù)、電力拖動系統(tǒng)和土建工程等多個科學領(lǐng)域。目前電梯的生產(chǎn)情況和使用數(shù)量已成為一個國家現(xiàn)代化程度的標志之一。隨著現(xiàn)代化城市的高速發(fā)展,每天都有大量人流及物流需要輸送。為節(jié)約用地和適應(yīng)經(jīng)貿(mào)事業(yè)的發(fā)展,一幢幢高樓拔地而起,這些高層建筑的垂直運輸是一個突出問題,與人們的工作和生活緊密相關(guān)。隨著社會的發(fā)展,電梯的使用越來越普遍,已從原來只在商業(yè)大廈、賓館使用,過渡到在辦公樓、居民樓等場所使用,并且對電梯功能的要求也不斷提高,相應(yīng)地其控制方式也在不停地發(fā)生變化。對于電梯的控制,傳統(tǒng)的方法是使用繼電器—接觸器控制系統(tǒng)進行控制,隨著技術(shù)的不斷發(fā)展,微型計算機在電梯控制上的應(yīng)用日益廣泛,現(xiàn)在已進入全微機化控制的時代。當今時代隨著高層建筑的日益增多和建筑設(shè)計的檔次的提高,使得人們對電梯的要求也越來越高。目前已不僅限于要求電梯搭乘快速、舒適,制造堅固,裝潢考究,人們對電梯的安全可靠性及多功能性正提出越來越高的要求,為此電梯正朝著控制智能化的方向發(fā)展。而電梯的核心是電梯控制器,電梯控制器的實現(xiàn)也有多中方式,諸如PLC,單片機,等等.在以前的電梯控制器設(shè)計中,大部分都是采用PLC來實現(xiàn),但是PLC是基于外圍的硬件實現(xiàn)電梯的控制,這樣的設(shè)計很難實現(xiàn)電梯的智能化,要實現(xiàn)電梯的智能化,就得選用其他的設(shè)計方法完成對電梯控制器的設(shè)計,而采用硬件描述語言來完成電梯控制器的設(shè)計,就能很容易的實現(xiàn)電梯的智能.關(guān)鍵字:電梯控制器,CPLD,VHDL狀態(tài)機AbstractTheelevatorissymbolizedthemodernmaterialcivilizationverticaltransportmeans,aremachine-theelectricityintegrationcomplextransportvehicle.Itinvolvestheelectronictechnology,themechanicalengineering,theelectricpowerelectronictechnology,themicrocomputertechnology,theelectricpowerdrivesthesystemandthecivilengineeringandsoonmanyscientificdomains.Atpresenttheelevatorproductionsituationandtheusequantityhavebecomeoneofnationalmodernizationdegreesymbols.Alongwiththemodernizedcityhighspeeddevelopment,hasthemassivestreamsofpeopleandthethingclasseverydayneedstotransport.Inordertosavewithandtheadaptioneconomicsandtradeenterprisedevelopment,aflickeringtallbuildingrisesstraightfromtheground,thesehigh-riseconstructionsverticaltransportationareaprominentquestion,withpeople'sworkandlifeclosecorrelation.Alongwithsociety'sdevelopment,theelevatoruseismoreandmorecommon,fromoriginallyonlyinthecommercialbuilding,theguesthouseuse,transitedtoinplaceuseandsoontheofficebuilding,buildingofresidence,andalsounceasinglyenhancestotheelevatorfunctionrequest,correspondinglyitscontrolmodealsoindoesnotstopchanges.Regardingtheelevatorcontrol,thetraditionalmethodisusestherelay-contactdevicecontrolsystemtocarryonthecontrol,alongwiththetechnicalunceasingdevelopment,themicrocomputerisdaybydaywidespreadinelevatorcontrolapplication,nowenteredtheentiremicrocomputercontrolthetime.Thepresenteradaybydayincreasesalongwiththehigh-riseconstructionwiththearchitecturaldesignscaleenhancement,causesthepeoplemoreandmoretobealsohightotheelevatorrequest.Atpresentnotonlyhasbeenrestrictedinrequeststheelevatortotravelbyfast,comfortable,manufacturefirm,thedecorationiselegant,thepeopletotheelevatorsecurityreliabilityandmulti-purposewereproposingthemoreandmorehighrequest,isfacingthecontrolintellectualizationdirectionforthiselevatortodevelop.Buttheelevatorcoreistheelevatorcontroller,theelevatorcontrollerrealizationalsohasmanycenterways,suchasPLC,monolithicintegratedcircuit,andsoonInthebeforeelevatorcontrollerdesign,majorityofallwasusesPLCtorealize,butPLCwasrealizestheelevatorcontrolbasedontheperipheryhardware,suchdesignwasverydifficulttorealizetheelevatorintellectualization,hadtorealizetheelevatorintellectualization,hadtoselectotherdesignmethodstocompletetotheelevatorcontrollerdesign,butusedthehardwaredescriptionlanguagetocompletetheelevatorcontrollerthedesign,couldtheveryeasyrealizationelevatorintelligenceEssentialcharacter:Elevatorcontroller,CPLD,VHDLconditionmachine目錄第一章引言—中國電梯的現(xiàn)狀與發(fā)展趨勢……………..31.1中國電梯市場的發(fā)展……….31.2電梯需求將持續(xù)增長節(jié)能型是發(fā)展方向………………...31.3隨著科技的進步電梯將實現(xiàn)智能化……...6第二章四層電梯控制器的VHDL設(shè)計…………..92.1PLC電梯控制缺點92.2電梯控制器流程…………...102.3狀態(tài)機及其VHDL設(shè)計…………………..142.4四層電梯控制器具體設(shè)計………………...21第三章四層電梯控制器的調(diào)試及仿真………323.1程序調(diào)試修改……………...323.2波形仿真…………………...32結(jié)束語……………..37謝辭………………..37參考文獻…………..37附錄…………...38第一章引言——中國電梯的現(xiàn)狀與發(fā)展趨勢1.1中國電梯市場的發(fā)展近幾年,隨著中國房地產(chǎn)業(yè)的持續(xù)高速發(fā)展,我國電梯業(yè)出現(xiàn)了空前繁榮的景象。分析近幾年房地產(chǎn)業(yè)的發(fā)展趨勢,特別是商品住宅的高速發(fā)展,將使住宅電梯需求量持續(xù)攀升。另外,為了逐步提高我國城鎮(zhèn)人口比例,國家將加快推進城鎮(zhèn)建設(shè),走城市化經(jīng)濟的發(fā)展道路。專家認為,21世紀初,中國住宅建設(shè)可望保持平均每年15%的增長速度。到2005年,全國至少需建城鎮(zhèn)住宅15億平方米。對住宅電梯市場需求來說,這無疑是一個巨大的潛在市場。據(jù)中國電梯協(xié)會的統(tǒng)計,去年中國新裝電梯總量超過8萬臺,電梯業(yè)正處于高速發(fā)展的浪尖上,中國已經(jīng)成為世界上最大的新裝電梯市場。在所有的電梯需求中,住宅電梯占據(jù)很大的分量,幾乎占到七成的份額。隨著人們生活水平的提高,多層住宅內(nèi)電梯有被納入住宅基本功能的趨勢。新建樓安裝電梯,將大大完善住宅的居住功能。而且,新建樓房安裝電梯的費用大約每平方米100元,要比舊樓加裝電梯的費用節(jié)省很多。最早提出在多層樓房加裝電梯的上海交通大學教授朱昌明建議:多層住宅可“從新樓裝電梯抓起”。新蓋的五六層樓的房子就應(yīng)該把電梯作為基本的配套設(shè)施來安排。今后,主管部門有可能對不安裝電梯的多層住宅限建。按照目前的構(gòu)想,3層以上住宅就要加裝電梯,多層住宅的電梯市場將成為一個熱點,需求量會大幅增加。2002年上海的房地產(chǎn)投資規(guī)模超過720億元,商品房竣工面積是1983萬平方米,去年將超過2000萬平方米,多層住宅電梯市場潛力非常可觀。1.2電梯需求將持續(xù)增長節(jié)能型是發(fā)展方向有關(guān)專家近期表示,電梯行業(yè)將在“十一五”期間煥發(fā)活力,再次崛起。專家認為,中國電梯行業(yè)從市場規(guī)模上已經(jīng)有了很大提高,一些自主品牌也逐步提升了自己的產(chǎn)品質(zhì)量和技術(shù)含量,我國政府提出的節(jié)約型社會正好讓電梯行業(yè)中擁有節(jié)能電梯技術(shù)的企業(yè)有機會發(fā)展,另外,國外用戶比以前更多地青睞中國產(chǎn)品也為中國電梯的崛起提供了機會。目前我國節(jié)能電梯技術(shù)在某些方面已經(jīng)達到了國際領(lǐng)先水平,但是節(jié)能電梯的普及率還很低,可節(jié)電30%以上的無齒輪電梯普及率不及10%,可以能源再生的造能電梯普及率不及2%。因此專家預(yù)計,節(jié)能電梯市場會在“十一五”期間進入快速增長期。市場將持續(xù)放量增長節(jié)能電梯從2001年開始進入我國辦公樓、住宅樓、酒店等場所,經(jīng)過5年的發(fā)展,全國的無齒輪電梯市場從幾千臺增長到近6萬臺。截至2006年9月,全國取得電梯制造許可證的整機企業(yè)超過300家。電梯企業(yè)競爭日趨激烈,產(chǎn)品利潤率走低,WALESS、奧的斯、三菱等大企業(yè)保持了較高的市場份額,中小企業(yè)僅占全國1/5的市場份額,同時行業(yè)整體企業(yè)數(shù)目急劇增多。有關(guān)專家表示,我國已超過日本成為世界最大的新裝電梯市場。由于房地產(chǎn)業(yè)、城市公共建設(shè)等產(chǎn)業(yè)發(fā)展迅速,預(yù)計未來10年,我國的電梯市場仍將保持每年20%的遞增速度,年平均銷售額至少500億美元。受以下三個因素影響,我國節(jié)能電梯未來市場容量十分可觀。房地產(chǎn)市場快速發(fā)展,對電梯的需求繼續(xù)擴大。專家估計未來50年我國新增住房面積將達到200億平方米。目前國家規(guī)定20米以上高樓就應(yīng)安裝電梯,因此未來電梯最大的市場就是住宅市場。此外,機場、商場、地鐵等大型公共設(shè)施建設(shè)對自動扶梯、觀光電梯等電梯的需求量也十分可觀。西部地區(qū)的小城鎮(zhèn)建設(shè)速度加快。東部地區(qū)城市化經(jīng)過20年的發(fā)展,有些發(fā)達地區(qū)城市化水平已達到80%,基本飽和,甚至出現(xiàn)了逆城市化的趨勢。而近年來西部地區(qū)國民生產(chǎn)總值的增長速度,已經(jīng)與電梯需求高速發(fā)展所需的GDP水平相吻合。電梯更新進入高峰期。雖然國家對電梯壽命目前沒有提出強制標準,但是按國外電梯使用壽命的慣例,一般日本系列電梯設(shè)計壽命為15年,歐美電梯設(shè)計壽命為25年。根據(jù)我國電梯選購的實際情況,采用日本系列產(chǎn)品或技術(shù)的比例大約有60%以上,國內(nèi)在1990年前安裝的日系電梯已經(jīng)全部到了更新期。而且1990年以前的電梯生產(chǎn)技術(shù)相對比較落后,電梯的耗電水平是現(xiàn)在節(jié)能電梯的三到四倍。按電梯使用壽命及15年前電梯安裝數(shù)量看,預(yù)計2007年將有15000至20000臺電梯需要更新。2、電梯節(jié)能潛力巨大電梯和空調(diào)被認為大型建筑兩大耗能大戶。據(jù)了解,目前我國星級酒店每平方米平均年耗電量為150千瓦時,一座3萬~5萬平方米的星級酒店,其年總能耗大約相當于3000至4000噸標準煤,其中將近一半用于電梯供電。電梯行業(yè)協(xié)會統(tǒng)計,2005年在我國所有使用的電梯中如果有80%采用節(jié)能電梯,全年可以節(jié)約耗電122億千瓦時。如果2015年全部采用節(jié)能電梯,將節(jié)電800億千瓦時,幾乎等于三峽大壩一年的發(fā)電量。在政府采購中對節(jié)能性能予以優(yōu)先考慮。目前國內(nèi)的電梯銷售有接近一半的數(shù)量在政府采購領(lǐng)域或跟政府采購有關(guān),因此政府采購對節(jié)能電梯的傾向性可以有效扶持節(jié)能電梯產(chǎn)業(yè)。由于節(jié)能電梯產(chǎn)量不大,市場價格偏高,政府在初期可將其作為環(huán)保項目給予政策傾斜,或者對采用節(jié)能電梯的開發(fā)商以政策鼓勵。節(jié)能電梯技術(shù)應(yīng)與其他技術(shù)相結(jié)合。與節(jié)能相比,使用者目前更為看重的還是電梯的安全性能。傳統(tǒng)電梯安全部件正在改用雙向安全系統(tǒng),電梯使用的安全技術(shù)也在不斷擴大。將節(jié)能技術(shù)和其他安全技術(shù)相結(jié)合有利于提升產(chǎn)品品質(zhì),更容易進入采購商的視野。1.3隨著科技的進步電梯將實現(xiàn)智能化當今時代隨著高層建筑的日益增多和建筑設(shè)計的檔次的提高,使得人們對電梯的要求也越來越高。目前已不僅限于要求電梯搭乘快速、舒適,制造堅固,裝潢考究,人們對電梯的安全可靠性及多功能性正提出越來越高的要求,為此電梯正朝著控制智能化的方向發(fā)展。我國很多新近安裝的電梯已經(jīng)采用了世界上最新的電梯技術(shù),電梯運行效效率和質(zhì)量都很高;但同時還存在著大量的“老舊”電梯,說它們老舊其實它們運行時間并不是很長,只是沒能采用最新的電梯先進技術(shù),所以運行效率和質(zhì)最相比之下不高。電梯智能化改造針對的就是那些運行時間不是太長,而電梯的運行效率和服務(wù)質(zhì)量已經(jīng)不能滿足用戶的要求的電梯。特別是當一棟大廈的原有系統(tǒng)或是因為當初設(shè)計或是因為大廈功能的改變使得電梯系統(tǒng)的運力不足,不能夠滿足大廈的上下運輸需要時,這時要么采取添加或更換電梯,要么只能采取通過提高電梯群的運行效率來提高電梯的運力。通過對電梯系統(tǒng)的智能化改造,付出少量的代價使得原有電梯系統(tǒng)的性能有一個大的提升。電梯的智能化改造還有一個關(guān)鍵問題是如何與電梯原來的控制系統(tǒng)連接,才能實現(xiàn)對所需電梯的信號的采集和實現(xiàn)對電梯的控制;還要考慮到一棟大廈如果安裝有多部不同品牌或型號的電梯的情況。何為電梯的智能化將人工智能應(yīng)用到電梯控制領(lǐng)域是從上世紀80年代開始的,那時人工智能蓬勃發(fā)展,專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、模糊控制等許多最新的人工智能成果都被應(yīng)用到電梯群控的派梯算法上,但這些具有智能化派梯策略的電梯在中國的使用卻很晚,使用量并不是很大。這是由多種原因造成的。智能化電梯群控系統(tǒng)可以大大提高電梯群的派梯效率,減少乘客的候梯時間,降低電梯的能耗。2、電梯智能化改造的實現(xiàn)對電梯的原有機械電梯部分基本不作改動,包括提升部分、廳門控制部分等等,只是在原有電梯控制系統(tǒng)之上增加一層接口層,在接口層實現(xiàn)對電梯各種信號的采集和通過電梯的原有外部輸入接口實現(xiàn)對電梯控制信號的輸入,在接口層之上實現(xiàn)電梯群的智能化群控。接口層的實現(xiàn)電梯智能化改造的實現(xiàn)中與原有電梯的接口部分很重要。與原有系統(tǒng)的接口包括兩個部分,一是電梯的狀態(tài)的實時采集,二是控制信號的回送。始終強調(diào)電梯的改造最重要的是不可以降低原有系統(tǒng)的安全性。如果原有電梯控制系統(tǒng)仍能滿足需要,應(yīng)盡量減少對原有電梯控制系統(tǒng)的改變,同時又要能夠及時得到電梯的狀態(tài)變化,并實現(xiàn)對電梯的調(diào)度。接口層的實現(xiàn)采用分布式控制技術(shù),在每—臺電梯的每一樓層的外招板上加裝一塊外招接口板,在內(nèi)招板上加裝一塊內(nèi)招接口板,在電梯控制柜中加裝一塊梯態(tài)接口板,這些接口板上都有一個獨立的CPU控制著各自的信號采集、發(fā)送、接收、轉(zhuǎn)發(fā),它們通過一條公用總線與信號采集主機相連,信號采集主機負責電梯所有信號的收集和轉(zhuǎn)發(fā),負責將收集到的電梯信號送達上層的群控主機和實時監(jiān)控主機,并轉(zhuǎn)發(fā)群控主機和監(jiān)控主機發(fā)出的控制信號。通過各樓層加裝的外招接口板采集所有外招信號,電梯內(nèi)加裝的內(nèi)招接口板采集電梯的內(nèi)招信號,電梯的控制柜中加裝的電梯狀態(tài)接口板采集電梯的目前狀態(tài):如口前樓層、運行方向、電梯門狀態(tài)、電梯停止等信號,通過串行總線送往群控主機,群控主機根據(jù)采集到的信號作派梯選澤,將派梯信號回送到外招接口板,由外招接口板將信號發(fā)送給電梯的外招板,完成派梯。在接口板與電梯原電氣裝置連接時采用光電耦合結(jié)構(gòu),以隔絕相互之間的電磁干擾。電梯外招接口板的設(shè)計非常關(guān)鍵,它既要保證乘客的按鍵召喚信號和電梯的響應(yīng)信號能夠被及時、準確地采集并送到信號采集主機,還要能夠及時地將群控主機發(fā)山的派梯信號轉(zhuǎn)發(fā)給外招板,并且還要保證在群控主機或與之通信的線路有故障時也能夠完成乘客的請求,而不會山現(xiàn)乘客的請求不能被滿足的情況,同時也適合不同品牌的電梯。系統(tǒng)總線采用雙向RS485總線。這既可以保證長距離大量數(shù)據(jù)傳送,又由于這種接口用途廣泛,成本也較為合理。RS485采用差分傳輸方式,較低的信號放大就可以做到較高的抗干擾能力,損耗也低。就電磁兼容性(EMV)而言,這對可靠的無故障傳輸很重要,而且使得現(xiàn)場配線減少,降低安裝復(fù)雜性。(2)群控策略的選擇近20年來,人們對電梯的智能群控策略有很多研究,提出了各種智能群控算法,它們實現(xiàn)的復(fù)雜性和性能也各不相同。一種是采用專家系統(tǒng),即收集專家在電梯控制領(lǐng)域的各種知識,也就是說對在電梯的各種不同情況下專家們有可能采取的策略進行匯總、分類,組織成規(guī)則庫,然后根據(jù)采集到的電梯的數(shù)據(jù)以規(guī)則庫里的推理規(guī)則確定電梯的派梯方案。另一種是采用模糊推理規(guī)則,即綜合考慮評價梯群性能的各種標準,如平均等待時間、長時間等待率、電梯能耗等等,確定一個隸屬度函數(shù),將電梯的各種輸入?yún)?shù)模糊化后輸入系統(tǒng),通過模糊判斷規(guī)則根據(jù)隸屬度函數(shù)來確定一個最佳派梯。還有一種是采用人工神經(jīng)網(wǎng)絡(luò)來實時熟悉大樓的交通模式,根據(jù)電梯前一小段時間的客流狀況來推理出電梯未來的客流狀況,并根據(jù)電梯處于不同的客流模式如上行高峰、下行高峰、層間客流、空閑交通等等來采取不同的派梯策略。另外,就是通過統(tǒng)計學原理根據(jù)電梯前一小段時間的客流狀況來推測出電梯在未來一小段時間里可能產(chǎn)生的召喚信號,然后根據(jù)推測的結(jié)果來精確計算電梯到達某一樓層響應(yīng)召喚的等待時間,然后選擇使得所有召喚信號的等待時間最短的派梯策略。這不是一種智能群控算法。四層電梯控制器的VHDL設(shè)計電梯的微機化控制主要有以下幾種形式:1PLC控制;2單板機控制;3單片機控制;4單微機控制;5多微機控制;6人工智能控制。隨著EDA技術(shù)的快速發(fā)展,CPLD/FPGA已廣泛應(yīng)用于電子設(shè)計與控制的各個方面。但是本設(shè)計屏棄以前老式的采用PLC設(shè)計電梯控制器,而是使用一片來實現(xiàn)對電梯的控制的。2.1PLC電梯的缺點當今電梯市場已經(jīng)有多種電梯控制器的設(shè)計方案。但大多數(shù)仍然是采用PLC實現(xiàn)電梯的升降控制,但是采用PLC實現(xiàn)電梯控制器的設(shè)計存在大量的缺點缺點。如果采用硬件描述語言來完成電梯控制器的設(shè)計,就可以克服PLC電梯的大部分缺點。目前,在我國國產(chǎn)電梯大部分為繼電器及PLC控制方式,繼電器控制系統(tǒng)性能不穩(wěn)定、故障率高,大大降低了電梯的舒適性、可靠性和安全性,經(jīng)常造成停梯,給乘用人員的生活和工作帶來了很多不便,因而傳統(tǒng)的電梯控制系統(tǒng)的更新勢在必行。當前電梯發(fā)展的智能化發(fā)方向是IC卡智能電梯,但最終的發(fā)展是聲控智能電梯,IC卡智能電梯PLC都需通過外加IC讀卡芯片才能實現(xiàn),PLC單獨是不能實現(xiàn)的,那以后的聲控智能電梯PLC就能不能單獨實現(xiàn),然而我們采用VHDL技術(shù)就可以實現(xiàn)電梯的智能化,節(jié)能,也可以提高電梯的舒適性,可靠性和安全性。本次設(shè)計嘗試用硬件描述語言(VHDL)來實現(xiàn)電梯控制,可進行多層次的邏輯設(shè)計,也可進行仿真驗證、時序分析等以保證設(shè)計的正確。在使用VHDL進行電梯控制器的設(shè)計,主要就是對電梯軟件部分進行設(shè)計,使用VHDL中的邏輯關(guān)系建立電梯的升降模式,開門,關(guān)門達到動作,而外部的硬件設(shè)備基本上保持不變。但是使用VHDL硬件描述語言設(shè)計電梯控制器可以為以后電梯實現(xiàn)智能控制奠定基礎(chǔ)。電梯控制器的流程外部按鍵設(shè)備外部按鍵設(shè)備請求信號寄存器請求信號寄存器狀態(tài)積存器狀態(tài)積存器內(nèi)部軟件執(zhí)行機構(gòu)內(nèi)部軟件執(zhí)行機構(gòu)外部硬件執(zhí)行機構(gòu)外部硬件執(zhí)行機構(gòu)總流程圖初始化初始化N有無平層信號等待請求N有無平層信號等待請求YY顯示顯示清平層信號清平層信號是否到達目的層是否到達目的層上/下運行N上/下運行上下行判斷Y上下行判斷停車停車消該層信號消該層信號停車有無同向選層信號停車有無同向選層信號消同向選層信號消同向選層信號掃描電梯位置掃描電梯位置目的層到否N目的層到否YY下行控制上行控制下行控制上行控制返回返回電梯運行流程圖關(guān)門等待2秒清該層對應(yīng)指示燈返回到站等待2秒開門停車控制程序關(guān)門等待2秒清該層對應(yīng)指示燈返回到站等待2秒開門停車控制程序NYNY停車門控流程圖電梯控制器可以通過多種方法進行設(shè)計,其中采用狀態(tài)機來實現(xiàn),思路比較清晰。可以將電梯等待的每秒鐘以及開門,關(guān)門都看成一個獨立的狀態(tài)。由于電梯又是每秒上升或下降一層,所以就可以通過一個統(tǒng)一的1秒為周期的時鐘來觸發(fā)狀態(tài)機。2.3狀態(tài)機及其VHDL設(shè)計有限狀態(tài)機(FiniteStateMachine,簡稱FSM)是一類很重要的時序電路,是許多數(shù)字系統(tǒng)的核心部件,也是實時系統(tǒng)設(shè)計中的一種數(shù)學模型,是一種重要的、易于建立的、應(yīng)用比較廣泛的、以描述控制特性為主的建模方法,它可以應(yīng)用于從系統(tǒng)分析到設(shè)計的所有階段。有限狀態(tài)機的優(yōu)點在于簡單易用,狀態(tài)間的關(guān)系清晰直觀。建立有限狀態(tài)機主要有兩種方法:“狀態(tài)轉(zhuǎn)移圖”和“狀態(tài)轉(zhuǎn)移表”。標準狀態(tài)機通常可分為Moore和Mealy兩種類型。狀態(tài)機的基本結(jié)構(gòu)和功能狀態(tài)機的基本結(jié)構(gòu)如圖1所示。除了輸人信號、輸出信號外,狀態(tài)機還包含一組寄存器記憶狀態(tài)機的內(nèi)部狀態(tài)。狀態(tài)機寄存器的下一個狀態(tài)及輸出,不僅同輸入信號有關(guān),而且還與寄存器的當前狀態(tài)有關(guān),狀態(tài)機可以認為是組合邏輯和寄存器邏輯的特殊組合。它包括兩個主要部分:即組合邏輯部分和寄存器。組合邏輯部分又可分為狀態(tài)譯碼器和輸出譯碼器,狀態(tài)譯碼器確定狀態(tài)機的下一個狀態(tài),即確定狀態(tài)機的激勵方程,輸出譯碼器確定狀態(tài)機的輸出,即確定狀態(tài)機的輸出方程。寄存器用于存儲狀態(tài)機的內(nèi)部狀態(tài)。狀態(tài)譯碼器狀態(tài)寄存器狀態(tài)譯碼器狀態(tài)寄存器輸出譯碼器圖2.1狀態(tài)機的基本結(jié)構(gòu)狀態(tài)機的基本操作有兩種:1.狀態(tài)機的內(nèi)部狀態(tài)轉(zhuǎn)換。狀態(tài)機經(jīng)歷一系列狀態(tài),下一狀態(tài)由狀態(tài)譯碼器根據(jù)當前狀態(tài)和輸入條件決定。2.產(chǎn)生輸出信號序列。輸出信號由輸出譯碼器根據(jù)當前狀態(tài)和輸入條件確定。用輸入信號決定下一狀態(tài)也稱為“轉(zhuǎn)移”。除了轉(zhuǎn)移之外,復(fù)雜的狀態(tài)機還具有重復(fù)和歷程功能。從一個狀態(tài)轉(zhuǎn)移到另一狀態(tài)稱為控制定序,而決定下一狀態(tài)所需的邏輯稱為轉(zhuǎn)移函數(shù)。在產(chǎn)生輸出的過程中,根據(jù)是否使用輸入信號可以確定狀態(tài)機的類型。兩種典型的狀態(tài)機是米立(Mealy)狀態(tài)機和摩爾(Moore)狀態(tài)機。摩爾狀態(tài)機的輸出只是當前狀態(tài)的函數(shù),而米立狀態(tài)機的輸出一般是當前狀態(tài)和輸入信號的函數(shù)。對于這兩類狀態(tài)機,控制定序都取決于當前狀態(tài)和輸入信號。大多數(shù)實用的狀態(tài)機都是同步的時序電路,由時鐘信號觸發(fā)進行狀態(tài)的轉(zhuǎn)換。時鐘信號同所有的邊沿觸發(fā)的狀態(tài)寄存器和輸出寄存器相連,使狀態(tài)的改變發(fā)生在時鐘的上升或下降沿。在數(shù)字系統(tǒng)中.那些輸出取決于過去的輸入和當前的輸入的部分都可以作為有限狀態(tài)機。有限狀態(tài)機的全部“歷史”都反映在當前狀態(tài)上。當給FSM一個新的輸入時,它就會產(chǎn)生一個輸出。輸出由當前狀態(tài)和輸入共同決定,同時FSM也會轉(zhuǎn)移到下一個新狀態(tài),也是隨著FSM的當前狀態(tài)和輸入而定。FSM中,其內(nèi)部狀態(tài)存放在寄存器中,下一狀態(tài)的值由狀態(tài)譯碼器中的一個組合邏輯——轉(zhuǎn)移函數(shù)產(chǎn)生,狀態(tài)機的輸出由另一個組合邏輯——輸出函數(shù)產(chǎn)生。建立有限狀態(tài)機主要有兩種方法:狀態(tài)轉(zhuǎn)移圖(狀態(tài)圖)和狀態(tài)轉(zhuǎn)移表(狀態(tài)表)。它們是等價的,相互之間可以轉(zhuǎn)換。狀態(tài)轉(zhuǎn)移圖如圖2所示,圖中每個橢圓表示狀態(tài)機的一個狀態(tài),而箭頭表示狀態(tài)之間的一個轉(zhuǎn)換,引起轉(zhuǎn)換的輸入信號及當前輸出表示在轉(zhuǎn)換箭頭上。輸入輸入/出輸入/出輸入/出輸入/出輸入/出輸入/出狀態(tài)A狀態(tài)B狀態(tài)C狀態(tài)D狀態(tài)E圖2.2狀態(tài)轉(zhuǎn)移圖如果能夠?qū)懗鯢SM的狀態(tài)轉(zhuǎn)移圖,就可以使用VHDL的狀態(tài)機語句對它進行描述。狀態(tài)轉(zhuǎn)移表形式如表4所示。表中的行列出了全部可能的輸入信號組合和內(nèi)部狀態(tài)以及相應(yīng)的次狀態(tài)和輸出,因此狀態(tài)表規(guī)定了狀態(tài)機的轉(zhuǎn)換函數(shù)和輸出函數(shù)。然而,狀態(tài)表不適合具有大量輸入的系統(tǒng),因為隨著輸入的增加其狀態(tài)數(shù)和系統(tǒng)的復(fù)雜性會顯著增加。狀態(tài)轉(zhuǎn)移表現(xiàn)態(tài)輸入次態(tài)輸出S0-SnI0-ImS0-SnQ0-QP表2.1狀態(tài)轉(zhuǎn)移圖、狀態(tài)轉(zhuǎn)移表這兩種有限狀態(tài)機的建立方法是等價的,都描述了同一硬件結(jié)構(gòu),它們可以相互轉(zhuǎn)換,但各有優(yōu)缺點,分別適合于不同場合。2、一般狀態(tài)機的VHDL設(shè)計狀態(tài)機的一般組成用VHDL設(shè)計有限狀態(tài)機方法有多種,但最一般和最常用的狀態(tài)機設(shè)計通常包括說明部分,主控時序部分,主控組合部分和輔助進程部分。1說明部分說明部分中使用TYPE語句定義新的數(shù)據(jù)類型,此數(shù)據(jù)類型為枚舉型,其元素通常都用狀態(tài)機的狀態(tài)名來定義。狀態(tài)變量定義為信號,便于信息傳遞,并將狀態(tài)變量的數(shù)據(jù)類型定義為含有既定狀態(tài)元素的新定義的數(shù)據(jù)類型。說明部分一般放在結(jié)構(gòu)體的ARCHITECTURE和BEGIN之間。2主控時序進程是指負責狀態(tài)機運轉(zhuǎn)和在時鐘驅(qū)動正負現(xiàn)狀態(tài)機轉(zhuǎn)換的進程。狀態(tài)機隨外部時鐘信號以同步方式工作,當時鐘的有效跳變到來時,時序進程將代表次態(tài)的信號next_state中的內(nèi)容送入現(xiàn)態(tài)信號current_state中,而next_state中的內(nèi)容完全由其他進程根據(jù)實際情況而定,此進程中往往也包括一些清零或置位的控制信號。3主控組合進程根據(jù)外部輸入的控制信號(包括來自外部的和狀態(tài)機內(nèi)容的非主控進程的信號)或(和)當前狀態(tài)值確定下一狀態(tài)next_state的取值內(nèi)容,以及對外或?qū)?nèi)部其他進程輸出控制信號的內(nèi)容。4輔助進程用于配合狀態(tài)機工作的組合、時序進程或配合狀態(tài)機工作的其他時序進程。在一般狀態(tài)機的設(shè)計過程中,為了能獲得可綜合的,高效的VHDL狀態(tài)機描述,建議使用枚舉類數(shù)據(jù)類型來定義狀態(tài)機的狀態(tài),并使用多進程方式來描述狀態(tài)機的內(nèi)部邏輯。例如可使用兩個進程來描述,—個進程描述時序邏輯,包括狀態(tài)寄存器的工作和寄存器狀態(tài)的輸出,另一個進程描述組合邏輯,包括進程間狀態(tài)值的傳遞邏輯以及狀態(tài)轉(zhuǎn)換值的輸出。必要時還可以引入第三個進程完成其它的邏輯功能。下例描述的狀態(tài)機由兩個主控進程構(gòu)成,其中進程REG為主控時序進程,COM為主控組合進程。例:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYs_machineISPORT(clk,reset:INSTD_LOGIC;State_inputs:INSTD_LOGIC_VECTOR(0TO1);comb_outputs:OUTSTD_LOGIC_VECTOR(0TO1));ENDENTITYs_machine;ARCHITECTUREbehvOFs_machineISTYPEstatesIS(st0,st1,st2,st3);--定義states為枚舉型數(shù)據(jù)類型SIGNALcurrent_state,next_state:states;BEGINREG:PROCESS(reset,clk)--時序邏輯進程BEGINIFreset='1'THEN--異步復(fù)位Current_state<=st0;ELSIFclk='1'ANDclk'EVENTTHENcurrent_state<=next_state;--當檢測到時鐘上升沿時轉(zhuǎn)換至下一狀態(tài)ENDIF;ENDPROCESS;--由信號current_state將當前狀態(tài)值帶出此進程,進入進程COMCOM:PROCESS(current_state,state_Inputs)--組合邏輯進程BEGINCASEcurrent_stateIS--確定當前狀態(tài)的狀態(tài)值WHENst0=>comb_outputs<="00";--初始狀態(tài)譯碼輸出"00"IFstate_inputs="00"THEN--根據(jù)外部的狀態(tài)控制輸入"00"next_state<=st0;--在下一時鐘后,進程REG的狀態(tài)將維持為st0ELSEnext_state<=st1;--否則,在下一時鐘后,進程REG的狀態(tài)將為st1ENDIF;WHENst1=>comb_outputs<="01";--對應(yīng)狀態(tài)st1的譯碼輸出"01"IFstate_inputs="00"THEN--根據(jù)外部的狀態(tài)控制輸人"00"next_state<=st1;--在下一時鐘后,進程REG的狀態(tài)將維持為st1ELSEnext_state<=st2;--否則,在下一時鐘后,進程REG的狀態(tài)將為st2ENDIF;WHENst2=>comb_outputs<="10";--以下依次類推IFstate_inputs="11"THENnext_state<=st2;ELSEnext_state<=st3;ENDIF;WHENst3=>comb_outputs<="11";IFstate_inputs="11"THENnext_state<=st3;ELSEnext_state<=st0;ENDIF;ENDCASE;ENDPROCESS;ENDARCHITECTUREbehv;圖4為上述狀態(tài)機的工作時序圖。reset為異步復(fù)位信號,低電平有效,而clk為上升沿有效。如在第3個脈沖上升沿到來時current_state=“st0”,state_inputs=“01”,輸出comb_outputs=“01”。第4個脈沖上升沿到來時current_state=“st1”,state_inputs=“00”,輸出comb_outputs=“01”。綜合后的RTL圖如圖5所示。圖2.3狀態(tài)機的工作時序圖圖2.4狀態(tài)機的RTL圖一般來說,程序的不同進程間是并行運行的,但由于敏感信號設(shè)置的不同和電路的延遲,在時序上進程間的動作是有先后的。如對上例中的狀態(tài)轉(zhuǎn)換行為來說,有進程REG和COM,它們的敏感信號表分別為(reset,clk)和(current_state,state_inputs),在clk上升沿到來時,進程REG將首先運行,完成狀態(tài)轉(zhuǎn)換的賦值操作。如果外部控制信號state_inputs不變,只有當來自進程REG的信號current_state改變時,進程COM才開始動作,并將根據(jù)current_state和state_inputs的值來決定下一有效時鐘沿到來后,進程REG的狀態(tài)轉(zhuǎn)換方向。這個狀態(tài)機的兩位組合邏輯輸出comb_outputs是對當前狀態(tài)的譯碼。我們可以通過這個輸出值來了解狀態(tài)機內(nèi)部的運行情況,同時還可以利用外部控制信號state_inputs任意改變狀態(tài)機的狀態(tài)變化模式。注意:在上例中,有兩個信號起到了互反饋的作用,完成了兩個進程間的信息傳遞的功能,這兩個信號分別是current_state〔進程REG->進程COM)和next_state(進程COM->進程REG)。在VHDL中可以有兩種方式來創(chuàng)建反饋機制:即使用信號的方式和使用變量的方式。通常傾向于使用信號的方式(如例3)。一般而言,在進程中使用變量傳遞數(shù)據(jù),然后使用信號將數(shù)據(jù)帶出進程。在設(shè)計過程中,如果希望輸出的信號具有寄存器鎖存功能,則需要為此輸出寫第3個進程,并把clk和reset信號放入敏感信號表中。但必須注意避免由于寄存器的引入而創(chuàng)建了不必要的異步反饋路徑。根據(jù)VHDL綜合器的規(guī)則,對于所有可能的輸入條件,如果進程中的輸出信號沒有被明確的賦值時,此信號將自動被指定,即在未列出的條件下保持原值,這就意味著引入了寄存器。因此,我們在程序的綜合過程中,應(yīng)密切注意VHDL綜合器給出的警告信息,并根據(jù)警告信息對程序作必要的修改。一般來說,利用狀態(tài)機進行設(shè)計有如下幾個步驟:(1)分析設(shè)計要求,列出狀態(tài)機的全部可能狀態(tài),并對每一個狀態(tài)進行編碼。(2)根據(jù)狀態(tài)轉(zhuǎn)移關(guān)系和輸出函數(shù)畫出狀態(tài)轉(zhuǎn)移圖。(3)由狀態(tài)轉(zhuǎn)移圖,用VHDL語句對狀態(tài)機描述。狀態(tài)機的編碼方案在狀態(tài)機的編碼方案中,有兩種重要的編碼方法:二進制編碼和一位熱碼(One—Hot)編碼。在二進制編碼的狀態(tài)機中,狀態(tài)位(B)與狀態(tài)(S)的數(shù)目之間的關(guān)系為B=log2S,如兩位狀態(tài)位就有00,01,10,11四個不同狀態(tài),它們在不同的控制信號下可以進行狀態(tài)轉(zhuǎn)換,但如果各觸發(fā)器又沒有準確地同時改變其輸出值,那么在狀態(tài)01變到10時則會出現(xiàn)暫時的11或00狀態(tài)輸出,這類險象可能使整個系統(tǒng)造成不可預(yù)測的結(jié)果。這時,采用格雷碼二進制編碼是特別有益,在該編碼方案中,每次僅一個狀態(tài)位的值發(fā)生變化。一位熱碼編碼就是用n個觸發(fā)器來實現(xiàn)n個狀態(tài)的編碼方式,狀態(tài)機中的每一個狀態(tài)都由其中一個觸發(fā)器的狀態(tài)來表示。如4個狀態(tài)的狀態(tài)機需4個觸發(fā)器,同一時間僅一個狀態(tài)位處于邏輯1電平,四個狀態(tài)分別為:0001、0010、0100、1000。在實際應(yīng)用中,根據(jù)狀態(tài)機的復(fù)雜程度、所使用的器件系列和從非法狀態(tài)退出所需的條件來選擇最適合的編碼方案,使之能確保高效的性能和資源的利用。對復(fù)雜的狀態(tài)機,二進制編碼需用的觸發(fā)器的數(shù)目比一位熱碼編碼的少。如100個狀態(tài)的狀態(tài)機按二進制編碼僅用7個觸發(fā)器就可以實現(xiàn),而一位熱碼編碼則要求100個觸發(fā)器。另一方面,雖然一位熱碼編碼要求用較多的觸發(fā)器,但邏輯上通常相對簡單些。在二進制編碼的狀態(tài)機中,控制從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)的邏輯與所有7個狀態(tài)位以及狀態(tài)機的輸入均有關(guān)。這類邏輯通常要求到狀態(tài)位輸入的函數(shù)是多輸入變量的。然而,在一熱戀位編碼的狀態(tài)機中,到狀態(tài)位的輸入常常是其它狀態(tài)位的簡單函數(shù)。站在器件結(jié)構(gòu)的角度,不同結(jié)構(gòu)支持其確定的編碼類型。MAX+plusII編譯程序?qū)λ捎玫钠骷盗凶詣拥剡x擇最合適的編碼方法(除非在設(shè)計文件中規(guī)定了具體的編碼方案)。例如,F(xiàn)LEX7000器件系列是寄存器增強型(Register-intensive),以這類器件為對象的狀態(tài)機最好選用一位熱碼編碼方案來實現(xiàn)。由于一位熱碼編碼的狀態(tài)機降低了送到每一個狀態(tài)位的邏輯電路的復(fù)雜程度,因而可提高用FLEX7000器件實現(xiàn)的狀態(tài)機的性能。MAX5000和MAX7000器件系列最適合二進制狀態(tài)機編碼方案。這兩類器件都能夠利用共享和并聯(lián)的擴展乘積項有效地實現(xiàn)復(fù)雜的邏輯函數(shù)。因此,在這兩類器件小,可以容納復(fù)雜的組合邏輯函數(shù)而不會浪費資源或損失性能。2.4四層電梯控制器具體設(shè)計四層電梯控制器的功能電梯控制器是控制電梯按照顧客要求自動上下的裝置。四層電梯控制器的功能如下:(1)每層電梯入口處設(shè)有上下請求開關(guān),電梯內(nèi)設(shè)有顧客到達層次的停站請求開關(guān)。(2)設(shè)有電梯入口處位置指示裝置及電梯運行模式(上升或下降)指示裝置。(3)電梯每秒上升(下降)一層樓。(4)電梯到達有停站請求的樓層,經(jīng)過1秒電梯門打開,開門指示燈亮,開門4秒后,電梯門關(guān)閉(開門指示燈滅),電梯繼續(xù)進行,直至執(zhí)行完最后一個請求信號停留在當前層。(5)能記憶電梯內(nèi)外所有請求,并按照電梯運行規(guī)則按順序響應(yīng),每個請求信號保留至執(zhí)行后消除。(6)電梯運行規(guī)則—當電梯處于上升模式時,只響應(yīng)比電梯所在位置的上樓請求信號,由下而上逐個執(zhí)行,直到最后一個上樓請求執(zhí)行完畢;如果高層有下樓請求,則直接升到由下樓請求的最高樓層,然后進入下降模式。當電梯處于下降模式則與上升模式相反。(7)電梯初始狀態(tài)為一層開門狀態(tài)。四層電梯控制器的設(shè)計思路采用狀態(tài)機來實現(xiàn)電梯控制器,思路比較清晰,通過一個統(tǒng)一的1秒為周期的時鐘來觸發(fā)狀態(tài)機。根據(jù)電梯的實際工作情況,可以把狀態(tài)機設(shè)置10個狀態(tài),分別是“電梯停留在1層”、“開門”、“關(guān)門”、“開門等待第1秒”、“開門等待第二秒”、“開門等待第三秒”、“開門等待第四秒”、“上升”、“下降”和“停止”狀態(tài)。各個狀態(tài)之間的轉(zhuǎn)換條件可由上面的設(shè)計要求所決定。3、四層電梯控制器的綜合設(shè)計(1)四層電梯控制器的實體實際首先考慮輸入端口,一個異步復(fù)位端口reset,用于在系統(tǒng)不正常時回到初始狀態(tài);在電梯外部,必須有升降請求端口,一層最低,不需要下降請求,四層是最高層。不需要有上升請求,二層與三層則上升,下降請求端口都有;在電梯內(nèi)部,應(yīng)該設(shè)有各層停留的請求端口;一個電梯時鐘輸入端口,該輸入時鐘以1秒為周期,用于驅(qū)動電梯的升降及開門關(guān)門等動作;另有一個是按鍵時鐘輸入端口,時鐘頻率比電梯時鐘高。其次是輸出端口,有升降請求信號,就得有一個輸出端口來指示請求是否被響應(yīng),有請求信號以后,該輸出端口輸出邏輯’1’,被響應(yīng)以后則恢復(fù)邏輯’0’;同樣,在電梯內(nèi)部也應(yīng)該有這樣的輸出端口來顯示各層停留是否被響應(yīng);在電梯外部,需要一個端口來指示電梯現(xiàn)在所處的位置;電梯開門關(guān)門的狀態(tài)也能用一個輸出端口來指示;為了觀察電梯的運行是否正確,可以設(shè)置一個輸出端口來指示電梯的升降狀態(tài)。在端口的定義中定義position時選用的是整型數(shù)據(jù)類型(INTEGRER),主要是為了在電梯運行是便于觀察。整型直接可以看出電梯運行是樓層的變化,在第一層就顯示1,第二層就顯示2,很直觀。當然,position的定義也可以用標準邏輯矢量(STD_LOGIC_VECTOR)來定義,但是如果選用標準邏輯矢量,在電梯運行時就不是那么好觀察。這里是四層的電梯控制器,那么只需定義一個兩位的就足夠顯示了?!?0”的時候?qū)?yīng)電梯的第一層,”11”的時候就對應(yīng)第四層。但是”11”的十進制值為3,沒有和層次顯示的第四層想對應(yīng)起,所以就放棄選用標準邏輯矢量來定義position,而選用的整型。(2)四層電梯控制器的結(jié)構(gòu)體設(shè)計首先說明一下狀態(tài)。狀態(tài)機設(shè)置了10個狀態(tài),分別是電梯停留在1層(stopon1)、開門(dooropen)、關(guān)門(doorclose)、開門等待第1秒(doorwait1)、開門等待第2秒(doorwait2)、開門等待第3秒(doorwait3)、開門等待第4秒(doorwait4)、上升(up)、下降(down)和停止(stop)。在實體說明中定義完端口之后,在結(jié)構(gòu)體個之間需要有如下的定義語句,來定義狀態(tài)機。TYPElift_stateIS(stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop)--電梯的10個狀態(tài)SIGNALmylift:lift_state;--定義為lift類型的信號mylift在結(jié)構(gòu)體中,設(shè)計了兩個進程互相配合,一個狀態(tài)機進程作為主要進程,另外一個是信號燈控制進程作為輔助進程。狀態(tài)機進程中的很多判斷條件是以信號燈進程產(chǎn)生的信號燈信號為依據(jù)的,而信號燈進程中信號燈的熄滅又是有狀態(tài)機進程中傳出clearup和cleardn信號來控制。在狀態(tài)機進程中,在電梯上升狀態(tài)中,通過對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)上升還是停止;在電梯下降狀態(tài)中,也是通過對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)下降還是是停止;在電梯停止狀態(tài)中,判斷是最復(fù)雜的,通過對信號的判斷,決定電梯是上升、下降還是停止。在信號燈控制進程中,由于使用了專門的頻率較高的按鍵時鐘,所以使得按鍵的靈敏度增大,但是時鐘頻率不能過高,否則容易使按鍵過于靈敏。按鍵后產(chǎn)生的點亮的信號燈(邏輯值為’1’)用于作為狀態(tài)機進程中的判斷條件,而clearup和cleardn信號為邏輯’1’使得相應(yīng)的信號燈熄滅。四層電梯控制器設(shè)計輸入輸出端口定義表Buttonclk按鍵時鐘Liftclk電梯時鐘Reset異步復(fù)位信號f1upbutton第一層上升請求f2upbutton第二層上升請求f3upbutton第三層上升請求f2dnbutton第二層下降請求f3dnbutton第三層下降請求f4dnbutton第四層下降請求Fuplight上升指示燈(1到4)Fdnlight下降指示燈(1到4)stop1button第一層到站請求stop2button第二層到站請求stop3button第三層到站請求stop4button第四層到站請求Stoplight停止指示燈(1到4)Position電梯位置(1到4)Doorlight門燈Udsig電梯模式表2.2四層電梯控制器的VHDL描述源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYfourfilftISPORT(buttonclk:INSTD_LOGIC;liftclk:INSTD_LOGIC;reset:INSTD_LOGIC;f1upbutton:INSTD_LOGIC;f2upbutton:INSTD_LOGIC;f2dnbutton:INSTD_LOGIC;f3upbutton:INSTD_LOGIC;f3dnbutton:INSTD_LOGIC;f4dnbutton:INSTD_LOGIC;fuplight:BUFFERSTD_LOGIC_VECTOR(4DOWNTO1);fdnlight:BUFFERSTD_LOGIC_VECTOR(4DOWNTO1);stop1button,stop2button,stop3button,stop4button:INSTD_LOGIC;stoplight:BUFFERSTD_LOGIC_VECTOR(4DOWNTO1);position:BUFFERdoorlight:OUTSTD_LOGIC;udsig:BUFFERSTD_LOGIC);ENDfourfilft;ARCHITECTUREartOFfourfilftISTYPElift_stataIS(stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop);SIGNALmylift:lift_stata;SIGNALclearup:STD_LOGIC;SIGNALcleardn:STD_LOGIC;BEGINctrlift:PROCESS(reset,liftclk)VARIABLEpos:INTEGERRANGE4DOWNTO1;BEGINIFreset='1'THENmylift<=stopon1;clearup<='0';cleardn<='0';ELSEIFliftclk'EVENTANDliftclk='1'THENCASEmyliftISWHENstopon1=>doorlight<='1';position<=1;pos:=1;mylift<=doorwait1;WHENdoorwait1=>mylift<=doorwait2;WHENdoorwait2=>clearup<='0';cleardn<='0';mylift<=doorwait3;WHENdoorwait3=>mylift<=doorwait4;WHENdoorwait4=>mylift<=doorclose;WHENdoorclose=>doorlight<='0';IFudsig='0'THENIFposition=4THENIFstoplight="0000"ANDfuplight="0000"ANDfdnlight="0000"THENudsig<='1';mylift<=doorclose;ELSEudsig<='1';mylift<=down;clearup<='1';ENDIF;ELSIFposition=3THENIFstoplight="0000"ANDfuplight="0000"andfdnlight="0000"THENudsig<='0';mylift<=doorclose;ELSIFstoplight(4)='1'ORfdnlight(4)='1'THENudsig<='0';mylift<=up;clearup<='1';ELSEudsig<='1';mylift<=down;clearup<='1';ENDIF;ELSIFposition=2THENIFstoplight="0000"ANDfuplight="0000"ANDfdnlight="0000"THENudsig<='0';mylift<=doorclose;ELSIF(stoplight(3)='1'ORfuplight(3)='1')THENudsig<='0';mylift<=up;clearup<='1';ELSIF(stoplight(4)='1'ORfdnlight(4)='1')THENudsig<='0';mylift<=up;clearup<='1';ELSIF(fdnlight(3)='1')THENudsig<='0';mylift<=up;clearup<='1';ELSEudsig<='1';mylift<=down;clearup<='1';ENDIF;ELSIFposition=1THENIFstoplight<="0000"ANDfuplight<="0000"ANDfdnlight<="0000"THENudsig<='0';mylift<=doorclose;ELSEudsig<='0';mylift<=up;clearup<='1';ENDIF;ENDIF;ELSIFudsig='1'THENIFposition=1THENIFstoplight<="0000"ANDfuplight<="0000"ANDfdnlight<="0000"THENudsig<='0';mylift<=doorclose;ELSEudsig<='0';mylift<=up;cleardn<='1';ENDIF;ELSIFposition=2THENIFstoplight<="0000"ANDfuplight<="0000"ANDfdnlight<="0000"THENudsig<='1';mylift<=doorclose;ELSIFstoplight(1)='1'ORfuplight(1)='1'THENudsig<='1';mylift<=down;cleardn<='1';ELSEudsig<='0';mylift<=up;clearup<='1';ENDIF;ELSIFposition=3THENIFstoplight<="0000"ANDfuplight<="0000"ANDfdnlight<="0000"THENudsig<='1';mylift<=doorclose;ELSIF(stoplight(2)='1'ORfdnlight(2)='1')THENudsig<='1';mylift<=down;cleardn<='1';ELSIF(stoplight(1)='1'ORfuplight(1)='1')THENudsig<='1';mylift<=down;cleardn<='1';ELSIF(fuplight(2)='1')THENudsig<='1';mylift<=down;cleardn<='1';ELSEudsig<='0';mylift<=up;clearup<='1';ENDIF;ELSIFposition=4THENIFstoplight<="0000"ANDfuplight<="0000"ANDfdnlight<="0000"THENudsig<='1';mylift<=doorclose;ELSEudsig<='1';mylift<=down;cleardn<='1';ENDIF;ENDIF;ENDIF;WHENup=>position<=position+1;pos:=pos+1;IFpos<4AND(stoplight(pos)='1'ORfdnlight(pos)='1')THENmylift<=stop;ELSIFpos=4AND(stoplight(pos)='1'ORfdnlight(pos)='1')THENmylift<=stop;ELSEmylift<=doorclose;ENDIF;WHENdown=>position<=position-1;pos:=pos-1;IFpos>1AND(stoplight(pos)='1'ORfuplight(pos)='1')THENmylift<=stop;ELSIFpos=1AND(stoplight(pos)='1'ORfdnlight(pos)='1')THENmylift<=stop;ELSEmylift<=doorclose;ENDIF;WHENstop=>mylift<=dooropen;WHENdooropen=>doorlight<='1';IFudsig='0'THENIFposition<=3AND(stoplight(position)='1'ORfuplight(position)='1')THENclearup<='1';ELSEclearup<='1';cleardn<='1';ENDIF;ELSIFudsig='1'THENIFposition>=2AND(stoplight(position)='1'ORfdnlight(position)='1')THENcleardn<='1';ELSEclearup<='1';cleardn<='1';ENDIF;ENDIF;mylift<=doorwait1;ENDCASE;ENDIF;ENDIF;ENDprocessctrlift;ctrlight:PROCESS(reset,buttonclk)BEGINIFreset='1'THENstoplight<="0000";fuplight<="0000";fdnlight<="0000";ELSEIFbuttonclk'EVENTANDbuttonclk='1'THENIFclearup='1'THENstoplight(position)<='0';fuplight(position)<='0';ELSEIFf1upbutton='1'THENfuplight(1)<='1';ELSIFf2upbutton='1'THENfuplight(2)<='1';ELSIFf3upbutton='1'THENfuplight(3)<='1';ENDIF;ENDIF;IFcleardn='1'THENstoplight(position)<='0';fdnlight(position)<='0';ELSEIFf2dnbutton='1'THENfdnlight(2)<='1';ELSIFf3dnbutton='1'THENfdnlight(3)<='1';ELSIFf4dnbutton='1'THENfdnlight(4)<='1';ENDIF;ENDIF;IFstop1button='1'THENstoplight(1)<='1';ELSIFstop2button='1'THENstoplight(2)<='1';ELSIFstop3button='1'THENstoplight(3)<='1';ELSIFstop4button='1'THENstoplight(4)<='1';ENDIF;ENDIF;ENDIF;ENDprocessctrlight;ENDart;第三章四層電梯控制器的調(diào)試及仿真3.1程序修改調(diào)試在完成程序編寫后要進行程序的編譯與仿真,在編譯過程中要進行程序的改錯,在第一次編譯中出現(xiàn)了大量的錯誤,但大部分的都是由于粗心造成的端口的錯誤定義,還有就是在IF語句的結(jié)束是忘記“ENDIF”,或者是多寫了“EDNIF”,這樣的錯誤都是基本的,經(jīng)過編譯改錯后就要進行波形的仿真,在波形仿真中自己犯了一個大的錯誤,就是在下降請求時,按了下降請求按鍵后就馬上選擇了要到達的層次,比如先按fdnbuttton4,產(chǎn)生了一個下降請求,我馬上就按stopbutton2,結(jié)果電梯運行到第四層就不下來,我自己還考慮了好久,后來我仔細想了一下,發(fā)現(xiàn)在有下降請求后,電梯還沒有到達第四層,怎么就可以按停止按鍵呢。3.2波形仿真在仿真中我們應(yīng)該作一些符合實際情況的假設(shè),就是外部上升請求的乘客,進入電梯以后一定是按高層的內(nèi)部停站按鈕,有外部下降請求的乘客,進入電梯以后一定是按低層的內(nèi)部停站按鈕。而且乘客進入電梯以后必定要按按鍵。在同一時刻有很多人按鍵的概率很小,所以按鍵一定有先后順序。這些假設(shè)都是符合實際情況的。圖3.1所示仿真的是在2層電梯外部有上升請求,也就是f2upbutton產(chǎn)生一個脈沖,可以看到電梯從一層上升到二層,position信號由1變到2,doorlight信號邏輯’1’表示開門,’0再看fuplight信號燈,當二層有上升請求的嗣后,它的值由0變到2(注意,fuplight和fdnlight是4位的二進制的標準邏輯矢量,這里的2代表的是”0010”,表示二層有請求;”1000”也就是8,表示四層有請求)。當電梯停到二層以后,表示該請求被響應(yīng),所以它的值變?yōu)?。由于沒有下降請求的信號,所以fdnlight信號燈一直都是0。圖3.1圖3.2圖3.2是有兩次停站請求的仿真波形圖,符合停站的要求。圖3.3是有下降請求的情況,因為電梯的初始狀態(tài)為一層的開門等待狀態(tài),所以在第四層有下降請求的時候,電梯先是上升到第四層,開門4秒以后關(guān)門,然后下降,停站請求為第一層,所以到第一層的時候開門4秒后關(guān)門,停在第一層,等待下次請求。我們觀察fdnlight的變化顯示的是8,轉(zhuǎn)換為二進制就是“1000”,正好是第四層的下降指示燈亮,在電梯到第四層響應(yīng)了下降請求后,下降指示燈就關(guān)閉,顯示的就是“0”。在看電梯位置的變化,“1—2—3—4—3—2—1”沒有亂序,說明顯示是正確的。圖3.3圖3.4圖3.4是有兩站停站的請求,顯示是正確的,沒有混亂的現(xiàn)象。同時有上升請求和下降請求信號時,電梯的運行情況如圖圖3.5圖仿真的情況是,原來電梯停留在第一層,這時候電梯外部第4層有下降請求,在電梯上升到4層,乘客進入電梯以后要下降到第1層。與此同時,在電梯外有第二層的上升請求,電梯首先要響應(yīng)下降請求然后在相應(yīng)這個上升請求,所以電梯得先下降到一層,然后在上升到第二層,這是符合常理的。從仿真波形來看,電梯的位置變化和想象是一致的。電梯的運行完全正確。最后乘客在電梯內(nèi)部要求下降升到第一層,所以電梯最后停留的位置為第一層。在圖的仿真中,原先電梯停留在第一層,電梯外部有第四層的下降請求,電梯上升到第四層,乘客進入電梯以后要求下降到第一層。此時二層有下降請求,接著又有上升請求,電梯首先在第二層停留,然后下降到第一層。隨后要響應(yīng)第二層的上升請求,上升到第二層,乘客進入電梯以后要求上升到第三層,所以電梯最后停留的位置是第三層。圖3.6在電梯控制器的設(shè)計中,要考慮到層次的擴展,今天是四層,明天也許是五層,甚至更多,但是設(shè)計的思路都應(yīng)該按照設(shè)計四層電梯控制器的思路延續(xù)下去,比如說要設(shè)計五層的電梯控制器,那么要多的按鈕就是f4upbutton,f5dnbutton,stop5button,fuplight和fdnlight的長度都改為(5downto0),position的范圍就是1to5。其次就是要在電梯設(shè)計的過程中,因為在設(shè)計中涉及到電梯處于每一層的時候的判斷,就要根據(jù)實際的情況,寫出相應(yīng)的邏輯關(guān)系。例如電梯現(xiàn)在處于第三層的上升,如果電梯要上升,就不能單單的判斷第四層是否有升降請求,還要根據(jù)第五層的請求指令來判斷電梯到達第四層是該繼續(xù)上升還是就停止,或者是轉(zhuǎn)為下降狀態(tài),例如,現(xiàn)在電梯的狀態(tài)是上升,這個時候的邏輯關(guān)系是:Fdnlight(4)=’1’andfdnlight(5)=’1那么當電梯運行到第四層的時候就應(yīng)該繼續(xù)為up狀態(tài),先響應(yīng)第五層的下降請求,狀態(tài)變?yōu)閐own,再轉(zhuǎn)為下降狀態(tài),回到第四層再才相應(yīng)第四層的下降請求。類似的當電梯上升狀態(tài)處于第n層的時候就要判斷比它高的層次的請求,當電梯處于下降模式時,就要判斷比該層低的層的請求。結(jié)束語用VHDL硬件描述語言的形式來進行數(shù)字系統(tǒng)的設(shè)計方便靈活,利用EDA軟件進行編譯優(yōu)化仿真極大地減少了電路設(shè)計時間和可能發(fā)生的錯誤,降低了開發(fā)成本,這種設(shè)計方法必將在未來的數(shù)字系統(tǒng)設(shè)計中發(fā)揮越來越重要的作用。CPLD作為新一代工業(yè)控制器,以其高可靠性和技術(shù)先進性,在電梯控制中得到廣泛應(yīng)用,從而使電梯由傳統(tǒng)的繼電器控制方式發(fā)展為計算機控制的一個重要方向,成為當前電梯控制和技術(shù)改造的熱點之一。另外CPLD是一種專門從事邏輯控制的微型計算機系統(tǒng)。由于CPLD具有性能穩(wěn)定、抗干擾能力強、設(shè)計配置靈活等特點,配合VHDL語言的突出的優(yōu)點,因此在工業(yè)控制方面得到了廣泛應(yīng)用。相信以后必將受到世界范圍內(nèi)電子工程設(shè)汁人員的廣泛關(guān)注和普遍歡迎。本文中設(shè)計的電梯控制器利用以CPLD為實現(xiàn)載體,以VHDL為描述語言實現(xiàn)了電梯的升降舒適感和運行的可靠性,更相信在以后的智能建筑中得到廣泛的應(yīng)用和推廣謝辭本課題在選題及研

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論