![Intel IXP45X Скачать руководство пользователя страница 478](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092478.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—USB 2.0 Host Controller
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Developer’s Manual
August 2006
478
Order Number: 306262-004US
set in the Status field because this is essentially a skipped transaction. The
transaction translator must have responded to all the scheduled complete-splits
with NYETs, meaning that the start-split issued by the host controller was not
received. This result should be interpreted by system software as if the transaction
was completely skipped. The test for whether this is the last complete split can be
performed by XORing C-mask with C-prog-mask. A zero result indicates that all
complete-splits have been executed.
• MDATA (and Last). See above description for testing for Last. This can only occur
when there is an error condition. Either there has been a babble condition on the
full-speed link, which delayed the completion of the full-speed transaction, or
software set up the S-mask and/or C-masks incorrectly. The host controller must
set XactErr bit to a one and the Active bit is set to a zero.
• NYET (and not Last). See above description for testing for Last. The complete-split
transaction received a NYET response from the transaction translator. Do not
update any transfer state (except for C-prog-mask) and stay in this state.
• MDATA (and not Last). The transaction translator responds with an MDATA when it
has partial data for the split transaction. For example, the full-speed transaction
data payload spans from micro-frame X to X+1 and during micro-frame X, the
transaction translator will respond with an MDATA and the data accumulated up to
the end of micro-frame X. The host controller advances the transfer state to reflect
the number of bytes received.
If Test A succeeds, but Test B fails, it means that one or more of the complete-splits
have been skipped. The host controller sets the Missed Micro-Frame status bit and sets
the Active bit to a zero.
Complete-Split for Scheduling Boundary Cases 2a, 2b
Boundary cases 2a and 2b (INs only) (see
Figure 72, “Split Transaction, Isochronous
Scheduling Boundary Conditions” on page 469
) require that the host controller use the
transaction state context of the previous siTD to finish the split transaction.
enumerates the transaction state fields.
Note:
TP and T-count are used only for Host to Device (OUT) endpoints.
If software has budgeted the schedule of this data stream with a frame wrap case, then
it must initialize the siTD.Back Pointer field to reference a valid siTD and will have the
siTD.Back Pointer.T-bit in the siTD.Back Pointer
field set to a zero. Otherwise, software must set the siTD.Back Pointer.T-bit in the
siTD.Back Pointer field to a one. The host controller's rules for interpreting when to use
the siTD.Back Pointer field are listed below. These rules apply only when the siTD's
Active bit is a one and the SplitXState is Do Complete Split.
• When cMicroFrameBit is a 1h and the siTDX.Back Pointer.T-bit is a zero, or
• If cMicroFrameBit is a 2h and siTDX.S-mask[0] is a zero
When either of these conditions apply, then the host controller must use the transaction
state from siTD
X-1
.
Table 183.
Summary siTD Split Transaction State
Buffer State
Status
Execution Progress
Total Bytes To Transfer
P (page select)
Current Offset
TP (transaction position)
T-count (transaction count)
All bits in the status field
C-prog-mask