Tool/software:
Hello,
I am sampling the temperature sensor on the MSPM0G1507 and I am having some issues when converting the ADC reading to a temperature. My ADC values on ADC0 channel 11 (Temperature Sensor) are around 1760 at room temperature. The trim value read from the factory region is 796. When I make the calculation, I get this result:
Parameters
- Sampling Time = 25 us
- TEMP_SENSE0 = 796
- TSC = -1.8 mV/℃ (From slasew9d)
- TSTRIM = 30 ℃ (From slasew9d)
- VREF = 1.4 V
- VREF_TRIM = 1.4 V (From slasew9d)
- RES = 12 bits
VSAMPLE = (1.4 / 4096) * (1760 - 0.5) ≈ 0. 6014 V
VTRIM = (1.4 / 4096) * (796 - 0.5) ≈ 0. 2719 V
TSAMPLE = (1000 / -1.8) * (0.6014 - 0.2719) ≈ -183.1 ℃
TRM’s (slau846b) example trim value of 1857 provides a more realistic result:
VTRIM = (1.4 / 4096) * (1857 - 0.5) ≈ 0.6345 V
TSAMPLE = (1000 / -1.8) * (0.6014 - 0.6345) + 30 ≈ 48.39 ℃
These are the values read from the factory region:
TRACEID: 0x001D1D35
DEVICEID: 0x2BB8802F
USERID: 0x804D2655
TEMP_SENSE0: 0x0000031B
I also tested on another board to see if it was a single flawed calibration value, but I read 795 from the TEMP_SENSE0 register. This part is being used on a custom board.
Similar questions seemed to be using early samples, as identified by an empty TRACEID, but this is not the case for my part.
RE: MSPM0L1304: Internal temperature sensor - factory calibration
LP-MSPM0L1306: Temperature sensor formula unclear
It seems like the trim value is off, based on the example from TRM, but I'm not sure if maybe the readings are incorrect instead?
Thanks,
DIM