你好,
我正在尝试在DA14531上实现任何不会导致系统重置的睡眠模式。请提供哪些睡眠模式会导致重置,如果一个特定的睡眠模式没有触发重置,执行从哪里继续,BLE连接将处于什么状态?
通过查看proxr_reporter代码,
延长睡眠-在醒来时继续执行
深度睡眠-在醒来时触发重置
休眠-在唤醒时继续执行
请确认这些观察是否正确,以及您是否可以分享任何与睡眠模式有关的文档的链接http://lpccs-docs.dialog-semiconductor.com/DA14531_Sleep_Mode+/index.html
谢谢,
Gowtham
关键词:
嗨Gowtham,
如果你还没有这样做,我建议你查看以下文档:
http://lpccs-docs.dialog-semiconductor.com/Tutorial_SDK6/index.html
前几章提供了SDK操作和相关回调的高级解释,并给出了睡眠模式的一些细节。
我还建议将empty_peripheral_template作为您自己编写任何代码的起点(这是我上面提到的教程的基础)。
致以最亲切的问候
IM_Dialog
嗨IM_Dialog,
我按照您的建议,使用empty_peripheral_template启动了一个新项目。我还有几个问题
谢谢
嗨tsgowtham,
我假设,当您使用Power Profiler时,您是在调试器的控制下在DA14531上运行代码。这是可以的,然而,一旦你开始运行代码,你需要通过按“Ctrl+F5”断开调试器,否则调试器保持活动并绘制当前。
致以最亲切的问候
IM_Dialog
嗨IM_Dialog,
谢谢你的快速回复。禁用调试器修复了这个问题。现在,当它处于延长睡眠模式时,电流消耗约为0.7 mA。但这仍然远高于在睡眠模式教程文档中提到的Buck模式的1.2µA。虽然教程使用了5秒作为广告间隔,但我怀疑差异是否如此巨大。有什么遗漏的吗?
我在上次的评论中提到的另外两个问题,你能否提供答案?我在下面再贴一遍:
谢谢
嗨tsgowtham,
请参考我对以下问题的回答:
当睡眠间隔足够长(如2s)时,这两种外部睡眠模式是有意义的
Br,宜宾
嗨,宜宾,
你的回答真的很有帮助。谢谢你!
最后一件让我卡住的事情是在扩展睡眠模式下的高功耗(在我的上一个回复中提到),大约是0.7 mA,没有附加调试器。我如何使这个值更接近睡眠模式教程中提到的1.2µA。
谢谢
你好,
为了消除其他因素的干扰,可以先做一个测试,如下:
0.在531开发套件上拔掉J19上的所有跳线
1.在531 dev-kit上下载SDK中prox_reporter项目的固件到FLASH中
2.拔下并重新插入USB线
3.打开SS工具箱->选择UART/SPI接口->打开电源轮廓工具
请告诉我你在电源配置文件工具屏幕上看到了什么。
Br,宜宾
嗨,宜宾,
我已经附上了proxr项目的功率分析器输出。我使用Flash Programer工具中预构建的可下载固件。这一结果似乎更接近预期。为什么这两个项目目前的消耗量有这么大的差异?是否有其他的项目配置可能导致这种情况?
@Jon_ODonnell
试着校准功率分析器,也许这可能有助于为代理报告项目提供一个适当的读数。此外,对于扩展睡眠模式来说,0.167 mA的骨架项目看起来有点太大了,如果宜宾澄清这一点就更好了。
谢谢,
Gowtham
@Yibin,
我设置校准为0 mA和运行没有板安装。平均电流为1.77 mA!我试着把-1.77放入校准偏置,但后来我得到了负电流。数字在跳跃。
我怀疑补偿和收益都有问题。我的板子坏了吗?我刚从电子密钥公司买的。
我附上了一张图片的板显示跳线等和一些屏幕截图。
乔恩
我发现问题了!由于某些原因,从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的峰值。
更新我的上一个评论:
我尝试在Flash中启用扩展睡眠来刷新我的空外围模板项目。我看到平均电流消耗为0.24596 mA,峰值电流为3.97961 mA。平均电流仍然有点高,对于延长睡眠来说太高了。
我也有同样的问题。我从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。
我下载了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。
请让我知道我是否应该把这个讨论转移到另一个线程。它似乎是相同的问题,但我不想劫持线程。
乔恩
嗨,乔恩,
所以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
这就是我所做的步骤。在J1上安装F_FL跳线后,零电流测量1.7 mA。当我移开跳线并重复测试时,零电流为0.020 mA。将校准偏移量更改为-0.02会产生-0.0005 mA的平均电流。
你好,
在我的上一个评论中,我发布了一个功率分析器的屏幕截图,在我编程闪光灯后,平均消耗的电流是0.02mA。这仍然高于预期的1.2µA。我还应该尝试什么来减少当前的消耗?
谢谢
嗨tsgowtham,
你能看看我们的支持网站上的睡眠模式教程吗?链接如下。
http://lpccs-docs.dialog-semiconductor.com/DA14531_Sleep_Mode+/index.html
谢谢,PM_Dialog
嗨PM_Dialog,
我已经看过这份文件了。事实上,我甚至在我的原帖中添加了它。
我将在这里再次发布我的最后一个问题:
在扩展睡眠模式中,平均消耗的电流为0.02毫安(使用功率分析器测量),睡眠模式指南说应该在1.2微安培左右。我已经在DA14531模块中编写了SPI Flash的程序,并断开了主板上Flash的跳线。如何使平均电流消耗接近给定的1.2微安范围?
谢谢
嗨tsgowtham,
在睡眠模式教程中,带有扩展睡眠模式电流的表是针对DA14531的。在您最初的帖子中,DA14531模块被标记了。请参阅模块的数据表和表4:直流特性。
你提到的平均电流消耗是0.02毫安。你使用的广告间隔是多少?此时,设备正在做广告,在广告之间进入延长睡眠模式,通过BLE定时器自动唤醒。
如果你遵循睡眠模式教程,你会看到广告期过后,芯片将停止广告并进入永久睡眠模式(没有BLE活动)。在永久睡眠模式下,目前的消耗量是多少?
另外,能否请您说明您正在使用的项目?如果你能与我分享它将有助于运行它在我的身边。
谢谢,PM_Dialog
嗨PM_Dialog,
很抱歉这么长时间才回复你。
平均消耗0.02 mA,广告间隔687.5 ms。这是关于prox_reporter项目。永久休眠时的电流消耗为0.01 mA。
我尝试使用扩展睡眠模式的模板项目来测试当前的消耗。在这个项目中,我观察到0.2 mA的电流消耗,广告间隔为687.5 ms。我已经附加了这个项目,它只是在模板项目中的一行更改。
编辑:这两个项目在使用延长睡眠模式和相同的广告间隔的情况下,是否存在导致当前消费差异如此之大的差异?
嗨tsgowtham,
empty_peripheral_template不会停止发布,因此设备会在发布或连接间隔之间休眠。prox_reporter正在使用带有超时的广告,因此系统将进入睡眠模式,不仅在广告之间或连接间隔,总线一旦广告停止,它将进入永久睡眠模式。但是,prox_reporter使用SPI flash,因此为了减少功耗,您需要关闭它,并在设备唤醒后释放它。
谢谢,PM_Dialog
嗨PM_Dialog,
我和Dialog在我所在城市的代表谈过,他给了我一个类似的建议,并告诉我配置SPI引脚。这解决了我的问题,并大大降低了功耗。
非常感谢你对我的问题的帮助!!
一个建议,如果您的建议可以在DA14531模块的一些文档中提到,那就太好了。我敢肯定,一个刚开始使用这种Flash芯片的人是不会想到这个的。
谢谢
嗨tsgowtham,
很高兴你能降低功耗,谢谢你接受我的回答。也谢谢你的反馈!
问候,PM_Dialog