您好对话团队,
在我们的项目中,我们正在尝试使用“深睡眠”模式,以将消耗电量降低到对话设备允许的最小值。
为此目的,我们通过调用'ARCH_SET_DEEP_SLEEP(TRUE)的功能将设备设置为深度休眠模式。
该设备通常配置为使用OTP副本进入“扩展睡眠”模式,并根据要求将其切换为“深睡眠”。
使用配置的项目工件刻录一个设备后,我们面临以下问题:
- 调用'Arch_set_deep_sleep(true)'功能时,DA14585设备消耗2.1UA,这与设备在深度睡眠(610NA)时应该消耗的最大电流不同。测量的电流与在延长睡眠时更类似的电流。
- 该设备配置为在外部GPIO事件上唤醒,并且可以从外部GPIO事件发生的延长睡眠中正确唤醒。调用'ARCH_SET_DEEP_SLEEP(TRUE)'功能后,设备停止从睡眠中唤醒,唤醒它的唯一方法是切换UC重置引脚
考虑到我们所面临的问题,我们有以下问题:
- 我们是否使用正确的过程将设备切换为深度睡眠模式?
- 是否有任何方法可以检查设备是否正确输入深睡眠模式,除了测量器件电流吸收器之外吗?
- 在调用'Arch_set_Deep_sleep(True)'功能后,设备在GPIO唤醒事件中没有响应任何更长的设备?
- 将设备放入后续广告之间的深度睡眠模式是可行的吗?
谢谢,
关键词:
设备:
嗨marco.galvagno,
谢谢你的问题。在SDK6中,在深度休眠模式下配置DA14585的相应API是ARCH_SET_DEEP_SLEEP(),如您在帖子中正确提及。此功能激活深度睡眠模式,系统可以在POR(上电)下再次启动(按ON复位)或根据EXT_WAKEUP参数的外部唤醒中断条件。如果您想通过外部中断唤醒系统,您应该将API称为ARCH_SET_DEEP_SLEEP(TRUE)。
Q1:我们是否使用正确的过程将设备切换为深度睡眠模式?
A1:是的,您正在使用正确的过程和正确的API来输入深度睡眠模式。
Q2:是否有任何方法可以检查设备是否正确输入深度睡眠模式,除了测量器件电流吸收器之外吗?
A2:否,除了测量设备电流消耗之外,还没有任何其他方法可以测试深度睡眠。
Q3:为什么在调用'arch_set_deep_sleep(true)'函数后,设备无法响应GPIO唤醒事件?
A3:你能从DA14585靴子上澄清吗?如果您将固件下载到SystemRam中,当设备进入Deep Sleep时,所有SystemRAM块都将关闭,因此您将无法唤醒。这就是为什么你需要重置DA14585。你试图从spi flash启动吗?
Q4:将设备放入后续广告之间的深度睡眠模式是否可行?
A4:在DA14585中,不可能进入广告间隔之间的深度睡眠。如果您想在设备广告时降低功耗,您可以使用扩展的睡眠模式。
有关DA14585中睡眠模式的更多信息,我建议您看看教程4:睡眠模式电流测量来自我们的支持门户的教程。
谢谢,PM_DIALOG.