![Intel IXP45X Скачать руководство пользователя страница 477](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092477.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262--, Revision: 004US
477
USB 2.0 Host Controller—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Return rvalue
End Algorithm
If Test A is true and FRINDEX[2:0] is zero or one, then this is a case 2a or 2b
Figure 72, “Split Transaction, Isochronous Scheduling
Boundary Conditions” on page 469
). See
“Periodic Isochronous - Do Complete Split” on
for details in handling this condition.
If Test A and Test B evaluate to true, then the host controller will execute a complete-
split transaction using the transfer state of the current siTD. When the host controller
commits to executing the complete-split transaction, it updates QH.C-prog-mask by
bit-ORing with cMicroFrameBit. The transfer state is advanced based on the completion
status of the complete-split transaction. To advance the transfer state of an IN siTD,
the host controller must:
• Decrement the number of bytes received from siTD.Total Bytes To Transfer,
• Adjust siTD.Current Offset by the number of bytes received,
• Adjust siTD.P (page selector) field if the transfer caused the host controller to use
the next page pointer, and
• Set any appropriate bits in the siTD.Status field, depending on the results of the
transaction.
Note that if the host controller encounters a condition where siTD.Total Bytes To
Transfer is zero, and it receives more data, the host controller must not write the
additional data to memory. The siTD.Status.Active bit must be set to zero and the
siTD.Status.Babble Detected bit must be set to a one. The fields siTD.Total Bytes To
Transfer, siTD.Current Offset, and siTD.P (page selector) are not required to be
updated as a result of this transaction attempt.
The host controller must accept (assuming good data packet CRC and sufficient room in
the buffer as indicated by the value of siTD.Total Bytes To Transfer) MDATA and DATA0/
1 data payloads up to and including 192 bytes. A host controller implementation may
optionally set siTD.Status Active to a zero and siTD.Status.Babble Detected to a one
when it receives and MDATA or DATA0/1 with a data payload of more than 192 bytes.
The following responses have the noted effects:
• ERR. The full-speed transaction completed with a time-out or bad CRC and this is a
reflection of that error to the host. The host controller sets the ERR bit in the
siTD.Status field and sets the Active bit to a zero.
• Transaction Error (XactErr). The complete-split transaction encounters a Timeout,
CRC16 failure, etc. The siTD.Status field XactErr field is set to a one and the
complete-split transaction must be retried immediately. The host controller must
use an internal error counter to count the number of retries as a counter field is not
provided in the siTD data structure. The host controller will not retry more than two
times. If the host controller exhausts the retries or the end of the micro-frame
occurs, the Active bit is set to zero.
• DATAx (0 or 1). This response signals that the final data for the split transaction
has arrived. The transfer state of the siTD is advanced and the Active bit is set to a
zero. If the Bytes To Transfer field has not decremented to zero (including the
reception of the data payload in the DATAx response), then less data than was
expected, or allowed for was actually received. This short packet event does not set
the USBINT status bit in the USBSTS register to a one. The host controller will not
detect this condition.
• NYET (and Last). On each NYET response, the host controller also checks to
determine whether this is the last complete-split for this split transaction. Last was
“Periodic Interrupt - Do Complete Split” on page 464
. If it is the last
complete-split (with a NYET response), then the transfer state of the siTD is not
advanced (never received any data) and the Active bit is set to a zero. No bits are