5.1.6 Device Memory Access (DMA) Controller
AVR and PIC32CM DMA controllers enable high-speed data transfers between memory and peripheral registers without CPU intervention. This improves system efficiency, reduces CPU load, and enables real-time data handling for tasks such as serial communication, ADC sampling, and memory-to-memory transfers. Table 5-8 shows a comparison of features between the two.
| Feature | AVR® | PIC32CM DMAC |
|---|---|---|
| Number of Channels | Up to four | Up to 16 |
| Transfer Types |
Peripheral-to-memory Memory-to-memory |
Peripheral-to-memory Memory-to-memory |
| Trigger Sources |
Peripheral events Software triggers |
Peripheral events Software triggers External triggers |
| Addressing Modes | Fixed, increment or decrement | Fixed, increment or decrement |
| Burst/Block Transfer | Supported | Supported |
| Priority Levels | Fixed or simple priority | Programmable priorities |
| Descriptor Support | Basic (repeat/auto modes) | Advanced (linked list descriptors for complex transfers) |
| Data Width | 8-bit | 8/16/32-bit |
| Interrupt Support | Supported | Supported |
| CRC Check | Through separate CRC | Built-in |
