AN52705 provides an introduction to direct memory access (DMA) in PSoC® 3 and PSoC 5LP. PSoC DMA can transfer data between on-chip peripherals and memory with no CPU intervention. The application note illustrates how to configure the DMA for simple data transfers, including peripheral to memory, memory to peripheral, peripheral to peripheral and memory to memory, using example projects.
Introduction
The DMA controller (DMAC) in PSoC 3 and PSoC 5LP 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, thereby achieving a 'multiprocessing' environment.
The PSoC DMA Controller (DMAC) is highly flexible – it can seamlessly transfer data between memory and on chip peripherals including ADCs, DACs, Filter, USB, UART, and SPI. There are 24 independent DMA channels.
The following table indicates the PSoC devices, PSoC Creator versions, compilers, and development kits that will work with this application note project:
Project |
Device
|
PSoC Creator
Version |
Development Kit
CY8CKIT-xxx |
Compiler
|
|||||||
Architecture
|
Silicon
Revision |
V3.0 SP1 or higher |
V2.1/2.0
|
001
DVK |
Keil
|
GCC
|
RVDS
|
MDK
|
|||
AN52705.zip |
Prod
|
YES
|
NO
|
YES
|
YES*
|
NO
|
YES
|
N/A
|
N/A
|
N/A
|
|
Prod
|
YES
|
NO
|
YES
|
YES*
|
NO
|
N/A
|
YES
|
YES
|
YES
|
||
AN52705_Archive.zip |
ES2, ES3, Prod
|
NO
|
YES
|
YES
|
YES*
|
NO
|
YES
|
N/A
|
N/A
|
N/A
|
|
ES1, Prod
|
NO
|
YES
|
YES
|
YES*
|
NO
|
N/A
|
YES
|
YES
|
YES
|
*Refer to Migrating CY8CKIT-001 DVK project to CY8CKIT 030/ 050.
- For PSoC 5 project and related document, please download file AN52705_Archive.zip.
Projects associated with this application note can be downloaded from the ‘Related Files’ section below. For your convenience, we have provided projects that are compatible with the two most recent versions of PSoC Creator:
- AN52705.zip is used with PSoC Creator 3.0 SP1
- AN52705_Archive.zip is used with PSoC Creator 2.1/2.0
The project’s default settings may not be compatible with your device or kit, and you may need to change your project settings. For more information, see: