Design of USB Composite Device and Host Driver Framework
Design of USB Composite Device and Host Driver Framework
Design of USB Composite Device and Host Driver Framework
Volume: 3 Issue: 5
ISSN: 2321-8169
2520 - 2523
_______________________________________________________________________________________________
Rajesh Sola
Abstract - The Universal Serial Bus (USB) has become a most popular communication interface among the personal computer
and embedded devices because of its ease of use, low cost, data bandwidth and availability in most computing systems. There are
many USB device are available of different USB class like bulk transfer, mass storage, USB CDC, USB HID and many other. All
the devices have their own specific device driver for communicating with the USB host system. In the USB device each USB
driver is communicate to each interface. So, this dissertation work is based on the implementation of the multifunctional firmware
to support the multiple interfaces through a USB driver. Here on the host side any embedded development board or a Linux PC
will be used and the USB driver will be develop to support the multiple interface. On the device side, any microcontroller board
that supports the USB device will be used. So, between the USB host and device the communication is done using the different
class like USB HID, bulk transfer, USB CDC, etc. At the end the outcome will be multifunctional USB firmware to support the
two or three functionality.
Keywords - USB, Composite device.
__________________________________________________*****_________________________________________________
I.
INTRODUCTION
_______________________________________________________________________________________
ISSN: 2321-8169
2520 - 2523
_______________________________________________________________________________________________
has one address on the bus but each interface has a different
function and specifies its own device driver on the host [6].
Composite device have two or more interface like audio,
video, mass storage or HID as an independent interface. The
USB particular characterizes a composite class device as a
device whose device-descriptor fields for device class and
device subclass both have the 0 value [6]. A case of a
composite class device is a multifunction device that performs
printing, scanning, and faxing. In a device like this, each
function is represented by a separate interface.
III.
B. Software Model
In BeagleBone Black I used the TI StarterWare non-OS Cbased platform to build the firmware of the composite USB
device. So that the BeagleBone Black can work as a composite
USB device when I attach this to the Linux PC.
For building host driver on Linux I use the C language and
a USB device driver framework in Linux. The user application
is also using the C.
Using the USB skeleton from Linux, we have developed
USB driver. USB framework is as shown in Fig. 3.
SYSTEM ARCHITECTURE
RESULTS
_______________________________________________________________________________________
ISSN: 2321-8169
2520 - 2523
_______________________________________________________________________________________________
A. Device Side Communication
Fig. 5 shows the communication between Device and the
host are done. Here I controlled a GPIO of the BeagleBone
Black that is inbuilt LED over USB.
CONCLUSION
I can conclude that the system of the USB host driver and
the Composite device with the multiple interfaces can be done.
For the composite device bulk transfer, CDC and mass storage
USB profiles are use in the implementation of the USB device.
But here I used only the bulk transfer and CDC for the
composite device. Hence the USB host drivers have to build for
the support that composite device to communicate with the
device. Firmware for the specific embedded board has to build
to support multiple functionalities as a composite device.
BeagleBone Black is working as composite device and we can
control its GPIO and other functionality from the host side
through user application.
[1]
[2]
2522
IJRITCC | May 2015, Available @ http://www.ijritcc.org
_______________________________________________________________________________________
ISSN: 2321-8169
2520 - 2523
_______________________________________________________________________________________________
[3]
[4]
[5]
[6]
[7]
[8]
2523
IJRITCC | May 2015, Available @ http://www.ijritcc.org
_______________________________________________________________________________________