Information

Universal Serial Bus Interface
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
Freescale Semiconductor 13-89
13.6.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 13-55). The Ping State bit is only managed by the host controller for
queue heads that meet all of the following criteria:
The queue head is not an interrupt
The EPS field equals High-Speed
The PIDCode field equals OUT
Table 13-67 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.
The Ping State bit is described in Table 13-55. The defined ping protocol allows the host to be imprecise
on the initialization of the ping protocol (that is, start in Do OUT when there is no information 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 initializes a queue head. The host controller preserves the Ping
State bit across all queue advancements. This means that when a new qTD is written into the queue head
overlay area, the previous value of the Ping State bit is preserved.
Table 13-67. Ping Control State Transition Table
Event
Current Host Device Next
Do Ping PING Nak Do Ping
Do Ping PING Ack Do OUT
Do Ping PING XactErr
1
1
Transaction Error (XactErr) is any time the host misses the handshake.
Do Ping
Do Ping PING Stall N/C
2
2
No transition change required for the Ping State bit. The Stall handshake
results in the endpoint being halted (for example, Active cleared and Halt
set). Software intervention is required to restart queue.
Do OUT OUT Nak Do Ping
Do OUT OUT Nyet Do Ping
3
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.
Do OUT OUT Ack Do OUT
Do OUT OUT XactErr
1
Do Ping
Do OUT OUT Stall N/C
2