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.

ADC10 lowest noise - use reference?

Other Parts Discussed in Thread: MSP430F5172

Hi,

I am using an MSP430F5172. What is the best practise for getting lowest noise measurements from the ADC10? I don't need the internal reference for accuracy, VCC would be fine. But I suspect noise from the supply voltage could induce errors on the ADC10 measurement. Does it make sense to generally use the internal reference? I don't mind the extra supply current for the REF module. Using a 2.5V reference however would mean a reduced input voltage range (compared to a 3.3V VCC), so errors on the analog path play a bigger role.

Regarding the temperature diode: The manual does not mention it, but it seems to work only when REF is swiched on. Is it important which reference level to use?

- Regards

  • If using VCC, the best way to eliminate VCC noise is to average several readings. It does, however, lower teh effective conversion frequency.

    The internal reference is usually much less noisy and also provides a rather stable reference, while using VCC gives results relative to VCC (and is therefore rather useless if you want an absolute result)

    The temperature diode requires a constant current to produce a voltage output relative to temperature. In theory, VCC could be used but then you'd need caliration data for each and every possible VCC, which is simply insane.
    So the temperature sensor only works with one of the internal references. The readings are different for different references, but at least there are only a few (so TI can provide factory-provided calibrations)

  • In the REF section, the register description says "REFON must also be set in order to enable the temperature sensor when required"... this is rather hidden, you should place this in the ADC10 section as well! This is a trap many will fall into (as I did).

    What do you mean with "the readings are different for different references, TI can provide calibrations"? The manual (MSP430x5xx/MSP430x6xx Family User's Guide) states in the ADC10 section "V = 0.00252 x (TEMP ) + 0.688". The description in the ADC12 section is quite different, but my device (MSP430F5172) only has an ADC10 module. Is there a difference in the implementation of the temperature for ADC10 and ADC12 modules? ADC12 documentation mentions calibration data in TLV descriptors, ADC10 does not.

  • Martin55843 said:
    this is rather hidden, you should place this in the ADC10 section as well!

    indeed. The ADC12 section contains this info in the temperature sensor description. I'll forward this.

    Martin55843 said:
    The manual (MSP430x5xx/MSP430x6xx Family User's Guide) states in the ADC10 section "V = 0.00252 x (TEMP ) + 0.688"

    These are only 'typical' values.
    In the 5438 datasheet, there is a 'temperature sensor' section and it states that the offset can be as much as +-20°C. I don't believe that the 5172 has a completely different (and precise) temperature sensor mechanism :)
    The datasheet also recommends at least single-point calibration for the offset. (which is done at the factory for the calibration data in the TLV structure).

    Also, while the diagram found for the temperature sensor int eh 5438 datasheet only shows one graph, it is the graph for the 1.5V reference (and also the data tables only speak about REFON, but not REF2_5V. So if one uses the 2.5V reference, the values are different (by a factor of 1.66 higher, depending on reference prcision). At least they were on teh 1611 with ADC12 where I used it adn did tests and calibration (as the 1x family did not have any calibration data, even for the ADC12).

  • Thanks a lot for the info about the calibration data in the TLV structure. I did not know this...

    Overall, the documentation on temperature measurement is very poor. There are bits of infos scattered over all documents (family users guide, data sheet), but there is no single how-to regarding the measurement.

    - The ADC10 section only describes which input channel to use

    - The REF section says you have to enable the reference in order to use the temperature diode (not obvious!)

    - The data sheet specifies the measurement error range, but does not point you to the calibration data

    - The TLV table mentions factory calibration (hurray!) for the otherwise rather nasty calibration required

    So to make this seemingly simple measurement, you have to scan 1000+ pages of datasheet and users guide to gather all the info required!

    As far as I can judge for now, the documentation is like this for all functions of the MSP430. It is almost as if the manual writers had the task to document all functions completely (so a knowing person finds the right register bits), but make it as hard as possible for an outsider to get a clue. The manual is as informative as a phone book. If you know the name, you get the number, but not more. What's missing are descriptions with a wider scope, more general how-to articles. The code examples help, but they cover only maybe 10% of the available functions.

  • You're right, it' snot easy to find all relevant data jsu tby looking into the documentations table of contents. So it's not a good idea to use it as context-sensitive help when you get stuck. You should rather read through it before even starting with te work. Then you'll at least remember that 'there was something' when you encounter problems.

    The approach is caused by the modular structure. It would be almost impossible to keep 400 independent datasheets up-to-date, so the common parts have been moved into the users guide. Unfortunately the definition of what is a common part has changed a bit when introducing new features adn an increasing number of devices. So it isn't 100% consistent.

    However, the documentation is quite good and complete. And when errors show up, it is quickly updated. Which it wouldn't if there were independent individual datasheets for each MSP.

    Martin55843 said:
    It is almost as if the manual writers had the task to document all functions completely (so a knowing person finds the right register bits), but make it as hard as possible for an outsider to get a clue.

    Yes to both. But the thing is, once you got the idea how it works, it is relatively easy to find what you need. But if you had to search a week for a register bit...

**Attention** This is a public forum