![Intel IXP45X Developer'S Manual Download Page 473](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092473.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262--, Revision: 004US
473
USB 2.0 Host Controller—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Transfer to zero signals the end of the transfer and results in setting of the Active bit to
zero. However, in this case, the result has not been delivered by the Transaction
Translator and the host must continue with the next complete-split transaction to
extract the residual transaction state. This scenario occurs because of the pipeline rules
for a Transaction Translator (see Chapter 11 of the Universal Serial Bus Revision 2.0).
In summary the periodic pipeline rules require that on a micro-frame boundary, the
Transaction Translator will hold the final two bytes received (if it has not seen an End Of
Packet (EOP)) in the full-speed bus pipe stage and give the remaining bytes to the
high-speed pipeline stage. At the micro-frame boundary, the Transaction Translator
could have received the entire packet (including both CRC bytes) but not received the
packet EOP. In the next micro-frame, the Transaction Translator will respond with an
MDATA and send all of the data bytes (with the two CRC bytes being held in the full-
speed pipeline stage). This could cause the siTD to decrement it's Total Bytes to
Transfer field to zero, indicating it has received all expected data. The host must still
execute one more (scheduled) complete-split transaction in order to extract the results
of the full-speed transaction from the Transaction Translator (for example, the
Transaction Translator may have detected a CRC failure, and this result must be
forwarded to the host).
If the host experiences hold-offs that cause the host controller to skip one or more (but
not all) scheduled split transactions for an isochronous OUT, then the protocol to the
transaction translator will not be consistent and the transaction translator will detect
and react to the problem. Likewise, for host hold-offs that cause the host controller to
skip one or more (but not all) scheduled split transactions for an isochronous IN, the C-
prog-mask is used by the host controller to detect errors. However, if the host
experiences a hold-off that causes it to skip all of an siTD, or an siTD expires during a
host hold off (e.g. a hold-off occurs and the siTD is no longer reachable by the host
controller in order for it to report the hold-off event), then system software must detect
that the siTDs have not been processed by the host controller (e.g. state not advanced)
and report the appropriate error to the client driver.
9.14.12.3.3 Split Transaction Execution State Machine for Isochronous
In the following presentation, all references to micro-frame are in the context of a
micro-frame within an H-Frame.
If the Active bit in the Status byte is a zero, the host controller will ignore the siTD and
continue traversing the periodic schedule. Otherwise the host controller will process the
siTD as specified below. A split transaction state machine is used to manage the split-
transaction protocol sequence. The host controller uses the fields defined in
Split Transaction Progress for Isochronous Transfers” on page 471
, plus the variable
cMicroFrameBit defined in
“Split Transaction Execution State Machine for Interrupt” on
to track the progress of an isochronous split transaction.
Transaction State Machine for Isochronous” on page 474
illustrates the state machine
for managing an siTD through an isochronous split transaction. Bold, dotted circles
denote the state of the Active bit in the Status field of a siTD. The Bold, dotted arcs
denote the transitions between these states. Solid circles denote the states of the split
transaction state machine and the solid arcs denote the transitions between these
states. Dotted arcs and boxes reference actions that take place either as a result of a
transition or from being in a state.