functions instead of COM-port programming. Some development boards
come with drivers that you can use to
access the controller on the board.
Other drivers, such as Tetradyne
Software, Inc.’s DriverX USB, are for
use with any controller chip.
If you’re switching to Windows
Vista, you can use the operating
system’s WinUSB driver. The driver
provides functions for accessing any
device that doesn’t use Windows
class drivers or isochronous transfers.
those who want a unique Product ID.
Some development boards that
come with a driver have a Vendor ID
and Product ID that you can use in
products that use the driver.
For many projects, one of the
approaches described here can
provide a way to add USB to a device
with minimal expense and hassle. For
more about USB developing, including links to the products mentioned in
this article plus free example device
firmware and host software, visit my
USB pages at www.Lvr.com. NV
Jan Axelson is author of the
books USB Complete and USB
The Vendor ID Dilemma
Every USB device must contain a
Vendor ID and Product ID (Listing 2).
The host requests these 16-bit values
from the device during enumeration
and uses the values to help in selecting a driver for the device.
The owner of the Vendor ID
assigns a Product ID to each product
released by the vendor. Every device
with the same Vendor ID/Product ID
pair should communicate in the same
way with the PC. If two devices with
different communication requirements
contain the same Vendor ID/Product
ID pair, one or both devices are likely
to fail to perform as intended.
The rights to use a Vendor ID cost
$1,500 from the USB Implementers
Forum ( usb.org). If you don’t have a
Vendor ID and your budget doesn’t
allow obtaining one, several options
Users of FTDI Chip’s controllers
can use the Vendor ID and Product ID
programmed into each controller.
Because the controllers handle the USB
communications entirely in hardware,
the controllers appear identical to the
host computer. The controllers may
connect to circuits that perform different functions, but the host PC doesn’t
have to know or care about anything
that happens beyond the USB interface.
Some chip manufacturers provide
free blocks of Product IDs for
customers. You can use the manufacturer’s Vendor ID and the provided
Product IDs in products that you
develop using the manufacturer’s
controllers. Microchip is one
manufacturer that offers Product IDs.
FTDI Chip also has this option for
April 2007 65