Other Parts Discussed in Thread: BQ25121A
Hi,
I would like to reopen the following topics
I have tried to turn off the NCD after write but the same problem persist. The SYSout still reset to 1.8v. Please advice.
void pmic_init (void) { ret_code_t err_code; /*BQ25120 register configuration*/ uint8_t bttn_config[2]; uint8_t sysv_config[2]; uint8_t ldo_config1[2]; uint8_t ldo_config2[2]; uint8_t fast_chrg_config[2]; uint8_t prechrg_config[2]; uint8_t batt_vol_config[2]; uint8_t ilim_config[2]; uint8_t ts_ctrl_config[2]; nrf_gpio_cfg_output(PMIC_NCD); nrf_gpio_pin_write(PMIC_NCD,1); nrf_delay_ms(10); bttn_config[0]= BQ25120_BTTN_REG; bttn_config[1]= 0xFC; sysv_config[0]= BQ25120_SYS_REG; sysv_config[1]= 0xF8; ldo_config1[0]= BQ25120_LDO_REG; ldo_config1[1]= 0x44; ldo_config2[0]= BQ25120_LDO_REG; ldo_config2[1]= 0xC4; fast_chrg_config[0]= BQ25120_FAST_CHRG_REG; fast_chrg_config[1]= 0x90; prechrg_config[0]= BQ25120_PRECHRG_REG; prechrg_config[1]= 0x8A; batt_vol_config[0]= BQ25120_BATTV_CTRL_REG; batt_vol_config[1]= 0x78; ilim_config[0]= BQ25120_PRECHRG_REG; ilim_config[1]= 0x22; ts_ctrl_config[0] = BQ25120_TS_CTRL_REG; ts_ctrl_config[1] = 0x08; /* configure BQ25120 register */ /*Push-button Control Register, 1st wake up event at 600ms, 2nd wakeup event at 1.5s*/ err_code = nrf_drv_twi_tx(&m_twi1, BQ25120_SLAVE_ADDR, bttn_config, sizeof(bttn_config), false); APP_ERROR_CHECK(err_code); /*SYS VOUT control Register, Range 1.8V~3.3V, SYS output at 3V*/ err_code = nrf_drv_twi_tx(&m_twi1, BQ25120_SLAVE_ADDR, sysv_config, sizeof(sysv_config), false); APP_ERROR_CHECK(err_code); /*Load Switch and LDO control Register, Range 1.8V~3.3V, SYS output at 3V*/ err_code = nrf_drv_twi_tx(&m_twi1, BQ25120_SLAVE_ADDR, ldo_config1, sizeof(ldo_config1), false); APP_ERROR_CHECK(err_code); /*Load Switch and LDO control Register, Range 1.8V~3.3V, SYS output at 3V*/ err_code = nrf_drv_twi_tx(&m_twi1, BQ25120_SLAVE_ADDR, ldo_config2, sizeof(ldo_config2), false); APP_ERROR_CHECK(err_code); /*Fast Charging current control Register, Iset pin connects to 2.49kohm resistor for 80mA charging current*/ err_code = nrf_drv_twi_tx(&m_twi1, BQ25120_SLAVE_ADDR, fast_chrg_config, sizeof(fast_chrg_config), false); APP_ERROR_CHECK(err_code); /*Pre-charge current control Register, 10% pre-charge/termination current (8mA)*/ err_code = nrf_drv_twi_tx(&m_twi1, BQ25120_SLAVE_ADDR, prechrg_config, sizeof(prechrg_config), false); APP_ERROR_CHECK(err_code); /*Battery Voltage Control Register, Charging voltage 4.2V (default)*/ err_code = nrf_drv_twi_tx(&m_twi1, BQ25120_SLAVE_ADDR, batt_vol_config, sizeof(batt_vol_config), false); APP_ERROR_CHECK(err_code); /*Input current and voltage protection control Register, Input current 200mA, UVLO 3.0V*/ err_code = nrf_drv_twi_tx(&m_twi1, BQ25120_SLAVE_ADDR, ilim_config, sizeof(ilim_config), false); APP_ERROR_CHECK(err_code); /* enable charging interrupt pin */ err_code = nrf_drv_twi_tx(&m_twi1, BQ25120_SLAVE_ADDR, ts_ctrl_config, sizeof(ts_ctrl_config), false); APP_ERROR_CHECK(err_code); nrf_gpio_pin_write(PMIC_NCD,0); nrf_delay_ms(50); }