beautypg.com

Dma request sources, Dma operation – Samsung S3C2440A User Manual

Page 234

background image

DMA

S3C2440A RISC MICROPROCESSOR

8-2

DMA REQUEST SOURCES

Each channel of the DMA controller can select one of the DMA request source among four DMA sources, if H/W
DMA request mode is selected by DCON register. (Note that if S/W request mode is selected, this DMA request
sources have no meaning at all.) Table 8-1 shows four DMA sources for each channel.

Table 8-1. DMA Request Sources for Each Channel

Source0 Source1 Source2

Source3

Source4

Source5

Source6

Ch-0

nXDREQ0 UART0

SDI

Timer USB

device

EP1

I2SSDO

PCMIN

Ch-1

nXDREQ1 UART1 I2SSDI

SPI0

USB

device

EP2 PCMOUT

SDI

Ch-2

I2SSDO I2SSDI

SDI

Timer USB

device

EP3

PCMIN

MICIN

Ch-3

UART2 SDI SPI1 Timer

USB

device

EP4 MICIN PCMOUT

Here, nXDREQ0 and nXDREQ1 represent two external sources (External Devices), and I2SSDO and I2SSDI
represent IIS transmitting and receiving, respectively.

DMA OPERATION

DMA uses three-state FSM (Finite State Machine) for its operation, which is described in the three following steps:

State-1.

As an initial state, the DMA waits for a DMA request. Once the request is reached it goes to state-
2. At this state, DMA ACK and INT REQ are 0.

State-2.

In this state, DMA ACK becomes 1 and the counter (CURR_TC) is loaded from DCON[19:0]
register. Note that the DMA ACK remains 1 until it is cleared later.

State-3.

In this state, sub-FSM which handles the atomic operation of DMA is initiated. The sub-FSM reads
the data from the source address and then writes it to destination address. In this operation, data
size and transfer size (single or burst) are considered. This operation is repeated until the counter
(CURR_TC) becomes 0 in Whole service mode, while performed only once in Single service
mode. The main FSM (this FSM) counts down the CURR_TC when the sub-FSM finishes each of
atomic operation. In addition, this main FSM asserts the INT REQ signal when CURR_TC
becomes 0 and the interrupt setting of DCON[29] register is set to 1. In addition, it clears DMA
ACK .if one of the following conditions is met.

1) CURR_TC becomes 0 in the Whole service mode
2) Atomic operation finishes in the Single service mode.

Note that in the Single service mode, these three states of main FSM are performed and then stops, and wait for
another DMA REQ. And if DMA REQ comes in, all three states are repeated. Therefore, DMA ACK is asserted
and then de-asserted for each atomic transfer. In contrast, in the Whole service mode, main FSM waits at state-3
until CURR_TC becomes 0. Therefore, DMA ACK is asserted during all the transfers and then de-asserted when
TC reaches 0.

However, INT REQ is asserted only if CURR_TC becomes 0 regardless of the service mode (Single service mode
or Whole service mode).