xbee中文手冊(cè)_第1頁(yè)
xbee中文手冊(cè)_第2頁(yè)
xbee中文手冊(cè)_第3頁(yè)
xbee中文手冊(cè)_第4頁(yè)
xbee中文手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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)介

1、3.XBee ZigBee 網(wǎng)絡(luò)Zigbee介紹Zigbee是一個(gè)開(kāi)放的全球標(biāo)準(zhǔn),建立在IEEE802.15.4MAC/PH基礎(chǔ)上。Zigbee在6.網(wǎng)絡(luò)調(diào)試與診斷網(wǎng)絡(luò)調(diào)試是mesh網(wǎng)絡(luò)中設(shè)備發(fā)現(xiàn)和配置的過(guò)程。Xbee模塊包含若干的特性支持設(shè)備發(fā)現(xiàn)和配置。設(shè)備發(fā)現(xiàn)網(wǎng)絡(luò)發(fā)現(xiàn)網(wǎng)絡(luò)發(fā)現(xiàn)ND命令可以發(fā)現(xiàn)所有加入到網(wǎng)絡(luò)的模塊,執(zhí)行ND命令全網(wǎng)廣播節(jié)點(diǎn)發(fā)現(xiàn)命令,所以的節(jié)點(diǎn)收到該命令后會(huì)發(fā)送一個(gè)響應(yīng),該響應(yīng)包括設(shè)備地址信息,節(jié)點(diǎn)標(biāo)識(shí)符字符串和其他相關(guān)的信息,該命令用于產(chǎn)生網(wǎng)絡(luò)中所有模塊地址的列表。當(dāng)設(shè)備接收到節(jié)點(diǎn)發(fā)現(xiàn)命令后,會(huì)等待一個(gè)隨機(jī)的時(shí)間然后發(fā)送響應(yīng)。最大的時(shí)間延遲是ND發(fā)送者發(fā)送的NT命令來(lái)設(shè)定的。

2、ND發(fā)起者在發(fā)送中包含NT設(shè)置,為了網(wǎng)絡(luò)中的所有設(shè)備提供一個(gè)延時(shí)窗口。大型網(wǎng)絡(luò)需要增大NT的值提高網(wǎng)絡(luò)發(fā)現(xiàn)的可靠性。NT默認(rèn)值為0X3C(6秒)。ZDO發(fā)現(xiàn)Zigbee設(shè)備配置文件包含了用于發(fā)現(xiàn)網(wǎng)絡(luò)中支持zigbee協(xié)議的所有設(shè)備(包括非DIGI的產(chǎn)品)的條款。這些條款包括LQI請(qǐng)求(簇ID 0x0031)和網(wǎng)絡(luò)更新請(qǐng)求(簇ID 0x0038)。使用LQI請(qǐng)求來(lái)讀取遠(yuǎn)端設(shè)備鄰居表中的設(shè)備。網(wǎng)絡(luò)更新請(qǐng)求用于使能遠(yuǎn)端設(shè)備進(jìn)行一次主動(dòng)掃描發(fā)現(xiàn)附近所有的zigbee設(shè)備。詳情請(qǐng)看API章節(jié)。以上兩個(gè)ZDO幀結(jié)構(gòu)詳情請(qǐng)參考zigbee規(guī)范。加入通告當(dāng)設(shè)備加入到zigbee網(wǎng)絡(luò)中時(shí),都會(huì)發(fā)送一個(gè)ZDO設(shè)備

3、通告廣播信息(ZDO 簇ID 0x0013)。如果AO=1,這些幀會(huì)在XBee模塊的串口發(fā)出接收指示(0x91),設(shè)備通告有效載荷包括一下內(nèi)容:序列號(hào) + 16位網(wǎng)絡(luò)地址 + 64位長(zhǎng)地址 + 性能16位和64位地址是小端格式,詳情看zigbee規(guī)范。調(diào)試按鍵和關(guān)聯(lián)LEDXBee模塊支持一系列調(diào)試和LED指示來(lái)幫助設(shè)備部署和調(diào)試。7.終端設(shè)備操作zigbee終端設(shè)備一般是電池供電,具有周期性的較長(zhǎng)時(shí)間的睡眠,因此終端設(shè)備可能在接收數(shù)據(jù)到來(lái)的時(shí)候無(wú)法醒來(lái),因此路由或者協(xié)調(diào)器需要具備額外的能力(包括數(shù)據(jù)包緩沖池和擴(kuò)展的傳輸時(shí)間超時(shí))包裝傳輸?shù)浇K端設(shè)備數(shù)據(jù)的可靠性。終端設(shè)備操作終端醒來(lái)后,發(fā)送一個(gè)輪

4、詢信息給父節(jié)點(diǎn),父節(jié)點(diǎn)收到輪詢信息后檢查數(shù)據(jù)包隊(duì)列是否有發(fā)給該節(jié)點(diǎn)的信息,隨后發(fā)送一個(gè)MAC層確認(rèn)幀指示是否有需要接收的數(shù)據(jù)。當(dāng)終端設(shè)備收到確認(rèn)幀后發(fā)現(xiàn)父節(jié)點(diǎn)沒(méi)有數(shù)據(jù),終端轉(zhuǎn)入空閑模式或者進(jìn)入睡眠。反之就保持醒來(lái)狀態(tài)接收數(shù)據(jù)。輪詢機(jī)制允許終端設(shè)備在沒(méi)有預(yù)期的RF數(shù)據(jù)時(shí)進(jìn)入空閑模式并關(guān)閉接收鏈路以降低功耗延長(zhǎng)電池壽命。終端設(shè)備只能發(fā)送數(shù)據(jù)給他的父節(jié)點(diǎn),如果終端設(shè)備需要發(fā)送廣播或者單播到網(wǎng)絡(luò)的其他設(shè)備,那么他發(fā)送信息給父節(jié)點(diǎn),父節(jié)點(diǎn)執(zhí)行一些必要的路由發(fā)現(xiàn)和地址發(fā)現(xiàn)然后按照路由信息將數(shù)據(jù)包發(fā)送到目的節(jié)點(diǎn)。父節(jié)點(diǎn)操作每一個(gè)路由設(shè)備或者協(xié)調(diào)器都有一張子節(jié)點(diǎn)表,包含了其下終端子節(jié)點(diǎn)的地址。路由設(shè)備或者協(xié)調(diào)

5、器的子節(jié)點(diǎn)表中有未使用的條目,標(biāo)明具有接受終端節(jié)點(diǎn)的能力,換言之就是允許新的終端設(shè)備加入。如果子節(jié)點(diǎn)表滿了就不允許其他終端設(shè)備加入。一旦終端設(shè)備沒(méi)有在給定的時(shí)間內(nèi)醒來(lái),父節(jié)點(diǎn)需要保存到達(dá)的數(shù)據(jù)包。如果父節(jié)點(diǎn)收到發(fā)給一個(gè)終端設(shè)備的數(shù)據(jù),且父節(jié)點(diǎn)還有足夠可用的緩存空間的時(shí)候,父節(jié)點(diǎn)就緩存數(shù)據(jù)包,數(shù)據(jù)包一直被緩存直到時(shí)間超時(shí)或者終端接設(shè)備發(fā)送輪詢信息詢問(wèn)數(shù)據(jù)。父節(jié)點(diǎn)可以緩存一個(gè)給他子節(jié)點(diǎn)的廣播信息。當(dāng)父節(jié)點(diǎn)收到一個(gè)廣播信息緩存之后,當(dāng)每一個(gè)子節(jié)點(diǎn)輪詢并接收到數(shù)據(jù)包后父節(jié)點(diǎn)就在子節(jié)點(diǎn)表中對(duì)應(yīng)子節(jié)點(diǎn)設(shè)置一個(gè)標(biāo)識(shí)。一旦所有的子節(jié)點(diǎn)都收到這個(gè)廣播幀,就把該廣播幀刪除。如果還有的子節(jié)點(diǎn)沒(méi)有收到緩存的廣播幀這時(shí)

6、又來(lái)一個(gè)廣播幀,舊的廣播幀將被刪除,子節(jié)點(diǎn)表標(biāo)識(shí)清除并且把新的廣播幀緩存起來(lái)。下圖簡(jiǎn)單指示上述觀點(diǎn)終端設(shè)備發(fā)送數(shù)據(jù)到父節(jié)點(diǎn),這個(gè)數(shù)據(jù)目的地址是網(wǎng)絡(luò)中的一個(gè)遠(yuǎn)程設(shè)備。父節(jié)點(diǎn)緩存該數(shù)據(jù)包直到建立到目的節(jié)點(diǎn)的路由信息。父節(jié)點(diǎn)執(zhí)行路由發(fā)現(xiàn)或者16bit地址發(fā)現(xiàn)。一旦路由信息建立后,父節(jié)點(diǎn)就把數(shù)據(jù)發(fā)送出去。終端設(shè)備輪詢超時(shí)為了更好的支持移動(dòng)終端設(shè)備(終端設(shè)備可以在網(wǎng)絡(luò)中移動(dòng)),充當(dāng)父節(jié)點(diǎn)的路由設(shè)備或者協(xié)調(diào)器都有一個(gè)子節(jié)點(diǎn)的輪詢超時(shí)時(shí)間。如果在輪詢超時(shí)時(shí)間內(nèi)沒(méi)有發(fā)送輪詢信息,那面父節(jié)點(diǎn)就從子節(jié)點(diǎn)表中刪除該終端設(shè)備。這種方式更好的適應(yīng)了網(wǎng)絡(luò)中移動(dòng)的終端節(jié)點(diǎn)。包緩沖區(qū)對(duì)的使用路由設(shè)備或協(xié)調(diào)器針對(duì)包緩沖區(qū)的使用

7、依賴于應(yīng)用。如下行為可以請(qǐng)求使用包緩沖區(qū)達(dá)數(shù)秒:l 路由發(fā)現(xiàn)和地址發(fā)現(xiàn)l 應(yīng)用廣播發(fā)送l 堆棧廣播(例如一個(gè)設(shè)備加入網(wǎng)絡(luò)后,ZDO層的設(shè)備聲明)l 單播發(fā)送(數(shù)據(jù)緩存直到收到目的地址的確認(rèn)信息或者重試次數(shù)耗盡)l 單播信息等待終端設(shè)備醒來(lái)應(yīng)用程序使用廣播或者請(qǐng)求地址發(fā)現(xiàn)或路由發(fā)現(xiàn)時(shí),會(huì)使用一定數(shù)量的緩沖區(qū),此時(shí)將減少分配給終端子節(jié)點(diǎn)的可用緩沖區(qū)。應(yīng)用程序應(yīng)該減少?gòu)V播數(shù)量,或者使用外部地址表或者多對(duì)一、源路由選擇有必要提高路由效率。非父節(jié)點(diǎn)設(shè)備操作Zigbee網(wǎng)絡(luò)中設(shè)備對(duì)發(fā)送給終端設(shè)備的數(shù)據(jù)的處理方式不同于發(fā)送給其他路由設(shè)備或協(xié)調(diào)器。試想一下,當(dāng)發(fā)送一個(gè)單播信息,如果在超時(shí)時(shí)間內(nèi)沒(méi)有收到網(wǎng)絡(luò)確認(rèn)

8、信息,設(shè)備將重新發(fā)送。當(dāng)數(shù)據(jù)是發(fā)送到遠(yuǎn)程的協(xié)調(diào)器或路由設(shè)備,發(fā)送超時(shí)時(shí)間是相對(duì)較短的,因?yàn)檫@兩種設(shè)備是一直處于工作狀態(tài)的。但是,終端設(shè)備可能大部分時(shí)間都在睡眠,發(fā)送給終端設(shè)備的單播需要使用擴(kuò)展的超時(shí)時(shí)間來(lái)保證終端設(shè)備有足夠的時(shí)間喚醒并從父節(jié)點(diǎn)接收數(shù)據(jù)。如果非父節(jié)點(diǎn)不知道目的節(jié)點(diǎn)是終端設(shè)備,他將使用標(biāo)準(zhǔn)的單播超時(shí)時(shí)間來(lái)發(fā)送數(shù)據(jù)。因此,在Ember ZigBee協(xié)議棧中規(guī)定,父節(jié)點(diǎn)需要告訴信息發(fā)送者目的地址是終端設(shè)備。一旦發(fā)送者發(fā)現(xiàn)目的設(shè)備是終端設(shè)備,后續(xù)的發(fā)送將使用擴(kuò)展的超時(shí)時(shí)間。詳細(xì)的請(qǐng)看XBee 路由設(shè)備/協(xié)調(diào)器配置章節(jié)。XBee終端設(shè)備配置終端設(shè)備支持如下兩種睡眠模式:l 引腳睡眠l 周期

9、睡眠引腳睡眠方式允許外面控制器通過(guò)控制Sleep_RQ引腳來(lái)判斷模塊何時(shí)睡眠何時(shí)該喚醒。相反,周期睡眠允許使用AT命令來(lái)配置睡眠周期。睡眠模式通過(guò)SM模式來(lái)配置。不管那種睡眠模式,XBee的終端設(shè)備在醒來(lái)的時(shí)候每隔100ms輪詢父節(jié)點(diǎn)以便取回緩存的數(shù)據(jù)。終端設(shè)備發(fā)送輪詢請(qǐng)求就就切換到接收狀態(tài)接收父節(jié)點(diǎn)的確認(rèn)幀。(一般情況,從發(fā)送輪詢到接收到確認(rèn)幀的時(shí)間小于10ms)。確認(rèn)幀指示是否有終端設(shè)備的數(shù)據(jù)。如果確認(rèn)幀指示有待處理的數(shù)據(jù),終端設(shè)備就接收數(shù)據(jù)。反之就關(guān)閉接收器進(jìn)入空閑模式(直到下一個(gè)輪詢請(qǐng)求)以降低功耗(優(yōu)化電池壽命)。模塊進(jìn)入睡眠模式后,On/Sleep引腳(pin 13)輸出低電平指示

10、模塊處于睡眠模式。如果使能了CTS硬件流控制(D7命令),CTS引腳(pin 12)輸出高電平指示模塊處于睡眠模式,此時(shí)不能通過(guò)串口給模塊發(fā)送數(shù)據(jù)。睡眠模式下,模塊對(duì)串口和射頻數(shù)據(jù)都不響應(yīng)。應(yīng)用程序需要持續(xù)的觀察pin 12引腳的電平。當(dāng)XBee模塊從睡眠模式醒來(lái),On/Sleep引腳輸出高電平,如果使能流控制,CTS引腳輸出低電平(指示模塊串口可以接收數(shù)據(jù)了)。如果模塊沒(méi)有加入網(wǎng)絡(luò),模塊將在醒來(lái)之后掃描所以通道尋找有效的網(wǎng)絡(luò)加入。引腳睡眠引腳睡眠允許模塊根據(jù)Sleep_RQ引腳(pin 9)的狀態(tài)來(lái)睡眠或喚醒,引腳睡眠模式通過(guò)設(shè)置SM=1來(lái)使能。當(dāng)Sleep_RQ是高電平,模塊在執(zhí)行完發(fā)送和

11、接收操作后進(jìn)入低功耗狀態(tài)。例如,如果模塊沒(méi)有加入網(wǎng)絡(luò)且Sleep_RQ是高電平,那么模塊在完成當(dāng)前加入請(qǐng)求后進(jìn)入睡眠(例如完成掃描有效的網(wǎng)絡(luò)),當(dāng)Sleep_RQ是低電平,模塊從睡眠中喚醒。上圖中,t1,t2,t3表示一下事件:l T1 Sleep_RQ引腳高電平l T2XBee模塊進(jìn)入睡眠(CTS狀態(tài)只有在流控制使能了才變化)l T3Sleep_RQ引腳低電平,模塊喚醒T1和T2之間的時(shí)間差取決于模塊的狀態(tài)。在最壞的情況下,如果終端設(shè)備試圖加入設(shè)備,或者等待數(shù)據(jù)傳輸?shù)拇_認(rèn)幀,延時(shí)時(shí)間可達(dá)數(shù)秒。當(dāng)XBee模塊醒來(lái)且已經(jīng)加入了網(wǎng)絡(luò),終端設(shè)備會(huì)給父節(jié)點(diǎn)發(fā)送輪詢請(qǐng)求以便查詢是否有數(shù)據(jù),終端設(shè)備在醒來(lái)

12、的時(shí)間內(nèi)會(huì)每隔100ms發(fā)送一次輪詢信息。引腳睡眠示范:父節(jié)點(diǎn)及遠(yuǎn)程設(shè)備需要正確的配置來(lái)緩存數(shù)據(jù)、使用適當(dāng)?shù)陌l(fā)送超時(shí)時(shí)間。詳細(xì)請(qǐng)看XBee路由/協(xié)調(diào)器配置章節(jié)。周期睡眠周期睡眠模式允許模塊睡眠一定的時(shí)間,喚醒后保持較短的時(shí)間來(lái)輪詢父節(jié)點(diǎn)是否有待處理的數(shù)據(jù)。周期睡眠模式通過(guò)設(shè)置SM=4或5。SM5和SM4有輕微的區(qū)別,SM5允許通過(guò)Sleep_RQ引腳(pin 9)提前喚醒模塊。SM5模式下,XBee模塊有兩種方式喚醒,一是睡眠時(shí)間期滿,二是Sleep_RQ引腳上的高電平到低電平的變化(即下降沿),SM4下,引腳喚醒功能無(wú)效。周期睡眠模式下,模塊睡眠一定的時(shí)間后喚醒并輪詢父節(jié)點(diǎn)是否有待處理的數(shù)據(jù)

13、,如果父節(jié)點(diǎn)緩存了模塊待處理的數(shù)據(jù),或者模塊收到了串口數(shù)據(jù),那么XBee模塊保持特定時(shí)間的喚醒狀態(tài)。否則,即可進(jìn)入睡眠模塊。當(dāng)模塊醒來(lái)時(shí),On/Sleep輸出高電平。模塊睡眠時(shí),On/Sleep輸出低電平。如果使能硬件流控制(D7命令),模塊醒來(lái)時(shí),CTS引腳輸出低電平并可以接收串口數(shù)據(jù),模塊睡眠時(shí),輸出高電平。上圖中,t1,t2和t3表示如下事件:l T1模塊周期喚醒時(shí)刻l T2模塊進(jìn)入睡眠時(shí)刻l T3模塊睡眠持續(xù)時(shí)間醒來(lái)時(shí)間和睡眠時(shí)間通過(guò)軟件命令來(lái)配置,詳細(xì)描述請(qǐng)看以下章節(jié)。喚醒時(shí)間(直到睡眠)在周期睡眠模式下(SM=4/5),如果收到串口數(shù)據(jù)或者無(wú)線數(shù)據(jù),模塊啟動(dòng)睡眠定時(shí)器(直到睡眠的時(shí)

14、間)。接收到任何串口數(shù)據(jù)或射頻鏈路數(shù)據(jù)都會(huì)重啟定時(shí)器。睡眠定時(shí)器的值通過(guò)ST命令來(lái)設(shè)置。當(dāng)模塊醒來(lái)后,會(huì)每隔100ms發(fā)送輪詢信息查詢父節(jié)點(diǎn)是否緩存有待處理的數(shù)據(jù)信息。如果睡眠定時(shí)器期滿或者收到SI命令(sleep immediately),模塊進(jìn)入睡眠模式。下圖顯示了該特征。睡眠周期睡眠周期通過(guò)SP,SN和SO命令配置,下表列出改命令的特征命令范圍描述SP0x20-0xAF0(*10ms)(32028000ms) 配置模塊睡眠周期SN10xFFFF配置睡眠周期倍數(shù)SO00xFF定義睡眠模式選項(xiàng):0x02在整個(gè)ST定時(shí)器一直醒著0x04使能擴(kuò)展睡眠(在SP*SN時(shí)間內(nèi)睡眠)XBee模塊使用上述

15、命令支持短周期睡眠和擴(kuò)展周期睡眠。這兩種模式允許睡眠周期通過(guò)應(yīng)用程序來(lái)配置。短周期睡眠在短周期睡眠下,模塊的睡眠特征通過(guò)SP和SN命令來(lái)定義,SO命令必須設(shè)為0x00(默認(rèn))或者0x02。在短周期睡眠模式下,SP命令定義了睡眠周期且可設(shè)定長(zhǎng)達(dá)28秒,當(dāng)模塊進(jìn)入短周期睡眠,模塊保持低功耗狀態(tài)直到SP時(shí)間期滿。睡眠時(shí)間期滿后,XBee模塊發(fā)送輪詢信息,路由器和協(xié)調(diào)器可為其終端子節(jié)點(diǎn)緩存30秒的數(shù)據(jù),SP范圍(長(zhǎng)達(dá)28秒)使得終端設(shè)備有足夠的時(shí)間來(lái)接收緩存的數(shù)據(jù)。如果父節(jié)點(diǎn)緩存了子節(jié)點(diǎn)的數(shù)據(jù),那么終端設(shè)備啟動(dòng)睡眠定時(shí)器(ST)然后每隔100ms進(jìn)行輪詢來(lái)接收數(shù)據(jù)。如果終端設(shè)備醒來(lái)后發(fā)現(xiàn)父節(jié)點(diǎn)沒(méi)有給他

16、的數(shù)據(jù),那么終端設(shè)備立即進(jìn)入睡眠模式。SN命令可以用來(lái)控制On/Sleep引腳輸出高電平的方式。如果SN設(shè)置為1(默認(rèn)),XBee每次醒來(lái),On/Sleep引腳都會(huì)輸出高電平。如果SN>1,只有模塊收到射頻數(shù)據(jù)或者SN喚醒周期發(fā)生后,On/Sleep才會(huì)輸出高電平。這種方式允許外部設(shè)備保持掉電模式直到模塊收到射頻信號(hào)或者若干個(gè)睡眠時(shí)間期滿(SN睡眠周期)。這種機(jī)制允許XBee模塊定期的輪詢父節(jié)點(diǎn)有無(wú)數(shù)據(jù)而不用喚醒外設(shè)備,這個(gè)時(shí)間為SP*SN的時(shí)間。上述方式如下圖所示。設(shè)置SN>1,XBee模塊定期輪詢父節(jié)點(diǎn)而在On/Sleep引腳上有指示。如果在輪詢的時(shí)候接收到射頻信號(hào),那么On/

17、Sleep引腳立即有指示。注意:在路由設(shè)備和協(xié)調(diào)器上,SP指定了數(shù)據(jù)包緩存的時(shí)間,因此所有路由設(shè)備和協(xié)調(diào)器的SP設(shè)置必須匹配終端設(shè)備中最長(zhǎng)的那個(gè)SP定時(shí)器。詳細(xì)的請(qǐng)看XBee路由/協(xié)調(diào)器配置章節(jié)。擴(kuò)展周期睡眠在擴(kuò)展周期睡眠操作中,終端設(shè)備可以睡眠多個(gè)SP時(shí)間,該時(shí)間可以擴(kuò)展到幾天。睡眠周期通過(guò)配置SP和SN命令??偟乃咧芷诘扔赟P*SN,SP是以10ms單位測(cè)量。同時(shí),SO命令必須正確配置來(lái)使能擴(kuò)展睡眠周期。由于路由設(shè)備和協(xié)調(diào)器只能為其子節(jié)點(diǎn)的射頻數(shù)據(jù)緩存最長(zhǎng)30秒的時(shí)間,如果終端設(shè)備睡眠時(shí)間大于30秒,網(wǎng)絡(luò)中的設(shè)備需要一些標(biāo)識(shí)只有終端設(shè)備醒來(lái)才能給他發(fā)送數(shù)據(jù)。當(dāng)使用擴(kuò)展睡眠周期的終端設(shè)備醒

18、來(lái)后,他需要發(fā)送一個(gè)傳輸(例如一個(gè)IO采樣)告知其他設(shè)備(我已經(jīng)醒了,可以接收數(shù)據(jù)了)。我們推薦使用擴(kuò)展睡眠周期的終端設(shè)備設(shè)置SO命令使得設(shè)備在ST時(shí)間內(nèi)是保持醒著的,以便其他設(shè)備有足夠的時(shí)間發(fā)送信息給該終端設(shè)備。發(fā)送射頻數(shù)據(jù)對(duì)于已經(jīng)加入網(wǎng)絡(luò)的終端設(shè)備,從睡眠喚醒后可以發(fā)送數(shù)據(jù)。終端設(shè)備直接發(fā)送數(shù)據(jù)給父節(jié)點(diǎn)然后等待接收確認(rèn)信息。父節(jié)點(diǎn)執(zhí)行一些必須的地址發(fā)現(xiàn)和路由發(fā)現(xiàn)確保數(shù)據(jù)包正確到達(dá)目的節(jié)點(diǎn),之后發(fā)送一個(gè)發(fā)送狀態(tài)信息給這個(gè)終端設(shè)備。接收射頻數(shù)據(jù)從睡眠喚醒后,終端設(shè)備發(fā)送輪詢請(qǐng)求查看是否緩存有待處理的數(shù)據(jù)。在引腳睡眠模式下,Sleep_RQ低電平時(shí),終端設(shè)備每隔100ms輪詢一次。在周期睡眠模式

19、下,終端設(shè)備在進(jìn)入睡眠狀態(tài)前只能輪詢一次,除非睡眠定時(shí)器(ST)啟動(dòng)(也就是說(shuō)只有接收到串口或射頻數(shù)據(jù)時(shí),ST才會(huì)啟動(dòng))。如果睡眠定時(shí)器啟動(dòng),終端設(shè)備會(huì)每隔100ms輪詢一次直到睡眠定時(shí)器期滿。XBee ZB2*6*固件包含了一個(gè)自適應(yīng)的輪詢機(jī)制,如果終端設(shè)備從父節(jié)點(diǎn)接收到射頻數(shù)據(jù),他會(huì)在極短的延時(shí)之后發(fā)送另一個(gè)輪詢請(qǐng)求以查詢是否還有數(shù)據(jù)。終端設(shè)備只要從父節(jié)點(diǎn)接收到數(shù)據(jù)就會(huì)已更快的頻率來(lái)輪詢。這個(gè)特征提高了數(shù)據(jù)發(fā)送到終端的效率。當(dāng)終端設(shè)備的父節(jié)點(diǎn)沒(méi)有數(shù)據(jù)后,輪詢時(shí)間又恢復(fù)到100ms。IO采樣終端設(shè)備可以配置成在醒來(lái)時(shí)候發(fā)送一個(gè)或多個(gè)IO采樣。使能終端的IO采樣,IR命令需設(shè)置為一個(gè)非零值。至

20、少一個(gè)模擬或數(shù)字IO引腳設(shè)置成采樣模式(D0-D9,P0-P9命令)。如果使能了IO采樣,終端設(shè)備醒來(lái)后發(fā)送一個(gè)IO采樣并啟動(dòng)ST定時(shí)器。他會(huì)以IR速率連續(xù)的采樣直到ST期滿。詳細(xì)介紹請(qǐng)看第八章節(jié)。使用調(diào)試按鈕喚醒終端如果使能了調(diào)試按鈕功能(D0命令),DIO0引腳上一個(gè)由高到低的邊沿變化使得終端設(shè)備喚醒30秒。詳情請(qǐng)看第七章節(jié)的調(diào)試按鈕。父節(jié)點(diǎn)確認(rèn)因?yàn)榻K端設(shè)備依賴父節(jié)點(diǎn)與網(wǎng)絡(luò)中其他設(shè)備保持連接,XBee終端設(shè)備包含若干條款來(lái)驗(yàn)證連接到父節(jié)點(diǎn)。終端設(shè)備在發(fā)送輪詢信息,上電周期或者復(fù)位事件時(shí)監(jiān)聽(tīng)與其父節(jié)點(diǎn)的鏈路。當(dāng)終端設(shè)備從睡眠狀態(tài)醒來(lái),他會(huì)發(fā)送一個(gè)輪詢請(qǐng)求給父節(jié)點(diǎn)。在周期睡眠模式下,如果沒(méi)有接

21、收到射頻數(shù)據(jù)或串口數(shù)據(jù)且睡眠定時(shí)器沒(méi)啟動(dòng),終端設(shè)備只輪詢一次并進(jìn)入睡眠。反之,終端設(shè)備每100ms輪詢一次。如果在三個(gè)連續(xù)的輪詢請(qǐng)求,父節(jié)點(diǎn)沒(méi)有發(fā)送確認(rèn)響應(yīng),終端設(shè)備就認(rèn)為是超出了父節(jié)點(diǎn)的通信范圍,然后嘗試尋找新的父節(jié)點(diǎn)。終端設(shè)備在上電或復(fù)位事件后,終端設(shè)備執(zhí)行孤立掃描來(lái)定位其父節(jié)點(diǎn),如果父節(jié)點(diǎn)沒(méi)有發(fā)送孤立掃描的響應(yīng),終端設(shè)備就嘗試尋找新的父節(jié)點(diǎn)。重加入一旦所以設(shè)備都已經(jīng)加入zigbee網(wǎng)絡(luò),允許加入屬性應(yīng)該被禁止,這樣新的設(shè)備不再能加入到網(wǎng)絡(luò)。允許加入屬性可以在后面使能一個(gè)較短的時(shí)間。這種方式提供一些保護(hù)機(jī)制避免其他設(shè)備加入到一個(gè)活動(dòng)的網(wǎng)絡(luò)中。如果終端設(shè)備無(wú)法與其父節(jié)點(diǎn)通信,終端設(shè)備必須能夠

22、加入一個(gè)新的父節(jié)點(diǎn)以便保持網(wǎng)絡(luò)的連通性。但是,如果允許加入屬性無(wú)效,終端設(shè)備就不能尋找新的父節(jié)點(diǎn)了。為了解決這個(gè)問(wèn)題,zigbee支持重加入的功能,即使加入屬性無(wú)效,終端設(shè)備依然可以獲得新的父節(jié)點(diǎn)。終端設(shè)備使用重加入功能加入網(wǎng)絡(luò)時(shí),他會(huì)執(zhí)行PAN ID掃描發(fā)現(xiàn)附件的網(wǎng)絡(luò),如果發(fā)現(xiàn)和終端設(shè)備一樣的64位PAN ID的網(wǎng)絡(luò),他會(huì)想這個(gè)網(wǎng)絡(luò)中的一個(gè)設(shè)備發(fā)送一個(gè)重加入的請(qǐng)求。收到重加入請(qǐng)求的設(shè)備會(huì)發(fā)送一個(gè)重加入響應(yīng)以便告知是否允許加入(例如子節(jié)點(diǎn)表未滿)。重加入機(jī)制允許設(shè)備加入同一個(gè)網(wǎng)絡(luò)即使允許加入屬性無(wú)效。XBee路由/協(xié)調(diào)器配置XBee路由和協(xié)調(diào)器需要確保下面的一些配置正確:l 射頻數(shù)據(jù)包緩存超時(shí)

23、時(shí)間l 子節(jié)點(diǎn)輪詢超時(shí)時(shí)間l 發(fā)送超時(shí)時(shí)間這些超時(shí)時(shí)間的配置依賴于終端設(shè)備上的睡眠時(shí)間,下面詳細(xì)闡述。射頻數(shù)據(jù)包緩存超時(shí)時(shí)間當(dāng)路由或協(xié)調(diào)器收到一個(gè)發(fā)往其子節(jié)點(diǎn)的射頻數(shù)據(jù)包后,會(huì)緩存該數(shù)據(jù)包直到終端設(shè)備醒來(lái)輪詢,或者直到數(shù)據(jù)包緩存超時(shí)時(shí)間期滿。這個(gè)超時(shí)時(shí)間通過(guò)SP命令設(shè)置。實(shí)際的超時(shí)時(shí)間是1.2*SP,超時(shí)時(shí)間范圍是1.2秒到30秒。數(shù)據(jù)包緩存超時(shí)時(shí)間略大于SP。路由和協(xié)調(diào)器上面的SP設(shè)置應(yīng)該和終端設(shè)備的周期睡眠時(shí)間一致。對(duì)于引腳睡眠設(shè)備,SP應(yīng)該設(shè)置與引腳睡眠設(shè)備一樣長(zhǎng),長(zhǎng)達(dá)30秒。注意:引腳睡眠和擴(kuò)展周期睡眠中,終端設(shè)備睡眠時(shí)間可能大于30秒。如果終端設(shè)備睡眠大于30秒,父節(jié)點(diǎn)或者非父節(jié)點(diǎn)設(shè)

24、備必須知道該終端設(shè)備什么時(shí)候醒來(lái)以便可靠的發(fā)送數(shù)據(jù)。對(duì)于睡眠時(shí)間大于30秒的應(yīng)用,終端設(shè)備需要在醒來(lái)的時(shí)候發(fā)送一次IO采樣或其他數(shù)據(jù)告知其他設(shè)備可以發(fā)送數(shù)據(jù)過(guò)來(lái)了。子節(jié)點(diǎn)輪詢超時(shí)路由和協(xié)調(diào)器為每一個(gè)子節(jié)點(diǎn)保留一個(gè)時(shí)間戳,該時(shí)間戳指示終端最后一次發(fā)送輪詢請(qǐng)求的時(shí)間。如果一個(gè)子節(jié)點(diǎn)在一個(gè)設(shè)定的時(shí)間內(nèi)沒(méi)有發(fā)送輪詢請(qǐng)求,父節(jié)點(diǎn)就認(rèn)為該終端設(shè)備超出了通訊范圍并從子節(jié)點(diǎn)表中刪除該終端。這種方式允許路由和協(xié)調(diào)器能夠?qū)W(wǎng)絡(luò)變化做出反應(yīng)。任何時(shí)候都可以發(fā)出NC命令來(lái)讀取路由或協(xié)調(diào)器子節(jié)點(diǎn)表中未使用的數(shù)目。子節(jié)點(diǎn)輪詢超時(shí)時(shí)間通過(guò)SP、SN來(lái)設(shè)定。SP和SN應(yīng)當(dāng)設(shè)定SP*SN大于網(wǎng)絡(luò)中最大的預(yù)期的睡眠時(shí)間。實(shí)際的超

25、時(shí)時(shí)間通過(guò)3*SP*SN來(lái)計(jì)算,最小時(shí)間為5秒。對(duì)于有引腳睡眠設(shè)備的網(wǎng)絡(luò),協(xié)調(diào)器和路由的SP、SN設(shè)定成SP*SN匹配網(wǎng)絡(luò)中最大的睡眠周期。乘數(shù)3確保了終端設(shè)備在小于3次睡眠周期不會(huì)被從子節(jié)點(diǎn)表中刪除。輪詢超時(shí)時(shí)間可以設(shè)置長(zhǎng)達(dá)數(shù)月。發(fā)送時(shí)間超時(shí)在第四章節(jié)中提到,當(dāng)發(fā)送射頻數(shù)據(jù)到一個(gè)遠(yuǎn)端路由設(shè)備時(shí),因?yàn)槁酚稍O(shè)備是一直喚醒的,超時(shí)時(shí)間是基于發(fā)送的跳數(shù),超時(shí)時(shí)間通過(guò)NH命令來(lái)設(shè)定(詳情看第四章)。由于終端設(shè)備可能睡眠很長(zhǎng)時(shí)間,超時(shí)時(shí)間不要為終端睡眠時(shí)間留一些余量。發(fā)送數(shù)據(jù)到遠(yuǎn)程的終端設(shè)備時(shí),發(fā)送時(shí)間超時(shí)使用SP和NH命令來(lái)計(jì)算。如果在時(shí)間超時(shí)沒(méi)有收到確認(rèn)信息,源設(shè)備會(huì)重新發(fā)送直到收到確認(rèn)信息。每一次發(fā)送時(shí)間超時(shí)為:3*(單播路由超時(shí))+(終端設(shè)備睡眠時(shí)間)或3*(50*NH)+(1.2*SP),SP以10ms單位測(cè)量??偨Y(jié)短睡眠周期引腳或周期睡眠模式,如果睡眠周期小于30秒,終端設(shè)備可以在任意時(shí)間收到父節(jié)點(diǎn)緩存的數(shù)據(jù)。網(wǎng)絡(luò)中所有節(jié)點(diǎn)的SP設(shè)定應(yīng)一致。如果網(wǎng)絡(luò)中終端設(shè)備的SP有多種,那么路由和協(xié)調(diào)器的SP應(yīng)該設(shè)置為最大的那個(gè)

溫馨提示

  • 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)論