你好
我正在尝试在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,
我听从了你的建议,开始了一个新的项目,模板是空的。我还有几个问题
谢谢
嗨tsgowtham,
我假设,当您使用Power Profiler时,您是在调试器的控制下在DA14531上运行代码。这是可以的,然而,一旦你开始运行代码,你需要通过按“Ctrl+F5”断开调试器,否则调试器保持活动并绘制当前。
致以最亲切的问候
IM_Dialog
嗨IM_Dialog,
谢谢你的快速回复。禁用调试器修复了这个问题。现在,当处于延长睡眠模式时,电流消耗约为0.7 mA。但这仍然远远高于睡眠模式教程文档中提到的降压模式的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.77mA!我试着把-1.77放在校准偏移量中,但后来我得到了负电流。数字跳来跳去。
我怀疑偏移和增益都有问题。我的板子坏吗?我刚从Digi key买的。
我附上了一张董事会的照片,显示跳线等和一些屏幕截图。
乔恩
我发现问题了!出于某种原因,还测量了从SPI闪存中提取的电流,它不会进入低功耗休眠状态。如果我拆下J1 V_FL跨接导线,校准期间电流将降至0.02 mA。
我拆下了跨接导线,并在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_服务_数据_信标开始,它设置
应用程序\默认\睡眠\模式=拱门\外部\睡眠\开启;
但在未修改的例子中,当前广告之间的距离约为1.7mA。更改为ARCH_SLEEP_OFF将电流增加到1.9mA。
这是使用SmartBond Flash编程器,并在进行测量之前将电源循环至开发工具包。
我下载了prox_reporter(从SDK源代码构建和预构建的“在线下载固件”版本从SmartBond Flash Programmer),峰值和平均电流测量要求均为0.00000 mA。图表底部是一条直线(见附件pdf)。
我用BLE扫描仪验证了DLG-PROXR设备每689毫秒发布一次广告。
我还尝试了在线资源中预构建的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_对话框
这就是我所做的步骤。在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,
空的_-peripheral_模板不会停止广告,因此设备会在广告或连接间隔之间休眠。prox_reporter使用带有超时的广告,因此系统不仅在广告或连接间隔之间进入睡眠模式,而且在广告停止后进入永久睡眠模式。然而,prox_reporter正在使用SPI闪存,因此为了降低功耗,您需要关闭电源,并在设备唤醒后释放它。
谢谢,PM_Dialog
嗨PM_Dialog,
我和Dialog在我所在城市的代表谈过,他给了我类似的建议,并告诉我配置SPI引脚。这解决了我的问题,大大降低了功耗。
非常感谢你帮我解答问题!!
一个建议,如果您的建议可以在DA14531模块的一些文档中提到,那就太好了。我敢肯定,一个刚开始使用这种Flash芯片的人是不会想到这个的。
谢谢
嗨tsgowtham,
很高兴您能够降低功耗,感谢您接受我的回答。谢谢你的反馈!
问候,PM_Dialog