PSoC® 4 Direct Memory Access (DMA) – KBA96963

Version: *B



How can I use the PSoC® 4 Direct Memory Access (DMA), and which PSoC 4 devices support DMA?



DMA can transfer data from a source to a destination with no CPU intervention. This allows the CPU to handle other tasks while the DMA does data transfers.


The PSoC 4 DMA supports up to 32 DMA channels and two independent descriptors per channel. Each channel has a Transaction Descriptor (TD) chain. While one descriptor is running, the other can be updated by the CPU during run time. This allows for the creation of “extra” descriptors via firmware. The hardware makes this easier by providing a mechanism that optionally invalidates a descriptor when it is complete. While the descriptor is invalid, the CPU can update it.


For more information see PSoC 4 DMA Channel component datasheet and PSoC 4 DMA code examples.


You can use the PSoC 4 DMA in your design by placing the DMA Component in the PSoC Creator™ TopDesign schematic of your design. Right-click the DMA Component in the TopDesign and open the Component datasheet for a detailed explanation on how to use the DMA Component (Figure 1).


Figure 1. Open DMA Component Datasheet




PSoC Creator also provides examples which demonstrate how to use the PSoC 4 DMA. These examples can be accessed from the PSoC Creator menu, File > Example Project.


Figure 2. Find DMA Example Project in PSoC Creator



To see the list of all PSoC 4 devices that support DMA, click here.