Other Parts Discussed in Thread: BQ24259,
Tool/software:
Hi Sir,
We are using the BQ24259 Charger IC, and there is a low probability of anomalies occurring on the production line. The anomaly is as follows:
1. We use the MCU's I2C to put the charger IC into shipping mode. However, on the production line, it has been observed that after entering shipping mode,
the device may spontaneously restart after an unknown period of time, effectively exiting shipping mode on its own.
The current approach is as follows: we first write 00 to REG05[5:4] (WDT disable), then write 1 to REG07[5].
Is there anything in this process that needs improvement?
void en_shipping_mode()
{
BQ24295_WRITE_REG(0x05, 0x8c);
BQ24295_WRITE_REG(0x07, 0x6b);
g_shipping_flag = 1;
}
2. We use the MCU's I2C to send disable charging/enable charging commands to the charger IC to ensure the shipping voltage meets customer requirements
(automatically charge when SOC is below 60%, stop charging when SOC is above 70%). However, there have been voltage anomalies on the production line,
meaning that the charging and disable charging commands sent to the charger IC may fail.
The current approach is as follows: to enable charging, we write 1 to REG01[4]; to disable charging, we write 1 to REG01[4]. However, we do not first write 00 to REG05[5:4] (WDT disable).
Is there anything in this process that needs improvement?
#define BQ24295_REG_PWR_ON_CONFIG (uint8_t)(0x01)
u8_data = BQ24295_READ_REG(BQ24295_REG_PWR_ON_CONFIG);
if(en == 0)
{
//stop charging
u8_data = u8_data & 0xEF; //set bit 4 to 0
}
else
{
//start charging
u8_data = u8_data | 0x10; //set bit 4 to 1
}
BQ24295_WRITE_REG(BQ24295_REG_PWR_ON_CONFIG,u8_data);
u8_data = BQ24295_READ_REG(BQ24295_REG_PWR_ON_CONFIG);
Additionally, in the following section, it is mentioned that when switching to host mode, it is necessary to write 1 to REG01[6]. Is this a required step in the process?
We are currently not performing this action and are unsure if it has any impact.
Thanks.