Specifications

44
44
Example Class Specific Descriptor Structure
*Device
Descriptor
*Device
Descriptor
Configuration
Descriptor
Configuration
Descriptor
Communications
Class Interface
Descriptor
Communications
Class Interface
Descriptor
Endpoint
Descriptor
Endpoint
Descriptor
Functional
Descriptors
Functional
Descriptors
Endpoint
Descriptor
Endpoint
Descriptor
Data Class
Interface
Descriptor
Data Class
Interface
Descriptor
Endpoint
Descriptor
Endpoint
Descriptor
Class
specific
Class
specific
Standard
Standard
Standard descriptor using
values from the CDC spec.
Descriptor Types
*Not all classes require specific
values in the device descriptor.
CDC Class uses the Abstract Control Model
Bridge the gap between serial devices and
USB
Uses the Communications Class Interface
and the Data Class Interface
CDC defines a set of functional descriptors
as part of the Communications Class
Interface
Now that we have discussed the different classes and we have mentioned that our
descriptors have to be compliant to the class specification as well as the USB 2.0
specification, let’s take a look again at the descriptor hierarchy for a standard class
implementation. In this case we will look at the CDC class. Notice that the
standard descriptors we had before are still there, however, we now have class
specific values populated in some of the fields of the descriptors. Looking at our
device descriptor example again, there are device specific fields added for a CDC
class device. In addition to the standard descriptors, deice, configuration, interface
and endpoint, there are additional descriptors the host will request based on the
class. Here we see Data Class and Communications Class descriptors added as part
of the CDC specification. The multi-colored boxes are a standard descriptor
populated with values from the CDC class spec.