Datasheet

SAM9G45 [DATASHEET]
Atmel-6438O-ATARM-SAM9G45-Datasheet_08-Dec-15
974
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.
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.
Replay – The DMAC automatically reloads the channel registers at the end of each buffers to the
value when the channel was first enabled.
Contiguous buffers Where the address of the next buffer is selected to be a continuation from the
end of the previous buffer.
Picture-in-Picture Mode: DMAC contains a picture-in-picture mode support. When this mode is enabled,
addresses are automatically incremented by a programmable value when the DMAC channel transfer count
reaches a user defined boundary.
Figure 40-4 illustrates a memory mapped image 4:2:2 encoded located at image_base_address in memory. A user
defined start address is defined at Picture_start_address. The incremented value is set to memory_hole_size =
image_width - picture_width, and the boundary is set to picture_width.
Figure 40-4. Picture-In-Picture Mode Support
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.
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.