我正在开发一个作为DSPS应用程序启动的应用程序(v3.150.2)。我们已经在几个方面对它进行了扩展和调整。
在这一点上,我们正在寻找优化我们的产品的功耗,但我不确定如何继续。注意:功耗是我们外围设备的主要问题。我们也有一个在DA14580上运行的中央项目,但它不是靠电池运行的,所以它可能非常耗电。
在arch.h中,有MAX_SLEEP_DURATION_PERIODIC_WAKEUP,它控制睡眠时间。在app.h中,有APP_ADV_INT_MIN和APP_ADV_INT_MAX。
当然,在建立连接时需要设置连接参数,这些参数在Central和Peripheral之间协商。示例连接参数:APP_CON_INTV_MIN、APP_CON_INTV_MAX、APP_CON_LATENCY、APP_CON_SUPERV_TO和APP_CON_TIMEOUT(都在app.h中)。
我一直在调整特别是MAX_SLEEP_DURATION_PERIODIC_WAKEUP和APP_ADV_INT_MIN/APP_ADV_INT_MAX,但我并不总是得到我期望得到的结果。通常情况下,功耗比我所期望的更低的外设(例如,APP_ADV_INT_*具有更大的值)更高,或者我发现我的外设根本没有功耗,即使它消耗了功耗。
是否有文档或指南讨论如何优化应用程序的功能?
谢谢。
设备:
我也有同样的问题。是否有文档或指南讨论如何优化应用程序的功能?
我想,周边设备工作完成后,是否有必要将任务设置为空闲状态。当需要捕获新数据时,启用该任务。app_task是否需要设置为空闲状态?
嗨乔,
关于MAX_SLEEP_DURATION_PERIODIC_WAKEUP并不能精确地控制睡眠时间,因为你没有使用GTL接口,而且你的设计是完全托管的(因为是基于DSPS),你不需要改变这个值,也不建议改变这个定义的值,因为它是SDK的一部分,即使你是在GTL上操作。只要没有事件要执行(广告或连接事件),580将保持休眠模式。没有文件列出可以应用的技术,以减少功耗,但一般的规则是,较长的间隔,因为你不经常使用收音机,你可以节省电源。这意味着随着更大的广告和连接间隔,您应该会看到您的电力消耗减少。
由于MT_dialog