TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

该讨论已被锁定。
您不能再向该讨论中发布新回复。如果您有问题可以开始新讨论

联网成功的终端,脱离网络后,从新启动后电流在8mA左右无法,功耗无法降低。

Other Parts Discussed in Thread: Z-STACK, CC2530

2.5.1a协议栈,在SampleApp上进行试验,开启

POWER_SAVING
NV_RESTORE
NV_INIT

加入一次网络后,关闭协调器,重启终端设备,设备功耗始终很高,各项低功耗设置都与

AN079 -- Measuring Power Consumption of CC2530 with Z-Stack文档一致。

我使用了

if(initFailCounter++ >= NWK_INIT_fAIL_MAX )//连续链接失败6次进入1分钟休眠6timer
{

osal_start_timerEx( ZDAppTaskID, ZDO_NETWORK_INIT, 60000 );

devState = DEV_INIT;
return(events ^ ZDO_NETWORK_INIT);
}这种方法,但是问题没并有根本解决。

我在论坛中查到过类似的问题,但是没有发现什么好的解决办法,再次向各位大神请教。

  • 我也測試過加入函數ZDApp_StopJoiningCycle();加入定時週期1分鐘開啟三秒,然後使用該函數關閉加入網絡。但實際並沒有降低功耗,電流依然是8mA左右。

    • 功耗高的原因是设备一直处于搜网状态。

      在实际产品中,我们建议客户在断网以后,重新搜网的时候如果一段时间没有搜到,就可以暂停搜网,休眠一段时间以后再搜。

      你可以下载Z-Satck Home 1.2.2a协议栈,里面已经有这个功能,具体你可以搜索


      if( events & ZDO_REJOIN_BACKOFF )
      {
      if( devState == DEV_NWK_BACKOFF )
      {
      ZDApp_ChangeState(DEV_NWK_DISC);
      // Restart scan for rejoin
      ZDApp_StartJoiningCycle();
      osal_start_timerEx( ZDAppTaskID, ZDO_REJOIN_BACKOFF, zgDefaultRejoinScan );
      }
      else
      {
      // Rejoin backoff, silent period
      ZDApp_ChangeState(DEV_NWK_BACKOFF);
      ZDApp_StopJoiningCycle();
      osal_start_timerEx( ZDAppTaskID, ZDO_REJOIN_BACKOFF, zgDefaultRejoinBackoff );
      }

      return ( events ^ ZDO_REJOIN_BACKOFF);
      }

      • 谢谢大V,我用的是2.3.0,正准备改成最新版本。

        我现在的方法是在

        if ( events & ZDO_NETWORK_INIT )
        这段之后加入次数判断,判断后进行执行

        initFailCounter = 0;
        devState = DEV_INIT;
        ZDApp_StopJoiningCycle();

        然后计时1分钟后再次开启网络申请。