2024-04-28 04:39 AM
On the H743VIT6 I am seeing a strong spike on the VDDA line every time the 32 samples are completed and DMA triggers to copy them to memory.
This is causes the samples to have a 1500 Hz signal with 4 harmonics in the data.
The board is 4-layer, solid ground plane, good decoupling, 0.1u and 2.2u on the VDDA pin, plus ferrite bead and own LDO regulator.
Sampling at 384 KHz works very well apart from the spikes appearing on the FFT around DC zero at exactly the completion frequency every 32 samples.
Oversampling is enabled.
Any expert advice would be welcome.
2024-04-28 03:21 PM
The ADC has one register for converted results (except for injected channels), so the DMA is saving to memory after each conversion. So the spike and harmonics problems must be for some other reason.
2024-04-29 12:25 AM
Yes, you are right, there is no bulk DMA transfer without a large cache.
Of course my code is activated by the completion interrupt, processes the samples, and does a memcpy, I'll try disabling part of that and see what happens.