DA1469x
7个月前
发布的Subramanyan140点 1回复你好,
我使用DA14695 Dev Kit和wiira SDK 10.440.8.6使用FreeRTOS。
我正在实施一个解决方案,让设备在没有活动时进入睡眠状态,并有以下问题。
1.调用“pm_sleep_mode_set(pm_mode_extended_sleep);”是否挂起FreeRTOS任务?
2.如果我们需要在睡眠期间降低功耗,是否有一个FreeRTOS功能,将对话框置于正确的睡眠模式,暂停任务,停止蓝牙活动等?
3.当我使用功率分析器进行测试时,我看到蓝牙广告之间的平均电流消耗约为2.5mA。但是,我希望电流是微安的。我如何做到这一点?
你能给我一些关于电源管理的指导或教程吗?
感谢和问候,
Subramanyan
7个月前
嗨Subramanyan,
感谢您的在线问题,并为延误道歉。扩展睡眠是默认的睡眠模式。该设备可以在广告或连接间隔期间进入休眠状态。
如果pm_sleep_mode_set(pm_mode_extended_sleep),您在功率分析器中看到的是设备正在发布,并在发布间隔之间进入扩展睡眠模式。你可以通过使用Power Profiler的标记来测量扩展的睡眠电流,这样你就可以在两个广告间隔之间进行测量。
平均功耗与广告时间间隔密切相关。如果您使用更大的间隔,那么设备将休眠更多的时间,从而降低平均功耗。
为了进入永久睡眠模式,芯片首先应该停止广告。所以,你可以设置一个计时器来停止广告,然后进入延长睡眠模式
应该使用ble_gap_adv_stop()来停止广告。如果广告成功停止,应用程序将收到一个状态设置为BLE_ERROR_CANCELED的BLE_EVT_GAP_ADV_COMPLETED。因此,您应该设置一个计时器,并在预定义的时间后停止广告。
请参考SDK的ble_adv示例,看看在for(;;)循环中BLE_EVT_GAP_CONNECTED和handle_evt_gap_connected是如何处理的。您应该对BLE_EVT_GAP_ADV_COMPLETED执行同样的操作。
我还建议检查以下教程:
http://lpccs-docs.dialog-semiconductor.com/da1469x_power_measurement/index.html
谢谢,PM_Dialog