Zigbee位址分配

2021-06-13 19:14:35 字數 1036 閱讀 3975

zigbee有兩種位址分配方式:分布式分配機制和隨機分配機制。

1.隨機分配機制

隨機分配機制是指當nib的nwkaddralloc值為0x02 時,位址隨機選擇。在這種情況下nwkmaxrouter就無意義了。隨機位址分配應符合nist測試中的描述 。當乙個裝置加入網路使用的是mac位址,其父裝置應選擇乙個尚未分配過的隨機位址。一旦裝置已分配乙個位址,它沒有理由放棄該位址,並應予以保留,除非它收到宣告,其位址與另乙個裝置衝突。此外,裝置可能自我指派隨機位址,比如利用加入命令幀加入乙個網路。

2.分布式分配機制

16位的位址意味著可以分配給65536個節點之多,位址的分配取決於整個網路的架構,整個網路的架構由這3個值決定:

1.網路的最大深度(lm);

2.每個父親裝置擁有的孩子數(cm);

3.第2條的孩子裝置當中有幾個是路由器(rm)。

有了這3個值就可以根據下面的公式來算出某父裝置的路由器子裝置之間的位址間隔cskip(d):

上面這個公式是用來計算位於深度d的父親裝置的,它所分配的子路由器之間的短位址間隔。該父親裝置分配的第1個路由器位址=父親裝置位址+1,分配的第2個路由器位址=父親裝置位址+1+cskip(d),第3個路由器位址=父親裝置位址+1+2×cskip(d),依次類推。

這個公式是來計算a parent這個父親裝置分配的第n個終端裝置的位址a n。

來舉個簡單的例子,假設有乙個zigbee網路,最大深度為3,每個父親的最大孩子數是5,在孩子當中路由器數量是3,如圖所示:

由圖可知,協調器的cskip(d) = (1+5-3-5×3^(3-0-1))/(1-3) = 21,所以協調器的第乙個路由器是1,第二個就是22,換算成十六進製制就是0x0016。協調器的第1個終端位址 = 0x0000+21×3+1 = 64 = 0x0040、第2個就是0x0041。由此可見所有同一父親的終端裝置的短位址都是連續的。

不難看出一旦lm、cm、rm這3個值確定了,整個網路裝置的位址也就確定下來。所以知道了某個裝置的短位址就可以計算出它的裝置型別和它的父裝置位址。

參考文獻:《zigbee specification》370頁

Zigbee位址分配

zigbee有兩種位址分配方式 分布式分配機制和隨機分配機制。1.隨機分配機制 隨機分配機制是指當nib的nwkaddralloc值為0x02 時,位址隨機選擇。在這種情況下nwkmaxrouter就無意義了。隨機位址分配應符合nist測試中的描述 當乙個裝置加入網路使用的是mac位址,其父裝置應選...

zigbee協議解析 位址分配機制

zigbee協議解析 位址分配機制 環境 zigbee協議版本 2007 說明 在zigbee網路中,每個父節點都有一片位址可以用來分配.不同深度父節點擁有的位址數公式 cskip d 不同深度下父節點擁有的位址數 cm nwkmaxchildren,父節點可以有的最大子節點數 lm nwkmaxd...

zigbee協議解析 位址分配機制

zigbee協議解析 位址分配機制 環境 zigbee協議版本 2007 說明 在zigbee網路中,每個父節點都有一片位址可以用來分配.不同深度父節點擁有的位址數公式 cskip d 不同深度下父節點擁有的位址數 cm nwkmaxchildren,父節點可以有的最大子節點數 lm nwkmaxd...