SLUSDF9 June 2020 BQ25790
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 describe above (Input Source Type Detection), 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 ILIM pin unless EN_EXT_ILIM bit is 0 to disable ILIM_HIZ pin function.
When the algorithm is enabled, it runs one time and then waits for the system load plus battery charge current to pull enough input current to force the charger into VINDPM. The algorithm adjusts the actual input current limit as shown in the ICO_ILIM until the ICO_STAT[1:0] and ICO_FLAG bits are set (the ICO_FLAG bit indicates any change in ICO_STAT[1:0] bits). The algorithm operates depending on battery voltage:
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 change unless the algorithm is triggered again by the following events :
These events also reset the ICO_STAT[1:0] bits to 01