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.

ADS1274 SNR resolution

Other Parts Discussed in Thread: ADS1278, ADS1274, TMS320F28377D

Hi All,

I'm evaluating the ADS127x ADCs with the modulator output connected to a DSP with an integrated demodulator, but I'm not getting the 144KSPS as the ADC achieves with its internal demodulator.

The clocksource for the ADS127x is 37MHz and when using the ADCs internal demodulator in HighSpeed configuration the modulator clock is fixed to 37MHz/4 = 9.35MHz. In HighSpeed mode the OSR seems to be 64. So the expected sampling rate is then 144.536SPS.

I've configured the DSPs integrated demodulator with OSR=64, matching the ADS127x in highspeed mode. I'm getting data from the ADS127x as expected. I'm reading in the conversions and see a 100dec code spread. This is as expected when using ADC conversion range +/-2.5Vref:  (( 2^24 / 5V) * 30uV)=100dec.

When I'm using a sinc3 filter in the DSP with OSR=64 then I'm getting a Peak data value of +/-262.144. If I'm not wrong, the SNR will then be 20LOG( (2*262411) / 100) = 74.4dB and is a 11.35bit effective resolution. While the datasheet says a minimum SNR of 101dB (~17bit).

So I'm a bit confused here. Could someone explain why I'm not getting the 101dB resolution?

Best regards,

Tjarco

  • Hi Tjarco,

    Thanks for your question! To start, I have some questions of my own about your setup:

    1. You measured a code spread of 100 codes at the output of the ADS1278.  Is that peak-to-peak (i.e. +/- 50 codes)?
    2. How are the ADS1278 inputs configured? We measure noise data with the inputs shorted and usually biased to mid-supply.
    3. Your peak data value with your sinc3 filter is +/- 262,144 codes? Are you driving the ADS1278 channels with a signal or are the inputs still shorted?
    4. Make sure that you are sharing the modulator clock with the DSP. In Modulator Output mode, the modulator clock is output on the SCLK pin.

    Assuming the ADS1278 is configured exactly the same in both scenarios, theoretically you can still achieve the same performance using the modulator output and your own digital filter on the DSP; however, sinc3 filters coefficients can vary and that will have an impact on the performance you see.

    Best Regards,

  • Hi Ryan,

    Thank you for your responds.

    1. Yes, this is peak code +/-50 decimal which corresponds to the noise specifications.

    2. Inputs are (both) connected to Vcom (1/2VCC) with decoupling capacitor to GND.

    3. Sinc3 filter with OSR=64, sinc3 filter peak range is X^3 = +/-262144 (which I can reach).

    4. Yes the ADS1274 is clocked from the DSP, the modulator clock is routed back to the DSP as modulator clock source.

    The demodulator is integrated in the TMS320F28377D DSP with sinc3 filter. You mention sinc3 coefficients, I don't have the coefficient values, but can the differences be so much (73dB vs 101dB)!?

    Best regards,

  • Hi Tjarco,

    The inputs should be shorted directly and biased to Vcom for SNR calculations. If the measured output noise is +/-262,144 codes in this configuration, then I believe something may be wrong with the digital filter in the DSP. I honestly do not know how much the different filter coefficients have to do with what you are observing, it was just a thought.

    SNR is actually calculated with respect to full-scale, meaning 20*log[ FS(rms) / Vnoise(rms) ]. You can also use the codes directly as in 20*log (2^24 - 1) / (+/- 262,144)). Either way, you only get about 30dB of SNR this way. This I do not believe is from the ADC.

    Have I misunderstood what you are measuring?

    Best Regards,

  • Hi Ryan,

    Thank you for your support in this case. I think that we're not on the same line here.

    The inputs of the ADS1274 are biased and directly connected to Vcom for the SNR calculation. The DSP is calculating with OSR=64 and with SINC3 filter configuration the full scale value would be (OSR^3=)  +/-262144 according the DSPs datasheet.
    The noise (code spread) in the DSP filter result registers are (undepending of the OSR ratio) always 100codes. So I believe that if I have a full scale value of +/-262144 and a noise of 100code my SNR would be:    20*log(2262144 / 100) = 68.4dB? while the SNR in the datasheet would be >101dB with (with same OSR ratio and sampling speed).

    The 100code of noise would be in real world:

    Vref: +/-2.5V, 24bit ADC resolution, and 100code noise results in: (5V / 2^24 )*100=60uV noise, or +/-30uV which corresponds to the noise histogram on page 10 of the ADS1274 datasheet.

    I would get 105dB when I 20*Log(2^24 / 100), but this would be 24 bit accuracy on a noise spread of 100code. Buts if the OSR=64 and the SINC3 filter generates a fullscale value of 64^3=+/-18bit then I'll never be able to have the same resolution as the datasheet specifies.

    Or have I made a wrong assumption here?

    Best regards,

    Tjarco

  • Hi Tjarco,

    Sorry for my misunderstanding. I think I have an answer for you now.

    I spoke with our digital designers about digital filter implementation. One thing that I did not know until now was that a proper sinc filter must be a least the same order as the modulator. Even better practice is to use one order higher. The modulator in the ADS1274 is a sixth-order modulator, so you will want to use at least a sinc-6 and a sinc-7 would be even better.

    The reasoning behind this has to do with the quantitative (Q) noise-shaping done by the modulator. The modulator is increasing at a sixth-order rate, so the sinc filter needs to be able to at least match that rate in order to prevent the Q-noise from aliasing into the passband. Once folded, no amount of successive filtering will be able to remove the noise.

    It seems like you have the correct set-up for modulator output and for SNR calculation. My only advice would be to try increasing the sinc filter order and see if that takes care it. :)

     

    Best Regards,