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.

eZ430-F2013

I just started to work with this device to get familiar with it ...

I tried to verify the TI code example for internal thermometer in SD16 channel 6: msp430x20x3_sd16A_02.c with my device.

Even though the example focuses more on value deviation I was more interested first in the absolute value delivered by the converter and temperature sensor.

The result is surprising me and I can not bring that together with expected V_Sensor = 300..450 mV.

The hex values I get from SD16MEM0 at breakpoint via debugger are at about 0xD570 (quite stable), which with bipolar setting of the converter would mean a much higher V_Sensor (and with that temperature).

Is there some hint for the interpretation of such result? The source code is unchanged, the project is created by myself (might there be some influence here?).

Thanks, Michael.

  • Well, the SD16 surely isn't the best starting point to get familiar with an MSP. It is one of the most complex modules across all MSP families.

    Generally, A/D conversion, with internal or external reference and its tolerances, is one of the more complex themes. And the temperature sensor adds to the complexity, as both, its offset and its gain, are subject to exterme variations across different MSPs.

    It's best to start sampling a simple, constant external voltage (e.g. VCC/2) to get familiar with the conversion itself, and when this gives reliable results, go for the temperature sensor. If you don't have calibration values available, a two-point calibration will reveal the true offset and gain for this unique device.

    Keep in mind that the sensor measures the internal temperature of the MSP, which is usually a few degrees higher than the external one.

  • Thanks for fast reaction.

    Well - due to still missing external reference I had a look at the two other internal fixed measurement channels.

    With the same measurement type (bipolar, gain 1) I get (quite stable):

    - for the shortcut input on channel 7 about 0x801D

    - for the supply reference on channel 5 about 0xC5C6

    If I assume a USB power supply voltage at 3V (not measured) I would interprete the circuitry in that way, that 0xC5C6 should correspond to about 0,273V and 0x801D to about 0V.

    Assuming linear characteristics that would mean a dec. value of about  17830 corresponds to a measured voltage of 0,273mv.

    If I take now my temperature measurement value of about  0xD56A that would yield a measurement voltage of about 0,34V.

    This value I can now correlate to real practical temperature values according to userGuide temperature transfer function. To get the real absolute temperature I would now still need the internal sensor offset voltage. That one could only be evaluated using some calibration measurements (based on measured device temperature)?

    Is the last point what you mean with 2-point calibration mentioned in your comment? Or is there some document describing this calibration?

    Thanks, Michael.

     

  • Michael Pagenkopf said:
    for the shortcut input on channel 7 about 0x801D

    So you're using the Bipolar mode with binary offset. 0x001d then is the offset voltage (which has to be subtracted from all readings)

    Michael Pagenkopf said:
    for the supply reference on channel 5 about 0xC5C6

    Looks good. 11*0.273V are 3.003V

    Michael Pagenkopf said:
    To get the real absolute temperature I would now still need the internal sensor offset voltage.

    And the gain. Also, teh internal temperature is always a few degrees above the environment temperature, but you can more or less ignore this if ou do environment calibration.

    Michael Pagenkopf said:
    Is the last point what you mean with 2-point calibration mentioned in your comment?

    More or less. The trick is to run teh device on two known environment temperatures (at best far apart), so you can calculate the gain (the difference of both reading divided by the known temperature difference is the gain per degree) and teh offset (subtract the known temperature multiplied with the gain from teh measured value. Which should give you the 0 degree offset (and should be identical for both measurements - if it is not, then the internal device temperature was not equally above the environment for both measurements, which means that either the power consumption was different or the thermal coupling between chip and environment was not identical, e.g. water cooling/air cooling)

    Some MSPs have factory-provided calibration values stored in the info flash or a TLV info structure. Those are factory calibrated at 25 and 80 degree.
    Keep in mind that the reference itself also drifts over temperature. The two-point calibration addresses this too, calculating the reference drift into the gain.

**Attention** This is a public forum