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.

Synchronization: Triggering DMA Transfers

Hi,

About TMS320C6202 DMA Contoller:

If value of WSYNC and RSYNC fields is 00000b, no synchronization is needed to trigger a transfer. Write, read or frame transfers occur as soon as the resource is available to that channel . But i didn't understand how the  resource communicates that is ready. Is not an event?

thanks.

  • You're misunderstanding what "no synchronization" means.  Selecting this option would mean that there are no hardware events tied to that channel.  This would be used for a CPU-initiated DMA channel.  You would set up the channel with "no synchronization" and then you could initiate the transfer with the CPU by writing to the RSYNCSTAT/WSYNCSTAT field in the SECCTL register.

    Brad

  • Ok. But when a DMA Channel (non synchronized) knows that the resource is availble if we don't have a signal to advise about it?

  • You as the programmer need to know.  This sort of thing would be used as an efficient replacement to a memcpy function call.  Rather than having CPU copy from src to dst you would instead program src and dst to a DMA channel, set it up as non synchronized, and then initiate the transfer.

  • Another way to think of it is that it is synchronized by the CPU, your code generates the signal to begin the transfer, this could probably be written in the docs differently to be less confusing. The resource it is waiting for depends on the transfer, typically if you dont have much going on in your system the transfer starts immediately, but if you have another DMA going to the same resource (such as SDRAM) it will wait until the SDRAM resource is available to begin the EDMA transfer. So you start (synchronize) the transfer with the CPU and than the EDMA controller waits until the next possible opportunity to actually transfer the data.