Motorola MPC8260 User Manual

Page of 1006
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).