
Enhanced Direct Memory Access Controller (eDMA)
MPC5644A Microcontroller Reference Manual, Rev. 6
186
Freescale Semiconductor
f) write_word(0x2018) Æ third iteration of the minor loop
g) read_byte(0x101C), read_byte(0x101D), read_byte(0x101E), read_byte(0x101F)
h) write_word(0x201C) Æ last iteration of the minor loop Æ major loop complete
14. eDMA engine writes: EDMA_TCD[SADDR] = 0x1000, EDMA_TCD[DADDR] = 0x2000,
EDMA_TCD[CITER] = 2 (EDMA_TCD[BITER]).
15. eDMA engine writes: EDMA_TCD[ACTIVE] = 0, EDMA_TCD[DONE] = 1,
EDMA_IRQR
n
= 1.
16. The channel retires Æ major loop complete.
The eDMA goes idle or services the next channel
.
8.5.5.3
Modulo feature
The modulo feature of the eDMA provides the ability to implement a circular data queue in which the size
of the queue is a power of two. MOD is a 5-bit bitfield for both the source and destination in the TCD and
specifies which lower address bits are allowed to increment from their original value after the
a offset calculation. All upper address bits remain the same as in the original value. A setting of 0
for this field disables the modulo feature.
shows how the transfer addresses are specified based on the setting of the MOD field. Here a
circular buffer is created where the address wraps to the original value while the 28 upper address bits
(0x1234567x) retain their original value. In this example the source address is set to 0x12345670, the
offset is set to 4 bytes and the MOD field is set to 4, allowing for a 2
4
byte (16-byte) size queue.
8.5.6
TCD status
8.5.6.1
Minor loop complete
There are two methods to test for minor loop completion when using software initiated service requests. The first method is to
read the field EDMA_TCD[CITER] and test for a change. Another method may be extracted from the sequence below. The
second method is to test the bit EDMA_TCD[START]
and
the bit EDMA_TCD[ACTIVE]. The minor loop complete condition is
indicated by both bits reading zero after EDMA_TCD[START] was written to a ‘1’. Polling the
EDMA_TCD[ACTIVE] bit may be inconclusive because the active status may be missed if the channel
execution is short in duration.
Table 8-23. Modulo feature example
Transfer number
Address
1
0x12345670
2
0x12345674
3
0x12345678
4
0x1234567C
5
0x12345670
6
0x12345674
Summary of Contents for MPC5644A
Page 2: ...MPC5644A Microcontroller Reference Manual Rev 6 2 Freescale Semiconductor...
Page 24: ...MPC5644A Microcontroller Reference Manual Rev 6 24 Freescale Semiconductor...
Page 26: ...MPC5644A Microcontroller Reference Manual Rev 6 26 Freescale Semiconductor...
Page 52: ...Introduction MPC5644A Microcontroller Reference Manual Rev 6 52 Freescale Semiconductor...
Page 56: ...Memory Map MPC5644A Microcontroller Reference Manual Rev 6 56 Freescale Semiconductor...
Page 1228: ...Decimation Filter MPC5644A Microcontroller Reference Manual Rev 6 1228 Freescale Semiconductor...
Page 1440: ...FlexCAN Module MPC5644A Microcontroller Reference Manual Rev 6 1440 Freescale Semiconductor...