Mentor Graphics has introduced a Universal Serial Bus (USB) software stack to complement its line of On-The-Go (OTG) controllers. The Mentor Graphics Inventra Dual Role controllers support both the host and function capabilities of a device and the ability to swap those roles dynamically. The software stack has been tuned for small footprint and power efficiency. Target applications for USB OTG include digital cameras, PDAs and mobile phones.
The USB OTG software stack detects the connection of a function or a host device and switches automatically to the appropriate mode. For OTG-to-OTG connections, the stack supports the Host Negotiation Protocol, which allows the software to respond to requests for a role change and enables the device to switch between modes.
To comply with the USB standard, current software stacks need to support up to 127 function devices. Mentor Graphics has developed a scheduling algorithm that can distribute bandwidth among a limited set of connected devices, while reducing the footprint of the stack to a fraction of that typical of a re-purposed PC solution, according to the company. The USB OTG software stack allows the designer to limit the number of connected devices and supported endpoints to suit CPU performance and available memory.
The USB OTG software stack employs a Linux-like API that allows software developers familiar with Linux to build custom drivers for the stack. The stack's class loader enables both static and dynamic linking of drivers. Ever-present devices such as keyboards and mice can be permanently linked to the stack. Alternatively, functions that are regularly connected and disconnected, such as printers and PDAs, can be loaded dynamically as the physical connections change.
The Inventra USB OTG Software Stack is available now. The stack is licensed to customers in the same way Mentor licenses its IPcores. It is usually sold on a per-design basis with no royalties. Mentoroffers a reduced rate for re-use when an existing user of a core, or thestack, makes another design with it. Mentor also offer a multi-use buyoutwhere they can pre-pay for any number of uses of the stack.For software, unlike IP cores, Mentor also offer redistribution. In thissituation the customer gets the rights to sublicense the stack source codeto their customers.