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.

BQ25756EVM: Discrepancy in Charge Current Limit Register Scaling for BQ25756

Part Number: BQ25756EVM
Other Parts Discussed in Thread: BQ25756

Tool/software:

Hello,

I am working with the BQ25756 and configuring the Charge Current Limit Register (REG0x02, REG0x03) over I2C using an ESP32. The datasheet specifies that the ICHG_REG (bits 10:2) has a 50mA step size, and the valid charge current range is 400mA - 20000mA.

However, when using TI’s development software (TI Charger GUI cloud), the actual register values appear to follow a different scaling factor.
For example:

  • 400mA0x0020 (32 in decimal)
  • 5000mA0x0190 (400 in decimal)
  • 20000mA0x0640 (1600 in decimal)

From this, it looks like the register value is calculated using:

ICHG_REG = mA/12.5

instead of the mA / 50 formula that the datasheet suggests.

I initially assumed the bit step size was 50mA, meaning:

ICHG_REG = mA/50

which would have given 400mA = 0x08 and 5000mA = 0x64, but these values do not match the actual ones observed in the software(TI Charger GUI cloud).

Could you please clarify:

  1. What is the correct scaling formula for ICHG_REG?
  2. Why does the development software seem to use mA / 12.5 instead of the datasheet's mA / 50?
  3. Is there any internal scaling factor applied by the IC that is not explicitly mentioned in the datasheet?

Thanks for your help!
  

  • Hello Vamsi,

    Thanks for working with this.

    Keep in mind, that the development software reads the whole of REG0x02 and not just REG0x02[10:2].

    What is the correct scaling formula for ICHG_REG?

    It's 50mA per bit.

    Why does the development software seem to use mA / 12.5 instead of the datasheet's mA / 50?

    This is is because the development register is reading all of REG0x2. If you read REG0x2 while ICHG_REG is set to 20A, you'll get 0x0640, or 0000 0110 0100 0000, or 1600 in decimal. This is a bit step of 12.5. If you look at only REG0x2[10:2] while ICHG_REG=20A, you'll get 0x190, or 110 0100 00, or 400 in decimal. This is a bit step of 50mA. 50mA is the correct bit step.

    Is there any internal scaling factor applied by the IC that is not explicitly mentioned in the datasheet?

    There is no internal scaling factor in the IC.

    Let me know if you have any questions about this this.

    Best Regards,
    Ethan Galloway