Together with lucabarbiero For motor control purposes, we need to acquires 4 analog inputs at high frequency (40 to 60kHz). This analog inputs should ideally be triggered at exactly the same time
For such use case,NXP Application Note (AN 3206) isproposing to use eQADC to acquire the motor currents and then eDMA to transmit the values to eTPU function ASAC.
However, it seems the SDADC peripheral could be able to accomplish the same task... Is there any particular reason why eQADC is preferred in this case?
Is there any hints how to chose between one or the other? Do you know, In this case which one would give the better resolution for this use case?
Once enabled the SDADC keeps running. There is no “Single conversion mode”. This requires converted data to be continually drained by DMA or ISR. The digital nature of the SDADC means that there is a propagation delay as the data is clocked through the internal digital filters. This has to be taken into account at startup or at any channel mux change. This latency means that the SDADC is not well suited to some applications including motor control. When used in an AC sampling application it is likely that each SDADC will have to be dedicated to a particular input rather than switching the input channel.
SDADC offers higher conversion accuracy (16-bit result).
SDADC is always combined with other type of ADC, on this device it is eQADC offering advanced triggering and channel multiplexing capability (on other MPC57xx device SDADC is supplemented by SAR ADC).