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 - Current calibration

Other Parts Discussed in Thread: BQ34Z100

We are trying to calibrate the current according to paragraph 11.2.5 in TRM. However, there seems to be some errors in this paragraph. Could you help me figure out how the calibration algorithm should be?

  • Can you please be a little more specific? Which line or lines do you find wrong or confusing?

  • Certainly.

    On line 5, FCAL_CC is first set to HHhh of command 0xF082, which is External average cell voltage. If FCAL_CC < 0x8000 (which it always is, as a cell voltage of more than 32768mV is uncommon), FCAL_CC is to be set to -(0xFFFF - AAaa + 0x0001). AAaa is AFE Cell map. How can FCAL_CC contain anything meaningful at this point?

    Note that line 5 is identical to line 5 in paragraph 11.2.5.1

    After line 7, FCAL_CC is discarded.

    In line 10, there are a few variables mentioned that aren't described. I_CC is the known current, I presume? What is ADC_CC? "CC Offset" is of course the value calculated from paragraph 11.2.5.1?

    Also, the tables on page 70 and 111 in TRM, both describing the return values from command 0xf082, differ slightly, but they agree on "AAaa" and "HHhh," which are the ones refered to by the algorithm

  • Any luck finding this out?
  • Harald,
    Doug is currently out of the office. I checked the CC Offset calibration section and some of your comments do not align with the numbered items. Are you using the current revision of the TRM? It is dated September 2014.
    Tom
  • I'm using TRM dated September 2014. I see I have managed to confuse 11.2.5.1 and 11.2.5.2. I hope it's alright if I copy and correct my previous post? Also, I forgot to mention that I am writing about 11.2.5.2, (except when I explicitly refer to 11.2.5.1), but the concerns apply to 11.2.5.1 too.

    In item no. 6, FCAL_CC is first set to HHhh of command 0xF082, which is External average cell voltage. If FCAL_CC < 0x8000 (which it always is, as a cell voltage of more than 32768mV is uncommon), FCAL_CC is to be set to -(0xFFFF - AAaa + 0x0001). AAaa is AFE Cell map. How can FCAL_CC contain anything meaningful at this point?

    Note that item no. 6 is identical to item no. 5 in paragraph 11.2.5.1

    After item no. 7, FCAL_CC is discarded.

    In item no. 10, there are a few variables mentioned that aren't described. I_CC is the known current, I presume? What is ADC_CC? "CC Offset" is of course the value calculated from paragraph 11.2.5.1?

    Also, the tables on page 70 and 111 in TRM, both describing the return values from command 0xf082, differ slightly, but they agree on "AAaa" and "HHhh," which are the ones refered to by the algorithm
  • While we wait for the clarifications, you can choose to do the calibration manually through BQ studtio. There's a Calibration option for CC offset and gain. And everything is done for you automatically without calculations.

    There's another option where you can change the values in the flash through BQ studio without doing all the calculations. In Data Memory, under the Calibration category, you can enter the value of your sense resistor which will be used for your current gain and capacity gain (I don't know what the capacity gain does, but I set the same value in both fields). Under the calibration category again, you can change your Current offset value (I left the sample number as default).

    If that doesn't meet your needs because you need to calibrate the BQ during production, you'll have to wait for an answer.

    And I can add more precision to what Harald mentioned about mismatching information.

    In section 11.2, the table shows the values returned by the ManufacturerAccess commands 0xF081 and 0xF082. The fields do not correspond to the values found in section 16.2.60 for 0xF082.

    Current is read in KKkk for chapter 11 (page 70) and JJjj for chapter 16 (page 111).

    I presume it's a typo since VAUX Voltage is IIiiJJjj in chapter 11 (4 bytes instead of 2 causing the offset in the letters).

    Also, chapter 11 shows the output format for 0Xf081 and 0xF082 should be ZZAAaaBB..... (but it doesn't mention the YY found in the tables).

    I presume this is also a typo and the field is sent as one byte.

  • Hello Michal,

    Where you able to answer the questions posted by the individual who needed help.  I am also in the same boat and things do not add up.

    I have been able calculate that the cc gains and that they need to be around 8.000 decimal value.  I have also read back the various decimal values of the cc gain from address 0x4000 to 0x4003.  If I use the software to change the calibrated shunt value (cc gain) from 1.000mOhm to 1.5mOhm, I get a decimal value that is around 30,000 in (single precision little endian format).  The range is only 0.1 to 9.0? 


    What is the correlation between the mOhm value of cc gain and the flash value cc gain?

    Is it possible to have flash values greater or less than the limits of the datasheet?

    Is there an error in the little endian calibration values that need to be fixed?

    Thanks

  • Jeff,

    There are conversions from the EVSW resistance to the DF value.

     CC GAIN:  resistance / 8.4381

    CC OFFSET: resistance / 2516761.36

    The F4 data type used to store values for CC Gain and CC Delta in flash with chips like the BQ34Z100 use the Xemics Floating Point. How it works is explained in

    How EVSW Display the Raw Data V1.03.pdf
    e2e.ti.com/.../How-EVSW-Display-the-Raw-Data-V1.03.pdf

    and there are VB functions to convert in either direction between Xemics form in hex and the equivalent flash (not EVSW) decimal form on page 4 of

    slva148a.pdf
    www.ti.com/.../slva148a.pdf

    Tom