cancel
Showing results for 
Search instead for 
Did you mean: 

The noise of ADC get terrible after enabling SDRAM / LTDC

HCui
Associate II

I am using STM32H753 for signal sampling.

I have enabled ADC1 and ADC3, both of which are in 16 bits scan mode (4 channels).

Everything worked well until I enabled FMC / LTDC to migrate a UI application.

I noticed that most channels of ADC share IOs with FMC / LTDC. This may introduce noise into the ADC input when these peripherals are enabled at the same time.

If someone has encountered this problem?

1 ACCEPTED SOLUTION

Accepted Solutions
HCui
Associate II

I think I have found the reason. It's the cache. ADC1 and ADC3 shared the same DMA buffer, and the sampling result of ADC1 should be overwritten by the ADC3's.​ However, some samples were not overwritten as expected (the CPU think they are not actually), which makes the FFT result weird.

Note: The UI application is running on FreeRTOS, the MPU was disabled in RTOS configuration tab.

View solution in original post

4 REPLIES 4
Uwe Bonnes
Principal III

The ADC related application notes give examples and possible workarounds with noise issues, but not w.r.t. SDRAM / LTDC. I am sure increase chip activity due to FMC / LTDC wil strongly influence noise. Supply lines also may be an attack vector for noise. Did you consider that vector?

Thanks. I found that the noise seems get reduced after I disabled the DMA 2D accelerator in the TouchGFX tab and keep the priority of ADC-DMA low. The noise level also relates to the sampling rate. It is really weird.

the analog domain and digital domain are seperated properly

HCui
Associate II

I think I have found the reason. It's the cache. ADC1 and ADC3 shared the same DMA buffer, and the sampling result of ADC1 should be overwritten by the ADC3's.​ However, some samples were not overwritten as expected (the CPU think they are not actually), which makes the FFT result weird.

Note: The UI application is running on FreeRTOS, the MPU was disabled in RTOS configuration tab.