Information

Table 42-1. Data Direction for USB Host or USB Target (continued)
Rx Tx
Host IN Out or Setup
42.3.3 Addressing Buffer Descriptor Table Entries
An understanding of the addressing mechanism of the Buffer Descriptor Table is useful
when accessing endpoint data via the USB-FS or microprocessor. Some points of interest
are:
The Buffer Descriptor Table occupies up to 512 bytes of system memory.
16 bidirectional endpoints can be supported with a full BDT of 512 bytes.
16 bytes are needed for each USB endpoint direction.
Applications with less than 16 endpoints require less RAM to implement the BDT.
The BDT Page Registers point to the starting location of the BDT.
The BDT must be located on a 512-byte boundary in system memory.
All enabled TX and RX endpoint BD entries are indexed into the BDT to allow easy
access via the USB-FS or MCU core.
When a USB token on an enabled endpoint is received, the USB-FS uses its integrated
DMA controller to interrogate the BDT. The USB-FS 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 registers is concatenated with
the current endpoint and the TX and ODD fields to form a 32-bit address. This address
mechanism is shown in the following diagrams:
Table 42-2. BDT Address Calculation Fields
Field Description
BDT_PAGE BDT_PAGE registers in the Control Register Block
END_POINT END POINT field from the USB TOKEN
TX 1 for an TX transmit transfers and 0 for an RX receive transfers
ODD This bit is maintained within the USB-FS SIE. It corresponds to the buffer currently in use. The
buffers are used in a ping-pong fashion.
42.3.4 Buffer Descriptor Formats
The Buffer Descriptors (BD) provide endpoint buffer control information for the USB-FS
and microprocessor. The Buffer Descriptors have different meaning based on whether it
is the USB-FS or microprocessor reading the BD in memory.
Programmers Interface
K20 Sub-Family Reference Manual, Rev. 6, Nov 2011
1052 Freescale Semiconductor, Inc.