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: Questions and Clarifications

Part Number: BQ25120

We have had a lot of issues using this part (and are starting to regret choosing it). Could you provide some answers to the questions below:

  1. Are the registers non-volatile? So if we write to them and then remove all power their values are retained (indefinitely)?
  2. The data sheet describes them as "OTP" meaning "One Time Programmable", yet we believe they can be changed at any time. Is this correct? If so, could the datasheet terminology be improved.
  3. We use an external MCU to control the BQ25120 via I2C. If we proceed as follows, it looks like the registers are volatile?
    1. Connect Vbat (4.2v for example)
    2. We see SYS go to 1.8v default (as expected)
    3. Run the MCU code to programme the registers
    4. We see SYS go to 3.3v (as expected)
    5. Disconnect Vbat (set it to 0v)
    6. Re-connect Vbat
    7. Registers are reset and SYS is 1.8v again
  4. The data sheet often refers to specific FETs (e.g. "the battery discharge FET"), but the functional block diagram just labels them Q1 to Q7. Could you supply names for each of these FETs?
  5. The I2C timer can be stopped by pulling CD low when in active battery mode. How can it be stopped when Vin is present? Toggling CD in this case just changes the charge enable/disable.
  6. It seems from other threads that there are issues when connecting and disconnecting Vin (e.g. USB). Until the new part arrives, what is the approved work around? To disable VINDPM (via register 0x0B VINDPM_ON = 0)?
  7. If we get a fault (STAT_0 = STAT_! = 1), how can this be cleared? We have had a lot of difficulties with this.
  8. We now have several boards made up using the current BQ25120 part which we do not feel we can take to production. We need to know when the new BQ25120A part will be ready so we can decide what action to take and what impact this will have on our launch dates. Could you please supply your current plan for release?

Regards,

Paul

  • Paul,

    Sorry to hear that. let me know what issues you are having. Great questions I hope to clarify on the datasheets soon.

    here are the responses-
    Are the registers non-volatile? So if we write to them and then remove all power their values are retained (indefinitely)?
    GR: No the registers go back to the settings that were programmed on the production flow. on the BQ25120, Once you remove power, the device will go back to the datasheet defaults.

    The data sheet describes them as "OTP" meaning "One Time Programmable", yet we believe they can be changed at any time. Is this correct? If so, could the datasheet terminology be improved.
    GR: We have removed references to the BQ25120 OTP in the newer datasheet waiting to be published. Yes, OTP is one time programmable and we burn the OTP on the production flow when we test the device.


    We use an external MCU to control the BQ25120 via I2C. If we proceed as follows, it looks like the registers are volatile?
    Connect Vbat (4.2v for example)
    We see SYS go to 1.8v default (as expected)
    Run the MCU code to programme the registers
    We see SYS go to 3.3v (as expected)
    Disconnect Vbat (set it to 0v)
    Re-connect Vbat
    Registers are reset and SYS is 1.8v again
    GR: Yes this matches expectation. You would need to initialize the registers on the MCU boot.


    The data sheet often refers to specific FETs (e.g. "the battery discharge FET"), but the functional block diagram just labels them Q1 to Q7. Could you supply names for each of these FETs?
    GR: Q1/Q2 is usually referred to as input blocking FET or ILIM FET. Q7 is the Battery Discahrge FET or BATFET. Q3 and Q4 are high and low side FETS for the DC-DC.


    The I2C timer can be stopped by pulling CD low when in active battery mode. How can it be stopped when Vin is present? Toggling CD in this case just changes the charge enable/disable.
    GR: Are you referring to the watchdog timer? Yes- if CD is low, we will disable the watchdog on BAT only! However, when VIN is connected, the watchdog is always running.


    It seems from other threads that there are issues when connecting and disconnecting Vin (e.g. USB). Until the new part arrives, what is the approved work around? To disable VINDPM (via register 0x0B VINDPM_ON = 0)?
    GR: it is a two step workaround. VINDPM = Disabled and VBATREG =3.6V right after USB unplug. I have some samples of the new silicon we are about to release soon. Let me know if you want samples and I can send them to you.

    If we get a fault (STAT_0 = STAT_! = 1), how can this be cleared? We have had a lot of difficulties with this.
    GR: Could you describe in detail the issues?

    We now have several boards made up using the current BQ25120 part which we do not feel we can take to production. We need to know when the new BQ25120A part will be ready so we can decide what action to take and what impact this will have on our launch dates. Could you please supply your current plan for release?
    GR: Let me contact you privately for the dates.
  • Gautham,

    Many thanks for your prompt and informative reply. Some follow up below:

    • Yes we would like samples ASAP if you have them and are confident of them as we will need to build some new boards now with them on. Twenty five would be ideal, but we could make do with five if necessary. Could you let me know as soon as? Please email to paul at racketware.co.uk (replacing at with @).
    • To be clear, for question 5 (watchdog timer) does this mean that we need to poll the I2C every <50 seconds with Vin applied to prevent the watchdog timer firing and resetting the registers? PLEASE BE AWARE: our board must run at 3.3v. If the so-called watchdog timer fires then the registers will be reset to factory defaults and the board will power down to 1.8v and stop working completely. So this feature is very bad for us. At worst it will completely disable our device, and at best we have to monitor the register values and set them up again if they have been reset (assuming this is possible). We would much prefer not to have it.
    • To be clear, for question 6 (Vin issues), you say "VINDPM = Disabled and VBATREG =3.6V right after USB unplug". Do you mean by this that we need to interrupt the MCU when Vin is removed and immediately set the values you specify? We could do this as a workaround. Can the old values (i.e. VINDPM=Enabled, and VBATREG = 4.2v) be reinstated when Vin is re-applied (i.e. the USB is plugged back in)?
    • For question 8 can you contact me asap on my email address above?

    Thanks!

    Paul.

  • paul,

    let me contact you on your email. thanks.