I am using the Stm 32L476 and I am trying to use 2 ADCs with 2 channels each with 12 Bit. So 4 Channels all together. I am using the ADCs in Regular simultanuous multimode with DMA so I am able to transmit the data from DMA to USART afterwards.
Now I encountered a problem, that sometimes I get spikes of almost 255 Bits in my data.
In Matlab I receive the data, so 2 Bytes for each ADC. The spikes happen, when the Byte with the LSB has an overflow.
One example with two consecutive ADC values consisting of two bytes:
1.)00000110 01111100 (6 252)
2.)00000110 00000000 (6 0)
It seems like the ADC transmits the first byte with the MSB and after that it gets an overflow in the second one, but cant correct it in the first byte. The next ADC value has the corrected first Byte. So each spike always consists of only one value.
If I use the ADCs with 12,5 Cycles sampling time and with a prescaler of 64 (f=16MHz), it works fine and I cannot see any spikes. Nevertheless it would be nice if I can run the ADCs faster...
Can somebody imagine what goes wrong here?
Thanks a lot in advance!