你好,
我移动一个设计从da14583到da14586,不能实现相同的睡眠模式电流测量。我有相同的PCB布局。
该设计支持的液晶显示器的使能引脚设置在端口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中设置了这一行。
//禁止自发的flash唤醒
gpio_configurepin(spi_en_gpio_port,spi_en_gpio_pin,输出,pid_gpio,true);
您能否知道如何在何处找到Deatils始终在低功耗模式下保持SPI闪光灯的地方。
谢谢
斯科特
设备:
嗨sfullam,
您是否可以使用POWER_DOWN_DA14586_FLASH()函数来关闭SPI闪光灯?我假设您没有从SPI闪存启动。
谢谢,PM_Dialog
是的,我是含蓄的。我应该每次在set_pad_function中都显式地这样做吗?我从SPI flash启动。如果flash未下电,预期的功耗是多少?
谢谢。
斯科特
嗨sfullam,
由于您从Flash启动,您无法向下为其供电。您能否注明您遵循的程序,以便测量睡眠电流?
谢谢,PM_Dialog
我有一个万用表在电线与电池输入电路。我的设计包括一个DC/DC转换器,可以将一对AA电池提升到3.3V,为芯片供电。
嗨sfullam,
你能确保你只是测量DA14856的电流消耗,并且没有从其他外设泄漏吗?
谢谢,PM_Dialog
我衡量了我的外围设备(EEPROM,加速度计),它们一起绘制了10ua。我通过I2C连接到这两个部分,并检查了SCL和SDA引脚(在我的电路板上提升)将从我的代码中的14586设置为高电平,在我输入睡眠模式之前。我检查了一个范围,并看看SCL和SDA引脚处于电源电压,并在拉出上没有可测量的掉落。
我还删除了LCD,以消除它作为可能的漏水源。
有没有办法确认我的代码进入睡眠状态?(退出调试器后检查寄存器)?
14586和14583之间有什么我应该知道的可能导致这个的区别吗?我可以用583实现非常低的功率。
谢谢你!
斯科特
嗨sfullam,
请告知是否在睡眠模式下功耗仍为430uA ?你使用哪种睡眠模式?请看一下教程4:睡眠模式电流测量来自我们支持网站的教程。DA14586中的功耗应非常略高。你有一块董事会吗?
谢谢,PM_Dialog
你好,
目前的绘图为14586是430-10 = 420ua。
对于da14586,我们使用:
没有OTP Copy的延长睡眠 - DA14585 / 6:只有图像尺寸保持的系统RAM保持在+ 32KB(前一个幻灯片中的框4)
我发现全局变量在从睡眠模式中醒来时丢失了。
你能多说一点吗:
“DA14586的功耗应该是非常小的两倍”——这是否意味着如果我从我的da14583板测量36uA,我将从我的DA14586板看到72uA ?
是的,我用的是同一块板。我刚刚用da14586 IC替换了da14583。
最好的问候,
斯科特
嗨sfullam,
你能澄清一下:“我发现从睡眠模式唤醒时,全局变量丢失。”?是否存储在保留RAM中的全局变量?
我假设功耗应略小于72uA。如果您正在启动新设计,我们建议使用DA14585 - SDK有很大的改进,我们有很多代码示例,并且DA14585还有软件路线图支持我们的下一代设备5th十一月。
我认为问题与您的PCB有关。您可以从DA14586原理图中获取屏幕截图吗?并非所有的原理图 - 只有DA14586。请检查一些硬件设计指南:
https://www.dialog-seminile.com/sites/default/files/an-b-054_da14585_da14586_application_hardware_design_guidelines_v1.2.pdf.
谢谢,PM_Dialog
你好,
在14583年,我们曾经把一些变量放在保留RAM中,一些放在普通的全局变量中。
然而,从睡眠中醒来后,我们并没有失去任何非留存变量的值
在全局变量处理方面SDK 5和SDK 6有什么不同吗
此外,我发现了以下几点:
在Pro套件上运行Prox_Reporter固件,没有SDK的任何更改并测量当前。
根据14586的文档,睡眠电流为3uA(参考Training_04_Sleep模式配置和功率测量_0页21 "We measured 3.4μ for extended sleep mode (without OTPcopy).")。
现在我只是在函数中添加了void set_pad_functions(void)。这基本上是设置SPI使能引脚为假,因为我们的LCD使能必须设置为假,以使它睡眠。
#ifdef __da14586__
//禁止自发的flash唤醒
gpio_configurepin(spi_en_gpio_port,spi_en_gpio_pin,输出,pid_gpio,true);
# endif
+ GPIO_ConfigurePin(SPI_EN_GPIO_PORT, SPI_EN_GPIO_PIN, OUTPUT, PID_GPIO, false);
现在测量的睡眠电流为2mA或2000uA。固件正常发布。我们假设SPI Flash正在消耗所有的电流。
以前在14583设置SPI使能引脚没有造成如此巨大的电流draw。
你能让我们知道我们如何设置SPI_EN_GPIO_PORT, SPI_EN_GPIO_PIN为false而不需要SPI Flash消耗这么多电流吗?
谢谢!
最好的
斯科特
嗨sfullam,
关于你的第一个问题,你能澄清一下吗?如果我能够正确理解,您的要求是将变量存储到保留RAM中?如果我的假设是错的,请纠正我。
请看一下SW举例:DA14585/586检测复位源从我们的支持门户。这个例子演示了如何将变量存储到retain - ram中。
关于你的最后一个问题,根据你的代码片段。我认为SPI_EN在GPIO_ConfigurePin()中被配置为false。
谢谢,PM_Dialog
你好,
当我配置P2_3为False时,我看到一个过剩电流。你能告诉我如何保持内置在SPI Flash在低功率状态与此引脚设置?
是的,我想在保留RAM中保留变量,这样我们就不必在唤醒后重新加载它们。
最好的
斯科特
嗨sfullam,
是否可以关闭所有外设,只测量DA14586的功耗?功耗是多少?另外,你能在Pro-DK中复制它吗?
你有没有检查过SW举例:DA14585/586检测复位源以便将数据存储到Ret-RAM中?
谢谢,PM_Dialog
你好,
我在Pro-DK上测量了2mA。我所有的外围设备都没有连接。我现在正在查看应用笔记,很快就会回到这个话题。
为什么将P2_3设为False会导致电流过大?
最好的
斯科特
你好,斯科特,
p2_3是spi_en。我会在内部询问团队,我会尽快让你知道。请通过您的测量结果回复我。
谢谢,PM_Dialog
我从我的电路中删除了所有外围设备,因此只有DA14586是在板上。当P2_3设置为False时,电流消耗刚好超过2ma。
你有关于“他p2_3是spi_en的任何更新。我会在内部询问团队,我很快就会通知你。”
最好的
斯科特
你好,斯科特,
你能否在我们的开发套件板上做同样的测量,只改变硬件,但保持所有其他环境(包括SW)?
Br,
PW_Dialog
我们之前也这么做过,并在Pro Dev Kit板上测量2mA。所有的软件都是一样的,除了在我们的SW中SPI_EN引脚被设置为低。当SPI_EN引脚设置为高时,电流draw是低的(10s的uA)
你好,
任何更新吗?
最好的
斯科特
嗨sfullam,
这是一个非常奇怪的行为。在删除所有外围设备时,为了仅测量DA14585,SPI_EN为低电平,因为功耗在2mA时,似乎扩展睡眠模式似乎失败。通过同一SW,当SPI_EN很高时,功耗为10ua?您能否请确保定制板没有任何泄漏?请使用一个非常简单的项目,如ble_app_barebone。通过执行POWER_DOWN_DA14586_FLASH()函数来关闭闪光灯。这是您的定制董事会和我们的开发套件中的当前消耗吗?
谢谢,PM_Dialog