SLAU846A June 2023 – October 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1
In block transfer mode (DMATM = 1h), a transfer of a complete block of data occurs after one trigger. Block transfer mode is available in basic DMA channels only.
The DMASZx register defines the size of the block, and the DMADSTINCR and DMASRCINCR bits select if the destination address and the source address are incremented or decremented after each transfer of the block. If DMASZx = 0, no transfers occur.
The DMASAx, DMADAx, and DMASZx registers are copied into temporary registers. The temporary values of DMASAx and DMADAx are incremented or decremented after each transfer in the block. The DMADSTWDTH will indicate whether the destination address will increment or decrement by 1, 2, 4 or 8 with each transfer cycle. The same is true for the DMASRCWDTH and the source address respectively. The DMASZx register is decremented after each transfer of the block and shows the number of blocks remained. When DMATM = 01, the DMAEN bit is cleared automatically when DMASZx decrements to zero and must be set again for another transfer to occur.
The DMAEN bit is cleared after the completion of the block transfer and must be set again before another block transfer can be triggered. After a block transfer has started, another trigger signal that occurs during the block transfer is ignored.