If sufficient data is available, the controller transmits the data to the USB host.
OUT Transactions
For an OUT transaction, the application performs the following steps:
1. Enables the endpoint
2. Waits for the packet received interrupt from the USB OTG controller
3. Retrieves the packet from the receive FIFO buffer
When an OUT token or PING token is received on an endpoint where the receive FIFO buffer does not have
sufficient space, the controller performs the following steps:
1. Generates an interrupt
2. Returns a NAK handshake to USB host
If sufficient space is available, the controller stores the data in the receive FIFO buffer and returns an ACK
handshake to the USB link.
Control Transfers
For control transfers, the application performs the following steps:
1. Waits for the packet received interrupt from the controller
2. Retrieves the packet from the receive buffer
Because the control transfer is governed by USB protocol, the controller always responds with an ACK
handshake.
USB OTG Controller Address Map and Register Definitions
The address map and register definitions reside in the hps.html file that accompanies this handbook volume.
To view the module description and base address, click the hps.html link below to search for the following
modules :
• usb0
• usb1
To then view the register and field descriptions, scroll to and click the register names. The register addresses
are offsets relative to the base address of each module instance.
Related Information
•
Introduction to Cyclone V Hard Processor System (HPS)
on page 1-1
The base addresses of all modules are listed in the
Introduction to the Hard Processor System
chapter.
•
For more information, refer to the
hps.html
chapter of the Cyclone V handbook.
Altera Corporation
USB 2.0 OTG Controller
18-15
OUT Transactions
cv_54018
2013.12.30