You are here

DMA questions | Cypress Semiconductor

DMA questions

Summary: 3 Replies, Latest post by SmartPSoC on 20 Aug 2015 02:41 AM PDT
Verified Answers: 1
Last post
Log in to post new comments.
Dominik Gebhardt's picture
12 posts


unfortunately I broke my DevBoard and need to ask you; otherwise I would just test it.

Regarding the DMA feature I would have some questions:

1) Can I implement several TDs in one DMA component with NextTD attribute equals "End"? So I could just say something like "select TD4" and start --> wait for TD to end --> select another TD and so on.

2) I would like to use it with an UART component. Is it correct, that I need to watch out the TX buffer size and the amount of data to be transmitted? If the buffer size would be 4 bytes and the DMA transfers 8 bytes I would need two TDs as a chain and the second one will be triggered when TX buffer is empty again?


Best regards.

user_342122993's picture
530 posts
user_14586677's picture
7646 posts

Some ref material -                                             AN52705     Getting Started with DMA                          AN84810     PSoC® 3 and PSoC 5LP Advanced DMA Topics                AN61102 PSoC® 3 and PSoC 5LP - ADC Data Buffering Using DMA     Videos on DMA Videos on DMA (some overlap)


Regards, Dana.

SmartPSoC's picture
Cypress Employee
68 posts


You can connect NRQ of TD0 to DRQ of TD1 so that when TD0 finishes, TD1 will be executed.

You cannot have multiple independent TDs with next TD as 'ENd', because you need a way to select the TDs one after the other. Chaining TDs is possible.

The examples given in the other posts would help.


Log in to post new comments.