AN666 SILABS [Silicon Laboratories], AN666 Datasheet - Page 17

no-image

AN666

Manufacturer Part Number
AN666
Description
USAGE GUIDE FOR SIM3U1XX, SIM3C1XX, AND SIM3L1XX DMA AND DTM MODULES
Manufacturer
SILABS [Silicon Laboratories]
Datasheet
4.3.4. Memory Scatter-Gather Transfers
The memory scatter-gather transfer uses primary, alternate, and scatter-gather descriptors. This transfer type
allows a DMA channel to be set for multiple transfers at once without core intervention at the price of extra memory
for the scatter-gather descriptors.
The primary descriptor in this mode contains the number and location of the scatter-gather descriptors. The
primary descriptor should be programmed as follows:
The scatter-gather descriptors must be stacked contiguously in memory. The channel will copy the scatter-gather
descriptors into the alternate descriptor location and execute them one by one. The scatter-gather descriptors
should be programmed to memory scatter-gather alternate mode (TMD = 5), except for the last descriptor, which
should use the auto-request transfer type (TMD = 2).
Once started, the DMA channel execution process is as follows:
The channel will continue in this pattern until the channel encounters a scatter-gather descriptor set to a basic or
auto-request transfer.
Only one data request is required to execute all of the scattered transactions. The channel interrupt will occur once
the last scatter-gather descriptor (programmed to a basic transfer) executes, if enabled. Arbitration occurs every
2
Figure 7 shows the memory scatter-gather memory configuration.
RPOWER
1. Memory scatter-gather primary mode (TMD = 4).
2. RPOWER = 2.
3. NCOUNT set to the value specified by Equation 2.
4. SRCEND is set to the location of the last word of all the scatter-gather descriptors.
5. DSTEND is set to the location of the last word in the single alternate descriptor.
1. Copy scatter-gather 1 (SG1) to the alternate descriptor.
2. Jump to the alternate descriptor and execute.
3. Jump back to the primary descriptor.
4. Copy scatter-gather 2 (SG2) to the alternate descriptor.
5. Jump to the alternate descriptor and execute.
6. Jump back to the primary descriptor.
of the scatter-gather descriptors.
Equation 2. NCOUNT Value for Scatter-Gather Transfers
NCOUNT
=
Number of SG Structures 4
Rev. 0.1
 1
AN666
17

Related parts for AN666