USB Transactions
13-56
FIFO. If the EP_Halted has been set in response to a SET_FEATURE request
sent by the USB host or if the bit is cleared (control transaction only), the local
host has no action to perform and must clear the EP_Sel bit. This clears the
STALL bit for this endpoint and allows the next transaction status to be written
to the STAT_FLG register.
Packet Errors
In case of a receive data error during an endpoint OUT transaction (token or
data packet), the USB module does not provide a handshake during the hand-
shake phase of the transaction and no interrupt is asserted to the local host
(the fourth case shown in Figure 13–3). Additionally, the endpoint RX FIFO is
not filled and the FIFO_En bit is not cleared. If the local host clears the RX FIFO
during the data packet of an OUT transaction, no handshake is returned to the
USB host to signal an error.
Sequence Bit Errors
If the core does not receive expected DATA PID during an OUT transaction,
the module automatically returns an ACK handshake to the USB host, regard-
less of the FIFO_En bit (per USB spec). Data is ignored, and no interrupt is
asserted to the local host.
This error occurs if an ACK handshake from the previous OUT transaction is
received corrupted by the USB host.
13.3.1.3
Non-Isochronous, Non-Control OUT Endpoint FIFO Error Conditions
If the USB host attempts to fill more data into an endpoint RX FIFO than the
FIFO can hold, a FIFO overrun occurs. The USB module does not provide a
handshake during the handshake phase of the transaction and no interrupt is
asserted to the local host. Additionally, the endpoint RX FIFO is not filled, and
the FIFO_En bit is not cleared.
The local host must not read more data from the RX FIFO than the amount
indicated by RXF_Count.