
Universal serial bus full-speed device interface (USB)
RM0008
624/1096
Doc ID 13902 Rev 12
Bits 5:4
STAT_TX [1:0]:
Status bits, for transmission transfers
These bits contain the information about the endpoint status, listed in
can be toggled by the software to initialize their value. When the application software writes
‘0, the value remains unchanged, while writing ‘1 makes the bit value toggle. Hardware sets
the STAT_TX bits to NAK, when a correct transfer has occurred (CTR_TX=1) corresponding
to a IN or SETUP (control only) transaction addressed to this endpoint. It then waits for the
software to prepare the next set of data to be transmitted.
Double-buffered bulk endpoints implement a special transaction flow control, which controls
the status based on buffer availability condition (Refer to
Section 23.4.3: Double-buffered
If the endpoint is defined as Isochronous, its status can only be “VALID” or “DISABLED”.
Therefore, the hardware cannot change the status of the endpoint after a successful
transaction. If the software sets the STAT_TX bits to ‘STALL’ or ‘NAK’ for an Isochronous
endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can
be only toggled by writing ‘1.
Bits 3:0
EA[3:0]:
Endpoint address
Software must write in this field the 4-bit address used to identify the transactions directed to
this endpoint. A value must be written before enabling the corresponding endpoint.
Table 172.
Reception status encoding
STAT_RX[1:0]
Meaning
00
DISABLED:
all reception requests addressed to this endpoint are ignored.
01
STALL
: the endpoint is stalled and all reception requests result in a STALL
handshake.
10
NAK
: the endpoint is naked and all reception requests result in a NAK handshake.
11
VALID
: this endpoint is enabled for reception.
Table 173.
Endpoint type encoding
EP_TYPE[1:0]
Meaning
00
BULK
01
CONTROL
10
ISO
11
INTERRUPT
Table 174.
Endpoint kind meaning
EP_TYPE[1:0]
EP_KIND Meaning
00
BULK
DBL_BUF
01
CONTROL
STATUS_OUT
10
ISO
Not used
11
INTERRUPT
Not used