Split Transaction State Machine For Isochronous - Intel IXP45X Developer's Manual

Network processors
Table of Contents

Advertisement

Intel
Figure 74.

Split Transaction State Machine for Isochronous

Not Active
Active = 0b
Transaction
Complete
Advance data buffer state
Periodic Isochronous - Do Start Split
Isochronous split transaction OUTs use only this state. An siTD for a split-transaction
isochronous IN is either initialized to this state, or the siTD transitions to this state from
Do Complete Split when a case 2a (IN) or 2b scheduling boundary isochronous split-
transaction completes.
Each time the host controller reaches an active siTD in this state, it checks the siTD.S-
mask against cMicroFrameBit. If there is a one in the appropriate position, the siTD will
execute a start-split transaction. By definition, the host controller cannot reach an siTD
at the wrong time. If the I/O field indicates an IN, then the start-split transaction
includes only the extended token plus the full-speed token. Software must initialize the
siTD.Total Bytes To Transfer field to the number of bytes expected. This is usually the
maximum packet size for the full-speed endpoint. The host controller exits this state
when the start-split transaction is complete.
The remainder of this section is specific to an isochronous OUT endpoint (i.e. 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 selector 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.
®
®
Intel
IXP45X and Intel
IXP46X Product Line of Network Processors
Developer's Manual
474
®
®
IXP45X and Intel
IXP46X Product Line of Network Processors—USB 2.0 Host Controller
Active = 1b
Active = 0b
OUT Split
Transaction
Complete
case 2(a,b)
siTD x-1 complete
IN Split
MDATA
siTD.S-mask & cMicroFrameBit
.and.
direction.eq.OUT
Do Start
Split
Active
siTD.S-mask & cMicroFrameBit
Do
Complete
Split
siTD.C-mask & cMicroFrameBit
NYET
.and.
and.
checkPreviousBit(C-prog-mask, C-mask, cMicroFrameBit)
Not Last
Issue start-split transaction
.and.
direction.eq.IN
Issue complete-split
transaction
August 2006
Order Number: 306262-004US
B4525-01

Advertisement

Table of Contents
loading

This manual is also suitable for:

Ixp46x

Table of Contents