Beyond Logic



USB 2 Integrated Circuits

Universal Serial Bus Specification Rev. 2.0

    With USB 1.1, there were two Host Controller Interface Specifications, the UHCI (Universal Host Controller Interface) developed by Intel and the OHCI (Open Host Controller Interface) developed by Compaq, Microsoft and National Semiconductor.

    With the introduction of USB 2.0 a new Host Controller Interface Specification was needed to describe the register level details specific to USB 2.0. The EHCI (Enhanced Host Controller Interface) was born which at the time of writing is at revision 1.0. Significant contributors include Intel, Compaq, NEC, Lucent and Microsoft so it would hopefully seem they have pooled together to provide us one interface standard and thus only one driver to implement in our operating systems.

    Both XP and Windows 2000 USB 2.0 drivers should be available from the Windows Update site. However if you don't have a USB 2.0 card installed, it will not appear on the site (Windows Update searches your PCI bus for the VID/PIDs). Corporate IT Staff or developers who wish to copy it to multiple computers may download the driver from Corporate Windows Update site.

    In the Linux camp, David Brownell and crew have been busy implementing EHCI. Monday the 14th of January 2002 saw the release of the 2.5.2 linux kernel which has USB 2.0 support built in. Once again Linux has support before Windows.

USB 2.0 High Speed Devices
    Philips Semiconductor

    Philips semiconductor has two USB 2.0 compliant devices in development at the present moment. One is a USB transceiver, while the other is a USB function device.

      ISP1581 Universal Serial Bus 2.0 High Speed Interface Device

        Philips have scared many off with their ISP1581. At one stage their website indicated this was a discontinued product, however Wei Leong Chui (Marketing Manager) from Philips Semiconductor advises us that this isn't the case. In fact this part is all well and is now in production. Samples are available from your local Philips distributor.

        What makes this product neat over its competitors is the easy bus interfacing and separate DMA / control buses. The ISP1581 has two modes of operation, Generic Processor mode and Split Bus Mode. In Generic Processor Mode it uses AD[7:0] as an address bus and DATA[15:0] as a 16 bit data bus shared by both the processor and DMA. The device has all the standard CS, ALE, R/W, RD, DS, WR pins so it can be mapped into memory on both Intel and Motorola style buses. In Split bus mode, the processor can control the device using AD[7..0] as a multiplexed data/address bus and use the DMA bus as a totally separate and independent bus to transfer data to and from the FIFOs.

        • Fully compliant with the USB Specification Rev. 2.0, with fall-back to USB 1.1
        • High Speed DMA Interface block
        • 14 programmable USB endpoints with 2 fixed control IN/OUT endpoints
        • Integrated 8KB FIFO memory
        • Software controlled connection to the USB bus (SoftConnect)
        • Low Speed 12MHz External Crystal
        • 3.3V device with 5 V tolerant I/O pads.
        • Suitable for a Bus Powered Designs with on board 3.3V Regulator.
        • Memory like interface for control - AD[0..7], CS, ALE, R/W, RD, DS, WR.
        • Separate 16 Bit Data Bus and associated DMA Signalling.
        • Two types of Generic DMA transfer and three types of IDE-specified transfer - Generic DMA Slave mode; Generic DMA Master mode; PIO mode for IDE transfers; Multiword DMA mode for IDE transfers and Ultra DMA mode for IDE transfers
        • Available in LQFP64 package.

      ISP1501 Universal Serial Bus 2.0 Peripheral Transceiver

        • USB2.0 with Legacy compliant USB 1.1 full-speed transceiver interface
        • Integrated Parallel-to-Serial Converter, Bit Stuffing and De-Stuffing, DPLL and NRZI Encoding and Decoding
        • LQFP48 Package


    USBDeveloper.com's ISP1581 Evaluation Kits

      USBDeveloper.com has two ISP1581 development boards to help with ISP1581 firmware and hardware development. The $99 US ISP1581 Generic Kit (pictured right) attaches to the parallel port allowing firmware to be easily developed and debugged before being ported to your embedded microcontroller. A PLCC socket is provided for an optional 8051 if you wish to target this MCU. Also on-board is 128Kbytes of SRAM enabling the testing of ISP1581 DMA transfers. Buy Now. $99 USD



      The ISP1581 Bulk only Mass Storage Kit is ideal to kick start your Mast Storage Device development. It comes with the development board (pictured left) which contains a ISP1581 USB2.0 Interface IC and IDE Header, USB Firmware and source code to drive the ISP1581 via the parallel Port and a user manual clearly explaining the Bulk-only Mass Storage Protocol. For more information on either of these boards see http://www.usbdeveloper.com (Wei Leong Chui)

      Buy Now. $120 USD



    Cypress Semiconductor

    Cypress Semiconductor currently has two USB 2.0 offerings, the FX-2 and SX-2. One includes a 8051 Microcontroller while the other is a DMA slave device designed to connect to a microprocessor or DSP. Cypress is well known for its re-numeration feature allowing USB devices with no firmware to enumerate as a default device, have code downloaded to it from the host and then re-enumerate as a different device executing the code freshly downloaded to it. It also provides enumeration in silicon, allowing the developer to code the interesting bits. . .

      CY7C68013 EZ-USB FX2

        The FX2 is a enhanced 8051 with re-numeration. It has 8kB of RAM on chip for soft loading of your program, but no ROM or FLASH. The device uses DMA to transfer data internally allowing it to reach burst data rates of 96Mbytes in and out of the device.

        • Enhanced 8051 controller running at 12, 24 or 48 MHz
        • Capable of 96 MBytes Burst Data Rate
        • 7 endpoints with a 512Byte maximum bulk endpoint and 1024Byte Maximum Isochronous Endpoint Size
        • 8kB of RAM
        • 56 SSOP/100 TQFP/128 TQFP Packages

      CY7C68001 EZ-USB SX2

        The SX2 loses the 8051 in favour for becoming a slave device controlled by your DSP or microcontroller in a language and design environment that you are familiar with. It continues the EZ-USB tradition of silicon enumeration allowing the SX2 to read its Product and Vendor ID’s plus its descriptors from serial EEPROM (up to 1KB) on power up. This allows the device to enumerate all chapter 9 descriptors without need of interrupting the master processor. It has a on-board I2C master device which is used to connect to the serial EEPROM on boot-up and can be used under control of your host after bootup and initialisation making it ideal for digital image sensors and other devices running on a I2C bus.

        Unlike the Philips ISP1581, the SX2 has three address pins to select FIFO2/4/6/8 or command operation and a 8/16-bit data bus shared for command and FIFO Data. Advanced information would also suggest it is missing an on board 3.3V regulator thus requiring external circuitry if used as a bus powered device. Never the less, the silicon numeration continues to put this device on the favourite list for many.

        • USB Serial Interface Engine Slave Device
        • High-speed (480 Mb/s) or Full-speed (12 Mb/s) support
        • 8 / 16 bit data bus
        • 5 Endpoints, 512 byte maximum bulk endpoint, 1024 byte maximum Isochronous Endpoint
        • 4KByte FIFO
        • I2C Bus Master Controller (100 KHz or 400KHz)
        • 3.3v Operation, 24MHz External Crystal
        • External processor can control I2C Master
        • 56 SSOP Package
        • Advanced Information 497kb


    Opal Kelly's XEM3001 FPGA experimentation with High Speed USB 2.0 Interface

      The XEM3001 FPGA experimentation board from Opal Kelly combines a reconfigurable Xilinx FPGA with a high speed USB 2.0 interface and plenty of easily accessible I/O. Bundled free with each Opal Kelly development board is their innovative "Front Panel" software which not only serves as a quick way of downloading your configuration files, but also helps you debug your design by providing a easily way to create front panel dialogs with no effort at all.

      • Xilinx Spartan 3 FPGA (XC3S400)
      • High Speed USB 2.0 Port using Cypress CY68013 FX2 USB microcontroller
      • Bus-powered (self-powered capable).
      • On Board Clock Generator (1 MHz to 150 MHz)
      • Three 0.1" headers giving access to 90 FPGA I/O lines including 4 clock inputs
      • Includes 8 SMD LEDs and 4 Tactile switches.
      • JTAG header included.
      • Complete with driver, powerful C++ class library (and Python wrapper) and FrontPanel programmer’s interface (API)
      • Business-card sized 3.5” x 2.0” (88.9mm x 50.8mm).



    Bitwise System's QuickUSB Home of the Hi-Speed USB Module That Makes USB a Snap!

      This High Speed USB 2.0 board is a great solution to quickly add fast 480Mbps USB functionality to your design. It has a mini high density SMD 80 pin connector (Hirose FX8-80S-SV) on underside of the board which makes it easy to add this board to your designs without having to worry about USB 2.0 controlled impedance transmission lines, firmware and device drivers.

      • Cypress CY7C68013-128AC EZ-USB FX2 Controller
      • 80 Pin I/O connector consisting of :
        • One 8 or 16-bit high-speed parallel port, sustained data rate of up to 12 MB/s and a burst rate of up to 48MB/s (for packets 512 bytes)
        • Up to three general-purpose 8-bit parallel I/O ports
        • Two RS-232 ports (RS-232 Signalling Levels)
        • One I2C port
        • One soft SPI port or FPGA configuration port
      • Complete with driver, DLL and C library
      • Small 2" x 1.5" Circuit Board.


    Cesys Spartan-II FPGA board with Cypress FX-2 USB 2.0 High Speed Interface

      If you need to prove a High Speed USB 2.0 design in a hurry, look no further than Cesys's Xilinx Spartan-II FPGA board with the Cypress FX-2 Controller. The FX-2 is connected to the FPGA via the GPIF interface allowing fast FIFO access and the generous 96 pins of I/O will ensure this board is not the cause of your data bottlenecks.

      • Xilinx XC2S200-5PQ208C Spartan II FPGA.
      • 1 Mbyte 15nS SRAM accessible from the FPGA.
      • Cypress EZ-USB FX2 2.0 Full Speed USB Controller with GPIF connection to FPGA.
      • 128 kBytes RAM connected to USB FX-2 Controller.
      • User programmable clock from 1MHz to 250 MHz.
      • Generous 96 pin I/O.


    USBee EX 2.0 Experimenter's Board for USB 2.0 High Speed Development

      Designed as a platform for teaching USB 2.0, this little board is ideal for students.

      • Cypress EZ-USB FX2 2.0 Full Speed USB Controller.
      • 11 Pin Data Connector (8 Data Bits, R/W, Clk and GND).
      • 3 Pin Power Connector (+5V, +3.3V and GND).
      • 1.25" x 2.0" Size with Mini USB Connector.


    NetChip Technology, Inc

    Netchip Technology has two USB 2.0 peripheral controllers which can connect to many microcontroller, microprocessor or DSP systems without any additional glue logic. The NET 2280 is a USB 2.0 peripheral device with a PCI 2.2 compliant bus. The NET 2270 on the other hand is a smaller 16 bit peripheral housed in a 64 pin TQFP and has a simpler core without Auto-Enumerate.

    Netchip continues to produce excellent documentation for their controllers. They provide a DMA split bus simular to that of the Philips ISP1581 allowing a DMA controller / FPGA to feed data in on the DMA bus while at the same time allowing the microcontroller to send commands and data on the dedicated local CPU bus. They also provide direct and indirect addressing allowing the CPU to directly address 32 configuration registers or indirectly address them through a REGADDRPTR and REGDATA register requiring only one address line and two memory locations.

      NET2270 16-Bit Programmable USB 2.0 Peripheral Controller

        • Diagnostic register allows forced USB errors.
        • AutoRetry™ of failed packets.
        • Three Configurable Endpoints + Endpoint 0 with two 1K bytes double-buffered FIFOs
        • 8 or 16-bit local bus transfers with Dual Channel DMA Support.
        • Big or little Endian support.
        • Bus or self powered modes.
        • 3.3V operating voltage, 30 MHz oscillator with internal PLL.
        • 64-pin TQFP package.

      NET2272 16-Bit Hi-Speed USB 2.0 Programmable Peripheral Controller

        • Simplified Software Development with Automatic retry, AutoRetryTM, of failed packets and Software disconnect, Simulated DisconnectTM.
        • Three 1K bytes double-buffered FIFOs, Dynamic Virtual EndpointTM Technology allows up to 30 independent data streams
        • Generic 8 or 16-bit local bus transfers with Dual Channel DMA Support.
        • Big or little Endian support.
        • Bus or self powered modes.
        • 2.5V and 3.3V operation with 5V tolerant I/O, 30 MHz oscillator with internal PLL.
        • 64-pin TQFP package.

      NET2280 PCI Hi-Speed USB 2.0 Programmable Peripheral Controller

        The Netchip NET2280 PCI Hi-Speed USB 2.0 Programmable Peripheral Controller is designed for peripherals containing a PCI bus such as Printers, Embedded single board computers, Set top boxes or PCI conversion adaptors.

        • Hi-Speed USB 2.0 (480Mbps)
        • PCI 2.2 compliant, 32 bit 33 MHz version in both bus mastering or slave modes
        • 4 Kbyte double-buffered, selectable FIFO IN/OUT Memory
        • Built in high performance 8051 CPU and 8kB program memory
        • Four channel DMA controller
        • 120-pin TQFP package


    High Speed USB 2.0 IP Cores

    Another increasingly popular solution is to integrate the USB 2.0 SIE (Serial Interface Engine) into a FPGA. However with USB's High Speed signalling running at a differential 480Mbps, a transceiver is required to convert this signal into a TTL/CMOS signal your FPGA can handle. To standardise high speed transceivers and allow portability between transceiver vendors and IP Core vendors, a USB Transceiver Macrocell Interface (UTMI) Specification was produced.





    Tearing your hair out with High Speed Design?

    With USB's high speed differential bus and highly complex protocol, what do you do when you want to monitor what is going on between your device and the host? Have you spent days on end hitting your head against the wall? What you need is a USB Protocol Analyser.

    Most developers are now thinking this must be expensive. But at what cost do you value a days trial and error when you can't see exactly what is going on. Perhaps the tension is building between the software engineer and the firmware engineer, neither will admit the problem lies with their end.

    Ellisys with their hugely popular USB Tracker has come to the rescue of USB 2.0 High Speed developers with the USB Explorer 200.

    Ellisys USB Explorer 200 New Release
    • Supports Low Speed (1.5Mbits/s), Full Speed (12Mbits/s) and High Speed (480Mbps)
    • Measurement of USB bus states and low level protocols
    • Device Bus Powered. No need for external adaptor.
    • Speedy USB2.0 Uplink with Internal 32MB FIFO Memory.
    • Intutive, Easy to use Interface.
    • High level decoding of requests and descriptors, making diagnosing problems a breeze.
    • Filtering and Highlighting of Events.
    • Dimensions: 150 x 120 x 65 mm, Weight 850g.
    • 3,470 Swiss Francs (~$2600 USD) and includes a 2 years of limited warranty.
USB 1.1 Integrated Circuits


Additional USB Resources





Copyright 1999-2005 Craig Peacock - 15th June 2005.