[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