HOME   -   PRODUCTS    -   SERVICES    -   FAQ    -   NEWS    -   CONTACT

Architecture Description - USB Core

The Belcarra USBOTG ssystem, unlike others, has a highly optimized and centralized management subsystem, which has been tested across a wide variety of architectures. There are three main parts of this subsystem: USB Function API, OTG subsystem, and OS abstraction.

USB Function API

The USB Function API offers USB management services for the basic case of a USB peripheral. This includes a sophisticated and complete system for managing a variety of functions, activating particular functions either by default or by administrative action. As mentioned above, it has separate support for managing composite and interface functions. The latter are never directly visible to the host, but instead groups of instances of interface functions are assembled by a composite function and presented to the host.

OTG Management API

When a device needs support for SRP and HNS as described in the OTG Supplement, USB works differently. There are A-device and B-device state machines mandated by the standard, of which Belcarra supports an extension. The state machines in the standard are somewhat complex but incomplete and require elaboration. Unlike basic peripheral operation, SRP and HNS require availability of a good high-resolution timer.

OS Abstraction

Although Belcarra presents its customers with a Linux implementation of its stack for deployment, this code is wholly owned by Belcarra (some portions jointly with hardware vendors), and the code is carefully created to concentrate OS dependence to particular files, making it relatively simple to adapt to another OS, and this activity does not incur GPL issues.

BELCARRA NEWS

Copyright 2003-2007 Belcarra Technologies Corp. info@belcarra.com