睡眠模式功率过高- 14586设计从da14583迁移

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
21个职位/ 0个新职位
最后发表
sfullam
离线
最后看到:一年6个月前
加入:2015-09-15 01:51
睡眠模式功率过高- 14586设计从da14583迁移

你好,

我将一个设计从da14583移动到da14586,不能实现相同的休眠模式电流测量。我有相同的PCB布局。

该设计支持LCD的使能引脚设置在端口2_3上,该端口也被SPI FLASH用作SPI_EN_GPIO_PORT。在我们的14583芯片中,当我们准备睡觉时,我们将这个引脚设置为低输出,以便关闭LCD的电源,因此我们在睡眠模式下的当前消耗是38uA。

然而,当我在相同的PCB设计上对da14586做同样的事情时,在睡眠模式下的电流消耗上升到2.4 mA。如果我将端口2 _3设置为输出高,那么我们就能够在睡眠模式下获得430uA的消耗,但这是由于LCD现在启用了电流。

你能告诉我,如果我把端口2_3设置为低输出,包含的SPI Flash应该消耗多少电流吗?请注意,在函数set_pad_functions中设置了这一行。

//不允许自动闪光唤醒
GPIO_ConfigurePin(SPI_EN_GPIO_PORT, SPI_EN_GPIO_PIN, OUTPUT, PID_GPIO, true);

你能告诉我在哪里可以找到关于如何让SPI Flash始终处于低功耗模式的详细信息吗?

谢谢

斯科特

设备:
PM_Dialog
离线
最后看到:21小时40分钟前
工作人员
加入:2018-02-08 11:03
嗨sfullam,

嗨sfullam,

你可以使用power_down_da14586_flash()函数将SPI flash下电吗?我猜你不是从SPI flash启动的吧。

谢谢,PM_Dialog

sfullam
离线
最后看到:一年6个月前
加入:2015-09-15 01:51
是的,我做了这个暗示。

是的,我做了这个暗示。我应该在set_pad_function中每次都显式地这样做吗?我正在从SPI flash启动。如果flash未下电,预期耗电量是多少?

谢谢。

斯科特

PM_Dialog
离线
最后看到:21小时40分钟前
工作人员
加入:2018-02-08 11:03
嗨sfullam,

嗨sfullam,

由于您是从flash启动的,您不能关闭它。你能告诉我你是如何测量睡眠电流的吗?

谢谢,PM_Dialog

sfullam
离线
最后看到:一年6个月前
加入:2015-09-15 01:51
我有一个万用表

我有一个万用表在线路上的电池输入。我的设计包括一个DC/DC转换器,将一对AA电池提升到3.3V,为芯片供电。

PM_Dialog
离线
最后看到:21小时40分钟前
工作人员
加入:2018-02-08 11:03
嗨sfullam,

嗨sfullam,

你能确保你只测量了DA14856的当前消耗,并且没有其他外围设备的泄漏吗?

谢谢,PM_Dialog

sfullam
离线
最后看到:一年6个月前
加入:2015-09-15 01:51
我测量了我的周边

我测量了我的外设(EEPROM, Accelerometer),它们总共绘制了10uA。我通过I2C连接到这两个部分,并检查了SCL和SDA引脚(它们在我的板上有拉起)在我进入睡眠模式之前,我的代码中从14586设置为高。我用一个检查镜检查了SCL和SDA引脚都在我的电源电压下,在上拉过程中没有可测量的下降。

我也移除了液晶屏,以消除它作为可能的电流漏源。

是否有一种方法来确认我的代码进入睡眠状态?(从调试器退出后检查寄存器)?

14586和14583之间有什么我应该知道的差异可能导致这种情况吗?我可以用583实现非常低的功率。

谢谢你!

斯科特

PM_Dialog
离线
最后看到:21小时40分钟前
工作人员
加入:2018-02-08 11:03
嗨sfullam,

嗨sfullam,

请说明在睡眠模式下功耗是否保持430uA ?你使用哪种睡眠模式?请您看一下教程4:睡眠模式电流测量教程来自我们的支持网站。DA14586中的功耗应该稍微增加一倍。你们有完全一样的板子吗?

谢谢,PM_Dialog

sfullam
离线
最后看到:一年6个月前
加入:2015-09-15 01:51
你好,

你好,

14586的当前图纸是430-10 = 420uA。

对于da14586,我们使用:

DA14585/6:只有系统RAM对应的图像大小保持打开+ 32kB (block 4 in the previous slide)

我发现全局变量在从睡眠模式中醒来时丢失了。

你能说的更多一点吗:

“DA14586的功耗应该是非常轻微的两倍”——这是否意味着如果我测量da14583板上的36uA,我将看到我的DA14586板上的72uA ?

是的,我在用同样的板子。我刚刚用da14586 IC替换了da14583。

最好的问候,

斯科特

PM_Dialog
离线
最后看到:21小时40分钟前
工作人员
加入:2018-02-08 11:03
嗨sfullam,

嗨sfullam,

你能澄清一下吗:“我发现全局变量在从睡眠模式中醒来时丢失了。”全局变量是否存储在保留RAM中?

我认为功耗应该略低于72uA。如果你开始一个新的设计,我们建议从DA14585开始- SDK有了很大的改进,我们有很多代码示例,也有软件路线图支持DA14585对我们的下一代设备,这是宣布5th11月。

我认为问题与你的PCB有关。你能给我一张DA14586原理图的截图吗?不是所有的图纸,只有DA14586。请参阅一些硬件设计指引:

//www.wsdof.com/sites/default/files/an-b-054_da14585_da14586_application_hardware_design_guidelines_v1.2.pdf

谢谢,PM_Dialog

sfullam
离线
最后看到:一年6个月前
加入:2015-09-15 01:51
你好,

你好,

在14583年,我们曾经把一些变量放在保留内存中,一些放在普通的全局变量中。

然而,从睡眠中醒来后,我们并没有失去任何非保留变量值

在SDK 5和SDK 6的全局变量处理方面有什么不同吗

此外,我发现以下:

在Pro工具包上运行prox_reporter固件,没有SDK的任何更改,并测量当前。

根据14586文档,睡眠电流为3uA(参考Training_04_Sleep模式配置和功率测量_0第21页“我们在延长睡眠模式(没有OTPcopy)测量了3.4μ。”)。

现在我只是在函数中添加了void set_pad_functions(void)。这基本上是将SPI使能引脚设为False LCD使能必须设为False以使其休眠。

# ifdef __DA14586__
//不允许自动闪光唤醒
GPIO_ConfigurePin(SPI_EN_GPIO_PORT, SPI_EN_GPIO_PIN, OUTPUT, PID_GPIO, true);
# endif

+ GPIO_ConfigurePin(SPI_EN_GPIO_PORT, SPI_EN_GPIO_PIN, OUTPUT, PID_GPIO, false);

现在测量的睡眠电流是2mA或2000uA。固件是正常的广告。我们假设SPI Flash正在消耗所有的电流。

以前在14583设置SPI使能引脚没有引起如此大的电流吸。

请告诉我们,在SPI Flash消耗这么多电流的情况下,我们如何将SPI_EN_GPIO_PORT, SPI_EN_GPIO_PIN设置为false。

谢谢!

最好的

斯科特

PM_Dialog
离线
最后看到:21小时40分钟前
工作人员
加入:2018-02-08 11:03
嗨sfullam,

嗨sfullam,

关于你的第一个问题,你能再澄清一点吗?如果我能正确理解,您的要求是将变量存储到保留ram中?如果我的假设是错的,请纠正我。

请您看一下SW举例:DA14585/586检测复位源从我们的支持门户。这个例子演示了如何将变量存储到retain - ram中。

关于你的最后一个问题,根据你的代码片段。我认为SPI_EN在GPIO_ConfigurePin()中被配置为false。

谢谢,PM_Dialog

sfullam
离线
最后看到:一年6个月前
加入:2015-09-15 01:51
你好,

你好,

当我配置P2_3为False时,我看到了过量电流。你能告诉我用这个引脚设置如何让内置SPI Flash处于低功耗状态吗?

是的,我想在保留内存中保留变量,这样我们就不必在唤醒后重新加载它们。

最好的

斯科特

PM_Dialog
离线
最后看到:21小时40分钟前
工作人员
加入:2018-02-08 11:03
嗨sfullam,

嗨sfullam,

是否有可能关闭所有外设,只测量DA14586的功耗?耗电量是多少?另外,你能在Pro-DK中复制一下吗?

你检查过SW举例:DA14585/586检测复位源以便将数据存储到Ret-RAM?

谢谢,PM_Dialog

sfullam
离线
最后看到:一年6个月前
加入:2015-09-15 01:51
你好,

你好,

我的测量2mA是在Pro-DK上。我的所有外围设备都没有连接。我现在正在查看应用程序说明,很快会回到这个线程。

为什么将P2_3设为False会导致电流过大?

最好的

斯科特

PM_Dialog
离线
最后看到:21小时40分钟前
工作人员
加入:2018-02-08 11:03
你好,斯科特,

你好,斯科特,

P2_3为SPI_EN。我会在内部询问团队,并很快让您知道。请告诉我你的测量结果。

谢谢,PM_Dialog

sfullam
离线
最后看到:一年6个月前
加入:2015-09-15 01:51
我删除了所有的外围设备

我从我的电路移除了所有外设,所以只有DA14586是在电路板上。电流消耗刚好超过2ma, P2_3设置为False。

你有关于“他P2_3是SPI_EN”的最新消息吗?我会在内部询问团队,然后很快让你知道。”

最好的

斯科特

PW_Dialog
离线
最后看到:2个月3天前
工作人员
加入:2019-04-03 02:54
你好,斯科特,

你好,斯科特,

你能在我们的开发套件板上做同样的测量,只改变HW但保持所有其他环境(包括SW)?

Br,

PW_Dialog

sfullam
离线
最后看到:一年6个月前
加入:2015-09-15 01:51
我们之前做过

我们之前做过这个,在Pro Dev Kit板上测量2mA。所有的软件是相同的,除了SPI_EN引脚被设置为低在我们的SW。当SPI_EN引脚设置为高,电流绘制低(10s uA)

sfullam
离线
最后看到:一年6个月前
加入:2015-09-15 01:51
嗨,任何更新吗?最好的,斯科特

你好,

任何更新吗?

最好的

斯科特

PM_Dialog
离线
最后看到:21小时40分钟前
工作人员
加入:2018-02-08 11:03
嗨sfullam,

嗨sfullam,

这是一个非常奇怪的行为。当移除所有外设以只测量DA14585和SPI_EN是LOW时,因为功耗大约在2mA,似乎扩展睡眠模式失败了。在相同的SW下,当SPI_EN为HIGH时,功耗为10uA?你能确保海关的板没有漏的吗?请使用一个非常简单的项目,如ble_app_barebone。执行power_down_da14586_flash()函数将Flash下电。在您的定制板和我们的开发套件中,哪个是当前的消耗?

谢谢,PM_Dialog