Programmers Interface; Buffer Descriptor Table - NXP Semiconductors MKL27Z128VFM4 Reference Manual

Table of Contents

Advertisement

Programmers interface

Figure 33-6. Typical Device-only block diagram (bus-powered with external regulator)
33.4 Programmers interface
This section discusses the major components of the programming model for the USB
module.

33.4.1 Buffer Descriptor Table

To efficiently manage USB endpoint communications USBFS implements a Buffer
Descriptor Table (BDT) in system memory. The BDT resides on a 512-byte boundary in
system memory and is pointed to by the BDT Page Registers. Every endpoint direction
requires two 8-byte Buffer Descriptor (BD) entries. Therefore, a system with 16 fully
bidirectional endpoints would require 512 bytes of system memory to implement the
BDT. The two BD entries allows for an EVEN BD and ODD BD entry for each endpoint
direction. This allows the microprocessor to process one BD while USBFS is processing
the other BD. Double buffering BDs in this way allows USBFS to transfer data easily at
the maximum throughput provided by USB.
Software should manage buffers for USBFS by updating the BDT when needed. This
allows USBFS to efficiently manage data transmission and reception, while the
microprocessor performs communication overhead processing and other function
dependent applications. Because the buffers are shared between the microprocessor and
USBFS, a simple semaphore mechanism is used to distinguish who is allowed to update
534
VDD
MCU
USB_VDD
USB_DM
USB_DP
Place resistors close to the processor
KL27 Sub-Family Reference Manual , Rev. 5, 01/2016
External 5v to 3.3v regulator
IN
OUT
3.3v
33 Ω
33 Ω
USB connecttor
VBUS
D-
D+
GND
Freescale Semiconductor, Inc.

Advertisement

Table of Contents
loading

Table of Contents