Other Parts Discussed in Thread: MSPM0G3507, SYSCONFIG
I have set up the two ADCs to repeatedly sample a single channel each, both triggered from the same event and both repeating at the same rate so they are operating simultaneously. As each one's measurement becomes available (MEM0 result loaded), DMA channels are triggered to copy the value from MEMRES[0] to a buffer. The transfer size of the two DMA channels are both set to 34 and the ADC pins are connected to the same signal source, so at the end of this process I expect to have two 34-word buffers containing identical samples (allowing for noise).
What I actually see is that one of the buffers has its second word repeated into its third location, and there is a shift in all of the values. So the buffers have samples that look like this:
Buffer B [ 0, 1, 2, 3, 4, 5, 6, 7, 8, ...,]
Buffer A [ 1, 3, 3, 4, 5, 6, 7, 8, 9, ... ]
If I set the DMA channel to use round-robin priority, the repeated word switches which buffer it appears in.
As far as I can tell, there is nothing else happening at the same time - no other DMA channels are active and the core is sitting on a WFI().
Should I be able to use two ADC+DMA channels simultaneously in this way, and is there any way of finding out why I get repeated/skewed data in the buffers?