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.

MSP430F5529: ADC noise , reading analog value from the DAC121C081

Part Number: MSP430F5529
Other Parts Discussed in Thread: ENERGIA, DAC121C081, , REF5050, MSPDRIVERLIB

Dear All

I am attempting to build a device to interface electrochemical sensor and to do that I have the need for linearly increasing excitation voltage (I have turned to DAC) namely  DAC121C081, I am using Energia and I have code for interfacing DAC and MSP.

After building a simple test circuit (custom PCB with bottom GND plane and REF5050 as the source of supply voltage for DAC in hope that it will provide with clean enough voltage rails to minimize any noise source)  I have tested the circuit. and the results were disappointing. In the end, I have more than +-10ADC points of noise (see attached figures, from the measurements). And for my application 1mV resolution is required (I was hoping since ADC in MSP430F5529 is 12bit thus 0.8mV resolution, that this will be sufficient).

I have actually tried to connect the analog pin directly through a voltage divider (getting 0.5Vs, of MSPs 5V rail) to ADC and the noise is the same, is that impossible to overcome or there is a way? (also I have tried all of the analog inputs, and the same story, see attached figure, from the measurements).

Question is can someone help me with the improving resolution and getting to the 1mV.

  • Hello Gabriel,

    Thanks for your detailed post. Have you taken a look at our General Oversampling of MSP ADCs for Higher Resolution app note? It features methods for improving the Signal-to-Noise Ratio (SNR) by increasing the resolution.

    Regards,

    James

    MSP Customer Applications

  • Hi James

    Thank You for the fast response, I have taken a break look into it.


    Now I have a couple of questions,

    I must admit I am not really skilled when it comes to writing a code, and I see that the files are not intended for Energia, is there an example for Energia?

    Second, since I don't have a source of signal where I can with certainty say that there is a known amount of noise, it is difficult to say is the DAC signal noisy or is the signal noisy because of ADC (probably both, I want to know how much does each contribute)  how to find that out?

    Do you know what is an actual noise on ADC (in the sense, if you put for example in 100mV what would the ADC from this MSP read) 

    I was wondering if there is an analog solution which could actually make signal smoother? again asking since I am not really skilled with writing a code and these sims easier to realize to me, or am I wrong?

    While ago I made temperature sensor with an active filter with 50Hz cuttof and I read out signal from it with this MSP and bellow you can see the results, this would be satisfying for me.

    Regards

    Gabriel

  • Gabriel Glotz said:
    I must admit I am not really skilled when it comes to writing a code, and I see that the files are not intended for Energia, is there an example for Energia?

    I'm on the flip side, since I don't have much experience with Energia. In the reference that I linked above, unfortunately there's not an Energia example. For more advanced functionality like this, we recommend leveraging one of our software libraries like MSP Driver Library (MSPDRIVERLIB) or even manually configuring the MCU's registers. If you'd like to continue using Energia, I would recommend leveraging the 43oh.com forums for Energia support.

    Gabriel Glotz said:

    Second, since I don't have a source of signal where I can with certainty say that there is a known amount of noise, it is difficult to say is the DAC signal noisy or is the signal noisy because of ADC (probably both, I want to know how much does each contribute)  how to find that out?

    Do you know what is an actual noise on ADC (in the sense, if you put for example in 100mV what would the ADC from this MSP read) 

    Typically, one of the parameters for an ADC is the Signal-to-Noise Ratio (SNR). SNR is the ratio in dB of the full-scale analog input root mean squared (RMS) value to the RMS quantization error. Increasing the resolution increases the SNR and vice versa, where the theoretical limit of the ADC SNR comes from quantization error inherent to the ADC conversion process itself. I don't believe this includes external noise introduced to the inputs.

    Gabriel Glotz said:

    I was wondering if there is an analog solution which could actually make signal smoother? again asking since I am not really skilled with writing a code and these sims easier to realize to me, or am I wrong?

    While ago I made temperature sensor with an active filter with 50Hz cuttof and I read out signal from it with this MSP and bellow you can see the results, this would be satisfying for me.

    You can use an external filter (e.g. RC, ferrite bead, inductor, etc.) to help reduce external noise on the inputs to the ADC. While you could implement a filter in software, it may be easier to do this in hardware and free up other valuable CPU cycles that could be used for other things. You can simulate the hardware filter to see the magnitude and frequency responses to various input frequencies.

**Attention** This is a public forum