这是固定的吗?DA14580必须至少每10秒自动唤醒一次

7个帖子/ 0个新
最后发表
achao1104
离线
最后看到:5年5个月前
主
加入:2015-12-24 10:56
这是固定的吗?DA14580必须至少每10秒自动唤醒一次

DA14580必须至少每10秒自动唤醒一次,即使没有外部唤醒
中断被触发。这种自动唤醒并不会阻止外部唤醒过程
如前所述,功能齐全。
此限制的解决方案将在本应用程序说明的未来版本中给出,如
替代方案仍在调查中。

设备:
achao1104
离线
最后看到:5年5个月前
主
加入:2015-12-24 10:56
任何想法?对话框支持

任何想法?对话框支持

MT_dialog
离线
最后看到:4个月1天前
工作人员
加入:2015-06-08 34
嗨achao1104,

嗨achao1104,

da如果没有持续的ble操作(发布连接间隔等),它每10秒唤醒一次。如果您想抑制此功能,可以调用app_ble_ext_wakeup_on()以从外部中断中唤醒。如果你不想使用这个解决方案你可以改变CFG_MAX_SLEEP_DURATION_EXTERNAL_WAKEUP_MS定义中的值(如果你正在与SDK5)或MAX_SLEEP_DURATION_EXTERNAL_WAKEUP定义中的值(如果你正在与SDK3)为了迫使da醒来更大的间隔。

由于MT_dialog

cosianer
离线
最后看到:4年7个月前
加入:2015-05-19 09:11
嗨,对话框的团队,

嗨,对话框的团队,

首先祝大家身体健康,万事如意!

我不经意间读过这段对话……几个星期前,我在论坛问,为什么DA 14580醒来每10秒,因为我们希望优化当前的消费,所以我们有测量它,我们所看到的,这是每一个10秒的当前650µ,持续时间6日5女士。我问,这种行为是否为人所知?现在,我明白了....你知道检察官为什么会有这种行为吗?在系统仍然正常工作的情况下,我能把这个区间设多大?

谢谢

MT_dialog
离线
最后看到:4个月1天前
工作人员
加入:2015-06-08 34
嗨cosianer,

嗨cosianer,

当da在HCI上运行时,应该是RW的剩余部分。该值是在一个27位寄存器中加载的,因此最大值为0x7FFFFFF。

由于MT_dialog

奥伦
离线
最后看到:1年9个月前
专家
加入:2014-06-28 22:03
你好,

你好,
我们使用的是SDK5.0.4,我们尝试将MAX_SLEEP_DURATION_EXTERNAL_WAKEUP的值设置为0x7FFF,而不是MS_TO_SLOTS_CONVERT(CFG_MAX_SLEEP_DURATION_EXTERNAL_WAKEUP_MS) -这应该会给一个~20.5秒的睡眠。
我们的模块每13.4秒醒来一次。
我们还尝试使用更大的值,如0x7FFFFFF。

您是否尝试使用0x7FFFFFF并检查模块唤醒的频率?
是否有其他内部计时器可能在模块进入长睡眠时唤醒模块?
是否有任何编译标志,我们应该尝试防止从ke_timer_set以外的唤醒?也许在da1458x_stack_config.h中改变一些东西,比如CFG_GTL?
你能检查一下将MAX_SLEEP_DURATION_EXTERNAL_WAKEUP更改为0x7FFFFFF是否会导致连续的长时间深度睡眠吗?例如,在一个外设程序中,广告1分钟,睡眠1分钟,广告1分钟,睡眠1分钟(反复)-在1分钟睡眠中不应该有任何耗电的唤醒。

问候,
奥伦

MT_dialog
离线
最后看到:4个月1天前
工作人员
加入:2015-06-08 34
嗨,奥伦,

嗨,奥伦,

在pro套件和延长睡眠中的ble_app_sleepmode项目中测试了你已经发布的值0x7fff,模块在大约20.5秒后唤醒,还测试了值0x7FFFFFF,这是寄存器可以取的最大值,但似乎SDK是处理(可能增加)值之前应用到寄存器本身,所以设备唤醒在几毫秒(我假设值包裹和睡眠值i实际上真的很小),为了总共大约23个小时的睡眠,我放置的值是0x7FFFFFC,就我所能测试的而言,它休眠了2个多小时(i是我能运行测试的时间)。据我所知,没有其他定时器或值可以影响设备的唤醒时间。如果在您的设备上通过更改MAX_SLEEP_DURATION_EXTERNAL_WAKEUP的周期间隔不受影响到~13.4秒,那么就我所知,其他东西正在唤醒您的设备。

由于MT_dialog