DMA Message Transfers

Once the Enable bit is set to start DMA message transfers, the Source/Destination Pointer and Counter registers are initialized to the conditions shown in the table below.

Table 1. DMA Initial Conditions
Register Value Loaded
DMAnSPTR DMAnSSA
DMAnSCNT DMAnSSZ
DMAnDPTR DMAnDSA
DMAnDCNT DMAnDSZ

During the DMA operation after each transaction, Table 2 and Table 3 indicate how the Source/Destination Pointer and Counter registers are modified.

The following sections discuss how to initiate and terminate DMA transfers.

Table 2. DMA Source Pointer/Counter During Operation
Register Modified Source Counter/Pointer Value
DMAnSCNT != 1 DMAnSCNT = DMAnSCNT -1
SMODE = 00: DMAnSPTR = DMAnSPTR
SMODE = 01: DMAnSPTR = DMAnSPTR + 1
SMODE = 10: DMAnSPTR = DMAnSPTR - 1
DMAnSCNT == 1 DMAnSCNT = DMAnSSZ
DMAnSPTR = DMAnSSA
Table 3. DMA Destination Pointer/Counter During Operation
Register Modified Destination Counter/Pointer Value
DMAnDCNT != 1 DMAnDCNT = DMAnDCNT -1
DMODE = 00: DMAnDPTR = DMAnDPTR
DMODE = 01: DMAnDPTR = DMAnDPTR + 1
DMODE = 10: DMAnDPTR = DMAnDPTR - 1
DMAnDCNT == 1 DMAnDCNT = DMAnDSZ
DMAnDPTR = DMAnDSA