cancel
Showing results for 
Search instead for 
Did you mean: 

STM32L031 noisy, even in reset

LCE
Principal II

Heyho,

I have some custom miniature PCBs here, the unholy combination of a super-high-impedance-low-noise amplifier (going to a low noise audio input with 24bit ADC, spectra below from that one) and a STM32L031 on another PCB.

Both circuits share the same ground and power supply.

Actually, I didn't expect the analog part to be that good (shielding issues), so I was greatly annoyed when all got worse when adding the PCB with the MCU.

I already got the noise down by not using the CPU sleep mode: the timer interrupt frequency of 10 kHz was clearly visible in the spectrum, seemingly due to powering the CPU up and down.

Now the noise doesn't change, no matter which peripherals I turn on or off - and even in hardware reset (NRST grounded) there are the same noise spikes at around 4 kHz (and harmonics) on the analog signal.

Noise is only about -80 dBV = 100 µV, but I'd like to find out where that comes from - even with the MCU in reset.

Here are some screenshots with time signal and spectrum:

Amp_Noise_MCU_removed.png

LCE_0-1742313100646.png

 

LCE_1-1742313120753.png

 

Notes:
- ground loops removed (the signal looks much worse with non-isolated UART or ST-Link)
- I'm pretty sure it's NOT aliasing from the audio ADC (good analog AA filter and a stopband attenuation of 116dB)

Any ideas ? What could cause these 4 kHz ?

Thanks in advance!

1 ACCEPTED SOLUTION

Accepted Solutions

This is probably an artefact coming from the L0's internal power supply. Is not a plain LDO, rather, is something relatively complex using switching capacitors. It has been discussed here in the past, with ST contribution, but I don't have a link, sorry; and also I don't think there was any remedy offered, probably just the above facts were stated.

In other words, treat the 'L0 as a switching circuit, generating current pulses at its input.

JW

View solution in original post

4 REPLIES 4
LCE
Principal II

I forgot to mention:

  • I checked the ref manual (RM0377, table 34 and text), that shows that all clocks should be off with NRST = 0
  • I removed all other active components from the MCU PCB
  • I checked the 3.3V LDO with several loads (also way above what the MCU might draw), all quiet

 

This is probably an artefact coming from the L0's internal power supply. Is not a plain LDO, rather, is something relatively complex using switching capacitors. It has been discussed here in the past, with ST contribution, but I don't have a link, sorry; and also I don't think there was any remedy offered, probably just the above facts were stated.

In other words, treat the 'L0 as a switching circuit, generating current pulses at its input.

JW

LCE
Principal II

Wait, what, so there's probably a switched capacitor regulator instead of a linear regulator? Oh my...

Thanks a lot @waclawek.jan !

Especially the noise with the MCU in reset really drove me crazy, made me look for some resonance within my power supply or in other parts of the circuit.

@Peter BENSCH or @STea or any other ST person:

1) This should be documented somewhere in the DS and / or RM, or is it? If yes, where?

2) This is for a soon-to-be-released product, any alternatives? 

The MCU I need must have:

  • internal EEPROM
  • 12bit ADC (with inbuilt oversampler would be nice) with DMA
  • small package that can be soldered manually (no BGA or WLCSP), right now it's QFN28 4x4 which is actually the limit space-wise

Otherwise it'll be ATmega again...

> Wait, what, so there's probably a switched capacitor regulator instead of a linear regulator? Oh my...

Switched capacitors are e.g. used to generate the voltages required for flashing (erase & write), which are in the range of 9 to 12V.
Perhaps this block is idling here ?

> The MCU I need must have: ...

I would choose a variant with separate analog power supply.
Several STM32 MCUs do have that.