USB Stacks
Embedded USB stacks from Logic Technology are mature, widely-used stacks that can support almost any desired USB configuration. The USB suite includes solutions not only for common functions like HID, Hub and Mass Storage but also for more sophisticated requirements including isochronous, composite devices, and interfaces to file systems and Ethernet. This means developers can exploit USB to its full capability easily, without having to worry about developing highly specialized drivers.
USB Host
Logic Technology’s USB Host stack is a scalable suite. It includes a suite of host class drivers that enables an embedded host to control a variety of USB devices including pen-drives, printers, audio devices, joysticks, virtual serial ports and network interfaces. The embedded USB host stack supports EHCI, OHCI, and non-standard USB host controllers.
USB Device
Logic Technology’s USB device stack allows developers to integrate USB device functionality into their embedded devices. It includes a suite of device class drivers that give the device many functional possibilities, including operating as a pen-drive, virtual serial port, joystick, audio system or a network card. HCC provides USB device controllers for many different microcontrollers.
Driver | Description | Host-class | Device-class |
---|---|---|---|
Audio | Enables device to act as microphone/speaker when connected to a USB host. | ✔ | ✔ |
Audio 2.0 | Enables USB Audio 2.0 device to act as microphone and/or speaker when connected to a USB host. | ✘ | ✔ |
CCID | Chip Card Interface Device (CCID) – connects ICCs to a computer through an interface device like a card reader. | ✔ | ✘ |
CP210x | Silicon Labs® CP2102, CP2103, CP2105 and CP2109 USB devices. | ✔ | ✘ |
CDC-ACM | Abstract Control Model subclass – connects legacy serial ports or modems over USB link to host. | ✔ | ✔ |
CDC-EEM | Ethernet Emulation Module – sends and receives Ethernet frames over USB. | ✘ | ✔ |
CDC-ECM | Ethernet Control Module subclass – sends and receives Ethernet frames over USB. | ✔ | ✘ |
CDC-NCM | Network Control Model – provides serial interface for connecting high-speed, next-generation mobile devices. | ✔ | ✘ |
RNDIS | Remote Network Driver Interface Standard – provides a virtual Ethernet link over USB. | ✔ | ✔ |
FTDI | Future Technology Devices International USB devices. | ✔ | ✘ |
HID | Human Interface Device (HID) devices: keyboards, mice, and generic devices (pointers, buttons, sliders, etc.) | ✔ | ✔ |
Hub | Controls USB hubs. | ✔ | ✘ |
LAN7500/LAN9500 | Microchip Technology Inc. LAN7500 and LAN9500 Ethernet Controllers. | ✔ | ✘ |
Mass Storage | Connects block storage devices over a USB link to a host. | ✔ | ✔ |
MIDI | Musical Instrument Digital Interface – controls musical devices connected to a host. | ✔ | ✘ |
MTP | Media Transfer Protocol – for music, media and picture transfer. | ✘ | ✔ |
Printer | Printers. | ✔ | ✔ |
Fujitsu FTP-6xx Printer | Fujitsu FTP-6xx printers. | ✔ | ✘ |
Raw or Vendor-specific | Supports Bulk and Interrupt, IN and OUT transfers. | ✔ | ✔ |
TEC Scanner | Emulates a Toshiba USB barcode scanner. | ✘ | ✔ |
Features
Each class driver has specific features but the common features are:
- Designed for integration with both RTOS and non-RTOS based systems.
- Interface speeds include Low (1.5Mbs), Full (12Mbs), and High Speed (480Mbps).
- Transfer types include Control, Interrupt, Bulk, and Isochronous.
- Supports multiple devices connected simultaneously.
- Uses a system of callbacks for user-specified events.