了解更多常见问题教程

2个职位/0个新职位
最后一篇文章
苏布拉曼尼亚
离线
最后一次见到:1周3天前
已加入:2020-07-15 12:43
睡眠模式

你好,

我使用的是DA14695开发工具包和使用FreeRTOS的WiRa SDK 10.440.8.6。

我正在实施一个解决方案,使设备睡眠时,没有活动,并有以下问题。

1调用“pm_sleep_mode_set(pm_mode_extended_sleep);”是否挂起FreeRTOS任务?

2如果我们需要减少睡眠期间的功耗,是否有FreeRTOS功能可以将对话框置于正确的睡眠模式、暂停任务、停止蓝牙活动等?

三。当我使用power profiler进行测试时,我发现蓝牙广告之间的平均电流消耗约为2.5mA。但是,我预计电流为微安。我如何做到这一点?

你能给我一些关于电源管理的指南吗?

谢谢和问候,

苏布拉曼尼亚

关键词:
设备:
PM\U对话框
离线
最后一次见到:7小时53分钟前
工作人员
已加入:2018-02-08 11:03
你好,Subramanyan,

你好,Subramanyan,

感谢您的在线提问,并对延误表示歉意。延长睡眠是默认的睡眠模式。设备可以在广告或连接间隔之间进入休眠状态。

如果设置了pm\u sleep\u mode\u(pm\u mode\u extended\u sleep),则在电源探查器中可以看到设备正在进行广告,并在广告间隔之间进入延长睡眠模式。您可以使用Power Profiler中的标记来测量延长的睡眠电流,因此您可以在两个广告间隔之间进行测量。

平均功耗与广告间隔密切相关。如果你使用更大的时间间隔,那么设备将睡眠更多的时间,因此平均功耗将降低。

为了进入永久睡眠模式,芯片应该首先停止广告。所以,你可以设置一个计时器停止广告,然后进入延长睡眠模式

为了停止广告,应该使用ble\u gap\u adv\u stop()。如果成功停止播发,应用程序将收到一个BLE\u EVT\u GAP\u ADV\u COMPLETED,状态设置为BLE\u ERROR\u cancelled。因此,您应该设置一个计时器,并在预定义的时间后停止广告。

请参考SDK的ble_adv示例,了解在for(;)循环中如何处理ble_EVT_GAP_CONNECTED和handle_EVT_GAP_CONNECTED。您应该对BLE\u EVT\u GAP\u ADV\u COMPLETED执行相同的操作。

静态无效句柄\u evt \u gap \u adv \u completed(ble \u evt \u gap \u adv \u completed \u t*evt){pm \u sleep \u mode \u set(pm \u mode \u extended \u sleep);}case ble \u evt \u gap \u adv \u completed:句柄\u evt \u gap \u adv \u completed(ble \u evt \u gap \u pair req \u t*)hdr;中断;

我还建议查看以下教程:

http://lpccs-docs.dialog-semiconductor.com/da1469x\u power\u measurement/index.html

谢谢,下午好