TI论坛
直播中

叶恒

7年用户 221经验值
私信 关注
[问答]

协调器掉线以后终端搜索网络的功耗太高怎么办?

协调器掉线以后,起初我用ZDApp_StopJoiningCycle关闭了加入网络搜索,随后我又调用NLME_OrphanJoinRequest( zgDefaultChannelList,
zgDefaultStartingScanDuration );开启了搜索,但是这个函数会导致搜网周期过长,约为8-9s,而且这段时间内功耗很高,有80mW。请问这个高功耗的时间能不能缩短,而且这段时间终端到底在干哪些事情?

回帖(4)

叶恒

2020-4-23 09:56:29
@VV
非常感谢VV给我的解答,问题已经解决。维持8-9s的高功耗状态是因为在Ztack机制里当扫描失败次数达到5次时if (startMode == MODE_REJOIN && scanCnt++ >= 5 ),扫描信道被置为所有信道zgDefaultChannelList = MAX_CHANNELS_24GHZ,所以导致扫描周期变长,我把这句注释掉就好了。
至于您说的用ZDApp_StartJoiningCycle,我试过可是一直不可以,当启用该函数时一直都加不上网络,而且功耗会一直维持在80mW的高功耗状态,但是用NLME_OrphanJoinRequest或者直接调用ZDOInitDevice( 0 )却都能加入网络,现在我还在找原因在哪,如果您知道的话也希望能指点一二,谢谢。
举报

李果

2020-4-23 10:07:33
引用: cswerwr 发表于 2020-4-23 17:09
@VV
非常感谢VV给我的解答,问题已经解决。维持8-9s的高功耗状态是因为在Ztack机制里当扫描失败次数达到5次时if (startMode == MODE_REJOIN && scanCnt++ >= 5 ),扫描信道被置为所有信道zgDefaultChannelList = MAX_CHANNELS_24GHZ,所以导致扫描周期变长,我把这句注释掉就好了。
至于您说的用ZDApp_StartJoiningCycle, ...

帮忙确定下 当时的devState是不是 DEV_NWK_DISC
ZDApp_ProcessOSALMsg( osal_event_hdr_t *msgPtr )
if ( ( (pChosenNwk = ZDApp_NwkDescListProcessing()) != NULL ) && (zdoDiscCounter > NUM_DISC_ATTEMPTS) )
举报

叶恒

2020-4-23 10:26:34
引用: wenlonghbo 发表于 2020-4-23 17:20
帮忙确定下 当时的devState是不是 DEV_NWK_DISC
ZDApp_ProcessOSALMsg( osal_event_hdr_t *msgPtr )
if ( ( (pChosenNwk = ZDApp_NwkDescListProcessing()) != NULL ) && (zdoDiscCounter > NUM_DISC_ATTEMPTS) )

@VV
谢谢,现在如果我使用ZDApp_StartJoiningCycle();,我通过打印串口信息发现当时的devState的确是DEV_NWK_DISC,而且此时的devStartMode == MODE_REJOIN,若在执行ZDApp_StartJoiningCycle()的前一刻重新打开Coordinator,则函数进入case ZDO_NWK_DISC_CNF---->else if ( devStartMode == MODE_REJOIN )----->if ( NLME_ReJoinRequest( ZDO_UseExtendedPANID, pChosenNwk->logicalChannel) != ZSuccess )----->ZDO_JoinConfirmCB回调函数------->case ZDO_NWK_JOIN_IND------>ZDApp_ProcessNetworkJoin()------->else if ( devState == DEV_NWK_ORPHAN || devState == DEV_NWK_REJOIN )--------->此时nwkStatus !== ZSuccess,所以进入else------->ZDApp_NetworkInit(),一直无法rejoin的话就形成死循环了。
请问为什么这个时候EndDevice无法rejoin入协调器的网络呢,我的协调器已经加入了预编译NV_INIT和NV_RESTORE,EndDevice预编译选项是NV_RESTORE,期待您的解答,谢谢!
举报

叶恒

2020-4-23 10:35:03
@cai yu
          应该是因为你没有进入低功耗模式
举报

更多回帖

发帖
×
20
完善资料,
赚取积分