微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > z-stack home developer's guide里面

z-stack home developer's guide里面

时间:10-02 整理:3721RD 点击:

if the Coordinator is constrained to one channel, and
the specified Pan Id has already been established on that channel, the newly starting Coordinator will make
successive changes until it achieves a unique Pan Id. A Router or End-Device newly joining will have no way of
knowing the value of the “de-conflicted” Pan Id established, and will therefore join only the Pan Id specified. A
similarly challenging scenario arises when the permitted channel mask allows more than one channel and the
Coordinator cannot use the first channel because of a Pan Id conflict – a Router or End-Device will join the
specified Pan Id on the first channel scanned, if allowed.

这句话 A 
similarly challenging scenario arises when the permitted channel mask allows more than one channel and the 
Coordinator cannot use the first channel because of a Pan Id conflict – a Router or End-Device will join the 
specified Pan Id on the first channel scanned, if allowed.怎么理解啊?我怎么看不懂?

这段话涉及到变量在协议栈里面主要是下面两个

1)

/* Default channel is Channel 11 - 0x0B */
// Channels are defined in the following:
// 0 : 868 MHz 0x00000001
// 1 - 10 : 915 MHz 0x000007FE
// 11 - 26 : 2.4 GHz 0x07FFF800
//
//-DMAX_CHANNELS_868MHZ 0x00000001
//-DMAX_CHANNELS_915MHZ 0x000007FE
//-DMAX_CHANNELS_24GHZ 0x07FFF800
//-DDEFAULT_CHANLIST=0x04000000 // 26 - 0x1A
//-DDEFAULT_CHANLIST=0x02000000 // 25 - 0x19
//-DDEFAULT_CHANLIST=0x01000000 // 24 - 0x18
//-DDEFAULT_CHANLIST=0x00800000 // 23 - 0x17
//-DDEFAULT_CHANLIST=0x00400000 // 22 - 0x16
//-DDEFAULT_CHANLIST=0x00200000 // 21 - 0x15
//-DDEFAULT_CHANLIST=0x00100000 // 20 - 0x14
//-DDEFAULT_CHANLIST=0x00080000 // 19 - 0x13
//-DDEFAULT_CHANLIST=0x00040000 // 18 - 0x12
//-DDEFAULT_CHANLIST=0x00020000 // 17 - 0x11
//-DDEFAULT_CHANLIST=0x00010000 // 16 - 0x10
//-DDEFAULT_CHANLIST=0x00008000 // 15 - 0x0F
//-DDEFAULT_CHANLIST=0x00004000 // 14 - 0x0E
//-DDEFAULT_CHANLIST=0x00002000 // 13 - 0x0D
//-DDEFAULT_CHANLIST=0x00001000 // 12 - 0x0C
-DDEFAULT_CHANLIST=0x00000800 // 11 - 0x0B

2)

/* Define the default PAN ID.
*
* Setting this to a value other than 0xFFFF causes
* ZDO_COORD to use this value as its PAN ID and
* Routers and end devices to join PAN with this ID
*/
-DZDAPP_CONFIG_PAN_ID=0xFFFF

如果把ZDAPP_CONFIG_PAN_ID改成0xFFFF以外的值的话,那么协调器在建立网络就以这个值作为PANID,对于路由和终端设备来说就加入到指定的PANID网络中去。 如果定义-DDEFAULT_CHANLIST=0x00000800 // 11 - 0x0B,表示协调器在建立网络时只会在11信道上进行扫描的,而且网络也只会在11信道建立,对于节点来说也只会在11信道搜索加入网络。如果第一协调器在信道11上建立网络以特定的PANID=0x1111,那么第二个协调器也在信道11上建立网络,发现想建立的PANID=0x1111,发现已经这样的网络存在了,导致冲突,那么这个时候第二个协调器会把网络的PANID自动改为0x1112,建立一个新的网络。这时候如果你的节点本来是想加入到第二个协调器去的,现在就加不上了,因为节点并不知道PANID冲突,一直尝试向0x1111,加网,实际想加的那个协调器已经改成0x1112了。

如果当-DDEFAULT_CHANLIST定义超过两个信道的时候,那么协调器会在多个信道上扫描建立网络,对于节点来说也去多个信道搜索网络。

第一个协调器在一个信道上建立了0x1111网络,那么第二协调器起来的时候,发现第一个信道上的网络和自己想建立的网络PANID冲突,所以会去第二个信道上建立同样PANID的网络,这个时候节点上电以后,会首先从第一个信道开始搜索对应PANID的网络,搜索到就加进去了。这样的话节点也无法加入到第二个想加入的协调器中去,原因是第二个协调器已经去另外个信道了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top