ABC of Electronics cosycom.com
EMBEDDED SYSTEMS & MICROCONTROLLERS · PAGE 74

Direct Memory Access (DMA)

Moving data without the CPU.

A DMA controller copies data between memory and peripherals on its own. You set a source, a destination and a count, start it, and the CPU is free until a completion interrupt arrives.

It suits streaming ADC samples into an array or sending a long buffer over SPI. Note the buffer must stay valid until the transfer ends.

On smaller chips without DMA, an interrupt-driven buffer does a similar job at greater CPU cost.