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.

BQ24195L: Never detects a charger

Part Number: BQ24195L

Hello,

I'm using an Arduino MKR GSM 1400 board, which has a BQ24195L charger circuit. I installed the jumpers to connect the D+/D- lines to the charger chip. It reliably detects when I am connected to a USB host (REG08[7:6] = 01), sets the input current limit to 100mA, and then transitions to HIZ. I have an interrupt handler installed that takes it out of HIZ, so I can detect when it is disconnected and plugged in again. But no matter what charger I connect, it always reports power good and unknown (REG08[7:6] = 00). All of the chargers appear to have D+/D- shorted, one of them explicitly says it supports BC 1.2, and I even tried cobbling up a cable that directly shorted the D+/D- lines, but nothing ever reports adapter (REG08[7:6] = 10). Does it interfere with detection if the D+/D- lines are connected to the D+/D- of the microcontroller in addition to being connected to the charger chip? Or is there something else I'm missing?

Thanks,

Tony

  • Anthony,

    The D+/D- lines are only active for about 1s following VBUS power up.  If they are connected to a USB BC1.2 power source, they detect the power source minimum output current (e.g. 100mA for SDP) for initial system power up and sets in the input current limit I2C register to that value.  At that point, per the BC1.2 spec, your host software is expected to perform USB enumeration, in order to identify the USB port's actual power level and then changes the charger's input current limit via I2C spec.  If the source is a wall adapter, the D+/D- lines are shorted inside the adapter and the charger sets the input current limit to the maximum, limited only by the ILIM pin resistor clamp.  The microcontroller cannot access the D+/D- lines during the first 1-2S after charge power up.

    Regards,
    Jeff

  • I understand that's how it should work from the datasheet, but I'm not seeing that behavior. I tried adapters with D+/D- shorted, and I even tried shorting D+/D- directly, but the chip never reports an adapter and it sets the input current limit to 100mA no matter what I plug in. I also tried re-running the DPDM detection by setting the DPDM_EN bit in REG07 and waiting for it to go back to 0. When I'm connected to an adapter, it always reports 'unknown'. When I'm plugged in to a USB port, it always (correctly) reports USB. I've double-checked my connections. Is there any other cause you can think of for the behavior I'm seeing? Does it matter that I've disabled the watchdog to stay in host mode? Any thoughts are appreciated.

    Tony

  • Tony,

    Before the VBUS is powered, are there any SYS load and/or VBAT voltage present?

    Thanks,

    Ning.

  • Tony,

    We haven’t heard back from you for a while, the thread is considered solved and closed.

    Thanks,

    Ning.