不同的功耗devkit模块与soc

了解更多常见问题解答教程

7个帖子/ 0新
最后一篇
Essele.
离线
最后一次露面:2小时38分钟前
加入:2020-12-19 15:33
不同的功耗devkit模块与soc

你好,

我刚刚开始使用DA14531DEVKIT-PRO的几个例子,我有两个子板,一个是普通的SoC,另一个是基于模块的子板。

只使用Arch_ext_sleep_on的鞍骨电池示例,在SoC版本上,我看到当前的消耗(平均)约为1.6ua,但在基于模块上的一个我看到刚刚超过10ua(使用连接到J9的万用表测量)

我假设这是因为TE Flash没有按照以下情况正确禁用:

https://support.dialog semiconductor.com/forums/post/dialog-smartbond-bl。。。--software / power-down-da14531mods-spi-flash

然而。。。我禁用了SPI\ U闪存。。。(#undef CFGŠU SPIŠU FLASHŠU ENABLE)。。即使我启用了它,也没有什么区别。

我尝试在user_app_init()中置于spi_flash_powerdown(),但是如果闪光灯未启用,则清楚不会下班,如果它在两种情况下,它也不工作,我得到300A的消耗没有广告,所以我假设它挂起(还没有尝试调试它。)

有什么我不知道的吗。。。另一篇文章中的海报似乎能理解这一点,但我在休眠示例中看不到任何有意义的东西。

非常感谢,

李。

设备:
mhv_dialog.
离线
最后一次露面:1周4天前
职员
加入:2013-12-06 15:10
嗨李,

嗨李,

您的所有观察都有效。问题是模块中的闪存设备由于从机选择引脚(AKA芯片选择,SPI Enable等)而导致的电源过多。为了减少这种功耗,您所要做的就是确保在每个唤醒时保持SS引脚。这是在功能中管理的set_pad_functions()user_periph_setup.c.。对于我们的DA14586,您可以看到此(SDK示例Project Enterion_Peripheral_Template):

#if defined(uu DA14586_u186)//不允许自发的DA14586 SPI Flash wake-up GPIO_ConfigurePin(GPIO_PORT_2,GPIO_PIN_3,OUTPUT,PID_GPIO,true);#endif

对于DA14531模块,它应该如下所示:

#if定义(__da14531__)//禁止自发da14531 spi flash唤醒gpio_configurepin(gpio_port_0,gpio_pin_1,输出,pid_gpio,true);#万一

然后,模块和SoC之间的差异应该下降到大约300na。

/ mhv.

Essele.
离线
最后一次露面:2小时38分钟前
加入:2020-12-19 15:33
你好,

你好,

谢谢你的回答,不过我觉得不太对。。。代码已经有了这个。。。

#if定义(__da14586__)//禁止自发da14586 spi flash唤醒gpio_configurepin(gpio_port_2,gpio_pin_3,输出,pid_gpio,true);#else //禁止自发spi flash唤醒gpio_configurepin(spi_en_port,spi_en_pin,输出,pid_spi_en,true);#万一

... 我想和你说的一样。

我尝试将此调整到特定代码,并且没有区别。

......我没有阅读闪光灯的特定数据表,但其中大多数都在非省电模式下启动不是它们吗?所以我假设你实际上需要启用闪光灯,然后将其放在省电模式中?或者我错过了什么?

李。

mhv_dialog.
离线
最后一次露面:1周4天前
职员
加入:2013-12-06 15:10
您的代码与相同

除了我的代码直接指定引脚,您的代码与我的代码相同。

我以为你提到你已经尝试启用闪光,然后把它放在睡眠中,我误解了什么吗?

/ mhv.

mhv_dialog.
离线
最后一次露面:1周4天前
职员
加入:2013-12-06 15:10
嗨李,

嗨李,

我认为你的应用程序可能是挂起 - 在我的模块上强制悬挂导线到大约250ua。

尝试以Extent_Peripheral_Template项目开头并将睡眠模式设置为扩展睡眠状态。通过来自Keil的JTAG(然后将调试器分离)的JTAG加载到模块上以运行代码并测量功耗。在SoC上做同样的事情,你应该看到功耗的巨大差异(在我的电路板上它约为1mA)。然后,如上所述添加SPI SS的硬件配置,并在模块上重复测量值。SOC上的电流消耗几乎是相同的。

/ mhv.

Essele.
离线
最后一次露面:2小时38分钟前
加入:2020-12-19 15:33
你好,

你好,

现在解决了......这不是你建议的,实际上我完全缺乏对初始化的事情的理解。我假设启用cfg_spi_flash_enable足以正确启用闪光灯,但绝对不是这种情况。

供参考,模块闪光灯(P25Q11U)的数据表清楚地显示了9uA待机电流和0.1ua深度下电流,所以几乎是900A差异,这正是我所看到的。此外,该模块将在待机模式下打开电源,需要专门放入深断电模式。

我使用的代码示例(ble\u app\u barebone)的主要问题是没有任何SPI或flash初始化代码实际在其中,因此CFG\u SPI\u flash\u ENABLE实际上不起任何作用,因此对SPI\u flash\u powerdown()的调用将不起作用。

一点进一步调查休眠示例(如在问题中链接的另一个帖子中引用),并且您可以找到所有所需的代码,以初始化引脚,初始化SPI,然后在User_App_Init中调用spi_flash_powerdown()()和一切都完美地工作......我实际上看到略低于1.4ua ......但这只是万用表,所以可能缺少峰值等。

所以这很棒......谢谢。

Essele.
离线
最后一次露面:2小时38分钟前
加入:2020-12-19 15:33
进一步......我刚刚找到了

进一步......我刚刚找到了这一点完美地解释了这一点......

http://lpccs-docs.dialog-semicondiondumon.com/da145xx_tutorial_sdk6_periphe ...