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.

MSPM0L1105: internal temperature sensor - trim value

Part Number: MSPM0L1105
Other Parts Discussed in Thread: MSP430FR5994

Hello all,

is there a issue with the trim value (TEMP_SENSE0.DATA) of the MSPM0L1105 known?

I am using chips from the production sample and the value of TEMP_SENSE0.DATA seems to be wrong:

  • When I do the calculation with the chip trim value (TEMP_SENSE0.DATA = 392) and the measured 12-bit value 1058 (at 2,5V reference value), then I calculate the temperature result  -268,3°C.
  • If I use the example trim value from the reference manual (SLAU847C – OCTOBER 2022 – REVISED MAY 2023 => TEMP_SENSE0.DATA = 1857), then I get 18°C.

I assume the value at the chip (e.g. TEMP_SENSE0.DATA = 392) can not be valid. The result with the example trim value matches the current room temperature better.

As a hint, I got the information that TI had a similar issue before. The MSP430FR5994 errata document SLAZ681O contains a ADC67 with an invalid temperature sensor calibration.

Regards

  • Hi Bernhard_87

    To the best of my knowledge, there hasn't been any issues reported with temperature calibration constants.  I did find in the TRM that the factory constants are derived using 1.4vref.  I noticed in your description that you are using 2.5vref?

    measured 12-bit value 1058 (at 2,5V reference value),

  • Yes, for the measurement of the ADC channels (including channel 11 for the temperature sensor) the 2.5Vref is used. I use the formulas from the reference manual. The parameters Factory time temperature (30°C) and Temperature coefficient (-1,75mV/°C) are from the datasheet.

    The calculating of the Vtrim value is done with the 1.4Vref value. => Vtrim = 1.4V/4096*(TEMP_SENSE0.DATA-0.5)

    TEMP_SENSE0.DATA = 392 => Vtrim = 0.133V

    Vsample = (2.5Vref/4096)*(1058-0.5) = 0.645V

    Tsample = (1/(-0,00175 V/°C)) * (0.645V - 0.133V) + 30°C = -263°C

    Hint: The example from the reference manual use the value:

    TEMP_SENSE0.DATA = 1857 (ADC result code based on 12-bit mode and a 1.4-V reference)

    If I use this value (1857) for the calculation, then I get 23°C.

    This value is in the expected range, but not the previous value, which use the trim value from the chip.

  • Hi Bernhard,

    I'm checking with our Systems team on this.

  • Hi Bernhard,

    It is bit 24 of the device id at location 0x41C40008.  

    There is an errata in the works and the work around will be to perform a single point calibration on those units where bit 24 = 0.

  • The bit is cleared at our controllers. For now, knowing that there is an errata is enough.

  • Hi Bernhard,

    Ok.  You can see from my picture above mine is as well.  If that answers your question, I'll go ahead and mark this post resolved.