When I try to read the internal temperature sensor in MSP430FR5739, I get values such as 489, 487, etc.
If I use the formula ( ADC10_B ):
· N = 1023·(V_IN - V_REF-)/(V_REF+ - V_REF-)
And:
· V_REF- = AVSS = 0V
· V_REF+ = VREF = 2V
Then the values are:
· N = 489: V_IN = 0.956
· N = 487: V_IN = 0.952
Acording to the datasheet (5.33 REF, Temperature Sensor and Built-In V_MID), I run into the following data:
· T_A = 0ºC --> 790 mV
· TC_SENSOR = { V_CC = 2 or 3 V } = 2.55 mV/ºC
So when I try to get a temperature value, I do something like this:
· Temp = ( V_IN - T_A )/TC_SENSOR
With some numbers:
· Temp = ( 0.956 - 0.790 )/0.00255 = 65.098 ºC
In my opinion, that value is too high, when I used the microcontroller MSP430G2553, I manage to get right values ( around 27ºC ). So my question is, Am I doing anything wrong?
On the other hand, my micro doesn't have any of the temperature calibration values ( I checked it already ) and the setup is well configurated since, I get right values if I change the channel, for example if I read the channel 11: ( AVCC - AVSS )/2, I'm capable of getting right values ( ( 3.6 - 0 )/2 = 1.8V ).
I really appreciate any help you can provide!