版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本科生畢業(yè)設(shè)計(jì)基于CC2530的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)基于CC2530的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)李明達(dá)04101918信息工程2010-4班題目:姓名:學(xué)號(hào):班級(jí):二〇一四年六月中國(guó)礦業(yè)大學(xué)本科生畢業(yè)設(shè)計(jì)姓名:李明達(dá)學(xué)號(hào):04101918學(xué)院:信息與電氣工程學(xué)院專業(yè):信息工程設(shè)計(jì)題目:基于CC2530的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)專題:指導(dǎo)老師:華鋼職稱:教授二〇一四年六月徐州中國(guó)礦業(yè)高校畢業(yè)設(shè)計(jì)任務(wù)書學(xué)院信息與電氣工程學(xué)院專業(yè)年級(jí)信息2010級(jí)學(xué)生姓名李明達(dá)任務(wù)下達(dá)日期:201畢業(yè)設(shè)計(jì)日期:2013年12月畢業(yè)設(shè)計(jì)題目:基于CC2530的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)專題題目:畢業(yè)設(shè)計(jì)主要內(nèi)容和要求:1.設(shè)計(jì)基于CC2530的無(wú)線溫度檢測(cè)節(jié)點(diǎn);2.多個(gè)節(jié)點(diǎn)組成一跳網(wǎng)絡(luò);3.節(jié)點(diǎn)可睡眠;4.設(shè)計(jì)節(jié)點(diǎn)軟件;5.簡(jiǎn)潔設(shè)計(jì)上位機(jī)軟件院長(zhǎng)簽字:指導(dǎo)老師簽字:年月日
中國(guó)礦業(yè)高校畢業(yè)設(shè)計(jì)指導(dǎo)老師評(píng)閱書指導(dǎo)老師評(píng)語(yǔ)(①基礎(chǔ)理論與基本技能的駕馭;②獨(dú)立解決實(shí)際問題的實(shí)力;③探討內(nèi)容的理論依據(jù)和技術(shù)方法;④取得的主要成果與創(chuàng)新點(diǎn);⑤工作看法與工作量;⑥總體評(píng)價(jià)與建議成果;⑦存在問題;⑧是否同意答辯等):成績(jī):指導(dǎo)老師簽字:年月日
中國(guó)礦業(yè)高校畢業(yè)設(shè)計(jì)評(píng)閱老師評(píng)閱書評(píng)閱老師評(píng)語(yǔ)(①選題的意義;②基礎(chǔ)理論與基本技能的駕馭;③綜合運(yùn)用所學(xué)學(xué)問解決實(shí)際問題的實(shí)力;③工作量的大小;④取得的主要成果與創(chuàng)新點(diǎn);⑤寫作的規(guī)范程度;⑥總體評(píng)價(jià)與建議成果;⑦存在問題;⑧是否同意答辯等):成績(jī):評(píng)閱老師簽字:年月日
中國(guó)礦業(yè)高校畢業(yè)設(shè)計(jì)答辯與綜合成果答辯情況提出問題回答問題答辯委員會(huì)評(píng)語(yǔ)與建議成果:答辯委員會(huì)主任簽字:年月日學(xué)院領(lǐng)導(dǎo)小組綜合評(píng)定成果:學(xué)院領(lǐng)導(dǎo)小組負(fù)責(zé)人:年月日
摘要本文主要對(duì)煤礦監(jiān)控系統(tǒng)中溫度的監(jiān)測(cè)進(jìn)行探討和分析,依據(jù)國(guó)內(nèi)目前對(duì)于溫度監(jiān)測(cè)方法的探討,設(shè)計(jì)了一種基于CC2530的溫度監(jiān)測(cè)系統(tǒng)。本文首先對(duì)本課題的探討意義與國(guó)內(nèi)發(fā)呈現(xiàn)狀進(jìn)行分析和探討,具體比較了幾種現(xiàn)有的溫度監(jiān)測(cè)方法,依據(jù)煤礦監(jiān)控系統(tǒng)所處的困難環(huán)境須要,提出了基于CC2530的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)。隨后本文對(duì)設(shè)計(jì)所采納的ZigBee無(wú)線自組網(wǎng)技術(shù)和ZigBee開發(fā)套件進(jìn)行了簡(jiǎn)要介紹,并對(duì)設(shè)計(jì)所采納的Z-Stack協(xié)議棧的工作流程作具體介紹。本溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)在Z-Stack協(xié)議棧的基礎(chǔ)上進(jìn)行,其中包括溫度的采集、處理和傳輸,終端節(jié)點(diǎn)的休眠與喚醒,協(xié)調(diào)器節(jié)點(diǎn)串口通信等。另外,本文還對(duì)上位機(jī)軟件進(jìn)行了簡(jiǎn)潔設(shè)計(jì),用于溫度數(shù)據(jù)在上位機(jī)上的顯示。最終,本文對(duì)該系統(tǒng)的溫度監(jiān)測(cè)功能效果進(jìn)行驗(yàn)證,并總結(jié)分析驗(yàn)證結(jié)果。最終,設(shè)計(jì)出一種基于CC2530的溫度監(jiān)測(cè)系統(tǒng)。該無(wú)線傳感系統(tǒng)能夠?qū)崿F(xiàn)點(diǎn)對(duì)點(diǎn)通信,傳感器節(jié)點(diǎn)負(fù)責(zé)進(jìn)行溫度數(shù)據(jù)的采集和發(fā)送,協(xié)調(diào)器節(jié)點(diǎn)負(fù)責(zé)溫度數(shù)據(jù)的接收和轉(zhuǎn)發(fā),上位機(jī)軟件負(fù)責(zé)對(duì)溫度數(shù)據(jù)的顯示。關(guān)鍵詞:ZigBee;CC2530;DS18B20;溫度監(jiān)測(cè)
AbstractThispapermainlycarriesonresearchandanalysisofthemonitoringtemperatureofcoalminemonitoringsystem,accordingtothecurrentdomesticresearchfortemperaturemonitoringmethod,designatemperaturemonitoringsystembasedonCC2530.Thispaperfirstcarriesontheanalysisandresearchofthistopicresearchsignificanceandthedomesticdevelopmentstatus,adetailedcomparisonofthetemperaturemonitoringmethodofseveralexisting,accordingtothecomplexenvironmentofcoalminemonitoringsystemwhichneeds,putsforwardthedesigntemperaturemonitoringsystembasedonCC2530.ThenthedesignoftheZigBeewirelessadhocnetworktechnologyandZigBeedevelopmentkitareintroduced,andthedesignoftheZ-Stackprotocolstackoftheworkprocessareintroducedindetail.ThetemperaturemonitoringsystemdesignbasedontheZ-Stackprotocolstack,includingtheacquisition,processingandtransmissionoftemperature,dormancyandawakeningofterminalnodes,thecoordinatornodeserialcommunicationetc..Inaddition,thispaperalsogivesasimpledesignforthesoftware,usedtodisplayintheuppercomputertemperaturedata.Finally,thispaperverifiesthetemperaturemonitoringfunctionofthesystem,andanalyzedtheresults.Finally,thedesignofatemperaturemonitoringsystembasedonCC2530.Thewirelesssensingsystemcanrealizethepoint-to-pointcommunication,sensornodesareresponsiblefortemperaturedataacquisitionandsending,receivingthecoordinatornodeisresponsiblefortemperaturedataandforwarding,PCsoftwareisresponsibleforthedisplayofthetemperaturedata.Keywords:ZigBee;CC2530;DS18B20;Temperaturemonitoring
目錄1.緒論 11.1課題的探討背景與意義 11.2國(guó)內(nèi)外探討概況 11.3論文的主要內(nèi)容與結(jié)構(gòu)支配 22.ZigBee協(xié)議簡(jiǎn)介 32.1ZigBee協(xié)議體系結(jié)構(gòu) 32.1.1物理層(PHY) 42.1.2媒體介質(zhì)訪問層(MAC) 42.1.3網(wǎng)絡(luò)層(NWK) 52.1.4應(yīng)用層(APL) 52.2ZigBee基本概念 62.2.1設(shè)備類型 62.2.2網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu) 72.2.3信標(biāo)與非信標(biāo)模式 82.2.4ZigBee術(shù)語(yǔ) 82.2.5綁定 92.2.6ZigBee原語(yǔ) 93.基于CC2530的溫度監(jiān)測(cè)系統(tǒng) 103.1系統(tǒng)設(shè)計(jì)思路與整體結(jié)構(gòu) 103.2系統(tǒng)硬件設(shè)計(jì) 103.2.1ZigBee開發(fā)套件 103.2.2CC2530概述 123.2.3DS18B20概述 153.3系統(tǒng)軟件設(shè)計(jì) 153.3.1軟件開發(fā)環(huán)境IAR簡(jiǎn)介 153.3.2Z-Stack體系架構(gòu)與工作流程 153.3.3網(wǎng)絡(luò)通信過程 193.3.4溫度測(cè)量與數(shù)據(jù)傳輸 213.3.5節(jié)點(diǎn)休眠 233.3.6上位機(jī)軟件設(shè)計(jì) 244.系統(tǒng)測(cè)試 274.1系統(tǒng)測(cè)試步驟 274.2系統(tǒng)測(cè)試結(jié)果 274.3系統(tǒng)測(cè)試結(jié)果分析 285.總結(jié)與展望 295.1工作總結(jié) 295.2前景展望 29參考文獻(xiàn) 31翻譯部分 32中文譯文 32原文 37致謝 421.緒論1.1課題的探討背景與意義煤炭自燃產(chǎn)生的有害氣體不僅嚴(yán)峻危害井下人員的健康,而且簡(jiǎn)潔誘發(fā)瓦斯、煤塵爆炸事故,并造成嚴(yán)峻的資源奢侈,因此研制煤礦采空區(qū)火源點(diǎn)感知網(wǎng)絡(luò)系統(tǒng)是煤礦平安生產(chǎn)的迫切須要,對(duì)于制定采空區(qū)防滅火措施,實(shí)現(xiàn)煤礦平安高效生產(chǎn)和可持續(xù)發(fā)展具有重大的現(xiàn)實(shí)意義?;贑C2530的溫度監(jiān)測(cè)系統(tǒng)不僅能有效滿意煤礦采空區(qū)火源點(diǎn)感知的需求,而且還因?yàn)槠渚哂械统杀尽⒌凸牡忍攸c(diǎn),受到人們的廣泛青睞。由于簡(jiǎn)化協(xié)議,對(duì)于限制器的要求已經(jīng)很低,以8051的8位限制器測(cè)算,每塊芯片僅須要2美元,而且ZigBee協(xié)議免專利費(fèi),免執(zhí)照頻段,進(jìn)一步降低了產(chǎn)品成本。CC2530在眾多無(wú)線通訊芯片中最為突出的優(yōu)勢(shì)是低功耗,在休眠模式下,2節(jié)5號(hào)電池就可以維持1至2年。因此,探討基于CC2530的溫度監(jiān)測(cè)系統(tǒng)是特別有意義的。1.2國(guó)內(nèi)外探討概況煤礦采空區(qū)自然發(fā)覺火源位置的探測(cè)在技術(shù)實(shí)現(xiàn)上的難度較大。國(guó)內(nèi)外在這一領(lǐng)域內(nèi)進(jìn)行了大量的探討工作。現(xiàn)有技術(shù)主要有:電磁探測(cè)法、氣體探測(cè)法和溫度探測(cè)法。它們各具特點(diǎn),適應(yīng)不同的開采條件,也存在著各自的不足之處。氣體探測(cè)法。主要包括采空區(qū)氣體成分分析法和測(cè)氡法。束管是當(dāng)前我國(guó)煤礦火災(zāi)監(jiān)測(cè)的主要手段,它利用在采空區(qū)不同位置布置多條空氣采集管,定時(shí)抽取特定區(qū)域的氣體樣本,對(duì)該區(qū)域某點(diǎn)的O2、N2、CO、CH4、CO2、C2H4、C2H6、C2H2等自然火災(zāi)標(biāo)記氣體含量循環(huán)監(jiān)測(cè),推斷煤面的氧化狀況,預(yù)料預(yù)報(bào)發(fā)火點(diǎn)的溫度變更,為煤礦自然火災(zāi)的防治工作供應(yīng)科學(xué)依據(jù)。具統(tǒng)計(jì)我國(guó)目前獲得安標(biāo)的都是該類產(chǎn)品。國(guó)內(nèi)外,還開展了測(cè)氡法探測(cè)火源位置的探討。其基本原理是放射性元素存在衰變現(xiàn)象,在衰變過程中產(chǎn)生氡氣,而在實(shí)際的地層測(cè)量中。人們找到了溫度與氡氣濃度之間的關(guān)系,依據(jù)這種關(guān)系可以從氡氣濃度的變更反過來(lái)推算出火源的溫度。電磁法。包括磁性探測(cè)法和電阻率探測(cè)法。磁性探測(cè)法,利用煤層上覆巖中常含有大量菱鐵礦與黃鐵礦結(jié)核,發(fā)生自燃時(shí),上覆巖受高溫烘烤,鐵質(zhì)成分發(fā)生變更而形成磁性物質(zhì),且磁性隨自燃溫度的上升而增加的原理,實(shí)現(xiàn)對(duì)采空區(qū)發(fā)火點(diǎn)的檢測(cè)。電阻率法,地下煤層沿走向或其它方向電阻率基本保持不變,自燃后引起煤層和四周巖石電阻率變更;自燃初期電阻率下降,后期表現(xiàn)較高電阻率,比較未自燃區(qū)和自燃區(qū)的變更來(lái)推斷自燃位置。溫度探測(cè)法。主要有二類系統(tǒng),基于無(wú)線的采空區(qū)溫度監(jiān)測(cè)系統(tǒng)、基于分布式光纖傳感器的采空區(qū)溫度監(jiān)測(cè)系統(tǒng)。無(wú)線傳感器網(wǎng)絡(luò)溫度監(jiān)測(cè)技術(shù)是近年來(lái)逐步發(fā)展起來(lái)的監(jiān)測(cè)煤自然發(fā)火的檢測(cè)方法。河南理工高校、西安科技高校、黑龍江科技學(xué)院、太原電子探討設(shè)計(jì)院等相繼對(duì)采空區(qū)溫度場(chǎng)無(wú)線自組網(wǎng)傳感器監(jiān)測(cè)系統(tǒng)進(jìn)行了理論探討和開發(fā)。他們的探討表明,煤自燃溫度場(chǎng)無(wú)線網(wǎng)絡(luò)監(jiān)測(cè)法能與時(shí)預(yù)料溫度場(chǎng)的微弱變更,比CO的預(yù)報(bào)更早,對(duì)于煤炭自然發(fā)火早期預(yù)警預(yù)報(bào)有特別重要的意義,已經(jīng)被業(yè)界認(rèn)可。但是,這方面至今還沒有產(chǎn)品推出。山東省科學(xué)院,提出了利用光纖拉曼散射效應(yīng)(Ramanscattering)和光時(shí)域反射測(cè)量技術(shù)(OpticalTime-DomainReflectometry,簡(jiǎn)稱OTDR)來(lái)獲得空間溫度分布信息。其中光纖拉曼散射效應(yīng)(Ramanscattering)用于實(shí)現(xiàn)溫度測(cè)量,光時(shí)域反射測(cè)量技術(shù)(OpticalTimeDomainReflectometer)用于實(shí)現(xiàn)溫度定位,是近幾年發(fā)展起來(lái)的一種用于實(shí)時(shí)測(cè)量空間溫度場(chǎng)分布的高科技技術(shù),它能夠連續(xù)測(cè)量光纖沿線的溫度分布狀況,測(cè)量距離可達(dá)30公里,空間定位精度達(dá)到米的數(shù)量級(jí),能夠進(jìn)行不間斷的自動(dòng)測(cè)量,特殊相宜于須要長(zhǎng)距離、大范圍多點(diǎn)測(cè)量的應(yīng)用場(chǎng)合。綜上所述,束管監(jiān)測(cè)系統(tǒng)屬于對(duì)自然發(fā)火的間接測(cè)量,發(fā)火點(diǎn)定位困難,且束管監(jiān)測(cè)系統(tǒng)的管線較長(zhǎng),投入大,維護(hù)困難,且常常發(fā)生管路漏氣或堵塞現(xiàn)象。分布式光纖溫度監(jiān)測(cè)系統(tǒng),在采空區(qū)溫度檢測(cè)中遇到的最大問題,是監(jiān)測(cè)光纖極可能被塌落的頂板砸斷,造成不行復(fù)原故障。測(cè)氡法,該方法與好用還有很大距離,首先是地質(zhì)因素的影響,并不是全部礦都具有可供測(cè)量的氡氣存在;另一方面就是氡氣濃度與火源溫度之間的關(guān)系并不是單調(diào)增減,而是在某一基軸線上的減幅波動(dòng),從而影響火源定位精確性。電磁法自然發(fā)覺火點(diǎn)探測(cè)技術(shù),必需等煤炭燃燒起來(lái)才可以運(yùn)用,適用于已經(jīng)火災(zāi)已經(jīng)形成狀況下,不適用于火源點(diǎn)的預(yù)警與報(bào)警。1.3論文的主要內(nèi)容與結(jié)構(gòu)支配本論文主要探討“基于CC2530的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)”,包括節(jié)點(diǎn)的硬件設(shè)計(jì)、無(wú)線傳感器網(wǎng)絡(luò)的組建、對(duì)溫度監(jiān)測(cè)功能的實(shí)現(xiàn)分析。本文共分為六章:第一章,緒論闡述了基于CC2530的溫度監(jiān)測(cè)系統(tǒng)探討的背景與意義,國(guó)內(nèi)外探討煤礦采空區(qū)自然發(fā)覺火源位置的探測(cè)的概況;其次章,簡(jiǎn)述ZigBee協(xié)議棧結(jié)構(gòu)、協(xié)議中各子層功能;第三章,對(duì)CC2530開發(fā)套件與CC2530芯片進(jìn)行簡(jiǎn)介,對(duì)設(shè)計(jì)采納的軟件開發(fā)環(huán)境IAR進(jìn)行簡(jiǎn)介,具體介紹Z-Stack協(xié)議棧工作流程,對(duì)溫度采集、處理、傳輸程序進(jìn)行分析和對(duì)休眠與喚醒程序進(jìn)行分析,分析上位機(jī)軟件設(shè)計(jì);第四章,簡(jiǎn)述該系統(tǒng)設(shè)計(jì)的測(cè)試與調(diào)試過程,分析試驗(yàn)結(jié)果;第五章,總結(jié)與展望,對(duì)整個(gè)設(shè)計(jì)進(jìn)行總結(jié)分析出自己的心得體會(huì)。
2.ZigBee協(xié)議簡(jiǎn)介2.1ZigBee協(xié)議體系結(jié)構(gòu)ZigBee協(xié)議基于IEEE802.15.4標(biāo)準(zhǔn),由IEEE802.15.4和ZigBee聯(lián)盟共同制定。ZigBee協(xié)議棧由物理層(PHY)、媒體介質(zhì)訪問層(MAC)、網(wǎng)絡(luò)層(NWK)和應(yīng)用層(APL)共4層構(gòu)成,其中PHY層和MAC層由IEEE802.15.4標(biāo)準(zhǔn)工作組制訂,而NWK層和APL層由ZigBee聯(lián)盟自行制訂。每一層都完成其各自特定的任務(wù)并且向上一層供應(yīng)服務(wù),數(shù)據(jù)服務(wù)實(shí)體主要負(fù)責(zé)數(shù)據(jù)傳輸服務(wù),管理服務(wù)實(shí)體則主要負(fù)責(zé)全部的其他管理服務(wù)。每個(gè)服務(wù)實(shí)體為其上層供應(yīng)須要的接口都是通過其相應(yīng)的服務(wù)接入點(diǎn)(SAP)實(shí)現(xiàn)的,每個(gè)SAP所對(duì)應(yīng)的功能通過服務(wù)原語(yǔ)來(lái)完成,且每個(gè)SAP支持很多種不同的服務(wù)原語(yǔ)。ZigBee協(xié)議體系結(jié)構(gòu)如圖2.1所示:圖2.1ZigBee協(xié)議體系結(jié)構(gòu)圖2.1.1物理層(PHY)物理層定義了物理無(wú)線信道和MAC層之間的接口,供應(yīng)三種不同的通信頻段:868MHz-868.6MHz、902MHz-928MHz和2400MHz-24835MHz,以與1個(gè)、10個(gè)以與16個(gè)不同的信道。物理層供應(yīng)兩種服務(wù):物理層數(shù)據(jù)服務(wù)(PD)和物理層管理服務(wù)(PLME)。通過無(wú)線信道的發(fā)送和接收以與物理層協(xié)議數(shù)據(jù)單元(PPDU)來(lái)實(shí)現(xiàn)物理層數(shù)據(jù)服務(wù)。PLME主要通過調(diào)用物理層管理功能函數(shù)來(lái)供應(yīng)管理和服務(wù),其中物理層數(shù)據(jù)服務(wù)接入點(diǎn)(PD-SAP)給MAC層供應(yīng)數(shù)據(jù)服務(wù)接口,而物理層管理實(shí)體服務(wù)接入點(diǎn)(PLME-SAP)給MAC層供應(yīng)管理服務(wù)接口。驅(qū)動(dòng)程序?yàn)槲锢韺庸?yīng)的接口是無(wú)線射頻服務(wù)接入點(diǎn)(RF-SAP),從外界接收到數(shù)據(jù)包后,從物理層中提取信息并通過PD-SAP上傳給上層協(xié)議。物理層結(jié)構(gòu)與接口示意圖如圖2.2所示。圖2.2物理層結(jié)構(gòu)與接口示意圖物理層的主要功能包括:1)ZigBee系統(tǒng)的啟動(dòng)和關(guān)閉;2)當(dāng)前信道的能量檢測(cè);3)鏈路質(zhì)量信息;4)信道評(píng)估與選擇;5)傳輸和接收數(shù)據(jù)。2.1.2媒體介質(zhì)訪問層(MAC)MAC層限制無(wú)線信道訪問時(shí)運(yùn)用CSMA-CA沖突避開機(jī)制,是全部無(wú)線信道的維護(hù)接口,供應(yīng)兩個(gè)相鄰設(shè)備之間牢靠的鏈路。MAC層由MAC層管理實(shí)體(MLME)供應(yīng)MAC層管理服務(wù)和MAC層數(shù)據(jù)服務(wù)實(shí)體(MCPS)供應(yīng)MAC層數(shù)據(jù)服務(wù)兩部分構(gòu)成。MAC層數(shù)據(jù)服務(wù)是指MAC層協(xié)議數(shù)據(jù)單元(MPDU)通過物理層數(shù)據(jù)服務(wù)發(fā)送和接收,而MAC層數(shù)據(jù)服務(wù)接入點(diǎn)(MCPS-SAP)給網(wǎng)絡(luò)層供應(yīng)數(shù)據(jù)服務(wù)接口。MAC層管理實(shí)體以供應(yīng)可調(diào)用MAC層管理功能接口為目的,MAC層管理實(shí)體服務(wù)接入點(diǎn)(MLME-SAP)為網(wǎng)絡(luò)層供應(yīng)管理服務(wù)接口。MAC層的結(jié)構(gòu)接口示意圖如圖2.3所示。圖2.3MAC層結(jié)構(gòu)和接口圖MAC層主要功能包括:1)信標(biāo)的產(chǎn)生與同步;2)信道接入;3)保證系統(tǒng)的平安性;4)管理時(shí)隙(GTS)機(jī)制;5)供應(yīng)牢靠的通信鏈路。2.1.3網(wǎng)絡(luò)層(NWK)網(wǎng)絡(luò)層是ZigBee協(xié)議棧的核心部分。網(wǎng)絡(luò)層由網(wǎng)絡(luò)層數(shù)據(jù)服務(wù)實(shí)體(NLDE)和網(wǎng)絡(luò)層管理實(shí)體(NLME)兩部分共同組成,不僅為MAC層供應(yīng)函數(shù)而且為應(yīng)用層供應(yīng)服務(wù)接口。網(wǎng)絡(luò)層數(shù)據(jù)服務(wù)實(shí)體產(chǎn)生網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元(NPDU)為設(shè)備間的數(shù)據(jù)傳輸供應(yīng)必要的服務(wù),通過網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體服務(wù)接入點(diǎn)(NLDE-SAP)為應(yīng)用層供應(yīng)數(shù)據(jù)服務(wù)接口。網(wǎng)絡(luò)層管理實(shí)體主要負(fù)責(zé)網(wǎng)絡(luò)中的管理服務(wù),通過網(wǎng)絡(luò)層管理實(shí)體接入點(diǎn)(NLME-SAP)實(shí)現(xiàn)。網(wǎng)絡(luò)層結(jié)構(gòu)和接口圖如圖2.4所示。網(wǎng)絡(luò)層主要功能包括:1)網(wǎng)絡(luò)的發(fā)覺、形成和維護(hù);2)路由器初始化;3)供應(yīng)網(wǎng)絡(luò)節(jié)點(diǎn)地址安排;4)允許設(shè)備干脆或間接同網(wǎng)絡(luò)連接;5)斷開網(wǎng)絡(luò)連接;6)復(fù)位配置;7)信息庫(kù)管理。圖2.4網(wǎng)絡(luò)層結(jié)構(gòu)和接口圖2.1.4應(yīng)用層(APL)ZigBee應(yīng)用層框架由應(yīng)用支持子層(APS)、應(yīng)用程序框架(AF)、ZigBee設(shè)備對(duì)象(ZDO)和用戶定義的應(yīng)用對(duì)象4個(gè)部分組成。ZigBee應(yīng)用層除了供應(yīng)必要的函數(shù)以與服務(wù)接口外,另一個(gè)重要的功能是讓用戶在應(yīng)用層里編輯自己的應(yīng)用對(duì)象。應(yīng)用支持層(APS)具有管理綁定表、在綁定設(shè)備間傳輸數(shù)據(jù)的功能。它由主要負(fù)責(zé)為設(shè)備間的數(shù)據(jù)傳輸供應(yīng)相應(yīng)服務(wù)的應(yīng)用支持子層數(shù)據(jù)服務(wù)實(shí)體(APSDE)和主要負(fù)責(zé)依據(jù)吩咐供應(yīng)相應(yīng)管理和服務(wù)的應(yīng)用支持子層管理實(shí)體(APSME)共同組成。在應(yīng)用層中,應(yīng)用支持子層數(shù)據(jù)接入點(diǎn)(APSDE-SAP)和應(yīng)用支持子層管理服務(wù)接入點(diǎn)(APSME-SAP)分別為上層的應(yīng)用實(shí)體供應(yīng)數(shù)據(jù)和管理服務(wù)。應(yīng)用支持子層結(jié)構(gòu)與接口圖如圖2.5所示。應(yīng)用程序框架(AF)其本質(zhì)就是各個(gè)制造商所自定義的應(yīng)用對(duì)象,并供應(yīng)鍵值對(duì)(KVP)服務(wù)和報(bào)文(MSG)服務(wù)以滿意應(yīng)用對(duì)象的數(shù)據(jù)傳輸,用戶自定義應(yīng)用對(duì)象必需遵循在端點(diǎn)1-240上運(yùn)行的規(guī)范(profile)原則。設(shè)備在網(wǎng)絡(luò)中的角色(例如是ZigBee協(xié)調(diào)器或是ZigBee終端設(shè)備或是ZigBee路由器)是由ZigBee設(shè)備對(duì)象(ZDO)定義的,同時(shí)ZigBee設(shè)備對(duì)象還負(fù)責(zé)對(duì)綁定懇求的響應(yīng)和初始化,在設(shè)備間建立牢靠的聯(lián)系。圖2.5應(yīng)用支持子層結(jié)構(gòu)與接口圖2.2ZigBee基本概念ZigBee協(xié)議棧主要包含6個(gè)基本概念:設(shè)備類型、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、信標(biāo)與非信標(biāo)模式、ZigBee術(shù)語(yǔ)、綁定、ZigBee原語(yǔ)。2.2.1設(shè)備類型ZigBee系統(tǒng)中的設(shè)備可能包含協(xié)調(diào)器(Coordinator)、路由器(Router)和終端節(jié)點(diǎn)(EndDevice)3種邏輯類型中的兩種或三種,一個(gè)完整的ZigBee網(wǎng)絡(luò)由至少一個(gè)協(xié)調(diào)器、一個(gè)或多個(gè)路由器和一個(gè)或多個(gè)終端節(jié)點(diǎn)組成。①協(xié)調(diào)器ZigBee網(wǎng)絡(luò)的拓?fù)湫问娇梢远喾N多樣,但是每個(gè)ZigBee網(wǎng)絡(luò)中有且只有一個(gè)協(xié)調(diào)器節(jié)點(diǎn)。協(xié)調(diào)器負(fù)責(zé)選擇網(wǎng)絡(luò)的信道、啟動(dòng)并建立整個(gè)網(wǎng)絡(luò)。協(xié)調(diào)器也可以幫助網(wǎng)絡(luò)中平安服務(wù)和應(yīng)用層的綁定服務(wù)的建立。但是協(xié)調(diào)器的角色只涉與網(wǎng)絡(luò)的啟動(dòng)和配置,之后整個(gè)網(wǎng)絡(luò)的運(yùn)行就不再依靠于協(xié)調(diào)器是否存在。②路由器在樹形和網(wǎng)狀拓?fù)浣Y(jié)構(gòu)中,須要有路由器節(jié)點(diǎn)的加入,它是網(wǎng)絡(luò)遠(yuǎn)距離延長(zhǎng)的必要部分。路由器節(jié)點(diǎn)的功能是允許其他節(jié)點(diǎn)加入網(wǎng)絡(luò),幫助各個(gè)節(jié)點(diǎn)之間的通信。③終端設(shè)備終端設(shè)備主要負(fù)責(zé)信息的接收和發(fā)送,不須要維持特定的網(wǎng)絡(luò)結(jié)構(gòu),可以依據(jù)須要進(jìn)入休眠或喚醒狀態(tài)以降低功耗。終端設(shè)備一般由電池供電,對(duì)存儲(chǔ)空間要求比較小。2.2.2網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)ZigBee支持3種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),包括:星型拓?fù)渚W(wǎng)絡(luò)、樹形拓?fù)渚W(wǎng)絡(luò)和網(wǎng)狀拓?fù)渚W(wǎng)絡(luò)。如圖2.6所示。其中,全功能設(shè)備(FFD,Router)可以支持任何一種網(wǎng)絡(luò)結(jié)構(gòu),可以作為網(wǎng)絡(luò)協(xié)商者和一般協(xié)商者運(yùn)用,并且可以和任何一種設(shè)備進(jìn)行相互通信。精簡(jiǎn)功能設(shè)備(RFD)只支持星型網(wǎng)絡(luò)結(jié)構(gòu),不能成為任何一種協(xié)商者運(yùn)用,但是可以和網(wǎng)絡(luò)協(xié)商者相互通信。圖2.6ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)①星型拓?fù)渚W(wǎng)絡(luò)星型拓?fù)渚W(wǎng)絡(luò)是最簡(jiǎn)潔的一種拓?fù)浣Y(jié)構(gòu),由一個(gè)協(xié)調(diào)器和一個(gè)或多個(gè)終端設(shè)備組成,只存在協(xié)調(diào)器與終端設(shè)備的通信,而沒有路由節(jié)點(diǎn)的參加,終端設(shè)備之間的相互通訊必需通過協(xié)調(diào)器轉(zhuǎn)發(fā)。②樹形拓?fù)浣Y(jié)構(gòu)樹形拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)可以理解為由一個(gè)協(xié)調(diào)器和一個(gè)或多個(gè)星型結(jié)構(gòu)連接而成,干脆通信只能在父子節(jié)點(diǎn)之間進(jìn)行,而非父子節(jié)點(diǎn)之間的通信只能通過樹狀路由器間接完成。③網(wǎng)狀拓?fù)渚W(wǎng)絡(luò)網(wǎng)狀拓?fù)渚W(wǎng)絡(luò)具有敏捷、削減消息延時(shí)和牢靠的特點(diǎn),網(wǎng)絡(luò)中全部具有路由功能的節(jié)點(diǎn)干脆互聯(lián),隨意兩個(gè)節(jié)點(diǎn)間可相互傳輸數(shù)據(jù),網(wǎng)絡(luò)路徑通過路由器中的路由表依據(jù)算法選擇。2.2.3信標(biāo)與非信標(biāo)模式ZigBee網(wǎng)絡(luò)可以分為信標(biāo)(Beacon)和非信標(biāo)(Non-beacon)兩種工作模式。為最大限度的節(jié)約能源消耗,信標(biāo)模式可以使全部網(wǎng)絡(luò)設(shè)備同步工作和同步休眠;而在非信標(biāo)模式下,協(xié)調(diào)器和路由器必需長(zhǎng)時(shí)間處于工作狀態(tài),只允許終端設(shè)備周期性進(jìn)入休眠模式。在信標(biāo)模式下,協(xié)調(diào)器向網(wǎng)絡(luò)廣播16個(gè)相同時(shí)間槽間隔的信標(biāo)幀一般以15ms-4min之間的時(shí)間為間隔。時(shí)間槽被分為網(wǎng)絡(luò)活動(dòng)區(qū)和網(wǎng)絡(luò)休眠區(qū)兩個(gè)部分,消息只能在網(wǎng)絡(luò)活動(dòng)區(qū)內(nèi)發(fā)送。在非信標(biāo)模式下,采納終端節(jié)點(diǎn)向父節(jié)點(diǎn)提取數(shù)據(jù),父節(jié)點(diǎn)為子節(jié)點(diǎn)緩存數(shù)據(jù)的機(jī)制,使終端設(shè)備可以周期性進(jìn)入休眠模式以達(dá)到低功耗。在ZigBee網(wǎng)絡(luò)中,子節(jié)點(diǎn)大部分時(shí)間通常都處于休眠工作狀態(tài),但須要周期性醒來(lái)確認(rèn)自己仍處于網(wǎng)絡(luò)中,并可在15ms的延時(shí)后轉(zhuǎn)入數(shù)據(jù)傳輸模式,提取數(shù)據(jù)。2.2.4ZigBee術(shù)語(yǔ)圖2.7ZigBee術(shù)語(yǔ)結(jié)構(gòu)圖①屬性反映物理數(shù)量或狀態(tài)的數(shù)據(jù)值稱為屬性,如開關(guān)值(On/Off),溫度值、百分比等。②群集群集就是屬性的集合,每一個(gè)群集都被系統(tǒng)安排一個(gè)獨(dú)有的的群集ID且每個(gè)群集至多可以有65536個(gè)屬性。③設(shè)備描述設(shè)備描述包含一個(gè)或多個(gè)集群,指定集群是輸入或輸出,描述符有4種,分別是簡(jiǎn)潔描述符、節(jié)點(diǎn)描述符、電源描述符、端點(diǎn)描述符。④端點(diǎn)端點(diǎn)是協(xié)議棧應(yīng)用層的入口,是為實(shí)現(xiàn)一個(gè)設(shè)備描述而定義的一組群集。用戶可以在每個(gè)設(shè)備上自定義240個(gè)應(yīng)用對(duì)象(也就是端點(diǎn)1-240)。每個(gè)ZigBee設(shè)備必需運(yùn)用端點(diǎn)0用于與ZDO接口,而被保留用于廣播的端點(diǎn)是255,端點(diǎn)241-254則被保留下來(lái)為了將來(lái)做擴(kuò)展時(shí)運(yùn)用。⑤節(jié)點(diǎn)每個(gè)節(jié)點(diǎn)有且只有一個(gè)信道運(yùn)用,包含一組ZigBee設(shè)備,也可以理解為是一個(gè)特地的ZigBee設(shè)備的容器。2.2.5綁定通過運(yùn)用ClusterI使不同的節(jié)點(diǎn)上的獨(dú)立端點(diǎn)之間能夠建立一個(gè)邏輯上的連接的特殊操作被稱為綁定。綁定操作的實(shí)現(xiàn)是協(xié)調(diào)器在接收到兩個(gè)端點(diǎn)的綁定懇求之后,通過建立綁定表使端點(diǎn)間建立一種邏輯鏈路。在兩個(gè)端點(diǎn)建立綁定表后,端點(diǎn)間的通信是由一個(gè)端點(diǎn)將信息傳遞給協(xié)調(diào)器,再由協(xié)調(diào)器通過查找已有綁定表將收到的信息發(fā)送給所綁定的另一個(gè)端點(diǎn),這樣實(shí)現(xiàn)端點(diǎn)間的間接通信。2.2.6ZigBee原語(yǔ)ZigBee協(xié)議棧各層之間是通過各自所關(guān)聯(lián)的服務(wù)訪問點(diǎn)來(lái)供應(yīng)服務(wù)的,各層依據(jù)各自的功能獨(dú)立運(yùn)行,但ZigBee協(xié)議棧又是一個(gè)有機(jī)的整體,各層之間須要共同協(xié)作以便完成任務(wù)。因此,層與層之間的信息交互通過服務(wù)“原語(yǔ)”的操作實(shí)現(xiàn),“原語(yǔ)”分為4種類型,分別是懇求(Request)、指示(Indication)、響應(yīng)(Response)和證明(conform)。原語(yǔ)的操作概念如圖2.7所示。①懇求(Request):懇求原語(yǔ)從N+1實(shí)體發(fā)送到N實(shí)體,懇求發(fā)起一個(gè)服務(wù),如懇求建立連接、數(shù)據(jù)傳送等。②指示(Indication):指示原語(yǔ)從N實(shí)體發(fā)送到到N+1實(shí)體,指示一個(gè)對(duì)N+1實(shí)體有外部N層事務(wù)發(fā)生,這個(gè)事務(wù)可能由內(nèi)部事務(wù)產(chǎn)生或與遠(yuǎn)程服務(wù)懇求有關(guān)。③響應(yīng)(Response):響應(yīng)原語(yǔ)由N+1實(shí)體向N實(shí)體傳遞,用來(lái)響應(yīng)上一個(gè)指示原語(yǔ)。④證明(conform):確認(rèn)原語(yǔ)由N實(shí)體向N+1實(shí)體傳遞,對(duì)前面一個(gè)或多個(gè)服務(wù)懇求相關(guān)的執(zhí)行結(jié)果予以確認(rèn)。圖2.7原語(yǔ)操作概念圖
3.基于CC2530的溫度監(jiān)測(cè)系統(tǒng)3.1系統(tǒng)設(shè)計(jì)思路與整體結(jié)構(gòu)本文的溫度監(jiān)測(cè)系統(tǒng)是利用ZigBee無(wú)線通訊技術(shù)為基礎(chǔ),采納CC2530芯片為核心設(shè)計(jì)的無(wú)線傳感系統(tǒng)。在現(xiàn)實(shí)中所應(yīng)用的溫度監(jiān)測(cè)系統(tǒng)通常須要一個(gè)或多個(gè)路由器節(jié)點(diǎn)和至少一個(gè)或多個(gè)終端設(shè)備,往往是一個(gè)特別浩大的ZigBee無(wú)線網(wǎng)絡(luò)系統(tǒng),具有特別困難的網(wǎng)絡(luò)結(jié)構(gòu),但是由于在試驗(yàn)環(huán)境下,節(jié)點(diǎn)數(shù)量、制作成本、技術(shù)實(shí)力等多方面因素,無(wú)法構(gòu)成像現(xiàn)實(shí)中的大型無(wú)線網(wǎng)絡(luò),目前只能實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的溫度監(jiān)測(cè)和數(shù)據(jù)傳輸來(lái)模擬現(xiàn)實(shí)中的溫度監(jiān)測(cè)ZigBee網(wǎng)絡(luò)。本文中所設(shè)計(jì)的溫度監(jiān)測(cè)系統(tǒng)采納點(diǎn)對(duì)點(diǎn)通信的模式,可以理解為簡(jiǎn)化的星型拓?fù)渚W(wǎng)絡(luò),由一個(gè)協(xié)調(diào)器和一個(gè)終端節(jié)點(diǎn)組成。協(xié)調(diào)器具有無(wú)線收發(fā)通信部分、處理器部分、與PC機(jī)通信的串口部分和電源供電部分。終端節(jié)點(diǎn)與協(xié)調(diào)器相比不具有串口通信部分而是增加了溫度采集傳感器部分。當(dāng)須要溫度采集時(shí),協(xié)調(diào)器向終端節(jié)點(diǎn)發(fā)送限制吩咐,終端節(jié)點(diǎn)通過溫度傳感器DS18B20進(jìn)行溫度的采集,之后終端節(jié)點(diǎn)將采集的溫度數(shù)據(jù)通過無(wú)線發(fā)送給協(xié)調(diào)器,由協(xié)調(diào)器對(duì)溫度數(shù)據(jù)進(jìn)行處理后通過串口將溫度數(shù)據(jù)傳輸給PC機(jī),通過上位機(jī)軟件對(duì)溫度數(shù)據(jù)進(jìn)行顯示、分析、存儲(chǔ)等處理。由于ZigBee的特點(diǎn)是低功耗,因此本設(shè)計(jì)中為使節(jié)點(diǎn)滿意低功耗要求,終端節(jié)點(diǎn)還能進(jìn)入休眠模式,采納定時(shí)器喚醒模式每10秒喚醒一次,以最大限度的降低功耗。系統(tǒng)總體方案圖,如圖3.1所示。圖3.1系統(tǒng)總體方案圖3.2系統(tǒng)硬件設(shè)計(jì)3.2.1ZigBee開發(fā)套件本設(shè)計(jì)所用ZigBee開發(fā)套件由節(jié)點(diǎn)(底板和核心板)2套、仿真器1個(gè)、10pin排線1條、USB線2條、2db天線2條和DS18B20溫度傳感器1個(gè)構(gòu)成。此開發(fā)套件具有以下特點(diǎn):①設(shè)計(jì)小巧,布局合理。底板尺寸5*5cm,核心板尺寸2.5*2.5cm;②采納底板加核心板的設(shè)計(jì),便于更換模塊或板載天線模塊;③板上接口資源豐富,傳感器即插即用;④板載USB轉(zhuǎn)串口電路,便利筆記本以與沒有串口的電腦用戶;⑤傳輸距離遠(yuǎn);⑥具備USB高速下載功能,支持IAR集成開發(fā)環(huán)境;ZigBee開發(fā)套件節(jié)點(diǎn)底板實(shí)物圖,如圖3.2所示。圖3.2節(jié)點(diǎn)底板實(shí)物圖ZigBee開發(fā)套件底板電路示意圖,如圖3.3所示。圖3.3節(jié)點(diǎn)底板電路示意圖在本溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)中,由底板和核心板所組成的兩套節(jié)點(diǎn)分別作為協(xié)調(diào)器和終端節(jié)點(diǎn)。①協(xié)調(diào)器節(jié)點(diǎn)協(xié)調(diào)器節(jié)點(diǎn)主要由CC2530芯片、射頻天線電路、供電模塊、晶振電路以與串口通訊電路五部分組成。協(xié)調(diào)器節(jié)點(diǎn)的功能是將計(jì)算機(jī)發(fā)送的指令發(fā)送給終端節(jié)點(diǎn),再接收終端節(jié)點(diǎn)傳來(lái)的的數(shù)據(jù)信息,并將接收到的數(shù)據(jù)發(fā)送給計(jì)算機(jī)顯示。協(xié)調(diào)器設(shè)計(jì)如圖3.4所示。圖3.4協(xié)調(diào)器節(jié)點(diǎn)②終端節(jié)點(diǎn)終端節(jié)點(diǎn)主要由CC2530芯片、射頻天線電路、供電模塊、晶振電路以與溫度傳感器DS18B20五部分組成。終端節(jié)點(diǎn)主要負(fù)責(zé)完成對(duì)溫度數(shù)據(jù)的采集,并且將溫度傳感器采集的溫度數(shù)據(jù)周期性的發(fā)送給協(xié)調(diào)器。終端節(jié)點(diǎn)設(shè)計(jì)如圖3.5所示。圖3.5終端節(jié)點(diǎn)設(shè)計(jì)除了節(jié)點(diǎn)外還有仿真器,仿真器供應(yīng)連接PC的USB接口,通過Download程序至協(xié)調(diào)器和終端節(jié)點(diǎn)??梢詫?shí)現(xiàn)單步調(diào)試、斷點(diǎn)調(diào)試、觀測(cè)調(diào)試、數(shù)據(jù)流調(diào)試和視察寄存器。ZigBee開發(fā)套件仿真器實(shí)物圖,如圖3.6所示。圖3.6仿真器實(shí)物圖3.2.2CC2530概述CC2530芯片是由TI公司設(shè)計(jì)開發(fā)的一款支持IEEE802.15.4標(biāo)準(zhǔn)/ZigBee/ZigBeeRF4CE的新一代SOC芯片,是真正的片上系統(tǒng)解決方案。CC2530是志向的ZigBee專業(yè)應(yīng)用,因?yàn)槠鋼碛卸噙_(dá)256KB的快閃記憶體。CC2530擁有一個(gè)高性能無(wú)線收發(fā)器、一個(gè)標(biāo)準(zhǔn)增加型8051微處理器、8KB的RAM、32/64/128/256KB閃存、4種供電模式以與包括12位數(shù)模轉(zhuǎn)換器、2個(gè)通用串口模塊和21個(gè)通用GPIO等的強(qiáng)大外設(shè)支持。此外,CC2530還通過TI的標(biāo)準(zhǔn)兼容網(wǎng)絡(luò)協(xié)議棧Z-Stack來(lái)簡(jiǎn)化開發(fā)。①特性描述CC2530具有強(qiáng)大的無(wú)線前端:采納2.4GHzIEEE802.15.4標(biāo)準(zhǔn)RF放射器,可編程輸出功率為+4.5dbm,總體無(wú)線連接102dbm,6*6mm的QFN40封裝。CC2530還具有低功耗的特點(diǎn):接收模式24mA,發(fā)送模式29mA,4微秒喚醒0.2mA,睡眠計(jì)時(shí)器運(yùn)行1mA,外部中斷0.4mA,電源電壓范圍2-3.6V。CC2530的微限制器包括:高性能的8051MCU內(nèi)核,32/64/128/256KB閃存,8KB內(nèi)存。CC2530還具有強(qiáng)大的外設(shè)集:五通道DMA,21個(gè)通用I/O引腳,3個(gè)通用定時(shí)器,32kHz睡眠計(jì)時(shí)器和定時(shí)捕獲,CSMA/CA硬件支持,8通道12為ADC,AES加密平安協(xié)處理器,WatchDog定時(shí)器,兩個(gè)USART等。②應(yīng)用范圍CC2530廣泛應(yīng)用于RF4CE搖桿限制系統(tǒng)、樓宇自動(dòng)化系統(tǒng)、照明系統(tǒng)、工業(yè)限制和監(jiān)控、電子消費(fèi)、醫(yī)療保健等領(lǐng)域。③引腳描述CC2530采納40引腳的QFN封裝,其引腳如圖3.7所示:圖3.7CC2530引腳頂視圖
引腳描述CC2530外圍主電路圖如圖3.8所示。圖3.8CC2530外圍主電路3.2.3DS18B20概述DS18B20是最常用的溫度傳感器之一,具備體積小、成本低、抗干擾實(shí)力強(qiáng)、精度高等特點(diǎn)。DS18B20由4個(gè)主要部分組成:64位光刻ROM、溫度傳感器、配置寄存器和非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL。DS18B20有效工作電壓3-5.5V之間,測(cè)溫范圍在-55℃-+125℃(測(cè)溫誤差1℃)之間,單線接口方式,無(wú)需任何外圍元件。DS18B20運(yùn)用范圍廣泛,包括:測(cè)溫限制領(lǐng)域、狹小的工業(yè)設(shè)備測(cè)溫柔限制等。3.3系統(tǒng)軟件設(shè)計(jì)本設(shè)計(jì)所運(yùn)用的軟件開發(fā)平臺(tái)是CC2530適用的IAR-EB8051-V8.1,采納ZStack-CC2530-2.3.0-1.4.0協(xié)議棧。3.3.1軟件開發(fā)環(huán)境IAR簡(jiǎn)介IAR的C/C++交叉編譯器和調(diào)試器是目前世界上最簡(jiǎn)潔利用的專業(yè)嵌入式應(yīng)用開發(fā)工具。IAR由嵌入式C/C++優(yōu)化編譯器和調(diào)試器,實(shí)時(shí)操作系統(tǒng),狀態(tài)機(jī)建模工具,硬件仿真器組成,是一套完整的集成開發(fā)工具集合,包含嵌入式系統(tǒng)設(shè)計(jì)、開發(fā)和測(cè)試的每一個(gè)階段。IAR支持30多種ARM微處理器結(jié)構(gòu),供應(yīng)統(tǒng)一的用戶界面,運(yùn)用戶在開發(fā)和調(diào)試的過程中僅僅運(yùn)用統(tǒng)一的開發(fā)界面就能夠滿意多種工作須要。IAR集成編譯器主要產(chǎn)品特征:高效PROMable代碼、完全標(biāo)準(zhǔn)C語(yǔ)言兼容、內(nèi)建對(duì)應(yīng)芯片的程序速度和大小優(yōu)化器、目標(biāo)特性擴(kuò)充、版本限制和擴(kuò)展工具支持良好、便捷的中斷處理和模擬、瓶頸性能分析、高效浮點(diǎn)支持、內(nèi)存模式選擇和工程中相對(duì)路徑支持。利用IAR編譯器能夠大量節(jié)約硬件資源,極大限度地降低產(chǎn)品的研發(fā)成本,提高產(chǎn)品市場(chǎng)競(jìng)爭(zhēng)力。3.3.2Z-Stack體系架構(gòu)與工作流程Z-Stack協(xié)議棧是由TI公司在2007年4月推出的Zigbee無(wú)線通訊協(xié)議,是一種半開源式的協(xié)議棧,很多關(guān)鍵代碼都是以庫(kù)文件的形式給出的,歷經(jīng)多年發(fā)展,功能不斷完善。Z-Stack協(xié)議棧體系架構(gòu)示意圖如圖3.9所示。圖3.9Z-Stack協(xié)議棧體系架構(gòu)示意圖①Z-Stack軟件架構(gòu)Z-Stack協(xié)議棧首先從main()函數(shù)起先執(zhí)行,main()位于ZMain.c文件中。main()函數(shù)中全部?jī)?nèi)容包含有:關(guān)閉全部中斷,初始化系統(tǒng)時(shí)鐘,檢查芯片電壓是否正常,初始化I/O、LED、Timer等,初始化芯片各硬件模塊,初始化Flash存儲(chǔ)器,初始化MAC層,確定IEEE地址,初始化非易失變量,調(diào)用AF初始化程序,初始化操作系統(tǒng),使能全部中斷,初始化按鍵,顯示設(shè)備信息,執(zhí)行操作系統(tǒng)。但是main()函數(shù)最主要做兩件事:一是系統(tǒng)初始化,二是起先執(zhí)行操作系統(tǒng),如圖3.10所示。圖3.10main()函數(shù)主要流程ZMain.c文件中main()函數(shù)主要內(nèi)容:intmain(void){……osal_init_system();//初始化操作系統(tǒng)……osal_start_system();//執(zhí)行操作系統(tǒng)}//main()②Z-Stack操作系統(tǒng)初始化在main()函數(shù)中的重點(diǎn)之一就是osal_init_system()系統(tǒng)初始化函數(shù)。該函數(shù)在初始化任務(wù)系統(tǒng)中創(chuàng)建任務(wù)表中定義任務(wù)(osal_task.h)。osal_init_system()函數(shù)中包含須要初始化的內(nèi)容有:內(nèi)存安排系統(tǒng)初始化、消息隊(duì)列初始化、定時(shí)器初始化、電源管理初始化、系統(tǒng)任務(wù)初始化,其中重點(diǎn)是初始化系統(tǒng)任務(wù)。在OSAL.c文件中osal_init_system()函數(shù)主要內(nèi)容:uint8osal_init_system(void){……osalInitTasks();//初始化系統(tǒng)任務(wù)……}在osal_init_system()函數(shù)中重點(diǎn)是osalInitTasks()任務(wù)初始化函數(shù),函數(shù)中每個(gè)任務(wù)都是調(diào)用初始化函數(shù)對(duì)協(xié)議棧每一層進(jìn)行初始化。osalInitTasks()函數(shù)中主要進(jìn)行了內(nèi)存的安排、設(shè)置內(nèi)存空間單元、依據(jù)任務(wù)優(yōu)先級(jí)由高向低(高優(yōu)先級(jí)對(duì)應(yīng)taskID值?。┻M(jìn)行任務(wù)初始化3件事,而對(duì)用戶應(yīng)用的初始化是關(guān)鍵。在OSAL_SampleApp.c文件中osalInitTasks()函數(shù)主要內(nèi)容:voidosalInitTasks(void){……SampleApp_Init(taskID);//用戶應(yīng)用任務(wù)初始化}③執(zhí)行操作系統(tǒng)在main()函數(shù)中的另一重點(diǎn)就是osal_start_system()執(zhí)行操作系統(tǒng)函數(shù)。Z-Stack協(xié)議棧中的操作系統(tǒng)是基于優(yōu)先級(jí)的輪詢式操作系統(tǒng)。此函數(shù)將全部的任務(wù)事務(wù)和調(diào)用task_event_processor()事務(wù)的任務(wù)功能,假如沒有事務(wù)(任務(wù)),這一功能使處理器進(jìn)入睡眠狀態(tài)。此函數(shù)沒有返回值。函數(shù)中包括:掃描事務(wù)設(shè)置標(biāo)記位,輪詢定時(shí)器和串口,打算任務(wù),在臨界區(qū)中提取、處理、清除、保存事務(wù),使系統(tǒng)休眠。在OSAL_SampleApp.c文件中osal_start_system()函數(shù)主要內(nèi)容:voidosal_start_system(void){……events=tasksEvents[idx];//提取須要處理的任務(wù)中的事務(wù)……events=(tasksArr[idx])(idx,events);//通過指針調(diào)用任務(wù)處理函數(shù)……osal_pwrmgr_powerconserve();//使進(jìn)程/系統(tǒng)休眠}程序中重點(diǎn)是events=tasksEvents[idx];進(jìn)入tasksEvents[idx]數(shù)組,是osalInitTasks()函數(shù)里初始化的tasksEvents。taskID把任務(wù)聯(lián)系起來(lái)一一對(duì)應(yīng),數(shù)組中事務(wù)的依次必需與任務(wù)初始化函數(shù)中的依次相同,以達(dá)到初始化和調(diào)用的目的。④用戶應(yīng)用系統(tǒng)初始化函數(shù)SampleApp_Init()對(duì)于通用應(yīng)用程序系統(tǒng)初始化函數(shù),就是初始化過程中應(yīng)當(dāng)包含任何特定于應(yīng)用程序的初始化(即硬件初始化設(shè)置,表的初始化等)。在osalInitTasks()任務(wù)初始化函數(shù)中,包含用戶應(yīng)用系統(tǒng)初始化函數(shù)SampleApp_Init(),由此進(jìn)入由用戶創(chuàng)建的任務(wù)。在SampleApp_Init()函數(shù)中主要包含6個(gè)部分工作:安排任務(wù)ID,串口初始化,注冊(cè)串口任務(wù),溫度傳感器引腳初始化,設(shè)置發(fā)送數(shù)據(jù)的方式和目的的地址尋址模式,定義端點(diǎn)描述符。在SampleApp.c文件中,SampleApp_Init()函數(shù)主要內(nèi)容如下:voidSampleApp_Init(uint8task_id){SampleApp_TaskID=task_id;//osal安排的任務(wù)ID隨著用戶添加任務(wù)的增多而變更……MT_UartInit();//串口初始化MT_UartRegisterTaskID(task_id);//注冊(cè)串口任務(wù)P0SEL&=0x7f;//DS18B20的I/O口初始化p0.7……//發(fā)送模式:點(diǎn)播發(fā)送SampleApp_P2P_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;//點(diǎn)播SampleApp_P2P_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;//指定端點(diǎn)號(hào)SampleApp_P2P_DstAddr.addr.shortAddr=0x0000;//發(fā)給協(xié)調(diào)器//定義本設(shè)備用來(lái)通信的APS層端點(diǎn)描述符SampleApp_epDesc.endPoint=SAMPLEAPP_ENDPOINT;SampleApp_epDesc.task_id=&SampleApp_TaskID;//SampleApp描述符的任務(wù)IDSampleApp_epDesc.simpleDesc//SampleApp簡(jiǎn)潔描述符=(SimpleDescriptionFormat_t*)&SampleApp_SimpleDesc;SampleApp_epDesc.latencyReq=noLatencyReqs;//延時(shí)策略……}⑤用戶應(yīng)用任務(wù)的事務(wù)處理函數(shù)SampleApp_ProcessEvent()通用應(yīng)用程序任務(wù)事務(wù)處理器。這個(gè)函數(shù)被調(diào)用來(lái)處理任務(wù)的全部事務(wù)活動(dòng),包括定時(shí)器信息和其他用戶定義的事務(wù)。SampleApp_ProcessEvent()函數(shù)主要負(fù)責(zé)接收系統(tǒng)消息并對(duì)消息進(jìn)行處理,在網(wǎng)絡(luò)狀態(tài)發(fā)生變更時(shí)完成對(duì)協(xié)調(diào)器和終端設(shè)備的設(shè)置,周期性發(fā)送消息,返回未處理事務(wù),處理周期性事務(wù)。在SampleApp.c文件中,SampleApp_ProcessEvent()函數(shù)主要內(nèi)容如下:uint16SampleApp_ProcessEvent(uint8task_id,uint16events){……caseZDO_STATE_CHANGE://只要網(wǎng)絡(luò)狀態(tài)發(fā)生變更,就通過ZDO_STATE_CHANGE事務(wù)通知全部任務(wù)。同時(shí)完成對(duì)協(xié)調(diào)器、終端的設(shè)置SampleApp_NwkState=(devStates_t)(MSGpkt->hdr.status);if((SampleApp_NwkState==DEV_END_DEVICE)){//啟動(dòng)初始化后起先有規(guī)律的發(fā)送周期信息osal_start_timerEx(SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT,SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT);}……if(events&SAMPLEAPP_SEND_PERIODIC_MSG_EVT){//處理周期性事務(wù),每10s喚醒1次SampleApp_Send_P2P_Message();osal_start_timerEx(SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT,10000);……}3.3.3網(wǎng)絡(luò)通信過程開發(fā)板A作為協(xié)調(diào)器,上電啟動(dòng)后自動(dòng)建立網(wǎng)絡(luò)并周期性向終端設(shè)備發(fā)送數(shù)據(jù)包;開發(fā)板B作為終端設(shè)備,上電啟動(dòng)后加入網(wǎng)絡(luò),并且也周期性向協(xié)調(diào)器發(fā)送數(shù)據(jù)包。①啟動(dòng)過程分析無(wú)論是協(xié)調(diào)器還是終端設(shè)備,啟動(dòng)過程和網(wǎng)絡(luò)初始化的步驟都是一樣的,只是配置文件在編譯時(shí)會(huì)依據(jù)設(shè)備的不同類型而有所區(qū)分。啟動(dòng)過程如下:A.操作系統(tǒng)初始化;B.系統(tǒng)任務(wù)初始化;C.設(shè)備對(duì)象初始化和用戶應(yīng)用任務(wù)初始化;D.ZDApp_init()設(shè)備對(duì)象初始化函數(shù)主要內(nèi)容包括:保存任務(wù)ID,安排地址,初始化ZDO,為設(shè)備注冊(cè)端點(diǎn)描述符;E.ZDOInitDevice()函數(shù)在網(wǎng)絡(luò)啟動(dòng)中,會(huì)完成初始化設(shè)備網(wǎng)絡(luò)狀態(tài),初始化RAM項(xiàng)目表,初始化限制邏輯,確定設(shè)備類型,初始化設(shè)備平安屬性,形成網(wǎng)絡(luò)這些工作;F.ZDApp_NetworkInit()函數(shù)用于啟動(dòng)連接網(wǎng)絡(luò);G.ZDApp_event_loop()函數(shù)是主函數(shù)循環(huán)的ZigBee設(shè)備對(duì)象的任務(wù),功能是網(wǎng)絡(luò)初始化事務(wù)處理;②協(xié)調(diào)器建網(wǎng)在設(shè)備初始化結(jié)束后,由協(xié)調(diào)器建立無(wú)線網(wǎng)絡(luò)。假如協(xié)調(diào)器新建網(wǎng)絡(luò)勝利,允許協(xié)調(diào)器設(shè)定為綁定。此時(shí)協(xié)調(diào)器檢測(cè)是否有節(jié)點(diǎn)要求加入網(wǎng)絡(luò),假如有,協(xié)調(diào)器建立綁定表,建立綁定,同時(shí)發(fā)出懇求,節(jié)點(diǎn)確認(rèn)后,協(xié)調(diào)器起先接收數(shù)據(jù),最終通過串口發(fā)送給上位機(jī)。協(xié)調(diào)器程序流程圖如圖3.11所示。圖3.11協(xié)調(diào)器流程圖③終端設(shè)備入網(wǎng)設(shè)備初始化后,終端節(jié)點(diǎn)會(huì)依據(jù)ZigBee協(xié)議棧搜尋旁邊的網(wǎng)絡(luò),并懇求加入網(wǎng)絡(luò)。當(dāng)懇求得到協(xié)調(diào)器確認(rèn)后,終端設(shè)備會(huì)將自己的地址發(fā)給協(xié)調(diào)器,并自動(dòng)與協(xié)調(diào)器建立綁定。在接受到數(shù)據(jù)傳送懇求之后,終端設(shè)備就會(huì)將所測(cè)量的溫度值周期性的傳送給協(xié)調(diào)器。終端設(shè)備流程圖如圖3.12所示。圖3.12終端設(shè)備流程圖3.3.4溫度測(cè)量與數(shù)據(jù)傳輸①DS18B20驅(qū)動(dòng)程序DS18B20驅(qū)動(dòng)程序包括兩個(gè)文件ds18b20.c和ds18b20.h。在文件ds18b20.c中主要有以下幾部分工作:A.設(shè)置溫度傳感器引腳:#defineDs18b20IOP0_7;B.設(shè)置時(shí)鐘頻率:voidDs18b20Delay(unsignedintk){while(k--){asm("NOP");……(省略31次asm("NOP");)}}C.設(shè)置輸入端口:P0DIR&=0x7f;D.設(shè)置輸出端口:P0DIR&=0x7f;E.初始化DS18B20;F.溫度讀取函數(shù)://溫度讀取函數(shù)帶1位小數(shù)位unsignedintfloatReadDs18B20(void){unsignedcharV1,V2;//定義凹凸8位緩沖unsignedinttemp;//定義溫度緩沖寄存器floatfValue;Ds18b20Initial();Ds18b20Write(0xcc);//跳過讀序號(hào)列號(hào)的操作Ds18b20Write(0x44);//啟動(dòng)溫度轉(zhuǎn)換Ds18b20Initial();Ds18b20Write(0xcc);//跳過讀序號(hào)列號(hào)的操作Ds18b20Write(0xbe);//讀取溫度寄存器等(共可讀9個(gè)寄存器)前兩個(gè)就是溫度V1=Ds18b20Read();//低位V2=Ds18b20Read();//高位temp=V2*0xFF+V1;fValue=temp*0.625;return(unsignedint)fValue;}②初始化串口和溫度傳感器引腳在文件SampleApp.c中的SampleApp_Init()處寫入語(yǔ)句:VoidSampleApp_Init(uint8task_id){……MT_UartInit();//串口初始化;MT_UartRegisterTaskID(task_id);//注冊(cè)串口任務(wù);POSEL&=0x7f;//DS18B20的I/O口初始化p0.7……}③讀取溫度數(shù)據(jù)在文件SampleApp.c中有SampleApp_Send_P2P_Message()函數(shù)負(fù)責(zé)溫度的讀取和傳輸:voidSampleApp_Send_P2P_Message(void){charstr[4];unsignedinttemp;temp=floatReadDs18B20();//讀取溫度數(shù)據(jù)str[0]=temp%1000/100+48;str[1]=temp%100/10+48;str[2]='.';str[3]=temp%10+48;if(AF_DataRequest(&SampleApp_P2P_DstAddr,&SampleApp_epDesc,SAMPLEAPP_P2P_CLUSTERID,4,str,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS)}④接收數(shù)據(jù)在文件SampleApp.c中有SampleApp_MessageMSGCB()函數(shù)負(fù)責(zé)對(duì)溫度數(shù)據(jù)的接收,并且發(fā)送給上位機(jī)顯示:voidSampleApp_MessageMSGCB(afIncomingMSGPacket_t*pkt){uint16flashTime;switch(pkt->clusterId){caseSAMPLEAPP_P2P_CLUSTERID:HalUARTWrite(0,"$",1);HalUARTWrite(0,pkt->cmd.Data,pkt->cmd.DataLength);//輸出接收到的數(shù)據(jù)HalUARTWrite(0,"#",1);break;……}}3.3.5節(jié)點(diǎn)休眠由于在實(shí)際應(yīng)用中終端節(jié)點(diǎn)是由電池供電,所以為保證低功耗,必需設(shè)計(jì)程序使節(jié)點(diǎn)能夠休眠,本設(shè)計(jì)中采納定時(shí)器中斷方式,一次休眠時(shí)間10秒。在OSAL中是運(yùn)用睡眠定時(shí)器來(lái)限制睡眠時(shí)間的,在系統(tǒng)初始化的時(shí)候要將電源限制結(jié)構(gòu)體中的pwrmgr_device設(shè)備屬性設(shè)置為PWRMGR_BATTERY(電源管理設(shè)備屬性有有PWRMGR_ALWAYS_ON和PWRMGR_BATTERY兩種,選擇PWRMGR_ALWAYS_ON的話將不會(huì)進(jìn)入睡眠模式,選擇PWRMGR_BATTERY將允許HAL管理CPU進(jìn)入SLEEPLITE或者SLEEPDEEP狀態(tài))。初始化電源管理函數(shù)在OSAL.C里面的osal_init_system()調(diào)用,將電源管理模式調(diào)成可以進(jìn)入睡眠模式:voidosal_pwrmgr_init(void){pwrmgr_attribute.pwrmgr_device=PWRMGR_BATTERY;//設(shè)置睡眠模式pwrmgr_attribute.pwrmgr_task_state=0;
//清零}osal_pwrmgr_powerconserve()這個(gè)函數(shù)在OSAL循環(huán)中假如沒有任何事務(wù)須要執(zhí)行的話將被調(diào)用,將設(shè)備進(jìn)入睡眠模式,不行以在其他地方調(diào)用該函數(shù)。須要打開POWER_SAVING的宏定義:voidosal_pwrmgr_powerconserve(void){
uint16
next;
halIntState_t
intState
if(pwrmgr_attribute.pwrmgr_device!=PWRMGR_ALWAYS_ON)
//首先檢查是否支持低功
{
if(pwrmgr_attribute.pwrmgr_task_state==0)
//是否全部任務(wù)支持低功耗
{
HAL_ENTER_CRITICAL_SECTION(intState);//關(guān)中斷
next=osal_next_timeout();//查詢軟件定時(shí)器鏈表得到最近一次溢出時(shí)間
HAL_EXIT_CRITICAL_SECTION(intState);
//開中斷
OSAL_SET_CPU_INTO_SLEEP(next);
//將系統(tǒng)進(jìn)入睡眠模式
}
}}在檢查完全部的任務(wù)事務(wù)之后發(fā)覺沒有事務(wù)須要處理,這樣在POWER_SAVING宏定義打開的狀況下將在OSAL的主循環(huán)中voidosal_start_system()調(diào)用osal_pwrmgr_powerconserve()這個(gè)函數(shù),在這函數(shù)中將會(huì)依據(jù)選擇系統(tǒng)進(jìn)入休眠:voidosal_start_system(void){……#ifdefined(POWER_SAVING)else{osal_pwrmgr_powerconserve();//設(shè)置系統(tǒng)睡眠}#endif}在休眠定時(shí)器中斷時(shí)候?qū)?huì)退出休眠。假如是IO中斷或者休眠定時(shí)器中斷退出之后將回到進(jìn)入休眠的地方接著向下執(zhí)行,復(fù)位退出的話進(jìn)入程序的初部分執(zhí)行:uint16SampleApp_ProcessEvent(uint8task_id,uint16events){……if(events&SAMPLEAPP_SEND_PERIODIC_MSG_EVT)……osal_start_timerEx(SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT,10000);//定時(shí)10s喚醒終端,并向串口寫吩咐,然后進(jìn)入休眠……}3.3.6上位機(jī)軟件設(shè)計(jì)本上位機(jī)軟件采納MicrosoftVisualBasic6.0開發(fā)環(huán)境進(jìn)行設(shè)計(jì)。VB6.0簡(jiǎn)潔易學(xué),功能強(qiáng)大,可以支撐上位機(jī)軟件的開發(fā)和設(shè)計(jì)。本設(shè)計(jì)中,采集到的數(shù)據(jù)通過串口讀入,同時(shí)數(shù)據(jù)實(shí)施的顯示在文本框中。上位機(jī)軟件工作流程圖如圖3.13所示。圖3.13上位機(jī)工作流程圖由于以上功能的須要,設(shè)計(jì)中共采納了3個(gè)Label控件、1個(gè)test控件、1個(gè)Combo控件、1個(gè)CmdOpen控件等。上位機(jī)軟件界面如圖3.14所示。圖3.14上位機(jī)軟件界面由于波特率、校驗(yàn)位、數(shù)據(jù)位等都在上位機(jī)程序中進(jìn)行設(shè)置,在開啟軟件后,只須要對(duì)串口號(hào)進(jìn)行設(shè)置,然后點(diǎn)擊起先測(cè)溫便能顯示出所測(cè)溫度值。上位機(jī)主要程序如下:①PrivateSubCmdOpen_Click()IfCmdOpen.Caption="停止測(cè)溫"ThenMSComm1.PortOpen=FalseCmdOpen.Caption="起先測(cè)溫"'按鈕文字變更Shape1.FillColor=&HFFFFC0'燈顏色變更ElseMSComm1mPort=Combo1.ListIndex+1MSComm1.PortOpen=TrueCmdOpen.Caption="停止測(cè)溫"Shape1.FillColor=&HFFEndIfExitSub②PrivateSubForm_Load()IfMSComm1.PortOpen=TrueThenMSComm1.PortOpen=FalseEndIfCombo1.AddItem"COM1"……Combo1.AddItem"COM8"Combo1.ListIndex=0MSComm1mPort=Combo1.ListIndex+1MSComm1.Settings="115200,n,8,1"'設(shè)置波特率、校驗(yàn)位、數(shù)據(jù)位flag=FalseEndSub③PrivateSubMSComm1_OnComm()DimstrAsStringSelectCaseMSComm1mEvent'事務(wù)發(fā)生Case2MSComm1.InputLen=1'讀入緩沖區(qū)全部?jī)?nèi)容str=MSComm1.Input'讀入到緩沖區(qū)……EndSelectPOINT:EndSub
4.系統(tǒng)測(cè)試在測(cè)試中采納點(diǎn)對(duì)點(diǎn)通信的模式,由1個(gè)協(xié)調(diào)器和1個(gè)終端設(shè)備(溫度傳感節(jié)點(diǎn))組成,協(xié)調(diào)器通過串口與PC機(jī)連接,由上位機(jī)軟件顯示測(cè)量結(jié)果,終端節(jié)點(diǎn)主動(dòng)向協(xié)調(diào)器周期性向協(xié)調(diào)器發(fā)送溫度數(shù)據(jù)。測(cè)試地點(diǎn)為宿舍,以便可以變更環(huán)境溫度,進(jìn)行多組測(cè)量。4.1系統(tǒng)測(cè)試步驟①編譯文件,編譯勝利后利用IAR輸出文件SampleApp.hex;②連接開發(fā)板A與PC,通過仿真器下載CoodinatorEB-Pro中的SampleApp.hex文件至開發(fā)板A。開發(fā)板A作為協(xié)調(diào)器,通過USB線跟PC連接;③連接開發(fā)板B與PC,通過仿真器下載EndDeviceEB-Pro中的SampleApp.hex文件至開發(fā)板B。開發(fā)板B插入溫度傳感器DS18B20作為終端設(shè)備測(cè)量和發(fā)送數(shù)據(jù)給協(xié)調(diào)器,通過電池或插座供電;④檢查開發(fā)板A、B電源、串口線以與溫度傳感器連接是否正常;⑤給兩塊開發(fā)板上電,打開串口調(diào)試助手,設(shè)置串口號(hào)和波特率115200并打開串口。終端聯(lián)網(wǎng)勝利后會(huì)向協(xié)調(diào)器發(fā)送數(shù)據(jù),可在上位機(jī)軟件中視察溫度變更;⑥關(guān)閉串口調(diào)試助手,打開上位機(jī)軟件,選擇串口號(hào),點(diǎn)擊“起先測(cè)溫”,視察溫度顯示。4.2系統(tǒng)測(cè)試結(jié)果溫度監(jiān)測(cè)系統(tǒng)的搭建是在宿舍完成的,由于宿舍溫度相對(duì)比較穩(wěn)定,所以在測(cè)量溫度時(shí)采納了,風(fēng)扇降溫、空調(diào)降溫、室外陽(yáng)光照耀升溫等措施以便溫度測(cè)量。雖然宿舍的環(huán)境溫度沒有太大溫差,但試驗(yàn)的勝利說明這個(gè)系統(tǒng)是能夠達(dá)到溫度監(jiān)測(cè)的目的的,它同樣適用于其他環(huán)境。上位機(jī)軟件顯示溫度結(jié)果如圖4.1所示。圖4.1上位機(jī)顯示結(jié)果手握傳感器溫度發(fā)生變更,由于溫度是連續(xù)變更的,運(yùn)用串口調(diào)試助手視察比較便利,串口調(diào)試助手中顯示如圖4.2所示:圖4.2串口調(diào)試助手中溫度的顯示結(jié)果在各種降溫升溫環(huán)境中,與一款市面上購(gòu)買的電子溫度計(jì)(“科艦”HTC-1)的測(cè)量數(shù)據(jù)比較,比較結(jié)果如表1所示:表1溫度測(cè)量結(jié)果比較表CC2530溫度測(cè)量結(jié)果(度)電子溫度計(jì)測(cè)量結(jié)果(度)測(cè)量相對(duì)誤差(%)27.827.80.00028.328.30.0000029.829.70.33724.524.70.81030.530.40.32932.432.30.31036.936.70.545924.3系統(tǒng)測(cè)試結(jié)果分析在測(cè)試中,對(duì)程序進(jìn)行過兩次修改:第一次是對(duì)溫度測(cè)量精度的修改,原本測(cè)量精度為1攝氏度,通過修改程序?qū)⑵湫薷臑榫?.1度;其次次是對(duì)時(shí)鐘頻率進(jìn)行修改。此溫度監(jiān)測(cè)系統(tǒng)測(cè)量數(shù)據(jù)與電子溫度計(jì)顯示溫度基本一樣,由于電子溫度計(jì)本身也可能存在小范圍(±1℃)誤差,所以說基于CC2530的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)的目標(biāo)已經(jīng)完成,基本達(dá)到預(yù)期目標(biāo)和要求。
5.總結(jié)與展望5.1工作總結(jié)基于CC2530的溫度監(jiān)測(cè)系統(tǒng)采納ZigBee技術(shù),具有近距離、低成本、低功耗、自組網(wǎng)、無(wú)線傳輸?shù)忍攸c(diǎn)。通過“基于CC2530的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)”,本人熟識(shí)了ZigBee無(wú)線網(wǎng)絡(luò)通信工作原理,在軟件和硬件的開發(fā)調(diào)試中獲得了很多珍貴閱歷。本系統(tǒng)在設(shè)計(jì)完成的過程中進(jìn)行的主要工作以與成果如下:1.了解無(wú)線傳感技術(shù)ZigBee特點(diǎn);2.學(xué)習(xí)和探討對(duì)系統(tǒng)的總體規(guī)劃和設(shè)計(jì);3.深化了解ZigBee技術(shù),探討ZigBee協(xié)議棧體系結(jié)構(gòu)與每層工作原理,學(xué)習(xí)包括網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、ZigBee術(shù)語(yǔ)、設(shè)備類型等基本概念;4.了解ZigBee開發(fā)流程,探討開發(fā)套件的硬件電路以與各模塊功能,深化探討CC2530芯片手冊(cè);5.駕馭開發(fā)軟件IAR的運(yùn)用方法;6.熟識(shí)Z-Stack協(xié)議棧的基本應(yīng)用和實(shí)現(xiàn)流程,完成組網(wǎng)分析和協(xié)調(diào)器和終端節(jié)點(diǎn)主程序的設(shè)計(jì);7.設(shè)計(jì)程序使終端節(jié)點(diǎn)能夠進(jìn)入休眠模式,并采納定時(shí)器喚醒,降低功耗;8.對(duì)系統(tǒng)進(jìn)行調(diào)試,找出程序中出現(xiàn)的各種問題并進(jìn)行修改。由于試驗(yàn)時(shí)間和成本條件有限,加之個(gè)人實(shí)力有限。本設(shè)計(jì)還有不足之處,有待改進(jìn)與完善:1.對(duì)于ZigBee無(wú)線網(wǎng)絡(luò)的通信距離與通信牢靠性沒有測(cè)試;2.對(duì)于系統(tǒng)的功耗沒有測(cè)試;3.由于設(shè)計(jì)材料有限,目前只能完成點(diǎn)對(duì)點(diǎn)的無(wú)線通信,無(wú)法完成多節(jié)點(diǎn)的要求;4.上位機(jī)軟件的設(shè)計(jì)功能相對(duì)簡(jiǎn)潔,可以完善更多功能以便利運(yùn)用。5.2前景展望目前,基于CC2530的溫度傳感系統(tǒng)應(yīng)用前景是特別廣袤的。ZigBee很簡(jiǎn)潔建立無(wú)線傳感網(wǎng)絡(luò),低成本、低功耗是我們探討ZigBee的目的和動(dòng)力?;贑C2530的溫度監(jiān)測(cè)系統(tǒng)對(duì)于煤礦采空區(qū)自然發(fā)覺火源位置的探測(cè)和制定采空區(qū)防滅火措施都是特別有效的。正好可以彌補(bǔ)煤礦采空區(qū)火源點(diǎn)感知網(wǎng)絡(luò)系統(tǒng)在煤礦平安生產(chǎn)中的迫切須要,對(duì)于實(shí)現(xiàn)煤礦平安高效生產(chǎn)和可持續(xù)發(fā)展具有重大的現(xiàn)實(shí)意義。另外,由CC2530和DS18B20組成的溫度傳感節(jié)點(diǎn)小巧敏捷,受四周環(huán)境影響較小,可以適用于多種非極限溫度場(chǎng)合和狹小空間設(shè)備數(shù)字測(cè)溫柔限制領(lǐng)域,如:電纜溝測(cè)溫、高爐水循環(huán)測(cè)溫、鍋爐測(cè)溫、機(jī)房測(cè)溫、農(nóng)業(yè)大棚測(cè)溫、彈藥庫(kù)測(cè)溫等。無(wú)線傳輸?shù)姆绞?,避開了困難的布線的繁瑣,同時(shí)也降低了成本,節(jié)約人力財(cái)力。還有一大優(yōu)點(diǎn)就是成員節(jié)點(diǎn)可以隨時(shí)加入或退出網(wǎng)絡(luò),不須要人為管理,這也節(jié)約了人力財(cái)力?;贑C2530的溫度監(jiān)測(cè)系統(tǒng)的眾多優(yōu)點(diǎn)使其在市場(chǎng)上特別具有競(jìng)爭(zhēng)力,隨著ZigBee技術(shù)的發(fā)展,基于CC2530的溫度監(jiān)測(cè)系統(tǒng)必將日趨成熟得到更好的發(fā)展。
參考文獻(xiàn)[1]劉慧,王鳴.基于CC2530的溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì).工業(yè)限制計(jì)算機(jī).2012,第25卷,第4期[2]曹越.基于ZigBee的溫度監(jiān)測(cè)系統(tǒng)開發(fā)[碩士學(xué)位論文].西安電子科技高校.2013-3-[3]李賀然,滕志軍.ZigBee在通信電纜溫度監(jiān)測(cè)中的應(yīng)用.信息技術(shù).2011,(9):111-115[4]蔣佳君.淺談ZigBee技術(shù).wenku.baidu.2007[5]新雙恒.CC2530中文數(shù)據(jù)手冊(cè)完整版.用戶指南.2009-4[6]王鋒.ZigBee視頻教程應(yīng)用開發(fā)指導(dǎo).鋒碩電子科技有限公司.2011-2-[7]王鋒.FS_ZigBee協(xié)議棧試驗(yàn)指導(dǎo)書.鋒碩電子科技有限公司.2010-6-[8]來(lái)源于網(wǎng)絡(luò).基于ZigBee的溫度檢測(cè)系統(tǒng)設(shè)計(jì).wenku.baidu.2009[9]張曉娜,郭萬(wàn)有.基于ZigBee技術(shù)的無(wú)線溫度傳感網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì).西安電子科技高校.2011-3[17]章偉聰,俞新武,李忠成.基于CC2530與ZigBee協(xié)議棧設(shè)計(jì)無(wú)線網(wǎng)絡(luò)傳感節(jié)點(diǎn).計(jì)算機(jī)系統(tǒng)應(yīng)用.2011,第07期[10]張勝.基于ZigBee無(wú)線傳感網(wǎng)和模糊限制的溫室番茄智能澆灌系統(tǒng)設(shè)計(jì).浙江高校.2011[11]李正明,張興偉,柳宏川.基于CC2530的溫濕度監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).測(cè)控技術(shù).2013,第05期[12]紀(jì)金水.基于IEEE802.15.4標(biāo)準(zhǔn)技術(shù)的無(wú)線遠(yuǎn)程自動(dòng)監(jiān)測(cè)傳感器網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)現(xiàn).自動(dòng)化與儀器儀表.2007,第2期[13]JianmingLiao,XueqinHe,GuomingLu.THERESEARCHANDDESIGNOFZIGBEEWIRELESSNETWORKINGBASEDONCC2530.[14]MinghuiWu,QingXie,”TheDesignofWirelessMedicalMonitoringNetworkBasedonZigBee”,2ndInternationalConferenceonNetworkComputingandInformationSecurity,Shanghai,PEOPLESRCHINA,pp.705-713,Dec.2012.[15]TexasInstrument.Z-StackDeveloper’sGuide.DocumentNumber:SWRA176.[16]FrancescaCuomo,AnnaAbbagnaleandEmanueleCipollone,”Cross-layernetworkformationforenergy-efficientIEEE802.15.4/ZigBeeWirelessSensorNetworks”,AdHocNetworks,Vol11,No.2,pp.672-686,Mar.2013.[17]TexasInstrument.CC2530Datasheet.2009[18]XinLi,DesignofZigBeeNetworkNodeBasedonCC2530,PLC&FA,pp.97-99,Mar.2011.[19]BingwuNing,”ResearchandimplementationofZigBeenetworkNetworking”,Master’sThesis,DalianUniversityof
翻譯部分中文譯文基于CC2530的ZIGBEE無(wú)線網(wǎng)絡(luò)探討和設(shè)計(jì)JIAN-MINGLIAO1,XUE-QINHE1,GUO-MINGLU1,SI-YUZHAN1計(jì)算機(jī)科學(xué)與工程學(xué)院,電子科技高校,中國(guó)電子郵件:hexq127@sina,liaojm@,lugm@,zhansy@摘要ZigBee技術(shù)在很多領(lǐng)域被廣泛運(yùn)用的低成本,低功率。本文探討了網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),設(shè)備類型對(duì)ZigBee協(xié)議和協(xié)議體系結(jié)構(gòu)介紹了CC2530芯片。然后,我們運(yùn)用Z-Stack協(xié)議棧網(wǎng)絡(luò)是基于從前的一些測(cè)試內(nèi)容
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人房屋租賃定金協(xié)議及租賃合同終止補(bǔ)償條款2篇
- 2025年廣東高州市鑒龍水務(wù)建設(shè)投資集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025版企業(yè)員工股權(quán)激勵(lì)協(xié)議(限制性股權(quán)實(shí)施)3篇
- 2025年度個(gè)人反擔(dān)保財(cái)產(chǎn)保全執(zhí)行實(shí)施合同
- 2025年全球及中國(guó)雙相抽提修復(fù)系統(tǒng)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)商用卡車機(jī)電開關(guān)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年度二零二五年度高端個(gè)人雇傭員工勞動(dòng)合同標(biāo)準(zhǔn)化范本4篇
- 探索現(xiàn)代青年教育的創(chuàng)新之路
- 2024食品行業(yè)食品安全風(fēng)險(xiǎn)評(píng)估與管控合同模板3篇
- 小學(xué)數(shù)學(xué)教育中的個(gè)性化學(xué)習(xí)與自主學(xué)習(xí)結(jié)合實(shí)踐
- 高考日語(yǔ)基礎(chǔ)歸納總結(jié)與練習(xí)(一輪復(fù)習(xí))
- 《預(yù)防犯罪》課件
- 【企業(yè)作業(yè)成本在上海汽車集團(tuán)中的應(yīng)用研究案例7300字(論文)】
- 高中物理答題卡模板
- 化學(xué)用語(yǔ)專項(xiàng)訓(xùn)練
- 芳香植物與芳香療法講解課件
- 不孕癥診斷、治療新進(jìn)展課件
- 學(xué)校食堂食品質(zhì)量控制方案
- 天津2021公需課量子信息技術(shù)答案
- 切實(shí)加強(qiáng)領(lǐng)導(dǎo)干部的作風(fēng)建設(shè)課件
評(píng)論
0/150
提交評(píng)論