Motorola USB08 User Manual

Page 79

Advertising
background image

Universal Serial Bus (USB) Interface

Windows Device Driver

USB08 Evaluation Board

Designer Reference Manual

MOTOROLA

Universal Serial Bus (USB) Interface

79

file and the driver file are specified. The Windows Hardware Assistant
copies these two files into the appropriate Windows directory and
updates the driver data base as necessary. Then, during the following
"Plug Event," the Windows operating system finds the driver
immediately in this data base.

With the help of Microsoft SDK it would be possible for a USB device
manufacturer to develop the necessary kernel mode drivers for
themselves. However, this kind of programming task requires a deep
knowledge of the structure and working principles of the Windows driver
modules. For those engineers, who occasionally do some programming
work on a PC, it is urgently recommended not to try such a task.

A possible workaround could be the operation of the USB device using
a Windows standard driver for human interface devices (HID). The
device class HID summarizes PC input devices, for example, a keyboard
attached to the PC. It is possible to camouflage the measuring data as
an HID input packet and tunnel through the HID driver. The advantage
of this approach is that a kernel mode driver doesn’t have to be
developed. Instead you can program your own PC application on top of
the existing operating system driver.

However, there are two major disadvantages of the HID method. They
are:

1. First, the complexity of the USB handling increases, particularly on

the firmware side. There are additional procedures, protocols, and
descriptors to implement. Definitions of these additions are not a
part of the original USB specification, but are in an HID
specification, which can be loaded from the USB Web site:

http://www.usb.org

2. Secondly and by far more devastating, is the circumstance that

half a dozen implementation variants exist. With each version of
Windows and each new service pack or release, the user risks that
some details of the USB drivers have changed. In this case, the
expenses for testing may be quite high.

Advertising