USB CDC
Overview
There are three classes that make up the definition for communication devices: the
Communication Device Class,
Communication Interface Class and the Data Interface Class.
The Communication Device Class
is a device level
definition and is used by the host to properly identify a communication device that may present several different types
of interfaces. The Communication Interface Class defines a general-purpose mechanism that can be used to enable all
types of communication services on the Universal Serial Bus (USB). The Data Interface Class defines a generalpurpose
mechanism to enable bulk or isochronous transfer on the USB when the data does not meet the requirements
for any other class.
Several types of communication devices can benefit from the USB. This specification provides models for
telecommunication devices, such as telephones, analog modems, ISDN devices and networking devices. It describes:
- Specifications for:
- Framework for building a communication device:
- Assembling the relevant USB logical structures into configurations.
- Communication Class interface and its usage.
- Data Class interface and its usage.
- Usage of additional class types or vendor specific interfaces.
- Implementation examples of communication devices, such as a basic telephone, and an analog modem.
Spec
Given the broad nature of communication equipment, this specification does not attempt to dictate how all
communication equipment should use the USB. Rather, it defines an architecture
that is capable of supporting any
communication device. The current release of the specification focuses on supporting connectivity to
telecommunication services (devices that have traditionally terminated an analog or digital telephone line), and medium
speed networking services (“Always Connected” LAN/WAN media types). The specification currently outlines the
following types of devices:
x Telecommunications devices: analog modems, ISDN terminal adapters, digital telephones, and analog
telephones
x Networking devices: ADSL modems, cable modems, 10BASE-T Ethernet adapters/hubs, and “Ethernet”
cross-over cables.
This specification does not attempt to redefine existing standards for connection and control of communication
services. The Communication Class defines mechanisms for a device and host to identify which existing protocols to
use. Where possible, existing data formats are used and the transport of these formats are merely enabled by the USB
through the definition of the appropriate descriptors, interfaces, and requests. More specifically, this specification
describes a framework of USB interfaces, data structures, and requests under which a wide variety of communication
devices can be defined and implemented.
Implementation
This section describes the functional characteristics of the Communication Device Class, Communication Interface
Class and Data Interface Class, including:
- Device organization:
- Endpoint requirements.
- Constructing interfaces from endpoints.
- Constructing configurations from a variety of interfaces, some of which are defined by other class
specifications.
- Identifying groups of interfaces within configurations that make functional units and assigning a master
interface for each union.
- Device operation
Although this specification defines both the Communication Interface Class and Data Interface Class, they are two
different classes. All communication devices shall have an interface using the Communication Class to manage the
device and optionally specify themselves as communication devices by using the Communication Device Class code.
Additionally, the device has some number of other interfaces used for actual data transmission. The Data Interface
Class identifies data transmission interfaces when the data does not match the structure or usage model for any other
type of class, such as Audio.
USB
communications device class
(or "USB CDC") is a composite Universal Serial Bus device class.
It provides a single device class, but there may be more than one interfaces implemented such as
a custom control interface, data interface, audio and
mass storage
related interfaces etc.
Thecommunications device class
is primarily used for modems. However it also supports ISDN and Fax machines.
It also supports plain telephony applications for performing regular voice calls.
Additionally this device class supports computer networking akin to a network card, providing an interfaces for
transmitting Ethernet or ATM frames onto some physical media.
Microsoft Windows
does not support the networking parts
of the USB CDC
, instead promoting its own derivative named Microsoft
RNDIS, a serialized version of the
Microsoft NDIS
(Network Driver Interface Specification).
This class is generally implemented in
embedded systems like
mobile phones
to achieve more than one functionality from the
device, so that a phone may be used as a modem, Fax or network port. The data interfaces are generally used to perform bulk
data transfer.
Resources
- Microsoft-Communications Device Class
- Msdn-Support for the Wireless Mobile
Communication Device Class (WMCDC)
- USB CDC-answer the need of telecommunication services
(devices that have traditionally terminated an analog or digital telephone line), and medium speed networking services
("Always Connected" LAN/WAN media types) and is ideal for devices such as, Mobile Phones, Analog/ADSL/Cable Modems,
analog/digital telephones Wireless Terminals, Ethernet Adaptors as well as Legacy and other network devices.
For further details and to contribute information relevant to our website, please Contact us