ADSP-BF50x Blackfin Processor Hardware Reference
7-53
Direct Memory Access
length and the DMA/memory pipeline length are added, an estimate can
be made of the maximum number of incomplete memory operations in
progress at one time. This value is a maximum because the DMA/memory
pipeline may include traffic from other DMA channels.
For example, assume a peripheral DMA channel is transferring a work
unit of 100 data elements into internal memory and its
DMAx_CURR_X_COUNT
register reads a value of 60 remaining elements, so
that processing of the first 40 elements has at least been started. Since the
total pipeline length is no greater than the sum of four (for the peripheral
DMA FIFO) plus six (for the DMA/memory pipeline) or ten data ele-
ments, it is safe to conclude that the DMA transfer of the first 30 (40-10)
data elements is complete.
For precise synchronization, software should either wait for an interrupt
or consult the channel’s
DMAx_IRQ_STATUS
register to confirm completion
of DMA, rather than polling current address/pointer/count registers.
When the DMA system issues an interrupt or changes a
DMAx_IRQ_STATUS
bit, it guarantees that the last memory operation of the work unit has been
completed and will definitely be visible to processor code. For memory
read DMA, the final memory read data will have been safely received in
the DMA’s FIFO. For memory write DMA, the DMA unit will have
received an acknowledgement from L1 memory, or the EBIU, that the
data has been written.
The following examples show methods of synchronizing software with
several different styles of DMA.
Single-Buffer DMA Transfers
Synchronization is simple if a peripheral’s DMA activity consists of iso-
lated transfers of single buffers. DMA activity is initiated by software
writes to the channel’s control registers. The user may choose to use a sin-
gle descriptor in memory, in which case the software only needs to write
the
DMAx_CONFIG
and the
DMAx_NEXT_DESC_PTR
registers. Alternatively, the
Summary of Contents for EZ-KIT Lite ADSP-BF506F
Page 50: ...Contents l ADSP BF50x Blackfin Processor Hardware Reference ...
Page 92: ...Development Tools 1 30 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 110: ...Interface Overview 3 12 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 236: ...Internal Flash Memory Control Registers 6 92 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 650: ...Programming Examples 15 56 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 804: ...Programming Examples 17 92 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 1194: ...Programming Examples 24 90 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 1256: ...ACM Registers A 50 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 1264: ...Boundary Scan Architecture B 8 ADSP BF50x Blackfin Processor Hardware Reference ...