不同的功耗devkit模块与soc

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
7个帖子/ 0新
最后一篇
Essele.
离线
最后一次露面:4个月1日前
加入:2020-12-19 15:33
不同的功耗devkit模块与soc

你好,

我刚刚使用da14531devkit-pro的一些例子开始,我有两个子板,正常的SOC一个和模块基于一个。

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

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

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

但是......我有禁用spi_flash ...(#undef cfg_spi_flash_enable)..甚至我启用它,似乎没有任何区别。

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

有什么我缺少的东西......其他帖子的海报似乎弄清楚了,但我看不到冬眠例中的任何东西都是有道理的。

非常感谢,

李。

设备:
mhv_dialog
离线
最后一次露面:2个月2周前
职员
加入:2013-12-06 15:10
嗨李,

嗨李,

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

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

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

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

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

/ mhv.

Essele.
离线
最后一次露面:4个月1日前
加入: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
离线
最后一次露面:2个月2周前
职员
加入:2013-12-06 15:10
您的代码与

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

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

/ mhv.

mhv_dialog
离线
最后一次露面:2个月2周前
职员
加入:2013-12-06 15:10
嗨李,

嗨李,

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

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

/ mhv.

Essele.
离线
最后一次露面:4个月1日前
加入:2020-12-19 15:33
你好,

你好,

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

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

代码示例的主要问题我正在使用(ble_app_barebone)是,没有一个spi或flash初始化代码实际上是在那里的,因此cfg_spi_flash_enable实际上并不实际做任何事情,因此对spi_flash_powerdown()的调用不起作用。

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

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

Essele.
离线
最后一次露面:4个月1日前
加入:2020-12-19 15:33
进一步......我刚刚找到了

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

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