
A–9
A.4.3.3 USB Out Endpoint – X Buffer Data Count Byte (OEPDCNTXx)
The USB out endpoint X buffer data count byte contains the 7-bit value used to specify the amount of data received
in a data packet from the host PC. The no acknowledge status bit is also contained in this byte.
Bit 7 6 5 4 3 2 1 0
Mnemonic NACK DCNTX6 DCNTX5 DCNTX4 DCNTX3 DCNTX2 DCNTX1 DCNTX0
Type R/W R/W R/W R/W R/W R/W R/W R/W
BIT MNEMONIC NAME DESCRIPTION
7 NACK No acknowledge The no acknowledge status bit is set to a 1 by the UBM at the end of a successful
USB out transaction to this endpoint to indicate that the USB endpoint X buffer
contains a valid data packet and that the X buffer data count value is valid. For
control, interrupt, or bulk endpoints, when this bit is set to a 1, all subsequent
transactions to the endpoint will result in a NACK handshake response to the host
PC. Also for control, interrupt, and bulk endpoints, to enable this endpoint to receive
another data packet from the host PC, this bit must be cleared to a 0 by the MCU. For
isochronous endpoints, a NACK handshake response to the host PC is not allowed.
Therefore, the UBM ignores this bit in reference to receiving the next data packet.
However, the MCU or DMA should clear this bit before reading the data packet from
the buffer.
6:0 DCNTX(6:0) X Buffer data count The X buffer data count value is set by the UBM when a new data packet is written to
the X buffer for the out endpoint. The 7-bit value is set to the number of bytes in the
data packet for control, interrupt, or bulk endpoint transfers and is set to the number
of samples in the data packet for isochronous endpoint transfers. To determine the
number of samples in the data packet for isochronous transfers, the bytes per
sample value in the configuration byte is used. The data count value is read by the
MCU or DMA to obtain the data packet size.
A.4.3.4 USB Out Endpoint – X and Y Buffer Size Byte (OEPBSIZx)
The USB out endpoint X and Y buffer size byte contains the 8-bit value used to specify the size of the two data buffers
to be used for this endpoint.
Bit 7 6 5 4 3 2 1 0
Mnemonic BSIZ7 BSIZ6 BSIZ5 BSIZ4 BSIZ3 BSIZ2 BSIZ1 BSIZ0
Type R/W R/W R/W R/W R/W R/W R/W R/W
BIT MNEMONIC NAME DESCRIPTION
7:0 BSIZ(7:0) Buffer size The X and Y buffer size value is set by the MCU to program the size of the X and Y
data packet buffers. Both buffers are programmed to the same size based on this
value. This value should be in 8 byte units. For example, a value of 18h would result
in the size of the X and Y buffers each being set to 192 bytes.
A.4.3.5 USB Out Endpoint – X Buffer Base Address Byte (OEPBBAXx)
The USB out endpoint X buffer base address byte contains the 8-bit value used to specify the base memory location
for the X data buffer for a particular USB out endpoint.
Bit 7 6 5 4 3 2 1 0
Mnemonic BBAX10 BBAX9 BBAX8 BBAX7 BBAX6 BBAX5 BBAX4 BBAX3
Type R/W R/W R/W R/W R/W R/W R/W R/W
BIT MNEMONIC NAME DESCRIPTION
7:0 BBAX(10:3) X Buffer base address The X buffer base address value is set by the MCU to program the base address
location in memory to be used for the X data buffer. A total of 11 bits is used to specify
the base address location. This byte specifies the most significant 8 bits of the
address. All 0s are used by the hardware for the three least significant bits.