9.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)
- 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:
The following figure shows details of MSS. As shown in the figure, USB OTG controller can function as an AHB master for DMA data transfers and as an AHB slave for configuring the USB OTG controller from the masters Arm Cortex -M3 processor or from the FPGA fabric logic.
The SmartFusion 2 USB OTG controller can function as:
- A high speed or a full speed peripheral USB device attached to a conventional USB host (such as, a PC)
- A point-to-point or multi-point USB host
- An OTG device that can dynamically switch roles from the host and the device
In all cases (USB host, USB device, or USB OTG), SmartFusion 2 USB OTG supports control, bulk, ISO, and interrupt transactions in all 3 modes.