
Enhanced Direct Memory Access (eDMA)
MPC5566 Microcontroller Reference Manual, Rev. 2
9-48
Freescale Semiconductor
This generates the following sequence of events:
1. First hardware (eDMA peripheral request) request for channel service.
2. The channel is selected by arbitration for servicing.
3. eDMA engine writes: TCD.DONE = 0, TCD.START = 0, TCD.ACTIVE = 1.
4. eDMA engine reads: channel TCD data from local memory to internal register file.
5. The source to destination transfers execute as follows:
a) read_byte (0x1000), read_byte (0x1001), read_byte (0x1002), read_byte (0x1003)
b) write_word (0x2000) -> first iteration of the minor loop
c) read_byte (0x1004), read_byte (0x1005), read_byte (0x1006), read_byte (0x1007)
d) write_word (0x2004) -> second iteration of the minor loop
e) read_byte (0x1008), read_byte (0x1009), read_byte (0x100a), read_byte (0x100b)
f) write_word (0x2008) -> third iteration of the minor loop
g) read_byte (0x100c), read_byte (0x100d), read_byte (0x100e), read_byte (0x100f)
h) write_word (0x200c) -> last iteration of the minor loop
6. eDMA engine writes: TCD.SADDR = 0x1010, TCD.DADDR = 0x2010, TCD.CITER = 1.
7. eDMA engine writes: TCD.ACTIVE = 0.
8. The channel retires -> one iteration of the major loop.
The eDMA goes idle or services the next channel.
9. Second hardware (eDMA peripheral request) requests channel service.
10. The channel is selected by arbitration for servicing.
11. eDMA engine writes: TCD.DONE = 0, TCD.START = 0, TCD.ACTIVE = 1.
12. eDMA engine reads: channel TCD data from local memory to internal register file.
13. The source to destination transfers execute as follows:
a) read_byte (0x1010), read_byte (0x1011), read_byte (0x1012), read_byte (0x1013)
b) write_word (0x2010) -> first iteration of the minor loop
c) read_byte (0x1014), read_byte (0x1015), read_byte (0x1016), read_byte (0x1017)
d) write_word (0x2014) -> second iteration of the minor loop
e) read_byte (0x1018), read_byte (0x1019), read_byte (0x101a), read_byte (0x101b)
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: TCD.SADDR = 0x1000, TCD.DADDR = 0x2000,
TCD.CITER = 2 (TCD.BITER).
15. eDMA engine writes: TCD.ACTIVE = 0, TCD.DONE = 1, EDMA_IRQR
n
= 1.
16. The channel retires -> major loop complete.
The eDMA goes idle or services the next channel.
Summary of Contents for MPC5566
Page 81: ...Introduction MPC5566 Microcontroller Reference Manual Rev 2 1 24 Freescale Semiconductor...
Page 135: ...Signal Description MPC5566 Microcontroller Reference Manual Rev 2 2 54 Freescale Semiconductor...
Page 189: ...Reset MPC5566 Microcontroller Reference Manual Rev 2 4 20 Freescale Semiconductor...
Page 603: ...Flash Memory MPC5566 Microcontroller Reference Manual Rev 2 13 38 Freescale Semiconductor...
Page 609: ...SRAM MPC5566 Microcontroller Reference Manual Rev 2 14 6 Freescale Semiconductor...
Page 1073: ...MPC5566 Microcontroller Reference Manual Rev 2 22 36 Freescale Semiconductor...
Page 1185: ...Nexus MPC5566 Microcontroller Reference Manual Rev 2 25 92 Freescale Semiconductor...