beautypg.com

9 idma commands, 1 start_idma command, 2 stop_idma command – Motorola MPC8260 User Manual

Page 550: Idma commands -26, Start_idma command -26, Stop_idma command -26, See section 18.9, òidma commands

background image

18-26

MPC8260 PowerQUICC II UserÕs Manual

MOTOROLA

Part IV. Communications Processor Module

18.9 IDMA Commands

The user has two commands to control each IDMA channel. These commands are executed
through the CP command register (CPCR); see Section 13.4, ÒCommand Set.Ó

18.9.1

START

_

IDMA

Command

The

START

_

IDMA

command is used to start a transfer on an IDMA channel. The user must

initialize all parameters relevant for the correct operation of the channel (IDMAx_BASE
and IDMA channel parameter table) before issuing this command.

To restart the channel operation, the

START

_

IDMA

command can be reissued after every

pause in channel activity. The user must ensure that parameters are correct for the channel
to continue operation correctly.

The parameter ISTATE of the IDMA parameter RAM should be cleared before every issue
of a

START

_

IDMA

command.

An IDMA pause may occur for one of the following reasons:

¥

The channel is out of buffersÑIDSR[OB] event is set and an interrupt is generated
to the core, if enabled.

¥

DONE was asserted externally and DCM[DT] = 0 (see Table 18-5). An IDSR[EDN]
event is set and an interrupt is generated to the core, if enabled.

¥

STOP

_

IDMA

command was issued.

¥

The channel has Þnished a transfer of a BD with the last bit (L) set.

If the

START

_

IDMA

command is reissued and channel has more buffers to transfer, it restarts

transferring data according to the next BD in the buffer table.

In external request mode (ERM=1), the

START

_

IDMA

command initializes the channel, but

the Þrst data transfer is performed after external DREQx assertion.

In internal request mode (ERM=0), the

START

_

IDMA

command starts the data transfer

almost immediately, with a delay which depends on the CP load.

18.9.2

STOP

_

IDMA

Command

The

STOP

_

IDMA

command is issued to stop the transfer of an IDMA channel.

When a

STOP

_

IDMA

command is issued, the CP terminates current IDMA transfers and the

current BD is closed (if it was open). If memory is the destination, all data in the IDMA
internal buffer is transferred to memory before termination.

At the end of the stop process, the stop-completed event (SC) is set and a maskable interrupt
is generated to the core. The user should not modify channel parameters until SC = 1. When
the channel is stopped, it does not respond to external requests. If a

START

_

IDMA

command

is reissued, the next BD in the BD table is processed (if it is valid).