Product Details
USB Complete: Everything You Need to Develop Custom USB Peripherals (Complete Guides series)

USB Complete: Everything You Need to Develop Custom USB Peripherals (Complete Guides series)
By Jan Axelson

Price:

This item is not available for purchase from this store.
Click here to go to Amazon to see other purchasing options.


25 new or used available from $27.00

Average customer review:

Product Description

Now in its third edition, this developer's guide to the Universal Serial Bus (USB) interface covers all aspects of project development, including device programming and host application software. This book shows how to transform the information in the USB 3.0 specifications into functioning devices and application software that communicates with the devices. To help build a foundation for design decisions, developers are guided in selecting device-controller hardware. Developers will also learn the benefits of the USB interface, its limitations, and how certain design choices made at the beginning of the project can reduce development time. Recent developments in host and device hardware, more detail on the standard USB classes, application examples using Microsoft's .NET Framework, and information on developing dual-role devices using USB On-The-Go is provided in detail.


Product Details

  • Amazon Sales Rank: #283137 in Books
  • Published on: 2005-08-01
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 572 pages

Editorial Reviews

Review
...a seminal book on the subject. -- PC Magazine

A great job of presenting the difficult topic of USB peripheral development -- enterprise-zone.com

Axelson has done it again. If you want to add USB to your repertoire, this is the book for you. -- Joseph J. Carr, Nuts & Volts, April 2000

The author has a flair for taking complicated information and making it readable, interesting, and informative. -- Test & Measurement World

This is a readable and comprehensive book that covers all aspects of actually building and coding USB devices. Jan's description of building a HID-class peripheral is the best around. -- Jack Ganssle,Embedded Systems Programming, March 2000

From the Author
A few words about USB developing...

USB is very different from earlier PC interfaces such as the serial (COM) and parallel ports. On attaching to a PC, a device must respond to a series of requests that enable the PC to learn about the device. So every USB device must contain an intelligent controller that knows how to respond to the requests. You can't just connect generic I/O pins to the cable as you can with a parallel port. In the host PC, every device must have a device driver to manage communications between applications and the system’s USB drivers. Applications must communicate with the driver. They can't access a generic port as they can with serial and parallel ports.

For many devices, complying with the standard for the human interface device (HID) class can simplify development. All Windows editions from Windows 98 on support HID communications. This means that you don't have to provide (and ask users to install) a device driver for the PC. The HID class includes standard peripherals such as keyboards and mice, but HIDs are suitable for other uses as well, including instrumentation, robotics, motor control, and data acquisition.

The example HID device firmware in USB Complete is for the Cypress enCoRe series of USB controllers. If you prefer a different controller, my web site has additional examples that are compatible with the host software in the book.

I hope you find the book useful. I welcome any comments you may have.

Jan Axelson

About the Author

Jan Axelson is the author of six books, including Embedded Ethernet and Internet Complete, Serial Port Complete, and Parallel Port Complete. Her articles have appeared in Embedded Systems Programming, EDN, Circuit Cellar, Nuts & Volts, and Popular Electronics. She lives in Madison, Wisconsin.


Customer Reviews

A rare combination: easy to read, complete, and accurate5
I teach a USB class, so I've had occasion to review every book on the subject. I've chosen Jan's book for my class text because it is, by a wide margin, the best single book on the Universal Serial Bus I've seen. Jan has the unique talent of talking directly to the user in a very friendly, clear, and easy to read style, while losing absolutely nothing in scope or detail. The chapter on how to coerce Visual Basic into making the Windows API calls necessary to support the USB HID class got me over major hurdles while preparing lecture materials. Instead of the usual kitchen sink approach, Jan zeros in on exactly what you need to know to do the job and covers it completely. And her examples actually work!

If you're looking for a book that spans basic USB principles to advanced topics, all clearly explained, you can't go wrong with this book.

Indirect & Realiant on 3rd party products.3
I purchased this book with the intention of learning how to communicate with USB peripherals from the PC perspective. What I later found after reading this book is that the author is heavily reliant upon 3rd party products to do the work, which simply means you'll need to pay more money for evaluation modules, and more software rather than being able to make the end product yourself. For someone who is at the hobbiest level, this book would be great perhapse, but the ultimate problem is it lets others do the work which IMO defeats the purpose of a book. If I am going to use 3rd party tools, I'll read their documentation-- not pay for a book to tell me what else I need to use.

On another note, this book is an EXCELLENT reference book when you need a little refresher about other things, but you can also find this info online

Excellent for hardware, firmware, and software developers5
With the help of this book, I went from knowing virtually nothing about USB to having a device programmed and communicating with a PC. The book covers everything from what's important to know in the USB specification, to selecting a controller chip for a device, to writing the device firmware and application programs to communicate with the device. About the only area not covered is how to write a Windows device driver (this is probably a book-length topic in itself), but Jan explains why this is often not necessary and describes tools that make the job easier when needed. Highly recommended