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

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

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

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

任何想法?对话框支持

MT_dialog
离线
最后看到:5个月,3个星期前
工作人员
加入: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年8个月前
加入:2015-05-19 09:11
嗨,对话框的团队,

嗨,对话框的团队,

首先祝大家在新的一年里身体健康!

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

谢谢

MT_dialog
离线
最后看到:5个月,3个星期前
工作人员
加入:2015-06-08 34
嗨cosianer,

嗨cosianer,

当da在HCI上运行时,应该是RW遗留下来的。这个值被加载到一个27位的寄存器中,所以最大值是0x7FFFFFF。

由于MT_dialog

奥伦
离线
最后看到:1年10个月前
专家
加入: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
离线
最后看到:5个月,3个星期前
工作人员
加入: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