USB Device Controller
1568
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
Universal Serial Bus (USB)
Table 29-35. Status Register (STAT_FLG) Field Descriptions (continued)
Bit
Field
Value
Description
5
STALL
The transaction stall (non-ISO) bit only concerns non-ISO endpoints. This status bit is set at
the end of a transaction if a STALL handshake packet was returned to the USB host, and if
no non-handled interrupt is pending on the current buffer (see
). The core
automatically returns a STALL packet if a valid IN token is received by a halted TX
endpoint, if a valid OUT transaction is received by a halted RX endpoint, or if there is a
request error (endpoint 0). The bit is cleared when the USB device controller has finished
handling the corresponding interrupt (at EP_NUM.EP_SEL bit deselection).
0
No STALL handshake was returned.
1
A STALL handshake packet was returned.
Value after system reset or USB reset is low.
4
NAK
The transaction non-acknowledge (non-ISO) bit only concerns non-ISO endpoints with
SYSCON1.NAK_EN bit asserted. This status bit is set at the end of a transaction if a NAK
handshake is returned to the USB host, and if no non-handled interrupt is pending on the
current buffer. The USB core automatically returns a NAK handshake to the USB host if a
valid IN token is received by a TX endpoint or if a valid OUT transaction is received by an
RX endpoint, and the STAT_FLG.FIFO_EN bit is not set for the endpoint. The bit is cleared
when the USB device controller has finished handling the corresponding interrupt (at
EP_NUM.EP_SEL bit deselection).
0
No NAK handshake was returned (SYSCON1.NAK_EN bit is set).
1
A NAK handshake packet was returned and SYSCON1.NAK_EN bit is set.
Value after system reset or USB reset is low.
3
ACK
The transaction acknowledge (non-ISO) bit only concerns non-ISO endpoints. This bit is set
at the end of a non-transparent valid IN transaction if the data packet was sent successfully
to the USB host and the ACK handshake was received, or at the end of a non-transparent
valid OUT transaction if the data packet was received successfully by the USB device and
the ACK handshake was returned. The bit is cleared when the USB device controller has
finished handling the corresponding interrupt (at EP_NUM.EP_SEL bit deselection).
0
No ACK handshake packet was returned.
1
An ACK handshake packet was returned.
Value after system reset or USB reset is low.
2
FIFO_EN
The FIFO enable status (non-ISO) bit only concerns non-ISO endpoints. This bit is asserted
when CTRL.SET_FIFO_EN is set to 1 and is cleared automatically after a transaction
completes with an ACK, STALL.
0
The non-ISO endpoint FIFO is disabled.
1
The non-ISO endpoint FIFO is enabled.
Value after system reset or USB reset is low.
1
NON_ISO_FIFO_EMPTY
The non-ISO FIFO empty bit only concerns non-ISO endpoints. This bit is set when the
FIFO for the selected non-ISO endpoint is empty, either via an appropriate CTRL.CLR_EP
bit or CTRL.RESET_EP bit or after successful reads from the selected FIFO.
0
Non-ISO FIFO is not empty.
1
Non-ISO FIFO is empty.
Value after system reset or USB reset is high (FIFO empty).
0
NON_ISO_FIFO_FULL
The non-ISO FIFO full bit only concerns non-ISO endpoints. This bit is set when the FIFO
for the selected non-ISO endpoint is full. This condition is cleared by setting the
CTRL.CLR_EP bit or CTRL.RESET_EP bit, or after one successful read (by the USB device
controller or the USB host).
0
Non-ISO FIFO is not full.
1
Non-ISO FIFO is full.
Value after system reset or USB reset is low (FIFO empty).