EasyManua.ls Logo

Freescale Semiconductor MPC5553 - TCD Status

Default Icon
1208 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
MPC5553/MPC5554 Microcontroller Reference Manual, Rev. 5
Freescale Semiconductor 9-47
9.5.6 TCD Status
9.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 TCD.CITER field and test for a change. Another method may be extracted
from the sequence shown below. The second method is to test the TCD.START bit AND the
TCD.ACTIVE bit. The minor loop complete condition is indicated by both bits reading zero after the
TCD.START was written to a one. Polling the TCD.ACTIVE bit may be inconclusive because the active
status may be missed if the channel execution is short in duration.
The TCD status bits execute the following sequence for a software activated channel:
1. TCD.START = 1, TCD.ACTIVE = 0, TCD.DONE = 0 (channel service request via software)
2. TCD.START = 0, TCD.ACTIVE = 1, TCD.DONE = 0 (channel is executing)
3. TCD.START = 0, TCD.ACTIVE = 0, TCD.DONE = 0 (channel has completed the minor loop
and is idle) or
4. TCD.START = 0, TCD.ACTIVE = 0, 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 TCD.CITER field and test for a change. The hardware request and acknowledge handshakes
signals are not visible in the programmers 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. TCD.START = 0, TCD.ACTIVE = 1, TCD.DONE = 0 (channel is executing)
3. TCD.START = 0, TCD.ACTIVE = 0, TCD.DONE = 0 (channel has completed the minor loop
and is idle) or
4. TCD.START = 0, TCD.ACTIVE = 0, 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 TCD.DONE bit.
The TCD.START bit is cleared automatically when the channel begins execution regardless of how the
channel was activated.
9.5.6.2 Active Channel TCD Reads
The eDMA will read back the true TCD.SADDR, TCD.DADDR, and TCD.NBYTES values if read while
a channel is executing. The true values of the SADDR, DADDR, and NBYTES are the values the eDMA
4 0x1234567C
5 0x12345670
6 0x12345674
Table 9-23. Modulo Feature Example
Transfer
Number
Address

Table of Contents

Related product manuals