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.

[FAQ] BQ76952: How do I use Units and Native Units to calculate BQ769x2 register values in BQStudio?

Part Number: BQ76952
Other Parts Discussed in Thread: BQSTUDIO
  • What is the difference between Units and Native Units in BQStudio? 
  • Why does the register value I enter in the Data Memory Window not match the register value I read using the Command Sequence window?
  • How do I know which register values have an offset, and where do I find the offset value?
  • The Data Memory window in BQStudio has 2 units of measurement for user-programmable registers: Units and Native Units.  These units allow the user to determine register values quickly in BQStudio and convert Data reported in the Command Sequence Window to actual register values.

    The Value column of the Data Memory Window reports the Value in Units, allowing the user to read a register value without converting from hexadecimal (hex) to decimal (dec) or performing too many extra calculations.  Consequently, the Data Memory Window is very helpful for optimizing device evaluation time using BQStudio.

    The Command Sequence Window reports Data in the format a user would receive when attempting to perform a register read in the field using an MCU.  The Command Sequence Window allows the user to simulate the end-application responses using BQStudio.

    When determining how to use Native Units and Units correctly with both the Data Memory Window and the Command Sequence Window to calculate the register value, consider the following 3 categories:

    Native Units match Units, no offset:

    • The Data entered into the Command Sequence Window must be converted from hex to dec to calculate the Value reported by the Data Memory Window (Vdmw).
    • The actual value (Vactual) can be calculated either by multiplying the Data Memory Window Value by Units OR by converting the Command Sequence Window Data from hex to dec and multiplying by Native Units.
    • Ex: Protections:COV:Threshold
      • Vdmw = HEXtoDEC(56) = 86
      • Vactual = 86 * 50.6mV = 4.3516V

    Data Memory Window:

    Command Sequence Window:

     

    Native Units match Units, with offset:

    • The Data entered into the Command Sequence Window must be converted from hex to dec to calculate the Value reported by the Data Memory Window.
    • The actual value can be calculated either by multiplying the Data Memory Window Value by Units and adding the offset OR by converting the Command Sequence Window Data from hex to dec, multiplying by Native Units, and adding the offset.
    • To determine register offset values (if applicable) see the Technical Reference Manual.
    • The Row Offset is the memory address offset, not the offset value needed for calculation.
      • Ex: Protections:CUV:Delay
      • Vdmw = HEXtoDEC(4A) = 74
      • Vactual = (74 * 3.3ms) + 6.6ms = 250.8ms

    Data Memory Window:

    Command Sequence Window:

    Technical Reference Manual:

     

    Native Units do NOT match Units:

    • The Data entered into the Command Sequence Window must be converted from hex to dec, then multiplied by the Native Units to calculate the Value reported by the Data Memory Window.
    • The actual value can be calculated either by multiplying the Data Memory Window Value by Units OR by converting the Command Sequence Window Data from hex to dec and multiplying by Native Units.
    • The Native Units indicate step size, so the Value/Data entered must be a multiple of the Native Units. If the Value/Data entered is not a multiple of the Native Units, the Value/Data will round up to the next multiple.
    • Ex: Protections:OCC:Threshold
      • Vdmw = HEXtoDEC(2) * 2 = 4
      • Vactual = 4 * mV = 4mV

    Data Memory Window:

    Command Sequence Window:

     

    For more information on the BQ769x2, please see the device Datasheet.

    Link to BQ769x2 FAQ homepage