
USB Design by Example
A Practical Guide to Building IO Devices
Résumé
USB (Universal Serial Bus) is a new peripheral interconnect standard that was developed through a cooperative computer industry initiative and now appears on all personal computers, desktop and laptop, shipped today. The list of features of USB is long and impressive but when you try to discover HOW "hot-plug" or "automatic device recognition and configuration" is implemented you discover that you have to read and understand the USB specification - not an easy task.
"USB Design by Example" is a unique guide that goes beyond all the USB specification overviews to provide you with the expert knowledge and skills you need to design and program USB devices-pronto. Written for developers on the go, it is organized around a series of fully documented, real-world examples, and is formatted to serve as both a step-by-step manual for creating specific devices, and a complete reference to understanding and using the USB.
The focus of the book is the design of low- to medium-speed IO devices for a PC platform: the Windows operating system includes all of the software drivers required for these "Human Interface Devices" so only application level software needs to be developed.
A wide range of complete working solutions is presented with full source code included on a companion CDROM. These examples range from simple "buttons and lights", through motor and lighting control, thermometers and audio examples, up to a TV-tuner peripheral. The PC Host software examples are written in Visual Basic and all of the IO device firmware examples are written in MCS 51 Assembler code. Development tools to edit and customize the MCS-51 code for your specific application are also included.
In addition, "USB Design by Example":
- Provides fully documented examples complete with schematics, code, prototypes, and more
- Describes major vendor solutions and shows you how to pick the ones best suited to your project's needs
- Explains how to connect both traditional and new devices, including MPEG-2, video-based, and computer-telephony products
- Covers a wide range of everyday devices, such as lights, switches, motors, thermostats, and speakers
Connecting IO Devices to a Modern PC IS
EASY
One of the major things that I have learnt during my 21
years at Intel is to provide working examples for people to
build from. I have always been responsible, in some way,
for delivering technical ?how-to? documentation or
technical product training and Intel?s recent ?Intel
University Press? program gave me the opportunity to return
to my favorite product line of microcontrollers. The
excitement around USB and the scarcity of practical design
information for a system solution produced the momentum for
this book.
Throughout the project I was convinced that adding low- to medium-speed IO devices to a PC Host ought to be easy. I was fortunate to have a wealth of experts that I could talk to and each knew a piece of the puzzle. After distilling their inputs and the mass of USB literature from Intel, Microsoft and many USB component vendors, I did discover a simple path to success and I have carefully documented this in my book.
My choice of a HID (Human Interface Device) approach may appear over-complicated as a first impression but it does produce the simplest solution in the long run since all of the required software drivers are already built into the operating system (yes, they are well hidden, but they are there!). Only application level software need be written for the PC Host (no complicated drivers, DLL?s or other magic) and I chose Visual Basic since this made the example programs short and easy to understand.
Almost any of the available USB peripheral microcontrollers could be used for the IO device implementation ? a typical HID does not stress the capabilities of a modern microcontroller. For most of the examples I chose the AnchorChips EZ-USB device because of it?s soft-load capability and it?s abundant USB resources. The source code is provided on the companion CDROM and may be ported to another microcontroller if required.
I am most interested in your feedback on the book and it?s examples. I am planning another USB book and would prefer to solve real design problems ? let me know what your?s is and I may include the solution in my next book! I hope that you enjoy this book and that it makes you more productive.
Table of contents Chapter 1: Adding I/O Devices to a Modern PC
- Hands-on examples
- How much technical background do you need?
- Focus of this book
- The modern PC: a short history
- USB terminology
- Impact of USB on PC host
- Chapter summary
- Differential signaling
- The fundamental packet
- Different packet types
- Building a transaction
- PC host requests
- Error handling
- Differences for a low-speed device
- Viewing the USB packet bus
- Chapter Summary
- Device detection
- Enumeration steps
- Device descriptor
- Choosing a device driver
- Defining an HID device
- I/O device's point of view
- Minimum I/O device
- Complex I/O device
- Chapter Summary
- Visual Basic review
- Example 1: USB device display
- Example 2: HID display
- Exchanging data with an HID device
- Chapter Summary
- The development environment
- Target implementations
- Software development tools
- USB-specific tools
- Chapter summary
- Example 1: Simple design, integrated USB port
- Example 2: Simple design, external USB port
- Example 3: Adding more ports, microcontroller-independent
- Example 4: Adding lots more ports, microcontroller-independent
- Chapter summary
- IN and OUT are special
- Building an ISA card
- Plug and Play ISA
- Migration from ISA
- Our custom I/O example
- Chapter summary
- Design of a USB-to-RS-232 bridge
- Design of a serial communications peripheral
- Parallel device examples
- Other bridges
- Barcode scanner example
- Chapter summary
- The I2C interface
- Thermometer applications
- Infrared subsytems
- Infrared subsytems summary
- Chapter summary
- Output signal conditioning
- Controlling a motor
- Controlling a LINE-powered device
- Real-world analog signals
- Data acquisition and instrumentation
- Chapter summary
- Creating digital sound
- MIDI protocol
- USB's support for sound
- The telephone connection
- Chapter summary
- Sizing video data
- Range of video solutions
- USB-enabled video applications
- Chapter summary
- The basic hub
- Building a compound device
- Design example
- Chapter summary
- Overview of Design example
- Chapter Summary
- The plain old telephone service (POTS)
- A new look at cable coax
- Cable networking example
- Digital broadcast and the PC
- Chapter summary
Index
L'auteur - Intel Hyde
Author JOHN HYDE is a 22-year veteran of Intel, where he has held various technical, marketing, and evangelist roles, and participated in creating and delivering technical materials, such as application notes, manuals, and product demonstrations.
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Wiley |
Auteur(s) | Intel Hyde |
Parution | 10/08/1999 |
Nb. de pages | 368 |
Format | 19 x 23,5 |
Couverture | Broché |
Poids | 700g |
Intérieur | Noir et Blanc |
EAN13 | 9780471370482 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse