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.

TMS320F2800157-Q1: Internal temperature sensor

Part Number: TMS320F2800157-Q1
Other Parts Discussed in Thread: SYSCONFIG

Hi,

  • On the board which has F2800157-Q1 (48PHP package), I need to multiply the resultant of ADC_readResult() by 2 to get proper temperature data.
  • However, on the control card which has F2800157 (80PN), I don’t have to multiply by 2.

 I have used below configuration on ADC & ASYSCTL. Could you please check on below config & revert if any configuration is incorrect?

Thanks,

Kantha

  • Hi Kantha,

    You should not be multiplying the results in the first place.  Sorry, I could not make out the settings in sysconfig snapshot.  Can you increase the resolution?

    Thanks,

    Joseph

  • What is the function call you are running to translate the ADC reading to temperature?  What is the VREF value that you are passing to that function? 

  • Hi Joseph,

    Below are the functions used.

    uint16_t sensorSample;

    int16_t     sensorTemp;

    sensorSample = ADC_readResult(ADCCRESULT_BASE, ADC_SOC_NUMBER0)*2; // Read the raw result
    sensorTemp = ADC_getTemperatureC(sensorSample, ADC_REFERENCE_INTERNAL, 3.3f); // Convert the result to a temperature in degrees C

    The above functions are called in INT_ADC0_1_ISR interrupt.

    Thanks,

    Kantha

  • Hi Kantha,

    Can you please check on HW differences between the 48PHP and 80PN setups, specifically on VREFHI pin connections?  Software is setting up ADC in internal VREF 3.3V mode so there should be nothing connected to the VREFHI pin except for a filter capacitor (~2.2uF) and VREFLO pin should be connected to GND.

    Regards,

    Joseph

  • Hi Joseph,

    On the 48PHP board VREFHI is connected to 3p3V however on the 80PN (Control card) I do see VREFHI connected to GND through 2.2uF and on both boards VREFLO is connected to GND.

    Is this the reason that we need to multiply the ADC result by 2 to get proper temperature output?

    Thanks,

    Kantha

  • Hi Kantha,

    Yes, this is the reason.  What happens is that the configuration is setting the internal 1.65v buffer as the reference and bringing this out to VREFHI pin but since pin is externally driven to 3.3V, then there is contention.  This is not good for the internal buffer as the external driver is forcing current into the internal buffer, which may cause damage.  Please correct this by setting the VREF mode on the 48P set up to external VREF to avoid contention so that the internal buffer would not be connected to to VREFHI.

    Best regards,

    Joseph