SAM3X8E Atmel Corporation, SAM3X8E Datasheet - Page 363

no-image

SAM3X8E

Manufacturer Part Number
SAM3X8E
Description
Manufacturer
Atmel Corporation
Datasheets
11057A–ATARM–17-Feb-12
11057A–ATARM–17-Feb-12
Note:
Note:
3. Write the starting destination address in the DMAC_DADDRx register for channel x.
4. Write the channel configuration information into the DMAC_CFGx register for
5. Make sure that all LLI.DMAC_CTRLBx register locations of the LLI (except the last) are
6. Make sure that the LLI.DMAC_DSCRx register locations of all LLIs in memory (except
7. Make sure that the LLI.DMAC_SADDRx register locations of all LLIs in memory point to
8. Make sure that the LLI.DMAC_CTRLAx.DONE field of the LLI.DMAC_CTRLAx register
9. Clear any pending interrupts on the channel from the previous DMAC transfer by read-
10. Program the DMAC_CTRLAx, DMAC_CTRLBx and DMAC_CFGx registers according
11. Program the DMAC_DSCRx register with DMAC_DSCRx(0), the pointer to the first
12. Finally, enable the channel by writing a ‘1’ to the DMAC_CHER.ENAx bit. The transfer
13. The DMAC fetches the first LLI from the location pointed to by DMAC_DSCRx(0).
14. Source and destination requests single and chunk DMAC transactions to transfer the
a. Set up the transfer type (memory or non-memory peripheral for source and desti-
b. Set up the transfer characteristics, such as:
– i. Transfer width for the source in the SRC_WIDTH field.
– ii. Transfer width for the destination in the DST_WIDTH field.
– v. Incrementing/decrementing or fixed address for source in SRC_INCR field.
– vi. Incrementing/decrementing or fixed address for destination DST_INCR field.
channel x.
a. Designate the handshaking interface type (hardware or software) for the source
b. If the hardware handshaking interface is activated for the source or destination
set as shown in Row 2 of
ter of the last Linked List item must be set as described in Row 1 of
23-4 on page 354
the last) are non-zero and point to the next Linked List Item.
the start source buffer address proceeding that LLI fetch.
locations of all LLIs in memory is cleared.
ing the interrupt status register.
to Row 2 as shown in
Linked List item.
is performed. Make sure that bit 0 of the DMAC_EN register is enabled.
buffer of data (assuming non-memory peripherals). The DMAC acknowledges at the
completion of every transaction (chunk and single) in the buffer and carries out the buf-
fer transfer.
The values in the LLI.DMAC_DADDRx register location of each Linked List Item (LLI) in memory,
although fetched during an LLI fetch, are not used.
The LLI.DMAC_SADDRx, LLI.DMAC_DADDRx, LLI.DMAC_DSCRx and LLI.DMAC_CTRLA/Bx
registers are fetched. The LLI.DMAC_DADDRx register location of the LLI, although fetched, is
not used. The DMAC_DADDRx register in the DMAC remains unchanged.
nation) and flow control device by programming the FC of the DMAC_CTRLBx
register.
and destination peripherals. This is not required for memory. This step requires pro-
gramming the SRC_H2SEL/DST_H2SEL bits, respectively. Writing a ‘1’ activates
the hardware handshaking interface to handle source/destination requests for the
specific channel. Writing a ‘0’ activates the software handshaking interface to han-
dle source/destination requests.
peripheral, assign the handshaking interface to the source and destination periph-
erals. This requires programming the SRC_PER and DST_PER bits, respectively.
shows a Linked List example with two list items.
Table 23-4 on page 355
Table 23-4 on page
355, while the LLI.DMAC_CTRLBx regis-
Table
SAM3X/A
SAM3X/A
23-4.
Figure
363
363

Related parts for SAM3X8E