130-SLM130(NB-IOT)C-SDK(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

 

posted on 2022-07-22 15:55  广源时代  阅读(317)  评论(0编辑  收藏  举报

导航

支付宝 QQ群