Table 4-6. USB Buffer Descriptor Format Definitions

Bits

Field Name

Description

7

OWN

BD Owner

 

 

Specifies which unit has exclusive access to the BD.

 

 

0 = microprocessor has exclusive and entire BD access; USB ignores all other

 

 

fields in the BD

 

 

1 = USB has exclusive BD access SIE writes a 0 to this bit when it completes a

 

 

token, except when KEEP=1. This byte must always be the last byte the

 

 

microprocessor updates when it initializes a BD. After the BD is assigned to the

 

 

USB, the microprocessor must not change it.

6

DATA0/1

DATA0/1 Transmit or Receive

 

 

Transmission or reception of a DATA0 or DATA1 field.

 

 

0 = transmission or reception of a DATA0 field.

 

 

1 = transmission or reception of a DATA1 field.

 

 

The USB does not change this value.

5

USB_OWN

USB Ownership

 

 

1 = once the OWN bit is set, the USB owns it forever.

 

 

0 = USB can release the BD when a token is processed.

 

 

Typically, this bit is set to 1 with ISO endpoints that feed a FIFO. The

 

 

microprocessor is not informed of the token processing. Instead, the process is

 

 

a simple data transfer to or from the FIFO.

 

 

When this bit is set to1:

 

 

• The NINC bit is usually set to prevent the address from incrementing.

 

 

• The USB does not change this bit; otherwise the USB writes bit 3 of the

 

 

current token PID back to the BD.

4

NINC

No Increment Bit

 

 

Disables DMA engine address incrementation, forcing the DMA engine to read

 

 

or write from the same address. This is useful for endpoints when data must be

 

 

read from or written to a single location such as a FIFO. Typically, this bit is set

 

 

with the USB_OWN bit for ISO endpoints that interface with a FIFO. If

 

 

USB_OWN=1, the USB does not change this bit; otherwise, the USB writes bit

 

 

2 of the current token PID to the BD.

3

DTS

Data Toggle Synchronization

 

 

0 = USB cannot perform Data Toggle Synchronization.

 

 

1 = USB can perform Data Toggle Synchronization.

 

 

If USB_OWN=1, the USB does not change this bit; otherwise, the USB writes

 

 

bit 1 of the current token PID to the BD.

1:0

BCH[9:8]

Byte Count High Bits

 

 

Represent the high-order bits of the 10-bit byte count. The USB SIE changes

 

 

this field after completing an RX transfer with the byte count of the data

 

 

received.

7:0

BCL

Byte Count Low Bits

 

 

Represent the low-order byte of the 10-bit byte count. BCH and BCL together

 

 

form the 10-bit byte count. This represents the number of bytes to transmit for

 

 

a TX transfer or receive during an RX transfer. Valid byte counts are 0 to 1023.

 

 

The USB SIE changes this field after completing an RX transfer with the actual

 

 

byte count of the data received.

7:0

ADDR[31:0]

Address Bits

(Bytes 4

 

Represent the 32-bit buffer address in system memory. DSTni only uses the

through 2 and

 

lower 24 bits to form the address where the buffer resides in system memory.

Low Byte)

 

This is the address that the USB DMA engine uses when it reads or writes

 

 

data. The USB does not change these bits.

36

Page 44
Image 44
Lantronix DSTni-EX manual 6. USB Buffer Descriptor Format Definitions, BD Owner, DATA0/1 Transmit or Receive, USB Ownership