16.3.4 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 16-3. DMA Initial Conditions
Register Value Loaded
DMAnSPTR DMAnSSA
DMAnSCNT DMAnSSZ
DMAnDPTR DMAnDSA
DMAnDCNT DMAnDSZ

During the DMA operation after each transaction, Table 16-4 and Table 16-5 indicate how the Source/Destination Pointer and Counter registers are modified.

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

Table 16-4. 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 16-5. 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