Chapter 18 Enhanced Direct Memory Access (eDMA)
MPC5602P Microcontroller Reference Manual, Rev. 4
Freescale Semiconductor
403
32–36
0x4 [0:4]
SMOD
[0:4]
Source address modulo.
0
Source address modulo feature is disabled.
not 0 This value defines a specific address range that is specified to be either the
value after SADDR + SOFF calculation is performed or the original register
value. The setting of this field provides the ability to easily implement a
circular data queue. For data queues requiring power-of-2 “size” bytes, start
the queue at a 0-modulo-size address and set the SMOD field to the value
for the queue, freezing the desired number of upper address bits. The value
programmed into this field specifies the number of lower address bits that are
allowed to change. For this circular queue application, the SOFF is typically
set to the transfer size to implement post-increment addressing with the
SMOD function constraining the addresses to a 0-modulo-size range.
37–39
0x4 [5:7]
SSIZE
[0:2]
Source data transfer size.
000 8-bit
001 16-bit
010 32-bit
011 64-bit
100 32-bit
101 32-byte burst (64-bit x 4)
110 Reserved
111 Reserved
The attempted specification of a ‘reserved’ encoding causes a configuration error.
40–44
0x4 [8:12]
DMOD
[0:4]
Destination address modulo. Refer to the SMOD[0:5] definition.
45–47
0x4 [13:15]
DSIZE
[0:2]
Destination data transfer size. Refer to the SSIZE[0:2] definition.
48–63
0x4 [16:31]
SOFF
[0:15]
Source address signed offset. Sign-extended offset applied to the current source
address to form the next-state value as each source read is completed.
64–95
0x8 [0:31]
NBYTES
[0:31]
Inner “minor” byte transfer count. Number of bytes to be transferred in each service
request of the channel. As a channel is activated, the contents of the appropriate
TCD is loaded into the eDMA engine, and the appropriate reads and writes
performed until the complete byte transfer count has been transferred. This is an
indivisible operation and cannot be stalled or halted. Once the minor count is
exhausted, the current values of the SADDR and DADDR are written back into the
local memory, the major iteration count is decremented and restored to the local
memory. If the major iteration count is completed, additional processing is
performed.
Note:
The NBYTES value of 0x0000_0000 is interpreted as 0x1_0000_0000, thus
specifying a four GB transfer.
96–127
0xC [0:31]
SLAST
[0:31]
Last source address adjustment. Adjustment value added to the source address at
the completion of the outer major iteration count. This value can be applied to
“restore” the source address to the initial value, or adjust the address to reference
the next data structure.
128–159
0x10 [0:31]
DADDR
[0:31]
Destination address. Memory address pointing to the destination data.
Table 18-19. TCD
n
field descriptions (continued)
Bits
Word Offset
[n:n]
Field Name
Description