This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C1294KCPDT: TM4C1294KCPDT

Part Number: TM4C1294KCPDT

Hi,

I am trying to read 8 analog inputs using ADC in the TM4C1294 controller. in my design trigger to the ADC is from a timer and after completion of ADC conversion a DMA will copy the data to an array in my code. My plan is to keep the ADC conversion and data copy running in the background and use the ADC data in the array whenever I need it in the code. The DMA mode I am using is AUTO.

I could Implement this by setting the DMA transfer parameters and enabling DMA channel in an ISR each time after competing the transfer. Otherwise the DMA transfer is not happening after the first transfer.

My question is, is it possible to continue the transfer in the background without setting the transfer parameters and enabling the channel each time after completing a DMA transfer?

Is it possible to implement it if I am going for any other DMA mode?

Regards,

Sooraj

  • Hi Sooraj,

    For basic DMA operation, you must reconfigure the DMA parameters such as the transfer size and the transfer mode after a transfer is complete if you want continue for the next transfer. You can consider ping-pong mode so the DMA will alternate between two different control structures (primary and secnodary). When the primary control structure completes the transfer, the DMA will continue the transfer using the secondary structure while an interrupt is generated so that the control word of the primary structure can be reconfigured. However, even in ping-pong mode you still need to reconfigure the control word after the transfer is complete.
  • Hi Charles,

    Thank you for your response.
    I wanted to verify this for designing an ADC driver for our new board.

    Regards,
    Sooraj