Introduction to EZ-USB® FX3’s High-Speed USB Host Controller
Document No. 001-77960 Rev. **
2
USB Hosts and Peripheral Devices
USB is a tiered star network that consists of one host and
one or more peripheral devices. The host initiates all
communication on the bus. Peripherals may send data to
the host only when the host requests it. Peripherals must
be able to receive the data that the host sends. To expand
the number of peripherals you can use a hub. Typically, a
hub allows four or seven peripherals to attach to an
upstream port. A maximum of five hubs can be chained
together, creating as many as five tiers. A maximum of
127 peripherals (including the hubs) can be connected on
the bus to a single host.
Most USB peripheral devices are categorized by classes.
Each class has special requirements for its communication
protocol. The host must be able to recognize a peripheral
device’s class and meet the class requirements, or the
host cannot communicate with the device. Two common
classes are HID (human interface device), such as a
mouse, and mass storage class (MSC), such as a flash
drive. Class drivers running on the host give application-
level support for class-specific communication. Because
some USB peripheral devices are vendor-specific, they do
not fall into one of the predefined classes. For those
peripheral devices, specific client drivers must be written.
Host Versus Embedded Host
A USB embedded host differs from a USB host in several
small, but important, ways. A USB embedded host does
the following:
•
supports only specific peripheral devices or classes of
peripheral devices, or both;
•
supports only transfer types required by the supported
peripheral devices;
•
offers optional hub support; and
•
has a relaxed power requirement.
These restrictions allow an embedded host to be
implemented on a device with fixed, limited memory.
USB On-The-Go (OTG)
USB On-The-Go (OTG) allows two USB peripherals to talk
to each other without requiring a personal computer.
Although OTG appears to add peer-to-peer connections,
in fact, USB OTG retains the standard USB
host/peripheral model. OTG introduces the dual-role
device (DRD) capable of functioning as either host or
peripheral. One important aspect of OTG is that a host
and peripheral can switch roles when necessary.
FX3 USB Subsystem Overview
The FX3 USB block includes:
•
USB 3.0 function controller
•
USB 2.0 function controller
•
USB 2.0 embedded host controller
•
USB 2.0 OTG controller
The USB 3.0 and USB 2.0 subsystems have dedicated
transceivers, but they share the same I/O interconnect in
the backend.
The FX3 USB block supports the following modes of
operation:
•
USB 3.0 peripheral in SuperSpeed (5 Gbps)
•
USB 2.0 peripheral in high/full speed (480/12 Mbps,
respectively)
•
USB 2.0 host in high/full/low speed (480/12/1.5 Mbps
respectively), with one downstream port. The hub is
not supported.
•
USB 2.0 OTG DRD, with Host Negotiation Protocol
(HNP) and Session Request Protocol (SRP) support.
Figure 1. EZ-USB FX3 Subsystem
EZ-USB FX3
USB Subsystem
USB
3
.0
PHY
USB 2.0 Host
Controller
SSTX+
SSTX-
USB
2
.0
PHY Mux
USB
2
.0
OTG
PHY
USB 2.0
Function
Controller
USB 3.0
Function
Controller
Internal IO Interconnect
OTG
Controller
SSRX+
SSRX-
D+
D-
Voltage
Regulator
OTG_ID
VBUS
VBATT
Because this document focuses only on introducing the
high-speed USB host controller of FX3, the following
section and subsequent example focus only on USB 2.0
host functionality.