Back to DRIVERS page

# AVR UC3 Series Software Framework: Peripheral DMA Controller (PDCA) Driver

Copyright © 2007 Atmel Corporation

## Introduction

The Peripheral DMA controller (PDCA) transfers data between on-chip peripheral modules such as USART, SPI, SSC and on- and off-chip memories. Using the PDCA avoids CPU intervention for data transfers, improving the performance of the microcontroller. The PDCA can transfer data from memory to a peripheral or from a peripheral to memory.

The PDCA consists of a number of DMA channels. Each channel has:

- A 32-bit memory pointer
- A 16-bit transfer counter
- A 32-bit memory pointer reload value
- A 16-bit transfer counter reload value

The PDCA communicates with the peripheral modules over a number of handshake interfaces. The peripheral signals to the PDCA when it is ready to receive or transmit data. The PDCA acknowledges the request when the transmission has started.

The number of handshake-interfaces may be higher than the number of DMA channels. If this is the case, the DMA channel must be programmed to use the desired interface.

When a transmit buffer is empty or a receive buffer is full, an interrupt request can be signalled.

## INTC Software Driver

This driver provides an API to get access to the main features of the PDCA controller.

The driver is composed of :

- PDCA.c
- PDCA.h (for accurate API description, read this header file).

## PDCA Software Driver Examples

One examples are currently available:

- The given example is a transfer of an ASCII Array stored in internal flash to the usrat output. using PDCA.

AVR is a registered trademark of Atmel Corporation.