MSP430 Internal Temperature ADC measurement issue...

I am using the MSP430F1611, and I am finding reading the internal temperature (ADC internal channel 10) does not appear to be very stable. I have setup the ADC12CLK to use a 32kHz ACLK and am using sample and hold of 64 ADC12CLK cycles (SHT_4). I am reading the internal temperature ADC at a rate of 1Hz and find the temperature varies as much as 20 to 30 degrees C ( as much as 200 ADC counts).

If I switch the ADC12CLK to use the internal ADC12 OSC, and change the samle and hold to 1024 (SHT_15), the readings seem a bit more stable, but I still see variations of 20 to 30 degrees  over a period of time.

I understand the internal temp may not be all that acurate, but I assume is should be a bit more stable? Anyone seen similar issues? Is there a range of ADC12CLK frequencies that should be valid, i.e. running the ADC12CLK from ACLK 32kHz should not be an issue?

Don ...


2 Replies


    What reference are you using for your conversions?

    Please note the specs for the temperature sensor and Note 2 on page 42 of the datasheet: Essentially the temperature sensor can require a 1-point calibration to get a semi-accurate value, since the temp sensor can be as much as 20 degrees off initially (mentioned in Note 2). If the user does a 1 point calibration at 25 deg C then the accuracy at that temperature will be very good. As you move away from 25 deg calibration point then accuracy can diminish proportionally with the TCsensor (mV/degC) min and max stated in the datasheet .

  • In reply to DEEP SEARCH:

    I have see the note you referenced, and I am aware that the temp needs to be calibrated. What I am seeing is the ADC readings for the temp seem to be jumping around and does not seem to be stable. I am sure the temp on my desktop is not jumping around like I see the MSP430 temp ADC readings.

    I am using the internal 2.5V VRef and the part is running off 2.8V.

    Typically, I am converting ADC readings at 20Hz (every 50ms).  I am using the ADC memory to setup convertions for six channels, one of which is the MSP430 Temp (channel 10). The ADC12MCTLx is set to use SREF_1 (VR+ = VREF+ and VR- = AVss). I have a total of six channels defined with the last channel set as "End of Sequence" (EOS).

    ADC12CTL0 is set with (REF2_5V | MSC | SHT0_4 | SHT1_4 | ADC12ON | REFON)
    ADC12CTL1 is set with (CONSEQ_1 | ADCSSEL_1 | ADC12DIV_0 | SHP | SHS_0) where ACLK is 32kHz.

    My other external voltages being measured look good and stable. The MSP430 Temp seems to be the only one jumping around. Again, if I run the ADC12 using ADC12OSC (5Mhz) instead, the readings seem to be more stable, but I do seem to get occational spikes.

    Again, I am not looking for the accuracy (that can be resolved with Calibration and an offset), I am just trying to under stand the jitter I am seeing.

    Don ...