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

关于低功耗设备2次入网失败后,不能继续入网的问题

现有一款设备,电池供电,编译了NV_INIT , POWER_SAVING,   协议版本:HA 1.2.2

10秒定时器事件中执行以下功能

NLME_SetPollRate( 0 );
NLME_SetQueuedPollRate( 0 );
NLME_SetResponseRate( 0 ); ZDApp_StopJoiningCycle(); //停止扫描网络

唤醒后会执行

NLME_SetPollRate( 500 );
NLME_SetQueuedPollRate( 100 );
NLME_SetResponseRate( 100 );
ZDApp_StartJoiningCycle(); //开始扫描网络

问题描述:

1: 当协调在线时,此时上电节点设备(直接硬件复位),可以正常入网,然后进入PM3模式,功耗0.4UA

2:将协调断电,不再打开,此时上电节点设备(直接硬件复位),开始扫描网络,开启10秒定时器,然后超时进入PM3模式。

3:再次通过外部中断方式唤醒节点设备,继续扫描网络,同样激活10秒定时器,然后超时进入PM3模式

4:再次通过外部中断方式唤醒节点设备,继续扫描网络,同样激活10秒定时器,然后超时进入PM3模式

5:此时打开协调器,再次通过外部中断方式唤醒节点设备,此时程序进入了

case ZDO_NWK_JOIN_REQ:
if ( ZG_BUILD_JOINING_TYPE && ZG_DEVICE_JOINING_TYPE )
{
retryCnt = 0;
devStartMode = MODE_RESUME;
_tmpRejoinState = true;

//A点
osal_cpyExtAddr( ZDO_UseExtendedPANID, _NIB.extendedPANID );
zgDefaultStartingScanDuration = BEACON_ORDER_60_MSEC; 
ZDApp_NetworkInit( 0 );
}
break;

再次进入

networkDesc_t* ZDApp_NwkDescListProcessing(void)

{

………….

if ( nwk_ExtPANIDValid( ZDO_UseExtendedPANID ) == true )
{
// If the extended Pan ID is commissioned to a non zero value
// Only join the Pan that has match EPID

因前段程序 “A点” 入已经将节点自的MAC复制到ZDO_UseExtendedPANID中去,导致以下判断出错。不能正常入网

if ( osal_ExtAddrEqual( ZDO_UseExtendedPANID, pNwkDesc->extendedPANID) == false )
continue;

}

}

但如果在上面第2-3点时,打开协调器,可以正常入网。第四次唤醒后,节点进入了“重连事件”。

不知是那里的问题,导致设备第四次唤醒后,会进入 ZDO_NWK_JOIN_REQ 模式下呢。难道是BUG,还是说其它地方问题。

望各位大佬帮忙分析解决一下。

抓包文件如下:7723.test.psd

YiKai Chen:

感覺上你這樣把協調器跟終端開開關關的、不能正常入網也是正常、建議你抓包看看狀況

zhu zhu:

回复 YiKai Chen:

注意,这并非,开开关关,而是协调不在线时,设备进入低功耗三次后不能入网,终端设备是电池供电呢,不可能不停的扫描网络

YiKai Chen:

回复 zhu zhu:

Z-Stack Home 1.2.2a 有rejoin backoff的機制,可以直接用這個機制就好,不需要像你這樣作

zhu zhu:

回复 YiKai Chen:

用rejoin backoff机制,功耗会高过我这种,而且没办法实现即时入网

YiKai Chen:

回复 zhu zhu:

你的會入不了网不是嗎

zhu zhu:

回复 YiKai Chen:

关键不知是什么原因导致进入ZDO_NWK_JOIN_REQ:事件呢

zhu zhu:

回复 YiKai Chen:

关键不知是什么原因导致进入ZDO_NWK_JOIN_REQ:事件呢

YiKai Chen:

回复 zhu zhu:

設備曾經入網過就會进入ZDO_NWK_JOIN_REQ:事件吧

zhu zhu:

回复 YiKai Chen:

你应该没有详细看我的测试过程说明,是新设备,没有入过网,连续三次进入低功耗后,第四次唤醒后,会导致设备进入ZDO_NWK_JOIN_REQ,所以这点让人很头痛,根本不知什么原因

YiKai Chen:

回复 zhu zhu:

我相信我有详细看過你的测试过程说明,你的設備在第一步驟不就先讓他入網了嗎?

赞(0)
未经允许不得转载:TI中文支持网 » 关于低功耗设备2次入网失败后,不能继续入网的问题
分享到: 更多 (0)