The DMA module provides a hardware method of
transferring data between peripherals and/or memory without intervention from the
CPU, thereby freeing up bandwidth for other system functions. Additionally, the DMA
has the capability to orthogonally rearrange the data as it is transferred as well
as “ping-pong” data between buffers. These features are useful for structuring data
into blocks for optimal CPU processing. Figure 7-1 shows a
device-level block diagram of the DMA.
DMA features include:
- Two channels with
independent ePIE interrupts
- Peripheral interrupt trigger sources
- ADC interrupts and EVT signals
- External Interrupts
- MCPWM SOC signals
- CPU timers
- SPI transmit and receive
- UART transmit and receive
- Regular FIFO
level triggers (UARTx_TX and UARTx_RX) and single request triggers (UARTx_TX_SREQ and UARTx_RX_SREQ)
- Data sources and destinations:
- GSx RAM
- ADC result registers
- Control peripheral registers (MCPWM,
eQEP)
- Communication peripheral registers (SPI, UART)
- PGA control
registers
- CMPSS control
registers
- Word Size: 16-bit or 32-bit (SPI limited to 16-bit)
- Throughput: Three cycles per word without
arbitration
Note: Peripheral registers with EALLOW protections are write protected from spurious DMA writes.
To write these registers with the DMA, disable the EALLOW protection mechanism.