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-3 shows a
device-level block diagram of the DMA.
DMA features include:
- Six channels with
independent ePIE interrupts
- Peripheral interrupt trigger sources
- ADC interrupts and EVT signals
- External Interrupts
- ePWM SOC signals
- CPU timers
- eCAP
- SPI transmit and receive
- LIN transmit and receive
- Data sources and destinations:
- GSx RAM
- ADC result registers
- Control peripheral registers (ePWM,
eQEP,
eCAP)
- Communication peripheral registers (SPI, LIN, CAN, PMBus, FSI)
- PGA 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.