- Page 2 and 3: USB Complete Everything You Need to
- Page 4 and 5: Introduction xv Contents 1. USB Bas
- Page 6 and 7: Interrupt Transfers 72 Availability
- Page 8 and 9: Controllers that Interface to Exter
- Page 10 and 11: Obtaining a Handle 303 Requesting a
- Page 12 and 13: Performance Tips 426 Speed Consider
- Page 14 and 15: Wireless Links 530 Cypress Wireless
- Page 16 and 17: Introduction Introduction This book
- Page 20 and 21: Introduction Others I want to thank
- Page 22 and 23: USB Basics USB Basics 1 What if you
- Page 24 and 25: Table 1-1: Comparison of popular co
- Page 26 and 27: USB Basics power supply. In contras
- Page 28 and 29: USB Basics large and small blocks o
- Page 30 and 31: USB Basics are complete microcontro
- Page 32 and 33: USB Basics Broadcasting. USB provid
- Page 34 and 35: USB Basics you may be able to use o
- Page 36 and 37: USB 2.0 USB Basics In this book, th
- Page 38 and 39: USB Basics common peripherals such
- Page 40 and 41: USB Basics multiple hubs in series,
- Page 42 and 43: USB Basics data-acquisition unit. A
- Page 44 and 45: TEAM FLY USB Basics Just about any
- Page 46 and 47: USB Basics may support only low-pow
- Page 48 and 49: USB Basics bus. While in the Suspen
- Page 50 and 51: USB Basics Because the bus is share
- Page 52 and 53: USB Basics Initial Decisions Before
- Page 54 and 55: Inside USB Transfers Inside USB Tra
- Page 56 and 57: Inside USB Transfers Figure 2-1: At
- Page 58 and 59: Inside USB Transfers host with no 1
- Page 60 and 61: Inside USB Transfers point addresse
- Page 62 and 63: Inside USB Transfers Table 2-1: Eac
- Page 64 and 65: Inside USB Transfers All Other Tran
- Page 66 and 67: Inside USB Transfers phases. Data s
- Page 68 and 69:
Inside USB Transfers Table 2-3: The
- Page 70 and 71:
Inside USB Transfers full-speed dev
- Page 72 and 73:
Inside USB Transfers only thing a h
- Page 74 and 75:
Inside USB Transfers Table 2-4: The
- Page 76 and 77:
Inside USB Transfers A 2.0 hub may
- Page 78 and 79:
Inside USB Transfers how the CRC is
- Page 80 and 81:
Inside USB Transfers have two or th
- Page 82 and 83:
A Transfer Type for Every Purpose A
- Page 84 and 85:
A Transfer Type for Every Purpose F
- Page 86 and 87:
A Transfer Type for Every Purpose s
- Page 88 and 89:
A Transfer Type for Every Purpose t
- Page 90 and 91:
Availability Structure Data Size A
- Page 92 and 93:
TEAM FLY Speed A Transfer Type for
- Page 94 and 95:
A Transfer Type for Every Purpose O
- Page 96 and 97:
A Transfer Type for Every Purpose A
- Page 98 and 99:
A Transfer Type for Every Purpose t
- Page 100 and 101:
Data Size Speed A Transfer Type for
- Page 102 and 103:
A Transfer Type for Every Purpose c
- Page 104 and 105:
A Transfer Type for Every Purpose i
- Page 106 and 107:
Enumeration: How the Host Learns ab
- Page 108 and 109:
Enumeration: How the Host Learns ab
- Page 110 and 111:
Enumeration: How the Host Learns ab
- Page 112 and 113:
Enumeration: How the Host Learns ab
- Page 114 and 115:
Enumeration: How the Host Learns ab
- Page 116 and 117:
Enumeration: How the Host Learns ab
- Page 118 and 119:
Enumeration: How the Host Learns ab
- Page 120 and 121:
Device_qualifier Descriptor Enumera
- Page 122 and 123:
Enumeration: How the Host Learns ab
- Page 124 and 125:
Enumeration: How the Host Learns ab
- Page 126 and 127:
Enumeration: How the Host Learns ab
- Page 128 and 129:
Enumeration: How the Host Learns ab
- Page 130 and 131:
Enumeration: How the Host Learns ab
- Page 132 and 133:
Enumeration: How the Host Learns ab
- Page 134 and 135:
Enumeration: How the Host Learns ab
- Page 136 and 137:
Enumeration: How the Host Learns ab
- Page 138 and 139:
Control Transfers: Structured Reque
- Page 140 and 141:
TEAM FLY Control Transfers: Structu
- Page 142 and 143:
Control Transfers: Structured Reque
- Page 144 and 145:
Sent by: the host. Control Transfer
- Page 146 and 147:
Control Transfers: Structured Reque
- Page 148 and 149:
Control Transfers: Structured Reque
- Page 150 and 151:
Get_Status Control Transfers: Struc
- Page 152 and 153:
Set_Feature Control Transfers: Stru
- Page 154 and 155:
Get_Descriptor Control Transfers: S
- Page 156 and 157:
Get_Configuration Control Transfers
- Page 158 and 159:
Get_Interface Control Transfers: St
- Page 160 and 161:
Synch_Frame Control Transfers: Stru
- Page 162 and 163:
Chip Choices Chip Choices 6 When yo
- Page 164 and 165:
The USB Controller Chip Choices A t
- Page 166 and 167:
Chip Choices uration register may e
- Page 168 and 169:
Chip Choices are available both wit
- Page 170 and 171:
Device Requirements Chip Choices In
- Page 172 and 173:
Driver Choices Chip Choices The oth
- Page 174 and 175:
Chip Choices Figure 6-1: The USB I2
- Page 176 and 177:
Chip Choices Table 6-1: USB control
- Page 178 and 179:
Chip Choices transaction. The addre
- Page 180 and 181:
Chip Choices Table 6-2: Cypress Sem
- Page 182 and 183:
Table 6-3: An EZ-USB can run firmwa
- Page 184 and 185:
Cypress enCoRe II Chip Choices The
- Page 186 and 187:
Controllers that Interface to Exter
- Page 188 and 189:
TEAM FLY Chip Choices ware. Some mi
- Page 190 and 191:
Chip Choices hardware reset, the ch
- Page 192 and 193:
Chip Choices Architecture Both chip
- Page 194 and 195:
Table 6-6: Pinout of the FT232BM US
- Page 196 and 197:
Figure 6-2: For easy prototyping wi
- Page 198 and 199:
Device Classes Device Classes 7 Thi
- Page 200 and 201:
Device Classes Table 7-1: These cla
- Page 202 and 203:
Defined Classes Audio Device Classe
- Page 204 and 205:
Device Classes Figure 7-2: An Audio
- Page 206 and 207:
Device Classes bytes, and can provi
- Page 208 and 209:
Device Classes Table 7-3: The speci
- Page 210 and 211:
Device Classes Windows Support Unde
- Page 212 and 213:
Class-specific Requests There are t
- Page 214 and 215:
Device Classes Figure 7-5: A commun
- Page 216 and 217:
Device Classes Table 7-4: In the in
- Page 218 and 219:
Device Classes Table 7-6: A Functio
- Page 220 and 221:
Device Classes CSM-2 is DTCP, which
- Page 222 and 223:
Device Classes device is upgrading
- Page 224 and 225:
Human Interface Device Classes The
- Page 226 and 227:
Device Classes host sends a Get_Des
- Page 228 and 229:
Device Classes A USB IrDA bridge us
- Page 230 and 231:
Device Classes Each media type has
- Page 232 and 233:
Device Classes Table 7-8: The CSW c
- Page 234 and 235:
Printers Device Classes ATA/ATAPI d
- Page 236 and 237:
TEAM FLY Class-specific Requests Th
- Page 238 and 239:
Device Classes passes it on to Usbm
- Page 240 and 241:
Class-specific Requests There are f
- Page 242 and 243:
Device Classes the response, follow
- Page 244 and 245:
Device Classes information about in
- Page 246 and 247:
Device Classes Figure 7-8: A VideoS
- Page 248 and 249:
Device Classes the class’s requir
- Page 250 and 251:
Device Classes When using a USB/RS-
- Page 252 and 253:
Using a Generic Driver Device Class
- Page 254 and 255:
How the Host Communicates How the H
- Page 256 and 257:
Options for USB Devices How the Hos
- Page 258 and 259:
How the Host Communicates In kernel
- Page 260 and 261:
How the Host Communicates Figure 8-
- Page 262 and 263:
How the Host Communicates Perhaps b
- Page 264 and 265:
Communication Flow How the Host Com
- Page 266 and 267:
How the Host Communicates CyUsb.sys
- Page 268 and 269:
How the Host Communicates to a USB
- Page 270 and 271:
How the Host Communicates For faste
- Page 272 and 273:
How the Host Communicates Table 8-1
- Page 274 and 275:
Matching a Driver to a Device Match
- Page 276 and 277:
Matching a Driver to a Device Figur
- Page 278 and 279:
Matching a Driver to a Device Devic
- Page 280 and 281:
Matching a Driver to a Device a dev
- Page 282 and 283:
Matching a Driver to a Device Table
- Page 284 and 285:
TEAM FLY Figure 9-7: The service ke
- Page 286 and 287:
[Install.AddReg] HKR,,DevLoader,,*n
- Page 288 and 289:
Matching a Driver to a Device [Vers
- Page 290 and 291:
Matching a Driver to a Device Desti
- Page 292 and 293:
Matching a Driver to a Device which
- Page 294 and 295:
Matching a Driver to a Device [LAKE
- Page 296 and 297:
Matching a Driver to a Device Table
- Page 298 and 299:
Matching a Driver to a Device The I
- Page 300 and 301:
Matching a Driver to a Device renam
- Page 302 and 303:
Detecting Devices Detecting Devices
- Page 304 and 305:
Detecting Devices To use data retur
- Page 306 and 307:
Detecting Devices contains a stub f
- Page 308 and 309:
Detecting Devices application, the
- Page 310 and 311:
Detecting Devices ByRef and ByVal I
- Page 312 and 313:
Detecting Devices The DEVICE_NOTIFY
- Page 314 and 315:
Visual Basic The function has no re
- Page 316 and 317:
Detecting Devices ment contains a h
- Page 318 and 319:
This is the function’s declaratio
- Page 320 and 321:
This is the code to call the functi
- Page 322 and 323:
Detecting Devices next call. But be
- Page 324 and 325:
Visual Basic This is the function
- Page 326 and 327:
This is the function’s declaratio
- Page 328 and 329:
Detecting Devices cate, notify the
- Page 330 and 331:
Detecting Devices DeviceNotificatio
- Page 332 and 333:
TEAM FLY Detecting Devices When fin
- Page 334 and 335:
This is the code for the OnDeviceCh
- Page 336 and 337:
Detecting Devices The application c
- Page 338 and 339:
Detecting Devices Dim DeviceNameStr
- Page 340 and 341:
Human Interface Devices: Using Cont
- Page 342 and 343:
Human Interface Devices: Using Cont
- Page 344 and 345:
Human Interface Devices: Using Cont
- Page 346 and 347:
Human Interface Devices: Using Cont
- Page 348 and 349:
Human Interface Devices: Using Cont
- Page 350 and 351:
Human Interface Devices: Using Cont
- Page 352 and 353:
Human Interface Devices: Using Cont
- Page 354 and 355:
Get_Idle Human Interface Devices: U
- Page 356 and 357:
Set_Report Human Interface Devices:
- Page 358 and 359:
Human Interface Devices: Using Cont
- Page 360 and 361:
Human Interface Devices: Using Cont
- Page 362 and 363:
Human Interface Devices: Using Cont
- Page 364 and 365:
Human Interface Devices: Using Cont
- Page 366 and 367:
Human Interface Devices: Using Cont
- Page 368 and 369:
Human Interface Devices: Using Cont
- Page 370 and 371:
Human Interface Devices: Using Cont
- Page 372 and 373:
Human Interface Devices: Reports Hu
- Page 374 and 375:
Human Interface Devices: Reports Fi
- Page 376 and 377:
Human Interface Devices: Reports Th
- Page 378 and 379:
Human Interface Devices: Reports Ta
- Page 380 and 381:
TEAM FLY Human Interface Devices: R
- Page 382 and 383:
Human Interface Devices: Reports Ta
- Page 384 and 385:
Human Interface Devices: Reports an
- Page 386 and 387:
0x15 0x00 // Logical Minimum 0x26 0
- Page 388 and 389:
Human Interface Devices: Reports Ta
- Page 390 and 391:
Human Interface Devices: Reports As
- Page 392 and 393:
Human Interface Devices: Reports Ta
- Page 394 and 395:
Physical Descriptors Human Interfac
- Page 396 and 397:
Human Interface Devices: Host Appli
- Page 398 and 399:
Human Interface Devices: Host Appli
- Page 400 and 401:
Human Interface Devices: Host Appli
- Page 402 and 403:
Human Interface Devices: Host Appli
- Page 404 and 405:
This is the declaration for the fun
- Page 406 and 407:
Visual Basic This is the function
- Page 408 and 409:
Human Interface Devices: Host Appli
- Page 410 and 411:
Human Interface Devices: Host Appli
- Page 412 and 413:
Visual Basic This is the function
- Page 414 and 415:
Human Interface Devices: Host Appli
- Page 416 and 417:
This is the code for doing an overl
- Page 418 and 419:
Human Interface Devices: Host Appli
- Page 420 and 421:
Human Interface Devices: Host Appli
- Page 422 and 423:
Human Interface Devices: Host Appli
- Page 424 and 425:
Visual Basic This is the function
- Page 426 and 427:
Visual Basic This is the function
- Page 428 and 429:
TEAM FLY Bulk Transfers for Any CPU
- Page 430 and 431:
Bulk Transfers for Any CPU Figure 1
- Page 432 and 433:
' Registers that relate to serial c
- Page 434 and 435:
Bulk Transfers for Any CPU ' Disabl
- Page 436 and 437:
Bulk Transfers for Any CPU Figure 1
- Page 438 and 439:
Bulk Transfers for Any CPU Figure 1
- Page 440 and 441:
Bulk Transfers for Any CPU ' If rea
- Page 442 and 443:
process_received_data: return Bulk
- Page 444 and 445:
Bulk Transfers for Any CPU Table 14
- Page 446 and 447:
Bulk Transfers for Any CPU Table 14
- Page 448 and 449:
Bulk Transfers for Any CPU a byte.
- Page 450 and 451:
Bulk Transfers for Any CPU The ’2
- Page 452 and 453:
FT2232C extensions Bulk Transfers f
- Page 454 and 455:
Hubs: the Link between Devices and
- Page 456 and 457:
Hubs: the Link between Devices and
- Page 458 and 459:
Hubs: the Link between Devices and
- Page 460 and 461:
Hubs: the Link between Devices and
- Page 462 and 463:
Hubs: the Link between Devices and
- Page 464 and 465:
Hubs: the Link between Devices and
- Page 466 and 467:
Speed Hubs: the Link between Device
- Page 468 and 469:
Hubs: the Link between Devices and
- Page 470 and 471:
Hubs: the Link between Devices and
- Page 472 and 473:
Hubs: the Link between Devices and
- Page 474 and 475:
Port Indicators Hubs: the Link betw
- Page 476 and 477:
TEAM FLY Managing Power Managing Po
- Page 478 and 479:
Managing Power hub’s connector. I
- Page 480 and 481:
Managing Power A high-power device
- Page 482 and 483:
Hub Power Managing Power Powering o
- Page 484 and 485:
Managing Power Figure 16-3: When a
- Page 486 and 487:
Ω μ Managing Power Figure 16-4: T
- Page 488 and 489:
Power Management under Windows Mana
- Page 490 and 491:
Managing Power work-arounds under W
- Page 492 and 493:
Tools Testing and Debugging 17 Test
- Page 494 and 495:
Testing and Debugging via USB or an
- Page 496 and 497:
Testing and Debugging Figure 17-3:
- Page 498 and 499:
Testing and Debugging requests alon
- Page 500 and 501:
Testing and Debugging Figure 17-5:
- Page 502 and 503:
Testing and Debugging The Chapter 9
- Page 504 and 505:
Testing and Debugging Figure 17-7:
- Page 506 and 507:
Testing and Debugging Figure 17-8:
- Page 508 and 509:
Testing and Debugging must meet add
- Page 510 and 511:
Signals and Encoding Signals and En
- Page 512 and 513:
Signals and Encoding defined by whe
- Page 514 and 515:
Signals and Encoding High-speed Dat
- Page 516 and 517:
Signals and Encoding Figure 18-1: I
- Page 518 and 519:
Signals and Encoding Bit stuffing c
- Page 520 and 521:
Signals and Encoding High speed’s
- Page 522 and 523:
Signals and Encoding Frame Number T
- Page 524 and 525:
TEAM FLY Purpose. Test the high out
- Page 526 and 527:
The Electrical Interface 19 The Ele
- Page 528 and 529:
The Electrical Interface Figure 19-
- Page 530 and 531:
The Electrical Interface The Circui
- Page 532 and 533:
The Electrical Interface alternativ
- Page 534 and 535:
The Electrical Interface Figure 19-
- Page 536 and 537:
The Electrical Interface handle all
- Page 538 and 539:
The Electrical Interface more than
- Page 540 and 541:
The Electrical Interface GND is the
- Page 542 and 543:
The Electrical Interface the height
- Page 544 and 545:
The Electrical Interface Figure 19-
- Page 546 and 547:
The Electrical Interface The USB sp
- Page 548 and 549:
Balanced Lines The Electrical Inter
- Page 550 and 551:
The Electrical Interface A low-spee
- Page 552 and 553:
The Electrical Interface A Wireless
- Page 554 and 555:
The Electrical Interface With both
- Page 556 and 557:
Dual-role Devices with USB On-The-G
- Page 558 and 559:
Dual-role Devices with USB On-The-G
- Page 560 and 561:
Dual-role Devices with USB On-The-G
- Page 562 and 563:
Dual-role Devices with USB On-The-G
- Page 564 and 565:
Dual-role Devices with USB On-The-G
- Page 566 and 567:
The OTG Descriptor Dual-role Device
- Page 568 and 569:
Dual-role Devices with USB On-The-G
- Page 570 and 571:
Dual-role Devices with USB On-The-G
- Page 572 and 573:
Index TEAM FLY Page numbers in ital
- Page 574 and 575:
Freescale MCF5482 ColdFire, 164 Mic
- Page 576 and 577:
WirelessUSB, 530-1, 532, 533 D D2XX
- Page 578 and 579:
tools for testing and debugging, 47
- Page 580 and 581:
GUIDs (Globally Unique Identifiers)
- Page 582 and 583:
support as necessary element for US
- Page 584 and 585:
Logical Maximum item, 362, 364-5 Lo
- Page 586 and 587:
vs. USB, 3 PCs. See also host compu
- Page 588 and 589:
RS-232 interface converters for, 11
- Page 590 and 591:
transceivers full-speed, 508-12, 51
- Page 592 and 593:
using Windows API functions in appl