USB Complete
The Developer's Guide
Samenvatting
The USB specifications are the ultimate authority on the USB interface, but by design the specification documents omit implementation tips, example code, and information that applies to specific device hardware, software, and other tools and products. This book bridges the gap between the specifications and real-world designs.
These are some of the questions this book answers:
How can I decide if my device should use a USB interface? Find out whether your device should use USB or another interface. If the choice is USB, you’ll learn how to decide which of USB’s five speeds—including USB 3.1’s SuperSpeed and SuperSpeedPlus—and which of USB’s four transfer types are appropriate for your application.
What controller hardware should my device use? Every USB device contains an intelligent controller to manage USB communications. A variety of chip companies offer controller hardware with different architectures and abilities. This book will help you select a controller based on your project’s needs, your budget, and your preferences for chip architecture, programming languages, and tools.
How can applications communicate with my devices? On PCs, applications access a USB device by communicating with the driver the operating system has assigned to the device. You’ll learn if your device can use a class driver provided by the host system’s operating system. For devices that don’t fit a supported class, you can explore options such as Microsoft’s WinUSB driver, other generic drivers, and custom drivers. Example code shows how to detect and communicate with devices from Visual C# applications.
What firmware does my device need to support USB communications? Find out how to write firmware that enables your device to respond to USB requests and events and exchange data for any purpose.
Does my device need its own power supply? The USB interface can provide power to devices, including charging current for battery-powered devices. Learn how to determine if a design can obtain all of its power from the bus, how to meet USB’s requirements for conserving power, and how to charge battery-powered devices from the bus.
How can I implement wireless communications? A variety of USB and other industry standards and technologies enable USB devices to communicate wirelessly. Learn which technology is right for your device.
How can my device access other USB devices? Find out how to develop a host for an embedded system or a USB On-The-Go device that can function as both a USB device and a limited-capability host that accesses other USB devices.
How can I ensure reliable operation? All devices must respond to requests and other events on the USB port. The host computer must detect attached devices, locate appropriate drivers, and exchange data with the devices. This book provides tips, example code, and information about debugging software and hardware to help with these tasks.
To understand the material in the book, it’s helpful to have some experience with digital logic, application programming for PCs and writing embedded code for peripherals. You don’t have to know anything about USB.
Specificaties
Inhoudsopgave
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: Capabilities
12. Human Interface Devices: Reports
13. Human Interface Devices: Host Application
14. Using WinUSB for Vendor-Defined Functions
15. Using WinUSB’s System INF File
16. Using Hubs to Extend and Expand the Bus
17. Managing Power
18. Testing and Debugging
19. Packets on the Bus
20. Electrical and Mechanical Interface
21. Hosts for Embedded Systems
Anderen die dit boek kochten, kochten ook
Rubrieken
- cadeauboeken
- computer en informatica
- economie
- filosofie
- flora en fauna
- geneeskunde
- geschiedenis
- gezondheid
- jeugd
- juridisch
- koken en eten
- kunst en cultuur
- literatuur en romans
- mens en maatschappij
- naslagwerken
- non-fictie informatief/professioneel
- paramedisch
- psychologie
- reizen
- religie
- schoolboeken
- spiritualiteit
- sport, hobby, lifestyle
- thrillers en spanning
- wetenschap en techniek
- woordenboeken en taal