Skip to main content
Explorer
November 13, 2023
Question

ADC Noise

  • November 13, 2023
  • 4 replies
  • 5819 views

We use a STM32F7xx microcontroller with LQFP144 case
Part of the ADC Pins are on the 1-36 pin side.
Unfortunately this is also the side where the Quartz (Pins  OSC_IN and OUT, PC14-OSC32_IN, PC15-OSC32_OUT) and the RMII_CLK are mapped.
This leads to additional noise (app. 10 LSB with peak regions at 500 Hz compared to 5 LSB  noise on other similar filtered sensor signals)  on the pins 36 (ADC123_IN2) and 37 (ADC123_IN3) despite anti-aliasing filter.
Unfortunately we could not find any other pin available on ADC1 and ADC2.
Is this a well known problem that oscillators may disturb ADC's of STM32Fxxx microcontrollers?

gviereck_0-1699875868312.png

 

    This topic has been closed for replies.

    4 replies

    Technical Moderator
    November 13, 2023

     Hi @gviereck ,

    In the errata sheet ES0290, we recognize that some internal noise may impacting the ADC accuracy and 2 workaround options are suggested.

    I invite you to review this errata and apply the workarounds then to let us know the results. To enhance the ADC accuracy, don't forget the AN4073 as well.

    -Amel

    gviereckAuthor
    Explorer
    November 14, 2023

    Hello Amel,
    Thanks very much for having answered so quickly.
    The annoying additional noise is not a general issue for all ADC pins.
    We have 6 sensor signals connected to ADC Pins.
    2 of them show additional noise.
    They are connected to PA2 (Pin 36 of STM32F756ZG in LQFP-144 case) = ADC123_IN2 and PA3 (Pin Nr 36).
    PB0 = Pin 46 = ADC12_IN8 gave better results
     but PC0 = Pin 26 = ADC123_IN10 or PC2 = Pin 26 = ADC123_IN12 gave no better results.

    Is this worth trying PC1 or PC3 = Pin 29, too ? 

    Layout does not seem to be the problem but more to which ADC pin the sensor signal is connected. 

    Graduate
    November 14, 2023
    Do all sensors have the same output impedance and voltage level?
    gviereckAuthor
    Explorer
    November 14, 2023

    Yes.
    I measured the noise without anything connected to the input stage composed of anti-aliasing filter and voltage adaption circuit.

    Technical Moderator
    November 14, 2023

    Hi @gviereck 

    It seems your issue is related to the cross talk phenomena. Please refer to the AN2834 "How to optimize the ADC accuracy in the STM32 MCUs" / section 3.2.11 I/O pin crosstalk.

    Solution in the section: 4.2.11 Minimizing I/O pin crosstalk

    gviereckAuthor
    Explorer
    June 18, 2024

    We have changed the ADC-channels. The 2 ADC channels too close to the RMII clock: one is no longer used and we found an available ADC-pin further away, the other one is used for a signal that is less sensitive to noise (motor turn pulse).
    The noise is reduced. All the ADC channels dedicated to the position sensors show now app. the same level of noise.