USB Component  Version 5.1
MDK-Professional Middleware for USB Device and Host
 All Data Structures Functions Variables Enumerations Enumerator Groups Pages
CDC: Communication Device Class

The Communication Device Class (CDC) supports a wide range of devices that can perform telecommunications and networking functions. Examples for communications equipment are:

  • Telecommunications devices, such as analog phones and modems, ISDN terminal adapters, digital phones, as well as COM-port devices
  • Networking devices, such as ADSL and cable modems, as well as Ethernet adapters and hubs

Detailed description about CDC is provided by USB Implementers Forum (USB-IF).

CDC Class Features and Limitations

A communications device has three basic tasks:

  • Device management (controlling an configuring a specific device and notifying the USB Host of certain events)
  • Call management (establishing and terminating telephone calls or other connections)
  • Data transmission (sending and receiving application data)

The CDC implementation in the USB Component has the following features and limitations:

  • Emulation of a virtual COM-port using the ACM (Abstract Control Model) subclass of CDC.
  • One interrupt IN endpoint for notifications to the USB Host
  • One bulk IN and one bulk OUT endpoint for data transfer
  • The USB Component supports the CDC Class for USB Device applications only.

Control Transfers

The CDC Subclass for PSTN devices document describes the nine available request types for the Abstract Control Model. Other requests, specific to the CDC class are not supported for a CDC ACM USB Device and will generate a Stall condition.

Descriptor Requirements

The following descriptors are required in an USB CDC (ACM) Device:

  • Standard device descriptor
  • Standard configuration descriptor
  • Standard interface descriptor for the CDC Class communication interface
  • Standard endpoint descriptor for Interrupt IN endpoint
  • Standard interface descriptor for the CDC Class data interface
  • Standard endpoint descriptors for Bulk IN and Bulk OUT endpoints


The necessary descriptors are automatically generated by the USB Middleware Component. The page Device Descriptor provides more information on the topic.

Note
Further information on how to use CDC is given in the Reference section: CDC: Communication Device Class Functions