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.

BQ25890: How to understand ILIM pin for BQ25890

Part Number: BQ25890
Other Parts Discussed in Thread: BQ25790

Tool/software:

1,How can I determine the functionality of pin ILIM about being used as current limit setting or input current monitor, how to select between these two functionalites?

That's to say what can I do to select ILIM pin as input current limit setting or as input current monitor?

2,Regarding the " 9.2.12 Input Current Limit on ILIM" in BQ25890 datasheet, the voltage on ILIM pin can be 0.8V, 0.4V or others, so how  does this voltage on ILIM come out and how can I decide what voltage on this pin,namely when the voltage is 0.8V and when the voltage is 0.4V?

3, When  ICO_EN = 1, what's the relationship between  IDPM_LIM register and  IILIM register? And is ICO input current limit  from  IDPM_LIM register or from  IILIM register now?

4, What's the difference between the condition  V(BAT) < VMINSYS and  V(BAT) > VMINSYS  for ICO operation and how to understand this?

5, The charger must go into VinDPM once before ICO but why does the datasheet say " The device provides innovative Input Current Optimizer (ICO) to identify maximum power point without overload
the input source" ? Is VinDPM once not regarded as overload the input source?

  • Hello,

    Please sse my comments on your questions below. 

    1) The ILIM pin performs both functions at the same time. The ILIM pin is always used to set input current limit, as well as, function as a current monitor unless EN_ILIM is set to disable (REG00[6] = 0b). 

    2)The voltage of ILIM pin is expected to change dynamically. The input current is proportional to voltage on ILIM pin and this is how you can use ILIM as an input current monitor. If you do not wish to use ILIM pin as a current monitor all you need to consider is what is your desired input current limit and select the appropriate resistor accordingly. 

    3) Please refer to datasheet section 9.2.4 for details on ICO operation. The ICO feature identifies maximum input current of adapter and is able to raise or lower the input current limit register setting. Please be aware the ICO will not overwrite ILIM pin setting. If the ICO feature is used the IDPM_LIM value in REG13 is the actual input current limit in effect and it may not match IINLIM value in REG00. 

    4) V(BAT) > or < VMINSYS has no impact on ICO operation. 

    5) In the ICO algorithm the BQ25890 steps up input current limit until the point where it measures VBUS start to drop. If the BQ25890 is operating in VINDPM status that indicates the input adapter is being overloaded. The purpose of the ICO feature is the set input current limit to highest possible setting without overloading the adapter, hence the device should not be in VINDPM status. 

    Best Regards,

    Garrett

  • 1) The ILIM pin performs both functions at the same time. The ILIM pin is always used to set input current limit, as well as, function as a current monitor unless EN_ILIM is set to disable (REG00[6] = 0b). 

    -->So if EN_ILIM is set to disable (REG00[6] = 0b), neither current limit setting nor input current monitor can be used,right? I found some description from the datasheet" The ILIM pin function can be disabled by setting EN_ILIM bit to 0. When the pin is disabled, both input current
    limit function and monitoring function are not available
    ".

    2)The voltage of ILIM pin is expected to change dynamically. The input current is proportional to voltage on ILIM pin and this is how you can use ILIM as an input current monitor. If you do not wish to use ILIM pin as a current monitor all you need to consider is what is your desired input current limit and select the appropriate resistor accordingly. 

    -->So the input current limit formula is as same as input current monitor formula  in fact, right? That's to say, voltage on ILIM(VILIM) increases as Iin increases according to formula Iin=(KILIM*VILIM) / (RILIM*0.8), and when VILIM rise from below 0.8V to 0.8V, the input current climbs to the maximum value =(KILIM*0.8) / (RILIM*0.8)=(KILIM) / (RILIM), which is exactly the formula of input current limit, and then IinDPM activates due to the input current exceeding the ILIM current limit setting(namely VILIM exceeds or equals to 0.8V). Anyway , it's the actual input current value that determines the  voltage on ILIM(VILIM), and not vice versa..  Is this understanding correct?

    Another question, as we know input current limit set by ILIM pin can be used for IinDPM, but what's the real usage of using ILIM pin as input current monitor? That's to say why should we monitor the input current before it hits the ILIM set limit value if not considering DPM function? please help give some usage scenarios using ILIM pin as input current monitor.

    4) V(BAT) > or < VMINSYS has no impact on ICO operation. 

    -->Please refer to SLVA812C and in this document, ICO operation differs between V(BAT) < VMINSYS and  V(BAT) > VMINSYS. How should I understand this part?

  • Hi Zhang, 

    Please see my comments below. 

    1)

    So if EN_ILIM is set to disable (REG00[6] = 0b), neither current limit setting nor input current monitor can be used,right?

    Correct if ILIM pin is set to disable neither function can be used. 

    2)

    ILIM pin voltage can be ignored for input current limit formula. Please use the following formula for determining Rilim, Input current limit = Kilim/Rilim. This formula is listed in ILIM pin description table and in datasheet section 9.2.12. For example, a 260ohm resistor will set input current limit to 1.5A given KILIM = 390 max.

    There is no requirement for using ILIM pin as an input current monitor. The device will limit current accordingly on its own without using ILIM pin as a current monitor. It is intended only as an extra feature. Some customers like the ability to easily monitor input current via their MCU using ILIM pin. 

    4)

    Apologies for the oversimplification of my last response "V(BAT) > or < VMINSYS has no impact on ICO operation." As described in SLVA812C the ICO algorithm behaves a bit differently when VBAT < VMINSYS compared to when VBAT > VMINSYS because when battery voltage < VMINSYS battery voltage is too low to supplement a large system load. (i.e. battery cannot be discharged to help maintain SYS > VMINSYS when VBAT < MINSYS threshold). 

    Therefore, for this case the algorithm steps down input current limit rather than stepping up input current limit so that there is no risk of SYS crash due to a load current increase above input current limit. When VBAT > VMINSYS ICO algorithm sets initial input current limit to 500mA and if SYS requires more current draw battery can supplement to support. 

    The end result of ICO feature updating the input current limit setting in REG13 is the same regardless of VBAT > VMINSYS or VBAT < VMINSYS. 

    Best Regards,

    Garrett

  • 3) Please refer to datasheet section 9.2.4 for details on ICO operation. The ICO feature identifies maximum input current of adapter and is able to raise or lower the input current limit register setting. Please be aware the ICO will not overwrite ILIM pin setting. If the ICO feature is used the IDPM_LIM value in REG13 is the actual input current limit in effect and it may not match IINLIM value in REG00. 

    What‘s the relationship between ILIM hardware pin set limit value and IINLIM register REG00 bit0~bit5 limit value? Is there any register to restore the value of ILIM hardware pin limit value?

  • ILIM pin voltage can be ignored for input current limit formula. Please use the following formula for determining Rilim, Input current limit = Kilim/Rilim. This formula is listed in ILIM pin description table and in datasheet section 9.2.12. For example, a 260ohm resistor will set input current limit to 1.5A given KILIM = 390 max.

    There is no requirement for using ILIM pin as an input current monitor. The device will limit current accordingly on its own without using ILIM pin as a current monitor. It is intended only as an extra feature. Some customers like the ability to easily monitor input current via their MCU using ILIM pin. 

    So the input current monitor is just for external use such as being connected to extra ADC or Voltage Compare device to do something else, right?

  • Hi Zhang, 

    Please see my responses below. 

    What‘s the relationship between ILIM hardware pin set limit value and IINLIM register REG00 bit0~bit5 limit value? Is there any register to restore the value of ILIM hardware pin limit value?

    I have addressed this question in our alternate E2E thread. I will reiterate there is no register that stores the input current limit value set by ILIM hardware pin. 

    So the input current monitor is just for external use such as being connected to extra ADC or Voltage Compare device to do something else, right?

    Correct, input current monitor feature is just for external use. 

    Best Regards,

    Garrett

  • I always cannot understand the working mechanism of ICO.

    1, How does ICO identify (detect ) the unknown adapter's maximun input current--the bottomline / affordability? Namely if an unknown adapter maximum current is 5A, how can the charger ICO know this adapter  maximum current is 5A.

    2, ICO uses Current Limit DPM to prevent Voltage Limit DPM,but still must undergoing a Voltage Limit DPM one time to identify the bottomline / affordability of the unknow adapter ,right?

    3, I still cannot understand why the ICO initial current limit setting value differ between Vbat>Vsysmin and Vbat<Vsysmin (Vbat<Vsysmin: IinDPM by host; Vbat>Vsysmin:500mA ), can you examplify this difference and let know what will happen if we don't set the ICO_DPM current limit value like this?

    I cannot understand the description in  SLVA812C : “When V(BAT) < VMINSYS, the battery voltage can be too low to supplement a large system load if the charger buck converter is limited to 500 mA, then ramped up by the ICO algorithm." ---If the ICO initial limit value is set to 500mA when V(BAT) < VMINSYS, why is it related to the supplement mode of the battery? and why setting the ICO initial value to IinDPM by host can solve this issue?

  • Hi Zhang, 

    Please see my comments below. 

    Let me first state ICO can be disabled if you do not wish to use in your system. 

    1)The ICO is only able to set the input current limit to a value in the allowable range. Maximum input current limit setting is 3.25A (listed in datasheet table 9-9) therefore, ICO will never be able to set input current limit to 5A. 

    2) As described in SLVA812C document when VBAT < VMINSYS device will initially undergo voltage DPM until ICO can identify appropriate input current limit. When VBAT > VMINSYS the BQ25890 steps up input current limit until a single VINDPM event occurs. The ICO then lowers input current limit slightly so that device does not operate in VINDPM status. 

    After ICO procedure is complete the device should no longer operate in VINDPM condition because input current limit is appropriately set for given input adapter. 

    3) BQ25890 prioritizes maintaining SYS rail above the SYSMIN threshold (default 3.5V) when converter is on. If battery voltage is below 3.5V charger IC does not have the ability to utilize supplement mode and still maintain SYS rail above SYSMIN because VSYS must be below VBAT for supplement mode operation. Due to this ICO algorithm steps down input current limit from manual REG00 setting rather than starting at 500mA and stepping up input current limit setting. 

    If ICO algorithm operated the same when VBAT < VMINSYS as when VBAT > VMINSYS there would be risk of VSYS dropping due to input current limit initially being too low before it can be stepped up to appropriate value. 

    Best Regards,

    Garrett 

  • Let me deep think about it again. Anyway,the ICO feature must be disabled by ICO_EN due to its complexity and safety consideration in my developing practice,and no unknown adapter can be used and we will NOT accept any risk or safety complain if the end user have used an unknown adapter leading to related issue. Unknown adapter is NOT guaranteed since the qualified adapter will be delivered as an accessory of the notebook product to the user.

  • 3) BQ25890 prioritizes maintaining SYS rail above the SYSMIN threshold (default 3.5V) when converter is on. If battery voltage is below 3.5V charger IC does not have the ability to utilize supplement mode and still maintain SYS rail above SYSMIN because VSYS must be below VBAT for supplement mode operation. Due to this ICO algorithm steps down input current limit from manual REG00 setting rather than starting at 500mA and stepping up input current limit setting.

    1-->So if VBAT < VMINSYS, the IinDPM register by host must be set high enough in case the charger bumps into the current DPM(IinDPM)  before coming across the voltage DPM(VinDPM) which will possibly lead to battery entering into Supplement mode(DPPM), right?

    But the question is that the VinDPM can also result in  battery entering into Supplement mode(DPPM) where Vsys drops below Vbat<Vsysmin thus leading to system crash, and what can charger do if the first VinDPM make the Vsys drop below Vsysmin with system crash happening before the ICO takes effect?

    Even if the first VinDPM didn't cause Vsys drop below Vsysmin leading to system crash when the system load is not heavy enough, how high should the limit value in IinDPM  register set by host (the max value 3.25A?) to prevent current DPM(IinDPM)  taking place and leading to Vsys dropping below Vsysmin with system crash occuring before coming across the voltage DPM(VinDPM)  when VBAT < VMINSYS?

  • Hi Zhang, 

    Please see my comments below.  

    Unknown adapter is NOT guaranteed since the qualified adapter will be delivered as an accessory of the notebook product to the user.

    If your product will have a dedicated input adapter with a known current rating then I agree you are okay to disable ICO feature and simply set input current limit to the known max current of your qualified adapter. 

    So if VBAT < VMINSYS, the IinDPM register by host must be set high enough in case the charger bumps into the current DPM(IinDPM)  before coming across the voltage DPM(VinDPM) which will possibly lead to battery entering into Supplement mode(DPPM), right?

    Device can still enter supplement mode when VBAT < VMINSYS, but for supplement case SYS will not be regulated above MINSYS setting. If you refer to the Dynamic Power Management section of the datasheet (Section 9.2.6.2) the device will first reduce charge current in an attempt to prioritize SYS load. Depending on size of SYS load BQ25890 may enter DPM operation without needing to enter supplement mode. 

    what can charger do if the first VinDPM make the Vsys drop below Vsysmin with system crash happening before the ICO takes effect?

    The first VinDPM (or IINDPM) will cause device to reduce charge current and charge current can reduce all the way to 0A if SYS load is high enough. Device is not able to prevent a SYS drop below MINSYS if ISYS > input adapter can supply when VBAT < VMINSYS. 

    how high should the limit value in IinDPM  register set by host (the max value 3.25A?) to prevent current DPM(IinDPM)  taking place and leading to Vsys dropping below Vsysmin with system crash occuring before coming across the voltage DPM(VinDPM)  when VBAT < VMINSYS?

    Input current limit should be set based on the current rating of your input adapter. That is the only factor that should influence this setting. The IINDPM and VINDPM settings should always be set in a way to not overload the input adapter. 

    Additionally, performing your own bench testing with our BQ25890EVM may be beneficial to deepen your understanding of device's dynamic power management. 

    Best Regards,

    Garrett 

  • Input current limit should be set based on the current rating of your input adapter. That is the only factor that should influence this setting. The IINDPM and VINDPM settings should always be set in a way to not overload the input adapter.

    1,Sorry, I must iterate the background of ICO operation where I talk about how high IinDPM register should be set when VBAT<VSYSMIN, instead of IinDPM and VinDPM alone(I know if not considering ICO, IinDPM and VinDPM register settings should be based on the actual input adapter ratings and charger input ratings.).

    Namely, during the context of ICO operation when VBAT < VMINSYS, how high should the limit value in IinDPM  register set by host (the max value 3.25A?) to prevent current DPM(IinDPM)  taking place and leading to Vsys dropping below Vsysmin with system crash occuring before coming across the voltage? DPM(VinDPM)  ?

     

    2,Refer to SLVA812C,why don't we set the input current limit register directly to the max value(3.25A for BQ25890) instead of 500mA and then step it down to the current value on VinDPM  when  V(BAT) > VMINSYS during ICO?

    3, As we know, ICO operation is based on first VinDPM in advance, but what will happen if the IinDPM happens before VinDPM during ICO?

    4,Will IinDPM happen simutaneously when the charger is exactly in VinDPM if we set the input current limit register directly to a lowest value of 500mA which may triger IinDPM under the heavy load during VinDPM ?

  • Hi Zhang, 

    Namely, during the context of ICO operation when VBAT < VMINSYS, how high should the limit value in IinDPM  register set by host (the max value 3.25A?) to prevent current DPM(IinDPM)  taking place and leading to Vsys dropping below Vsysmin with system crash occuring before coming across the voltage? DPM(VinDPM)  ?

    Initial IinDPM setting will be based off D+/D- detection results. You are free to raise the input current limit higher via I2C write from MCU host. I do not recommend setting it higher than the current rating of your input adapter. 

    2,Refer to SLVA812C,why don't we set the input current limit register directly to the max value(3.25A for BQ25890) instead of 500mA and then step it down to the current value on VinDPM  when  V(BAT) > VMINSYS during ICO?

    The typical adapter will not be rated for the max possible current value. The device steps up input current limit from 500mA to minimize overloading of the adapter. If ICO algorithm started at 3.25A most adapters would be overloaded and there is risk of them crashing. 

    3, As we know, ICO operation is based on first VinDPM in advance, but what will happen if the IinDPM happens before VinDPM during ICO?

    Hitting IinDPM is not relevant. The ICO function works to check if there is a more a appropriate current limit then the one initially set. 

    4,Will IinDPM happen simutaneously when the charger is exactly in VinDPM if we set the input current limit register directly to a lowest value of 500mA which may triger IinDPM under the heavy load during VinDPM

    In general it is not expected for device to hit IinDPM and VinDPM at the same time. If IinDPM is set to an appropriate value then VinDPM should not occur because adapter is not being overloaded. With a ty[ical adapter it should not be overloaded with a 500mA input current limit. 

    Then if IinDPM is set too high VinDPM is expected to trigger before the device reaches IinDPM limit. 

    Best Regards,

    Garrett 

  • Initial IinDPM setting will be based off D+/D- detection results. You are free to raise the input current limit higher via I2C write from MCU host. I do not recommend setting it higher than the current rating of your input adapter.

    -->Sorry,I must remind you that we are talking about an current limit unknown adapter, and we don't know the exact rating of this unknown adapter I'm talking about. So " I do not recommend setting it higher than the current rating of your input adapter." makes nonsense for the topic of our ICO for unknown adapter.

    The typical adapter will not be rated for the max possible current value. The device steps up input current limit from 500mA to minimize overloading of the adapter. If ICO algorithm started at 3.25A most adapters would be overloaded and there is risk of them crashing. 

    -->The reason why I set the input current limit register directly to the max value(3.25A for BQ25890) instead of 500mA and then step it down to the current value at the point when VinDPM  reaches when  V(BAT) > VMINSYS during ICO is that we just want the charger encounter VinDPM before IinDPM,not vice versa. So the system crash should not happen due to the VinDPM even supplement mode even if I set the input current limit register directly to the max value(3.25A for BQ25890) ,isn't it right?

    Another evidence for this setting methold when VBAT>VSYSMIN can be supported by ICO operation description in BQ25790 datasheet.

    If I set the input current limit register too low,such as 500mA, the charger will easily happen to IinDPM just by a light load, which will lead to frequent IinDPM event before VinDPM, is this the ICO's intention---as I understand, ICO's intention is using VinDPM to replace IinDPM to protect an unknown adapter,so no IinDPM should happen before VinDPM, right?

     

    My understanding of ICO when  V(BAT) > VMINSYS is as below:

    (1), Let me assume the actual max current value the unknown adapter can provide is 1A ,but remember that we don't know this value=1A in our mind.

    (2), When  V(BAT) > VMINSYS, I set the input current limit register directly to the max value(3.25A for BQ25890) to avoid IinDPM happens before VinDPM.(This setting methold when VBAT>VSYSMIN can be supported by ICO operation description in BQ25790 datasheet.)

    I assuem that the system crash will not happen due to VinDPM or supplement mode to keep Vsys stably above Vsysmin.

    (3), As the system load increases up to 1A and then exceeds 1A, the charger will not bump to IinDPM because unknown adapter's actual current limit is just 1A but the IinDPM threshold is high enough to 3.25A  and the Vin starts to drop due to the load is over 1A and later the charger happens to VinDPM at actual input current =1.5A before IinDPM(3.25A).

    If the load continue going up and the VinDPM and battery supplement mode can keep Vsys stably above Vsysmin from crash.

    (4), Charger records the actual input current at the point  VinDPM starts and then reduce this current value slightly to a value to act as the ICO_DPM register value and by now the ICO-detected max current limit value is finished and the ICO operation is completed successfully.

    Please help point out the risk and vicious consequence if ICO operates like these steps(especially step 2--set the input current limit register directly to the max value(3.25A for BQ25890) when  V(BAT) > VMINSYS ) ,comparing to the right procedures of ICO opertion when V(BAT) > VMINSYS stated in SLVA812C.

  • Hi Zhang, 

    Sorry,I must remind you that we are talking about an current limit unknown adapter, and we don't know the exact rating of this unknown adapter I'm talking about.

    BQ25890 IC is designed such that input current limit will be automatically set to 500mA when an unknown adapter is connected due to D+/D- detection. The ICO feature will then run and determine if a higher input current limit can be set. 

    Again as previously mentioned you are free to set input current limit higher via I2C, but when an unknown adapter is connected BQ25890 is expected to have initial input current limit set to 500mA. 

    So the system crash should not happen due to the VinDPM even supplement mode even if I set the input current limit register directly to the max value(3.25A for BQ25890) ,isn't it right?

    This understanding is not quite right. Device can enter supplement mode due to either VinDPM or IinDPM. There is no benefit to encountering "VinDPM before IinDPM". 

    In general customers would rather hit IinDPM rather than VinDPM because adapter voltage falling indicates that it is already being overloaded, whereas a correctly set input current limit allows max current draw without overloading the adapter (i.e. with a correctly set IinDPM threshold VBUS voltage should not drop towards VinDPM threshold). 

    I understand, ICO's intention is using VinDPM to replace IinDPM to protect an unknown adapter,so no IinDPM should happen before VinDPM, right?

    ICO's intention is not to use VinDPM in replacement of IinDPM. Rather its intention is to set the most appropriate input current limit setting for a specific input source. In general IinDPM is considered a better protection of input adpater than VinDPM because adapter is inherently already being overloaded to trigger VinDPM protection. 

    Please help point out the risk and vicious consequence if ICO operates like these steps(especially step 2--set the input current limit register directly to the max value(3.25A for BQ25890) when  V(BAT) > VMINSYS )

    There is no risk to the BQ25890 charger by setting initial input current limit to 3.25A. The ICO algorithm does not operate in this way by default because a 1A adapter will be overloaded if input current limit is set to 3.25A. With input current limit initially set to 500mA DPM and supplement mode operation can still occur when VBAT > VMINSYS to prevent SYS rail from crashing if SYS load increases. 

    Best Regards,

    Garrett