Universal Serial Bus OTG Controller
UG0331 User Guide Revision 15.0
284
10
Universal Serial Bus OTG Controller
Universal serial bus (USB) is an industry standard that defines cables, connectors, and serial
communication protocol used in a bus for connection, communications, and power supply between
electronic devices. SmartFusion2 SoC FPGA device contains a USB On-The-Go (OTG) controller as
part of the microcontroller subsystem (MSS). SmartFusion2 USB OTG controller provides a mechanism
for the USB communication between the SmartFusion2 devices and external USB host/USB device/USB
OTG protocol compliant devices.
10.1
Features
•
Operates as a USB host in point-to-point or multi-point communication with other USB devices
•
Operates as a USB peripheral with other USB hosts
•
Compliant with the USB 2.0 standard and includes OTG supplement
•
Supports USB 2.0 speeds:
•
High speed (480 Mbps)
•
Full speed (12 Mbps)
•
Supports session request protocol (SRP) and host negotiation protocol (HNP)
•
Supports suspend and resume signaling
•
Supports multipoint capabilities
•
Supports four direct memory access (DMA) channels for data transfers
•
Support for high bandwidth isochronous (ISO) pipe enabled endpoints
•
Hardware selectable option for 8-bit/4-bit low pin interface (LPI) interface
•
Supports the following two hardware interfaces to external USB physical layer (PHY):
•
UTMI+ Level 3 transceiver interface with fabric
•
ULPI link interface direct to inputs/outputs (I/Os)
•
Soft connect/disconnect
•
Configurable for up to 5 transmit endpoints (TX EP) and up to 5 receive endpoints (RX EP), including
control endpoint (EP0)
•
Offers dynamic allocation of endpoints, to maximize the number of devices supported
•
Internal memory of 8 KB with support for dynamic allocation to each end point
•
Performs all USB 2.0 transaction scheduling in hardware
•
Supports link power management
•
Single Error Correction and Dual Error Detection (SECDED) protection on internal USB memory
with the following features:
•
Generates interrupts on 1-bit or 2-bit errors; these interrupts can be masked
•
Corrects 1-bit errors
•
Counts the number of 1-bit and 2-bit errors
For more information on USB 2.0 and OTG protocol specifications, refer to the following web pages:
•
www.usb.org/developers/docs/
•
www.usb.org/developers/onthego/