使用無(wú)線(xiàn)網(wǎng)絡(luò )分析器調試ZigBee協(xié)議系統
摘要: 本文詳細探討了使用無(wú)線(xiàn)網(wǎng)絡(luò )分析器調試ZigBee協(xié)議系統的基本方法,從而便于更好地確保網(wǎng)絡(luò )的可靠性。
關(guān)鍵詞: 無(wú)線(xiàn)網(wǎng)絡(luò )分析器;ZigBee;802.15.4
短距離無(wú)線(xiàn)網(wǎng)絡(luò )市場(chǎng)正呈爆炸性增長(cháng)。In-Stat稱(chēng),通過(guò)ZigBee協(xié)議規范和其他專(zhuān)有協(xié)議,到2009年IEEE 802.15.4無(wú)線(xiàn)個(gè)人局域網(wǎng)(PAN)的市場(chǎng)可實(shí)現200%的增長(cháng),年發(fā)貨量將超過(guò)1,5000萬(wàn)單位。
對于無(wú)線(xiàn)設計人員而言,目前有許多射頻(RF)收發(fā)器和ZigBee協(xié)議??捎脕?lái)在應用中實(shí)現ZigBee協(xié)議功能。無(wú)論選擇了哪種收發(fā)器和協(xié)議棧,設計工程師都應該查找能夠幫助他們快速評估和開(kāi)發(fā)ZigBee協(xié)議應用的設備和工具。若已確定ZigBee協(xié)議的復雜度,那么設計人員也需要使用合適的開(kāi)發(fā)工具來(lái)幫助他們設計和調試應用程序。
有多個(gè)無(wú)線(xiàn)網(wǎng)絡(luò )分析器或“嗅探器”可供使用。在您首次開(kāi)始無(wú)線(xiàn)開(kāi)發(fā)時(shí),獲取一個(gè)無(wú)線(xiàn)網(wǎng)絡(luò )分析器是一項關(guān)鍵性投資,可為您免去許多麻煩。有些分析器具有圖形界面,而有些分析器則具有更為基于文本的界面。請確保選擇的分析器具有易于閱讀的界面。在以下示例中,我們將使用Microchip的ZENA無(wú)線(xiàn)網(wǎng)絡(luò )分析器,它采用圖形的格式顯示消息。但是不管您選擇了哪種分析器,能夠快速解密ZigBee協(xié)議消息的密鑰部分將有助于您高效地開(kāi)發(fā)和調試系統。
網(wǎng)絡(luò )構成
設備加入 ZigBee協(xié)議網(wǎng)絡(luò )時(shí)出現的消息會(huì )告訴我們許多關(guān)于網(wǎng)絡(luò )的信息。當設備試圖加入一個(gè)網(wǎng)絡(luò )時(shí),它會(huì )發(fā)出一個(gè)信標(beacon)請求。鄰近的協(xié)調器或路由器通過(guò)發(fā)出信標作出響應。新設備將選擇一個(gè)信標,然后向該設備發(fā)送一個(gè)關(guān)聯(lián)請求,請求加入網(wǎng)絡(luò )。在一段短暫延時(shí)后,新設備發(fā)送一個(gè)數據請求,請求響應。網(wǎng)絡(luò )設備則發(fā)送一個(gè)關(guān)聯(lián)響應,指示該新設備是否已被網(wǎng)絡(luò )接受。這些消息顯示如圖1。
圖1 網(wǎng)絡(luò )構成(如果您采用了ZENA無(wú)線(xiàn)網(wǎng)絡(luò )分析器,那么在設備加入網(wǎng)絡(luò )時(shí)
應顯示與此類(lèi)似的消息。此工具的快照顯示了有關(guān)網(wǎng)絡(luò )狀態(tài)的許多信息)
第一條消息來(lái)自于新設備,用于請求信標。后兩條消息是信標。我們可以從這些信標中知道一些關(guān)于設備的有用信息。首先,我們可以知道第二條信標來(lái)自于協(xié)調器,因為其源地址為0x0000且信標有效負載中指定的深度為0。第一條信標來(lái)自于路由器,因為其源地址非零。我們也可以知道此路由器會(huì )通過(guò)該協(xié)調器加入網(wǎng)絡(luò ),因為它在同一個(gè)網(wǎng)絡(luò )上(源PAN是相同的)且信標有效負載“深度”為1。我們還可以知道在應用層,這兩個(gè)設備都將接受新設備加入網(wǎng)絡(luò ),因為超幀規范“Assoc”位被置1。但是,如果我們查看信標有效負載,我們可以看到協(xié)調器不能接受任何其他路由器或終端設備加入網(wǎng)絡(luò ),因為“RtrCap”和“DevCap”位均為0。同時(shí),路由器仍然可以接受路由器和終端設備。
在第四條消息中,新設備已決定試圖加入網(wǎng)絡(luò )。通過(guò)檢查關(guān)聯(lián)請求的目標地址,我們可以知道新設備正試圖加入哪個(gè)網(wǎng)絡(luò )設備——路由器。關(guān)聯(lián)請求可告訴我們關(guān)于新設備的許多信息。其關(guān)鍵元素是“Dev”和“RxOn”位。“Dev”位指示設備正試圖作為終端設備加入。而且,可以知道此設備將總是保持其收發(fā)器開(kāi)啟,因此其父設備不必為其緩沖消息。 此位對于以后的通信很重要。如果“RxOn”設置為關(guān)閉,那么其父設備將認為新設備保持其收發(fā)器關(guān)閉,它將為新設備緩沖消息。如果新設備從未請求消息,那么父設備也從不會(huì )發(fā)送消息給它!
最后,我們可以看到關(guān)聯(lián)請求成功?,F在我們在網(wǎng)絡(luò )上有了一個(gè)新的FFD (全功能設備)終端設備,其短地址為0x1AF9。
應答的發(fā)送
ZigBee協(xié)議是一個(gè)高度應答的協(xié)議。有三個(gè)應答級別:MAC(介質(zhì)訪(fǎng)問(wèn)控制)、APS(應用子層支持)和AF(應用框架)。這不但提高了系統的可靠性,也使我們在發(fā)生問(wèn)題時(shí)能夠識別故障所在。在圖2中,設備0x0001正告知設備0x0000來(lái)使用應答的所有三種級別將屬性設置為指定值。
圖2 消息應答(ZigBee協(xié)議的可靠性大多來(lái)自于擴展的應答功能。
可使用應答的三種級別來(lái)對ZigBee協(xié)議網(wǎng)絡(luò )進(jìn)行故障診斷)
第一條消息是發(fā)送給設備0x0000、要求設置屬性的命令。接下來(lái)是一條短MAC應答,指示接收設備的收發(fā)器正確接收消息,通??捎墒瞻l(fā)器自動(dòng)生成。ZigBee協(xié)議指定所有消息必須請求MAC應答。在第一條消息的APS幀控制字段中,有一個(gè)位指示是否請求了APS應答。如果該位置1,那么接收方ZigBee協(xié)議棧的APS層將自動(dòng)生成一條APS應答,如第三條消息所示。此應答指示目標設備的協(xié)議棧接收到了消息。APS應答還將生成另外一條MAC應答,如第四條消息所示。
評論