你好,
我试图在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.将SDK中的prox_reporter项目固件下载到531 dev-kit上的FLASH中
2.拔插USB线,重新插入
3.打开SS工具箱->选择UART/SPI接口->打开电源配置文件工具
请告诉我你在电源配置工具的屏幕上看到了什么。
Br,宜宾
嗨,宜宾,
我已经为proxr项目附加了功率分析器输出。我使用Flash编程工具中提供的预构建可下载固件。这一产出似乎更接近预期。为什么这两个项目目前的消耗量会有如此巨大的差异?是否有其他的项目配置可能导致这个问题?
@Jon_ODonnell
尝试校准功率分析器,也许这可能有助于为prox reporter项目提供适当的读数。此外,0.167 mA对于裸机项目来说,对于延长睡眠模式来说似乎有点太多了,如果Yibin澄清这一点会更好。
谢谢,
Gowtham
@Yibin,
我将校准设置为0 mA并在没有安装电路板的情况下运行。平均电流为1.77毫安!我试着把-1.77的校准偏移,但然后我得到负电流。数字上下浮动。
我怀疑抵消和增益都有问题。我的板子不好吗?我刚从Digi-key买的。
我附上了一张板的图片,以显示跳跃等和一些屏幕截图。
乔恩
我找到问题了!由于某种原因,从SPI-Flash提取的电流也被测量,并且它没有进入低功耗睡眠。如果我移除J1 V_FL跳线,在校准期间电流下降到0.02 mA。
我拆除了跳线,并在J1-1到J9-2之间添加了一根电线,为闪光灯供电,而不测量电流。
DA14531-DA14585-586_Service_Data_Beacon的平均电流现在只有0.008 mA,峰值为2.816 mA。prox_reporter仍然测量一个000000ma的平线。barebones给出0.156 mA平均值和2.893 mA峰值。
更新一下我的上一条评论:
我试着在Flash中启用了扩展睡眠功能来闪烁我的empty-peripheral-template项目。我看到平均电流消耗为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。
请让我知道我是否应该把这个讨论转移到另一个主题。这似乎是同样的问题,但我不想劫持线程。
乔恩
嗨,乔恩,
那么SPI flash问题,你正面临一个问题的“零电流消耗”与prox_reporter?你能确认一下宜宾建议的步骤吗?
0.拔掉531开发包上J19的所有跳线
1.将SDK中的prox_reporter项目固件下载到531 dev-kit上的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 mA(使用功率分析器测量),睡眠模式教程说它应该在1.2微安左右。我已经将程序写入DA14531模块中的SPI Flash,并断开主板上Flash的跳线。如何使平均电流消耗接近给定的1.2微安范围?
谢谢
嗨tsgowtham,
在睡眠模式教程中,具有扩展睡眠模式电流的表适用于DA14531。在您的初始帖子中,DA14531模块被标记。请参考模块的数据表,见表4:直流特性。
你提到平均电流消耗是0.02 mA。你们使用的广告间隔是多少?在这里,设备正在做广告,并在广告间隔之间进入延长睡眠模式,它会通过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 ic的人不会想到这一点。
谢谢
嗨tsgowtham,
很高兴你能降低能耗,感谢你接受我的答案。也谢谢你的反馈!
问候,PM_Dialog