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.

Question about EDMA

Hi all

     I have read the user guide about EDMA3

     but there a few question I am not  clear.

    1. What  difference between QDMA and EDMA, what scenarios  are appropriate for each DMA?

    2.The EDMA has two transfer type: 1D and 2D. What the difference between them? Just link filed update?

       Is 2D is faster than 1D?why?

    3.The master such as CorePac can bypass the channel controller and start a EDMA transfer , how did this realize ? Is there a sample?

   Thank you.

   Best Regards

Yewkui Wang 

  • Hi Wang,

    Thanks for your post.

    The primary difference between DMA and QDMA channels is the event/channel synchronization. QDMA events are either auto-triggered or link triggered. Auto-triggering allows QDMA channels to be triggered by DSP with a minimum number of linear writes to PaRAM whereas Link triggering allows a linked list of transfers to be executed using a single QDMA PaRAM set and multiple link PaRAM sets.

    QDMA transfer can be triggered when a DSP writes to the trigger word of the QDMA channel parameter set (auto-triggered) or when the EDMA3CC performs a link update on a PaRAM set that has been mapped to a QDMA channel (link triggered). For DSP triggered  DMA channels, it is required to write to the event set register (ESR) to kick-off the transfer.

    A 2D transfer is for BCNT arrays of ACNT bytes if the ACNT value is less than or equal to the DBS value and in order to maxmize efficiency, the TR would optimize to 1D transfer. From this, it is obvious, 1D is more efficient and well optimized transfer than 2D and to perform a 2D to 1D transfer, please refer sub-frame extraction example section 3.2 from EDMA user guide as below:

    http://www.ti.com/lit/ug/sprugs5a/sprugs5a.pdf

    I don't think, the master can bypass the channel controller and start a EDMA transfer in reality. It cannot be realized as per my understanding.

    Thanks & regards,

    Sivaraj K

    ----------------------------------------------------------------------------------------------------------------

    Please click the "Verify Answer" button on this post if it answers your question.

    ----------------------------------------------------------------------------------------------------------------

  • Hi Sivaraj K

    Thank you so much for you response.

    So ,If I use UART in FIFO mode, when receive event is occur,It will trigger a QDMA event?

    Thank you.

    Best Regards

    Yewkui Wang
  • Hi,

    Yes, you can trigger a QDMA event.

    Thanks & regards,
    Sivaraj K