Introduction

Authors: Mark Pallones and Ashish Makthal, Microchip Technology Inc.

In data-oriented applications, transferring data between peripherals or different memory regions without CPU intervention provides significant improvement in terms of latency and throughput.

The Direct Memory Access (DMA) controller peripheral in Microchip’s 8-bit microcontroller can provide this improvement, allowing the CPU to spend time on other tasks rather than waiting for register flags or handling interrupts related to data movement. This technical brief provides an overview of the DMA controller's features. Code examples are also provided to show how to setup the module in different modes of operation. Figure 1 shows the functional block diagram for the DMA module.

Figure 1. DMA FUNCTIONAL BLOCK DIAGRAM