We offer embedded USB stacks that can be used to realize any desired USB configuration. The USB stacks include solutions not only for common functions like HID, Hub and Mass Storage but also for more sophisticated requirements. This means developers can exploit USB to its full capability with ease without having to worry about developing highly specialized drivers. The USB stacks comprehensively supports all USB endpoint transfer types and interface speeds including Low (1.5Mbs), Full (12Mbs) and High Speed (480Mbps). Transfer types include control, interrupt, bulk, and isochronous, providing the base for the widest possible range of class drivers. We offer the following USB Stacks:
With the USB Host stack an embedded host can control a variety of USB devices including, pen-drives (USB flash drive), printers, audio devices, joysticks, virtual serial ports and network interfaces. Support for EHCI, OHCI and non-standard USB controllers is available.
The USB Device stack integrates USB device functionality into an embedded device. A comprehensive selection of class drivers is available that allows many functional possibilities such as operating as USB flash drive.
The OTG functionality is a simple switch between the USB host and device stacks, determined by the state of the ID pin. In simple case an OTG software stack is not required. This can be simply configured in the USB host and device stacks. For more advanced requirements a full software OTG stack is available that supports the Session Request Protocol (SRP) and Host Negotiation Protocol (HNP) for negotiating between two connected devices in order to decide which one shall operate as the host. This software is complex and specific to the particular OTG IP used in the USB controller.
This solution allows sharing of a single high speed bus by many peripheral types, connecting TCP/IP networks over USB interfaces either as local or remote network adapters. This is achieved by a large range of CDC (Communication Device Classes).