...the world's most energy friendly microcontrollers
2014-07-02 - Gecko Family - d0001_Rev1.30
47
www.silabs.com
2. The controller arbitrates. When channel C has the highest priority then the DMA cycle continues at
step 1 (p. 46) .
3. The controller sets
dma_done[C]
HIGH for one
HFCORECLK
cycle. This indicates to the host
processor that the DMA cycle is complete.
8.4.2.3.4 Ping-pong
In ping-pong mode, the controller performs a DMA cycle using one of the data structures (primary or
alternate) and it then performs a DMA cycle using the other data structure. The controller continues to
switch from primary to alternate to primary… until it reads a data structure that is invalid, or until the
host processor disables the channel.
Figure 8.3 (p. 47) shows an example of a ping-pong DMA transaction.
Figure 8.3. Ping-pong example
Task A
Request
Request
Task A: Prim ary, cycle_ct rl = b011, 2
R
= 4, N = 6
dma_done[C]
Task B
Request
Request
Task B: Alt ernat e, cycle_ct rl = b011, 2
R
= 4, N = 12
dma_done[C]
Request
Task C
Request
Task C: Prim ary, cycle_ct rl = b011, 2
R
= 2, N = 2
dma_done[C]
Task D
Request
Request
Task D: Alt ernat e, cycle_ct rl = b011, 2
R
= 4, N = 5
dma_done[C]
Task E
Request
Task E: Prim ary, cycle_ct rl = b011, 2
R
= 4, N = 7
dma_done[C]
End: Alt ernat e, cycle_ct rl = b000
Invalid
Request
In Figure 8.3 (p. 47) :
Task A
1. The host processor configures the primary data structure for task A.
2. The host processor configures the alternate data structure for task B. This enables the
controller to immediately switch to task B after task A completes, provided that a higher
priority channel does not require servicing.
3. The controller receives a request and performs four DMA transfers.
4. The controller arbitrates. After the controller receives a request for this channel, the flow
continues if the channel has the highest priority.
Summary of Contents for EFM32G
Page 505: ......