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.

TPS65070 internal ADC question

Other Parts Discussed in Thread: TPS65070

Greetings everyone,

i am using TPS65070 in my device and want to know, what current and voltage i have during charging a battery through USB (to knew battery capacity). So i first turned internal ADC to measuring Battery current  (ISET pin) mode and got the right data. After that i wanted to know voltage at BAT pins (as it mentioned at page 49 of datasheet) but the data i got was far from i wanted and was always the same. As i can see in picture at page 16 of datasheet, the internal ADC does not have an input for BAT pins. So how can i measure a battery voltage?

Best regards,

Vsevolod Anisimov

  • Hallo Vsevolod,

    measurement of battery voltage is similar to the ISET voltage for current measurement. Only the INPUT SELECT[ 3..0] has to be changed to 1001 to set the input channel of the ADC for battery voltage measurement. The ADC result is internally referenced to 6V instead of the 2.25V we have for the ISET voltage:

     battery voltage  = ADCvalue/1024 x 6V

    set the register as follows:

    set <TSCMODE> = 06H (set ADC inputs for voltage measurements)

    set <ADCONFIG> = F9H (enable reference, enable ADC, set input channel=1011, start conversion)

    set<ADCONFIG>= F9H (only needed twice for the first time as the input select must not change at the same time when the ADC conversion is started)

    read ADRESULT_1 and ADRESULT_2

    This was confirmed on my EVM board and the result I got was 10 1011 1110 (702d/1024d x 6V= 4.11V) as I had a pretty fully charged LiIon cell.

    Best Regards,

    Thomas Schaeffner

  • Greetings, Thomas.

    Thanks for your help, you solution is very helpful.  I couldn`t get the same result because i tried to program the channel first, and after that wrote to <ADCONFIG> start of conversion bit. this kind of ADC routine is wrong. Now i realize it can not be done in two commands one after another.

    Best regards,

    Vsevolod Anisimov