DA14531睡眠模式退出

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

你好,

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

通过查看proxr_reporter代码,

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

深度睡眠-在醒来时触发重置

休眠-在唤醒时继续执行

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

谢谢,

Gowtham

IM_Dialog
离线
最后看到:1个月3天前
加入:2016-12-06 22:25
嗨Gowtham,

嗨Gowtham,

如果你还没有这样做,我建议你查看以下文档:

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

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

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

致以最亲切的问候
IM_Dialog

tsgowtham
离线
最后看到:3个月5天前
加入:2020-05-04 12:39
嗨IM_Dialog,

嗨IM_Dialog,

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

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

谢谢

IM_Dialog
离线
最后看到:1个月3天前
加入:2016-12-06 22:25
嗨tsgowtham,

嗨tsgowtham,

我假设,当您使用Power Profiler时,您是在调试器的控制下在DA14531上运行代码。这是可以的,然而,一旦你开始运行代码,你需要通过按“Ctrl+F5”断开调试器,否则调试器保持活动并绘制当前。

致以最亲切的问候
IM_Dialog

tsgowtham
离线
最后看到:3个月5天前
加入:2020-05-04 12:39
嗨IM_Dialog,

嗨IM_Dialog,

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

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

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

谢谢

CYibin
离线
最后看到:6个月2天前
工作人员
加入:2017-12-14 02:48
嗨tsgowtham,

嗨tsgowtham,

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

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

Br,宜宾

tsgowtham
离线
最后看到:3个月5天前
加入:2020-05-04 12:39
嗨,宜宾,

嗨,宜宾,

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

最后一件让我卡住的事情是在扩展睡眠模式下的高功耗(在我的上一个回复中提到),大约是0.7 mA,没有附加调试器。我如何使这个值更接近睡眠模式教程中提到的1.2µA。

谢谢

CYibin
离线
最后看到:6个月2天前
工作人员
加入:2017-12-14 02:48
你好,

你好,

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

0.在531开发套件上拔掉J19上的所有跳线

1.在531 dev-kit上下载SDK中prox_reporter项目的固件到FLASH中

2.拔下并重新插入USB线

3.打开SS工具箱->选择UART/SPI接口->打开电源轮廓工具

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

Br,宜宾

tsgowtham
离线
最后看到:3个月5天前
加入:2020-05-04 12:39
嗨,宜宾,

嗨,宜宾,

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

@Jon_ODonnell

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

谢谢,

Gowtham

Jon_ODonnell
离线
最后看到:4个月1个星期前
加入:2020-08-08 ?
@Yibin,

@Yibin,

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

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

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

乔恩

附件:
Jon_ODonnell
离线
最后看到:4个月1个星期前
加入:2020-08-08 ?
我发现问题了!为

我发现问题了!由于某些原因,从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
离线
最后看到:3个月5天前
加入:2020-05-04 12:39
更新我的上一个评论:

更新我的上一个评论:

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

Jon_ODonnell
离线
最后看到:4个月1个星期前
加入:2020-08-08 ?
我也有同样的问题。

我也有同样的问题。我从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
离线
最后看到:4个月1个星期前
加入:2020-08-08 ?
我下载prox_reporter

我下载了prox_reporter(从SDK源代码构建和预构建的“在线下载固件”版本从SmartBond Flash Programmer),峰值和平均电流测量要求均为0.00000 mA。图表底部是一条直线(见附件pdf)。

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

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

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

乔恩

PW_Dialog
离线
最后看到:2周3天前
工作人员
加入:2019-04-03 02:54
嗨,乔恩,

嗨,乔恩,

所以w/o SPI flash问题,你面临的一个问题的“零电流消费”与prox_reporter?能否确认宜宾建议的步骤?

0.在531开发套件上拔掉J19上的所有跳线

1.在531 dev-kit上下载SDK中prox_reporter项目的固件到FLASH中

2.拔下并重新插入USB线

3.打开SS工具箱->选择UART/SPI接口->打开电源轮廓工具

Br,

PW_Dialog

Jon_ODonnell
离线
最后看到:4个月1个星期前
加入:2020-08-08 ?
这就是步骤I

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

tsgowtham
离线
最后看到:3个月5天前
加入:2020-05-04 12:39
你好,

你好,

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

谢谢

PM_Dialog
离线
最后看到:2天22小时前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

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

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

谢谢,PM_Dialog

tsgowtham
离线
最后看到:3个月5天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

我已经看过这份文件了。事实上,我甚至在我的原帖中添加了它。

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

在扩展睡眠模式中,平均消耗的电流为0.02毫安(使用功率分析器测量),睡眠模式指南说应该在1.2微安培左右。我已经在DA14531模块中编写了SPI Flash的程序,并断开了主板上Flash的跳线。如何使平均电流消耗接近给定的1.2微安范围?

谢谢

PM_Dialog
离线
最后看到:2天22小时前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

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

你提到的平均电流消耗是0.02毫安。你使用的广告间隔是多少?此时,设备正在做广告,在广告之间进入延长睡眠模式,通过BLE定时器自动唤醒。

如果你遵循睡眠模式教程,你会看到广告期过后,芯片将停止广告并进入永久睡眠模式(没有BLE活动)。在永久睡眠模式下,目前的消耗量是多少?

另外,能否请您说明您正在使用的项目?如果你能与我分享它将有助于运行它在我的身边。

谢谢,PM_Dialog

tsgowtham
离线
最后看到:3个月5天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

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

平均消耗0.02 mA,广告间隔687.5 ms。这是关于prox_reporter项目。永久休眠时的电流消耗为0.01 mA。

我尝试使用扩展睡眠模式的模板项目来测试当前的消耗。在这个项目中,我观察到0.2 mA的电流消耗,广告间隔为687.5 ms。我已经附加了这个项目,它只是在模板项目中的一行更改。

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

PM_Dialog
离线
最后看到:2天22小时前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

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

谢谢,PM_Dialog

tsgowtham
离线
最后看到:3个月5天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

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

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

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

谢谢

PM_Dialog
离线
最后看到:2天22小时前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

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

问候,PM_Dialog