Hello everyone,
Can I set a timer for commands to move from CQueue to CFIFO? If I can, which register should ı use to select hardware trigger for this aim?
Solved! Go to Solution.
According you previous threads I suppose this question is related to MPC5777C's eQADC.
We have 3 stages of buffering for eQADC commands:
1) CQueue in system memory
2) CFIFO in local module’s memory and
3) CBuffer in local module’s memory as well
Transfers between 1 and 2 are under control of DMA (triggered when 2 is not full) or Core (thus triggered software way).
Transfers between 2 and 3 are under control of eQADC itself (and are triggered according to CFIFO operation mode)!
When commands are already present in CBuffer, they are immediately performed in sequence with ADC clock tick, there is no other triggering. If one command lies in CBuffer0 and second in CBuffer1, they will be converted simultaneously.
To answer your question - For CFIFO command moving don't use any timer. It is is needed to use 'CFIFO is not full' flag EQADC_FISRn[CFFFX], either by SW polling/interrupt or by eDMA (channels 0-11).
According you previous threads I suppose this question is related to MPC5777C's eQADC.
We have 3 stages of buffering for eQADC commands:
1) CQueue in system memory
2) CFIFO in local module’s memory and
3) CBuffer in local module’s memory as well
Transfers between 1 and 2 are under control of DMA (triggered when 2 is not full) or Core (thus triggered software way).
Transfers between 2 and 3 are under control of eQADC itself (and are triggered according to CFIFO operation mode)!
When commands are already present in CBuffer, they are immediately performed in sequence with ADC clock tick, there is no other triggering. If one command lies in CBuffer0 and second in CBuffer1, they will be converted simultaneously.
To answer your question - For CFIFO command moving don't use any timer. It is is needed to use 'CFIFO is not full' flag EQADC_FISRn[CFFFX], either by SW polling/interrupt or by eDMA (channels 0-11).