I want to implement a single ADC read trigger for 4 channels (ANA14 , ANA15 , ANA16_SDB0 and ANA17_SDB1 pins) within 10 micro seconds of a rising edge detection at ETPUC16 pin.
This is for a MPC5777C cobra controller
These ADCs are not differential so I don't want to configure SDADC.
I could see from the data sheet that there is not direct trigger to do this, it can only trigger SDADC. And I would need the triggering to be fast as it has to converted and returned within 10 micro seconds.
Is there a way we can implement this? And is there any existing code which I could refer to?
Example code you may find here:
Example MPC5777C-SDADC_eTPU_triggered GHS714
https://community.nxp.com/docs/DOC-335360
However let’s talk about SDADC a bit -
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).
So I would recommend you to use eQADC module for single triggered ADC conversions.
No there is no such option there. Pay attention to register SIU_ISEL4 and above: