|
|
||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
| Belcarra Home >> Products | ||||||||||||||||||||||||||||||
|
|
USB Products
|
The Belcarra USB Device FrameworkUSB is a general purpose bus. USB device subsystems (UDC's) are integrated into many popular embedded processors. The detailed architectures of these UDC's vary considerably, in such matters as number and types of endpoints, DMA facilities, buffer architecture, etc.
Similarly, there are a variety of functions defined for USB, including various network protocols (RNDIS, CDC Ethernet, SAFE, etc.), some published and many not. Other functions defined by the USB Forum include Audio, Printer, and Human Interface Device (HID). In addition, the enumeration process is standardized for all functions. Therefore, to maximize code reuse for USB Device software, Belcarra has created a three-layer USB Device Framework.
GPL implementations of the core layer, bus interface modules for several architectures, and a network function module are available. These constitute a complete GPL target solution for several platforms. USB NetworkingAs noted above, there is no single best protocol to use to implement Ethernet-style networking over USB. Indeed, in addition to the variants listed above, Belcarra has created others which are suited to particular purposes. However, the Framework limits the impact of a particular choice of networking protocol. Consider for instance the particular function of networking. Some would identify USB networking with Microsoft RNDIS. Given a monolithic implementation of Microsoft RNDIS, two situations arise all the time.
These situations are all within the relatively narrow category of networking. The USB Forum has published a number of standards which specify how a USB device can implement some well known peripheral functions in a standard way, e.g. network card, audio card, printer. Accordingly:
The Belcarra USB Device Framework uses the following model:
This allows for proper separation of the Function portion of the USB Device (networking in this case) and the access to the specific Bus Interface hardware. Moreover maintenance of existing functions as well as implementing new functions is simplified and can be tested across a broad range of existing devices. |
||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| Home | USB Products | USB Software Services | FAQ | Contact | ||||||||||||||||||||||||||||||
| info@belcarra.com | ||||||||||||||||||||||||||||||
Copyright © 2005 Belcarra Technologies Corp.