嗨对话小组
我正在使用我们自己的定制板,电池电量,降压模式,带有DSPS设备项目的外部闪光灯DA14580,添加了I2C驱动器(SDA,带有拉向上寄存器的SCL - 10K连接到VBAT3V),一旦数据发送到掌握BLE设备,DSP设备断开并进入延长睡眠,我已经使用数字万用表(DMM)检查了功耗,
广告 - 512UA,
连接,数据xt - 776ua
睡觉 - 322ua,
我已经测试了Murata P2ML 3656 - Murata LBCA2HNZYZ) - ZY DEV板的相同DSP设备项目 - 带DMM和Power Profiler(具有I2C驱动程序,静态数据)
广告- 240ua,
连接,数据XT - 537UA
睡觉 - 110ua,
我也测试了与对话框DA14583相同的设置
广告 - 250ua,
连接,数据XT - 313 - 512 UA
睡眠- 227 ua,我得到…
为什么我无法获得1.3u安培或附近?Plaese帮助我解决这个问题?
谢谢对话团队
设备:
嗨prasanth,
DSP项目的永久性睡眠永远不会落在永久性睡眠中,它始终继续广告或保持连接在连接间隔或广告间隔之间存在并睡眠。因此,如果在您的固件中,您将在永久睡眠中设置设备,并且您可以在睡眠功能上进行休眠功能,然后您应该看到靠近1.3ua的值。您在电路板上的其他设备可以添加额外的消耗(我想电路板上有一个I2C内存,因此额外的功耗可能来自该设备)或通过yoru板上的泄漏。此外,您提到的值我认为它们是仪器测量的平均值。请检查教程4:在“文档”选项卡中配置睡眠模式在“睡眠期间”如何正确测量功耗的文档中。
由于MT_dialog
在DSP设备项目项目中,一旦数据TX到掌握完成,我们就会让DSP设备睡眠5分钟,我能够看到设备不广告5分钟,只有DSP设备才能广告。所以睡眠正常工作,不是吗?
温度和湿度传感器的I2C驱动器,环境光传感器。
正如你所说的,如果硬件问题,为什么在DA14583物联网套件中我也得到了相同的,(通过连接万用表,到智能带物联网BLE板的开关,电池端ti万用表正,ckt端mutimeter com)
谢谢对话框
嗨对话框
PFA。电力分析器图形
谢谢
嗨prasanth,
从电力分布器来看,我可以看到设备睡觉并醒来所以是的,设备应该睡觉,因为你的电路板上有传感器,你的传感器消耗电源额外的电源,它不仅是消耗电力的580。关于IOT,因为它还具有额外的传感器,并且当设备睡眠时,您无法获得大约1.4UA,所以消耗的电流约为11ua。
由于MT_dialog
你好,
您需要切断闪光灯的供应,以降低电流消耗。
嗨Wisilica
感谢你的回复。
那么DA14583 IOT智能债券套件如何给出11uA,这也使用“切断SPI供应”配置..请给我一些更多细节......
I2C传感器有10K上拉,这会导致任何问题吗??......如何解决这些......?
谢谢你!
嗨对话框
https://support.dialog-semicondiondiondiondum/issues-external-pi-flash.
如上文帖子所示,辅助引导程序将修复此问题(对于DA14580)??
谢谢你!
嗨prasanth,
物联网,flash在低功耗模式下,当其未使用(它仍然消耗一些能量,但不如全功能时),它还设置额外的传感器在低功耗模式下,你可以检查spi_flash_power_down spi_flash.c文件()函数。正如我上面提到的,您必须检查系统上的其他模块是否消耗了额外的电力。
关于你上面粘贴的帖子是否会解决您的问题,您是否确定您的自定义设备消耗的额外功率来自外部闪光灯?二级引导程序的原因是,如果您卸下闪光灯,并且您想重置ROM Bootloader没有能够唤醒闪光灯的功能,那就是辅助引导加载程序来加电闪存因此,580将正常启动。因此,从这种额外的功耗从(存储器,传感器等)来看。
由于MT_dialog
嗨对话框
如何在DSP设备项目中使用SPI_FLASH_POWER_DOWN()(对于DA14580和DA14583),是否有任何示例项目或文档?
PFA在我的定制板中的外部外围设备,我也在DSP中使用这种电池电平监控,
我有两个定制板,一个带DA14580BLE,另一个带DA14583,如果SPI闪光灯绘制更多的电源,为什么既有定制板电流消耗几乎相同?与DA14583的定制板应显示较少,对右?
嗨prasanth,
从需求方的例子多恩不使用flash没有例子,但参考设计开发flash有此功能,只需调用函数我上面提到为了powerdown flash,像灯塔一样,函数的实现位于spi_flash.c司机。
我无法预见为什么您的电路板上有额外的电流,因为这取决于一个相当大量的因素,您必须将一个逐一检查一个增加功耗,检查其他设备。583有一个嵌入式闪光灯,你提到580有一个外部闪光灯,所以我想如果你不向闪光灯供电,你将最终获得类似的功耗,因为我之前提到了583上的闪光灯需要如果这是问题,也可以断电。
由于MT_dialog
嗨对话框
https://wenku.baidu.com/view/20871b8127d3240c8547efd2.html
i have follow above link to use spi_flash_power_down() in DSPS_Device, but not working,…
从信标项目中,在每次读/写操作spi_flash_power_down()被调用后,但在DSP设备项目中,我没有向SPI Flash做任何读/写,那么我必须从哪个函数调用这个spi_flash_power_down(),所以它会有道理。
比你
嗨prasanth,
我提到了flash power down命令,以便发送这种命令给flash,以检查flash是否消耗了你在你的板上看到的额外的电力。所以你可以调用它来检查消耗是否会下降,如果你没有看到任何影响,那么其他东西正在消耗额外的电流。
由于MT_dialog
即使我们在调用SPI_FLASH_POWER_DOWN()时也没有看到电源下降。不得不通过GPIO来控制闪存的电源,电源关闭闪光灯。
嗨对话框
Q 1。在我们的自定义板DA14580 - 使用外部闪存时,我已删除所有上拉寄存器(10k)并测试,我无法通过SmartSnippet闪存/擦除SPI内存,如果我在CS引脚中提出上床,它正在工作,但在信标和智能标签设计我没有看到CS引脚的任何上床?
谢谢对话框
嗨prasanth,
信标或智能标签上的CS或任何开发套件中没有上拉,如果这是您的问题。一个疯狂的猜测,也许还有其他东西也在推动CS线,这可能是定制板上的电气问题,这导致您的SPI线上的电感噪音?
由于MT_dialog
嗨对话框
谢谢对话框,现在我可以不用上拉寄存器就可以使用SPI flash了。
在DSPS设备项目中
如果我调用spi_flash_power_down periph_init内()()“user_periph_setup.c”,我闪过这段代码,我的设备不是广告后一段时间,同时在这之后擦除spi闪我面对错误,在物联网项目中,spi_flash_power_down()调用,而读/写配置参数,但在需求方如何使用这个API ?
谢谢对话框
嗨prasanth,
peri_init()是一个函数,在每次设备唤醒时执行,如果在某个点后设备停止或给你错误,你将不得不通过调试检查实际原因。无论如何,没有适当的点,你将把电源下电的闪存,该函数应该被调用后接口与闪存,例如读取或写入数据后(正如物联网使用它)。现在,出于某种原因,当DSPS运行时,flash是通电的,你可以在app_on_init()回调中调用函数,这应该没问题。
由于MT_dialog
嗨对话框
正如您所建议的,我正在调用user_on_init()中的spi_flash_power_down()
void user_on_init(void)
{
// SPS应用程序初始化
user_scheduler_init();
default_app_on_init();
da14580_spi_flash_init();
da14580_spi_flash_deinit();
}
void da14580_spi_flash_init(void)
{
spi_pad_t cs_pad_param;
Int8_t man_dev_id = 0;
cs_pad_param.port = spi_en_gpio_port;
cs_pad_param。销= SPI_EN_GPIO_PIN;
man_dev_id = spi_flash_enable(cs_pad_param.port,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);
}
}
void da14580_spi_flash_deinit(void)
{
spi_flash_power_down ();
}
但我仍在休眠期间获得235ua
作为menitone din smart_tag项目,我已经更改user_peri_setup .c
#if development_debug.
void gpio_reservations(无效)
{
/ *
*全球保留GPIO预订
* /
/ *
*应用特定GPIO预订。仅在开发模式(#if development_debug)使用
即。
保留_gpio(descriptiply_name,gpio_port_0,gpio_pin_1,pid_gpio);//保留P_01作为通用用途I / O.
* /
//保存gpio (uart1_tx, gpio_uart1_tx_port, gpio_uart1_tx_pin, pid_uart1_tx);
//保留_GPIO(UART1_RX,GPIO_UART1_RX_PORT,GPIO_UART1_RX_PIN,PID_UART1_RX);
保留_gpio(i2c_scl,i2c_gpio_port,i2c_scl_pin,pid_i2c_scl);/ /副总裁
保留_gpio(i2c_sda,i2c_gpio_port,i2c_sda_pin,pid_i2c_sda);/ /副总裁
保留_GPIO(LED_PORT,GPIO_PORT_1,GPIO_PIN_1,PID_GPIO);
Letail_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);
保留_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)
保留_GPIO(UART1_RTS,GPIO_UART1_RTS_PORT,GPIO_UART1_RTS_PIN,PID_UART1_RTSN);
保留_GPIO(UART1_CTS,GPIO_UART1_CTS_PORT,GPIO_UART1_CTS_PIN,PID_UART1_CTSN);
#万一
#ifdef cfg_printf_uart2.
Reserve_gpio (uart2_tx, gpio_uart2_tx_port, gpio_uart2_tx_pin, pid_uart2_tx);
预留gpio (uart2_rx, gpio_uart2_rx_port, gpio_uart2_rx_pin, pid_uart1_rx);
#万一
* /
}
#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为通用目的输出
* /
GPIO_CONFIGUREPIN(LED_PORT,LED_PIN,输出,PID_GPIO,TRUE);
gpio_configurepin(i2c_gpio_port,i2c_scl_pin,输入,pid_i2c_scl,false);/ /副总裁
GPIO_ConfigurePin(I2C_GPIO_PORT, I2C_SDA_PIN, INPUT, PID_I2C_SDA, true);/ /副总裁
// gpio_configurepin(gpio_uart1_tx_port,gpio_uart1_tx_pin,输出,pid_uart1_tx,false);
// gpio_configurepin(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,输出,pid_spi_do,false);
gpio_configurepin(spi_gpio_port,spi_di_pin,输入,pid_spi_di,false);
/ *
#如果(UART_HW_FLOW_ENABLED)
gpio_configurepin(gpio_uart1_rts_port,gpio_uart1_rts_pin,输出,pid_uart1_rtsn,false);
gpio_configurepin(gpio_uart1_cts_port,gpio_uart1_cts_pin,input_pullup,pid_uart1_ctsn,false);
#endif // uart_hw_flow_enabled.
#ifdef cfg_printf_uart2.
gpio_configurepin(gpio_uart2_tx_port,gpio_uart2_tx_pin,输出,pid_uart2_tx,false);
gpio_configurepin(gpio_uart2_rx_port,gpio_uart2_rx_pin,输入,pid_uart2_rx,false);
#万一
* /
}
我也有undef the #undef cfg_development_debug
移除了EXT-SPI flash的cs引脚上拉。
我已经检查了DEV板中的相同项目,仍然是230umps,所以我不认为硬件泄漏导致电流消耗
可能有什么问题..........??还有其他的选择吗
谢谢
嗨prasanth,
因此,您已经在没有Flash和您在自定义板上的额外I2C组件的情况下测试了该设备,并且您的FW仍然消耗大约230UA。没有明显的原因,我的意思是,如果设备在拍摄测量时设备是醒目的,则功耗应高于230A。没有在580(内存设备,I2C传感器等)上附有设备,我可以考虑这一点可能会消耗这种权力,也许通过UART引脚泄漏,尽管我无法看到这样的东西在DSP参考设计上,您是否尝试过删除UART连接并检查这是否会降低当前的消耗。
由于MT_dialog
嗨Dilaog团队
感谢你的回复..
您是否尝试过删除UART连接并检查此是否会丢弃当前的消耗?
如何删除,你的意思是注释在外围_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 -> open, R5 -> 3.9nh),这会造成什么问题吗??
Q6:在ext sleep模式下- i2c gpio很高,我得到了3v,这是一个问题吗?如果是,我能开低一点吗??