Other Parts Discussed in Thread: UNIFLASH, MSPM0G3507
Tool/software:
Greetings.
While using LP-MSPM0G3507, I am facing a problem about using internal temperature sensor.
1. First of all, below picture shows the TEMP_SENSE0.DATA which read from uniflash.
The trimed value at 0x41C4003C = 0x2EEh = 750d.
USERID and DEVICEID also displayed in it.
2. The example project from mspm0_sdk_2.1.0.03, "adc12_internal_temp_sensor_mathacl_LP_MSPM0G3507_nortos_ticlang"
The calculated value is 5 degree celsius, it is incorrect with my environment.
3. There is an external thermistor on LP-MSPM0G3507 board which I can able to read from ADC and verified it with accurate value at 25 degree celsius.
The internal temperatue measured by ADC12 is approimate 0x323h/ 803d
Applying the formula described in TRM, the result is as same as the example does.
Vtrim = (3.3/4096)*(750-0.5) = 0.603845215
Vsample = (3.3/4096)*(803-0.5) = 0.648156738
Slope = -1.8mV/degree celsius.(provided by datasheet)
[ ( Vsample - Vtrim )/slope] + 30 = -24.6175 + 30 = 5.3824
By Hand calculating, I got exaclty the same value with sdk example.
Bottom line: Is there anything wrong in my description above?
If yes, please help me correct it.
If not, what or how can I do to fix internal temperature sensor issue?
Example code is alos attached. Thank you.
adc12_internal_temp_sensor_mathacl_LP_MSPM0G3507_nortos_ticlang.zip