STMicroelectronics SPC572L series Reference Manual page 442

Table of Contents

Advertisement

Enhanced Direct Memory Access (eDMA)
1.
User write to the TCDn_CSR[START] bit requests channel service.
2.
The channel is selected by arbitration for servicing.
3.
eDMA engine writes: TCDn_CSR[DONE] = 0, TCDn_CSR[START] = 0,
TCDn_CSR[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)
b)
c)
d)
e)
f)
g)
h)
6.
The eDMA engine writes: TCDn_SADDR = 0x1000, TCDn_DADDR = 0x2000,
TCDn_CITER = 1 (TCDn_BITER).
7.
The eDMA engine writes: TCDn_CSR[ACTIVE] = 0, TCDn_CSR[DONE] = 1,
INT[n] = 1.
8.
The channel retires and the eDMA goes idle or services the next channel.
19.5.4.2
Multiple requests
Besides transferring 32 bytes via two hardware requests, the next example is the same as
previous. The only fields that change are the major loop iteration count and the final address
offsets. The eDMA is programmed for two iterations of the major loop transferring 16 bytes
per iteration. After the channel's hardware requests are enabled in the ERQ register, the
slave device initiates channel service requests.
TCDn_CITER = TCDn_BITER = 2
TCDn_SLAST = –32
TCDn_DLAST_SGA = –32
This would generate the following sequence of events:
442/2058
Read byte from location 0x1000, read byte from location 0x1001, read byte from
0x1002, read byte from 0x1003.
Write 32 bits to location 0x2000 → first iteration of the minor loop.
Read byte from location 0x1004, read byte from location 0x1005, read byte from
0x1006, read byte from 0x1007.
Write 32 bits to location 0x2004 → second iteration of the minor loop.
Read byte from location 0x1008, read byte from location 0x1009, read byte from
0x100A, read byte from 0x100B.
Write 32 bits to location 0x2008 → third iteration of the minor loop.
Read byte from location 0x100C, read byte from location 0x100D, read byte from
0x100E, read byte from 0x100F.
Write 32 bits to location 0x200C → last iteration of the minor loop → major loop
complete.
DocID027809 Rev 4
RM0400

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