4 USB Classes and Protocols Relevant for CDC
USB classes, subclasses and protocols announce the device capabilities to the host.
Classes
USB classes are predefined categories representing the functionality provided by a
USB device or interface, facilitating standardized communication between the device
and the host system. These classes allow for driver reuse and easier device
recognition across operating systems. Some common classes:
- Communication Device Class (CDC) is a USB class that provides a standardized way for computer systems to communicate with various types of communication and telecommunication devices, including modems, telephones, and network cards
- Human Interface Device (HID) is a standard for computer peripherals that enables the implementation of devices such as keyboards, mice, game controllers, and other simple interface devices
- Audio Device Class (ADC) is a class that provides a framework for audio input and output devices, such as microphones, speakers, headsets, and sound cards, to interface with a host system. This class supports audio streaming and control functions.
- Mass Storage Class (MSC) is a class that enables a USB device to be recognized and used by a host system as a storage medium, such as flash drives, external hard drives, and memory card readers
- Custom or Vendor Class is used for USB devices that do not conform to standard USB classes and thus require custom drivers. These devices can serve several purposes and functionalities, allowing vendors to create unique products with proprietary interfaces and features not covered by the standard USB class specifications.
Subclasses
USB subclasses further define the behavior and functionality of a USB device,
allowing for more refined control and communication between the device and the host.
These subclasses enable the differentiation of devices with similar general purposes
but varied operational modes or applications. Examples of this:
- CDC device conforming to the Abstract Control Model
- CDC device emulating Ethernet
- Audio device utilizing MIDI streaming
- Video device only concerned with video streaming
Protocols
USB protocols refer to the rules and signaling standards governing the communication
between USB devices and the host controller, ensuring data are transferred
correctly. Examples of this:
- CDC device conforming to the Abstract Control Model with the ITU-T V.250 specific protocol
- CDC device emulating Ethernet using the USB EEM protocol
- Video device only concerned with video controls using protocol 15
More
Other classes, subclasses, and protocols not mentioned here do also exist. See the Microchip Developer Help pages on USB for more information.