USB通信デバイスクラス(「CDC」)(または総称して「USB CDC」 )は、ユニバーサルシリアルバス( USB )の複合デバイスクラスです。ネットワークカードのようなコンピュータネットワーク機器で最も一般的に使用され、イーサネットまたはATMフレームを物理メディアに送信するためのインターフェースを提供します。また、モデム、シリアルポート、ISDN、ファックス機、および通常の音声通話を行う電話機器にも使用されます。
この種のデバイスは、携帯電話などの組み込みシステムにも実装されており、電話機をモデム、ファックス、またはネットワークポートとして使用できます。データインターフェースは、一般的に大量データ転送に使用されます。
Windows Vistaより前のバージョンのMicrosoft Windowsは、USB CDCのネットワーク部分とは連携せず、代わりにMicrosoft NDIS (ネットワークドライバインターフェイス仕様)のシリアル化バージョンであるMicrosoft RNDISというMicrosoft独自の派生版を使用しています。ベンダー提供のINFファイルを使用すると、Windows VistaはUSB CDCおよびUSB WMCDCデバイスと連携します。[ 1 ]
CDC仕様で定義されている抽象制御モデル(ACM)プロトコルは、汎用シリアルUARTを実装するために使用できます。たとえば、片側がUSB、もう片側がRS-232のアダプタケーブルは、オペレーティングシステムに対してUSB側をCDC-ACMデバイスとして提示し、オペレーティングシステムの標準CDC-ACMドライバを使用する場合があります。このようなアダプタは、CNC機械などのRS-232を使用する産業機器を、機器のハードウェアやソフトウェアを変更することなくアップグレードする方法を提供します。ほとんどのUSBシリアルアダプタはUSBのCDC-ACMプロトコルを使用せず、より多くの機能をサポートする独自のベンダー定義ドライバとプロトコルを使用しますが、Prolific PL2503などの一部のアダプタは標準CDC-ACMを使用します。[ 2 ]さらに、CDC-ACMは、組み込みシステムの構成とデバッグのためのシリアルコンソールを提供するために、ESP32などのマイクロコントローラ のソフトウェアで一般的に実装されています。[ 3 ]