基于物聯(lián)網(wǎng)的智能倉(cāng)儲(chǔ)溫濕度檢測(cè)系統(tǒng)_第1頁(yè)
基于物聯(lián)網(wǎng)的智能倉(cāng)儲(chǔ)溫濕度檢測(cè)系統(tǒng)_第2頁(yè)
基于物聯(lián)網(wǎng)的智能倉(cāng)儲(chǔ)溫濕度檢測(cè)系統(tǒng)_第3頁(yè)
基于物聯(lián)網(wǎng)的智能倉(cāng)儲(chǔ)溫濕度檢測(cè)系統(tǒng)_第4頁(yè)
基于物聯(lián)網(wǎng)的智能倉(cāng)儲(chǔ)溫濕度檢測(cè)系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

*******************實(shí)踐教學(xué)*******************蘭州理工大學(xué)計(jì)算機(jī)與通信學(xué)院2023年春季學(xué)期物聯(lián)網(wǎng)綜合應(yīng)用實(shí)踐課程設(shè)計(jì)題目:基于物聯(lián)網(wǎng)的智能倉(cāng)儲(chǔ)溫濕度檢測(cè)系統(tǒng)專業(yè)班級(jí):姓名:學(xué)號(hào):指導(dǎo)教師:成績(jī):摘要倉(cāng)儲(chǔ)在物流戰(zhàn)略中的重要性日益提高,在物流管理中占據(jù)著核心的地位,并己成為供給鏈管理的核心環(huán)節(jié)。傳統(tǒng)的倉(cāng)儲(chǔ)環(huán)境監(jiān)測(cè)系統(tǒng)存在布線復(fù)雜,可靠性低,管理維護(hù)本錢低等問(wèn)題,因而將新的科學(xué)技術(shù)引入倉(cāng)儲(chǔ)系統(tǒng)中構(gòu)建信息化、網(wǎng)絡(luò)化、智能化的倉(cāng)儲(chǔ)環(huán)境監(jiān)控系統(tǒng)具有重要意義。針對(duì)現(xiàn)有倉(cāng)庫(kù)溫濕度檢測(cè)存在的問(wèn)題,結(jié)合無(wú)線傳感器網(wǎng)絡(luò)技術(shù),提出一種基于Zigbee技術(shù)的倉(cāng)庫(kù)溫濕度采集系統(tǒng)設(shè)計(jì)方法。設(shè)計(jì)采用CC2430射頻芯片及SHT10數(shù)字溫濕度傳感器,在Zigbee協(xié)議棧的根底上進(jìn)行應(yīng)用開(kāi)發(fā)。闡述了系統(tǒng)的總體設(shè)計(jì),節(jié)點(diǎn)的硬件設(shè)計(jì)和軟件設(shè)計(jì)。通過(guò)實(shí)驗(yàn)測(cè)試說(shuō)明,該無(wú)線化的倉(cāng)庫(kù)溫濕度采集系統(tǒng)能夠穩(wěn)定可靠的運(yùn)行,并且具有組網(wǎng)簡(jiǎn)單、系統(tǒng)花費(fèi)少、擴(kuò)張網(wǎng)絡(luò)容易等優(yōu)點(diǎn)。關(guān)鍵詞:倉(cāng)儲(chǔ)溫濕度檢測(cè)Zigbee無(wú)線傳感網(wǎng)絡(luò)目錄摘要2第一章前言31.1系統(tǒng)背景及意義31.2系統(tǒng)功能及特點(diǎn)4第二章Zigbee技術(shù)簡(jiǎn)介42.1Zigbee綜述42.2Zigbee協(xié)議棧與網(wǎng)絡(luò)層簡(jiǎn)介5第三章系統(tǒng)分析與設(shè)計(jì)83.1根本原理:83.2系統(tǒng)方案比擬與選擇83.3系統(tǒng)整體設(shè)計(jì)9總結(jié)19致謝20參考文獻(xiàn)22附錄24第一章前言1.1系統(tǒng)背景及意義溫濕度的檢測(cè)是紡織、食品、醫(yī)藥、倉(cāng)儲(chǔ)的重要參量,對(duì)溫濕度監(jiān)測(cè)具有廣泛的應(yīng)用領(lǐng)域。隨著倉(cāng)庫(kù)平安工作的要求越來(lái)越嚴(yán)格,倉(cāng)庫(kù)監(jiān)測(cè)大量涌現(xiàn),倉(cāng)庫(kù)監(jiān)測(cè)的認(rèn)知度和自動(dòng)化表達(dá)的越來(lái)越先進(jìn)。防潮、防霉、防腐、防爆是食品日常存儲(chǔ)工作的重要內(nèi)容,是衡量食品儲(chǔ)藏質(zhì)量的重要指標(biāo),它直接影響到儲(chǔ)藏物資的使用壽命和工作可靠性。為保證日常工作的順利進(jìn)行,首要問(wèn)題是加強(qiáng)物品溫度與濕度的監(jiān)測(cè)工作。但傳統(tǒng)的方法是用溫度計(jì)與濕度表、雙金屬式測(cè)量計(jì)和濕度試紙等測(cè)試器材,通過(guò)人工進(jìn)行檢測(cè),對(duì)不符合溫度和濕度要求的食品進(jìn)行通風(fēng)、枯燥等工作。這種人工測(cè)試方法費(fèi)時(shí)費(fèi)力、效率低,且測(cè)試的溫度及濕度誤差大,隨機(jī)性大。因此我們需要一種造價(jià)低廉、使用方便且測(cè)量準(zhǔn)確的溫濕度測(cè)量控制儀。1.2系統(tǒng)功能及特點(diǎn)系統(tǒng)由終端節(jié)點(diǎn)、路由器以及網(wǎng)絡(luò)協(xié)調(diào)器〔網(wǎng)關(guān)〕三類設(shè)備組成。以倉(cāng)庫(kù)為單位,進(jìn)行無(wú)線傳感器網(wǎng)絡(luò)覆蓋,由終端節(jié)點(diǎn)將傳感器數(shù)據(jù)采集并經(jīng)過(guò)過(guò)路由器發(fā)送至網(wǎng)絡(luò)協(xié)調(diào)器,數(shù)據(jù)進(jìn)入上位機(jī)進(jìn)行分析處理。節(jié)點(diǎn)為自身獨(dú)立采集子系統(tǒng),可在節(jié)點(diǎn)上完成數(shù)據(jù)采集,數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)顯示功能。該系統(tǒng)是以高效率、低本錢、低功耗為原那么,保證數(shù)據(jù)準(zhǔn)確傳輸為根底完成的智能華無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng),適合于各種倉(cāng)儲(chǔ)倉(cāng)庫(kù),樓宇以及家庭應(yīng)用。智能倉(cāng)儲(chǔ)監(jiān)測(cè)系統(tǒng)擁有全面、可靠的環(huán)境信息采集分析能力。為了實(shí)現(xiàn)環(huán)境信息監(jiān)測(cè)的精確性、全面性并且方便使用,本文的環(huán)境監(jiān)測(cè)系統(tǒng)應(yīng)具有以下各種特點(diǎn):〔1〕低功耗。在低耗電待機(jī)模式下,2節(jié)5號(hào)干電池可支持1個(gè)節(jié)點(diǎn)工作6到24個(gè)月,甚至更長(zhǎng)。〔2〕低本錢。通過(guò)大幅簡(jiǎn)化協(xié),降低了對(duì)通信控制器的要求,按預(yù)測(cè)分析,以8051的8位微控制器測(cè)算,子功能節(jié)點(diǎn)少至4KB代碼,而且ZigBee免協(xié)議專利費(fèi)。〔3〕低速率。ZigBee工作在250kbps的通訊速率,滿足低速率傳輸數(shù)據(jù)的應(yīng)用需求。〔4〕近距離。傳輸范圍一般介于10~100m之間,在增加RF發(fā)射功率后,亦可增加到100m-1km。這指的是相鄰節(jié)點(diǎn)間的距離。如果通過(guò)路由和節(jié)點(diǎn)間通信的接力,傳輸距離將可以更遠(yuǎn)?!?〕短時(shí)延。ZigBee的響應(yīng)速度較快,一般從睡眠轉(zhuǎn)入工作狀態(tài)只需15ms,節(jié)點(diǎn)連接進(jìn)入網(wǎng)絡(luò)只需30ms,進(jìn)一步節(jié)省了電能?!?〕高容量。ZigBee可采用星狀、片狀和網(wǎng)狀網(wǎng)絡(luò)結(jié)構(gòu),由一個(gè)主節(jié)點(diǎn)管理假設(shè)干子節(jié)點(diǎn),最多一個(gè)主節(jié)點(diǎn)可管理254個(gè)子節(jié)點(diǎn);同時(shí)主節(jié)點(diǎn)還可由上一層網(wǎng)絡(luò)節(jié)點(diǎn)管理,最多可組成65000個(gè)節(jié)點(diǎn)的大網(wǎng)。〔7〕高平安。ZigBee提供了三級(jí)平安模式,包括無(wú)平安設(shè)定、使用接入控制清單(ACL)防止非法獲取數(shù)據(jù)以及采用高級(jí)加密標(biāo)準(zhǔn)(AES128)的對(duì)稱密碼,以靈活確定其平安屬性。〔8〕免執(zhí)照頻段。采用直接序列擴(kuò)頻在工業(yè)科學(xué)醫(yī)療2.4GHz(全球)(ISM)頻段。第二章Zigbee技術(shù)簡(jiǎn)介2.1Zigbee綜述Zigbee是針對(duì)小型設(shè)備的無(wú)線聯(lián)網(wǎng)而制定的協(xié)議標(biāo)準(zhǔn),擁有一套完整的協(xié)議層次結(jié)構(gòu),由和Zigbee聯(lián)盟共同制定完成。其工作頻段分別是868MHz、915MHz、2.4GHz3個(gè)頻段,可以應(yīng)用于不同的場(chǎng)合,諸如家庭自動(dòng)化網(wǎng)絡(luò)、工業(yè)控制網(wǎng)絡(luò)、交互式玩具、遠(yuǎn)程檢測(cè)等。完整的ZigBee協(xié)議棧包括物理層(PHY)、媒體訪問(wèn)控制層(MAC)、網(wǎng)絡(luò)層(NWK)和應(yīng)用層(APL)。ZigBee的應(yīng)用層由應(yīng)用支持子層(APS)、Zigbee設(shè)備對(duì)象(ZDO)和制造商定義的應(yīng)用對(duì)象組成。在Zigbee協(xié)議棧中,每一層通過(guò)使用下層提供的效勞完成自己的功能,同時(shí)對(duì)上層提供效勞,網(wǎng)絡(luò)中的通信在對(duì)等的層次上進(jìn)行。Zigbee網(wǎng)絡(luò)含三種類型的節(jié)點(diǎn),即協(xié)調(diào)器、路由器和終端設(shè)備,其中協(xié)調(diào)器和路由器均為全功能設(shè)備(FFD),而終端設(shè)備選用精簡(jiǎn)功能設(shè)備〔RFD)。一個(gè)ZigBee網(wǎng)絡(luò)有且僅有一個(gè)協(xié)調(diào)器,該設(shè)備負(fù)責(zé)啟動(dòng)網(wǎng)絡(luò),配置網(wǎng)絡(luò)成員地址,維護(hù)網(wǎng)絡(luò),維護(hù)節(jié)點(diǎn)的綁定關(guān)系表等,需要最多的存儲(chǔ)空間和計(jì)算能力,它可以看作是一個(gè)PAN的網(wǎng)關(guān)節(jié)點(diǎn)。路由器主要實(shí)現(xiàn)擴(kuò)展網(wǎng)絡(luò)及路由消息的功能,終端設(shè)備那么負(fù)責(zé)與實(shí)際的監(jiān)控對(duì)象相連,實(shí)現(xiàn)具體功能的單元。無(wú)線傳感器網(wǎng)絡(luò)中可以根據(jù)不同的需要組成星型、簇型網(wǎng)和網(wǎng)狀型三種不同的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。星狀網(wǎng)絡(luò)由一個(gè)PAN協(xié)調(diào)器和多個(gè)終端設(shè)備組成。只存在PAN協(xié)調(diào)器與終端設(shè)備的通信,終端設(shè)備間的通信都需通過(guò)PAN協(xié)調(diào)器的轉(zhuǎn)發(fā);樹(shù)狀網(wǎng)絡(luò)由一個(gè)協(xié)調(diào)器和一個(gè)或多個(gè)星狀結(jié)構(gòu)連接而成,設(shè)備除了能與自己的父節(jié)點(diǎn)或子節(jié)點(diǎn)進(jìn)行點(diǎn)對(duì)點(diǎn)直接通訊外,其他只能通過(guò)樹(shù)狀路由完成消息傳輸;網(wǎng)狀網(wǎng)絡(luò)是樹(shù)狀網(wǎng)絡(luò)根底上實(shí)現(xiàn)的,與樹(shù)狀網(wǎng)絡(luò)不同的是,它允許網(wǎng)絡(luò)中所有具有路由功能的節(jié)點(diǎn)直接互連,由路由器中的路由表配合實(shí)現(xiàn)消息的網(wǎng)狀路由。一個(gè)ZigBee網(wǎng)絡(luò)最多可含有65000多個(gè)子節(jié)點(diǎn),通過(guò)無(wú)線網(wǎng)絡(luò)數(shù)據(jù)從一個(gè)節(jié)點(diǎn)傳送到另一個(gè)節(jié)點(diǎn),最終傳送到控制中心。另外,它可以與其他的無(wú)線網(wǎng)絡(luò)如GPRS和CDMA等兼容,也可以接入有線網(wǎng)絡(luò)如Internt、Ethernet,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。Zigbee無(wú)線傳感網(wǎng)絡(luò)是就是Zigbee應(yīng)用方案的經(jīng)典應(yīng)用。無(wú)線傳感網(wǎng)絡(luò)是基于技術(shù)標(biāo)準(zhǔn)和Zigbee網(wǎng)絡(luò)協(xié)議而設(shè)計(jì)的無(wú)線數(shù)據(jù)傳輸網(wǎng)絡(luò),該網(wǎng)絡(luò)主要應(yīng)用在壓力過(guò)程控制數(shù)據(jù)采集、流量過(guò)程控制數(shù)據(jù)采集、溫度濕度監(jiān)控、樓宇自動(dòng)化、工業(yè)控制、數(shù)據(jù)中心、社區(qū)安防、設(shè)備監(jiān)控、環(huán)境數(shù)據(jù)監(jiān)控、制冷監(jiān)控、倉(cāng)庫(kù)貨物監(jiān)控等方面。適用于蔬菜大棚溫度、濕度和土壤酸堿度監(jiān)控,鋼鐵冶煉溫度控制,煤氣抄表等各個(gè)領(lǐng)域。這種網(wǎng)絡(luò)主要用于無(wú)線系統(tǒng)中短距離的連接,提供傳感器網(wǎng)絡(luò)接入,能夠滿足各種傳感器的數(shù)據(jù)輸出和輸入控制的命令和信息的需求,實(shí)現(xiàn)系統(tǒng)網(wǎng)絡(luò)化、無(wú)線化。這種網(wǎng)絡(luò)是低速率的無(wú)線傳感網(wǎng)絡(luò),射頻傳輸本錢低,各節(jié)點(diǎn)只需要很少的能量,低功耗,適用于電池長(zhǎng)期工作供電,可實(shí)現(xiàn)一點(diǎn)到多點(diǎn),兩點(diǎn)之間的對(duì)等通信,快速組網(wǎng)自動(dòng)配置,自動(dòng)恢復(fù)和高級(jí)電源管理,網(wǎng)絡(luò)中任意個(gè)傳感器之間可相互協(xié)調(diào)實(shí)現(xiàn)數(shù)據(jù)通信。2.2Zigbee協(xié)議棧與網(wǎng)絡(luò)層簡(jiǎn)介ZigBee網(wǎng)絡(luò)層必須提供功能,其的主要就是提供一些必要的函數(shù),以保證IEEE802.15.4-2003ZigBee協(xié)議棧的MAC層能夠正確操作,正常工作,并且為應(yīng)用層提供一個(gè)適宜的效勞接口。為了和應(yīng)用層通信,必須向其提供接口,網(wǎng)絡(luò)層的概念包括了兩個(gè)必要的功能效勞實(shí)體,提供必要的功能。它們分別為數(shù)據(jù)效勞實(shí)體〔NLDE〕和管理效勞實(shí)體〔NLME〕。網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體〔NLDE〕通過(guò)網(wǎng)絡(luò)層相關(guān)的數(shù)據(jù)庫(kù)效勞接入點(diǎn)〔NLDE-SAP〕提供數(shù)據(jù)傳輸效勞,網(wǎng)絡(luò)層管理實(shí)體〔NLME〕通過(guò)網(wǎng)絡(luò)層相關(guān)的管理庫(kù)效勞接入點(diǎn)〔NLME-SAP〕提供網(wǎng)絡(luò)管理效勞,網(wǎng)絡(luò)層管理實(shí)體利用網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體來(lái)獲得一些網(wǎng)絡(luò)管理任務(wù),并完成一些網(wǎng)絡(luò)的管理工作。并且,網(wǎng)絡(luò)層管理實(shí)體還維護(hù)一個(gè)管理對(duì)象的數(shù)據(jù)庫(kù),叫做網(wǎng)絡(luò)信息庫(kù)〔NIB〕,網(wǎng)絡(luò)層管理實(shí)體完成對(duì)網(wǎng)絡(luò)信息庫(kù)〔NIB〕的維護(hù)和管理。1、網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體〔NLME〕網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體提供一個(gè)數(shù)據(jù)效勞,同一個(gè)網(wǎng)絡(luò)中,即在同一個(gè)內(nèi)部個(gè)域網(wǎng)中的兩個(gè)或者更多的設(shè)備之間傳送數(shù)據(jù)時(shí),允許一個(gè)應(yīng)用程序?qū)凑諔?yīng)用協(xié)議數(shù)據(jù)單元〔APDU〕的格式進(jìn)行傳送數(shù)據(jù)。網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體提供如下效勞:①生成網(wǎng)絡(luò)級(jí)別的協(xié)議數(shù)據(jù)單元〔網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元〕PDU〔NPDU〕:網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體〔NLME〕通過(guò)增加一個(gè)適當(dāng)?shù)膮f(xié)議頭,從應(yīng)用支持子層的協(xié)議數(shù)據(jù)單元PDU中生成網(wǎng)絡(luò)層的協(xié)議數(shù)據(jù)單元〔NPDU〕。②指定拓?fù)鋫鬏斅酚桑壕W(wǎng)絡(luò)層數(shù)據(jù)實(shí)體能夠發(fā)送一個(gè)網(wǎng)絡(luò)層的協(xié)議數(shù)據(jù)單元到一個(gè)適宜的設(shè)備,該設(shè)備可以是最終的目的通信設(shè)備,也可能是通信鏈路中到最終目的節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)。2、網(wǎng)絡(luò)層管理實(shí)體網(wǎng)絡(luò)層管理實(shí)體提供網(wǎng)絡(luò)管理效勞,允許一個(gè)應(yīng)用程序與堆棧相互作用。并且網(wǎng)絡(luò)層管理實(shí)體還維護(hù)一個(gè)叫做網(wǎng)絡(luò)信息庫(kù)〔NIB〕的管理對(duì)象的數(shù)據(jù)庫(kù)。網(wǎng)絡(luò)層管理實(shí)體應(yīng)該提供如下效勞:①配置一個(gè)新的設(shè)備:為所需的操作充分配置協(xié)議棧的功能。為保證設(shè)備正常工作的需要,滿足配置的需要,設(shè)備應(yīng)該具有足夠堆棧。配置選項(xiàng)中包括對(duì)一個(gè)ZigBee協(xié)調(diào)器的操作,或參加一個(gè)已存在的網(wǎng)絡(luò)。②開(kāi)始一個(gè)網(wǎng)絡(luò):建立一個(gè)新的網(wǎng)絡(luò)功能,使之具有建立一個(gè)新網(wǎng)絡(luò)的能力。③參加、重新參加和離開(kāi)一個(gè)網(wǎng)絡(luò):實(shí)現(xiàn)參加、重新參加和離開(kāi)一個(gè)網(wǎng)絡(luò)的功能,以及為一個(gè)ZigBee協(xié)調(diào)器或者ZigBee路由器請(qǐng)求一個(gè)設(shè)備離開(kāi)網(wǎng)絡(luò)的能力。具有連接或者斷開(kāi)一個(gè)網(wǎng)絡(luò)的能力。④尋址:ZigBee協(xié)調(diào)器和ZigBee路由器具有為新參加網(wǎng)絡(luò)的設(shè)備分配地址的能力。⑤鄰居設(shè)備發(fā)現(xiàn):具有發(fā)現(xiàn)、記錄和匯報(bào)有關(guān)單跳鄰居設(shè)備信息的能力。⑥路由發(fā)現(xiàn):具有發(fā)現(xiàn)和記錄有效地傳送信息的網(wǎng)絡(luò)路由能力,即信息可以有效的傳達(dá)。⑦收控制:具有控制設(shè)備接收機(jī)接收狀態(tài)的能力,即控制何時(shí)接收者是激活的,以及接收激活時(shí)間的長(zhǎng)短,從而使MAC層的同步或者直接接收等。⑧路由:具有使用不同路由機(jī)制的能力。有單播、多播、播送等,使得路由能夠在網(wǎng)絡(luò)中高效率的交換數(shù)據(jù)。3、網(wǎng)絡(luò)層效勞標(biāo)準(zhǔn)網(wǎng)絡(luò)層通過(guò)兩種效勞訪問(wèn)點(diǎn)〔SPA〕提供相應(yīng)的兩種效勞,它們分別是網(wǎng)絡(luò)層數(shù)據(jù)效勞〔NLDE〕和網(wǎng)絡(luò)層管理效勞〔NLME〕。網(wǎng)絡(luò)層數(shù)據(jù)效勞通過(guò)網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體效勞接入點(diǎn)接入,網(wǎng)絡(luò)層管理效勞通過(guò)網(wǎng)絡(luò)層管理實(shí)體效勞接入點(diǎn)接入。這兩種分別效勞通過(guò)MCPS-SAP和MLME-SAP接口為MAC層提供接口。這些接口之外,在NLDE-SAP和NLME-SAP之間有一個(gè)隱藏的借口,允許NLME使用網(wǎng)絡(luò)層的數(shù)據(jù)效勞。NWK層的組件以及接口如以下圖所示:圖1網(wǎng)絡(luò)層參考模型在移動(dòng)Adhoc網(wǎng)絡(luò)中,隨著節(jié)點(diǎn)移動(dòng),網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)在不斷變化。如何迅速準(zhǔn)確地選擇網(wǎng)絡(luò)路由的問(wèn)題,是移動(dòng)Adhoc網(wǎng)絡(luò)的一個(gè)重要核心的問(wèn)題。常規(guī)的距離向量算法DVA和鏈路狀態(tài)算法LSA,不能滿足AdHoc網(wǎng)絡(luò)中的動(dòng)態(tài)變化的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);單向信道的存在;有限的無(wú)線傳輸帶寬;無(wú)線移動(dòng)終端的局限性等特點(diǎn)。因此,自20世紀(jì)70年代美軍DARPA資助的分組無(wú)線網(wǎng)絡(luò)工程開(kāi)展以來(lái),國(guó)內(nèi)外的許多研究人員從不同的角度提出了一系列的移動(dòng)Adhoc網(wǎng)絡(luò)路由協(xié)議。這些協(xié)議必須處理好移動(dòng)Adhoc網(wǎng)絡(luò)的以上特點(diǎn)。根據(jù)發(fā)現(xiàn)路由的驅(qū)動(dòng)模式的不同,可將這些路由協(xié)議分為表驅(qū)動(dòng)路由協(xié)議和按需路由協(xié)議。表驅(qū)動(dòng)路由協(xié)議又稱為主動(dòng)式〔或先應(yīng)式〕的路由協(xié)議〔ProactiveProtocols〕。是一種基于表格的路由協(xié)議。該路由協(xié)議試圖維護(hù)網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)到其余所有節(jié)點(diǎn)的最新路由信息,所有路由信息都保持一致。這個(gè)路由協(xié)議中,每個(gè)節(jié)點(diǎn)都維護(hù)一張或多張表格,這些表格中包含到達(dá)網(wǎng)絡(luò)中所有其他節(jié)點(diǎn)的路由信息表。當(dāng)檢測(cè)到網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)有變化發(fā)生時(shí),節(jié)點(diǎn)在網(wǎng)絡(luò)中發(fā)送更新消息。收到更新消息的節(jié)點(diǎn)便更新自己的表格,以維護(hù)路由信息的一致、及時(shí)、準(zhǔn)確。拓?fù)涓孪⒃诰W(wǎng)絡(luò)中傳播的方式和需要存儲(chǔ)的表的類型決定了不同的表驅(qū)動(dòng)路由協(xié)議的區(qū)別。表驅(qū)動(dòng)路由協(xié)議根據(jù)變化更新路由表,不斷的檢測(cè)網(wǎng)絡(luò)拓?fù)浜玩溌焚|(zhì)量的變化,所以路由表可以準(zhǔn)確地反映網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。只要源節(jié)點(diǎn)發(fā)送報(bào)文,就能夠立即取得到達(dá)目的節(jié)點(diǎn)的路由。目前常見(jiàn)的有C.E,Perkins在1994年提出的DSDV路由協(xié)議、CGSR路由協(xié)議以及WRP路由協(xié)議等。DSDV路由協(xié)議是一種無(wú)環(huán)路距離向路由協(xié)議,它是傳統(tǒng)的BellmanFord路由協(xié)議的改良。在DSDV中,每個(gè)移動(dòng)節(jié)點(diǎn)都需要維護(hù)一個(gè)路由表,路由表表項(xiàng)其中包括目的節(jié)點(diǎn)、跳數(shù)和目的地序號(hào),其中目的節(jié)點(diǎn)分配目的地序號(hào),主要用于判別路由是否過(guò)時(shí),并且能夠防止路由環(huán)路的產(chǎn)生。每個(gè)節(jié)點(diǎn)必須周期性的與鄰節(jié)點(diǎn)交換路由信息,也可以根據(jù)路由表的改變來(lái)觸發(fā)路由更新。CGSR路由協(xié)議與DSDV類似,但是CGSR并不是一個(gè)大的平面網(wǎng)絡(luò)。CGSR分配指定了網(wǎng)關(guān)節(jié)點(diǎn)簇首節(jié)點(diǎn)和,其中網(wǎng)關(guān)節(jié)點(diǎn)是兩個(gè)簇之間的節(jié)點(diǎn),簇首節(jié)點(diǎn)用來(lái)控制一組節(jié)點(diǎn)和網(wǎng)關(guān)節(jié)點(diǎn)。其中每個(gè)節(jié)點(diǎn)都必須有其簇成員的路由表。因?yàn)?,?dāng)一個(gè)節(jié)點(diǎn)要發(fā)送分組時(shí),這個(gè)分組首先到達(dá)這個(gè)發(fā)送節(jié)點(diǎn)的簇首節(jié)點(diǎn),然后簇首節(jié)點(diǎn)把該分組通過(guò)網(wǎng)關(guān)節(jié)點(diǎn)轉(zhuǎn)發(fā)給另外一個(gè)簇首節(jié)點(diǎn),不斷重復(fù)這個(gè)過(guò)程直到分組到達(dá)目的節(jié)點(diǎn)。WRP路由協(xié)議是另一種表驅(qū)動(dòng)路由協(xié)議,在網(wǎng)絡(luò)的節(jié)點(diǎn)中保存路由信息。每個(gè)節(jié)點(diǎn)都在路由表中保存有如下信息:距離、路由、鏈路開(kāi)銷和重傳消息的列表。重傳消息的列表記錄關(guān)于重傳計(jì)數(shù)器、消息序列號(hào)、每一個(gè)鄰節(jié)點(diǎn)正確應(yīng)答所需的標(biāo)識(shí)以及更新消息的更新列表等信息。WRP的優(yōu)點(diǎn)就是當(dāng)一個(gè)節(jié)點(diǎn)試圖執(zhí)行路徑方案算法時(shí),可以通過(guò)目的節(jié)點(diǎn)的上游節(jié)點(diǎn)所保存的信息和鄰節(jié)點(diǎn)所保存的信息來(lái)限制算法,使得算法收斂得更快并防止路由當(dāng)中的環(huán)路。由于WRP需要保存4個(gè)路由表,所以比大多數(shù)的協(xié)議需要更大的內(nèi)存。WRP還依賴于周期性的Hello消息,這也要占用帶寬。這類路由協(xié)議通常是通過(guò)修改常規(guī)的Internet路由協(xié)議以適應(yīng)移動(dòng)Adhoc網(wǎng)絡(luò)環(huán)境,通過(guò)引入序列號(hào)機(jī)制解決了“路由環(huán)路〞和“計(jì)數(shù)到無(wú)窮〞的問(wèn)題;通過(guò)采用“時(shí)問(wèn)驅(qū)動(dòng)〞和“事件驅(qū)動(dòng)〞機(jī)制更新路由信息,盡量減少路由等控制信息對(duì)無(wú)線信道的占用,以提高系統(tǒng)效率。在主動(dòng)式路由協(xié)議中,由于每個(gè)節(jié)點(diǎn)需要實(shí)時(shí)地維護(hù)路由信息,這樣在網(wǎng)絡(luò)規(guī)模較大、拓?fù)渥兓^快的環(huán)境中,大量的拓?fù)涓孪?huì)占用過(guò)多的信道資源,使得系統(tǒng)效率下降。為此,1996年卡耐基梅隆大學(xué)的DavidB.Johnson在DSR協(xié)議中提出了一種新的路由選擇原那么:按需路由協(xié)議。按需路由協(xié)議又稱為反響式路由協(xié)議〔ReactiveProtocols〕。與主動(dòng)式路由協(xié)議相比,它是一種被動(dòng)式的路由協(xié)議。在這類協(xié)議中,節(jié)點(diǎn)平時(shí)并不實(shí)時(shí)地維護(hù)網(wǎng)絡(luò)路由,只有在節(jié)點(diǎn)有數(shù)據(jù)需要發(fā)送時(shí),從激活路由發(fā)現(xiàn)機(jī)制尋找到達(dá)目的地的路由。路山發(fā)現(xiàn)過(guò)程如下圖。當(dāng)節(jié)點(diǎn)1有數(shù)據(jù)要向節(jié)點(diǎn)8發(fā)送且無(wú)路由時(shí),節(jié)點(diǎn)1啟動(dòng)路由發(fā)現(xiàn)過(guò)程:1.節(jié)點(diǎn)1向鄰居節(jié)點(diǎn)〔節(jié)點(diǎn)2、3、4〕發(fā)送路由請(qǐng)求消息;2.中間節(jié)點(diǎn)轉(zhuǎn)發(fā)路由請(qǐng)求消息直至目的節(jié)點(diǎn)8;3.目的節(jié)點(diǎn)選擇適宜的路由返回路由響應(yīng)消息,該消息中攜帶了從節(jié)點(diǎn)1到節(jié)點(diǎn)8的完整路由。圖2按需路由協(xié)議的路由發(fā)現(xiàn)過(guò)程根據(jù)國(guó)際上目前研究的結(jié)果可知,在各種不同的情況下比擬時(shí),基于按需方式的路由算法要比基于表驅(qū)動(dòng)方式的路由算法在性能上有著明顯的優(yōu)勢(shì)。另外,在負(fù)載較重的情況下,按需式的路由協(xié)議中AODV協(xié)議的性能最為理想。第三章系統(tǒng)分析與設(shè)計(jì)3.1根本原理:溫度傳感器將被測(cè)點(diǎn)的溫度采集后輸出的模擬信號(hào)逐步送往放大電路、低通濾波器以及A/D轉(zhuǎn)換器〔即信號(hào)調(diào)理電路〕,然后再單片機(jī)的控制下將A/D轉(zhuǎn)換器輸出的數(shù)字信號(hào)傳送到無(wú)線收發(fā)芯片中,并通過(guò)芯片的調(diào)制處理后由芯片內(nèi)部的天線發(fā)送到上位機(jī)機(jī)監(jiān)測(cè)軟件上,在上位機(jī)模塊上,發(fā)來(lái)的數(shù)據(jù)由單片機(jī)控制的無(wú)線收發(fā)芯片接收并解調(diào),最后通過(guò)接口芯片發(fā)送到PC機(jī)中進(jìn)行顯示和處理。溫度傳感器被用在終端節(jié)點(diǎn)上,當(dāng)上電后,溫度傳感器就是能夠獲取環(huán)境中某個(gè)地方溫度的敏感元器件,它可以將環(huán)境中的溫度或者是與溫度相關(guān)的參量信息轉(zhuǎn)換成電信號(hào),我們可以根據(jù)這些電信號(hào)的強(qiáng)弱來(lái)識(shí)別被測(cè)點(diǎn)在環(huán)境中的溫度數(shù)據(jù)。濕度傳感器和溫度傳感器采集到數(shù)據(jù)后,通過(guò)給RS232串口增加無(wú)線傳輸功能,替代設(shè)備電纜線進(jìn)行無(wú)線傳輸,無(wú)線溫度采集系統(tǒng)改變了傳統(tǒng)有線的數(shù)據(jù)采集系統(tǒng)搭建布線困難,監(jiān)測(cè)區(qū)域受限等諸多缺乏。要求設(shè)計(jì)的短距離無(wú)線通信系統(tǒng)具有功耗少,性價(jià)比高,系統(tǒng)維護(hù)快捷方便,而且通過(guò)在傳感器模塊上添加FLASH存儲(chǔ)設(shè)備,使得數(shù)據(jù)采集工作能夠擺脫對(duì)監(jiān)測(cè)過(guò)程網(wǎng)絡(luò)輻射范圍的限制,可應(yīng)用到許多的場(chǎng)合更好的改善采集工作的便捷行。通過(guò)與其他通信技術(shù)(如GSM/GPRS)的無(wú)縫接合,能夠?qū)崿F(xiàn)采集數(shù)據(jù)的遠(yuǎn)程傳輸,滿足對(duì)數(shù)據(jù)采集區(qū)域的遠(yuǎn)程監(jiān)控串口傳輸設(shè)計(jì)為雙向全雙工,無(wú)硬件流控制,強(qiáng)制允許OTA(多條)時(shí)間和丟包重傳。3.2系統(tǒng)方案比擬與選擇方案一:使用目前已經(jīng)非常成熟且廣泛應(yīng)用的藍(lán)牙技術(shù),能在包括移動(dòng)、PDA、無(wú)線耳機(jī)、筆記本電腦、相關(guān)外設(shè)等眾多設(shè)備之間進(jìn)行無(wú)線信息交換。利用“藍(lán)牙〞技術(shù),能夠有效地簡(jiǎn)化移動(dòng)通信終端設(shè)備之間的通信,也能夠成功地簡(jiǎn)化設(shè)備與因特網(wǎng)Internet之間的通信,從而數(shù)據(jù)傳輸變得更加迅速高效,為無(wú)線通信拓寬道路。藍(lán)牙采用分散式網(wǎng)絡(luò)結(jié)構(gòu)以及快跳頻和短包技術(shù),支持點(diǎn)對(duì)點(diǎn)及點(diǎn)對(duì)多點(diǎn)通信,工作在全球通用的2.4GHzISM〔即工業(yè)、科學(xué)、醫(yī)學(xué)〕頻段。其數(shù)據(jù)速率為1Mbps。采用時(shí)分雙工傳輸方案實(shí)現(xiàn)全雙工傳輸。方便快捷且不會(huì)遇到未知的技術(shù)難題.方案二:選擇TI公司的2.4GHz片上系統(tǒng)解決方案CC2530,CC2530是用于、Zigbee和RF4CE應(yīng)用的一個(gè)片上系統(tǒng)解決方案,它能以較低的總本錢建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。CC2530結(jié)合了先進(jìn)的RF收發(fā)器性能,業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051內(nèi)核,使操作更容易,具備不同的運(yùn)行模式,尤其適用于低功耗的系統(tǒng)需求。通過(guò)比照以上兩種方案開(kāi)發(fā)的難易程度、開(kāi)發(fā)周期和現(xiàn)有的實(shí)驗(yàn)環(huán)境我們選擇方案二。無(wú)線溫度采集系統(tǒng)改變了傳統(tǒng)有線的數(shù)據(jù)采集系統(tǒng)搭建布線困難,監(jiān)測(cè)區(qū)域受限等諸多缺乏。ZigBee這種新興的短距離無(wú)線通信系統(tǒng)具有功耗少,性價(jià)比高,系統(tǒng)維護(hù)快捷方便,而且通過(guò)在傳感器模塊上添加FLASH存儲(chǔ)設(shè)備,使得數(shù)據(jù)采集工作能夠擺脫對(duì)監(jiān)測(cè)過(guò)程網(wǎng)絡(luò)輻射范圍的限制,可應(yīng)用到許多的場(chǎng)合更好的改善采集工作的便捷行。通過(guò)與其他通信技術(shù)(如GSM/GPRS)的無(wú)縫接合,能夠?qū)崿F(xiàn)采集數(shù)據(jù)的遠(yuǎn)程傳輸,滿足對(duì)數(shù)據(jù)采集區(qū)域的遠(yuǎn)程監(jiān)控。一般以ZigBee技術(shù)為核心的無(wú)線溫度采集系統(tǒng)的工作過(guò)程為:協(xié)調(diào)器節(jié)點(diǎn)首先應(yīng)搭建網(wǎng)絡(luò),等待各自終端采集節(jié)點(diǎn)的入網(wǎng)請(qǐng)求;終端節(jié)點(diǎn)經(jīng)過(guò)驗(yàn)證參加網(wǎng)絡(luò)后,把溫度傳感器采集到的數(shù)據(jù)通過(guò)無(wú)線網(wǎng)絡(luò)上傳傳輸給協(xié)調(diào)器節(jié)點(diǎn);協(xié)調(diào)器節(jié)點(diǎn)接收到數(shù)據(jù)包后,進(jìn)行數(shù)據(jù)包解析,并通過(guò)串口將溫度信息以及子節(jié)點(diǎn)地址等有效信息存儲(chǔ)并顯示在監(jiān)控界面上。3.3系統(tǒng)整體設(shè)計(jì)無(wú)線傳感器溫度測(cè)量系統(tǒng)主要由單個(gè)ZigBee協(xié)調(diào)器、單部PC機(jī)和放置在各處的溫度采集節(jié)點(diǎn)—ZigBee終端設(shè)備組成。ZigBee協(xié)調(diào)器與各個(gè)終端節(jié)點(diǎn)形成了一個(gè)ZigBee星型網(wǎng)絡(luò)。整個(gè)無(wú)線溫度采集系統(tǒng)的拓?fù)浣Y(jié)構(gòu)圖如圖1所示。各處的溫度采集節(jié)點(diǎn)—ZigBee終端設(shè)備組成。CC2530芯片的有效通信半徑為100m時(shí),終端節(jié)點(diǎn)可以安置在以協(xié)調(diào)器為中心100m半徑范圍內(nèi)。終端數(shù)據(jù)采集節(jié)點(diǎn)的結(jié)構(gòu)較為簡(jiǎn)化,僅由一個(gè)CC2530模塊,F(xiàn)lash存儲(chǔ),2節(jié)1.5V電池和溫度傳感器組成,各個(gè)終端節(jié)點(diǎn)被初始化為無(wú)信標(biāo)網(wǎng)絡(luò)中的終端設(shè)備。終端設(shè)備上電復(fù)位后,便啟動(dòng)搜索指定信道上的ZigBee協(xié)調(diào)器,并發(fā)送連接請(qǐng)求,終端設(shè)備在成功入網(wǎng)后,將被賦予一個(gè)16位短地址,在以后網(wǎng)絡(luò)中的通信都以這個(gè)16位的短地址作為節(jié)點(diǎn)的標(biāo)識(shí);啟動(dòng)休眠定時(shí)器,間隔10秒鐘喚醒一次,醒來(lái)后使用一種簡(jiǎn)單的非時(shí)隙CSMA-CA,通過(guò)競(jìng)爭(zhēng)機(jī)制取得信道使用權(quán),自己向協(xié)調(diào)器節(jié)點(diǎn)發(fā)送請(qǐng)求數(shù)據(jù)。利用模塊上的溫度傳感器模塊檢測(cè)環(huán)境溫度,并上傳給協(xié)調(diào)器節(jié)點(diǎn),然后立即再次進(jìn)入休眠狀態(tài),最大限度地減少能耗,延長(zhǎng)終端節(jié)點(diǎn)電源續(xù)航時(shí)間,同時(shí)也可以延伸采集范圍,即利用ZigBe網(wǎng)絡(luò)的自組織性我們可以攜帶輕巧的終端數(shù)據(jù)采集節(jié)點(diǎn)到實(shí)際測(cè)量區(qū)域完成數(shù)據(jù)采集工作,如果超出了無(wú)線網(wǎng)絡(luò)可以支持的傳輸范圍,那可以將數(shù)據(jù)暫時(shí)存儲(chǔ)在Flash存儲(chǔ)器中。網(wǎng)絡(luò)中的協(xié)調(diào)器節(jié)點(diǎn)負(fù)責(zé)搜集各溫度采集節(jié)點(diǎn)的信息,并將信息快速的通過(guò)RS232串口按事先定義好的格式上傳PC機(jī),隨即解析并顯示出來(lái)。1總體設(shè)計(jì)框圖如下:圖3.1無(wú)線溫濕度采集系統(tǒng)框圖實(shí)驗(yàn)硬件實(shí)物圖如下:〔1〕1CC2530郵票孔節(jié)點(diǎn)模塊(2)無(wú)線節(jié)點(diǎn)模塊〔3〕溫濕度采集模塊3.系統(tǒng)硬件說(shuō)明〔1〕SHT10說(shuō)明SHT10是一款高度集成的溫度濕度傳感器芯片,提供全標(biāo)定的數(shù)字輸出。它采用專利的COMSens技術(shù),確保了傳感器具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感器包括包括一個(gè)電容性聚合體測(cè)濕敏感元件、一個(gè)能隙材料制成的測(cè)溫元件,并在同一芯片上,與14位的A/D轉(zhuǎn)換器以及串行接口電路進(jìn)行連接。圖3.2應(yīng)用電路SH10引腳特性如下:電源引腳SHT10的供電電壓為2.4~5.5V。傳感器上電后,要等待11ms以越過(guò)“休眠〞狀態(tài)。在此期間無(wú)需發(fā)送任何指令。電源引腳〔VDD,GND〕之間可增加一個(gè)100nF的電容,用以去耦濾波。串行接口(兩線雙向)SHT10的串行接口,在傳感器信號(hào)的讀取及電源損耗方面,都做了優(yōu)化處理;但與I2C接口不兼容.串行時(shí)鐘輸入(SCK)SCK用于微處理器與SHTxx之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小SCK頻率。串行數(shù)據(jù)(DATA)DATA三態(tài)門用于數(shù)據(jù)的讀取。DATA在SCK時(shí)鐘下降沿之后改變狀態(tài),并僅在SCK時(shí)鐘上升沿有效。數(shù)據(jù)傳輸期間,在SCK時(shí)鐘高電平時(shí),DATA必須保持穩(wěn)定。為防止信號(hào)沖突,微處理器應(yīng)驅(qū)動(dòng)DATA在低電平。需要一個(gè)外部的上拉電阻〔例如:10kΩ〕將信號(hào)提拉至高電平〔參見(jiàn)圖2〕。上拉電阻通常已包含在微處理器的I/O電路中。串行時(shí)鐘輸入(SCK)SCK用于微處理器與SHTxx之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小SCK頻率。測(cè)量時(shí)序(RH和T)發(fā)布一組測(cè)量命令〔‘00000101’表示相對(duì)濕度RH,‘00000011’表示溫度T〕后,控制器要等待測(cè)量結(jié)束。這個(gè)過(guò)程需要大約11/55/210ms,分別對(duì)應(yīng)8/12/14bit測(cè)量。確切的時(shí)間隨內(nèi)部晶振速度,最多有±15%變化。SHTxx通過(guò)下拉DATA至低電平并進(jìn)入空閑模式,表示測(cè)量的結(jié)束。控制器在再次觸發(fā)SCK時(shí)鐘前,必須等待這個(gè)“數(shù)據(jù)備妥〞信號(hào)來(lái)讀出數(shù)據(jù)。檢測(cè)數(shù)據(jù)可以先被存儲(chǔ),這樣控制器可以繼續(xù)執(zhí)行其它任務(wù)在需要時(shí)再讀出數(shù)據(jù)。接著傳輸2個(gè)字節(jié)的測(cè)量數(shù)據(jù)和1個(gè)字節(jié)的CRC奇偶校驗(yàn)。uC需要通過(guò)下拉DATA為低電平,以確認(rèn)每個(gè)字節(jié)。所有的數(shù)據(jù)從MSB開(kāi)始,右值有效〔例如:對(duì)于12bit數(shù)據(jù),從第5個(gè)SCK時(shí)鐘起算作MSB;而對(duì)于8bit數(shù)據(jù),首字節(jié)那么無(wú)意義〕。用CRC數(shù)據(jù)確實(shí)認(rèn)位,說(shuō)明通訊結(jié)束。如果不使用CRC-8校驗(yàn),控制器可以在測(cè)量值LSB后,通過(guò)保持確認(rèn)位ack高電平,來(lái)中止通訊。在測(cè)量和通訊結(jié)束后,SHTxx自動(dòng)轉(zhuǎn)入休眠模式。通訊復(fù)位時(shí)序如果與SHTxx通訊中斷,以下信號(hào)時(shí)序可以復(fù)位串口:當(dāng)DATA保持高電平時(shí),觸發(fā)SCK時(shí)鐘9次或更多。在下一次指令前,發(fā)送一個(gè)“傳輸啟動(dòng)〞時(shí)序。這些時(shí)序只復(fù)位串口,狀態(tài)存放器內(nèi)容仍然保存。圖3.3通訊復(fù)位時(shí)序圖〔2〕CC2530說(shuō)明CC2530是用于2.4-GHz

IEEE802.15.4、ZigBee和RF4CE應(yīng)用的一個(gè)真正的片上系統(tǒng)〔SoC〕解決方案。它能夠以非常低的總的材料本錢建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。CC2530結(jié)合了領(lǐng)先的RF收發(fā)器的優(yōu)良性能,業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051CPU,系統(tǒng)內(nèi)可編程閃存,8-KBRAM和許多其它強(qiáng)大的功能。CC2530有四種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256KB的閃存。CC2530具有不同的運(yùn)行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng)。運(yùn)行模式之間的轉(zhuǎn)換時(shí)間短進(jìn)一步確保了低能源消耗。CC2530F256結(jié)合了德州儀器的業(yè)界領(lǐng)先的黃金單元ZigBee

協(xié)議棧〔Z-Stack?〕,提供了一個(gè)強(qiáng)大和完整的ZigBee解決方案。CC2530F64結(jié)合了德州儀器的黃金單元RemoTI,更好地提供了一個(gè)強(qiáng)大和完整的ZigBeeRF4CE

遠(yuǎn)程控制解決方案。引腳描述引腳名稱引腳引腳類型描述AVDD128電源〔模擬〕2-V–3.6-V模擬電源連接AVDD227電源〔模擬〕2-V–3.6-V模擬電源連接AVDD324電源〔模擬〕2-V–3.6-V模擬電源連接AVDD429電源〔模擬〕2-V–3.6-V模擬電源連接AVDD521電源〔模擬〕2-V–3.6-V模擬電源連接AVDD631電源〔模擬〕2-V–3.6-V模擬電源連接DCOUPL40電源〔數(shù)字〕1.8V數(shù)字電源去耦。不使用外部電路供給。DVDD139電源〔數(shù)字〕2-V–3.6-V數(shù)字電源連接DVDD210電源〔數(shù)字〕2-V–3.6-V數(shù)字電源連接GND-接地接地襯墊必須連接到一個(gè)鞏固的接地面。GND1,2,3,4未使用的引腳

連接到GNDP0_019數(shù)字I/O端口0.0P0_118數(shù)字I/O端口0.1P0_217數(shù)字I/O端口0.2P0_316數(shù)字I/O端口0.3P0_415數(shù)字I/O端口0.4P0_514數(shù)字I/O端口0.5P0_613數(shù)字I/O端口0.6P0_712數(shù)字I/O端口0.7P1_011數(shù)字I/O端口1.0-20-mA驅(qū)動(dòng)能力P1_19數(shù)字I/O端口1.1-20-mA驅(qū)動(dòng)能力P1_28數(shù)字I/O端口1.2P1_37數(shù)字I/O端口1.3P1_46數(shù)字I/O端口1.4P1_55數(shù)字I/O端口1.5P1_638數(shù)字I/O端口1.6P1_737數(shù)字I/O端口1.7P2_036數(shù)字I/O端口2.0P2_135數(shù)字I/O端口2.1P2_234數(shù)字I/O端口2.2P2_333數(shù)字I/O模擬端口2.3/32.768kHzXOSCP2_432數(shù)字I/O模擬端口2.4/32.768kHzXOSCRBIAS30模擬I/O參考電流的外部精密偏置電阻RESET_N20數(shù)字輸入復(fù)位,活動(dòng)到低電平RF_N26RFI/ORX期間負(fù)RF輸入信號(hào)到LNARF_P25RFI/ORX期間正RF輸入信號(hào)到LNAXOSC_Q122模擬I/O32-MHz晶振引腳1或外部時(shí)鐘輸入XOSC_Q223模擬I/O32-MHz晶振引腳2模塊說(shuō)明CC2530芯片系列中使用的8051CPU內(nèi)核是一個(gè)單周期的8051兼容內(nèi)核。它有三種不同的內(nèi)存訪問(wèn)總線〔SFR,DATA和CODE/XDATA〕,單周期訪問(wèn)SFR,DATA和主SRAM。它還包括一個(gè)調(diào)試接口和一個(gè)18輸入擴(kuò)展中斷單元。中斷控制器總共提供了18個(gè)中斷源,分為六個(gè)中斷組,每個(gè)與四個(gè)中斷優(yōu)先級(jí)之一相關(guān)。當(dāng)設(shè)備從活動(dòng)模式回到空閑模式,任一中斷效勞請(qǐng)求就被激發(fā)。一些中斷還可以從睡眠模式〔供電模式1-3〕喚醒設(shè)備。內(nèi)存仲裁器位于系統(tǒng)中心,因?yàn)樗ㄟ^(guò)SFR

總線把CPU和DMA控制器和物理存儲(chǔ)器以及所有外設(shè)連接起來(lái)。內(nèi)存仲裁器有四個(gè)內(nèi)存訪問(wèn)點(diǎn),每次訪問(wèn)可以映射到三個(gè)物理存儲(chǔ)器之一:一個(gè)8-KBSRAM、閃存存儲(chǔ)器和XREG/SFR

存放器。它負(fù)責(zé)執(zhí)行仲裁,并確定同時(shí)訪問(wèn)同一個(gè)物理存儲(chǔ)器之間的順序。8-KBSRAM映射到DATA存儲(chǔ)空間和局部XDATA存儲(chǔ)空間。8-KBSRAM是一個(gè)超低功耗的SRAM,即使數(shù)字局部掉電〔供電模式2和3〕也能保存其內(nèi)容。這是對(duì)于低功耗應(yīng)用來(lái)說(shuō)很重要的一個(gè)功能。32/64/128/256KB閃存塊為設(shè)備提供了內(nèi)電路可編程的非易失性程序存儲(chǔ)器,映射到XDATA

存儲(chǔ)空間。除了保存程序代碼和常量以外,非易失性存儲(chǔ)器允許應(yīng)用程序保存必須保存的數(shù)據(jù),這樣設(shè)備重啟之后可以使用這些數(shù)據(jù)。使用這個(gè)功能,例如可以利用已經(jīng)保存的網(wǎng)絡(luò)具體數(shù)據(jù),就不需要經(jīng)過(guò)完全啟動(dòng)、網(wǎng)絡(luò)尋找和參加過(guò)程。時(shí)鐘和電源管理數(shù)字內(nèi)核和外設(shè)由一個(gè)1.8-V低差穩(wěn)壓器供電。它提供了電源管理功能,可以實(shí)現(xiàn)使用不同供電模式的長(zhǎng)電池壽命的低功耗運(yùn)行。有五種不同的復(fù)位源來(lái)復(fù)位設(shè)備。外設(shè)CC2530包括許多不同的外設(shè),允許應(yīng)用程序設(shè)計(jì)者開(kāi)發(fā)先進(jìn)的應(yīng)用。調(diào)試接口執(zhí)行一個(gè)專有的兩線串行接口,用于內(nèi)電路調(diào)試。通過(guò)這個(gè)調(diào)試接口,可以執(zhí)行整個(gè)閃存存儲(chǔ)器的擦除、控制使能哪個(gè)振蕩器、停止和開(kāi)始執(zhí)行用戶程序、執(zhí)行8051

內(nèi)核提供的指令、設(shè)置代碼斷點(diǎn),以及內(nèi)核中全部指令的單步調(diào)試。使用這些技術(shù),可以很好地執(zhí)行內(nèi)電路的調(diào)試和外部閃存的編程。設(shè)備含有閃存存儲(chǔ)器以存儲(chǔ)程序代碼。閃存存儲(chǔ)器可通過(guò)用戶軟件和調(diào)試接口編程。閃存控制器處理寫入和擦除嵌入式閃存存儲(chǔ)器。閃存控制器允許頁(yè)面擦除和4

字節(jié)編程。I/O控制器負(fù)責(zé)所有通用I/O引腳。CPU可以配置外設(shè)模塊是否控制某個(gè)引腳或它們是否受軟件控制,如果是的話,每個(gè)引腳配置為一個(gè)輸入還是輸出,是否連接襯墊里的一個(gè)上拉或下拉電阻。CPU中斷可以分別在每個(gè)引腳上使能。每個(gè)連接到I/O

引腳的外設(shè)可以在兩個(gè)不同的I/O引腳位置之間選擇,以確保在不同應(yīng)用程序中的靈活性。系統(tǒng)可以使用一個(gè)多功能的五通道DMA控制器,使用XDATA存儲(chǔ)空間訪問(wèn)存儲(chǔ)器,因此能夠訪問(wèn)所有物理存儲(chǔ)器。每個(gè)通道〔觸發(fā)器、優(yōu)先級(jí)、傳輸模式、尋址模式、源和目標(biāo)指針和傳輸計(jì)數(shù)〕用DMA描述符在存儲(chǔ)器任何地方配置。許多硬件外設(shè)〔AES

內(nèi)核、閃存控制器、USART、定時(shí)器、ADC接口〕通過(guò)使用DMA控制器在SFR或XREG地址和閃存/SRAM之間進(jìn)行數(shù)據(jù)傳輸,獲得高效率操作。定時(shí)器1是一個(gè)16位定時(shí)器,具有定時(shí)器/PWM功能。它有一個(gè)可編程的分頻器,一個(gè)16位周期值,和五個(gè)各自可編程的計(jì)數(shù)器/捕獲通道,每個(gè)都有一個(gè)16位比擬值。每個(gè)計(jì)數(shù)器/捕獲通道可以用作一個(gè)PWM輸出或捕獲輸入信號(hào)邊沿的時(shí)序。它還可以配置在IR產(chǎn)生模式,計(jì)算定時(shí)器3周期,輸出是ANDed,定時(shí)器3的輸出是用最小的CPU互動(dòng)產(chǎn)生調(diào)制的消費(fèi)型IR信號(hào)。MAC定時(shí)器〔定時(shí)器2〕是專門為支持IEEE802.15.4MAC或軟件中其他時(shí)槽的協(xié)議設(shè)計(jì)。定時(shí)器有一個(gè)可配置的定時(shí)器周期和一個(gè)8位溢出計(jì)數(shù)器,可以用于保持跟蹤已經(jīng)經(jīng)過(guò)的周期數(shù)。一個(gè)16位捕獲存放器也用于記錄收到/發(fā)送一個(gè)幀開(kāi)始界定符的精確時(shí)間,或傳輸結(jié)束的精確時(shí)間,還有一個(gè)16位輸出比擬存放器可以在具體時(shí)間產(chǎn)生不同的選通命令〔開(kāi)始RX,開(kāi)始TX,等等〕到無(wú)線模塊。定時(shí)器3和定時(shí)器4是8位定時(shí)器,具有定時(shí)器/計(jì)數(shù)器/PWM功能。它們有一個(gè)可編程的分頻器,一個(gè)8位的周期值,一個(gè)可編程的計(jì)數(shù)器通道,具有一個(gè)8位的比擬值。每個(gè)計(jì)數(shù)器通道可以用作一個(gè)PWM輸出。睡眠定時(shí)器是一個(gè)超低功耗的定時(shí)器,計(jì)算32-kHz晶振或32-kHzRC振蕩器的周期。睡眠定時(shí)器在除了供電模式3的所有工作模式下不斷運(yùn)行。這一定時(shí)器的典型應(yīng)用是作為實(shí)時(shí)計(jì)數(shù)器,或作為一個(gè)喚醒定時(shí)器跳出供電模式1或2。ADC支持7到12位的分辨率,分別在30kHz或4kHz的帶寬。DC和音頻轉(zhuǎn)換可以使用高達(dá)八個(gè)輸入通道〔端口0〕。輸入可以選擇作為單端或差分。參考電壓可以是內(nèi)部電壓、AVDD或是一個(gè)單端或差分外部信號(hào)。ADC還有一個(gè)溫度傳感輸入通道。ADC可以自動(dòng)執(zhí)行定期抽樣或轉(zhuǎn)換通道序列的程序。隨機(jī)數(shù)發(fā)生器使用一個(gè)16位LFSR來(lái)產(chǎn)生偽隨機(jī)數(shù),這可以被CPU讀取或由選通命令處理器直接使用。例如隨機(jī)數(shù)可以用作產(chǎn)生隨機(jī)密鑰,用于平安。AES加密/解密內(nèi)核允許用戶使用帶有128位密鑰的AES算法加密和解密數(shù)據(jù)。這一內(nèi)核能夠支持IEEE802.15.4MAC平安、ZigBee網(wǎng)絡(luò)層和應(yīng)用層要求的AES操作。一個(gè)內(nèi)置的看門狗允許CC2530在固件掛起的情況下復(fù)位自身。當(dāng)看門狗定時(shí)器由軟件使能,它必須定期去除;否那么,當(dāng)它超時(shí)就復(fù)位它就復(fù)位設(shè)備?;蛘咚梢耘渲糜米饕粋€(gè)通用32-kHz

定時(shí)器。USART0和USART1每個(gè)被配置為一個(gè)SPI主/從或一個(gè)UART。它們?yōu)镽X和TX提供了雙緩沖,以及硬件流控制,因此非常適合于高吞吐量的全雙工應(yīng)用。每個(gè)都有自己的高精度波特率發(fā)生器,因此可以使普通定時(shí)器空閑出來(lái)用作其他用途。無(wú)線設(shè)備CC2530具有一個(gè)IEEE802.15.4兼容無(wú)線收發(fā)器。RF內(nèi)核控制模擬無(wú)線模塊。另外,它提供了MCU和無(wú)線設(shè)備之間的一個(gè)接口,這使得可以發(fā)出命令,讀取狀態(tài),自動(dòng)操作和確定無(wú)線設(shè)備事件的順序。無(wú)線設(shè)備還包括一個(gè)數(shù)據(jù)包過(guò)濾和地址識(shí)別模塊。4.系統(tǒng)軟件設(shè)計(jì)本系統(tǒng)軟件設(shè)計(jì)基于Ti公司推出的跟CC2530芯片配套的ZSTACK協(xié)議棧和IAR集成開(kāi)發(fā)環(huán)境。ZSTACK協(xié)議棧運(yùn)行在一個(gè)基于任務(wù)調(diào)度機(jī)制的OSAL操作系統(tǒng)上,OSAL通過(guò)觸發(fā)任務(wù)的事件來(lái)實(shí)現(xiàn)任務(wù)調(diào)度OSAL中的任務(wù)以通過(guò)任務(wù)API將其添加到系統(tǒng)中,實(shí)現(xiàn)多任務(wù)機(jī)制。系統(tǒng)中傳感器節(jié)點(diǎn)由CC2430內(nèi)部的MCU控制,定時(shí)向溫濕度傳感器SHT10發(fā)送讀溫度和濕度指令,SHT11完成溫度和濕度轉(zhuǎn)換后會(huì)發(fā)出轉(zhuǎn)換完成信號(hào),MCU在接收到轉(zhuǎn)換完成信號(hào)后,讀取溫濕度值,并將這些數(shù)據(jù)信號(hào)傳送給協(xié)調(diào)器。協(xié)調(diào)器通過(guò)串口RS232和上位機(jī)(PC)相連,通過(guò)人機(jī)交互的方式對(duì)整個(gè)區(qū)域的進(jìn)行檢測(cè)。為了實(shí)現(xiàn)這一功能,必須知道節(jié)點(diǎn)的長(zhǎng)短地址對(duì)應(yīng)表,這就需要節(jié)點(diǎn)在參加網(wǎng)絡(luò)后發(fā)送自己的長(zhǎng)短地址給協(xié)調(diào)器,協(xié)調(diào)器將長(zhǎng)短地址對(duì)應(yīng)列表存儲(chǔ)起來(lái),以便用戶要求采集數(shù)據(jù)時(shí)依據(jù)地址表來(lái)采集每個(gè)傳感器的數(shù)據(jù)?!?〕協(xié)調(diào)器節(jié)點(diǎn)設(shè)計(jì)網(wǎng)絡(luò)協(xié)調(diào)器主要負(fù)責(zé)網(wǎng)絡(luò)的建立,信息的接收、匯總、處理及控制指令的發(fā)送。ZigBee網(wǎng)絡(luò)最初由協(xié)調(diào)器發(fā)動(dòng)并建立。協(xié)調(diào)器通過(guò)主動(dòng)掃描選擇一個(gè)適宜信道,根據(jù)掃描的結(jié)果選擇自己的PANID及0x0000作為自己的短地址,其網(wǎng)絡(luò)層將通過(guò)向MAC層發(fā)送MLMESTART.request原語(yǔ)啟動(dòng)一個(gè)新的PAN。協(xié)調(diào)器節(jié)點(diǎn)在建成網(wǎng)絡(luò)后,開(kāi)始數(shù)據(jù)收發(fā)工作及各種操作指令的執(zhí)行。當(dāng)協(xié)調(diào)器收到數(shù)據(jù)時(shí),根據(jù)數(shù)據(jù)的串ID來(lái)判斷傳送的數(shù)據(jù)是地址信息還是傳感器采集的數(shù)據(jù),根據(jù)不同的數(shù)據(jù)類型解析數(shù)據(jù)包提供給PC機(jī)顯示和處理。程序流程如圖4左所示?!?〕傳感器節(jié)點(diǎn)的設(shè)計(jì)傳感器節(jié)點(diǎn)主要負(fù)責(zé)溫濕度數(shù)據(jù)的采集、發(fā)送以及控制指令的接收?qǐng)?zhí)行。節(jié)點(diǎn)開(kāi)啟初始化后,主動(dòng)掃描有效網(wǎng)絡(luò)信道,尋找適宜的父節(jié)點(diǎn),通過(guò)關(guān)聯(lián)過(guò)程參加網(wǎng)絡(luò)。如果已經(jīng)參加到網(wǎng)絡(luò)中而暫時(shí)與網(wǎng)絡(luò)失去聯(lián)系的節(jié)點(diǎn)想重新參加網(wǎng)絡(luò),可以進(jìn)行孤立通知過(guò)程重新參加網(wǎng)絡(luò)。設(shè)備在參加網(wǎng)絡(luò)后,首先完成其內(nèi)部系統(tǒng)的初始化,即通信協(xié)議的初始化,各端口使能與初始化,發(fā)送本節(jié)點(diǎn)長(zhǎng)短地址給協(xié)調(diào)器,然后定時(shí)查詢有無(wú)事件發(fā)生,事件輪詢分媒體接入層、網(wǎng)絡(luò)層、硬件、應(yīng)用層等,如果沒(méi)有事件,那么節(jié)點(diǎn)進(jìn)入休眠狀態(tài)。如果有相應(yīng)事件,那么進(jìn)行處理。節(jié)點(diǎn)在休眠期間,如果有外部中斷或定時(shí)器中斷,節(jié)點(diǎn)會(huì)恢復(fù)到工作狀態(tài),開(kāi)始執(zhí)行任務(wù)。其程序流程如圖4右所示。圖3.4節(jié)電工作流程圖〔3〕節(jié)點(diǎn)通信傳感器節(jié)點(diǎn)測(cè)量的溫濕度數(shù)據(jù)在ZigBeeRFD模塊中轉(zhuǎn)化為ZigBee通信協(xié)議包,傳送給其父節(jié)點(diǎn),以多跳的方式把數(shù)據(jù)包傳給ZigBee協(xié)調(diào)器。協(xié)調(diào)器接收到數(shù)據(jù)包后,解析出出數(shù)據(jù)源的短地址,溫度和濕度值并將其傳送給PC顯示出來(lái),同時(shí)按原路徑返回確認(rèn)信息,實(shí)現(xiàn)握手信號(hào)。在ZStack中,每個(gè)應(yīng)用任務(wù)都通過(guò)調(diào)用應(yīng)用層的Processevent()函數(shù)來(lái)處理任務(wù)事件,在Processevent〔〕中有一個(gè)事件處理循環(huán),循環(huán)檢測(cè)事件的發(fā)生。發(fā)送端節(jié)點(diǎn)需要發(fā)送數(shù)據(jù)時(shí),直接調(diào)用應(yīng)用層的AF_DataRequest()函數(shù)來(lái)發(fā)送數(shù)據(jù)。而接收端的應(yīng)用層通過(guò)檢測(cè)AF_INCOMNG_MSG_CMD消息事件來(lái)判斷是否有數(shù)據(jù)收到。具體的數(shù)據(jù)通信流程如圖5所示。圖3.5收發(fā)數(shù)據(jù)流程圖實(shí)驗(yàn)采用設(shè)計(jì)的節(jié)點(diǎn)組成測(cè)試網(wǎng)絡(luò),在實(shí)驗(yàn)樓的不同的房間放置傳感器節(jié)點(diǎn),把需要給其他節(jié)點(diǎn)路由轉(zhuǎn)發(fā)數(shù)據(jù)包的節(jié)點(diǎn)配置為路由器節(jié)點(diǎn),協(xié)調(diào)器通過(guò)串口與PC機(jī)相連,將接收到數(shù)據(jù)在串口中顯示出來(lái),同時(shí)使用Ti的網(wǎng)絡(luò)抓包軟件Packetsniffer觀測(cè)數(shù)據(jù)發(fā)送和接收。協(xié)調(diào)器節(jié)點(diǎn)組網(wǎng)成功后,路由器R,傳感器節(jié)點(diǎn)E參加網(wǎng)絡(luò)并將自己的長(zhǎng)短地址發(fā)送給協(xié)調(diào)器。隨后傳感器節(jié)點(diǎn)進(jìn)入睡眠模式,定時(shí)喚醒檢測(cè)有無(wú)發(fā)送數(shù)據(jù)的命令。串口中顯示長(zhǎng)地址為0xFF01222324252627,短地址為0x0001,長(zhǎng)地址為0xC5130100004B1202,短地址0x796F等節(jié)點(diǎn)參加到網(wǎng)絡(luò)中。協(xié)調(diào)器可以通過(guò)播送方式給所有的路由器節(jié)點(diǎn)和傳感器節(jié)點(diǎn)發(fā)送命令或者根據(jù)獲取的長(zhǎng)短地址對(duì)應(yīng)列表,單播的方式給指定的節(jié)點(diǎn)發(fā)送命令。如果將其中的一個(gè)路由節(jié)點(diǎn)關(guān)閉,網(wǎng)絡(luò)可以重新尋找路徑,選擇其他的路由節(jié)點(diǎn)進(jìn)行數(shù)據(jù)中繼。試驗(yàn)結(jié)果有效的驗(yàn)證了ZigBee無(wú)線網(wǎng)絡(luò)能夠?qū)崟r(shí)的實(shí)現(xiàn)數(shù)據(jù)的采集,且具有良好的自組織、自愈特性,適合于倉(cāng)庫(kù)內(nèi)的溫濕度采集系統(tǒng)??偨Y(jié)經(jīng)過(guò)此次為期數(shù)周的基于物聯(lián)網(wǎng)的數(shù)據(jù)采集系統(tǒng)課程設(shè)計(jì),我們根本完成了設(shè)計(jì)的要求.這次課設(shè)依照任務(wù)書我完成了以下的任務(wù):1、熟悉了物聯(lián)網(wǎng)實(shí)驗(yàn)箱各種信息采集終端設(shè)備〔溫濕度、煙感、一氧化碳、壓力等傳感器嵌入式設(shè)備〕;2、掌握C了語(yǔ)言的串口數(shù)據(jù)收集的原理及應(yīng)用;3、了解了設(shè)備信息采集及收集的一般過(guò)程;4、驗(yàn)證了預(yù)期結(jié)果;5、完成了課設(shè)任務(wù)書的書寫。課程設(shè)計(jì)是一個(gè)將理論運(yùn)用于實(shí)踐的過(guò)程,是將所學(xué)知識(shí)進(jìn)行升華的過(guò)程。在此過(guò)程中不僅培養(yǎng)了我們獨(dú)立思考、動(dòng)手操作的能力,更重要的是,在實(shí)驗(yàn)課上,我們學(xué)會(huì)了很多學(xué)習(xí)的方法。而這是日后最實(shí)用的,真的是受益匪淺。要面對(duì)社會(huì)的挑戰(zhàn),只有不斷的學(xué)習(xí)、實(shí)踐,再學(xué)習(xí)、再實(shí)踐。這對(duì)于我們的將來(lái)也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂(lè),找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。實(shí)驗(yàn)過(guò)程中,也對(duì)團(tuán)隊(duì)精神的進(jìn)行了考察,讓我們?cè)诤献髌饋?lái)更加默契,在成功后一起體會(huì)喜悅的心情。果然是團(tuán)結(jié)就是力量,只有互相之間默契融洽的配合才能換來(lái)最終完美的結(jié)果。

此次設(shè)計(jì)也讓我明白了思路即出路,有什么不懂不明白的地方要及時(shí)請(qǐng)教或上網(wǎng)查詢,只要認(rèn)真鉆研,動(dòng)腦思考,動(dòng)手實(shí)踐,就沒(méi)有弄不懂的知識(shí),收獲頗豐.致謝此次課設(shè)是對(duì)之前所學(xué)嵌入式知識(shí)的一次具體的運(yùn)用,是對(duì)所學(xué)知識(shí)的一次總結(jié)和升華。課設(shè)的順利完成離不開(kāi)老師的悉心指導(dǎo)和同學(xué)的幫助鼓勵(lì)。在此感謝我嵌入式的任課老師張璽君老師和此次課設(shè)的指導(dǎo)老師馬維俊老師,在平時(shí)的嵌入式學(xué)習(xí)中張老師給了我莫們大的幫助,課設(shè)中馬老師對(duì)于完成室內(nèi)信息的采集給了我們指導(dǎo)性的意見(jiàn),對(duì)于所遇到的問(wèn)題給予了詳細(xì)的解答,表達(dá)出了嚴(yán)謹(jǐn)求實(shí)的態(tài)度,值得我們學(xué)習(xí)。飲其流時(shí)思其源。成吾學(xué)士念吾師。在課程設(shè)計(jì)完成的時(shí)刻,我謹(jǐn)向這次課程設(shè)計(jì)的指導(dǎo)老師表示誠(chéng)摯的謝意和崇高的敬意。大學(xué)之大,不在大樓,而在大師。大師們才高八斗,學(xué)富五車,授我以專業(yè)知識(shí);大師們高屋建瓴,寧?kù)o致遠(yuǎn),予我以嚴(yán)謹(jǐn)之邏輯;大師們博聞多識(shí),學(xué)高身正,釋我以學(xué)者之楷模。感謝我的同學(xué),在搜集資料的過(guò)程中給與我實(shí)實(shí)在在的幫助,讓我能夠有充足的資源和信息,為課程設(shè)計(jì)的實(shí)施過(guò)程開(kāi)辟了良好的空間。在遇到一些類似的問(wèn)題時(shí),可以相互討論和交流經(jīng)驗(yàn),起到了很好的促進(jìn)作用。在設(shè)計(jì)的過(guò)程中給與的關(guān)心和鼓勵(lì),給了我莫大的動(dòng)力。參考文獻(xiàn)[1]李文仲,段朝玉著.ZigBee2007/PRO協(xié)議棧實(shí)驗(yàn)與實(shí)踐.北京航空航天大學(xué)出版社,2023.3[2]石志國(guó)等著.物聯(lián)網(wǎng)技術(shù)與應(yīng)用.北京交通大學(xué)出版社,2023.9[3]吳大鵬等著.物聯(lián)網(wǎng)技術(shù)與應(yīng)用.電子工業(yè)出版社,2023.6[4]吳洪貴,孫玉娣等著.物聯(lián)網(wǎng)應(yīng)用系統(tǒng)開(kāi)發(fā).東軟電子出版社,2023.11[5]付蔚著,家居物聯(lián)網(wǎng)技術(shù)開(kāi)發(fā)與實(shí)踐.北京大學(xué)出版社,2023.8[6]熊茂華,熊昕著.物聯(lián)網(wǎng)技術(shù)與應(yīng)用開(kāi)發(fā).西安電子科技大學(xué)出版社,2023.11[7]北京奧爾斯電子科技.物聯(lián)網(wǎng)創(chuàng)新實(shí)驗(yàn)套件實(shí)驗(yàn)指導(dǎo)書2023.11[8]JaneK.Hart,KirkMartinez.EnvironmentalSensorNetworks:Arevolutionintheearthsystemscience7.Earth—ScienceReviews,2006[9]陽(yáng)成軍.用單總線器件組建溫濕度測(cè)控系統(tǒng)硬件設(shè)計(jì)[J].傳感器世界2004(2):38-39[10]秦永和.濕度傳感器測(cè)試系統(tǒng)[D].哈爾濱:哈爾濱工程大學(xué),2002附錄系統(tǒng)源代碼如下:#include"ZComDef.h"#include"OSAL.h"#include"OSAL_Nv.h"#include"OnBoard.h"#include"ZMAC.h"#ifndefNONWK#include"AF.h"#endif/*Hal*/#include"hal_lcd.h"#include"hal_led.h"#include"hal_adc.h"#include"hal_drivers.h"#include"hal_assert.h"#include"hal_flash.h"#include"stdio.h"http://MaximunnumberofVddsamplescheckedbeforegoon#defineMAX_VDD_SAMPLES3//電壓檢測(cè)#defineZMAIN_VDD_LIMITHAL_ADC_VDD_LIMIT_4//正常電壓極限值externboolHalAdcCheckVdd(uint8limit);//設(shè)備啟動(dòng)前的芯片電壓檢測(cè)函數(shù)staticvoidzmain_dev_info(void);staticvoidzmain_ext_addr(void);staticvoidzmain_vdd_check(void);#ifdefLCD_SUPPORTEDstaticvoidzmain_lcd_init(void);#endif/**********************************************************************@fnmain*@briefFirstfunctioncalledafterstartup.*@returndon'tcare*/intmain(void){//Turnoffinterruptsosal_int_disable(INTS_ALL);//關(guān)閉所有中斷EA=0//InitializationforboardrelatedstuffsuchasLEDsHAL_BOARD_INIT();//初始化系統(tǒng)時(shí)鐘、LED所使用的IO等//Makesuresupplyvoltageishighenoughtorunzmain_vdd_check();//檢測(cè)芯片電壓是否正常//InitializeboardI/OInitBoard(OB_COLD);//初始化LED的IO//InitialzeHALdriversHalDriverInit();//初始化芯片各個(gè)硬件模塊〔包括LCD〕//InitializeNVSystemosal_nv_init(NULL);//初始化FLASH存儲(chǔ)//InitializetheMACZMacInit();//初始化MAC層//Determinetheextendedaddresszmain_ext_addr();//形成節(jié)點(diǎn)MAC地址//InitializebasicNVitemszgInit();//初始化一些非易失變量#ifndefNONWK//SincetheAFisn'tatask,callit'sinitializationroutineafInit();//初始化應(yīng)用框架層#endif//Initializetheoperatingsystemosal_init_system();//初始化操作系統(tǒng)//Allowinterruptsosal_int_enable(INTS_ALL);//使能全部中斷//FinalboardinitializationInitBoard(OB_READY);//初始化按鍵//Displayinformationaboutthisdevicezmain_dev_info();//在液晶上顯示設(shè)備IEEE信息/*DisplaythedeviceinfoontheLCD*/#ifdefLCD_SUPPORTEDzmain_lcd_init();//在LCD上顯示該設(shè)備的信息#endif#ifdefWDT_IN_PM1/*IfWDTisused,thisisagoodplacetoenableit.*/WatchDogEnable(WDTIMX);#endifosal_start_system();//NoReturnfromherereturn0;//Shouldn'tgethere.}/**********************************************************************@fnzmain_vdd_check*@briefCheckiftheVddisOKtoruntheprocessor.*@returnReturnifVddisok;otherwise,flashLED,thenreset*********************************************************************/staticvoidzmain_vdd_check(void)//檢測(cè)設(shè)備電壓{uint8vdd_passed_count=0;booltoggle=0;//RepeatgettingthesampleuntilnumberoffailuresorsuccesseshitsMAX//thenbasedonthecountvalue,determineifthedeviceisreadyornotwhile(vdd_passed_count<MAX_VDD_SAMPLES)//電壓正常情況下,檢查3次{if(HalAdcCheckVdd(ZMAIN_VDD_LIMIT))//設(shè)置電壓正常的極限值并使用AD檢測(cè)電壓{vdd_passed_count++;//Keeptrack#timesVddpassesinarowMicroWait(10000);//Wait10mstotryagain}else{vdd_passed_count=0;//ResetpassedcounterMicroWait(50000);//Wait50msMicroWait(50000);//Waitanother50mstotryagain}/*toggleLED1andLED2*/if(vdd_passed_count==0){if((toggle=!(toggle)))HAL_TOGGLE_LED1();elseHAL_TOGGLE_LED2();}}/*turnoffLED1*/HAL_TURN_OFF_LED1();HAL_TURN_OFF_LED2();}/***************************************************************************************************@fnzmain_ext_addr**@briefExecuteaprioritizedsearchforavalidextendedaddressandwritetheresults*intotheOSALNVsystemforusebythe*system.TemporaryaddressnotsavedtoNV.*inputparameters*None.*outputparameters*None.*@returnNone.***************************************************************************************************/staticvoidzmain_ext_addr(void){uint8nullAddr[Z_EXTADDR_LEN]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};uint8writeNV=TRUE;//Firstcheckwhetheranon-erasedextendedaddressexistsintheOSALNV.if((SUCCESS!=osal_nv_item_init(ZCD_NV_EXTADDR,Z_EXTADDR_LEN,NULL))||(SUCCESS!=osal_nv_read(ZCD_NV_EXTADDR,0,Z_EXTADDR_LEN,aExtendedAddress))||(osal_memcmp(aExtendedAddress,nullAddr,Z_EXTADDR_LEN))){//Attempttoreadtheextendedaddressfromthelocationonthelockbitspage//wheretheprogrammingtoolsknowtoreserveit.HalFlashRead(HAL_FLASH_IEEE_PAGE,HAL_FLASH_IEEE_OSET,aExtendedAddress,Z_EXTADDR_LEN);if(osal_memcmp(aExtendedAddress,nullAddr,Z_EXTADDR_LEN)){//AttempttoreadtheextendedaddressfromthedesignatedlocationintheInfoPage.if(!osal_memcmp((uint8*)(P_INFOPAGE+HAL_INFOP_IEEE_OSET),nullAddr,Z_EXTADDR_LEN)){osal_memcpy(aExtendedAddress,(uint8*)(P_INFOPAGE+HAL_INFOP_IEEE_OSET),Z_EXTADDR_LEN);}else//Novalidextendedaddresswasfound.{uint8idx;#if!defined(NV_RESTORE)writeNV=FALSE;//MakethisatemporaryIEEEaddress#endif/*Attempttocreateasufficientlyrandomextended*addressforexpediency.*Note:thisisonlyvalid/legalinatestenvironment*andmustneverbeusedforacommercialproduct.*/for(idx=0;idx<(Z_EXTADDR_LEN-2);){uint16randy=osal_rand();aExtendedAddress[idx++]=LO_UINT16(randy);aExtendedAddress[idx++]=HI_UINT16(randy);}//Next-to-MSBidentifiesZigBeedevicetype.#ifZG_BUILD_COORDINATOR_TYPE&&!ZG_BUILD_JOINING_TYPEaExtendedAddress[idx++]=0x10;#elifZG_BUILD_RTRONLY_TYPEaExtendedAddress[idx++]=0x20;#elseaExtendedAddress[idx++]=0x30;#endif//MSBhashistoricalsignficance.aExtendedAddress[idx]=0xF8;}}if(writeNV){(void)osal_nv_write(ZCD_NV_EXTADDR,0,Z_EXTADDR_LEN,aExtendedAddress);}}//SettheMACPIBextendedaddressaccordingtoresults//fromabove.(void)ZMacSetReq(MAC_EXTENDED_ADDRESS,aExtendedAddress);}/****************************

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論