• 130SLM130(NBIOT)CSDK(OpenCPU)学习开发低功耗(PSM,DRX,eDRX)


    <p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnEC616_SLM130" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

    先看PSM (Power Save Mode)节能模式

    1,NB的节能模式是有两个时间参数控制 TAU时间 和 active时间

    PSM模式是模组断开了网络连接,只能人为或者程序上唤醒模组.

    在模组进入PSM模式以后, TAU时间是控制NB模组多长时间以后唤醒联网,

    NB模组在空闲(不进行网络通信,一般指所有任务都在挂起)状态下,超过active时间模组进入PSM模式.

    2,打开slpman_example 例程(按照下面的程序修改)

    //设置最大睡眠深度 HIB
    slpManSetPmuSleepMode(true, SLP_HIB_STATE, false);
       
    appSetCFUN(0);//关闭网络通信
    while(1){
      vTaskDelay(60000 / portTICK_PERIOD_MS);//延时
    }
     

    3,编译slpman_example, 并下载到开发板

    4,使用万用表可以看到功耗

    5,关于TAU时间和Active时间设置

    这个两个时间可以在程序上设置,也可以在NB卡上设置(需要运营商设置)

    在程序上设置

    让运营商在NB卡后台设置

    注意: EC616在注册上网络以后会获取NB卡后台设置的TAU时间和Active时间.

    所以只要是后台设置了,那么程序里面会遵循后台的.

    通过上面的设置,把程序下载到开发板,等待大概30S左右,模组进入低功耗.

    6,关于PSM模式等级

    ACTIVT 和 IDEL 就是模组正常工作

    SLEEP1 模式下模组就进入了休眠了(256KB SRAM, 16KB Ret SRAM, 断电保持IO还在工作(Ret IO)  )

    SLEEP2 模式下模组就进入了休眠了(16KB Ret SRAM, 断电保持IO还在工作(Ret IO)  )

    HIB 模式下模组就进入了休眠了(断电保持IO还在工作(Ret IO)  )

    7,在执行睡眠模式的时候可以设置睡眠前和唤醒后回调函数

    设置回调函数以后功耗会增加, 大概是5.9uA

  • 相关阅读:
    ElasticSearch调优问题
    Ceph源码解析:概念
    Ceph神坑系列
    Mac下VirtualBox共享文件夹设置
    API教程
    设计师最常用网站汇总
    从码农到大神,有多少经验值得借鉴?
    登录注册 页面
    NET面试题 (四)
    Sqlserver面试题
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/16506056.html
Copyright © 2020-2023  润新知