Function run in MCU generate noise to the analog circuit

ground-planemicrocontrollernoise

As my circuit is a little complicated, I don`t know how to pose the PCB here. So I just want to know the probable causes of the problem and I will test them one by one later and report back.

My problem is that:

The MCU(STM32F4) would run a function with 300Hz frequency. When the function runs, I can observe a set of noise(2100Hz,2400Hz,2700Hz,3000Hz,3300Hz…)in the analog circuit. Amplitude of the noise is about several mVpp. The observation point is the output of a 45dB-gain, 3kHz-center-frequency bandpass filter. I need to get rid of those noise as my desired signal is also 3000Hz.

So does anyone meet the same or similar problem before?

More information:

  1. I once modified the frequency of the function to 600Hz and the set of noise became 2400Hz,3000Hz,3600Hz… and the amplitude became a little larger.

  2. the digital ground and the analog ground are in the same plane.

EDIT

These days I have done some experiments and found that the noise maybe comes from the ground plane.

I measured the voltage difference between the GND terminal of the power supply (connected to the main plug of the device) and the GND on my PCB. The 300Hz noise appeared. So I think the noise is from the noisy ground plane. But I am not sure my measurement is correct. Is it?

One more strange phenomenon: I measured all the MCU pin. Also found that noise. So is this phenomenon due to the noisy ground plane?

Best Answer

Maybe you need to have larger decoupling caps nearest to the microcontroller power pins, ro reduce the path length that is able to couple its signal to other PCB trace or wire.