Enhanced Direct Memory Access Controller (eDMA)
Freescale Semiconductor
21-57
PXR40 Microcontroller Reference Manual, Rev. 1
2. EDMA
_x
_TCD.START = 0, EDMA
_x
_TCD.ACTIVE = 1, EDMA
_x
_TCD.DONE = 0 (channel
is executing).
3. EDMA
_x
_TCD.START = 0, EDMA
_x
_TCD.ACTIVE = 0, EDMA
_x
_TCD.DONE = 0 (channel
has completed the minor loop and is idle), or
4. EDMA
_x
_TCD.START = 0, EDMA
_x
_TCD.ACTIVE = 0, EDMA
_x
_TCD.DONE = 1 (channel
has completed the major loop and is idle).
The best method to test for minor loop completion when using hardware initiated service requests is to
read the EDMA
_x
_TCD.CITER field and test for a change. The hardware request and acknowledge
handshakes signals are not visible in the programmer’s model.
The TCD status bits execute the following sequence for a hardware activated channel:
1. eDMA peripheral request asserts (channel service request via hardware).
2. EDMA
_x
_TCD.START = 0, EDMA
_x
_TCD.ACTIVE = 1, EDMA
_x
_TCD.DONE = 0 (channel
is executing).
3. EDMA
_x
_TCD.START = 0, EDMA
_x
_TCD.ACTIVE = 0, EDMA
_x
_TCD.DONE = 0 (channel
has completed the minor loop and is idle), or
4. EDMA
_x
_TCD.START = 0, EDMA
_x
_TCD.ACTIVE = 0, EDMA
_x
_TCD.DONE = 1 (channel
has completed the major loop and is idle).
For both activation types, the major loop complete status is explicitly indicated via the
EDMA
_x
_TCD.DONE bit.
The EDMA
_x
_TCD.START bit is cleared automatically when the channel begins execution, regardless of
how the channel was activated.
21.5.6.2
Active Channel TCD Reads
The eDMA will read back the true EDMA
_x
_TCD.SADDR, EDMA
_x
_TCD.DADDR, and
EDMA
_x
_TCD.NBYTES values if read while a channel is executing. The true values of the SADDR,
DADDR, and NBYTES are the values the eDMA engine is currently using in its internal register file and
not the values in the TCD local memory for that channel. The addresses (SADDR and DADDR) and
NBYTES (decrements to zero as the transfer progresses) can give an indication of the progress of the
transfer. All other values are read back from the TCD local memory.
21.5.6.3
Preemption Status
Preemption is available only when fixed arbitration is selected for both group- and channel-arbitration
modes. A preempt-able situation is one in which a preempt-enabled channel is running and a higher
priority request becomes active. When the eDMA engine is not operating in fixed group, fixed-channel
arbitration mode, the determination of the relative priority of the actively running and the outstanding
requests become undefined. Channel and group priorities are treated as equal (or more exactly, constantly
rotating) when round-robin arbitration mode is selected.
The EDMA
_x
_TCD.ACTIVE bit for the preempted channel remains asserted throughout the preemption.
The preempted channel is temporarily suspended while the preempting channel executes one iteration of
Summary of Contents for PXR4030
Page 1: ...PXR40 Microcontroller Reference Manual Devices Supported PXR4030 PXR4040 PXR40RM Rev 1 06 2011...
Page 30: ...PXR40 Microcontroller Reference Manual Rev 1 Freescale Semiconductor xxx...
Page 40: ...PXR40 Microcontroller Reference Manual Rev 1 xl Freescale Semiconductor...
Page 66: ...Memory Map PXR40 Microcontroller Reference Manual Rev 1 2 4 Freescale Semiconductor...
Page 120: ...Signal Descriptions 3 54 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...
Page 860: ...FlexCAN Module 24 50 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...
Page 1167: ...Decimation Filter Freescale Semiconductor 28 53 PXR40 Microcontroller Reference Manual Rev 1...
Page 1168: ...Decimation Filter 28 54 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...