使用無線網(wǎng)絡(luò)分析器調(diào)試ZigBee協(xié)議系統(tǒng)

相關(guān)專題: 無線

摘要: 本文詳細(xì)探討了使用無線網(wǎng)絡(luò)分析器調(diào)試ZigBee協(xié)議系統(tǒng)的基本方法,從而便于更好地確保網(wǎng)絡(luò)的可靠性。

關(guān)鍵詞: 無線網(wǎng)絡(luò)分析器;ZigBee;802.15.4

短距離無線網(wǎng)絡(luò)市場正呈爆炸性增長。In-Stat稱,通過ZigBee協(xié)議規(guī)范和其他專有協(xié)議,到2009年IEEE 802.15.4無線個人局域網(wǎng)(PAN)的市場可實現(xiàn)200%的增長,年發(fā)貨量將超過1,5000萬單位。

對于無線設(shè)計人員而言,目前有許多射頻(RF)收發(fā)器和ZigBee協(xié)議?捎脕碓趹(yīng)用中實現(xiàn)ZigBee協(xié)議功能。無論選擇了哪種收發(fā)器和協(xié)議棧,設(shè)計工程師都應(yīng)該查找能夠幫助他們快速評估和開發(fā)ZigBee協(xié)議應(yīng)用的設(shè)備和工具。若已確定ZigBee協(xié)議的復(fù)雜度,那么設(shè)計人員也需要使用合適的開發(fā)工具來幫助他們設(shè)計和調(diào)試應(yīng)用程序。

有多個無線網(wǎng)絡(luò)分析器或“嗅探器”可供使用。在您首次開始無線開發(fā)時,獲取一個無線網(wǎng)絡(luò)分析器是一項關(guān)鍵性投資,可為您免去許多麻煩。有些分析器具有圖形界面,而有些分析器則具有更為基于文本的界面。請確保選擇的分析器具有易于閱讀的界面。在以下示例中,我們將使用Microchip的ZENA無線網(wǎng)絡(luò)分析器,它采用圖形的格式顯示消息。但是不管您選擇了哪種分析器,能夠快速解密ZigBee協(xié)議消息的密鑰部分將有助于您高效地開發(fā)和調(diào)試系統(tǒng)。

網(wǎng)絡(luò)構(gòu)成

設(shè)備加入 ZigBee協(xié)議網(wǎng)絡(luò)時出現(xiàn)的消息會告訴我們許多關(guān)于網(wǎng)絡(luò)的信息。當(dāng)設(shè)備試圖加入一個網(wǎng)絡(luò)時,它會發(fā)出一個信標(biāo)(beacon)請求。鄰近的協(xié)調(diào)器或路由器通過發(fā)出信標(biāo)作出響應(yīng)。新設(shè)備將選擇一個信標(biāo),然后向該設(shè)備發(fā)送一個關(guān)聯(lián)請求,請求加入網(wǎng)絡(luò)。在一段短暫延時后,新設(shè)備發(fā)送一個數(shù)據(jù)請求,請求響應(yīng)。網(wǎng)絡(luò)設(shè)備則發(fā)送一個關(guān)聯(lián)響應(yīng),指示該新設(shè)備是否已被網(wǎng)絡(luò)接受。這些消息顯示如圖1。

使用無線網(wǎng)絡(luò)分析器調(diào)試ZigBee協(xié)議系統(tǒng)

圖1 網(wǎng)絡(luò)構(gòu)成(如果您采用了ZENA無線網(wǎng)絡(luò)分析器,那么在設(shè)備加入網(wǎng)絡(luò)時

應(yīng)顯示與此類似的消息。此工具的快照顯示了有關(guān)網(wǎng)絡(luò)狀態(tài)的許多信息)

第一條消息來自于新設(shè)備,用于請求信標(biāo)。后兩條消息是信標(biāo)。我們可以從這些信標(biāo)中知道一些關(guān)于設(shè)備的有用信息。首先,我們可以知道第二條信標(biāo)來自于協(xié)調(diào)器,因為其源地址為0x0000且信標(biāo)有效負(fù)載中指定的深度為0。第一條信標(biāo)來自于路由器,因為其源地址非零。我們也可以知道此路由器會通過該協(xié)調(diào)器加入網(wǎng)絡(luò),因為它在同一個網(wǎng)絡(luò)上(源PAN是相同的)且信標(biāo)有效負(fù)載“深度”為1。我們還可以知道在應(yīng)用層,這兩個設(shè)備都將接受新設(shè)備加入網(wǎng)絡(luò),因為超幀規(guī)范“Assoc”位被置1。但是,如果我們查看信標(biāo)有效負(fù)載,我們可以看到協(xié)調(diào)器不能接受任何其他路由器或終端設(shè)備加入網(wǎng)絡(luò),因為“RtrCap”和“DevCap”位均為0。同時,路由器仍然可以接受路由器和終端設(shè)備。

在第四條消息中,新設(shè)備已決定試圖加入網(wǎng)絡(luò)。通過檢查關(guān)聯(lián)請求的目標(biāo)地址,我們可以知道新設(shè)備正試圖加入哪個網(wǎng)絡(luò)設(shè)備——路由器。關(guān)聯(lián)請求可告訴我們關(guān)于新設(shè)備的許多信息。其關(guān)鍵元素是“Dev”和“RxOn”位。“Dev”位指示設(shè)備正試圖作為終端設(shè)備加入。而且,可以知道此設(shè)備將總是保持其收發(fā)器開啟,因此其父設(shè)備不必為其緩沖消息。  此位對于以后的通信很重要。如果“RxOn”設(shè)置為關(guān)閉,那么其父設(shè)備將認(rèn)為新設(shè)備保持其收發(fā)器關(guān)閉,它將為新設(shè)備緩沖消息。如果新設(shè)備從未請求消息,那么父設(shè)備也從不會發(fā)送消息給它!

最后,我們可以看到關(guān)聯(lián)請求成功,F(xiàn)在我們在網(wǎng)絡(luò)上有了一個新的FFD (全功能設(shè)備)終端設(shè)備,其短地址為0x1AF9。

應(yīng)答的發(fā)送

ZigBee協(xié)議是一個高度應(yīng)答的協(xié)議。有三個應(yīng)答級別:MAC(介質(zhì)訪問控制)、APS(應(yīng)用子層支持)和AF(應(yīng)用框架)。這不但提高了系統(tǒng)的可靠性,也使我們在發(fā)生問題時能夠識別故障所在。在圖2中,設(shè)備0x0001正告知設(shè)備0x0000來使用應(yīng)答的所有三種級別將屬性設(shè)置為指定值。

使用無線網(wǎng)絡(luò)分析器調(diào)試ZigBee協(xié)議系統(tǒng)

圖2 消息應(yīng)答(ZigBee協(xié)議的可靠性大多來自于擴展的應(yīng)答功能。

可使用應(yīng)答的三種級別來對ZigBee協(xié)議網(wǎng)絡(luò)進(jìn)行故障診斷)

第一條消息是發(fā)送給設(shè)備0x0000、要求設(shè)置屬性的命令。接下來是一條短MAC應(yīng)答,指示接收設(shè)備的收發(fā)器正確接收消息,通?捎墒瞻l(fā)器自動生成。ZigBee協(xié)議指定所有消息必須請求MAC應(yīng)答。在第一條消息的APS幀控制字段中,有一個位指示是否請求了APS應(yīng)答。如果該位置1,那么接收方ZigBee協(xié)議棧的APS層將自動生成一條APS應(yīng)答,如第三條消息所示。此應(yīng)答指示目標(biāo)設(shè)備的協(xié)議棧接收到了消息。APS應(yīng)答還將生成另外一條MAC應(yīng)答,如第四條消息所示。

查看第一條消息的事務(wù)解碼,我們將看到使用了“Set with Acknowledge”命令。這是一條發(fā)送給應(yīng)用層的指示,應(yīng)用層必須使用“Set Response”命令對該命令進(jìn)行應(yīng)答,如第五條消息所示。此應(yīng)答指示應(yīng)用層接收到了消息,而且在將屬性設(shè)置為請求的值時,發(fā)送的錯誤代碼將指示是否存在任何問題。AF 應(yīng)答將生成另外一條MAC應(yīng)答,如第六條消息所示。此外,發(fā)送的AF應(yīng)答帶有請求的APS應(yīng)答,這將生成第七和第八條消息。這些多層應(yīng)答會產(chǎn)生相當(dāng)大的數(shù)據(jù)流量,但是如果消息鏈中出現(xiàn)中斷,我們將更容易定位問題,如表1所示。

使用無線網(wǎng)絡(luò)分析器調(diào)試ZigBee協(xié)議系統(tǒng)

表1  確定ZigBee協(xié)議根源問題

拓?fù)鋯栴}

當(dāng)開發(fā)了無線網(wǎng)絡(luò)系統(tǒng)之后,無線網(wǎng)絡(luò)分析器可以幫助進(jìn)行安裝和拓?fù)浞治。一些無線網(wǎng)絡(luò)分析器,如ZENA無線網(wǎng)絡(luò)分析器在內(nèi),當(dāng)消息經(jīng)由網(wǎng)絡(luò)的時候都能夠以圖形的方式顯示數(shù)據(jù)流量。設(shè)備以圓形節(jié)點表示,而消息則以連接到節(jié)點的線表示若裝載了描述物理布局的位圖,則拓?fù)鋯栴}將清楚得多。 

假設(shè)有一個網(wǎng)絡(luò),它有四個設(shè)備、一個協(xié)調(diào)器、兩個路由器和一個FFD終端設(shè)備。盡管所有設(shè)備都是全功能設(shè)備,還是可以從數(shù)據(jù)包分析中看出,F(xiàn)FD終端設(shè)備和任一路由器之間的消息是通過另一個路由器發(fā)送的。如果打開“Network Configuration Display”(網(wǎng)絡(luò)配置顯示)窗口,裝載描述性位圖,并將節(jié)點拖到描述其物理位置的位圖上的相應(yīng)位置時,那么可以很快地看出發(fā)生了什么。圖3顯示了“Network Configuration Display”窗口,其中網(wǎng)絡(luò)流量有問題。我們可以看到有兩個設(shè)備彼此都不在對方的射頻范圍內(nèi),很有可能是由于建筑物內(nèi)的隔墻造成的。消息必須經(jīng)過另一個設(shè)備路由才能到達(dá)其目標(biāo)設(shè)備。因此,盡管這種情況一開始有點糟糕,但現(xiàn)在可以看出系統(tǒng)行為與預(yù)期設(shè)想完全一致。

使用無線網(wǎng)絡(luò)分析器調(diào)試ZigBee協(xié)議系統(tǒng)

圖2 消息應(yīng)答(ZigBee協(xié)議的可靠性大多來自于擴展的應(yīng)答功能。

可使用應(yīng)答的三種級別來對ZigBee協(xié)議網(wǎng)絡(luò)進(jìn)行故障診斷)

注意,一個“嗅探器”可能無法看到網(wǎng)絡(luò)上所有節(jié)點。為了觀測所有網(wǎng)絡(luò)流量,可能需要獲得來自不同位置的多個消息捕獲,或者使用位于不同位置的多個“嗅探器”。

結(jié)論

ZigBee協(xié)議比許多無線協(xié)議簡單,但是仍然需要使用正確的工具才能高效而有效地開發(fā)應(yīng)用。從確認(rèn)正在發(fā)送正確的數(shù)據(jù)值到理解網(wǎng)絡(luò)超幀,無線網(wǎng)絡(luò)分析器是任何人員進(jìn)行無線網(wǎng)絡(luò)開發(fā)的基本工具。

參考文獻(xiàn):

1.  ZigBee  Protocol Specification,http://www.zigbee.org

2.  PICDEM  Z Demonstration Kit User’s Guide(DS51524),http://www.microchip.com/zigbee

3.  IEEE 802.15.4 Specification,http://www.ieee.org

作者:Kim Otten Microchip   來源:電子產(chǎn)品世界
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點本月熱點

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息