Programming Model
5-62
ADSP-BF537 Blackfin Processor Hardware Reference
structure. In this case, the
NDPH
and
NDPL
members of each descriptor
could even be written once at startup, and skipped over as each descrip-
tor’s new contents are written.
The recommended method for synchronization of a descriptor queue is
through the use of an interrupt. The descriptor queue is structured so that
at least the final valid descriptor is always programmed to generate an
interrupt.
There are two general methods for managing a descriptor queue using
interrupts:
• Interrupt on every descriptor
• Interrupt minimally - only on the last descriptor
Descriptor Queue Using Interrupts on Every Descriptor
In this system, the DMA manager software synchronizes with the DMA
unit by enabling an interrupt on every descriptor. This method should
only be used if system design can guarantee that each interrupt event will
be serviced separately (no interrupt overrun).
To maintain synchronization of the descriptor queue, the non-interrupt
software maintains a count of descriptors added to the queue, while the
interrupt handler maintains a count of completed descriptors removed
from the queue. The counts are equal only when the DMA channel is
paused after having processed all the descriptors.
When each new work request is received, the DMA manager software ini-
tializes a new descriptor, taking care to write a
DMAx_CONFIG
value with a
FLOW
value of 0. Next, the software compares the descriptor counts to
determine if the DMA channel is running or not. If the DMA channel is
paused (counts equal), the software increments its count and then starts
the DMA unit by writing the new descriptor’s
DMAx_CONFIG
value to the
DMA channel’s
DMAx_CONFIG
register.
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 ...