cancel
Showing results for 
Search instead for 
Did you mean: 

Can STM32H745 ADC Sample a 500 kHz Sine Wave?

ggowd.1
Associate III

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

3 REPLIES 3
AScha.3
Chief III

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.

 

If you feel a post has answered your question, please click "Accept as Solution".

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

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.