Beyond Logic



USB1.1 Integrated Circuits & Development Boards

USB 1.1 Full and Low Speed Devices
    Cypress Semiconductor

      When someone says USB Microcontroller, Cypress normally springs to everyoneís mind. No wonder when Cypress has an extensive range of USB Microcontrollers in both 1.5Mbps, 12Mbps and 480Mbps versions. They have acquired AnchorChips and it's EzUSB range and last year also acquired ScanLogic which has helped to prop up their range of USB controllers.

      This range starts with the Cypress M8 Series which is predominantly low speed 1.5Mbps controllers for low speed devices such as mice and keyboards. They have added two full speed devices to the M8 range, the CY7C64013 and the CY7C64113. More recently they have added a enCoRe range to their books.

        CY7C63001

        • 8 Bit RISC Core Harvard Architecture
        • 6 MHz External Clock / 12 MHz Internal
        • 128 bytes of RAM
        • 2K bytes of EPROM (CY7C63000A)
        • 4K bytes of EPROM (CY7C63001A)
        • I/O Pins have sink current controls (Isink) 4 Bits 16 Levels (Neat!).
        • Low Speed Device with 1 Control, 1 Generic Endpoint. (8 Byte FIFO)
        • 20-pin PDIP, 20-pin SOIC, 24-pin SOIC and 24-pin QSOP Packages

      Should you wish to extend to higher speed devices, Cypressís High Speed USB MCUís requires specialised programmers and development tools that come at great cost. Cypress is a good start, should your company desire to sink a bit of money for some nice toys.

    Cypress Semi's EzUSB Series

      Cypress Semiconductor brought out Anchor Chip's EzUSB Series. Anchor had taken initiative in the USB market with some smart features. One of these was it's Re-numeration(TM) which allows it's processor to operate without ROM, EPROM or FLASH. It does this by automatically enumerating without firmware as a "Default Anchor Device". This then allows you to download 8051 code to the processor, then renumerate with your newly downloaded code. This is not only a sought after feature during development, but can also be used in the field as a means of a re-configurable device or having the ability to download the code each time the device is used to ensure the firmware is up to date. Extending on this, EzUSB also has the ability to do enumeration in silicon, thus making your coding of the enumeration process a breeze.

        EZ-USB Family (AN21XX)

        • Renumeration(TM) allows dynamic programming of RAM.
        • USB Housekeeping functions including enumeration implemented in Silicon.
        • Full Speed 12Mbps Device
        • Enhanced 8051 core.
        • Available in 80 PQFP and 44 PQFP

      Cypress has enhanced the EzUSB series, bringing out the EZ-USB FX Series. (They have re-introduced the CY7C64xxx part number of course).

        EZ-USB FX Family (CY7C646xx)

        • Renumeration(TM) allows dynamic programming of RAM.
        • USB Housekeeping functions including enumeration implemented in Silicon.
        • Full Speed 12Mbps Device.
        • 32 Enpoints, 14 BULK/INT EP1..7, 16 ISO EP8.15
        • Four 64 Byte Slave FIFO either 8 or 16 Bits Wide. Transfer up to 96MBytes/s.
        • Two UARTS.
        • Three Timer/Counters.
        • Enhanced 8051 core.
        • Available in packages from 52 Pin PQFP to 128 Pin PQFP.


    USB I2C/IO Interface Board by DeVaSys


      Based on the popular Cypress AN2131QC Ez-USB Controller, the USB I2C/IO interface provides a 20 bit user-configurable digital I/O port, and an I2C interface. What makes this board unique over others is it's driver and firmware support.

      DeVaSys has done all the leg work in a bid you get you up and running fast. This includes the AN2131 firmware, a usbi2cio driver and a .DLL with Visual Basic and Visual C++ examples. This allows the ability to write usermode programs calling the .dll without the hassle of worrying about the firmware and device drivers. DeVaSys provides a well documented USB I2C/IO API Userís Guide in .pdf format. However as you progress in your USB development, you can write your own firmware and drivers treating the board as a normal AN2131.

      DeVaSys has released the USB-I2C/IO Rev-B at the same low cost but with additional features.

      A special thanks to Michael DeVault from DeVaSys Embedded Systems for sending out a USB I2C/IO Interface Board, USBLPT-PD11 USB development board (desktop version) and a USBLPT-PD11D, USB development board (dongle version) for evaluation.

      USB I2C/IO by DeVaSys


    USBSimm from J Gordon Electronic Design


      If you are just starting out in USB and wish to purchase a cheap development platform, then I would suggest looking no further than the USBSimm from J Gordon Electronic Design Inc. Based on a Cypress AN2132QC EzUSB Controller (8051), it has all the logic on board for USB, plus is expanded with 32k of External RAM (AN2132QC contains 8K internal), Serial EEPROM for storing the Vendor and Product ID, two serial ports, I2C amd 16+ I/O Lines. It fits into a SimmStick Socket and measures only 3.5 x 2 inches.

      If you are then looking for coding examples, try John Hyde's book USB by Example. He has some simple "button and lights" programs implementing the HID Class Drivers. If you are a linux developer on the other hand, try EzUSB2131 Loader for Linux for a renumeration driver for linux.

      A special thanks to Rob Severson from J Gorden Electronic Design Inc for sending a USBSimm my way to play with.

      Picture of the USBSimm


    Microchip

      Microchip has been late to enter the market with their USB Microcontrollers. Based on their popular PIC16x series devices, these USB controllers use traditional windowed devices for development rather than Flash which is common among the newer PIC Micro's. Being a low speed device, you would have to look closely at their feasibility as they don't support Bulk nor Isochronous transfers and they are UV Erasable instead of Flash. However these devices are very easy to purchase with both RS and Farnell selling them in one off quantities. Given the success of Microchip's 16F877/876 series complete with ICD (In-CIrcuit Debugger) it's possible that a PDIUSBD11 or 12 hanging off ports make it an better option for the time being.

        PIC16C745

        • 8k Program Memory
        • Low Speed 1Mbps USB Device with 6 Endpoints
        • Five 8 Bit ADC Channels
        • Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI)
        • 28 Pin UV erasable CERDIP / One Time Programmable Plastic

        PIC16C765

        • 8k Program Memory
        • Low Speed 1Mbps USB Device with 6 Endpoints
        • Eight 8 Bit ADC Channels
        • Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI)
        • 40 Pin UV erasable CERDIP / One Time Programmable Plastic

      Microchip have released details of their future products which is sure to keep any Microchip follower happy. They are full speed flash devices with support for the In-Circuit Debugger. While that may be enough to win the hearts of some, I like the 18Fxxx architecture which means linear program and data memory. Yes, no more paging!.

        PIC18F2X50

        • Full Speed USB1.1 Device with 16 endpoints and a 512 byte dual port buffer
        • Up to 12 MIPs operation. PLL Generates clock from 12MHz Crystal.
        • 5 Channel 10-bit Analog-to-Digital Converter
        • PIC18F2450 16Kbyte Program Memory, 1kbyte Data Memory
        • PIC18F2550 32Kbyte Program Memory, 1kbyte Data Memory
        • Linear program memory addressing and Linear data memory addressing
        • Pinout compatible with PIC16C745 (USB)
        • Synchronous Serial Port with SPIô Master mode and I2Cô Master/Slave mode
        • In-Circuit Debug (ICD) via two pins
        • 28 pin PDIP, SOIC, SSOP

        PIC18F4X50

        • Full Speed USB1.1 Device with 16 endpoints and a 512 byte dual port buffer
        • Up to 12 MIPs operation. PLL Generates clock from 12MHz Crystal.
        • 8 Channel 10-bit Analog-to-Digital Converter
        • PIC18F4450 16Kbyte Program Memory, 1kbyte Data Memory
        • PIC18F4550 32Kbyte Program Memory, 1kbyte Data Memory
        • Linear program memory addressing and Linear data memory addressing
        • Pinout compatible with PIC16C765 (USB)
        • Synchronous Serial Port with SPIô Master mode and I2Cô Master/Slave mode
        • In-Circuit Debug (ICD) via two pins
        • 40 pin PDIP, SOIC, SSOP


    NetChip Technology, Inc

      NetChip provides two USB 1.1 peripheral controllers as well as a function specific NET1031 Single Chip USB Scanner Controller and a NET1080 TurboConnect Single Chip Host to Host Device.

        NET2888 TurboUSB Full Speed Programmable Peripheral Controller

          TurboUSB is one of NetChip's first USB controllers which has been shipping in production volume since April 1997.

          • USB 1.0 / 1.1 Compliant.
          • Control Endpoint + 4 Fixed Endpoints
            • EP1 - 8 Byte BULK OUT
            • EP2 - 8 Byte INT IN
            • EP1 - 64 Byte BULK/ISO OUT
            • EP1 - 64 Byte BULK/ISO IN
          • CPU and DMA Transfers.
          • 3.3V Operating Voltage, 48 MHz Clock.
          • 48 TQFP Package.


        NET2890 FlexUSB Full Speed Programmable Peripheral Controller

          An upgrade path to the TurboUSB NET2888 is the pin to pin compatable NET2890 Peripheral Controller. It provides 4 configurable endpoints with the performance of both CPU and DMA transfers.

          • USB 1.1 Compliant.
          • Control Endpoint + 4 Configurable Endpoints with 128 byte FIFO each.
          • CPU and DMA Transfers.
          • Auto Retry of Failed Packets.
          • 3.3V Device with 5V Tolerant I/O, 48 MHz Clock.
          • 48 TQFP Package. Pin Compatible with NET2888.


    Motorola

      Motorola has had since 1997, the 68HC705JB2, a 20 pin Low Speed USB MCU based on their popular HC05 Core. However since late 1997, Iíve been trying to source them. . . . Some distributors have a small quantity (5-10) of the OTP parts, but this is not much good if you canít source a windowed device for development. Too bad they are Obsolete now. I may try for some 68HC705JB3 / JB4's now . . .

        68HC705JB2 Obsolete / Discontinued

        • Based on Popular HC05 Core
        • 2048 Bytes User ROM
        • 128 Bytes User RAM
        • Low Speed 1.5Mbps
        • 1 Control (8 Byte FIFO), 2 Interrupt Endpoints
        • 20 Pin PDIP, 20 Pin SOIC Packages

      Motorola have just recently extended their MCU range to include a JB3 & JB4. These are again low speed devices coming in a 20 or 28 pin package. These are prequalified parts and Motorola should start production of these ICís any day now. (April/May 1999).

        68HC705JB3

        • Based on Popular HC05 Core
        • 2560 Bytes User ROM
        • 144 Bytes RAM
        • Low Speed 1.5Mbps
        • 1 Control, 2 Interrupt Endpoints
        • 20 Pin or 28 Pin PDIP or SOIC Packages

        68HC705JB4

        • Based on Popular HC05 Core
        • 3584 Bytes ROM
        • 176 Bytes RAM
        • Low Speed 1.5Mbps
        • 1 Control, 2 Interrupt Endpoints
        • 6 Channel, 8 Bit Analog to Digital Converter
        • 28 Pin PDIP, 28 Pin SOIC Package

    Philips Semiconductor

      Philips has a nice alternative - A add on full speed USB Device. The problem with low speed USB Devices, is the restriction of transfer modes. A full speed device can use Isochronous, Control, Interrupt or Bulk transfer modes. A low speed device is restricted to Control & Interrupt Modes. Therefore by Philip's making their Serial USB Device Full Speed, even though the I2C interface is limited to 1Mbps, the designer has the added flexibility of most transfer modes (except Isochronous on the PDIUSBD11).

      Other added advantages are - why waste time learning a new architecture? With the USB Interface I.C.ís you can use your existing designs, existing code and existing development tools. All you need to do is modify the design to hang the USB Device of the bus. What could be cheaper?

      There are disadvantages to these devices, namely board real estate. You wouldnít make a USB Mouse with these chips. However both come in surface mount devices giving a very small footprint. They are also not intended for self powered devices.

      Iím finding the Philip's I.C.ís difficult to source. Some of these manufacturers should look at Maximís Small Credit Card Order Facilities. On other thoughts, maybe we should encourage Maxim to make a USB Serial Interface Engine! (23/05/2002 - Maxim has introduced a future product, the MAX3340E/MAX3341E ESD Protected USB Level Translators.)

      Philips also has a USB Transceiver Chip, the PDIUSBP11. This I.C. will convert USB into a Digital CMOS Serial stream. Couple this with a FPGA or CPLD and write your own Serial Interface Engine.

        PDIUSBP11 - Universal Serial Bus transceiver

        • Supports 12Mbit/s Full Speed and 1.5Mbit/s Low Speed Serial Data Transmission
        • Use with 5v or 3.3v Logic
        • 14-pin plastic SO, SSOP, TSSOP Packages


    USBLPT-PD11 USB development board by DeVaSys (Highly Recommended)


      The USBLPT-PD11 consists of a Philips PDIUSBD11 connected to the Parallel Port. It allows USB firmware to be developed and tested on a PC with the PC's ease of recompiling code and rich debugging methods such as printf statements or enumeration logs. By changing a header file or two, you can recompile the code ready for programming into your embedded system.

      The ease of use makes it ideal for anyone starting out, or wanting to learn about USB. John Hyde has put together a paper "Learning USB by Doing" featuring the dongle version of this development board. With the dongle version only $59 US it makes it a ideal platform for starting USB.

      The USBLPT-PD11 also comes in extremely handy when developing device drivers. Perhaps your hardware guys can't get their act together and provide you with a prototype so you can start writing the driver. With the boss breathing down your neck, you can start your driver development by simulating the hardware. It also allows you to simulate errors for testing, something that may be awkward to do by constantly burning new firmware.

      USBLPT-PD11 by DeVaSys

      A special thanks to Michael DeVault from DeVaSys Embedded Systems for sending out a USB I2C/IO Interface Board, USBLPT-PD11 USB development board (desktop version) and a USBLPT-PD11D, USB development board (dongle version) for evaluation.


    HID Compliant Mouse Kit using PDIUSBD12


      USBDeveloper.com's PDIUSBD12 Board

      USBDeveloper.com has a $59US PDIUSBD12 development board which connects to the Parallel Port. With the same principal than the DevaSys board above, the board allows firmware to be developed on the PC in a rich debugging environment (lots of printf's) frequently not available with many microcontroller IDEs. When your code is perfected, it then can be ported to your desired microcontroller. USBDeveloper provides sample source code to mimic a HID Mouse, but the board can be used for a range of applications, not just HID. Buy Now. $59 USD


    Philips Semiconductor: On-The-Go

      Philips have released the ISP1161 - the world's first single-chip, integrated host and device controller conforming to the USB Revision 1.1. It has been used by Philips to demonstrate USB OTG functionallity, but also makes an excellent host controller for embedded systems such as Linux. See our write-up of the On-The-Go Supplement - Point-to-Point Connectivity for USB and further details of this device.

        ISP1161 Full-speed Universal Serial Bus single-chip host and device controller.

        • Combines a USB Host Controller and USB Device Controller in a single chip.
        • Can function as a USB Host only, USB Device Only or both simultaneously.
        • Selectable one or two downstream ports for HC and one upstream port for DC.
        • Supports single-cycle burst mode and multiple-cycle burst mode DMA operations.
        • Built in separate FIFO buffer RAM for HC (4 kbytes) and DC (2462 bytes).
        • 6 MHz crystal oscillator with integrated PLL for low EMI.
        • USB device functionally simular to the ISP1181.
        • USB Host Controller registers compatible to OpenHCI although accessed though two memory map locations.
        • Available in a LQFP64 package.

    FTDI Future Technology Devices International

      FTDI specialises in converting legacy peripherals to Universal Serial Bus. They offer two devices, one is a USB to asynchronous comms (RS-232) interface and the other a USB to byte wide FIFO. Due to their ease of use, they are not only useful for upgrading legacy designs but also for new designs. See our detailed article on these devices, USB with the simplicity of RS-232

        FT8U232AM - USB UltraBaud Transfer IC with RS-232/RS422 and CPU I/F Options

        • Asynchronous RS-232 from 300 bps to 920Kbps.
        • RS422/485 to 2000Kbps.
        • TXD, RXD, RTS, CTS, DTR, DSR, DCD, RI and TXDEN pins @ TTL Logic Levels.
        • 384 byte receive FIFO / 128 byte transmit FIFO.
        • Integrated 3.3V regulator.
        • Serial EEPROM interface for programmable VID/PID and strings.
        • 6 MHz Clock.
        • Sleep and USB Configured outputs - Suitable for Bus Powered and Self Powered Applications.
        • 32 pin MQFP Package.
        • No firmware to program. Device runs straight from the self.
        • Free Virtual Com Port drivers for Windows 98/ME, Windows 2000/XP, Linux and MAC.


        FT8U245AM - Fast Parallel Data Transfer IC

        • 8 bit Parallel Bus input/output
        • Data rates up to 1Mbytes/sec
        • D[0..7], RD/WR, RXF (receive buffer full), TXE (transmit buffer empty)
        • 384 byte transmit FIFO / 128 byte receive FIFO
        • Integrated 3.3V regulator
        • Serial EEPROM interface for programmable VID/PID and strings.
        • 6 MHz Clock
        • 32 pin MQFP Package
        • No firmware to program. Device runs straight from the self.
        • Free Virtual Com Port drivers for Windows 98/ME, Windows 2000/XP, Linux and MAC

        FT232BM and FT245BM 2nd Generation Devices

        FTDI is in the process of announcing their second generation of '232 and '245 chips which will begin sampling early in Q3, 2002 and cost about the same than the first generation. Their additional features include,

        • reduces external component count with Integrated Power On Reset and RCCLK circuitry
        • Improved power management control for USB bus powered and high current devices
        • Includes a USB Isocronous data transfer mode
        • Integrated level converter on UART for 5V and 3.3V logic
        • USB 1.1 and USB 2.0 compatible (Full Speed only)


      Add USB in 10 minutes!

      If you wish to try these FTDI devices out before committing them to your design, then you can get prebuilt prototyping modules from Elexol. These modules are available in both serial and parallel interface versions. This makes them an ideal USB add on solution for Microchip, AVR and other microprocessors. The serial version gives you the flexibility of adding it to your existing asynchronous comms port leaving the parallel I/O ports free or if you need speed, you can use the USBMOD2 with a parallel interface capable of 1Mbyte/sec. The 32-pin 600mil IC socket profile allows them to be plugged into phototyping boards with ease.


      USBMOD1 USB to TTL Serial Module.
      • Single module High-Speed USB UART solution
      • Based on FTDI FT8U232 High-Speed USB UART IC
      • 32-pin Dual In-Line Package (Ideal for prototyping)
      • Fits into a standard 32-pin 600mil IC Socket
      • Provision for external EEPROM for USB enumeration data
      • No external passive components required
      • Module powered from USB bus (up to 60mA from USB for user application)
      • Click here for PDF DataSheet


      USBMOD2 USB to 8bit Parallel Data Module
      • Single module High-Speed USB UART solution
      • Based on FTDI FT8U245 USB FIFO - Fast Parallel Data Transfer IC
      • Standard 32-pin Dual In-Line Type Package (Ideal for prototyping)
      • Fits directly into a standard 32-pin 600mil IC Socket or Breadboard.
      • On-board Crystal and All required Passive Components
      • Provision for external EEPROM for custom USB enumeration data
      • Module powered from USB bus with up to 50mA from USB for user hardware
      • Click here for PDF DataSheet

      A special thanks to Brenden Ede from Gigatechnology.com for sending out a USBMOD USB to TTL Serial and USBMOD2 USB to 8 bit Parallel Data module. They have been an invaluable addition to my toolbox. Not only is it much faster than prototyping with a MAX232 on prototyping board, it's also USB and works with both my Windows and Linux Platforms.

    Code Mercenaries IOWarrior

      The I/O Warrior from Code Mercenaries is a quick and easy way to add USB to your products without having to understand the USB specification or write custom firmware and device drivers. Two programmed devices are available, a 24 pin version and a larger 40 pin version, both enumerating as a common HID device. The unique feature of these devices is the built in support for various industry standard protocols such as I2C, SPI, HD44780 Alphanumeric LCDs, RC5 code IR remote controls, matrix scanning of keypads and driving of LEDs. The manual also comes with details on how to drive relays, LEDs and opto-isolating inputs and outputs.

      IOWarrior 24
      • USB 1.1/2.0 Low Speed Compatible Device. Full USB HID 1.1 compliance.
      • 16 general purpose I/O pins
      • Includes I2C Master Interface (750 bytes/sec throughput)
      • Supports SPI slave devices up to 2MBit/sec.
      • Supports HD44780 compatible LCD modules.
      • Includes Receiver for RC5 coded IR remote control.
      • Can drive LED matrix of 8x32 LEDs.
      • Software support for Mac, Linux, and Windows.
      • SDIP24 or SOIC24 Package

      IOWarrior 40
      • USB 1.1/2.0 Low Speed Compatible Device. Full USB HID 1.1 compliance.
      • 32 general purpose I/O pins
      • Supports HD44780 compatible LCD modules.
      • Can read a key or switch matrix of 8x8 size.
      • Can drive LED matrix of 8x32 LEDs.
      • Software support for Mac, Linux, and Windows.
      • DIP40 or SSOP48 Package

      I/O Warriors can be purchased in I.C. form for quick integration into your designs. Code Mercenaries also has two development boards for quick evaluation and phototyping.

    USBMicro - U401 USB I/O Interface

      The U401 is a simple USB I/O Digital Interface which is SimmStick(TM) Compatible. It provides 16 I/O lines which can be individually set as inputs or outputs. It can be used as a interface to SPI devices with an adjustable clock rate of 62.5 kHz, 500 kHz, 1 MHz, or 2 MHz, or it can be used with LCD panels and a whole host of other uses. What more, there is no firmware or any device drivers to write and debug. This allows the U401 to be effortlessly used as an simple PC interface in the minimal time. The USBmicro Online Development Notebook gives details of the API.



    National Semiconductor

      National Semiconductor has the USBN960x series of USB devices which can be connected up to your micro, just like the Philip's devices could. This gives you the ability to make your existing microcontrollers talk USB without the need for a new set of development tools or training in a new architecture. NatSemi has combined both a serial and parallel interface version into the one I.C., which makes sense when it comes to needing to stock only the one I.C. for all your USB projects.

      National Semiconductor's devices are normally easier to obtain than Philips parts and the datasheets are well written, making this option more attractive if you are having trouble either sourcing Philipís ICs or interpreting their datasheets.

        USBN9603/USBN9604 Full Speed Node Controller with Enhanced DMA Support

        • Parallel or Serial Microwire/Plus Interface
        • 8 Bit Parallel Interface - multiplexed or non-multiplexed operation with nCS, nRD, nWR, INTR, nDACK and DRQ control.
        • Low EMI, 24 MHz Oscillator
        • Built in 3.3V Regulator (5V or 3.3V operation)
        • One Bidirectional Control Endpoint 0 (8 bytes) Three Transmit Endpoints (64 bytes each) Three Receive Endpoints (64 bytes each)
        • USBN9604 - Clock generation reset by nReset - Suited for bus powered designs using CLKOUT
        • USBN9603 - Clock generation not reset by nReset - Suited for self powered designs using CLKOUT
        • Available in a 28-pin SO or 28-pin CSP Package

      They also have an older USBN9602. The biggest problem with this part was itís 48MHz Oscillator. The Philip's devices at the time used a PLL to generate the 48MHz internal Clock. The result, a cheap 6 or 12Mhz Crystal could be used helping with the EMC compliance. This part is no longer recommended for new designs.

        USBN9602 USB Full Speed USB Device

        • 8 Bit Parallel / Microwire Plus
        • 48 MHz Oscillator Circuit
        • One Bidirectional Control Endpoint 0 (8 bytes) Three Transmit Endpoints (2*32 and 1*64 bytes) Three Receive Endpoints (2*32 and 1*64 bytes)
        • 28-pin SO package



    USB 2.0 Integrated Circuits


    USB Protocol Analysers


    Additional USB Resources





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