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.

BQ4050: FETs will not turn on outside Manufacture Testing mode

Part Number: BQ4050
Other Parts Discussed in Thread: BQSTUDIO

We are using the BQ4050 to protect and gauge a non-removable 2 cell battery pack and are having an issue when this battery pack is completely discharged.  When the BQ4050 turns back on after external power is applied, the FETs do not turn back on even though there are no PF or other protection failures.  I can send the reset command along with the PF_CLEAR, LT_FLUSH, BBR_CLEAR but no commands can turn the CHG and DSG FETs back on.  The only way to turn the FETs on is to set FET_EN to 0 and force them on using the Manufacture Testing commands CHG_FET_TOGGLE and DSG_FET_TOGGLE but doing this disables the firmware in the BQ4050 from controlling the FETs so the protection is disabled.

Why isn't the BQ4050 turning on the FETs when there are no fault conditions?  I cannot cycle power to the BQ4050 because this is an embedded pack and I need to find a way to reset it through commands.

Here are the settings which should have the FETs enabled but they're not:

Is there a command I need to send to tell the BQ4050 that everything is OK and to turn the FETs back on?

Thanks,

Cliff

  • It doesn't look like the picture of my settings was uploaded.  Here is the .jpg along with my .gg file. 4_1.gg.csv

  • Hi Cliff,

    Can you upload the .gg and logs showing the behavior.

    Thanks,

  • Hi Nick,

    Here is the GG file and a log of the unit charging when I forced the CHG_FET on with the FET_EN and CHG_FET_TOGGLE commands.  

    CHG_FET_FORCED_ON.xlsx6567.4_1.gg.csv

    Thanks for your help,

    Cliff

  • Hi Cliff,

    Will let you know my findings next week.

    Best regards,

  • Hi Nick,

    I have a second unit which was returned by our customer which is showing the same issue.  I grabbed all of the information from this unit which might be better to review since the data wasn't played with before I exported it.  Here is the screen shot of the registers, the .gg and log export while it was plugged into the charger.

    Should I be concerned that the "Discharge Cap", " CEDV Threshold", "CEDV Fit V" and "Charge Deficit" all read 0 on the Register page of bqStudio?  

    I have run out of things to try since the gauge isn't giving me any errors but won't turn on the FETs.  

    Thanks,

    Cliff

  • Data Log
    
    TimeStamp,Manufacturer Access,Remaining Cap. Alarm,Remaining Time Alarm,Battery Mode,At Rate,At Rate Time To Full,At Rate Time To Empty,At Rate OK,Temperature,Voltage,Current,Average Current,Max Error,Relative State of Charge,Absolute State of Charge,State of Health,Remaining Capacity,Full charge Capacity,Run time To Empty,Average Time to Empty,Average Time to Full,Charging Current,Charging Voltage,Battery Status,Cycle Count,Design Capacity,Design Voltage,Specification Info,Manufacturer Date,Serial Number,Manufacturer Name,Device Name,Device Chemistry,Operation Status A,Operation Status B,Temp Range,Charging Status,Gauging Status,Manufacturing Status,Safety Alert A+B,Safety Status A+B,Safety Alert C+D,Safety Status C+D,PF Alert A+B,PF Status A+B,PF Alert C+D,PF Status C+D,Cell 1 Voltage,Cell 2 Voltage,Cell 3 Voltage,Cell 4 Voltage,BAT pin voltage,PACK pin voltage,Cell 1 Current,Cell 2 Current,Cell 3 Current,Cell 4 Current,Cell 1 Power,Cell 2 Power,Cell 3 Power,Cell 4 Power,Power,Average Power,Int Temperature,TS1 Temperature,TS2 Temperature,TS3 Temperature,TS4 Temperature,Cell Temperature,FET Temperature,CEDV RC,Discharge Cap,CEDV Threshold,CEDV Flt V,Charge Deficit
    2021-01-08 10:34:03,0x6101,300,10,0x6001,0,65535,65535,1,42.1,7543,0,0,0,65,67,100,2594,4000,65535,65535,65535,0,0,0x00C0,38,3900,7800,0x0031,1980-1-1,0x0001,Texas Instruments,bq4050,LION,0x6101,0x0000,0x10,0x0002,0x40,0x0010,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,3772,3772,0,0,7492,8335,0,0,0,0,0,0,0,0,0,0,39.2,42.0,-59.5,-21.5,-59.5,42.0,39.2,2594,0,0,0,0
    2021-01-08 10:34:08,0x6101,300,10,0x6001,0,65535,65535,1,42.1,7543,0,0,0,65,67,100,2594,4000,65535,65535,65535,0,0,0x00C0,38,3900,7800,0x0031,1980-1-1,0x0001,Texas Instruments,bq4050,LION,0x6101,0x0000,0x10,0x0002,0x40,0x0010,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,3773,3773,0,0,7494,8336,0,0,0,0,0,0,0,0,0,0,39.3,42.0,52.8,-21.5,52.8,42.0,39.2,2594,0,0,0,0
    2021-01-08 10:34:13,0x6101,300,10,0x6001,0,65535,65535,1,42.1,7543,0,0,0,65,67,100,2594,4000,65535,65535,65535,0,0,0x00C0,38,3900,7800,0x0031,1980-1-1,0x0001,Texas Instruments,bq4050,LION,0x6101,0x0000,0x10,0x0002,0x40,0x0010,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,3772,3772,0,0,7490,8337,0,0,0,0,0,0,0,0,0,0,39.2,42.0,52.8,-21.5,52.8,42.0,39.2,2594,0,0,0,0
    2021-01-08 10:34:18,0x6101,300,10,0x6001,0,65535,65535,1,42.1,7543,0,0,0,65,67,100,2594,4000,65535,65535,65535,0,0,0x00C0,38,3900,7800,0x0031,1980-1-1,0x0001,Texas Instruments,bq4050,LION,0x6101,0x0000,0x10,0x0002,0x40,0x0010,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,3773,3773,0,0,7491,8334,0,0,0,0,0,0,0,0,0,0,39.3,42.0,-59.5,-21.5,-59.5,42.0,39.3,2594,0,0,0,0
    2021-01-08 10:34:23,0x6101,300,10,0x6001,0,65535,65535,1,42.1,7543,0,0,0,65,67,100,2594,4000,65535,65535,65535,0,0,0x00C0,38,3900,7800,0x0031,1980-1-1,0x0001,Texas Instruments,bq4050,LION,0x6101,0x0000,0x10,0x0002,0x40,0x0010,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,3772,3772,0,0,7490,8336,0,0,0,0,0,0,0,0,0,0,39.2,42.1,-59.5,-21.5,-59.5,42.1,39.2,2594,0,0,0,0
    2021-01-08 10:34:28,0x6101,300,10,0x6001,0,65535,65535,1,42.1,7543,0,0,0,65,67,100,2594,4000,65535,65535,65535,0,0,0x00C0,38,3900,7800,0x0031,1980-1-1,0x0001,Texas Instruments,bq4050,LION,0x6101,0x0000,0x10,0x0002,0x40,0x0010,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,3772,3773,0,0,7490,8335,0,0,0,0,0,0,0,0,0,0,39.3,42.1,-59.5,-21.5,-59.5,42.1,39.3,2594,0,0,0,0
    2021-01-08 10:34:33,0x6101,300,10,0x6001,0,65535,65535,1,42.1,7543,0,0,0,65,67,100,2594,4000,65535,65535,65535,0,0,0x00C0,38,3900,7800,0x0031,1980-1-1,0x0001,Texas Instruments,bq4050,LION,0x6101,0x0000,0x10,0x0002,0x40,0x0010,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,3772,3772,0,0,7489,8335,0,0,0,0,0,0,0,0,0,0,39.3,42.0,-59.5,-21.4,-59.5,42.0,39.3,2594,0,0,0,0
    2021-01-08 10:34:38,0x6101,300,10,0x6001,0,65535,65535,1,42.1,7543,0,0,0,65,67,100,2594,4000,65535,65535,65535,0,0,0x00C0,38,3900,7800,0x0031,1980-1-1,0x0001,Texas Instruments,bq4050,LION,0x6101,0x0000,0x10,0x0002,0x40,0x0010,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,3772,3772,0,0,7491,8333,0,0,0,0,0,0,0,0,0,0,39.3,42.0,-59.5,-21.4,-59.5,42.0,39.3,2594,0,0,0,0
    

    Log of all registers

  • Hi Clint,

    Can you try disabling in-system sleep (bit 3) in DA config and then try the sending the reset command?

    This worked for me to turn on the  FETS.

    What is strange is that after this worked I loaded your .gg again ( 1_8_21 version) and but the FETs did not turn off.

    Best regards,

  • Hi Nick,

    The BQ4050 is not going into sleep mode and changing the in-system sleep bit did not allow FET-EN to turn on.

    I've been trying to replicate the issue using the BQ4050EVM without success.  When I load the exact configuration including the calibration values into the EVM, all of the FETs turn on when FET_EN is set high.  I can also replace the BQ4050 in our product, program it and everything works fine.  We are having failures in the field with sold products where the BQ4050 gets into this mode and won't turn on the FETs even though there are no reported issues.  

    Are there any other commands I can send the BQ4050 that will reset everything?  It's strange that I can reprogram all of the settings as we do at the factory but there is some persistent information which is preventing the IC from turning on the FETs.  

    Can I try to reprogram the firmware in the BQ4050?  I see the firmware version is 0x0001 but don't see any newer firmware on TI's website.

    Is there any information I can provide which will help figure out what's going on?

    Thanks,

    Cliff

  • Hi Cliff,

    Can you attach the schematic here?

    Thanks,

  • Here is the schematic page for the gas gauge.

    We are also using a BQ24773 charger which is on the same I2C bus as the BQ4050.  

    3531.BQ4050_Gas_Gauge_Sch.pdf

    Thanks,

    Cliff

  • Hi Cliff

    Schematic looks ok, I'm thinking we should be able to reproduce this issue reliably with an.srec.

    Can you export the .srec from the firmware tab in one of the device with FETs that are stuck off.

    Thanks,

  • Hi Nick,

    Here is the .srec file from a stuck BQ4050.  

    I read the IC twice and compared the files to make sure it read OK.  I wasn't sure if the read function of the BQStudio verified the data.  It's strange that the BQ4050 enters sealed mode after you attempt to read the .srec file.  I just had to put it in Unseal_Full_Access every time I read it.

    I hope this gives you some info as to what's going on.  

    Is it possible to program the BQ4050 in the EVM with this .srec file to try and replicate the issue on other hardware?  

    BQ4050_Stuck_FETs.zip

    Thanks,

    Cliff

  • Hi Cliff,

    Yes, you can program the .srec on another bq4050 in the firmware tab also.

    Best regards,

  • Nick,

    You can use the .srec file I provided to program the BQ4050EVM and replicate the issue.  I was able to do this with my BQ4050EVM board.  This is a great feature of the BQStudio!

    I've narrowed down the issue to how we program the BQ4050 internally with our main processor.  When I program the gauge using our software, the gauge doesn't enable the FETs but when I use the MSP430 and the same configuration parameters and calibration data the gas gauge works.  I can compare the .gg files from a working and non-working gauge and they are the same so I'm not sure what we're doing wrong with our programming.  

    When I compare the binaries of the .srec files, I see the non working version has several "F"s instead of "0".  Maybe we need to fill the voids with 0 instead of F when we program the IC internally?

    Thanks,

    Cliff

  • Hi Cliff,

    The .srecs should both be the same, if you can modify your program so it fixes these discrepancy you should be ok.

    Best regards,