Microchip Technology MA320001 Data Sheet

Page of 214
© 2011 Microchip Technology Inc.
DS61143H-page 97
PIC32MX3XX/4XX
10.0
DIRECT MEMORY ACCESS 
(DMA) CONTROLLER 
The PIC32MX Direct Memory Access (DMA) controller
is a bus master module useful for data transfers
between different devices without CPU intervention.
The source and destination of a DMA transfer can be
any of the memory mapped modules existent in the
PIC32MX (such as Peripheral Bus (PBUS) devices:
SPI, UART, PMP, and so on) or memory itself.
Following are some of the key features of the DMA
controller module:
• Four Identical Channels, each featuring:
- Auto-Increment Source and Destination 
Address Registers
- Source and Destination Pointers
- Memory to Memory and Memory to 
Peripheral Transfers
• Automatic Word-Size Detection:
- Transfer Granularity, down to byte level
- Bytes need not be word-aligned at source 
and destination
• Fixed Priority Channel Arbitration
• Flexible DMA Channel Operating Modes:
- Manual (software) or automatic (interrupt) 
DMA requests
- One-Shot or Auto-Repeat Block Transfer 
modes
- Channel-to-channel chaining
• Flexible DMA Requests:
- A DMA request can be selected from any of 
the peripheral interrupt sources
- Each channel can select any (appropriate) 
observable interrupt as its DMA request 
source
- A DMA transfer abort can be selected from 
any of the peripheral interrupt sources
- Pattern (data) match transfer termination
• Multiple DMA Channel Status Interrupts:
- DMA channel block transfer complete
- Source empty or half empty
- Destination full or half-full
- DMA transfer aborted due to an external 
event
- Invalid DMA address generated
• DMA Debug Support Features:
- Most recent address accessed by a DMA 
channel
- Most recent DMA channel to transfer data
• CRC Generation Module:
- CRC module can be assigned to any of the 
available channels
- CRC module is highly configurable
FIGURE 10-1:
DMA BLOCK DIAGRAM
Note 1: This data sheet summarizes the features
of the PIC32MX3XX/4XX family of
devices. It is not intended to be a
comprehensive reference source. To
complement the information in this data
sheet, refer to Section 31. “Direct
Memory Access (DMA) Controller”
(DS61117) of the “PIC32 Family
Reference Manual”
, which is available
from the Microchip web site
(
www.microchip.com/PIC32
).
2: Some registers and associated bits
described in this section may not be
available on all devices. Refer to
 in
this data sheet for device-specific register
and bit information.
Address
Channel 0
Channel 1
Channel n
Global Control
(DMACON)
Bus
Channel Priority
Arbitration
SE
L
SE
L
Y
I
0
I
1
I
2
I
n
System IRQ
INT Controller
Device Bus + Bus Arbitration
Decoder
Peripheral Bus
Control
Control
Control
Interface