Lantronix DSTni-EX Benutzerhandbuch

Seite von 95
 
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 
FIELD 
BDT_PAGE REGISTER 
END_POINT 
TX 
ODD 
/// 
RESET 
0 0 0 0 0 
0 0 0 0 
RW 
RW 
RW 
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. 
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.