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.

Does the TPS65950 charger really work?

Other Parts Discussed in Thread: TPS65950

Hello,

I've been trying to get the battery charger interface working and the results are less than amazing.  The schematic is identical to the one in the datasheet.  It is the dual path (AC and USB) with CV mode possible and the 850mA current limit at startup circuit.  There's no deviation from the design.  BCIAUTO has a 162K ohm resistor to ground which should allow CVM and auto charging in hardware.  ADCIN0 is grounded and ADCIN1 can be connected to a thermistor.

On some previous board revisions, I did manage to get the full 1.7A to pass (power supply reported it as 1.78A) through the FETs which was divided up between the running system (about 450mA) and the battery (the balance of 1.33A to the battery).  Those results were on some 4030 samples and we now use the 65950 part but I still have boards with both and it doesn't make any difference.  Obviously I don't want that much current going to the battery and I want to be able to restrict it to about 800mA maximum.

On more recent boards, the charger will not activate in hardware at all with the thermistor attached.  I have to float ADCIN1 in order to get the charger to activate at all.  Without the thermistor I can get about 700mA or so to go to the battery when the cell voltage is quite low.  As the battery charges, the current keeps dropping.  With the battery at 3.3V, I saw 1.4A of charge current.  At 3.7V it was 1.1A.  At 3.8V it was 1A and then it starts dropping much faster.  By 3.9V it is down to 0.4A.  At 3.935V the charge current was 241mA.  It then just keeps plummeting down to 70mA at 3.98V.

The charger doesn't really make sense to me.  First with the thermistor and second I thought the charger was supposed to be constant current until the voltage is at the cell maximum (4.2V) and then it switches to constant voltage which shuts off when the current level goes below the cutout threshold.  I'm not the software guy so I don't know exactly what all of the registers should be doing but I had imagined the hardware more was more predictable. 

Are the results I am seeing accurate and we must get software going to handle proper battery charging for the entire cycle?  What happens if the processor locks up during charging?  I want to rely on the hardware much more than I do the software.  What could be going on with the thermistor?  It is the standard 10K NTC type and I think it is very close to the one used in the default tables.

 

Thanks!

  • Hi Mike,

    The BCI certainly works on this device. I have seen charging working (both USB and AC)  without any issues on customer boards.

    Can you send me your schematics? I am sure you have checked it, I will review it and compare with the recommendations.

     

    Regards,

    Gandhar.

     

  • Thanks Gandhar,

     

    I think I have fixed the hardware issue just by starting a dialog with you and coming up with new things to try.  The solution was to abandon CV Mode and connect the 0.1uF and 51 ohm resistor to VAC (non-CVM) instead of the FET outputs (CVM).  The TPS65950 now responds to the thermistor on ADCIN1 and the current gets tapered with that pin floating but is a solid output when a valid resistance range (ie. 10K) is present.

    BCIMSTATEC used to report 0x21 when the charger was connected. This meant "CV mode ac".  Now that I have modified the circuit, plugging in the charger reports 0x23 which means "Quick charge ac 2".  It is my opinion that CV mode is not reliable and any customer with an application requiring their system current to exceed about 300mA should not use it.  Since the battery will not charge properly in CV Mode (even though having a battery should mean CVM should not even be active!), I would recommend abandoning it all together.

    Charging by USB hasn't been tested yet because it requires software to turn it on and I haven't attempted it yet with the strange results I was getting up until yesterday.  I suspect it will work just fine now.

     

    I leave this message for others searching for answers to the same problem.  In summary, if you are having issues, suspect your schematic if CVM is used.  It's flakier than mom's home made apple pie. ;)

  • Good to see your board is working.

     

  • Hi Mike,

     

     Did you ever observe USB charging working with your design?

     

    Cheers,

     

    ~Pev

  • Hi Pev,

     

    Yes, we did get USB charging to work, although not ideally yet.  We took some really old code from a LogicPD Zoom kernel and tested that.  If you plug a USB cable into a running kernel, nothing happens.  The charger does not start.  You have to plug the cable in before the kernel is executed and then it will charge.   At least it is just a software issue at this point.  Also, the registers to program the AC path current works for USB which I found a little surprising.  I was able to pull the full setting of 852mA from my USB port by setting the appropriate register to 511 and CCGAIN = 0.  Yikes!  I dare not try CCGAIN =  1.  I didn't realize software was so responsible for limiting this current but if there is better USB code out there, I don't have access to it at this point.

     

    Mike