PDF Datasheets

ASIC
Altera Lattice Xilinx

Options for this Core

USBFS-DEV software stack

Related Products

  • USBSS-DEV – a device controller that conforms to the USB 3.0 SuperSpeed specification, and enables data transfers up to 5 Gbps while also reducing power requirements.
  • USBHS-DEV – a complete high/full-speed (480/12 Mbps) peripheral controller that interfaces to a UTMI USB port transceiver on one side and to a system’s microprocessor on the other.
  • USBHS-HUB - a hi-speed configurable USB Hub controller that can serve as an interface between a USB host and multiple USB peripheral devices, each operating at different signaling frequencies: Low-, Full-, or High-Speed.
  • USBHS-OTG-SD - a hi-speed USB OTG port that can serve as a host (for a single device) or as a peripheral when connected to other USB devices.
  • USBHS-OTG-MPD - a hi-speed USB port that can serve as either a host or a peripheral when connected to other USB devices. It features an integrated direct memory access (DMA) controller for efficient, autonomous data transfer, and can support USB hubs and multiple peripheral devices in host mode.

Related Information

Validated for Mentor Graphics Presicision FPGA SynthesisValidated for Precision™ FPGA Synthesis

News Releases

06/18/01 CAST Releases USB 1.1 IP Core

Resources

For an excellent USB overview, see Which version of USB is right for your application?, by Dan Harmon, at Planet Analog

USB IP Core USBFS-DEV USB Full-Speed Device Controller Core

The USBFS-DEV is a USB Device Controller that provides USB full and low speed function interface that meets the 2.0 revision of the USB specification. The USBFS-DEV logic handles bytes transfer autonomously and bridges USB interface to a simple read/write parallel interface. The USBFS-DEV can be customized and optimized for a specific application. It contains a set of Special Function Registers that is similar to the Cypress EZ-USBTM FX chip.

The microcode-free design was developed for reuse in ASICs and FPGAs. The design is strictly synchronous with positive-edge clocking, no internal tri-states and a synchronous reset. Scan insertion is straightforward.

See representative implementation results (each in a new pop-up window):

ASIC numbersAltera numbers Lattice numbers Xilinx numbers

Features

Optional Features

Applications

The USBFS-DEV can be utilized to provide a USB full speed function interface in a variety of applications including:

Software

A complete software stack with the most popular device classes is available. It has been designed for portability in a variety of embedded applications. It includes an intuitive Application Programming Interface (API) for application development.

Block Diagram

USBFS-DEV Block Diagram

Functional Description

The USBFS-DEV core is partitioned into modules as shown in the block diagram and described below:

Serial Interface Engine (SIE)

The SIE logic contains a Digital Phase Locked Loop (DPLL) that uses 4 times over-sampling of the USB data stream for clock extraction. The SIE performs serial data decoding/encoding, bit stuffing/stripping and CRC checking/generation. Received/transmitted data are grouped in bytes and transferred to/from the USBFS-DEV endpoint buffer RAM.

Parallel Interface Engine (PIE)

The PIE contains a set of Special Function Registers (SFR) that are provided to control the USBFS-DEV behavior, the logic that handles all USB transfers and interfaces for endpoints buffers and for the microcontroller.

Port controller (PORTCTRL)

The port control module contains multiplexers and address decoders. The PORTCTRL logic handles all microprocessor and DMA read and write accesses to/from the Special Function Registers and endpoint buffer RAM.

DMA

The DMA module transfers byte data between endpoint buffers and external memory. The processor initializes the DMA by writing to the DMA Special Function Registers.

DMA wrapper (DMA WRAP)

The DMA wrapper generates read/write strobes for external asynchronous RAM.

Clock controller (CLKCTRL)

This module is provided to support suspend-resume control. The clock control logic uses a clock gate to switch off the USBFS-DEV clock in suspend state.

Deliverables

The core is available in ASIC (synthesizable HDL) and FPGA (netlist) forms, and includes everything required for successful implementation:

 

 

Share this page:

Twitter LinkedIn Add This: more sharing options
Top of Page

Follow CAST:

go to our SlideShare page