TI中文支持网
TI专业的中文技术问题搜集分享网站

enddevice无法恢复加入父节点,仿真发现是由于deviceCapacity为0,而捕捉数据包中deviceCapacity为1

协议栈:Z-Stack Home 1.2.2a

CPU:CC2530

节点:一个路由器,一个终端

问题:

enddevice离网后无法恢复加入父节点,仿真发现是由于终端节点ZDApp_NwkDescListProcessing()函数中deviceCapacity为0导致失败;而使用协议分析仪捕捉的数据包中,父节点回复的beacon中end deviceCapacity为1(见附件)

当两节点距离较近时,恢复入网的几率更大,仿真发现成功时ZDApp_NwkDescListProcessing()函数中的deviceCapacity为1。

附件中的数据是在两节点距离较近时捕捉的,可见经过了20多次的beacon request与beacon才成功恢复入网,而所有父节点回复的beacon中end deviceCapacity均为1.

请问这是什么原因呢?

VV:

最有可能的就是收到的beacon 信号强度太低,或者是没有收到beacon。

因为sniffer是一个第三方设备,sniffer收到并不一定设备也收到。

你可以看下接收处理beacon的地方,

void ZDO_beaconNotifyIndCB( NLME_beaconInd_t *pBeacon )

// check if this device is a better choice to join… // …dont bother checking assocPermit flag is doing a rejoin if ( ( pBeacon->LQI > gMIN_TREE_LQI ) && ( ( pBeacon->permitJoining == TRUE ) || ( _tmpRejoinState ) ) ) {

另外你们的CC2530节点硬件是否有测试过,频偏,发射功率都正常么?

sinan chen:

回复 VV:

@VV 

感谢回复。

我将gMIN_TREE_LQI 调低后,问题基本解决。

另外,问下频偏,发射功率的测试有推荐的机构吗?我们不具备测试的能力,谢谢

天空:

回复 sinan chen:

有2种方法:

1,去TI的开放实验室,里面有相关的测试仪器

2,去RF测试仪器的开发实验室也可以。但是这种实验室是为了卖仪器的。免不了他们的商务来打扰你

xiaohui bu:

回复 天空:

1,去TI的开放实验室,里面有相关的测试仪器

TI的开放实验室在哪?深圳有吗?

赞(0)
未经允许不得转载:TI中文支持网 » enddevice无法恢复加入父节点,仿真发现是由于deviceCapacity为0,而捕捉数据包中deviceCapacity为1
分享到: 更多 (0)