...the world's most energy friendly microcontrollers
2014-07-02 - Gecko Family - d0001_Rev1.30
58
www.silabs.com
Bit
Name
Description
b1000
Arbitrates after 256 DMA transfers.
b1001
Arbitrates after 512 DMA transfers.
b1010 - b1111
Arbitrates after 1024 DMA transfers. This means that no arbitration occurs
during the DMA transfer because the maximum transfer size is 1024.
[13:4]
n_minus_1
Prior to the DMA cycle commencing, these bits represent the total number of DMA transfers
that the DMA cycle contains. You must set these bits according to the size of DMA cycle that
you require.
The 10-bit value indicates the number of DMA transfers, minus one. The possible values are:
b000000000 = 1 DMA transfer
b000000001 = 2 DMA transfers
b000000010 = 3 DMA transfers
b000000011 = 4 DMA transfers
b000000100 = 5 DMA transfers
.
.
.
b111111111 = 1024 DMA transfers.
The controller updates this field immediately prior to it entering the arbitration process. This
enables the controller to store the number of outstanding DMA transfers that are necessary to
complete the DMA cycle.
[3]
next_useburst
Controls if the chnl_useburst_set [C] bit is set to a 1, when the controller is performing a
peripheral scatter-gather and is completing a DMA cycle that uses the alternate data structure.
Note
Immediately prior to completion of the DMA cycle that the alternate data structure
specifies, the controller sets the chnl_useburst_set [C] bit to 0 if the number of
remaining transfers is less than 2
R
. The setting of the next_useburst bit controls if the
controller performs an additional modification of the chnl_useburst_set [C] bit.
In peripheral scatter-gather DMA cycle then after the DMA cycle that uses the alternate data
structure completes , either:
0 = the controller does not change the value of the chnl_useburst_set [C] bit. If the
chnl_useburst_set [C] bit is 0 then for all the remaining DMA cycles in the peripheral scatter-
gather transaction, the controller responds to requests on
dma_req[ ]
and
dma_sreq[ ]
,
when it performs a DMA cycle that uses an alternate data structure.
1 = the controller sets the chnl_useburst_set [C] bit to a 1. Therefore, for the remaining DMA
cycles in the peripheral scatter-gather transaction, the controller only responds to requests on
dma_req[ ]
, when it performs a DMA cycle that uses an alternate data structure.
[2:0]
cycle_ctrl
The operating mode of the DMA cycle. The modes are:
b000
Stop. Indicates that the data structure is invalid.
b001
Basic. The controller must receive a new request, prior to it entering the arbitration
process, to enable the DMA cycle to complete.
b010
Auto-request. The controller automatically inserts a request for the appropriate channel
during the arbitration process. This means that the initial request is sufficient to enable
the DMA cycle to complete.
b011
Ping-pong. The controller performs a DMA cycle using one of the data structures. After
the DMA cycle completes, it performs a DMA cycle using the other data structure. After
the DMA cycle completes and provided that the host processor has updated the original
data structure, it performs a DMA cycle using the original data structure. The controller
continues to perform DMA cycles until it either reads an invalid data structure or the
host processor changes the cycle_ctrl bits to b001 or b010. See Section 8.4.2.3.4 (p.
47) .
b100
Memory scatter/gather. See Section 8.4.2.3.5 (p. 49) .
When the controller operates in memory scatter-gather mode, you must only use this
value in the primary data structure.
b101
Memory scatter/gather. See Section 8.4.2.3.5 (p. 49) .
When the controller operates in memory scatter-gather mode, you must only use this
value in the alternate data structure.
b110
Peripheral scatter/gather. See Section 8.4.2.3.6 (p. 51) .
Summary of Contents for EFM32G
Page 505: ......