USB communications device class
USB communications device class (or USB CDC) is a composite Universal Serial Bus device class. The class may include more than one interface, such as a custom control interface, data interface, audio, or mass storage related interfaces.
The communications device class is used for computer networking devices akin to a network card, providing an interface for transmitting Ethernet or ATM frames onto some physical media. It is also used for modems, ISDN, fax machines, and telephony applications for performing regular voice calls.
Microsoft Windows versions prior to Windows Vista do not work with the networking parts of the USB CDC, instead using Microsoft's own derivative named Microsoft RNDIS, a serialized version of the Microsoft NDIS (Network Driver Interface Specification). With a vendor-supplied INF file, Windows Vista works with USB CDC and USB WMCDC devices.[1]
This class can be used for industrial equipment such as CNC machinery to allow upgrading from older RS-232 serial controllers and robotics, since they can keep software compatibility. The device attaches to an RS-232 communications line and the operating system on the USB side makes the USB device appear as a traditional RS-232 port. Chip manufacturers such as Prolific Technology, FTDI, Microchip, and Atmel provide facilities for easily developing USB RS-232 devices.
Devices of this class are also implemented in embedded systems such as mobile phones 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.
References
External links
- USB-IF's Approved Class Specification Documents
- Class definitions for Communication Devices 1.2 (.zip file format, size 3.42 MB)
- Class definitions for Communication Devices 1.1
- a good guide (linux-oriented) about USB host-to-host, CDC 'ethernet' class and RNDIS
- http://www.atmel.com/dyn/resources/prod_documents/doc4322.pdf App Note, Migrating from RS-232 to USB Bridge Specification. Explains the use of USB CDC (Communications Device Class) ACM (Abstract Control Model) to emulate serial ports over USB.