Skip to main content
Visitor II
May 14, 2025
Question

Can STM32H745 ADC Sample a 500 kHz Sine Wave?

  • May 14, 2025
  • 1 reply
  • 716 views

Hi Team,

I am working on a project using the STM32H745 microcontroller, and I need to sample a 500 kHz sine wave using the ADC. I have configured the ADC with the following settings:

  • ADC clock: 77MHz
  • Resolution: 16 bits
  • Sampling time: 1.5 ADC clock cycles
  • Continuous conversion mode with DMA enabled(32bit)
  • Sampling Frequency Timmer : 1MHz

However, I would like to confirm:

  1. Is it feasible to reliably sample a 500 kHz sine wave with the STM32H745 ADC?
  2. Are there any specific considerations or limitations I should be aware of when sampling high-frequency signals like this?

 

Best Regards,
Gagan Gowda

    This topic has been closed for replies.

    1 reply

    Super User
    May 14, 2025

    Hi,

    1->

    sampling at 2x target frequency (500k -> 1Msps ) is nonsense - no matter, on what cpu.

     

    2. >Are there any specific considerations or limitations I should be aware of when sampling high-frequency signals like this?

    - low impedance buffer for ADC input

    - high sampling frquency (for 500k sine, 5Ms would be fine), on H7 you can get 3..4Ms , so make use of it.

     

    ggowd.1Author
    Visitor II
    May 14, 2025

    Hi @AScha.3 

    Thank you for your feedback.

    1. ADC Clock : Reduced from 80 MHz to 50 MHz to comply with the STM32H745 limits. This achieves a sampling frequency of ~3.45 Msps (12-bit resolution, 2.5 cycles sampling time).
    2. External Buffer : Added a TLV3501 op-amp as a low-impedance buffer to condition the input signal and reduce distortion.

    Best Regards,
    Gagan Gowda

    Explorer
    May 14, 2025

    In addition to Andrew Neil's recommendations ...

    A sampling frequency of 1MHz is the minimum required by theory (Nyquist frequency).
    This minimum only guarantees you have no alias effects.
    But two samples per period tell you very little, especially not that it is a "sinus function".

    It depends what you want to do with this data.
    If 500kHz is the maximum expected signal frequency, 1MHz might be ok.