问题与对话框14583睡眠模式

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
6个帖子/ 0新
最后一篇
DHRUV11593
离线
最后一次露面:2年11个月前
加入:2018-06-08 18:04
问题与对话框14583睡眠模式

大家好,

我目前正在基于BLE_ALL_IN_ONE示例的示例应用程序工作。BLE_ALL_IN_ONE示例顶部的更改如下
1.特点和服务的变化
2.将自定义应用程序数据写入SPI Flash。
3.按钮事件更改(我们已注册唤醒ISR以检测短按和长按)
4,添加的函数被称为.App_GoGing_to_sleep,它拉下一个GPIO接口,在自定义硬件上完全从电路板上源

问题陈述
1.看起来电路板没有进入扩展睡眠模式,.app_going_to_sleep函数没有被调用。我们正在测量电路板所消耗的电压,它与在操作模式下所消耗的电压相同。测试点被绘制成这样一种方式:如果从板上切断电源,TP应该低至0.06V。
2.检测到不活动后,单板应进入断电模式。

我尝试了什么
1.我尝试过对话框提供的睡眠模式教程,但仍然存在,我不运气。
2.我尝试从我的代码中删除所有ARCH_FORCE_ACTE_MODE()和ARCH_FORCE_RESTORE_SLEEP()调用。
3.我尝试在外围设备断开连接时使用wkupct_disable_irq()函数注销GPIO按钮的唤醒回调。
4.显式调用arch_set_extended_sleep()函数,将单板置于低功耗模式。

如果您需要再次详细信息,请随时与我联系。请通过您通过您的宝贵见解来引导我解决这个问题。

提前感谢你
问候
Dhruv沙

设备:
PM_Dialog
离线
最后一次露面:4天2小时前
职员
加入:2018-02-08 11:03
嗨DHRUV11593,

嗨DHRUV11593,

我正在研究你的问题,我会尽快回复你。

谢谢,PM_Dialog

DHRUV11593
离线
最后一次露面:2年11个月前
加入:2018-06-08 18:04
嗨pm_dialog,

嗨pm_dialog,

期待你的回复。如果您需要任何技术帮助,请告诉我

PM_Dialog
离线
最后一次露面:4天2小时前
职员
加入:2018-02-08 11:03
嗨DHRUV11593,

嗨DHRUV11593,

你能告诉我你如何理解你的设备无法扩展睡眠模式吗?我试图复制你的问题,但在我的侧面,.App_Goop_To_Sleep回调函数始终触发,然后再进入扩展睡眠模式。您是否尝试将断点添加到您的函数中,以来将触发.App_Gook_to_sleep以来将被触发并使用热附加调试器运行代码?

谢谢,PM_Dialog

DHRUV11593
离线
最后一次露面:2年11个月前
加入:2018-06-08 18:04
嗨pm_dialog,

嗨pm_dialog,

非常感谢您,为您的测试场景进行重新创建努力。

在我们的定制板上实现较长的电池寿命,我们有一个系统触发GPIO,使系统保持活跃,直到它保持高,然后在低电平时切断电压到系统。一旦电路板启动,我们就会将此GPIO配置为Pherip_Init()函数中的高。在.app_ging_to_sleep回调函数中,我们将该GPIO降低,切断了SOC的电源。

当SOC断电时,测试垫上的理想电压为约0.01至0.03 V,并且当系统有效时,电压与电池电流容量的电压相同。如果.App_Going_to_sleep回调被触发,我们应该看到从〜3 v到0.01 v的电压下降,这绝不是这种情况。我们在1. 3. 3.和5分钟的理想时间内测量了系统上的电压,但电路板仍然从电池耗电。

就我的理解而言,当执行步骤调试时,电路板将始终处于活动模式。如果否则请澄清。

问候,
Dhruv沙

PM_Dialog
离线
最后一次露面:4天2小时前
职员
加入:2018-02-08 11:03
嗨DHRUV11593,

嗨DHRUV11593,

正如我能从您的帖子中提到的那样了解,您已经在SDK的BLE_APP_PERITED示例中进行了一些修改,以实现您的应用程序。如果您尝试使用SDK的默认示例测试.app_ging_to_sleep回调函数,因为它可以让我知道在睡觉前触发回调吗?请尝试使用一些断点并使用热连接调试器运行代码。您是否能够看到代码停止进入注册回调?

从app_sleep_entry_proc(sleep_mode)调用.app_going_to_sleep回调函数;它被放置到arch_goto_sleep (sleep_mode_t current_sleep_mode)函数中。arch_goto_sleep()函数在arch_main.c文件的main_func()的while(1)循环中被调用。请使用热连接的调试器运行代码,并检查sleep_mode变量的值。如果您检查arch.h头文件中的sleep_mode_t枚举,您将看到sleep_mode变量的可能值。因此,如果您使用扩展睡眠模式,sleep_mode的值应该是0x02。另外,请检查arch_goto_sleep()函数是否被触发。我从我这边进行了测试,触发了.app_going_to_sleep。

此外,DA14583在广告和连接间隔之间进入扩展睡眠模式。你能告诉我关于你董事会的电力消耗吗?如果使用扩展睡眠模式,则应配置user_config.h标题中的app_default_sleep_mode值:

const static sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON;

谢谢,PM_Dialog