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
452
Order Number: 306262-004US
9.14.11
Ping Control
USB 2.0 defines an addition to the protocol for high-speed devices called Ping. Ping is
required for all USB 2.0 High-speed bulk and control endpoints. Ping is not allowed for
a split-transaction stream. This extension to the protocol eliminates the bad side-
effects of Naking OUT endpoints. The Status field has a Ping State bit, which the host
controller uses to determine the next actual PID it will use in the next transaction to the
endpoint (see
Table 158, “qTD Token (DWord 2)” on page 401
). The Ping State bit is
only managed by the host controller for queue heads that meet the following criteria:
• Queue head is not an interrupt and
• EPS field equals High-Speed and
• PIDCode field equals OUT
Table 178, “Ping Control State Transition Table” on page 452
illustrates the state
transition table for the host controller's responsibility for maintaining the PING protocol.
Refer to Chapter 8 in the USB Specification Revision 2.0 for detailed description on the
Ping protocol.
X
The Ping State bit has the following encoding:
The defined ping protocol (see USB 2.0 Specification, Chapter 8) allows the host to be
imprecise on the initialization of the ping protocol (i.e. start in Do OUT when we don't
know whether there is space on the device or not). The host controller manages the
Ping State bit. System software sets the initial value in the queue head when it
Table 178.
Ping Control State Transition Table
Current
Event
Next
Host
Device
Do Ping
PING
Nak
Do Ping
Do Ping
PING
Ack
Do OUT
Do Ping
PING
XactErr
Do Ping
Do Ping
PING
Stall
OUT OUT Nak Do
Ping
Do OUT
OUT
Nyet
Do Ping
Do OUT
OUT
Ack
Do OUT
Do OUT
OUT
XactErr
Do Ping
Do OUT
OUT
Stall
N/C
Notes:
1.
Transaction Error (XactErr) is any time the host misses the handshake.
2.
No transition change required for the Ping State bit. The Stall handshake results in the endpoint
being halted (e.g. Active set to zero and Halt set to a one). Software intervention is required to
restart queue.
3.
A Nyet response to an OUT means that the device has accepted the data, but cannot receive
any more at this time. Host must advance the transfer state and additionally, transition the
Ping State bit to Do Ping.
Table 179.
Ping State Encoding
Value
Meaning
0B
Do OUT The host controller will use an OUT PID during the next bus transaction to this endpoint.
1B
Do Ping The host controller will use a PING PID during the next bus transaction to this endpoint.