I have to sample 4 signals as synchronously as possible using STM32F303VC. To do this I configure it in the following way (please see my .ioc file attached):
I use “Dual Regular simultaneous mode with independent injected mode “ for both pairs of channels.
I use a single channel for each ADC with continuous and scan mode disabled.
I use the same Timer 2 Update Event to start each conversion for both ADC pairs. The sampling time is set the same for each ADC.
I use DMA transfer with different DMAs for two ADC pairs, and the same DMA channel for master and slave in each pair.
I thought that such configuration would provide me with highly synchronous sampling, but if I connect all ADCs inputs to the same signal, do 1024 samples of 70 kHz signal at 560 kHz sampling frequency and look at the resulting waveforms the data from ADCs (even in the same pair, say ADC 3&4) are visibly shifted, by about one tenth of the wavelength.
This shift is changing depending on sampling frequency, which makes it even worse.
Another question - I am trying to use built-in OPAMPs as input buffers for ADCs. To do that I have to configure both ADC 1 and 2 to use the same channel 3. But the reference manual in 13.8.2 “Regular simultaneous mode with independent injected” says:
“Note: Do not convert the same channel on the two ADCs (no overlapping sampling times for the
two ADCs when converting the same channel).”, which makes this approach impossible. Is there any way around this limitation, or do I have to use external OpAmps?