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: Shipmode related issues

Part Number: BQ25120

Hello TI Team,

We are facing three shipmode related issues on the BQ25120 in our design and we could use some help.

When the battery voltage (VBAT) goes under 3.1V (measured with a fuel gauge - STC3115), our MCU sets the BQ to shipmode to enter the lowest possible quescient current.
As a fail-safe feature, we want to keep the BUVLO at 3.0V to make sure the BQ will at least shut the VSYS output down.

What happens is the following:

  • Issue n°1: BQ does not always enter shipmode unless we set the shipmode threshold higher (3.5V instead of 3.1V). As our application is low power, this is not an acceptable workaround as we lose significant autonomy (tested on 19 boards with 30% failure rate)
  • Issue n°2: when in shipmode (with 3.5V threshold), pressing MR button does not exit shipmode unless VBAT<3.2V
  • Issue n°3: setting BUVLO at 2.8V with 3.5V shipmode threshold seems to prevent BQ from entering shipmode (but BUVLO = 3.0V in the same conditoins is OK)

Some details on how we enter shipmode:

  • Charger is not attached (VIN = 0V)
  • CD pin is pulled low for 50ms (CD is previously low but sometimes toggled to resume I2C while in Hi-Z mode)
  • CD pin is pulled high
  • 50ms sleep
  • 00h register is read for debug purposes
  • 01h register is read to clear any fault flag
  • 00h register is set to 0x20 (retry if not successful)


Issue n°1: Shipmode threshold = 3.1V, BUVLO = 3.0V, VIN = 0V, unable to enter shipmode on 6 out of 19 boards.

Here is a register dump prior trying to enter shipmode:
Register: 00 : 01 : 02 : 03 : 04 : 05 : 06 : 07 : 08 : 09 : 0A : 0B
Value: 03 : 40 : 00 : 9c : ba : 78 : ba : 00 : 68 : 12 : 3c : c2

Here is a register dump after failing to enter shipmode:
Register: 00 : 01 : 02 : 03 : 04 : 05 : 06 : 07 : 08 : 09 : 0A : 0B
Value: 23 : 40 : 00 : 9d : ba : 78 : ba : 00 : 68 : 12 : 28 : c2

00h register seems to indicate both CD state and EN_SHIPMODE bits are corrects, however shipmode is not entered.


Issue n°2: Shipmode threshold = 3.5V, BUVLO = 3.0V, VIN = 0V, unable to exit shipmode with MR button when VBAT<3.2V

Section 9.3.1 'Ship Mode' of the datasheet states the following: "The battery voltage must be above the maximum programmable BUVLO threshold in order to exit Ship mode with a MR button press when VIN is not present."
Referring to 09h register configuration, the maximum programmable BUVLO is 3.0V.
Section 9.3.3 states there is a 100mV hysteresis on BATUVLO, which means the MR button should not be able to get the BQ out of shipmode if VBAT<3.1V, correct?
However the MR button is uneffective if VBAT<3.2, and we do not understand why.


Issue n°3: Shipmode threshold = 3.5V, BUVLO = 2.8V, VIN = 0V, unable to enter shipmode

With 3.5V shipmode threshold, shipmode can be entered if BUVLO = 3.0V but not if BUVLO = 2.8V.
We don't get why setting BUVLO lower while keeping the exact same conditions otherwise prevents the BQ from entering shipmode.

Thanks in advance for your help,

Best regards,

Damien

  • Hello,
    Any news about this thread?
    Thanks,
    Damien
  • Damien,

    Sorry for the delay. I just got back from Thanksgiving vacation. 

    I can help you with this. I am taking a deeper look at your registers but i have a few comments- 

    On the situation where you are unable to go to Ship Mode- (#1)- You will always go to Ship Mode as long as /CD pin is high and you are able to talk to the part on I2C.Can you share some schematics and scope captures? ( i am curious on the /MR side and also would like scope captures of PMID/VIN/VBAT)

    On #2- we are looking for a rising threshold of BUVLO which is around 3.15V. (I will try to make it more clearer on the datasheet as i am running variation on this parameter)

    On #3- I would like to see PMID and VBAT capture (possibly I2C) as well. The device itself will disconnect BATFET when BUVLO condition is met. 

    regards,

    gautham

  • Gautham,

    Sorry for the late reply, I did not have the SW ressource available to help me with this.

    #1:

    Here is the BQ part schematic (VIN is tied to a wireless power receiver output, 5V nominal):

    On the following scopes, channel 2 is used to trigger (each pulse represents the SW trying to enter shipmode):

    PMID:

    VBAT:

    VIN (charger is not attached):

    #3

    Here is PMID:

    For I2C comms, we used a saleae to record frames (you will need logic by saleae to view this file).

    i2c_bq_attempt_shipmode.zip

    As you will see, we begin by reading all BQ registers to clear fault flags, then we write 1 to the EN_SHIPMODE bit, and then try again if it did not succeed. The blank times between frames are due to sleep commands.

    Thanks,

    Damien

  • Damien,

    Please confirm /CD pin is high. Meanwhile- can you check the Iq on VBAT?

    regards,
    gautham
  • Gautham,

    Here are two saleae logicdata files that show CD pin state when shipmode entry is sucessful and when it fails:

    shipmode_saleae.zip

    When trying to enter shipmode, Vbat Iq is between 4mA and 7mA.

    Thanks,

    Damien