嗨对话小组
我使用自己的自定义,电池操作,巴克模式,Da14580与需求方与外部flash设备项目,添加i2c司机(SDA sci,打开注册- 10 k与VBAT3v),一旦数据发送到主保佑设备,扩展dsp设备断开和进入睡眠,我已经用数字万用表(DMM)检查了功耗,
广告 - 512UA,
连接,数据xt - 776ua
睡眠- 322ua,
我已经测试了相同的DSPS设备项目与Murata P2ML 3656 - Murata LBCA2HNZYZ) - Type ZY Dev Board,与DMM和功率分析器(没有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板的通/断开关,电池端为万用表正极,ckt端为万用表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引导装载程序没有醒来flash的能力,这在二级引导装载程序掌权的flash, 580年将会正常启动了。所以检查一下这些额外的能量消耗来自哪里(内存,传感器等)。
由于MT_dialog
嗨对话框
如何在DSP设备项目中使用SPI_FLASH_POWER_DOWN()(对于DA14580和DA14583),是否有任何示例项目或文档?
PFA在我的定制板中的外部外围设备,我也在DSP中使用这种电池电平监控,
我有两个自定义板,一个与DA14580BLE,另一个与DA14583,如果SPI flash绘制更多的功率,为什么两个自定义板的电流消耗几乎相同?带有DA14583的定制板应该显示较少,对吗?
嗨prasanth,
从需求方的例子多恩不使用flash没有例子,但参考设计开发flash有此功能,只需调用函数我上面提到为了powerdown flash,像灯塔一样,函数的实现位于spi_flash.c司机。
我不能预见为什么在你的板上有额外的电流,因为这取决于相当多的因素,你将不得不检查一个一个增加你的功耗,检查额外的设备。583年嵌入式flash和你提到580年外部闪光灯,所以我想,如果你不闪了你会得到类似的功耗,正如我前面提到的flash在583年需要关闭,如果这是个问题。
由于MT_dialog
嗨对话框
https://wenku.baidu.com/view/20871b8127d3240c8547efd2.html
我已经跟随上面的链接使用spi_flash_power_down()在DSPS_Device,但不工作,…
从灯塔项目,每个读/写操作后spi_flash_power_down()调用,但在需求方设备项目我不做任何读/写SPI Flash,那么到底从哪个函数我必须调用此spi_flash_power_down(),这将是有意义的。
比你
嗨prasanth,
我提到了闪光灯电源下命令,以发送这种命令,以检查闪光灯是否消耗额外的力量,你看到你的板。所以你可以调用它来检查消耗是否会下降,如果你没有看到任何影响,那么其他东西正在消耗额外的电流。
由于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,
peripher_init()是一个在每次设备唤醒时执行的函数,如果在某个点之后设备停止或出现错误,则必须通过调试来检查实际原因。无论如何,没有合适的点,你将放置闪光灯的电源,该功能应该在与闪光灯接口后立即调用,例如在读取或写入数据后(因为物联网使用它)。现在,出于某种原因,flash在DSPS运行时启动了,你可以调用app_on_init()回调中的函数,这应该没问题。
由于MT_dialog
嗨对话框
正如您所建议的,我在user_on_init()中调用了spi_flash_power_down()
空白user_on_init(空白)
{
// SPS应用程序初始化
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。销= 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_peripher_setup .c
#if 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
* /
//保留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);
保留_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);/ /副总裁
保留_GPIO(LED_PORT,GPIO_PORT_1,GPIO_PIN_1,PID_GPIO);
Letail_GPIO(SPI_CS,SPI_GPIO_PORT,SPI_CS_PIN,PID_SPI_EN);
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);
Reserve_gpio (uart1_cts, gpio_uart1_cts_port, gpio_uart1_cts_pin, pid_uart1_ctsn);
#万一
# ifdef CFG_PRINTF_UART2
保留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 / / 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_configurein (GPIO_UART1_TX_PORT, GPIO_UART1_TX_PIN, OUTPUT, PID_UART1_TX, false); // gpio_configurein (GPIO_UART1_TX_PORT, GPIO_UART1_TX_PIN, OUTPUT, 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, OUTPUT, 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_configurein (GPIO_UART2_TX_PORT, GPIO_UART2_TX_PIN, OUTPUT, PID_UART2_TX, false);
GPIO_ConfigurePin(GPIO_UART2_RX_PORT, GPIO_UART2_RX_PIN, INPUT, 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连接并检查此是否会丢弃当前的消耗?
如何删除,你的意思是在peripher_setup .c中注释??
Q2:我已经启用了SPI_FLASH_POWER_DOWN,在DSPS_DEVICE项目中,我正在睡觉当前160UA,如果我禁用176UA,我没有看到大差异......
Q3:如你所说,如果定制板有其他泄漏,如何测量或发现泄漏
我使用了一些未使用的GPIO引脚作为测试点,会不会造成泄漏??
Q5:在RFIOp的匹配中,我们增加了1.2pf和3.9nh的分立元件(在PI网络中,R3 -> 1.2pf, R4 -> open, R5 -> 3.9nh),这会导致什么问题吗??
Q6:在ext睡眠模式下,i2c gpio高,我得到3v,这是一个问题吗?如果可以,我可以低开吗??