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

奇怪的zigbee组网不成功?

问题描述:

1,芯片采用cc2530,参考设计采用Ti的官方参考,并且已制作1000+pcs,正在使用.

2,协议栈采用ti的ZStack-CC2530-2.5.1.

3,出现问题是:烧写程序后第一次coordinator打开组网,所有router总是可以组网成功.然后反复关闭组网,打开组网,router重新组网,有时候就出现总也组网不成功.连续几十分钟也不能组网成功重启也不行,重新把coordinator程序烧写一遍,就能组网成功.

4,问题用到的操作:coordinator打开和关闭组网用函数:

NLME_PermitJoiningRequest(0xFF); //允许入网
ZDSecMgrPermitJoining(0xFF);

NLME_PermitJoiningRequest(0); //禁止入网
ZDSecMgrPermitJoining(0);

router重新组网采用函数:

osal_start_timerEx( ZDAppTaskID, ZDO_DEVICE_RESET, 1000 );  // 清除网络参数,并重启

另:抓包工具用的不熟,但组网不成功时看到routet在个个信道广播申请,未见coordinator回复。

以上,问题全部,请高手帮助判断是否有解决办法或者思路,谢谢!

VV:

如果你是项目初期刚开始使用CC2530做产品,那么建议你使用最新的协议栈Z-Stack Home 1.2.2a,你的协议栈是非常老的版本的了。

最好能够提供空中抓包的数据。

你看下协调器是否已经加满了,多少个节点做的测试?

da che:

回复 VV:

谢谢W的回复

1,项目已经完成了,在正式产品上使用中.解决了这个问题,我再研究新协议栈,这可能需要一段时间.

2,打开组网后,所有的信道都充满router的申请数据,未看到其他数据,我应该抓取哪个信道的数据呢?

3,协调器可组网20台,默认设置我未更改,我已定义了NV_INIT和NV_STORE,而且以前做过试验,route再次重新组网,并不会分配新的Dest.Address.所以不是组网满了.而且从烧写完coordinator的程序开始,我一直用固定的5台routet做实验.

VV:

回复 da che:

你确定定义是NV_STORE??正确的应该是NV_RESTORE

只要抓下数据包就知道路由在复位重启以后,是怎么入网的?

da che:

回复 VV:

感谢W的回复.

1,确实是NV_RESTORE,我记错了。

2,经过研究,我抓住了组网不成功的数据包,请帮忙分析下我应该在哪找问题,谢谢!

另外,多问一个问题,抓住的数据包有很多标志字符,不是很明白,有哪个文档详细描述我怎样分析用sniffer抓出数据包的,请帮忙提供个链接,谢谢!

VV:

回复 da che:

协调器里面加过其他的设备,AssociateList满了,你可以用Flash Programmer擦除下协调器的程序就可以了

da che:

回复 VV:

感谢W的回复.

明白了,AssociateList满了。我想知道你用的这个PACKET View的软件是什么,方便告诉我下软件名称和下载地址么?

赞(0)
未经允许不得转载:TI中文支持网 » 奇怪的zigbee组网不成功?
分享到: 更多 (0)