ADSP-BF537 Blackfin Processor Hardware Reference
5-41
Direct Memory Access
Since the block count registers are 16 bits wide, blocks can group up to
65535 transfers.
Once a block transfer has been started, the
HMDMAx_BCOUNT
registers return
the remaining number of transfers to complete the current block. When
the complete block has been processed, the
HMDMAx_BCOUNT
register returns
zero. Software can force a reload of the
HMDMAx_BCOUNT
from the
HMDMAx_
BCINIT
register even during normal operation by writing a 1 to the
RBC
bit
in the
HMDMAx_CONTROL
register. Set
RBC
only when the HMDMA module
is already active, but the MDMA is not enabled.
Pipelining DMA Requests
The device mastering the DMA request lines is allowed to request addi-
tional transfers even before the former transfer has completed. As long as
the device can provide or consume sufficient data it is permitted to pulse
the
DMARx
inputs multiple times.
The
HMDMAx_ECOUNT
registers are incremented every time a significant edge
is detected on the respective
DMARx
input and are decremented when the
MDMA completes the block transfer. These read-only registers use a
16-bit two’s-complement data representation: if they return zero, all
requested block transfers have been performed. A positive value signals up
to 32767 requests that haven’t been served yet and indicates that the
MDMA is currently processing. Negative values indicate the number of
DMA requests that will be ignored by the engine. This feature restrains
initial pulses on the
DMARx
inputs at startup.
The
HMDMAx_ECINIT
registers reload the
HMDMAx_ECOUNT
registers every time
the handshake mode is enabled, that is, when the
HMDMAEN
bit changes
from 0 to 1. If the initial edge count value is 0, the handshake operation
starts with a settled request budget. If positive, the engine starts immedi-
ately transferring the programmed number (up to 32767) of blocks once
enabled, even without detecting any activity on the
DMARx
pins. If nega-
tive, the engine will disregard the programmed number (up to 32768)
significant edges on the
DMARx
inputs before starting normal operation.
Summary of Contents for Blackfin ADSP-BF537
Page 42: ...Contents xlii ADSP BF537 Blackfin Processor Hardware Reference ...
Page 90: ...Development Tools 1 32 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 138: ...Programming Examples 4 26 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 340: ...SDC Programming Examples 6 84 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 606: ...Programming Examples 9 94 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 660: ...Programming Examples 10 54 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 720: ...Electrical Specifications 11 60 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 840: ...Programming Examples 13 42 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 876: ...Programming Examples 14 36 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 938: ...Programming Examples 15 62 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 958: ...Programming Examples 17 12 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 986: ...Programming Examples 18 28 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 1162: ...G 26 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 1218: ...Index I 56 ADSP BF537 Blackfin Processor Hardware Reference ...