你好,
我MA将设计从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闪光灯应该消耗多少闪光灯?请注意,在函数set_pad_functions中,设置此行。
//禁止自发闪光唤醒
GPIO_ConfigurePin(SPI_EN_GPIO_PORT, SPI_EN_GPIO_PIN, OUTPUT, PID_GPIO, true);
你能告诉我在哪里可以找到关于如何让SPI Flash始终处于低功耗模式的详细信息吗?
谢谢
斯科特
设备:
嗨Suflam,
你可以使用power_down_da14586_flash()函数将SPI flash下电吗?我猜你不是从SPI flash启动的吧。
谢谢,PM_DIALOG.
是的,我做了这个暗示。Shoud我每次都在Set_Pad_Function中明确地做到这一点?我从SPI Flash启动。如果闪光灯未关闭,则预期电流消耗是多少?
谢谢。
斯科特
嗨Suflam,
由于您是从flash启动的,您不能关闭它。你能告诉我你是如何测量睡眠电流的吗?
谢谢,PM_DIALOG.
我具有多米,与电路电池输入电量。我的设计包括一个DC / DC转换器,可以将一对AA电池提升至3.3V,为芯片提供电。
嗨Suflam,
您能否请确保您只测量DA14856的当前消耗量,而且它没有其他外围设备的泄漏?
谢谢,PM_DIALOG.
我测量了我的外设(EEPROM, Accelerometer),它们总共绘制了10uA。我通过I2C连接到这两个部分,并检查了SCL和SDA引脚(它们在我的板上有拉起)在我进入睡眠模式之前,我的代码中从14586设置为高。我用一个检查镜检查了SCL和SDA引脚都在我的电源电压下,在上拉过程中没有可测量的下降。
我也移除了液晶屏,以消除它作为可能的电流漏源。
有没有办法确认我的代码进入睡眠状态?(从调试器退出后检查注册)?
14586和14583之间是否有任何差异,我应该意识到这可能会导致这一点?我能够通过583实现非常低的功率。
谢谢你。
斯科特
嗨Suflam,
您是否可以说明睡眠模式下的功耗是否仍然430A?您使用的是哪种睡眠模式?请看看教程4:睡眠模式电流测量教程来自我们的支持网站。DA14586中的功耗应该稍微增加一倍。你们有完全一样的板子吗?
谢谢,PM_DIALOG.
你好,
14586的当前图纸是430-10 = 420uA。
对于我们使用的DA14586:
DA14585/6:只有系统RAM对应的图像大小保持打开+ 32kB (block 4 in the previous slide)
我发现从睡眠模式唤醒时,全局变量正在丢失。
你能说更多关于这个吗?
“DA14586中的功耗应该非常略微双倍” - 这是否意味着如果我从我的DA14583板上测量36UA绘制,我将从我的DA14586板上看到72UA?
是的,我在用同样的板子。我刚刚用da14586 IC替换了da14583。
此致,
斯科特
嗨Suflam,
你能澄清一下吗:“我发现全局变量在从睡眠模式中醒来时丢失了。”全局变量是否存储在保留RAM中?
我认为功耗应该略低于72uA。如果你开始一个新的设计,我们建议从DA14585开始- SDK有了很大的改进,我们有很多代码示例,也有软件路线图支持DA14585对我们的下一代设备,这是宣布5TH.11月。
我认为问题与你的PCB有关。你能给我一张DA14586原理图的截图吗?不是所有的图纸,只有DA14586。请参阅一些硬件设计指引:
//www.wsdof.com/sites/default/files/an-b-054_da14585_da14586_application_hardware_design_guidelines_v1.2.pdf
谢谢,PM_DIALOG.
你好,
在14583年,我们曾经把一些变量放在保留内存中,一些放在普通的全局变量中。
然而,从睡眠后醒来后我们不会丢失任何不保留变量值
在SDK 5 VS SDK 6中的全局变量处理方面是否有什么不同的
此外,我发现了以下内容:
在Pro工具包上运行prox_reporter固件,没有SDK的任何更改,并测量当前。
睡眠电流为3ua,根据14586的文档(REF Training_04_Sleep模式配置和电源测量_0 Page 21“,我们为扩展睡眠模式(没有OTPCopy)。”)。
现在我刚刚在函数中添加了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);
#万一
+ GPIO_CONFIGUREPIN(SPI_EN_GPIO_PORT,SPI_EN_GPIO_PIN,输出,PID_GPIO,FALSE);
现在测量的睡眠电流为2mA或2000UA。固件是正常的广告。我们假设SPI闪光灯正在消耗所有当前。
以前在14583中设置SPI使能引脚不会导致如此大量的电流绘图。
您能否让我们知道我们如何将SPI_EN_GPIO_PORT,SPI_EN_GPIO_PIN设置为FALSE,如果SPI闪存消耗如此多的电流。
谢谢!
最好的,
斯科特
嗨Suflam,
关于你的第一个问题,你能再澄清一点吗?如果我能正确理解,您的要求是将变量存储到保留ram中?如果我的假设是错的,请纠正我。
请看看SW示例:DA14585 / 586检测重置源来自我们的支持门户。此示例演示如何将变量存储为Retent-RAM。
根据您的代码片段,关于您的最后一个问题。我认为spi_en在gpio_configurepin()中配置为false。
谢谢,PM_DIALOG.
你好,
当我将p2_3配置为false时,我会看到过多的电流。你能告诉我如何用这个引脚设置如何在低功耗状态下保持内置的SPI闪光灯?
是的,我想保留保留RAM的变性,以便在醒来后我们不必重新加载它们。
最好的,
斯科特
嗨Suflam,
是否有可能关闭所有外围设备并仅测量DA14586的功耗?功耗多少钱?此外,您可以在Pro-DK中复制它吗?
你检查过SW示例:DA14585 / 586检测重置源要将数据存储到RET-RAM中?
谢谢,PM_DIALOG.
你好,
我的2mA测量是在Pro-DK上。我的外围设备都没有连接。我现在正在评论这个应用程序,并且很快就会回到此线程。
为什么将P2_3设置为虚假导致多余的电流?
最好的,
斯科特
嗨斯科特,
P2_3为SPI_EN。我会在内部询问团队,并很快让您知道。请告诉我你的测量结果。
谢谢,PM_DIALOG.
我从电路中删除了所有外围设备,以便在电路板上只有DA14586。电流消耗仅超过2 mA,P2_3设置为FALSE。
你有关于“他P2_3是SPI_EN”的最新消息吗?我会在内部询问团队,然后很快让你知道。”
最好的,
斯科特
嗨斯科特,
您是否可以在我们的dev-kit板上做同样的措施,只有更改的hw,但保持所有其他环境(包括sw)?
布罗尔,
PW_Dialog
我们之前做过这个并在Pro Dev套件板上测量2mA。所有软件都是相同的,除了SPI_EN引脚在我们的SW中设置为低电平。当SPI_EN引脚设置为高电平时,电流凹陷很低(10S的UA)
你好,
任何更新?
最好的,
斯科特
嗨Suflam,
这是一个非常奇怪的行为。当移除所有外设以只测量DA14585和SPI_EN是LOW时,因为功耗大约在2mA,似乎扩展睡眠模式失败了。在相同的SW下,当SPI_EN为HIGH时,功耗为10uA?你能确保海关的板没有漏的吗?请使用一个非常简单的项目,如ble_app_barebone。执行power_down_da14586_flash()函数将Flash下电。在您的定制板和我们的开发套件中,哪个是当前的消耗?
谢谢,PM_DIALOG.