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