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.

BQ25895 Dynamic Power Management

Other Parts Discussed in Thread: BQ25895

Hello Forum,

I have questions related to BQ25895 - keeping input voltage above 4.8V for different power sources by reducing battery charge current.

Datasheet naming that "Dynamic Power Management" (see page 19, 8.2.6.2 Dynamic Power Management)
The question is: how to set input voltage threshold (VINDPM) ?

There is some description  (8.2.3.4 Input Voltage Limit Threshold Setting ) of datasheet, which is not very clear.
Specifically:

For default mode ( case 2. in datasheet, the same page 17) datasheet writes:

2. Relative VINDPM based on VINDPM_OS registers (FORCE_VINDPM=0) (Default)
When FORCE_VINDPM bit is 0 (default), the VINDPM threshold setting algorithm is enabled. The VINDPM
register is read only and the charger controls the register by using VINDPM Threshold setting algorithm. The
algorithm allows a wide range of adapter (VVBUS_OP) to be used with flexible VINDPM threshold. 

Is any description of algorithm? I could not find in datasheet.
How it utilizes the VINDPM_OS value? Is it dependent on power source detection?
What I should load to get threshold 4.8V ? Is one setting correct for any detected types of power sources?


For Absolute mode :
Is it enough just to load VINDPM value into REG0D to have DPM working for all detected types of power sources ?
Is any bits need to set for DPM beyond FORCE_VINDPM ?

Your help in clarifying this operation is appreciated.

  • Hello Ed,

    Relative VINDPM (FORCE_VINDPM = 0) is intended to setup the VINDPM threshold when the host is not available during power up. At power up, after Input Source Detection, the charger measures the VBUS prior to the converter switching and determines VBUS@noload. Then the VINDPM threshold is set by VBUS @noload.

    • If VBUS@noLoad <=6V
      • VINDPM = VBUS@noLoad – VINDPM_OS
    • Else if VBUS@noLoad > 6V
      • VINDPM = VBUS@noLoad-2*VINDPM_OS

    Absolute VINDPM (FORCE_VINDPM = 1) is used when the host is powered and able to measure VBUS to take full control of VINDPM setting, allowing you to use the VINDPM register (REG0D) to set the absolute threshold.