09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>RM0090</strong> DMA controller (DMA)<br />

Figure 29. Memory-to-peripheral mode<br />

DMA controller<br />

REQ_STREAMx<br />

1. For double-buffer mode.<br />

Arbiter<br />

Memory-to-memory mode<br />

FIFO<br />

level<br />

DMA_SxM1AR (1)<br />

DMA_SxM0AR<br />

Memory bus<br />

Peripheral bus<br />

The DMA channels can also work without being triggered by a request from a peripheral.<br />

This is the memory-to-memory mode, described in Figure 30.<br />

When the stream is enabled by setting the Enable bit (EN) in the DMA_SxCR register, the<br />

stream immediately starts to fill the FIFO up to the threshold level. When the threshold level<br />

is reached, the FIFO contents are drained and stored into the destination.<br />

The transfer stops once the DMA_SxNDTR register reaches zero or when the EN bit in the<br />

DMA_SxCR register is cleared by software.<br />

The stream has access to the AHB source or destination port only if the arbitration of the<br />

corresponding stream is won. This arbitration is performed using the priority defined for<br />

each stream using the PL[1:0] bits in the DMA_SxCR register.<br />

Note: When memory-to-memory mode is used, the Circular and direct modes are not allowed.<br />

Only the DMA2 controller is able to perform memory-to-memory transfers.<br />

FIFO<br />

DMA_SxPAR<br />

AHB memory<br />

port<br />

AHB peripheral<br />

port<br />

Peripheral DMA request<br />

Memory<br />

source<br />

Peripheral<br />

destination<br />

ai15949<br />

Doc ID 018909 Rev 3 220/1416

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!