User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 390
UG585 (v1.11) September 27, 2016
Chapter 15
USB Host, Device, and OTG Controller
15.1 Introduction
The USB controller is capable of fulfilling a wide range of applications for USB 2.0 implementations
as a host, a device, or On-the-Go. Two identical controllers are in the Zynq-7000 device. Each
controller is configured and controlled independently. The USB controller I/O uses the ULPI protocol
to connect external ULPI PHY via the MIO pins. The ULPI interface provides an 8-bit parallel SDR data
path from the controller’s internal UTMI-like bus to the PHY. The ULPI interface minimizes device pin
count and is controlled by a 60 MHz clock output from the PHY.
USB is a cable bus that supports data exchange between a host device and a wide range of computer
peripherals. The attached peripherals share USB bandwidth through a host-scheduled, token-based
protocol. The bus allows peripherals to be attached, configured, used, and detached while the host
and other peripherals remain operational.
The USB controller in USB 2.0 Host compatible with the EHCI specification with some enhancements
and minor deviations. The OTG operating mode software switches the controller between Idle and
either Device or Host mode as needed by the application using the Host Negotiation Protocol (HNP)
and Session Request Protocol (SRP).
The controller is designed to make efficient use of the system resources in an SoC design. The DMA
engine is responsible for moving USB transaction data between the Rx/Tx FIFOs and system memory.
The FIFOs are used to buffer the high-speed USB data rates with periodic delays associated with the
PS Interconnect data transfers.
The EHCI-compatible host controller is a schedule driven environment for data transfers of periodic
(interrupt and isochronous) and asynchronous (control and bulk) types. Device mode includes a
simple pair of descriptors to respond to USB data transfers in a timely manner between the software
and USB.
The transfer descriptors of the host schedules and device endpoints control the DMA engine to move
data between the 32-bit AHB master system bus interface and the Rx and Tx data FIFOs that respond
in real-time to the USB.
The controller makes strategic use of software for tasks that do not require time-critical responses.
This approach reduces the amount of hardware logic. At the same time, the controller includes
hardware assistance logic to enable the controller to respond quickly to USB events and simplify the
software.