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

协调器长时间掉电后,终端节点无法恢复网络

芯片:CC2530 

协议栈:HA1.2.2a

网络结构:协调器1个,终端一个。

问题复现:①协调器掉电后,唤醒终端,终端发现掉线后发出Orphan Notification(抓包数据中第4行开始到第26行休眠)。

②协调器依然掉电,等待几分钟再次唤醒终端,终端发出beacon request (抓包数据中第237行,然后休眠)。

③等待较长时间后,再唤醒终端,终端直接发出了data request,自此协调器上电也无法恢复网络了,只有重新上电终端才可以(抓包数据中第601行)

 问题描述:①请问为何终端一开始发出的是beacon request,长时间休眠后却变成了data request。(中间保持深度休眠,无其他操作)

 ②经过测试发出beacon request,终端是可以rejoin的方式恢复网络。发出data request 却没办法恢复网络。

终端无法恢复入网.zip

Viki Shi:

如果REJOIN_POLL_RATE设置的长,REJOIN_SCAN设置得短,导致在Rejoin的时候,刚好切换到back off的状态,就可能会出现此问题,详细解释请看:e2echina.ti.com/…/149010

user5032796:

回复 Viki Shi:

抱歉,回复的有些迟。
在程序中,没有对这三项进行更改过。
-DREJOIN_POLL_RATE=440
-DREJOIN_BACKOFF=900000
-DREJOIN_SCAN=900000
休眠也仅是调用了:
NLME_SetPollRate( 0 );
NLME_SetQueuedPollRate( 0);
NLME_SetResponseRate( 0 );
ZDApp_StopJoiningCycle();
唤醒调用了:ZDApp_StartJoiningCycle();NLME_SetPollRate( 200);NLME_SetQueuedPollRate( 100);NLME_SetResponseRate( 100);
感觉和您链接中的问题不太一致。

Viki Shi:

回复 user5032796:

1、此现象的出现频次
2、permit join是否打开?

user5032796:

回复 Viki Shi:

1.基本上每次都会出现,但是无法分辨间隔多久,有时候半个小时,有时候几个小时。
2.Perimit Join 是关闭的,只有入网的时候才手动打开。

Viki Shi:

回复 user5032796:

需要点时间研究一下,后续再来回复

Viki Shi:

回复 user5032796:

跟同事讨论了一下,暂时不清楚为何会发送data request 。请问此问题用TI例程是否能复现?【确保定义NV_RESTORE并调试ZDApp.c以确定设备状态和具体操作】

user5032796:

回复 Viki Shi:

后续我会继续用TI例程测试这个问题,有什么进展我会及时反馈。谢谢您的帮助。

Viki Shi:

回复 user5032796:

好的

赞(0)
未经允许不得转载:TI中文支持网 » 协调器长时间掉电后,终端节点无法恢复网络
分享到: 更多 (0)