The Universal Serial Bus (USB) specification is a boon for users in that it makes the process of connecting peripherals to computers effortless, in most cases. As is often the case with user-friendliness, though, the cosmetic ease comes about as a result of behind-the-scenes complexity. USB Design by Example explains what USB means to hardware developers, taking an approach that combines academic elucidation of the official specification with some experimental setups. Though not everything a hardware developer could wish for, John Hyde's explanations represent a valuable supplement to the notably obtuse specification documents.
This book does a good job of explaining USB input/output from both the hardware and software perspectives. You'll find both driver code and pinout diagrams here. All the software information has to do with the IBM-compatible PC platform and the Windows 98 operating system, so Macintosh developers will have to look elsewhere. Some of Hyde's explanations of how various hardware companies solved USB problems--Symbol Technologies' use of a keyboard emulator for its barcode scanners, for example--are intriguing, but more information (in the form of circuit diagrams, preferably) would be better. The clear explanation of what happens when a new device is plugged into a live USB bus is very intriguing, though. Overall, peripheral developers will find this book useful, but not encyclopedic. --David Wall
Topics covered: Universal Serial Bus (USB) architecture, packet contents, device detection, drivers and run-time software, and bridging older connection specifications (RS-232, parallel, SCSI and I2C) to USB. --This text refers to an out of print or unavailable edition of this title.
This unique guide goes beyond all the Universal Serial Bus (USB) specification overviews to provide you with the expert knowledge and skills you need to design and implement USB I/O devices. It is organized around a series of fully documented, real-world examples, and is structured to serve as both a step-by-step guide for creating specific devices and a complete reference to USB. Design examples cover most USB classes (HID, communications, audio, mass-storage and hub) and provide insights into high-speed USB 2.0 devices, including a definition and a device driver for a vendor class, called blockio.
Intel insider John Hyde:
Provides examples, complete with schematics and source code, that gradually increase in complexity
Describes many vendor solutions and shows how to pick the ones best suited to your project needs
Explains how to design a vast array of devices, including data acquisition, audio, video and computer-telephony examples
DownloadUSB Design by Example - A Practical Guide to Building IO Dev