我们正在构建一个信标,每211毫秒每隔211ms传输10个字节的有效载荷。无需连接。我们需要连续广播。根据电池寿命估算器,我们应该从我们的CR2016(90mAh)获得超过200天的生活。
但是,在现实中,我们正在达到7天的电池寿命。
我们开始使用BLE_APP_BAREBONE示例应用程序并将其用作我们的起点。I2C,SPI,UART等别无别的(或者至少不应该)。我的问题是我们应该在寻找什么来改善功耗?
我看着ble_eddystone_beacon_with_hibernation_or_deep_sleep_mode看我们是否可以使用deep_sleep模式,但如果我正确地理解代码,那似乎完全停止了广播。我可以每211ms播放之间深入睡觉吗?
设备:
嗨dirjud,
由于您的要求是持续不可连接的广告事件,因此您应该使用扩展的睡眠模式,使设备可以在不可连接的间隔之间睡眠。
在您提到的SW示例中,一旦停止不可连接的广告,设备将深入睡眠或休眠。请检查user_app_on_adv_nonconn_complete()。
睡眠模式虽然IT广告是扩展的睡眠模式。
static const sleep_state_t app_default_sleep_mode = arch_ext_sleep_on;
在广告间隔之间无法将设备放入休眠或深度睡眠模式。
我建议检查DA14531睡眠模式教程(HTML)文件。
谢谢,PM_DIALOG.
所以我所做的就是:
现在它会在广告之间睡觉吗?我有一个新的电池寿命测试,看看有多少帮助。
谢谢。
嗨dirjud,
是的 - 您可以使用SmartSnippets Toolbox的电源分析器验证 - 设备在广告间隔之间睡眠。
http://lpccs-docs.dialog-semicondiond.com/um-b-083/power_profiler/powerprofiler.html.
谢谢,PM_DIALOG.