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: Managing the charge cycle and status

Part Number: BQ24250

Hi all,

I'm developing a battery device with cc3220 and I bought the Fuel Tank MKII Battery BoosterPack. I've download the code for MSP device (I'll make the port ing for CC3220 in the next days) but I discover that the example code communicates only with the fuel gauge IC, nothing about the BQ24250. 

1) It is to be considered standalone mode functioning?

2) About I2C, I read that, from the stand alone mode, when the IC  intercepts an I2C communication, it switch in host mode, using register values instead defaults values. This is true if I'd like read status register without change register parameters?

3) About faults and safety register, I read that when the latter expires, the charge process is stopped. How have I to do to restart the process ? which register have  I to set / reset ?

4) In the boosterpack schematics, the CE pin is low bu a pulldown resistor, this mean that the charge process is always active ? In standalone mode, if the safety timer expires, who is to restart the charge process?

My goal is to manage all with less pin possible apart the I2C bus.

Sorry for the questions but I found little informations on the datasheet.

Riccardo

  • Riccardo,

    The bq24250 battery charger has an analog state machine (i.e. no embedded processor) that makes decisions based on internal current and voltage measurements as compared to internal I2C register settings. The default register values work for most applications but can be changed.

    Regarding 1, that is a question for the CC3220 team who released the BoostPack. I suggest posting this question to their forum.
    Regarding 2, The charger enters host mode after an I2C write not a read. To remain in host mode, you either have to write to the watchdog timer or any other register before the timer expires. If you change the register values in host mode and then do not write to stay in host mode, the registers return to default values.
    Regarding 3, resuming charge after most faults simply requires that the fault condition be removed. Resuming charge after the safety timer expires can be achieved by:
    -Toggling /CE pin or bit
    -remove and replace input only.
    -Complete POR of input and battery.
    -Remove and replace battery only
    -Toggle HiZ mode (either pin or bit)
    -Write to I2C safety timer register to disable then re-enable or change the time

    Regarding 4, with /CE pin low and the /CE low, charge is active all the time. Toggling the /CE pin or bit resumes charger after the timer expires.
  • Hi Jeff,

    thanks for your reply. So a small interaction by a microcontroller is required to manage the most important faults that require an action to restart the charge, now the choose is between pin management  or by I2C management. I think I'll use the latter to reduce the number of pin used by MCU, and however I need use I2C to read the status registers.

    A question:

    you told me that the I2C mode starts with a write operation; if I have to execute a write for disable and enable the charge after a fault (without write the charge parameters registers), I have to rewrite the charge parameter registers also or the defaults values used in the standalone mode are retained until they are deliberately overriden (operation that I don't execute cause I write on the CE register only)?

    Thanks again!

    Riccardo

  • Riccardo,

    You can either continuously write to the WD timer every 30 secs (reg1 bit7) or so or you can disable it (reg1 bit6) to keep the charger in host mode and prevent reset to default I2C settings.