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.

BQ78350: Firmware Update Issues: Calibration, Discharge Fet, OC, COV

Part Number: BQ78350
Other Parts Discussed in Thread: BQ76940, , BQSTUDIO

Tool/software:

I have a BQ78350/BQ76940 BMS design that is not sleeping properly, bq studio says it is sleeping but the current draw remains the same as when it is not sleeping.  It currently has Firmware R1.03, when I flash R3.00 the sleep function works as expected, the current draw drops by about 5.5X.  One of the problems I am having with the update is it blows away the calibration data, and when I attempt to recalibrate it the charge current gets flaky.  The current register will read accurately but the charging current register will read 3520ma while with nothing plugged into the battery.  I am also seeing erroneous behavior from the DSG Fet not turning on until and seal/unseal and reset the BMS, OC and COV registers also seem to erroneously trigger without exceeding any of the Safety parameters.  Is there an important change from R1.03 to R3.00 that is causing this?  Is there a unique update required to the data memory values?

  • You can read the calibration data from the gauge before you change the FW version and then program this after the change. 

    It is not normal what you observe with the OC and COV triggers and the DSG FET behavior. Please make sure that you programmed the gauge with the correct configuration.

  • Recalibrating the bms appears to have resolved the OC and COV triggers.  I figured out the charge current issue as well.  The charge current is the target current in the advanced charge algorithm based on the ambient temperature rather than an actually reading of the active charging current.  Unfortunately I cannot manually input the CC gain.  The proper reading is ~.5 mohm but bq studio will not accept a value below 1.0 mohm, but if I attach a load and use the calibration tool it will calculate and write the correct .5 mohm value and the bms current reading is matching my charger and discharger current readings.  I can manually write values below 1.0 mohm for the capacity gain.  after reflashing the parameter file the DSG CHG Fets appear to be acting normally so it possible my initial import from the config file didn't write all the parameters correctly.

  • I have a data flash file with calibration data but when I import that and write it to the chip it will not write the first ~ half of the calibration data (see table below) and I have to enter it by hand accept for CC Gain which will not accept a value below 1.0.  Is there a work around for that?  I need to upgrade the FW for many chips and would not like to have to manually type all that calibration data in for each chip.

    * Field Order: Class name  Subclass name  Parameter name
    Calibration Current CC Gain
    Calibration Current Capacity Gain
    Calibration Voltage Cell1 Offset
    Calibration Voltage Cell2 Offset
    Calibration Voltage Cell3 Offset
    Calibration Voltage Cell4 Offset
    Calibration Voltage Cell5 Offset
    Calibration Voltage Cell6 Offset
    Calibration Voltage Cell7 Offset
    Calibration Voltage Cell8 Offset
    Calibration Voltage Cell9 Offset
    Calibration Voltage Cell10 Offset
    Calibration Voltage Cell11 Offset
    Calibration Voltage Cell12 Offset
    Calibration Voltage Cell13 Offset
    Calibration Voltage Cell14 Offset
    Calibration Voltage Cell15 Offset
    Calibration Current Offset CC Offset
    Calibration Current Offset Coulomb Counter Offset Samples
    Calibration Temperature T1 Temp Offset
    Calibration Temperature T2 Temp Offset
    Calibration Temperature T3 Temp Offset
    Calibration Temperature Gauge Internal Temp Offset
    Calibration Ext Cell Voltage Ext Cell Divider Gain
    Calibration VAux Voltage VAux Gain
  • bqStudio won't write all values from a gg file that has values that are outside the min/max. You'd have to use a .srec file instead. Are you saying that the .srec file doesn't have the calibration values?