Addressing bdt entries, Buffer descriptor formats, Table 4-1. usb data direction – Lantronix DSTni-EX User Manual

Page 42: Table 4-2. 16-bit usb address, Table 4-3. 16-bit usb address definitions

Advertising
background image

34

Table 4-1. USB Data Direction

Rx

Tx

Device

OUT or SETUP

IN

Host

IN

OUT or SETUP

Addressing BDT Entries
Before describing how to access endpoint data via the USB or microprocessor, it is important to
understand the BDT addressing mechanism. The BDT occupies up to 256 bytes of system
memory. Sixteen bidirectional endpoints can be supported with a full BDT of 256 bytes. Eight
bytes are needed for each USB endpoint direction. Applications with less than 16 endpoints
require less Random Access Memory (RAM) to implement the BDT.

The BDT Page register points to the starting location of the BDT. The BDT must reside on a
256-byte boundary in system memory. All enabled TX and RX endpoint BD entries are indexed
into the BDT for easy access via the USB or microprocessor.

When the USB receives a USB token on an enabled endpoint, it uses its integrated DMA
controller to interrogate the BDT. The USB reads the corresponding endpoint BD entry to
determine if it owns the BD and corresponding buffer in system memory. To compute the entry
point in to the BDT, the BDT_PAGE register is concatenated with the current endpoint and the
TX and ODD fields to form the following 16- bit address.

Table 4-2. 16-Bit USB Address

BIT

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

FIELD

BDT_PAGE REGISTER

END_POINT

TX

ODD

///

RESET

0

0

0

0

0 0 0 0 0

0

0

0

0 0 0 0

RW

RW

RW

R

RW

RW RW RW RW RW

RW

RW

RW

RW RW RW RW

Table 4-3. 16-Bit USB Address Definitions

Bits

Field Name

Description

15:8 BDT_PAGE

REGISTER

Register in the Control Block

7:4

END_POINT

Endpoint Field from the USB Token

3 TX

Transmit
Shows whether the USB core is transmitting or receiving data.
1 = USB core is transmitting data.
0 = USB core is receiving data.

2

ODD

Bit That the USB SIE Maintains
This bit corresponds to the buffer currently in use. Buffers are used in a ping-pong
fashion.

1:0

///

Reserved

Buffer Descriptor Formats
Buffer Descriptors (BDs) provide endpoint buffer control information for the USB and
microprocessor. BDs have different meanings based on which unit is reading the descriptor in
memory.

The USB controller and microprocessor use the data stored in the BDs to determine the items in
Table 4-4.

Advertising