
Enhanced Direct Memory Access Controller (eDMA)
MPC5644A Microcontroller Reference Manual, Rev. 6
Freescale Semiconductor
185
EDMA_TCD[SLAST] = –32
EDMA_TCD[DADDR] = 0x2000
EDMA_TCD[DOFF] = 4
EDMA_TCD[DSIZE] = 2
EDMA_TCD[DLAST_SGA] = –32
EDMA_TCD[INT_MAJ] = 1
EDMA_TCD[START] = 0 (Must be written last after all other fields have been initialized)
All other TCD fields = 0
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: EDMA_TCD[DONE] = 0, EDMA_TCD[START] = 0,
EDMA_TCD[ACTIVE] = 1.
4. eDMA engine reads: channel TCD data from local memory to internal register file.
5. The source to destination transfers are executed 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: EDMA_TCD[SADDR] = 0x1010, EDMA_TCD[DADDR] = 0x2010,
EDMA_TCD[CITER] = 1.
7. eDMA engine writes: EDMA_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: EDMA_TCD[DONE] = 0, EDMA_TCD[START] = 0,
EDMA_TCD[ACTIVE] = 1.
12. eDMA engine reads: channel TCD data from local memory to internal register file.
13. The source to destination transfers are executed 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)
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...