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: BQ25895 Input maximum current detection (ICO)

Part Number: BQ25895
Other Parts Discussed in Thread: , BQ25985, TS3USB221

Hello,

We are implementing the BQ25895 in a battery-powered consumer electronics device. The max battery charge current is 900mA. We need the charger to detect automatically the maximum current availble from a USB source (USB 2.0, USB3.0, USB wall-charger, etc).

We bought the BQ25895EVM-664 evaluation module and we have tested different USB chargers, however the results are not always correct. I have run the detection twice, using a regular USB cable, and a USB cable that does not have D+ and D- lines.

Charger type

Detection result (D+/D- mode)

Detection result (without D+/D-)

Laptop

USB Host SDP 500mA

Unknown Adapter 500mA

Apple USB wallcharger 1A

USB DCP 500mA

Unknown Adapter 500mA

Samsung USB wallcharger 1A

USB Host SDP 500mA

Unknown Adapter 500mA

Travel Adaptor USB wallcharger 2.4A Fast charge port

USB DCP 500mA

Unknown Adapter 500mA

Travel Adaptor USB wallcharger 2.1A Fast charge port

Non-Standard adapter 2.1A

Unknown Adapter 500mA

MW USB wallcharger 2.1A

Non-Standard adapter 2.1A

Unknown Adapter 500mA

HONR USB wallcharger 1A

USB DCP 500mA

Unknown Adapter 500mA

5V, 1A PSU

Unknown Adapter 500mA

Unknown Adapter 500mA


The D+/D– Detection Sets Input Current Limit does not always detect the correct result, as seen with the Apple, Samsung, and "Fast Charge" chargers.

Without the D+/D-, I was expecting the Input Current Optimizer (ICO) to run maximum current detection, but it actually always sets 500mA.

I am using the EVM board default settings, and the default registers on Battery Mangement Studio. Forcing the Input Detection (REG02, bit 1) or forcing the FORCE_ICO (REG07, bit1) does not change the detection result.

I have read the document "Extracting Maximum Power from an Adapter with Input Current Optimization Feature", and I am in a scenario similar to Case 2 shown below, however the result of ILIM is not what it should be.

I am doing something wrong? Would you be able to help me change the setting in order to successfully detect the maximum current out of the USB chargers?

Thank you

  • Hi,

    1. The BQ25895 may detect the adaptor types listed in Table 5 on the d/s.

    2. The non-standard adaptors should have the same D+/D- setups listed on Table 1 on the d/s in order to be detected correctly.

    3. After the input current limit detection is complete, the host may modify the input current limit via I2C as needed.

    4. ICO only automatically runs after DCP or Maxcharge input source are detected at start-up. e.g. if USB SDP (500mA) adaptor is detected, even if ICO_EN=1, ICO will not run.

    Thanks,

    Ning.


  • Hello,

    1. I assume you mean Table 3 of the datasheet, not table 5?

    2. Doesn't ICO suppose to run even if the D+ and D- lines are shorted, or not present?

    3. I know, but it is not safe for the host to modify the input current without being sure of what the adapter is capable is providing - which is why the host needs to rely on the BQ25985 providing the rigth setting.

    4. I understand, but the datasheet and application report state that I can force ICO to run by using the FORCE_ICO bit. Table 2, Case 2 of the application report show an example where ICO finds the optimal setting of 1.5A with an adapter of 1.5A. 
    How can I get the BQ25985 to find this setting with any of my adapters that provide more than 500mA? Forcing ICO does not get the chip to find the best setting.

    Thank you

  • Hi,

    1. Yes. Table 3 bq25895 Result on the d/s.

    2. After DCP (e.g. D+ and D- are short) or MaxCharge type input source is detected based on the procedures previously described (Input Source Type Detection ). The algorithm runs automatically when ICO_EN bit is set.

    3. The ICO algorithm can also be forced to execute by setting FORCE_ICO bit regardless of input source type detected. If the input source is not detected as DCP or MaxCharge type input source after an adaptor plugs in, the host has to force ICO by setting FORCE_ICO bit.

    Thanks,

    Ning.

  • Hi Ning,

    I understand, I have managed to force the execution of the ICO algorithm.

    However the results of the ICO algorithm is wrong: it's always 500mA. Are there any other parameters I should configure in order to get the ICO to detect accuratly the current that can be delivered by a charger ?

    Thank you

  • Hi,

    Please note

    1) If ICO is enabled, the charger waits for the first VINDPM event to occur. Referring to Table 2. Example Current Limit Register Results on the app note at https://www.ti.com/lit/an/slva812c/slva812c.pdf , if ICHG is not enough to trigger VINDPM, ICO could not be optimized.

    2) ICO will not go higher than the input current limit set by IINLIM register and ILIM pin. e.g. if the adaptor may handle up to 2A, the input current limit setting has to be higher than 2A for the ICO to be optimized at 2A.

    Thanks,

    Ning.

     

  • Hello, dear TI team.

    I'm from China,and I can't supply my question in power managerment forum,so I text here.

    I use BQ25895  to charge LI-battery-3.7V-3500mAh,when it charged to 4.0V,it's 100%,STAT LED is on.Then go on to charge,but it spent 15 hours to charge from 4.0V to 4.2V(STAT LED is off). It's so long.....

    why.thanks.

    Follow is sch.

  • Hi,

    Please visit https://e2e.ti.com/support/power-management/f/196/t/874557 for BQ2589X: Schematic Review and PCB Layout Design Tips. It looks like some external components on the custom schematic do not follow the guidelines. Please update and try again.

    Thanks,

    Ning.

  • Hi,

    I've been running some test and the ICO is giving me good results now.

    However I have a new issue: I have to put another USB device on my PCB (a USB to serial converter), which needs the D+ and D- lines as well.

    On my PCB where the D+ and D- lines are going from the USB connector to both the USB to serial converter and also the BQ25985 charger, the Input Current Limit is always detected at 500mA, which is not the case whtn the USB to serial converted is not soldered.

    How could both devices co-exist? Do I really need a D+/D- switch such as the  TS3USB221 implemented on the BQ25985 dev kit?

    As a test, I have isolated the D+/D- lines of the BQ25985 and shorted them together. Then I have connected all the different USB chargers that I have and the ICO correctly determined the maximum current out of each device. But is that good practice? Can I implement that on my product?

    Thank you

  • Hi,

    We are working on it and will get back to you.

    Thanks,

    Ning.

  • Hi,

    D+/D- pins are used for USB input current limit detection when VBUS power is plugged in. During the charger input current limit detection process, the other device connected must be able to HIZ D+/D- pins so that D+/D- pins are driven by the charger. If the other device is unable to HIZ D+/D- pins, a USB switch is needed to isolate the host and the charger.

    Thanks,

    Ning.