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.

BQ24250: Unintended register initialization after setting CE pin to Hi level

Part Number: BQ24250

We applied bq24250 for our product.
We are evaluating it and found unintended behavior of bq24250.

Our system switches battery charging enable / disable by setting CE pin of bq24250 at an arbitrary timing.
We found registers in bq24250 were unintentionally initialized after setting CE pin to Hi level.

It was unintended behavior for us because those resisters were set only one time at the system startup.

Is it the hidden spec of bq24250?
If so, we'd like to know other events that will cause register initialization.

Best regards,

  • Hi Tomohiro,

    Are you resetting the watchdog timer?

    Register #1 [6] "WD_EN" needs to either be set to 0 to disable it, or periodically set to 1 to reset the timer. If you are not doing either of these things, the register settings will be reset to their default values.


    Regards,
    Joel H
  • Dear Joel san,

    Thank you for your answer.

    We had not set WD_EN to 1. Its default state is 0, so the watchdog should be disable.
    We didn't find the register settings being reset except for setting CE pin to Hi, so we think the watchdog didn't affect the issue.

    Best regards,
  • Hello Kawachi-san,

    Could you please provide your register settings before and after you set /CE --> HI?

    I am curious what register settings are getting changed.

    Regards,

    Joel H

  • Dear Joel-san,

    Before /CE --> HI:
    Add. 0x03 0xf4
    Add. 0x04 0x28

    After /CE --> HI:
    Add. 0x03 0xf8
    Add. 0x04 0xa8

    Best regards,
  • Hey Tomochiro,

    Are these the only register that change states when you go from /CE low to high?

    if you pull /CE from high to low, do they return to your original setting?

    What type of input source is detected by the charger? REG 0x02 [1:0]

    What is your input current limit set to? REG 0x01 [6:4]

    What is the voltage at the battery pin before and after this event.

    Could you take a waveform showing VBUS voltage, VBAT voltage, VSYS, and STAT pins?

    Do you have a schematic of your design?

    One last comment refers to Figure 4 of the datasheet "Host Mode and Stand Alone Mode Handoff". Please ensure that the charger is not switching between these two modes, which will reset the registers to their default state. 

    Regards,

    Joel H

    Regards,

    Joel H

  • Dear Joel-san,

    Thank you very much for your comments.

    Actually, I found the problem was caused by our firmware's bug.

    The firmware toggles /CE bit of register add. 0x01 when STAT_[1:0] of add. 0x00 is 00.
    This is for avoiding not charging when TS_STAT[2:0] of register add. 0x05 changes from 011 to 000.
    STAT_[1:0]=00 happened not only the above situation but also external /CE pin setting to Hi.

    Regarding toggling /CE bit, the firmware reads all bits of add. 0x01 and changes only /CE bit and then writes the all bits.
    I found the read value of add. 0x01 was 0xec and the written value was 0xee and then 0xec, which made all registers resetting.
    We should have written 0x6e and 0x6c instead of 0xee and 0xec.

    I apologize for bothering you so much.
  • Hey Tomohiro-san,

    No problem at all. 

    I am glad you found the solution to your problem.

    Let us know if you have any more questions in the future.

    Regards,

    Joel H