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.

BQ76952: AFE BQ76952 Analog input Temperature measurement

Part Number: BQ76952


Hi,

I would like to know the exact ADC count to mV conversion for Analog channels. 

CFETOFF
DFETOFF
TS1
TS3
HDQ
DCHG
DDSG

Its configured as 0x33 

PIN_FXN[1 0] 11 = ADC Input or Thermistor

OPT[1:0] 00 = general purpose ADC input

OPT[3:2]  11 = no polynomial is used, raw ADC counts are reported

OPT[5:4]  00 = selects 18-kOhm pull-up for thermistor measurement

Below is my observation I am not able to convert ADC count to mV accurately, can you please guide me?

Resistance Ohm ADC Count mV 
9500 462
9500 470
470 91
330k 1144

Based on the below diagram considering ref voltage as 1.8 and pull up resistance as 18k I tried to calculate as shown in image but I do not think it near by to expected value.

Regards,

Kishor

  • Hello Kishor,

    Since you are using ADCIN, the pull-up for thermistor measurements should be inactive. I am not sure the pull-up would work at all if it is configured as an ADCIN

    If you want to get the ADC counts of the thermistor measurements, you need to use the DASTATUS6() - 0x0076 or DASTATUS7() - 0x0077 subcommands

    To get a voltage from the ADC count, it is mV = (counts * ADC_Gain)/(2^24).

    To get a voltage from the thermistor measurements, it is V = (counts * 1.8V * 1.667) / (2^23). (If configured as a thermistor).

    The ADC counts that you are getting sounds too small from what it should be. If you want to use 1.8-V as the pull-up for the ADCIN, maybe you can use an 18-kOhm external pull-up to REG18.

    Best Regards,

    Luis Hernandez Salomon

  • Can,t I use command 0x68 and read 20 bytes in sequence? These are all contineous channels it should be able to read.

    Regards,

    Kishor

  • Can you please make sure the pull up voltage and pull resister when used as ADCIN.

    Its never mentioned the pull up will not work if its use as ADCIN.

    Regards,

    Kishor

  • Hello Kish,

    Can,t I use command 0x68 and read 20 bytes in sequence? These are all contineous channels it should be able to read.

    That should be okay.

    The TRM mentions that no pull-up is used for ADCIN, while the pull-ups are used for the thermistor measurements.

    Best Regards,

    Luis Hernandez Salomon

  • Is there any way to measure ADC counts on Analog channels using internal 1.8 reference voltage and 18k pull up registers?

    I would like to make use of internal features but measure the ADC count.

    Regards,

    Kish V

  • Hello Kish,

    You can still read the ADC counts of the pin when the pin from commands, although this does not take into account the pull-up variance or pad resistance.

    There is a way to manipulate the polynomial coefficients of the thermistor measurements (If the pin is configured as a thermistor), in order for it to report the ADC counts instead of a temperature. An advantage of this, is that it does take into account the pull-up variance and pad resistance.

    You would have to enter the following coefficients:

    For example, you could set TS3 Config to 0x2B. This sets the 18k pullup and selects the custom temperature model. It also sets the pin to not be used for temperature protections. You can use 0x74 to read the reported TS3 Temperature. This pin is configured to measure the raw counts – because the temperature coefficients are set to not use a polynomial. 

    The approximate voltage can be calculated as (1.8V * count)/(2^15).

    Hope this helps! Slight smile

    Best Regards,

    Luis Hernandez Salomon