Information

Universal Serial Bus Interface
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
13-112 Freescale Semiconductor
The remainder of this section is specific to an isochronous OUT endpoint (that is, the I/O field indicates
an OUT). When the host controller executes a start-split transaction for an isochronous OUT it includes a
data payload in the start-split transaction. The memory buffer address for the data payload is constructed
by concatenating siTD[Current Offset] with the page pointer indicated by the page select field (siTD[P]).
A zero in this field selects Page 0 and a 1 selects Page 1. During the start-split for an OUT, if the data
transfer crosses a page boundary during the transaction, the host controller must detect the page cross,
update the siTD[P] bit from a zero to a one, and begin using the siTD Page 1 with siTD[Current Offset] as
the memory address pointer. The field siTD[TP] is used to annotate each start-split transaction with the
indication of which part of the split-transaction data the current payload represents (ALL, BEGIN, MID,
END). In all cases, the host controller simply uses the value in siTD[TP] to mark the start-split with the
correct transaction position code.
T-count is always initialized to the number of start-splits for the current frame. TP is always initialized to
the first required transaction position identifier. The scheduling boundary case (see Figure 13-58) is used
to determine the initial value of TP. The initial cases are summarized in Table 13-69.
After each start-split transaction is complete, the host controller updates T-count and TP appropriately so
that the next start-split is correctly annotated. Table 13-70 illustrates all of the TP and T-count transitions,
which must be accomplished by the host controller.
The start-split transactions do not receive a handshake from the transaction translator, so the host controller
always advances the transfer state in the siTD after the bus transaction is complete. To advance the transfer
state the following operations take place:
The siTD[Total Bytes To Transfer] and the siTD[Current Offset] fields are adjusted to reflect the
number of bytes transferred.
The siTD[P] (page select) bit is updated appropriately.
Table 13-69. Initial Conditions for OUT siTD TP and T-Count Fields
Case T-Count TP Description
1, 2a =1 ALL When the OUT data payload is less than (or equal to) 188 bytes, only one start-split is required
to move the data. The one start-split must be marked with an ALL.
1, 2a !=1 BEGIN When the OUT data payload is greater than 188 bytes more than one start-split must be used
to move the data. The initial start-split must be marked with a BEGIN.
Table 13-70. Transaction Position (TP)/Transaction Count (T-Count) Transition Table
TP
T-C ou nt
Next
TP Next Description
ALL 0 N/A Transition from ALL, to done.
BEGIN 1 END Transition from BEGIN to END. Occurs when T-count starts at 2.
BEGIN !=1 MID Transition from BEGIN to MID. Occurs when T-count starts at greater than 2.
MID !=1 MID TP stays at MID while T-count is not equal to 1 (for example, greater than 1). This case can
occur for any of the scheduling boundary cases where the T-count starts greater than 3.
MID 1 END Transition from MID to END. This case can occur for any of the scheduling boundary cases
where the T-count starts greater than 2.