This book is for developers who are involved with designing or programming devices that use the Universal Serial Bus (USB) interface. If you are a hardware designer, if you write firmware that resides inside USB devices, or if you write applications that communicate with devices, this book is for you.

USB is versatile enough to serve a multitude of device functions. Familiar USB peripherals include mice, keyboards, drives, printers, speakers, and cameras. USB is also suitable for data-acquisition units, control systems, and other devices with specialized functions, including one-of-a-kind designs. The right choices of device hardware, software drivers and development tools and techniques can ease the path to designing devices that perform their functions without error or user aggravation.

usb-complete

Introduction
1. USB Basics
2. Inside USB Transfers
3. A Transfer Type for Every Purpose
4. Enumeration: How the Host Learns about Devices
5. Control Transfers: Structured Requests for Critical Data
6. Chip Choices
7. Device Classes
8. How the Host Communicates
9. Matching a Driver to a Device
10. Detecting Devices
11. Human Interface Devices: Using Control and Interrupt Transfers
12. Human Interface Devices: Reports
13. Human Interface Devices: Host Application
14. Using WinUSB for Vendor-Defined Functions
15. All About Hubs
16. Managing Power
17. Testing and Debugging
18. Packets on the Bus
19. The Electrical and Mechanical Interface
20. Hosts for Embedded Systems
Index

What’s New in the Fourth Edition

The core of USB has remained much the same since the release of USB 1.0 in 1996. But the interface has expanded to support faster bus speeds, improved power management, more device classes, wireless communications, dual-role devices (device and host), and more. Plus, new and improved chips and development tools have eased the task of developing devices and software to access them.

This edition is revised and updated throughout. All new in the Fourth Edition is an introduction to USB 3.0 and the SuperSpeed bus. You’ll also learn how to use Microsoft’s WinUSB driver to access devices that perform vendor-specific functions. Topics with major updates include device-controller chips, technologies for wireless USB communications, protocols for conserving power, and USB device classes.

I provide example code for applications in both Visual Basic and Visual C#. For device firmware, I discuss using both microengineering Labs’ PICBASIC PRO and Microchip Technology’s MPLAB C compiler.

https://i2.wp.com/nvtienanh.com/wp-content/uploads/USB-Complete.jpg?fit=372%2C480https://i2.wp.com/nvtienanh.com/wp-content/uploads/USB-Complete.jpg?resize=150%2C150Nguyễn Văn Tiến AnhBlogMechatronicsMPLABThis book is for developers who are involved with designing or programming devices that use the Universal Serial Bus (USB) interface. If you are a hardware designer, if you write firmware that resides inside USB devices, or if you write applications that communicate with devices, this book is for...Tien Anh Nguyen Van