SLUSDV2A May 2020 – May 2021 BQ25798
The device provides Input Current Optimizer (ICO) to identify maximum power point in order to avoid overloading the input source. The algorithm automatically identifies maximum input current limit of an unknown power source and sets the charger IINDPM register properly, in order to prevent from entering the charger input voltage (VINDPM) regulation. This feature is disabled by default at POR (EN_ICO = 0) and only activates when EN_ICO bit is set to 1.
After DCP type input source is detected based on the procedures described in Section 188.8.131.52, the algorithm runs automatically if EN_ICO bit is set. The algorithm can also be forced to execute by setting FORCE_ICO bit regardless of input source type detected. Please note that EN_ICO = 1 is required for FORCE_ICO to work.
The actual input current limit used by the Dynamic Power Management is reported in the ICO_ILIM register whether set by ICO if enabled or IINDPM register if not. In addition, the current limit is clamped by the ILIM_HIZ pin unless EN_EXT_ILIM bit is 0 to disable the ILIM_HIZ pin function.
When V(BAT) > VMINSYS, the ICO algorithm starts with the maximum allowed input current as reported in ICO_ILIM register as 500 mA then continually increases this limit until the optimal limit is found. When VBAT < VSYSMIN, the battery voltage can be too low to supplement a large system load if the charger buck converter is limited to 500 mA and then ramped up by the ICO algorithm. Therefore, when a VBAT < VSYSMIN, the ICO algorithm starts with the maximum allowed input current as reported in ICO_ILIM register to the input current-limit register value in REG0x06 and then continually decreses this limit until the optimal limit is found.
Once the optimal input current is identified, the ICO_STAT[1:0] and ICO_FLAG bits are set. The actual input current is reported in the ICO_ILIM register and does not change unless the algorithm is triggered again by the following events :
These events also reset the ICO_STAT[1:0] bits to 01