Function drivers may either be simple (non-composite), or part of the composite architecture. The composite architecture divides responsibility for a function among three types of drivers as follows.
Note that a single-function peripheral can quite conveniently use the composite architecture and generally Belcarra functions will be supplied in this way.
Composite functions are the management of the composite system. It is their responsibility to define a configuration of one or more interface drivers (see below). Composite drivers declare configurations, one of which may be activated either by being the default configuration or by administrative action (see usbadmin). Activated means made available to the host. If the host selects such as configuration, then USB resources (endpoints) are assigned to the component interface functions which perform all of the logical functions with the host after enumeration.
Class drivers are a response to the possibility implicit in the USB 2.0 standard for USB device requests to be directed to a USB device class. This would be required, for instance if several instances of a mass storage driver interface driver were collected in the current configuration, and the host found it necessary to affect the entire class of interface simultaneously. However, no operational need for this has so far been identified.
MSC Mass Storage Class is a USB function that allows a USB device to become accessible to a USB host to enable data transfer between the two. It provides an interface for a variety of storage types so that the device will appear to the host similar to an external drive,
An interface driver is the operational part of a simple function, abstracted in two different ways to facilitate composite architecture. First of, configuration information, such as the vendor and product ID values, are left to the managing composite driver. Secondly, the driver declares one or more interfaces that it wishes to use (which become consecutive interfaces of the composite configuration), each with one or more endpoint requests. Interface drivers register themselves with the core. A composite configuration can include one or more instances of this. At the time that a composite configuration is enabled (that is its enable method is called), interfaces and endpoints are allocated (if possible) from those available. Each interface instance, if it avoids global structures, and has proper interfaces with the surrounding OS, can operate fully independently. This independence has been achieved in practice with Belcarra\u2019s ACM (serial) and random mouse (a test driver that does not expose an upper level interface to the OS).
A major feature of BTC-USB compared to alternatives is a set of user-level utilities, together with appropriate interfaces (API\u2019s), which allow first of all control of the USB subsystem (enable, disable, change active function), and also debug new subsystems, either function or hardware layer.
usbadmin
usbadmin is a basic utility for administering the USB peripheral system. otgadmin is an extension which includes the OTG capability. The latter includes loading an appropriate firmware (subset of the OTG state machine appropriate to the situation).
Belcarra's Composite Device Framework is a comprehensive USB client driver and management system designed to give a device the flexibility to provide the USB host with precisely the function(s) necessary for a particular situation, in almost any combination.
Belcarra Technologies has been a leader in the evolution of USB and it’s use for connecting network peripherals of all types. As a pioneer in the provision of driver software both for smart peripherals as well as for the desktop operating systems that support them, Belcarra’s solutions enable devices to share data across the USB fabric as if they were connected to an otherwise normal TCP/IP network via Ethernet.
Popular Posts
-
Belcarra’s USB Device Framework, a comprehensive USB client driver and management system, allows for fast and efficient implementation of bo...
-
Overo Setup and Testing Overview This document is an overview of the setup for USB Device testing using Belcarra’s USB TestDrive Environme...
-
Basics A USB device presents various descriptors to the host in one or more configurations . If the first configuration matches an\ dr...
-
Belcarra's TestDrive environment for USB Networking protocols has been revisited using TI's PandaBoards. A full description: In...
-
The TestDrive scripts described here can be used to load the appropriate modules for all of the various network protocols and variants supp...
-
Belcarra’s implementation of Networking over USB for the Microchip PIC32 is a very low cost networking solution for PIC32 projects, eliminat...
-
Network Control Model Belcarra USB Composite Device Framework now supports Network Control Model a multi-frame protocol designed and develo...
-
Belcarra's Composite Device Framework allows an OMAP34xx embedded device to utilize multiple different types of USB Functions, composit...
-
Belcarra is pleased to announce Composite USB Client support is available for both Gumstix products Texas Instruments OMAP based Marvel...
-
Preparing a Micro-SD Memory Card for use with Gumstix COM This document describes how to partition, format, and copy files to a 4GB Micro-...