The USB Full-Speed Dual-Role Controller primarily provides a ‘Dual-role’ USB controller for use as either the host or the peripheral in point-topoint communications with another USB function (which may be either full-speed or low-speed). Alternatively it can be used as the function controller for a full-speed USB peripheral.
The USB Full-Speed Dual-Role Controller complies with both the USB standard for full-speed functions and the On-The-Go supplement to the USB 2.0 specification.
The USB Full-Speed Dual-Role Controller is user-configurable for up to 15 ‘Transmit’ endpoints and/or up to 15 ‘Receive’ endpoints in addition to Endpoint 0. (Whether these endpoints are used for IN transactions or for OUT transactions at any time will depend on whether the device containing the USB Full-Speed Dual-Role Controller is currently being used as a USB peripheral or as the host for point-to-point communications with another USB peripheral.) These additional endpoints can be individually programmed for Bulk/Interrupt or Isochronous transfers.
Each endpoint requires a FIFO to be associated with it. The USB Full-Speed Dual-Role Controller has a RAM interface for connecting to a single block of synchronous single-port RAM which is used for all the endpoint FIFOs. (The RAM block itself needs to be added by the user.)
The FIFO for Endpoint 0 is required to be 64 bytes deep and will buffer 1 packet. The RAM interface is configurable with regard to the other endpoint FIFOs which may be from 8 to 2048 bytes in size and can buffer either 1 or 2 packets. Separate FIFOs may be associated with each endpoint: alternatively a Tx endpoint and the Rx endpoint with the same Endpoint number can be configured to use the same FIFO, for example to reduce the size of RAM block needed.
When acting as the host for point-to-point communications, the USB Full-Speed Dual-Role Controller additionally maintains a frame counter and automatically schedules SOF, Isochronous, Interrupt and Bulk transfers. It also includes support for the session control and host negotiation protocol required for point-to-point communications, details of which are given in the USB On-The-Go supplement to the USB 2.0 specification.
- Operates either as a function controller for a USB peripheral or as the host/peripheral in point-to-point communications with another USB function
- Complies with the USB standard for full-speed (12 Mbps) functions and with the On-The-Go supplement to the USB 2.0 specification
- Supports point-to-point communications with one full-speed or low-speed device
- Supports Session Request Protocol (SRP) and Host Negotiation Protocol (HNP)
- Supports Suspend and Resume signaling
- Configurable for up to 15 additional Transmit endpoints and up to 15 additional Receive endpoints
- Configurable FIFOs, including the option of dynamic FIFO sizing
- Synchronous RAM interface for FIFOs
- Support for DMA access to FIFOs.
- Performs all transaction scheduling in hardware
- Complete Solution to accelerate your time to market
- Used for many ASICs and FPGS in past
- Very matured and highly stable IP
- Also has FPGA demo to accelerate your validation and software development
- Comes with basic software drivers
- Both Verilog and VHDL RTL files
- functional testbenches
- synthesis scripts and scan test scripts