[Robotgroup] More USB info
Glenn Currie
kd5mfw at texas.net
Sat Jun 2 12:53:13 PDT 2007
Newer PCs have some support for Human Interface Devices (HIDs) in the BIOS.
This allows a system that only has a USB keyboard to configure the BIOS.
Before this support existed, your USB keyboard and mouse would not be
usable until the Operating System (windows, Linux, etc.) was running.
There are several classes of USB devices (See USB Complete by Jan
Axelson) with
the HID devices being simple, low data rate devices.
The support for USB HID devices native to the BIOS and OS, provides a
path for
developing USB peripherals without a special USB driver. Many USB devices
can be interfaced to a PC USB host, by telling the host that the
peripheral is a
HID device. There is considerable flexibility in the implementation of
HID devices.
Although initially intended for keyboards and mice, specialized
connection to
hosts, say from a robot controller, are possible. With the basic path
tied into
the OS, you then need to write your application code to deal with
whatever data
you want to send and receive. To do this the application essentially does a
file open, file write and file read to access the peripheral.
This HID interface works with later versions of Windows and Linux, I am
sure,
and is probably supported by other operating systems as well.
Google "Jan Axelson: on the net and check out the parallel port, serial
port and USB
books he has written.
For serious USB development, a USB analyzer is pretty much required, if
you want to
get your device working in less than a geologic time frame. Such
devices sit between
your host and slave USB device and will allow you to capture and display
the intricate
protocol required to support USB.
Cheers,
-Glenn
More information about the Robotgroup
mailing list