UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2015. All rights reserved.
User manual
Rev. 2.1 — 10 December 2015
708 of 1441
NXP Semiconductors
UM10503
Chapter 25: LPC43xx/LPC43Sxx USB0 Host/Device/OTG controller
Remark:
The MULT field in the dQH must be set to “00” for bulk, interrupt, and control
endpoints.
TX-dTD is complete when all packets described by the dTD were successfully
transmitted.Total bytes in dTD will equal zero when this occurs.
RX-dTD is complete when:
•
All packets described in the dTD were successfully received. The Total_bytes field in
the 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 the Total_bytes field in the 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 will be flushed and the USBERR interrupt will become active.
On the successful completion of the packets described by the dTD, the active bit in the
dTD will be cleared and the next pointer will be followed when the Terminate bit is clear.
When the Terminate bit is set, the device controller 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 will be left pointing to the dTD that was in error. In order
to recover from this error condition, the DCD must properly reinitialize the dQH by clearing
the active bit and update the nextTD pointer before attempting to re-prime the endpoint.
Remark:
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.
25.10.7.1 Interrupt/bulk endpoint bus response matrix
[1]
BS error = Force Bit Stuff Error
[2]
NYET/ACK – NYET unless the Transfer Descriptor has packets remaining according to the USB variable
Table 513. Variable length transfer protocol example (ZLT = 1)
Bytes (dTD)
Max Packet
Length (dQH)
N
P1
P2
P3
511
256
2
256
255
-
512
256
2
256
256
-
512
512
1
512
-
-
Table 514. Interrupt/bulk endpoint bus response matrix
Token
type
STALL
Not primed
Primed
Underflow
Overflow
Setup
Ignore
Ignore
Ignore
n/a
n/a
In
STALL
NAK
Transmit
BS error
n/a
Out
STALL
NAK
Receive and NYET/ACK
n/a
NAK
Ping
STALL
NAK
ACK
n/a
n/a
Invalid
Ignore
Ignore
Ignore
Ignore
Ignore