Atmel Xplained Pro Evaluation Kit ATSAM4E-XPRO ATSAM4E-XPRO Fiche De Données
Codes de produits
ATSAM4E-XPRO
SAM4E [DATASHEET]
Atmel-11157D-ATARM-SAM4E16-SAM4E8-Datasheet_12-Jun-14
470
Figure 26-3.
DMAC Transfer Hierarchy for Memory
Buffer: A buffer of DMAC data. The amount of data (length) is determined by the flow controller. For transfers
between the DMAC and memory, a buffer is broken directly into a sequence of AMBA bursts and AMBA single
transfers.
between the DMAC and memory, a buffer is broken directly into a sequence of AMBA bursts and AMBA single
transfers.
For transfers between the DMAC and a non-memory peripheral, a buffer is broken into a sequence of DMAC
transactions (single and chunks). These are in turn broken into a sequence of AMBA transfers.
transactions (single and chunks). These are in turn broken into a sequence of AMBA transfers.
Transaction: A basic unit of a DMAC transfer as determined by either the hardware or software handshaking
interface. A transaction is only relevant for transfers between the DMAC and a source or destination peripheral if
the source or destination peripheral is a non-memory device. There are two types of transactions: single transfer
and chunk transfer.
interface. A transaction is only relevant for transfers between the DMAC and a source or destination peripheral if
the source or destination peripheral is a non-memory device. There are two types of transactions: single transfer
and chunk transfer.
̶
Single transfer: The length of a single transaction is always 1 and is converted to a single AMBA
access.
access.
̶
Chunk transfer: The length of a chunk is programmed into the DMAC. The chunk is then converted
into a sequence of AHB access.DMAC executes each AMBA burst transfer by performing incremental
bursts that are no longer than 16 beats.
into a sequence of AHB access.DMAC executes each AMBA burst transfer by performing incremental
bursts that are no longer than 16 beats.
DMAC transfer: Software controls the number of buffers in a DMAC transfer. Once the DMAC transfer has
completed, then hardware within the DMAC disables the channel and can generate an interrupt to signal the
completion of the DMAC transfer. You can then re-program the channel for a new DMAC transfer.
completed, then hardware within the DMAC disables the channel and can generate an interrupt to signal the
completion of the DMAC transfer. You can then re-program the channel for a new DMAC transfer.
Single-buffer DMAC transfer: Consists of a single buffer.
Multi-buffer DMAC transfer: A DMAC transfer may consist of multiple DMAC buffers. Multi-buffer DMAC
transfers are supported through buffer chaining (linked list pointers), auto-reloading of channel registers, and
contiguous buffers. The source and destination can independently select which method to use.
transfers are supported through buffer chaining (linked list pointers), auto-reloading of channel registers, and
contiguous buffers. The source and destination can independently select which method to use.
̶
Linked lists (buffer chaining) – A descriptor pointer (DSCR) points to the location in system memory
where the next linked list item (LLI) exists. The LLI is a set of registers that describe the next buffer
(buffer descriptor) and a descriptor pointer register. The DMAC fetches the LLI at the beginning of
every buffer when buffer chaining is enabled.
where the next linked list item (LLI) exists. The LLI is a set of registers that describe the next buffer
(buffer descriptor) and a descriptor pointer register. The DMAC fetches the LLI at the beginning of
every buffer when buffer chaining is enabled.
̶
Contiguous buffers – Where the address of the next buffer is selected to be a continuation from the
end of the previous buffer.
end of the previous buffer.
Channel locking: Software can program a channel to keep the AHB master interface by locking the arbitration for
the master bus interface for the duration of a DMAC transfer, buffer, or chunk.
the master bus interface for the duration of a DMAC transfer, buffer, or chunk.
Bus locking: Software can program a channel to maintain control of the AMBA bus by asserting hmastlock for the
duration of a DMAC transfer, buffer, or transaction (single or chunk). Channel locking is asserted for the duration of
bus locking at a minimum.
duration of a DMAC transfer, buffer, or transaction (single or chunk). Channel locking is asserted for the duration of
bus locking at a minimum.
DMAC Transfer
DMA Transfer
Level
Level
Buffer
Buffer
Buffer
Buffer Transfer
Level
Level
Burst
Transfer
AMBA
Burst
Transfer
AMBA
Burst
Transfer
AMBA
Single
Transfer
AMBA
AMBA Transfer
Level
Level