SAM3X8E Atmel Corporation, SAM3X8E Datasheet - Page 937

no-image

SAM3X8E

Manufacturer Part Number
SAM3X8E
Description
Manufacturer
Atmel Corporation
Datasheets
37.8.6.2
11057A–ATARM–17-Feb-12
11057A–ATARM–17-Feb-12
Block Length is Not Multiple of 4 and Padding Not Used (ROPT field in HSMCI_DMA register set to 0)
In the previous DMA transfer flow (block length multiple of 4), the DMA controller is configured to
use only WORD AHB access. When the block length is no longer a multiple of 4 this is no longer
true. The DMA controller is programmed to copy exactly the block length number of bytes using
2 transfer descriptors.
8. Wait for XFRDONE in HSMCI_SR register.
1. Use the previous step until READ_SINGLE_BLOCK then
2. Program the DMA controller to use a two descriptors linked list.
a. Read the channel Register to choose an available (disabled) channel.
b. Clear any pending interrupts on the channel from the previous DMA transfer by
c. Program the channel registers in the Memory for the first descriptor. This descriptor
d. The LLI_W.DMAC_SADDRx field in memory must be set with the starting address
e. The LLI_W.DMAC_DADDRx field in the memory must be word aligned.
f.
g. Program LLI_W.DMAC_CTRLBx with the following field’s values:
h. Program LLI_W.DMAC_CFGx register for channel x with the following field’s
i.
–Enable Channel x, writing one to DMAC_CHER[x]. The DMAC is ready and
reading the DMAC_EBCISR register.
will be word oriented. This descriptor is referred to as LLI_W, standing for LLI word
oriented transfer.
of the HSMCI_FIFO address.
Program LLI_W.DMAC_CTRLAx with the following field’s values:
–DST_WIDTH is set to WORD.
–SRC_WIDTH is set to WORD.
–SCSIZE must be set according to the value of HSMCI_DMA, CHKSIZE field.
–BTSIZE is programmed with block_length/4. If BTSIZE is zero, this descriptor is
–DST_INCR is set to INCR
–SRC_INCR is set to INCR
–FC field is programmed with peripheral to memory flow control mode.
–SRC_DSCR is set to zero. (descriptor fetch is enabled for the SRC)
–DST_DSCR is set to one. (descriptor fetch is disabled for the DST)
–DIF and SIF are set with their respective layer ID. If SIF is different from DIF, DMA
values:
–FIFOCFG defines the watermark of the DMA channel FIFO.
–DST_REP is set to zero meaning that address are contiguous.
–SRC_H2SEL is set to true to enable hardware handshaking on the destination.
–SRC_PER is programmed with the hardware handshaking ID of the targeted
Program LLI_W.DMAC_DSCRx with the address of LLI_B descriptor. And set
DSCRx_IF to the AHB Layer ID. This operation actually links the Word oriented
waiting for request.
skipped later.
controller is able to prefetch data and write HSMCI simultaneously.
HSMCI Host Controller.
SAM3X/A
SAM3X/A
937
937

Related parts for SAM3X8E