Zigbee有两种地址分配方式:分布式分配机制和随机分配机制。
随机分配机制是指当NIB的nwkAddrAlloc值为0x02 时,地址随机选择。在这种情况下nwkMaxRouter就无意义了。随机地址分配应符合NIST测试中的描述。当一个设备加入网络使用的是Mac地址,其父设备应选择一个尚未分配过的随机地址。一旦设备已分配一个地址,它没有理由放弃该地址,并应予以保留,除非它收到声明,其地址与另一个设备冲突。此外,设备可能自我指派随机地址,比如利用加入命令帧加入一个网络。
我们知道,每个zigbee设备应该拥有一个唯一的MAC地址。协调器(coordinator)在建立网络以后使用0x0000做为自己的短地址。在路由器(router)和终端(enddevice)加入网络以后,使用父设备给它分配的16位的短地址来通讯。那么这些短地址是如何分配的呢?
16位的地址意味着可以分配给65536个节点之多,地址的分配取决于整个网络的架构,整个网络的架构由这3个值决定:
(Lm);
(Cm);
(Rm)。
有了这3个值就可以根据下面的公式来算出某父设备的路由器子设备之间的地址间隔Cskip(d):
上面这个公式是用来计算位于深度d的父亲设备的,它所分配的子路由器之间的短地址间隔。该父亲设备分配的第1个路由器地址=父亲设备地址+1,分配的第2个路由器地址=父亲设备地址+1+Cskip(d),第3个路由器地址=父亲设备地址+1+2×Cskip(d),依次类推。
计算终端地址:
这个公式是来计算A parent这个父亲设备分配的
Zigbee地址分配(转) 来自淘豆网m.daumloan.com转载请标明出处.