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

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.3. Ping-Pong Transfers
Ping-pong transfers use both the primary and alternate channel descriptors. When the channel completes the
transfer described by the first descriptor, it clears the TMD field in the original descriptor to 0 and toggles to point to
the other descriptor. A channel interrupt will occur to allow firmware to update the completed transfer’s descriptor,
as the ping-pong operation will stop without intervention.
As with basic transfers, each 2
Equation 1.
Figure 5 shows an example where a channel’s primary descriptor has an RPOWER of 1 with an NCOUNT of 3 and
the alternate descriptor has an RPOWER of 0 with an NCOUNT of 4. These descriptors are both configured to
move words (DSTSIZE and SRCSIZE set to 2) in ping-pong mode (TMD = 3).
Figure 6 illustrates the ping-pong memory configuration.
Channel 0
Firmware
DMA
Primary Structure
(RPOWER = 1,
NCOUNT = 3)
structure
primary
loads
Idle
Alternate Structure
data request
(RPOWER = 0,
NCOUNT = 4)
structure
alternate
loads
2 words
moves
data request
RPOWER
idle or performing other
channel switches to
primary structure
Figure 5. Ping-Pong Transfer Example
TMD set to 0,
alternate
tasks
data moves require a new data request. The number of requests is given by
2 words
moves
DMA channel
interrupt
Primary Structure
(RPOWER = 0,
NCOUNT = 3)
structure
primary
loads
Idle
Rev. 0.1
data request
idle or performing other tasks
moves
1 word
data request
Idle
alternate structure TMD set to 0,
channel switches to primary
moves
1 word
data request
moves
1 word
DMA channel
interrupt
through ISR,
data moves
are done
Idle
passes
data request
moves
1 word
data request
performing
other tasks
idle or
moves
1 word
primary structure TMD set to 0,
all transfers stop until firmware
DMA channel
interrupt
configures a structure
through ISR,
data moves
are done
passes
AN666
Idle
15

Related parts for AN666