当app\u default\u sleep\u mode=ARCH\u EXT\u sleep\u ON时,我可以手动将睡眠模式设置为深度睡眠吗?

⚠️
你好。。谢谢你来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
13个员额/0个新员额
最后一篇文章
cgha
离线
最后一次见到:7个月3个星期前
加入:2016-03-23 13:05
当app\u default\u sleep\u mode=ARCH\u EXT\u sleep\u ON时,我可以手动将睡眠模式设置为深度睡眠吗?

我只希望我的系统在app_default_sleep_mode=ARCH_EXT_sleep_ON下工作,但在某些条件匹配后,我应该关闭ble并将系统置于深度睡眠模式。过程如下:

1.另一个名为mcu_A的mcu在spi上放置了一个命令,如“您应该进入深度睡眠模式”

2.DA14580检查蓝牙是否正在发布或连接:如果连接,断开它,在断开回拨时不要重新启动广告;如果是广告,只需调用app_easy_gap_advertise_stop来停止广告

3.DA14580用“OK, I'm ready”来ack MCU_A,然后调用arch_ble_ext_wakeup_on()和arch_set_deep_sleep()。(我认为这应该让DA14580处于深度睡眠模式)

4.MCU_A使自己进入深度睡眠。

注意:代码是在otp上运行的。

但有时,DA14580似乎在睡眠几秒钟后被唤醒,没有广告,但整个系统电流增长到0.59mA。

DA14580进入深度睡眠后会发生什么?监督部门解雇?或者某个定时器仍在运行唤醒DA14580?

设备:
PS_Dialog
离线
最后一次见到:7个月6天前
加入:2018-01-15 10:36
你好,Cgha,

你好,Cgha,

我正在进行内部检查,并尽快通知您。

保罗,比尔

cgha
离线
最后一次见到:7个月3个星期前
加入:2016-03-23 13:05
我在哪里可以找到原因

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

因此,现在我想得到唤醒的原因,找到我的源代码错误。

PS_Dialog
离线
最后一次见到:7个月6天前
加入:2018-01-15 10:36
你好,Cgha,

你好,Cgha,

请让我知道,如果你是按照正确的程序发送深睡眠系统。
有关信息,请参见SDK5.0.4邻近报告器-代码跟随按钮\启用API。
我假设0.59mA是从CFG_MAX_SLEEP_DURATION_EXTERNAL_WAKEUP_MS的定期唤醒中看到的,例如,请将这个值增加到10秒,以查看影响。

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

请同时查看本教程:

//www.wsdof.com/sites/default/files/training_04_sle..。

保罗,比尔

cgha
离线
最后一次见到:7个月3个星期前
加入:2016-03-23 13:05
的CFG_MAX_SLEEP_DURATION

默认情况下,CFG_MAX_SLEEP_DURATION_EXTERNAL_WAKEUP_MS为10秒,我没有更改此值。停止ble adv和连接后,系统应准备进入深度睡眠状态。

注意:进入深度睡眠时,没有应用程序计时器正在运行。

cgha
离线
最后一次见到:7个月3个星期前
加入:2016-03-23 13:05
如果我只是评论一下

如果我只是注释掉arch_set_deep_sleep(使用默认的扩展睡眠),这是可以的(睡眠后IRQ引脚上没有故障,因此不会被唤醒),如果我将其设置为deep sleep,IRQ引脚在睡眠几秒钟后会有一些故障,我猜应用程序会被这些故障唤醒,等等系统崩溃(因为我的系统在完全进入睡眠状态后等待MCU_A重置DA14580)。我不知道这些小故障是由唤醒引起的,还是刚刚复位。我用示波器查看复位是否由MCU_A断言,进入深度睡眠后没有复位信号。

立法会对话
离线
最后一次见到:1个月3周前
工作人员
加入:2016-09-19 23:20
你好,cgha,

你好,cgha,

你能检查有源Uart TX线使用一个示波器,看看是否有什么事情发生。如果设备醒来,那么可能有一些引导加载程序活动发送啁啾

另外,您能否确认您是否按照教程中的说明设置了深度睡眠内存配置。
这可以确保选择正确的内存,并且在设置为深度睡眠模式之前,必须确保没有分配任何堆内存。否则,系统将不会进入深度睡眠。如果是这种情况,代码将在ke_mem_is_empty(ke_mem_NON_RETENTION)时失败,
除此之外,我还建议您在设置深度睡眠模式之前监视任何活跃的BLE操作。看看你的评论,WFI唤醒设备意味着要么设备根本没有进入深度睡眠模式,要么有什么东西在唤醒它。我相信从这个信息来看,设备不会进入深度睡眠。

最好的问候,
立法会对话

cgha
离线
最后一次见到:7个月3个星期前
加入:2016-03-23 13:05
我的系统使用延长睡眠时间

我的系统在正常时间使用延长睡眠,在最后一步,如果MCU_A要求DA14580进入深度睡眠,则进入深度睡眠。进入深度睡眠后,它不应该被唤醒,它正在等待MCU_A重置它。

立法会对话
离线
最后一次见到:1个月3周前
工作人员
加入:2016-09-19 23:20
你好,cgha,

你好,cgha,

我了解您在系统设计中想要做什么。你能试试我在之前的评论中提到的上述步骤吗。这些信息将帮助我们缩小您面临的问题的根本原因,并可能通过以下步骤之一解决。。

最好的问候,
立法会对话

cgha
离线
最后一次见到:7个月3个星期前
加入:2016-03-23 13:05
1.我可以确认我所有的应用程序

1.在进入睡眠之前,我可以确认我的所有应用程序计时器都已取消。

2.进入睡眠前,我可以确认我已使用wkupct_disable_irq()禁用gpio唤醒;

3.进入睡眠前,我可以确认我已打开arch_ble_ext_wakeup_。

4.现在我测试使用extend sleep代替deep sleep,在进入sleep之前设置一个标志,然后在唤醒后检查这个标志,如果设置了这个标志,调用watchdog复位,测试结果是DA145480得到复位。

你有电子邮件吗?我可以把我的项目发给你,帮我检查一下。

赛宾
离线
最后一次见到:9个月5天前
工作人员
加入:2017-12-14 02:48
你好,cgha,

你好,cgha,

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

你认为我们有必要在中国论坛上继续讨论吗?

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

https://support.dialog-semiconductor.com/forums/dialog-smartbond-bluetooth-low-energy-%E2%80%93-软件对话框-%E2%80%9Csmartbond%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
离线
最后一次见到:7个月3个星期前
加入:2016-03-23 13:05
好的,我将打开一个新的线程

好的,我会在中文论坛上打开一个新的帖子。谢谢,宜宾和LC_对话。

赛宾
离线
最后一次见到:9个月5天前
工作人员
加入:2017-12-14 02:48
欢迎光临~

欢迎光临~