16 Direct Memory Access (DMA) Controller

The Direct Memory Access (DMA) controller handles high data throughput peripherals on the SFR bus by enabling direct access to data memory to reduce the need for intensive CPU management. The DMA controller is structured with multiple channels, each of which can be connected to a selectable peripheral module. When a peripheral module triggers its interrupt, the corresponding DMA channel responds by accessing the SRAM without requiring CPU intervention. This direct access not only frees up the CPU to handle other tasks, but also optimizes overall system efficiency.

Each DMA channel can interrupt the CPU once the DMA session is complete, or if other interrupt conditions are met. This mechanism ensures that the CPU is only engaged when necessary, enhancing system performance and making efficient use of CPU resources. By offloading the data transfer tasks from the CPU, the DMA controller significantly contributes to improved system functionality and reduces power in various applications.

The DMA Controller has these features:

  • Six Independent Channels
  • Concurrent Operation with the CPU
  • DMA Bus Arbitration Using Fixed Priority and Round Robin Scheme
  • Four Address Modes
  • Four Transfer Modes
  • Ping-Pong Mode
  • 8-Bit, 16-Bit or 32-Bit Word Support for Data Transfer
  • 24-Bit Source and Destination Address Register for Each Channel, Dynamically Updated and Independently Reloadable
  • 32-Bit Transaction Count Register, Dynamically Updated and Independently Reloadable
  • Upper and Lower Address Limit Registers
  • Counter Half/Full Level Interrupt
  • Software Triggered Transfer
  • Null Write Mode for Symmetric Buffer Operations
  • DMA Request for Each Channel can be Selected From Any Supported Interrupt Source
  • Support for Daisy Chaining of Channel Called Channel Chaining
  • Set/Clear/Invert Bit Manipulation Capability
  • Pattern Match
  • Bus Read/Write Error Fault Indication