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.

MSP432P401R

Hi,

Still using MSP432P401R  processor.

I was wondering if we need to calibrate every device that has this CPU when using the internal temperature sensor? I am sampling the adc value for temperature but when I get the constants provided by TI example code I get very weird values for 30 and 85 degrees. Are these the values we need to use when calculating into Celsius?

Furthermore, I get quite a big variation in samples, from 5208 to 5277 with only room temperature and the development board laying on my desk. 

Thanks in advance! 

Regards,

Gergana Tanova

  • Hi Gernana,

    According to the datasheet, table 5-31 and footnotes, yes, it is recommended to do a single point calibration to reduce the offset errors and use the calibration coefficients stored in the device's TLV structure.  See table 6-86.

    Regarding the variation from device to device, yes, if you don't calibrate each device with its calibration coefficients, you will see a large variation.

  • Hello Dennis,

    Thank you for your answer. I am trying to verify that the adc value I sample is correct. How fast is the temperature sensor in showing the change in temperature? I have three other adc channels that are connected to hardware and I need to sample from input analog pins. But I configure the adc module as it is shown in TI example code for using internal temp. sensor. I wonder if the results on the memory channel for temperature sensor are influenced by sampling on the other memory channels. I get different values in case I do not trigger the sampling from the other input pins. 

    In my case I use 

    //setting the reference voltage 2.5V

    RefASetReferenceVoltage(REF_A_VREF2_5V);

    RefAEnableReferenceVoltage();
    ADC14_enableModule();
    ADC14_initModule(ADC_CLOCKSOURCE_SMCLK, ADC_PREDIVIDER_1, ADC_DIVIDER_4,
    ADC_TEMPSENSEMAP);

    GPIOSetAsPeripheralModuleFunctionInputPin(ADC14_GPIO_PORT, selectedPins, GPIO_TERTIARY_MODULE_FUNCTION); //where GPIO port is the port with analog pins and the selectedPins is the bitmask of the three analog pins used for sampling

    Enabling of the temperature sensor comes later in the code as I initiate the part where all necessary valiables for temperature are initiated

    The example on TI is only about using the temp.sensor as adc function. 

    When I sample with resolution per default 14bits, I get values which differ and the difference between the min and max value is 130 which is 0.019 V. It seems pretty unstable. Can it be because the board it not calibrated? 


    I appreciate any thoughts on that! 

    Regards,

    Gergana Tanova

**Attention** This is a public forum