CDC Class Overview

CDC Class Overview

A CDC device is composed of several interfaces to implement a certain function, that is communication capability. It is formed by the following interfaces:

  • Communications Class Interface (CCI)

  • Data Class Interface (DCI)

A CCI is responsible for the device management and optionally the call management. The device management enables the general configuration and control of the device and the notification of events to the host. The call management enables calls establishment and termination. Call management might be multiplexed through a DCI. A CCI is mandatory for all CDC devices. It identifies the CDC function by specifying the communication model supported by the CDC device. The interface(s) following the CCI can be any defined USB class interface, such as Audio or a vendor-specific interface. The vendor-specific interface is represented specifically by a DCI.

A DCI is responsible for data transmission. The data transmitted and/or received do not follow a specific format. Data could be raw data from a communication line, data following a proprietary format, etc. All the DCIs following the CCI can be seen as subordinate interfaces.

A CDC device must have at least one CCI and zero or more DCIs. One CCI and any subordinate DCI together provide a feature to the host. This capability is also referred to as a function. In a CDC composite device, you could have several functions. And thus, the device would be composed of several sets of CCI and DCI(s) as shown in Figure - CDC Composite Device.

Figure - CDC Composite Device
CDC Composite Device

 

A CDC device is likely to use the following combination of endpoints:

  • A pair of control IN and OUT endpoints called the default endpoint.

  • An optional bulk or interrupt IN endpoint.

  • A pair of bulk or isochronous IN and OUT endpoints.

Table - CDC Endpoint Usage indicates the usage of the different endpoints and by which interface of the CDC they are used:

Table - CDC Endpoint Usage

Endpoint

Direction

Interface

Usage

Control IN

Device-to-host

CCI

Standard requests for enumeration, class-specific requests, device management and optionally call management.

Control OUT

Host-to-device

CCI

Standard requests for enumeration, class-specific requests, device management and optionally call management.

Interrupt or bulk IN

Device-to-host

CCI

Events notification, such as ring detect, serial line status, network status.

Bulk or isochronous IN

Device-to-host

DCI

Raw or formatted data communication.

Bulk or isochronous OUT

Host-to-device

DCI

Raw or formatted data communication.

 

Most communication devices use an interrupt endpoint to notify the host of events. Isochronous endpoints should not be used for data transmission when a proprietary protocol relies on data retransmission in case of USB protocol errors. Isochronous communication can inherently loose data since it has no retry mechanisms.

The seven major models of communication encompass several subclasses. A subclass describes the way the device should use the CCI to handle the device management and call management. Table - CDC Subclasses shows all the possible subclasses and the communication model they belong to.

Table - CDC Subclasses

Subclass

Communication model

Example of devices using this subclass

Direct Line Control Model

PSTN

Modem devices directly controlled by the USB host

Abstract Control Model

PSTN

Serial emulation devices, modem devices controlled through a serial command set

Telephone Control Model

PSTN

Voice telephony devices

Multi-Channel Control Model

ISDN

Basic rate terminal adaptors, primary rate terminal adaptors, telephones

CAPI Control Model

ISDN

Basic rate terminal adaptors, primary rate terminal adaptors, telephones

Ethernet Networking Control Model

ECM

DOC-SIS cable modems, ADSL modems that support PPPoE emulation, Wi-Fi adaptors (IEEE 802.11-family), IEEE 802.3 adaptors

ATM Networking Control Model

ATM

ADSL modems

Wireless Handset Control Model

WMC

Mobile terminal equipment connecting to wireless devices

Device Management

WMC

Mobile terminal equipment connecting to wireless devices

Mobile Direct Line Model

WMC

Mobile terminal equipment connecting to wireless devices

OBEX

WMC

Mobile terminal equipment connecting to wireless devices

Ethernet Emulation Model

EEM

Devices using Ethernet frames as the next layer of transport. Not intended for routing and Internet connectivity devices

Network Control Model

NCM

IEEE 802.3 adaptors carrying high-speed data bandwidth on network