Zigbee數據包結構

 

 1.抓取數據包

要了解Zigbee數據協議,可從其通信數據包進行分析。在此,我們需要構建一個協議分析儀。對於TI產品可使用Texas Instruments Packet Sniffer軟件,結合CC2530-EB開發板(任何一款基於Zigbee協議的開發板即可)、仿真下載器實現。

(1)選擇IEEE 802.15.4/Zigbee

 

(2)打開協調器和終端,連接Debug調試器跟CC2530開發板,會在軟件中檢測到圖中下方信息,此時點擊上方開始按鈕,便會在對話框中抓取到協調器跟終端通信的數據包。

 

 

 2.數據包解讀

首先可以看到數據包由很多分段組成,這與Zigbee協議是對應的。Zigbee協議採用分層設計方式,故圖中圖一樣的網絡層也使用了不同的顏色。

 

第1-6行是協調器建立Zigbee無線網絡和終端節點加入網絡的過程。

第1、3、5行是終端節點發送信標(Beacon)請求。

第2、4、6是協調器建立了Zigbee無線網絡,並嘗試與終端節點建立連接。在Zigbee網絡中,協調器的網絡地址必定是0x0000,數據包中“Source Address”就是協調器的網絡地址。

第7行,終端節點發送加入網絡請求(Association Request)

第8行,協調器對終端節點的加入網絡請求做出應答,這個可以通過“Sequence Number”來判讀。

第9行,終端節點收到協調器的應答後,發送數據請求(Data Request),請求協調器分配網絡地址。從數據包可以看到,終端節點的IEEE地址是:0x00124B0008E8566F(64位地址)。

爲什麼使用的是64位的地址?

因爲此時終端節點還沒有加入網絡,所以有效的網絡地址還沒有分配。從開始我們看到,終端節點網絡默認地址是0xFFFF,爲什麼不能使用。默認地址是每個終端節點的地址,當網絡中存在多個終端節點時,如果都使用默認地址就會產生衝突。

第10行,協調器對終端節點的數據請求做出應答。(序列號都是0x9A)

第11行,協調器分配的網絡地址發送給終端節點,新分配的地址是:0xDC35

第12行,終端節點做應答。

第13-15行,終端節點使用短地址0xDC35與協調器進行通信。

第16行,可以看到“MAC payload”欄的最後三個數據是:4C 45 44,這就是終端節點發送的數據“LED”。數據發送是以ASCII碼的格式發送的,L的ASCII碼爲0x4C,E的的ASCII碼爲0x45,D的ASCII碼爲0x44。

從數據包中可以看到,每層數據包中都有一個payload字段,payload字段可以理解爲有效數據,稱爲淨荷,及每層所包含的有效數據。

應用程序支持子層(APS)                  

網絡層(NWK)                    

介質訪問控制層(MAC)

 

從上可以看出,協議中下層中有效數據都包含了上一層中的有效數據。

2.1 APS

 

 

2.2 NWK

 

2.3 MAC

負責網絡號、網絡發現,提供點對點通信的數據確認及

 

2.4 PHY

負責將數據通過發射天線發送出去以及從天線接收數據。

 

 

(1)       同步頭(SHR,Synchronization Header)

(2)       物理層頭(PHR,PHY Header)

(3)       物理層淨荷(PHY Payload)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章