This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ25120:通过 I2C 配置几秒钟后、SYSOUT 电压恢复为默认值

Guru**** 2587345 points
Other Parts Discussed in Thread: BQ25120

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/754556/bq25120-sysout-voltage-return-to-default-value-after-a-few-sec-of-configuration-via-i2c

器件型号:BQ25120

通过 I2C 配置几秒钟后、BQ25120 SYSOUT 电压恢复为默认值。  

我们一直将引脚 NCD 引脚上拉为高电平、在写入所有寄存器后、我们已读取并验证所有寄存器值。 所有这些都是我们写入寄存器的值。

 

观察结果:如果我们通过 I2C 不断读取系统寄存器(0x06)值、SYSOUT 电压不会下降

这是我们的寄存器配置。

#define BQ25120_SLAVE_ADDR 0x6A
#define BQ25120_BTTN_REG 0x08
#define BQ25120_SYS_REG 0x06
#define BQ25120_LDO_REG 0x07
#define BQ25120_FAST_CHRG_REG 0x03
#define BQ25120_PRECHRG_REG 0x04
#define BQ25120_BATTV_CTRL_REG 0x05
#define BQ25120_ILIM_CTRL_REG 0x09


/**
*@PMIC_INIT 的简短函数。
*
*/
void PMIC_init (void)
{
RET_CODE_t ERR_code;

/*BQ25120寄存器配置*/
uint8_t bttn_config[2]={BQ25120_BTTN_REG、0xFC};
uint8_t sysv_config[2]={BQ25120_SYS_REG、0xf8};
uint8_t LDO_config1[2]={BQ25120_LDO_REG、0x44};
uint8_t LDO_config2[2]={BQ25120_LDO_REG、0xC4};
uint8_t FAST_CHRG_CONFIG[2]={BQ25120_FAST_CHRG_REG、0x90};
uint8_t prechrg_config[2]={BQ25120_PRECHRG_REG、0x8A};
uint8_t batt_vol_config[2]={BQ25120_BATTV_CTRL_REG、0x78};
uint8_t ILIM_CONFIG[2]={BQ25120_PRECHRG_REG、0x22};

/*配置 BQ25120寄存器*/
/*按钮控制寄存器,第一次唤醒事件600ms,第二次唤醒事件1.5s */
ERR_code = nrf_drv_twi_TX (&m_tw1、BQ25120_slave_ADDR、bttn_config、sizeof (bttn_config)、false);
APP_ERROR_CHECK (ERR_code);
/*SYS VOUT 控制寄存器,范围1.8V~3.3V,SYS 输出为3V*/
ERR_code = nrf_drv_twi_TX (&m_tw1、BQ25120_slave_ADDR、sysv_config、sizeof (sysv_config)、false);
APP_ERROR_CHECK (ERR_code);
/*负载开关和 LDO 控制寄存器,范围1.8V~3.3V,SYS 输出为3V*/
ERR_code = nrf_drv_twi_TX (&m_tw1、BQ25120_slave_ADDR、LDO_config1、sizeof (LDO_config1)、false);
APP_ERROR_CHECK (ERR_code);
/*负载开关和 LDO 控制寄存器,范围1.8V~3.3V,SYS 输出为3V*/
ERR_code = nrf_drv_twi_TX (&m_tw1、BQ25120_slave_ADDR、LDO_config2、sizeof (LDO_config2)、false);
APP_ERROR_CHECK (ERR_code);
/*快速充电电流控制寄存器,ISET 引脚连接到2.49k 欧姆电阻器以获得80mA 充电电流*/
ERR_code = nrf_drv_twi_TX (&m_tw1、BQ25120_slave_ADDR、FAST_CHRG_CONFIG、sizeof (FAST_CHRG_CONFIG)、false);
APP_ERROR_CHECK (ERR_code);
/*预充电电流控制寄存器,10%预充电/终止电流(8mA)*/
ERR_code = nrf_drv_twi_TX (&m_tw1、BQ25120_slave_ADDR、prechrg_config、sizeof (prechrg_config)、false);
APP_ERROR_CHECK (ERR_code);
/*电池电压控制寄存器,充电电压4.2V (默认值)*/
ERR_code = nrf_drv_twi_TX (&m_tw1、BQ25120_slave_ADDR、batt_vol_config、sizeof (batt_vol_config)、false);
APP_ERROR_CHECK (ERR_code);
/*输入电流和电压保护控制寄存器,输入电流200mA,UVLO 3.0V*/
ERR_code = nrf_drv_twi_TX (&m_tw1、BQ25120_slave_ADDR、ILIM_CONFIG、sizeof (ILIM_CONFIG)、false);
app_error_check (err_code);
}