DA14531睡眠模式退出

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
24个员额/ 0个新员额
最后一篇
tsgowtham
离线
最后一次露面:6个月2个星期前
加入:2020-05-04 12:39
DA14531睡眠模式退出

你好,

我正在尝试在DA14531上实现任何不会导致系统重置的睡眠模式。请提供哪些睡眠模式会导致重置,如果一个特定的睡眠模式没有触发重置,执行从哪里继续,BLE连接将处于什么状态?

从查看Proxr_reporter代码,

延长睡眠-在醒来时继续执行

深睡眠 - 在唤醒时触发重置

休眠 - 继续在唤醒时执行

请确认这些观察是否正确,以及您是否可以分享任何与睡眠模式有关的文档的链接http://lpccs-docs.dialog-semiconductor.com/DA14531_Sleep_Mode+/index.html

谢谢,

IM_Dialog
离线
最后一次露面:4个月2周前
加入:2016-12-06 22:25
嗨gowtham,

嗨gowtham,

如果您尚未这样做,我建议审核以下文件:

http://lpccs-docs.dialog-semiconductor.com/Tutorial_SDK6/index.html

前几章提供了SDK操作和相关回调的高级解释,并给出了睡眠模式的一些细节。

我还建议将empty_peripheral_template作为您自己编写任何代码的起点(这是我上面提到的教程的基础)。

最好的祝福
IM_Dialog

tsgowtham
离线
最后一次露面:6个月2个星期前
加入:2020-05-04 12:39
嗨IM_Dialog,

嗨IM_Dialog,

我按照您的建议,使用empty_peripheral_template启动了一个新项目。我还有几个问题

  • 我只对empty_peripheral_template制作了一个更改,它是将app_default_sleep_mode设置为ARCH_EXT_SLEEP_ON。我注意到电力分布器,当前消耗在广告之间的持续时间内增加。我附上了一个PDF与Power Profiler窗口的屏幕截图和它的设置。我已经在J1上从V_FL删除了v_fl的引脚。这里的问题可能是什么?
  • 从您提供的教程链接中,我了解到为了从Extended休眠中唤醒,代码执行一个peripher_init并继续执行。但是其他的睡眠模式呢?这一点没有被提及。
  • 我的应用程序是每20ms使用I2C读取传感器值,并将数据传输到连接的手机。我希望DA14531在剩下的时间里处于睡眠状态。在这种情况下,是否可以使用休眠模式或深度睡眠?

谢谢

IM_Dialog
离线
最后一次露面:4个月2周前
加入:2016-12-06 22:25
嗨tsgowtham,

嗨tsgowtham,

我假设,当您使用Power Profiler时,您在DA14531的控制下运行代码在调试器的控制下。这没问题,但是一旦开始运行的代码,需要通过按“Ctrl + F5”断开调试器,否则调试器仍然有效并绘制当前。

最好的祝福
IM_Dialog

tsgowtham
离线
最后一次露面:6个月2个星期前
加入:2020-05-04 12:39
嗨IM_Dialog,

嗨IM_Dialog,

谢谢你的快速回复。禁用调试器修复了这个问题。现在,当它处于延长睡眠模式时,电流消耗约为0.7 mA。但这仍然远高于在睡眠模式教程文档中提到的Buck模式的1.2µA。虽然教程使用了5秒作为广告间隔,但我怀疑差异是否如此巨大。有什么遗漏的吗?

我在上次的评论中提到的另外两个问题,你能否提供答案?我在下面再贴一遍:

  • 从您提供的教程链接中,我了解到为了从Extended休眠中唤醒,代码执行一个peripher_init并继续执行。但是其他的睡眠模式呢?这一点没有被提及。
  • 我的应用程序是每20ms使用I2C读取传感器值,并将数据传输到连接的手机。我希望DA14531在剩下的时间里处于睡眠状态。在这种情况下,是否可以使用休眠模式或深度睡眠?

谢谢

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

嗨tsgowtham,

请参考我对以下问题的回答:

  • 从您提供的教程链接中,我了解到为了从Extended休眠中唤醒,代码执行一个peripher_init并继续执行。但是其他的睡眠模式呢?这一点没有被提及。
  • [ycai]对于其他睡眠模式,与扩展睡眠模式相比,将多一个重启进程。重新启动过程将把固件数据从外部存储器复制到RAM中。以上过程已经由SDK实现。以上过程已经由SDK实现。从用户的角度来看,无论从哪种睡眠模式唤醒,程序都将首先运行到用户层的回调函数。回调函数可以被RTC、GPIO、TIMER1等调用。
  • 我的应用程序是每20ms使用I2C读取传感器值,并将数据传输到连接的手机。我希望DA14531在剩下的时间里处于睡眠状态。在这种情况下,是否可以使用休眠模式或深度睡眠?
  • 答案是肯定的。但是,我建议使用扩展睡眠模式,因为另一种睡眠模式需要额外的重新启动过程,这也会消耗一些电力。
    当睡眠间隔足够长(如2s)时,这两种外部睡眠模式是有意义的

Br,宜宾

tsgowtham
离线
最后一次露面:6个月2个星期前
加入:2020-05-04 12:39
嗨宜宾,

嗨宜宾,

你的回答真的很有帮助。谢谢你!

最后一件事我被困在延长睡眠模式下的高功率耗处(在我的最后一个回复中提到),它大约在0.7 mA时,没有连接的调试器。如何将该值较近睡眠模式教程中提到的1.2μA更接近。

谢谢

cyibin.
离线
最后一次露面:9个月2周前
职员
加入:2017-12-14 02:48
你好,

你好,

为了消除其他因素的干扰,可以先做一个测试,如下:

0.在531开发套件上拔下所有跳线

1.将SDK的Prox_Reporter项目的固件下载到531 Dev-kit上的Flash

2.拔下并重新插入USB线

3.打开SS工具箱 - >选择UART / SPI接口 - >打开Power-Profile工具

请告诉我你在功率侧模的屏幕上看到了什么。

Br,宜宾

tsgowtham
离线
最后一次露面:6个月2个星期前
加入:2020-05-04 12:39
嗨宜宾,

嗨宜宾,

我已经附上了proxr项目的功率分析器输出。我使用Flash Programer工具中预构建的可下载固件。这一结果似乎更接近预期。为什么这两个项目目前的消耗量有这么大的差异?是否有其他的项目配置可能导致这种情况?

@Jon_ODonnell

试着校准功率分析器,也许这可能有助于为代理报告项目提供一个适当的读数。此外,对于扩展睡眠模式来说,0.167 mA的骨架项目看起来有点太大了,如果宜宾澄清这一点就更好了。

谢谢,

Jon_ODonnell
离线
最后一次露面:2个月3周前
加入:2020-08-08 17:23
@Yibin,

@Yibin,

我设置校准为0 mA和运行没有板安装。平均电流为1.77 mA!我试着把-1.77放入校准偏置,但后来我得到了负电流。数字在跳跃。

我怀疑补偿和收益都有问题。我的板子坏了吗?我刚从电子密钥公司买的。

我附上了一张图片的板显示跳线等和一些屏幕截图。

乔恩

Jon_ODonnell
离线
最后一次露面:2个月3周前
加入:2020-08-08 17:23
我发现问题了!为

我发现问题了!由于某些原因,从SPI-Flash中提取的电流也被测量,它不会进入低功率睡眠。如果我删除J1 V_FL跳线,电流下降到0.02毫安在校准期间。

我拆除了跳线,并从J1-1到J9-2添加了一根电线,在没有测量电流的情况下给闪光供电。

DA14531-DA14585-586_Service_Data_Beacon的平均电流现在是0.008 mA,峰值为2.816 mA。代理报告仍然测量到0.000000毫安的平线。骨架给出了0.156 mA的平均值和2.893 mA的峰值。

tsgowtham
离线
最后一次露面:6个月2个星期前
加入:2020-05-04 12:39
更新我的上一个评论:

更新我的上一个评论:

我尝试在Flash中启用扩展睡眠来刷新我的空外围模板项目。我看到平均电流消耗为0.24596 mA,峰值电流为3.97961 mA。平均电流仍然有点高,对于延长睡眠来说太高了。

Jon_ODonnell
离线
最后一次露面:2个月3周前
加入:2020-08-08 17:23
我也有同样的问题。

我也有同样的问题。我从DA14531-DA14585-586_Service_Data_Beacon开始,它设置
app_default_sleep_mode = ARCH_EXT_SLEEP_ON;
但未修改示例中的广告之间的电流约为1.7mA。更改为Arch_sleep_off将电流增加到1.9ma。

这是在测量前使用SmartBond Flash Programmer和循环电源到Dev Kit。

Jon_ODonnell
离线
最后一次露面:2个月3周前
加入:2020-08-08 17:23
我下载了prox_reporter.

我下载了Prox_reporter(由SDK Source建造,预先构建的“下载在线固件”版本来自SmartBond闪存程序员),并且如要求测量的峰值和平均电流都是0.00000 mA。图表是底部的直线(见附加PDF)。

我用BLE Scanner验证了DLG-PROXR设备每689ms进行一次广告。

我还尝试了在线资源中预构建的ble_app_barebone_531.out.bin。电流看起来更正常,平均值为0.16758 mA,峰值为3.181 mA。

请让我知道我是否应该把这个讨论转移到另一个线程。它似乎是相同的问题,但我不想劫持线程。

乔恩

PW_Dialog
离线
最后一次露面:4个月8小时前
职员
加入:2019-04-03 02:54
嗨乔恩,

嗨乔恩,

所以w / o spi flash问题你面临着prox_reporter的“零电流消耗”的一个问题?你能确认宜宾建议的步骤吗?

0.在531开发套件上拔下所有跳线

1.将SDK的Prox_Reporter项目的固件下载到531 Dev-kit上的Flash

2.拔下并重新插入USB线

3.打开SS工具箱 - >选择UART / SPI接口 - >打开Power-Profile工具

Br,

PW_Dialog

Jon_ODonnell
离线
最后一次露面:2个月3周前
加入:2020-08-08 17:23
这就是步骤I

这就是我所做的步骤。在J1上安装F_FL跳线后,零电流测量1.7 mA。当我移开跳线并重复测试时,零电流为0.020 mA。将校准偏移量更改为-0.02会产生-0.0005 mA的平均电流。

tsgowtham
离线
最后一次露面:6个月2个星期前
加入:2020-05-04 12:39
你好,

你好,

在我的上一个评论中,我发布了一个功率分析器的屏幕截图,在我编程闪光灯后,平均消耗的电流是0.02mA。这仍然高于预期的1.2µA。我还应该尝试什么来减少当前的消耗?

谢谢

PM_DIALOG.
离线
最后一次露面:2周2天前
职员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

你能看看我们的支持网站上的睡眠模式教程吗?链接如下。

http://lpccs-docs.dialog-semiconductor.com/DA14531_Sleep_Mode+/index.html

谢谢,PM_DIALOG.

tsgowtham
离线
最后一次露面:6个月2个星期前
加入:2020-05-04 12:39
嗨pm_dialog,

嗨pm_dialog,

我已经完成了这份文件。事实上,我甚至在原来的帖子中添加了它。

我将在这里再次发布我的最后一个问题:

延长睡眠模式下消耗的平均电流为0.02 mA(使用电源分析器测量),睡眠模式教程表示它应该是1.2微放大器。我已将该程序写入DA14531模块中的SPI闪光灯,并在主板上断开了闪光灯的跳线。如何获得靠近给定的1.2微放大器范围的平均当前消耗?

谢谢

PM_DIALOG.
离线
最后一次露面:2周2天前
职员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

在睡眠模式教程中,带有扩展睡眠模式电流的表是针对DA14531的。在您最初的帖子中,DA14531模块被标记了。请参阅模块的数据表和表4:直流特性。

您提到平均电流消耗量为0.02 mA。您使用的广告间隔是什么?这里,该设备是广告的,并且在广告间隔之间进入扩展睡眠模式,并且它将通过BLE定时器自动唤醒。

如果遵循睡眠模式教程,您将看到广告时期之后,芯片将停止广告并进入永久睡眠模式(没有BLE Activity)。何时何地是永久睡眠模式下的电流消耗?

此外,您能否注明您使用的项目?如果你能与我分享它,那么在我身边运行它也会有所帮助。

谢谢,PM_DIALOG.

tsgowtham
离线
最后一次露面:6个月2个星期前
加入:2020-05-04 12:39
嗨pm_dialog,

嗨pm_dialog,

很抱歉这么长时间才回复你。

平均消耗量为0.02 mA,广告间隔为687.5毫秒。这是prox_reporter项目。当前的消耗在永久性睡眠时为0.01 mA。

我尝试使用具有扩展睡眠模式的模板项目,以测试当前的消耗。通过这个项目,我观察了0.2 mA的电流消耗,广告间隔为687.5毫秒。我附上了这个项目,它只是模板项目的一行变化。

编辑:这两个项目在使用延长睡眠模式和相同的广告间隔的情况下,是否存在导致当前消费差异如此之大的差异?

PM_DIALOG.
离线
最后一次露面:2周2天前
职员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

empty_peripheral_template不会停止发布,因此设备会在发布或连接间隔之间休眠。prox_reporter正在使用带有超时的广告,因此系统将进入睡眠模式,不仅在广告之间或连接间隔,总线一旦广告停止,它将进入永久睡眠模式。但是,prox_reporter使用SPI flash,因此为了减少功耗,您需要关闭它,并在设备唤醒后释放它。

谢谢,PM_DIALOG.

tsgowtham
离线
最后一次露面:6个月2个星期前
加入:2020-05-04 12:39
嗨pm_dialog,

嗨pm_dialog,

我和Dialog在我所在城市的代表谈过,他给了我一个类似的建议,并告诉我配置SPI引脚。这解决了我的问题,并大大降低了功耗。

非常感谢你对我的问题的帮助!!

一个建议,如果您的建议可以在DA14531模块的一些文档中提到,那就太好了。我敢肯定,一个刚开始使用这种Flash芯片的人是不会想到这个的。

谢谢

PM_DIALOG.
离线
最后一次露面:2周2天前
职员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

很高兴你能降低功耗,谢谢你接受我的回答。也谢谢你的反馈!

问候,PM_Dialog