Table 201. Tcd Status Sequence – Hardware Activated Channel - STMicroelectronics SPC572L series Reference Manual

Table of Contents

Advertisement

RM0400
Table 200. TCD status sequence – software activated channel(Continued)
TCDn_CSR bits
Step
START
ACTIVE
3a
0
0
3b
0
0
The best method to test for minor-loop completion when using hardware (peripheral)
initiated service requests is to read the TCDn_CITER field and test for a change. The
hardware request and acknowledge handshake signals are not visible in the programmer's
model.
The TCD status bits execute a sequence for a hardware-activated channel as shown in the
following table.
Table 201. TCD status sequence – hardware activated channel
TCDn_CSR bits
Step
START
ACTIVE
1
0
0
2
0
1
3a
0
0
3b
0
0
For both activation types, the major-loop-complete status is explicitly indicated via the
TCDn_CSR[DONE] bit. The TCDn_CSR[START] bit is cleared automatically when the
channel begins execution regardless of how the channel activates.
19.5.5.2
Active channel TCDn reads
The eDMA reads back the true TCDn_SADDR, TCDn_DADDR, and TCDn_NBYTES values
if read while a channel executes. The true values of the SADDR, DADDR, and NBYTES are
the values the eDMA engine currently uses 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.
19.5.5.3
Preemption status
Preemption is available only when fixed arbitration is selected. A preemptive situation is one
in which a preempt-enabled channel runs 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 actively running relative priority outstanding requests become
undefined. Channel priorities are treated as equal (constantly rotating) when Round-Robin
Arbitration mode is selected.
The TCDn_CSR[ACTIVE] bit for the preempted channel remains asserted throughout the
preemption. The preempted channel is temporarily suspended while the preempting
channel executes one major loop iteration. If two TCDn_CSR[ACTIVE] bits are set
DONE
0
Channel has completed the minor loop and is idle
1
Channel has completed the major loop and is idle
DONE
0
Channel service request via hardware (peripheral request asserted)
0
Channel is executing
0
Channel has completed the minor loop and is idle
1
Channel has completed the major loop and is idle
DocID027809 Rev 4
Enhanced Direct Memory Access (eDMA)
State
State
445/2058
449

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the SPC572L series and is the answer not in the manual?

Table of Contents