Chapter 16
360
16-8. The document USB Interface Association Descriptor Device Class Code
and Use Model defines these values. Both documents are available from usb.org.
Note that bDeviceClass = EFh. A composite device with a CDC function and
IAD doesn??™t use bDeviceClass = 02h.
Table 16-9 shows example device, configuration, and interface association
descriptors for a composite device that includes a CDC function with two
interfaces and an additional function with one interface. In the device descriptor,
the bDeviceClass, bDeviceSubClass, and bDeviceProtocol codes indicate
that the device contains an IAD. In the configuration descriptor, bNumInterfaces
specifies that the configuration contains a total of three interfaces.
In the IAD, bFirstInterface equals the bInterfaceNumber of the CDC communication
interface and bInterfaceCount = 02h to indicate that the CDC function
has two interfaces. The bFunctionClass, bFunctionSubClass, and
bFunctionProtocol fields are set to match the values of bInterfaceClass, bInterfaceSubClass,
and bInterfaceProtocol in the CDC function??™s first interface (the
communication interface).
Following the IAD are descriptors for the associated interfaces and their subordinate
descriptors. For a CDC virtual COM port, the interfaces are the CDC
communication and data interfaces. Following these interfaces are the interface
descriptor for the third, independent interface and its subordinate descriptors.
Pages:
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374