User-agent: * Allow: /
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.

Function Drivers

      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 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).

Popular Posts