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.

ADS1148: High noise at hagh sample rates

Part Number: ADS1148

i'm experiencing high noise when the adc is set for sample rates higher than 20 sps.
At 5,10 and 20 sps the conversion is very stable and reflect the datasheet.
The system is designed to measure a thermocouple or signal in mV like the fig. 88 of the datasheet.
In my design RI1 and RI2 are 1K, CI_cm1 and CI_cm2 are 4n7, CI_diff is 47n.

The conditions are the following:
SYS0:  0x40  (PGA=4)
MUX0:  0x01
VBIAS: 0x01
MUX1:  0x30
IDAC0: 0x00

some conversion values ​​are presented in the following table (50 mV applied at differential

20 sps    40 sps    1000 sps
12490    12436    12534
12489    12480    12381
12490    12534    12446
12490    12496    12655
12490    12570    12340
12490    12497    12647

Suggestions for improvement?







  • Hi Alessandro,

    What reference voltage are you using for these measurements? The register settings you have provided indicate that the VREF is on but you are using REFP0/REFN0 as the reference source. But at the same time your IDACs are off, so I am not sure how you are establishing a reference voltage for these measurements.

    Is the 50mV signal you are providing from a precision source, or is this an actual thermocouple?


  • Hi Bryan,

    according to the technical sheet, it is necessary to set MUX 1 to 0x30 to have the internal reference active and the internal reference selected.
    It's correct?
    On the other hand, at low sample rates it works perfectly.

    The input signal is supplied by a precision source, with battery power so it is floating.



  • Hi Alessandro,

    The input signal should not be floating as the PGA inside the ADC has specific common-mode limitations (see pg. 19 in the datasheet). Please make sure to follow the guidelines in the datasheet. You might need to bias the (-) output on the precision source to a mid-supply voltage, and then apply the 50mV signal with respect to this voltage.

    Also note that as the data rate increases, the ADC performs fewer averages and the noise tends to increase. This can be seen in Table 1. You can also see this in your data, as the output is pretty consistent for 20 SPS, starts to deviate slightly for 40 SPS, then has a much larger deviation at 1kSPS.


  • Hi Bryan

    The input voltage is internally constrained to 1/2 Vcc thanks to VBIAS set to 1.


    Regarding Table 1,  I expected to have at least 15 stable bits up to 160 sps, currently this is only true up to 20 sps.

    I think there is something wrong but I can't figure out why.

    Unfortunately this is not at all satisfactory.

    I will now take the evaluation form that is back on Mouser.


  • Hi Alessandro,

    The measurements in Table 1 are taken with the inputs shorted to a mid-supply voltage. In other words, the ADC is measuring a 0V input. So basically you would need to apply 2.5 V (assuming AVDD = 5V) to both AIN0 and AIN1 (or you could set MUXP = MUXN = AIN0) and then view the output codes to see if they confirm the values in Table 1.

    However, the results can be different depending on how you have set up your system. For example:

    • The VBIAS feature itself can introduce some noise into the measurement.
    • The voltage reference will add noise to your measurement once you start measuring signals >0V.
    • Your PCB layout can introduce noise if it does not follow best practices for grounding and routing
    • It looks like your PCB has split ground planes, which are not recommended and could introduce noise.

    These are just some of the reasons why you might be getting slightly worse performance than what is shown in Table 1. I would try performing the input-short test to see if the device is meeting datasheet spec. You should bypass any input filtering for this test and make sure the source voltage is clean and stable.


  • Hi Bryan,

    we have checked the noise when MUX are connected togheter and the noise is good.

    Then we did the same test connecting inputs outside the ADC and the nois e is good.

    Then we connected a float voltage created with a battery and the noise is no longer ok.

    So we disconnected the internal Vbias and biased the inputs with an external voltage and the noise is much improved.

    So it is Vbias that introduces noise but only when the measured signal is not zero.
    The problem is that the use of an external vbias was not foreseen, so now the ADC becomes unusable even if only for sampling rates greater than 20 sps.

    P.S. I think the PCB is good, 4 layers with one layer for non split GND and separate analog section from digital, etc

    Thenks for helping



  • Hi Alessandro,

    Here are some other things you can try to see if the noise improves:

    • Use one of the remaining analog inputs (AIN4 or AIN5) and route this in front of the filter. For example, you would connect AIN4 to the point between the AIN1 terminal block and R88. Therefore, this noise gets routed to the front of the differential filter, whereas now it is being introduced directly into the ADC.
    • You could also use REFOUT to bias the thermocouple as opposed to the VBIAS. This may reduce the noise as well if you cannot use the method described in the previous bullet point
    • Increase the size of the differential capacitor between the analog inputs (e.g. C73 and C84) to provide additional filtering
    • Increase the size of the capacitor between VREFOUT and VREFCOM. This capacitor provides noise filtering for the reference, and right now the 1uF value is the minimum recommended
    • We don't necessarily recommend ferrites on the supply pins, as the ADC could require large amounts of instantaneous current that could be choked by the ferrites, causing the supplies to droop. Just something to keep in mind
    • Unrelated to noise, but you should consider adding a current limiting resistor to the IEXCx pins, in case of an overvoltage event at the terminals.

    Let me know if you are able to try any of these suggestions and if they improve the performance