自定义Board_Ext休眠电流

21个岗位/ 0个新岗位
最后发表
prasanth.velliy……
离线
最后看到:1年12个月前
加入:2016-02-18 12:18
自定义Board_Ext休眠电流

Hi对话小组

我使用的是我们自己的定制板,电池供电,Buck模式,Da14580带外部闪存的DSPS设备项目,添加了i2c驱动器(SDA, SCL带拉起寄存器- 10K连接到VBAT3v),一旦数据发送到主BLE设备,DSPS设备断开并进入延长睡眠,我已经使用数字万用表(DMM)检查了功耗,
广告- 512ua,
连接,数据xt - 776ua
睡眠- 322ua,

我已经用村田P2ML 3656 -村田LBCA2HNZYZ测试了相同的DSPS设备项目- ZY型Dev Board,带DMM和功率分析器(不带i2c驱动器,静态数据)
广告- 240ua,
连接,数据xt - 537ua
睡眠- 110ua,

我也用Dialog IOT da14583测试了相同的设置
广告- 250ua,
连接,数据xt - 313 - 512 ua
睡眠- 227 ua,我正在…

为什么我不能得到1.3u安培或更接近?请帮我解决这个问题??

谢谢对话小组

设备:
MT_dialog
离线
最后看到:3个月前3个星期前
工作人员
加入:2015-06-08 34
嗨prasanth,

嗨prasanth,

DSPS项目从来不会永久休眠,它总是保持广告或保持连接,并在连接间隔或广告间隔之间休眠。因此,如果在固件中设置设备处于永久睡眠状态,并且开启了休眠功能,那么应该会看到接近1.3uA的值。额外的消耗可能是由你的板上的其他设备增加的(我假设板上有一个I2C内存,所以额外的功耗可能来自该设备)或你板上的泄漏。此外,你提到的值,我认为他们是平均值,你的仪器测量。请查看教程4:配置睡眠模式,在教程部分的Documents选项卡中了解如何正确测量睡眠期间的功耗。

由于MT_dialog

prasanth.velliy……
离线
最后看到:1年12个月前
加入:2016-02-18 12:18
在DSPS设备项目中,一次

在DSPS设备项目中,一旦数据TX到主完成,我们已经把DSPS设备5分钟睡眠,我能够看到设备5分钟没有广告,5分钟后只有DSPS设备在广告。所以睡眠是正常工作的,不是吗?

i2c驱动温湿度传感器,环境光传感器..

正如你所说,如果硬件问题,为什么在DA14583物联网套件中我也得到了同样的结果,(通过连接万用表,到智能带物联网BLE板的开/关开关,电池端ti万用表正,ckt端到万用表com)

谢谢对话

prasanth.velliy……
离线
最后看到:1年12个月前
加入:2016-02-18 12:18
嗨对话框

嗨对话框

PFA。功率分析器图

谢谢你!

MT_dialog
离线
最后看到:3个月前3个星期前
工作人员
加入:2015-06-08 34
嗨prasanth,

嗨prasanth,

从功率分析器中,我可以看到设备正在睡眠和唤醒,所以是的,设备应该处于睡眠状态,因为你的板上有传感器,传感器消耗额外的功率,不仅仅是580消耗功率。至于物联网,因为它也有额外的传感器,当设备处于睡眠状态时,你无法获得约1.4uA的电流,所以消耗的电流约为11uA。

由于MT_dialog

wisilica
离线
最后看到:11个月前3周
加入:2015-03-17 08:16
你好,

你好,

你需要切断闪存的电源以减少电流消耗。

prasanth.velliy……
离线
最后看到:1年12个月前
加入:2016-02-18 12:18
嗨Wisilica

嗨Wisilica

谢谢你的回复。

然后DA14583 IOT智能绑定套件将给出11ua,这也使用“切断spi供应”配置。请给我更多的细节……

I2c传感器有10k上拉,这会引起任何问题吗?...如何解决这些…?

谢谢你!

prasanth.velliy……
离线
最后看到:1年12个月前
加入:2016-02-18 12:18
嗨对话框

嗨对话框

https://support.dialog-semiconductor.com/issues-external-spi-flash

如上所述,辅助引导加载程序会修复这个问题吗(DA14580) ??

谢谢你!

MT_dialog
离线
最后看到:3个月前3个星期前
工作人员
加入:2015-06-08 34
嗨prasanth,

嗨prasanth,

物联网,设置闪光灯在低功耗模式时不使用(它仍然消耗一些功率,但不像它完全功能时那样多),它还将额外的传感器设置在低功耗模式,您可以检查spi_flash.c文件中的spi_flash_power_down()函数。如上所述,您必须检查系统上的其他模块是否消耗额外的电源。

至于你贴在上面的帖子是否能解决你的问题,你确定你的定制设备消耗的额外电力来自外部闪光灯吗?次要引导加载程序的原因是,如果你关闭你的闪存,你想重置设备ROM引导加载程序没有唤醒闪存的能力,这就是次要引导加载程序来启动闪存的地方,这样580将正常启动。所以请检查这些额外的功耗来自哪里(内存、传感器等)。

由于MT_dialog

prasanth.velliy……
离线
最后看到:1年12个月前
加入:2016-02-18 12:18
嗨对话框

嗨对话框

如何在DSPS设备项目(DA14580和DA14583)中使用spi_flash_power_down(),是否有任何示例项目或文档?

PFA的外部外围设备在我的自定义板,我使用这个电池电量监测也在DSPS,

我有两个定制板,一个是DA14580BLE,另一个是DA14583,如果SPI闪存消耗更多的功率,为什么两个定制板的电流消耗几乎相同?DA14583定制板应该显示更少,对吗?

MT_dialog
离线
最后看到:3个月前3个星期前
工作人员
加入:2015-06-08 34
嗨prasanth,

嗨prasanth,

由于DSPS示例没有使用flash,所以没有示例,但是使用flash开发的参考设计具有此功能,您只需调用我上面提到的函数来关闭flash,就像信标一样,该函数的实现位于spi_flash.c驱动程序中。

我无法预见为什么你的电路板上有额外的电流,因为这取决于相当多的因素,你必须一个接一个地检查什么会增加你的功耗,检查额外的设备。583有一个嵌入式闪存,你提到580有一个外部闪存,所以我想如果你不把闪存电源下来,你会以类似的功耗结束,因为我之前提到过583的闪存也需要电源下来,如果这是问题所在。

由于MT_dialog

prasanth.velliy……
离线
最后看到:1年12个月前
加入:2016-02-18 12:18
嗨对话框

嗨对话框

https://wenku.baidu.com/view/20871b8127d3240c8547efd2.html
我已经按照上面的链接在DSPS_Device中使用spi_flash_power_down(),但不工作,…

从Beacon项目,在每次读/写操作spi_flash_power_down()被调用后,但在DSPS设备项目中,我没有做任何读/写SPI Flash,所以确切地说,从哪个函数我必须调用这个spi_flash_power_down(),所以它将有意义。

比你

MT_dialog
离线
最后看到:3个月前3个星期前
工作人员
加入:2015-06-08 34
嗨prasanth,

嗨prasanth,

我已经提到了flash power down命令,以便将这种命令发送到闪存,以检查闪存是否正在消耗您在电路板上看到的额外电源。所以你可以调用它来检查消耗是否会下降,如果你没有看到任何影响,那么其他东西正在消耗额外的电流。

由于MT_dialog

wisilica
离线
最后看到:11个月前3周
加入:2015-03-17 08:16
连我们自己都没有看到它的威力

甚至当spi_flash_power_down()被调用时,我们也没有看到电源下降。必须通过gpio控制闪光灯的供应,并关闭闪光灯。

prasanth.velliy……
离线
最后看到:1年12个月前
加入:2016-02-18 12:18
嗨对话框

嗨对话框

问题1。在我们的自定义板DA14580 -带外部闪光灯,我已经删除了所有的上拉寄存器(10k),并进行了测试,我无法通过SmartSnippets闪存/擦除SPI内存,如果我把上拉放在CS引脚,它是工作的,但在信标和智能标签设计中,我没有看到CS引脚有任何上拉?

谢谢对话

MT_dialog
离线
最后看到:3个月前3个星期前
工作人员
加入:2015-06-08 34
嗨prasanth,

嗨prasanth,

信标上的CS或智能标签或任何开发工具包上都没有拉出,如果这是你的问题。一个大胆的猜测,也许还有其他东西也在驱动CS线,也许是自定义板上的电气问题,导致了SPI线上的感应噪声?

由于MT_dialog

prasanth.velliy……
离线
最后看到:1年12个月前
加入:2016-02-18 12:18
嗨对话框

嗨对话框

谢谢对话框,现在我可以使用SPI闪存没有上拉寄存器。

在DSPS器件项目中
如果我调用spi_flash_power_down()在“user_peri_setup .c”,我闪现了这段代码,我的设备在一段时间后没有广告,也在此之后,同时擦除spi flash我面临错误,在IOT项目中,spi_flash_power_down()调用时读取/写入配置参数,但在DSPS如何使用这个API ?

谢谢对话

MT_dialog
离线
最后看到:3个月前3个星期前
工作人员
加入:2015-06-08 34
嗨prasanth,

嗨prasanth,

外围init()是一个在设备每次唤醒时执行的函数,如果在某个点之后设备停滞或给你错误,你将不得不通过调试检查实际原因。无论如何,没有合适的点,你将放置闪光灯的电源,该函数应该在与闪光灯接口后立即调用,例如在读取或写入数据后(因为物联网使用它)。现在,如果由于某种原因,flash在DSPS运行时被供电,你可以在app_on_init()回调中调用函数,这应该是ok的。

由于MT_dialog

prasanth.velliy……
离线
最后看到:1年12个月前
加入:2016-02-18 12:18
嗨对话框

嗨对话框

正如您所建议的,我在user_on_init()中调用spi_flash_power_down()

空白user_on_init(空白)

//应用程序初始化
user_scheduler_init ();

default_app_on_init ();
da14580_spi_flash_init ();
da14580_spi_flash_deinit ();

空白da14580_spi_flash_init(空白)

SPI_Pad_t cs_pad_param;
Int8_t man_dev_id = 0;

cs_pad_param。port = SPI_EN_GPIO_PORT;
cs_pad_param。pin = SPI_EN_GPIO_PIN;

Man_dev_id = spi_flash_enable(cs_pad_param. sp_flash_enable)港口,cs_pad_param.pin);

if (man_dev_id == SPI_FLASH_AUTO_DETECT_NOT_DETECTED)

//设备未被识别。
//使用默认参数。
//或者,可以在这里断言错误。
spi_flash_init (SPI_FLASH_DEFAULT_SIZE SPI_FLASH_DEFAULT_PAGE);

da14580_spi_flash_deinit(Void)

spi_flash_power_down ();

但在接下来的睡眠中,我仍然得到235ua
在smart_tag项目中,我修改了user_peri_setup .c

#如果DEVELOPMENT_DEBUG

空白GPIO_reservations(空白)

/*
*全球GPIOs预留
* /

/*
*特定于应用程序的gpio预留。仅用于开发模式(#if DEVELOPMENT_DEBUG)

即。
Reserve_gpio (descriptive_name, gpio_port_0, gpio_pin_1, pid_gpio);//保留P_01作为通用I/O
* /
// reserve_gpio (uart1_tx, gpio_uart1_tx_port, gpio_uart1_tx_pin, pid_uart1_tx);
// reserve_gpio (uart1_rx, gpio_uart1_rx_port, gpio_uart1_rx_pin, pid_uart1_rx);

Reserve_gpio (i2c_scl, i2c_gpio_port, i2c_scl_pin, pid_i2c_scl);/ /副总裁
Reserve_gpio (i2c_sda, i2c_gpio_port, i2c_sda_pin, pid_i2c_sda);/ /副总裁

Reserve_gpio (led_port, gpio_port_1, gpio_pin_1, pid_gpio);

Reserve_gpio (spi_cs, spi_gpio_port, spi_cs_pin, pid_spi_en);
Reserve_gpio (spi_clk, spi_gpio_port, spi_clk_pin, pid_spi_clk);
Reserve_gpio (spi_do, spi_gpio_port, spi_do_pin, pid_spi_do);
Reserve_gpio (spi_di, spi_gpio_port, spi_di_pin, pid_spi_di);
/*
#如果(UART_HW_FLOW_ENABLED)
Reserve_gpio (uart1_rts, gpio_uart1_rts_port, gpio_uart1_rts_pin, pid_uart1_rtsn);
Reserve_gpio (uart1_cts, gpio_uart1_cts_port, gpio_uart1_cts_pin, pid_uart1_ctsn);
# endif

# ifdef CFG_PRINTF_UART2
Reserve_gpio (uart2_tx, gpio_uart2_tx_port, gpio_uart2_tx_pin, pid_uart2_tx);
Reserve_gpio (uart2_rx, gpio_uart2_rx_port, gpio_uart2_rx_pin, pid_uart1_rx);
# endif
* /


# endif / / DEVELOPMENT_DEBUG

/**
****************************************************************************************
* @brief映射端口引脚

* Uart和SPI端口引脚和GPIO端口被映射
****************************************************************************************
* /
Void set_pad_functions(Void) //设置gpio端口函数模式

/*
*配置应用端口。
即。
GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_1, OUTPUT, PID_GPIO, false);//设置P_01为Generic purpose Output
* /

GPIO_ConfigurePin(LED_PORT, LED_PIN, OUTPUT, PID_GPIO, true);

gpio_configupin (I2C_GPIO_PORT, I2C_SCL_PIN, INPUT, PID_I2C_SCL, false);/ /副总裁
gpio_configupin (I2C_GPIO_PORT, I2C_SDA_PIN, INPUT, PID_I2C_SDA, true);/ /副总裁

// gpio_configupin (GPIO_UART1_TX_PORT, GPIO_UART1_TX_PIN, OUTPUT, PID_UART1_TX, false);
// gpio_configupin (GPIO_UART1_RX_PORT, GPIO_UART1_RX_PIN, INPUT_PULLUP, PID_UART1_RX, false);

GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_CS_PIN, OUTPUT, PID_SPI_EN, true);
GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_CLK_PIN, OUTPUT, PID_SPI_CLK, false);
GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_DO_PIN, OUTPUT, PID_SPI_DO, false);
GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_DI_PIN, INPUT, PID_SPI_DI, false);

/*
#如果(UART_HW_FLOW_ENABLED)
gpio_configupin (GPIO_UART1_RTS_PORT, GPIO_UART1_RTS_PIN, OUTPUT, PID_UART1_RTSN, false);
gpio_configupin (GPIO_UART1_CTS_PORT, GPIO_UART1_CTS_PIN, INPUT_PULLUP, PID_UART1_CTSN, false);
# endif / / UART_HW_FLOW_ENABLED

# ifdef CFG_PRINTF_UART2
gpio_configupin (GPIO_UART2_TX_PORT, GPIO_UART2_TX_PIN, OUTPUT, PID_UART2_TX, false);
gpio_configupin (GPIO_UART2_RX_PORT, GPIO_UART2_RX_PIN, INPUT, PID_UART2_RX, false);
# endif
* /


我也有undef的#undef CFG_DEVELOPMENT_DEBUG
删除了EXT-SPI闪存的cs引脚的上拉。

我在开发板上检查了同一个项目,仍然是230uamp,所以我不认为硬件泄漏是导致当前消耗的原因

有什么问题..........??还有其他选择吗

谢谢你!

MT_dialog
离线
最后看到:3个月前3个星期前
工作人员
加入:2015-06-08 34
嗨prasanth,

嗨prasanth,

所以你已经测试了这个设备,基本上没有flash和额外的I2C组件,你的fw仍然消耗大约230uA。这没有明显的原因,我的意思是,如果设备在进行测量时处于唤醒状态,功耗应该远远高于230uA。由于580上没有连接设备(内存设备,I2C传感器等),我能想到的唯一方法是可能会消耗这种功率,可能是通过UART引脚的某种泄漏,尽管我在DSPS参考设计上没有看到这样的东西,你有没有试过移除UART连接,并检查这是否会降低当前的消耗。

由于MT_dialog

prasanth.velliy……
离线
最后看到:1年12个月前
加入:2016-02-18 12:18
嗨,Dilaog团队

嗨,Dilaog团队

谢谢你的回复。

你有没有试过移除UART连接并检查这是否会降低你当前的消耗??
Q1:如何删除,你的意思是在peri_setup .c中注释??

Q2:我已经启用了spi_flash_power_down,在DSPS_DEVICE项目中,我正在获得睡眠电流160ua,如果我禁用176ua,我没有看到大的差异…

Q3:如你所说,如果定制板有其他泄漏,如何测量或发现泄漏

Q4:我使用了一些未使用的GPIO引脚作为测试点,这会导致任何泄漏吗?

Q5:在RFIOp中,为了匹配,我们增加了1.2pf和3.9nh离散组件(在PI网络中,R3 -> 1.2pf, R4 ->开放,R5 -> 3.9nh),这会导致任何问题吗?

Q6:在ext sleep mode - i2c gpio高,我得到3v,这是一个问题吗?如果是,我可以低开吗?