当App_default_sleep_mode = Arch_ext_sleep_on时,我可以手动将睡眠模式设置为深睡眠吗?

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
13个帖子/ 0新
最后一篇
CGHA.
离线
最后一次露面:6个月2周前
加入:2016-03-23 13:05
当App_default_sleep_mode = Arch_ext_sleep_on时,我可以手动将睡眠模式设置为深睡眠吗?

我只希望我的系统在app_default_sleep_mode = arch_ext_sleep_on工作,但在某些条件匹配之后,我应该关闭ble并将系统放在深度睡眠模式下。这个过程就像:

1.另一个名为MCU_A的MCU将CMD放在SPI上,就像“你应该放入深度睡眠模式”

2. DA14580检查蓝牙是否是广告或连接的:如果已连接,请断开连接,并且不会在断开连接的回调中重新启动广告;如果是广告,只需调用app_easy_gap_advertise_stop即可停止广告

3. DA14580 ACK与“确定,我已经准备好”,然后调用ARCH_BLE_EXT_WAKEUP_ON()和ARCH_SET_DEEP_SLEEP()。(我认为这应该将DA14580放在Deep_sleep模式中)

4. MCU_A把自己放在Deep_sleep上。

注意:代码在OTP上运行。

但有时,DA14580似乎在睡觉后醒来几秒钟后,没有广告,但整个系统的流量增长到0.59mA。

DA14580将自己置于深睡眠之后可能发生了什么?看门狗发射了吗?或者一些计时器仍在运行展现DA14580?

设备:
ps_dialog.
离线
最后一次露面:5个月3周前
加入:2018-01-15 10:36
嗨cgha,

嗨cgha,

我正在内部检查,尽快让您知道。

BR,Paolo.

CGHA.
离线
最后一次露面:6个月2周前
加入:2016-03-23 13:05
我在哪里可以得到原因

我在哪里可以获得唤醒的原因?我现在在WFI()之后设置了一个断点,是在我让它深入睡眠后醒来的DA14580。

所以现在我想得到唤醒原因来找到我的源代码错误。

ps_dialog.
离线
最后一次露面:5个月3周前
加入:2018-01-15 10:36
嗨cgha,

嗨cgha,

请诚挚地告诉我如果您遵循正确的程序,请在深度睡眠中发送系统。
信息可以在SDK5.0.4 Proximity Reporter - 代码中找到,以关注Button_Enable API。
我假设从周期唤醒的0.59mA中看到CFG_MAX_SLEEP_DOURATION_EXTERNAL_WAKEUP_MS,请将此值增加到10秒,例如查看影响。

看门狗如果启用,可以在稍后阶段观察到。

请查看此教程:

https://www.dialog-seminile.com/sites/default/files/training_04_sle ...

BR,Paolo.

CGHA.
离线
最后一次露面:6个月2周前
加入:2016-03-23 13:05
cfg_max_sleep_duration.

CFG_MAX_SLEEP_DOURATION_EXTERNAL_WAKEUP_MS默认为10S,我没有更改此值。BLE ADV和连接已停止后,系统应准备好深入睡眠。

注意:落入深睡眠时,没有应用程序定时器运行。

CGHA.
离线
最后一次露面:6个月2周前
加入:2016-03-23 13:05
如果我只是发表评论

如果我只是评论了ARCH_SET_DEEP_SLEEP(使用默认延长睡眠),那么OK(睡眠后没有粘贴,也不会挡住),如果我将其设置为深睡眠,IRQ PIN将有睡觉后的一些曲线秒左右,我猜应用程序被这些毛刺展现,依据系统崩溃(因为我的系统等待MCU_A重置DA14580完全崩溃后)。我不知道毛刺是由唤醒或刚被重置引起的。我已经使用示波器看复位是否被MCU_A断言,但落入深睡眠后没有复位信号。

lc_dialog.
离线
最后一次露面:2周3天前
职员
加入:2016-09-19 23:20
嗨cgha,

嗨cgha,

您可以使用范围检查活动的UART TX线,并查看是否有任何内容。如果设备醒来,那么可能存在一些引导加载程序发送啁啾活动

此外,您是否可以确认您是否遵循了我们在教程中的说明来设置深度睡眠内存配置。
这可确保选择了正确的内存,并且您将确保在设置为深度睡眠模式之前未分配任何堆内存。否则,系统不会深入睡眠。如果是这种情况,则代码将在ke_mem_is_empty(ke_mem_non_retention)失败,
除此之外,我还建议您在设置深度睡眠模式之前监控任何活动BLE操作。看着你的一个评论,用WFI唤醒的设备意味着设备根本没有进入深度睡眠模式,或者唤醒它。我相信来自这些信息,设备不会深入睡眠。

此致,
lc_dialog.

CGHA.
离线
最后一次露面:6个月2周前
加入:2016-03-23 13:05
我的系统使用延伸睡眠

我的系统使用正常时间延长睡眠,最后一步,如果MCU_A要求DA14580进入深睡眠,那么它落入深睡眠。进入深睡眠后,它不应该涂上醒来,它正在等待MCU_A重置它。

lc_dialog.
离线
最后一次露面:2周3天前
职员
加入:2016-09-19 23:20
嗨cgha,

嗨cgha,

我明白了在系统设计中要做的事情。您能否尝试上面提到我之前提到的上述步骤。该信息将有助于我们缩小您所面临的问题的根本原因,并且可能由其中一个步骤解决。

此致,
lc_dialog.

CGHA.
离线
最后一次露面:6个月2周前
加入:2016-03-23 13:05
我可以确认我的所有应用程序

1.我可以在输入睡眠前确认所有的应用程序定时器已被取消。

2.我可以确认我在进入睡眠之前使用wkupct_disable_irq()禁用GPIO唤醒;

3.在输入睡眠之前,我可以确认我在叫arch_ble_ext_wakeup_on。

4.现在我测试使用延长睡眠而不是深睡眠,在进入睡眠前设置一个标志,然后在唤醒后检查此标志,如果设置此标志,则调用看门狗重置,测试结果是DA145480获得重置。

你有电子邮箱吗 ?我可以寄给你我的项目来帮助我检查。

cyibin.
离线
最后一次露面:7个月3周前
职员
加入:2017-12-14 02:48
嗨cgha,

嗨cgha,

我们有中国论坛,用户可以使用中文与我们讨论。

您认为我们是否有必要让我们在中国论坛上讨论?

如果是,请打开一个新线程来描述您的问题:

https://support.dialog-semicondiondiondiondiondum/forums/dialog-low-energy-%2%80%93-software-dialog-%e2%80%9cartbond%e2%80%9d%e7%B3%BB%E5%88%97%E4%BD%8E%E5%8a%9f%E8%80%97%E8%93%9d%e7%89%99%E2%80%94%E8%BD%AF%E4%BB%B6

布尔

宜宾

CGHA.
离线
最后一次露面:6个月2周前
加入:2016-03-23 13:05
好的,我会打开一个新的线程

好的,我将在中文论坛上打开一个新的线程。谢谢,yibin和lc_dialog。

cyibin.
离线
最后一次露面:7个月3周前
职员
加入:2017-12-14 02:48
你是welcom〜

你是welcom〜