Information
Universal Serial Bus Interface
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
13-138 Freescale Semiconductor
RX-dTD is complete when:
• All packets described in dTD were successfully received. *** Total bytes in dTD will equal zero
when this occurs.
• A short packet (number of bytes < maximum packet length) was received. *** This is a successful
transfer completion; DCD must check Total Bytes in dTD to determine the number of bytes that
are remaining. From the total bytes remaining in the dTD, the DCD can compute the actual bytes
received.
• A long packet was received (number of bytes > maximum packet size) OR (total bytes received >
total bytes specified). *** This is an error condition. The device controller will discard the
remaining packet, and set the Buffer Error bit in the dTD. In addition, the endpoint is flushed and
the USBERR interrupt will become active.
On the successful completion of the packet(s) described by the dTD, the active bit in the dTD is cleared
and the next pointer will be followed when the Terminate bit is clear. When the Terminate bit is set, the
USB_DR will flush the endpoint/direction and cease operations for that endpoint/direction.
On the unsuccessful completion of a packet (see long packet above), the dQH is left pointing to the dTD
that was in error. In order to recover from this error condition, the DCD must properly re-initialize the dQH
by clearing the active bit and update the nextTD pointer before attempting to re-prime the endpoint.
NOTE
All packet level errors such as a missing handshake or CRC error will be
retried automatically by the device controller.
There is no required interaction with the DCD for handling such errors.
13.8.3.4.1 Interrupt/Bulk Endpoint Bus Response Matrix
Table 13-88 shows the interrupt/bulk endpoint bus response matrix.
Table 13-88. Interrupt/Bulk Endpoint Bus Response Matrix
Stall
Not
Primed
Primed Underflow Overflow
Setup Ignore Ignore Ignore N/A N/A
In STALL NAK Transmit BS Error
1
1
Force Bit Stuff Error.
N/A
Out STALL NAK Receive + NYET/ACK
2
2
NYET/ACK—NYET unless the Transfer Descriptor has packets remaining according to the USB
variable length protocol then ACK.
SYSERR—System error should never occur when the latency FIFOs are correctly sized and
the DCD is responsive.
N/A NAK
Ping STALL NAK ACK N/A N/A
Invalid Ignore Ignore Ignore Ignore Ignore