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.

BQ24295 Non-Standard Charger

Genius 3475 points
Other Parts Discussed in Thread: BQ24295

Hi

Like to check on the BQ24295.

After the DCD and primary detection process. If there is no standard charger detected, the DCD timer of 0.5Sec would lapse and enter into "non-standard charger detection phase".

Based on the values of the DPDM, the corresponding current limit is set according to table 3 of datasheet.

The main objective, I would like to set a limit of 500mA on the current limit regardless of the values detected on the DPDM during/before the "non-standard charger detection phase". ie,even  if there is a divider 1 type (table 3), instead of setting 2A, i want 0.5A

A few questions:

  • Can i interrupt or terminate the non-standard charger detection phase and set my own current limit?
  • For the USB 1.2 detection phase, what is the time needed to determine the source and set the (REG00[2:0] to either 01 or 10?

Lastly, if I plan is to read the value of REG08[7:6] at 0.4Sec, and the value readback is still 00, I would write 010 to REG0[2:0]. Will it work? 

Ivan

  • You can do this several ways:

    1) Float both D+D- pins on the bq24295 (this should be detected as a 3rd party adapter).  I typically do not like to float pins that have to be a certain bias so I would look at choice 2.

    2) pull down to ground both D+ and D- with a 300k resistor (one resistor for each pin) on the bq24295.  the 14uA pullup will pull the D+ hihg causing the 500ms time out and then check for the other adapters.  During this routine there will be no bias so both D+ and D- should be ground and should default to 500mA.

    3) could use the ISET pin programmed to 500ma maximum, but this is not as accurate of current limit.

    In both case 1 and 2 the D+D- pins are not tied to the USB connector and thus not to the power source.

    I am not sure about interupting the routing.  If the above suggestion does not work for some reason, let me know and I will see if I can find out about interupting the detection (fairly sure there is not one).

  • HI Charles,

    Any idea if I could change the value of current limit on REG08[7:6] post detection and determination of a third party charger?

    Would the REG08[7:6] be fixed by the DPDM process? Will it go into another iteration of checking DPDM and setting the current limit again (potentially creating an infinite loop)


    Ivan

  • Hi Charles

    Any feedback on the interrupt?

    Could you advise on the :

    "

    Any idea if I could change the value of current limit on REG08[7:6] post detection and determination of a third party charger?

    Would the REG08[7:6] be fixed by the DPDM process? Will it go into another iteration of checking DPDM and setting the current limit again (potentially creating an infinite loop)

    "

    Ivan

  • You can not write to the STATUS bits.  I tried it and with the GUI it looks like you can write the information but when you read it back the IC registers never changed.

  • HI Charles,

    Agreed, Reg08 is status and sis read only as explicitly stated in the datasheet.

    My mistake, the correction as per below

    Any idea if I could change the value of current limit on REG00[2:0] post detection and determination of a third party charger?

    Would the REG00[2:0] be fixed by the DPDM process? Will it go into another iteration of checking DPDM and setting the current limit again (potentially creating an infinite loop)

    Ivan

  • REG00(2:0) is for setting the input curernt limit and if this is changed after the initial DPDM detection, then the IC will be programmed to the new value and will act accordingly.  The detection will not be rerun.

    One can force the detection to run again by:

    From data sheet.

    Force Input Current Limit Detection

    While adapter is plugged-in, the host can force the charger device to run input current limit detection by setting REG07[7]=1 or when watchdog timeout. During the forced detection, the input current limit is set to 100mA. After the detection is completed, REG07[7] will return to 0 by itself and new input current limit is set based on D+/D-.