USB CDC
+ -

USB通信设备类CDC简介

2022-03-11 15528 6

什么是USB CDC?

USB CDC(Communications Device Class,通信设备类)是USB标准中的一类,专门用于支持各种通信设备(如调制解调器、网络适配器、串口设备等)在USB总线上与主机进行数据和控制信息的交换。CDC规范为这些设备在USB上的识别、配置、管理和数据传输提供了统一的架构和协议。


主要内容

1. 设备分类

USB通信设备的定义由三大类组成:

  • 通信设备类(Communication Device Class):这是设备级别的定义,用于让主机正确识别一个通信设备,该设备可能包含多种不同类型的接口。
  • 通信接口类(Communication Interface Class):定义了一种通用机制,可用于在USB上启用所有类型的通信服务。
  • 数据接口类(Data Interface Class):定义了一种通用机制,当数据不符合其他类的要求时,可在USB上启用批量(Bulk)或同步(Isochronous)传输。

2. 支持的设备类型

  • 模拟/数字调制解调器
  • ISDN终端适配器
  • 串口(虚拟COM口)
  • 以太网/网络适配器(如USB转网卡)
  • ADSL/电缆调制解调器等

3. 规范内容

  • 标准描述符:定义了设备、接口、端点等的描述符格式。
  • 类特定描述符:如功能描述符(Functional Descriptor),用于描述CDC设备的特定功能。
  • 类特定请求:如设置多播过滤器、获取统计信息、设置包过滤等。
  • 通知机制:通过中断端点向主机报告设备状态变化(如链路状态、速率变化等)。
  • 数据传输机制:支持批量(Bulk)和同步(Isochronous)传输,适应不同类型的数据流。

4. 设计目标

  • 通用性:支持多种通信设备和协议。
  • 兼容性:尽量复用现有的通信协议和数据格式。
  • 可扩展性:通过子类和协议代码支持不同的通信场景(如以太网、ATM等)。

应用场景

  • USB转串口线(虚拟COM口)
  • USB网卡(CDC-ECM/NCM)
  • USB调制解调器
  • 工业控制、医疗设备等需要USB通信的场合

规范意义

USB CDC规范为通信设备在USB上的互操作性和即插即用提供了标准基础,使得各种通信设备能够方便地通过USB接口与主机系统集成和通信,极大地简化了驱动开发和设备兼容性问题。


CDC类功能

通信设备具有三个基本任务:

  • 设备管理(控制配置特定设备并通知 USB 主机某些事件)
  • 呼叫管理(建立和终止电话呼叫或其他连接)
  • 数据传输(发送和接收应用数据)

USB 组件中的 CDC 实现具有:

  • 使用CDC的ACM(抽象控制模型)子类模拟虚拟 COM 端口。
  • 使用CDC的ACM(抽象控制模型)子类使用RDNIS协议模拟网络连接。这支持Windows 主机 PC 和嵌入式设备之间的 USB 网络连接,以及USB 设备 RNDIS 到以太网桥应用程序。
  • 使用 CDC 的NCM(网络控制模型)子类模拟以太网适配器(仅适用于USB 设备)。使用 CDC (NCM),您可以在基于 Linux 的主机系统上创建Ethernet-over-USB(适用于 Linux 主机)应用程序。

CDC端点

支持以下端点配置:

  • 一个用于通知 USB 主机的中断 IN 端点
  • 一个BULK输入和一个BULK输出端点用于数据传输

USB-IF CDC类规范文件

USB 描述符

USB CDC ACM 设备中需要以下描述符:

USB CDC NCM 设备中需要以下描述符:

0 篇笔记 写笔记

USB转串口芯片选型
型号协议串口数量最大波特率IO电压工作温度封装CH3432.0 全速 Device16Mbps5V/3.3V/2.5V/1.8V-40~+85℃QFN16/ESSOP10/SOP16 CH91022.0 全速 Device14MbpsCH910......
USB控制类芯片选型
型号接口USBHostDeviceSD卡功能工作电压 CH378并口/SPI/串口2.0高速支持支持支持1.8V/3.3VLQFP128/LQFP64M硬件集成文件系统库,高速读写U盘/SD卡。占用外部RAM、FLASH资源很少。支持USB2.0读卡器方式......
USB通信设备类CDC简介
什么是USB CDC?USB CDC(Communications Device Class,通信设备类)是USB标准中的一类,专门用于支持各种通信设备(如调制解调器、网络适配器、串口设备等)在USB总线上与主机进行数据和控制信息的交换。CDC规范为这些设备在USB上的识别、配置、管理和数据传输提供......
CDC-NCM 简介
USB CDC-NCM(Network Control Model)是 USB CDC(Communication Device Class) 的一个子类协议,专为高效网络数据传输设计,主要用于移动宽带设备(如4G/5G调制解调器、USB网卡等),以提升 USB 总线上的网络吞吐量。1. 核心特......
USB CDC-NCM和USB CDC-ECM的区别与关系
USB CDC-NCM(Network Control Model)和USB CDC-ECM(Ethernet Control Model)是USB规范中定义的两种网络通信协议,均属于USB CDC(Communication Device Class)的子类。它们的主要区别和关系如下:1. 设......
USB-CDC-ECM 简介
CDC-ECM全称:Universal Serial Bus Communications Class Subclass Specification for Ethernet Control Model Devices。1. 概述USB CDC ECM(Ethernet Networking Co......
CDC 通信设备类协议代码表
USB通信设备的描述符(如bDeviceClass、bInterfaceClass、bInterfaceSubClass、bInterfaceProtocol)需要填写特定的类、子类和协议代码。下面分别梳理各类代码的含义和用途。1. 通信设备类代码(Communication Device Cl......
CDC 标准USB描述符
5.1 标准USB描述符定义本节规定了通信设备类CDC)、通信接口类和数据接口类的标准USB描述符要求。5.1.1 设备描述符(Device Descriptor)通信设备功能主要体现在接口级别,但设备描述符中的bDeviceClass字段用于标识该设备为通信设备。设备级别的类代码(bDev......
CDC 头部功能描述符
头部功能描述符(Header Functional Descriptor)用于标识该接口及其相关描述符所遵循的CDC规范版本,是所有CDC类特定描述符的起始部分。类特定描述符必须以一个头部开始,其格式如下表所示。bcdCDC 字段用于标识该接口及其描述符所遵循的《USB通信设备类规范》的版本号。......
CDC 呼叫管理功能描述符
呼叫管理功能描述符(Call Management Functional Descriptor)用于描述设备是否支持自身呼叫管理、是否可通过数据类接口收发呼叫管理信息,以及相关数据接口号。呼叫管理功能描述符用于描述通信类接口的呼叫处理能力。它只能出现在接口描述符的类特定部分。偏移字段名......
CDC 功能描述符
功能描述符功能描述符Functional Descriptors用于描述接口描述符中类特定信息的内容。所有功能描述符都以一个通用的头部描述符开始,这样主机软件可以方便地解析类特定描述符的内容。每个类特定描述符由一个或多个功能描述符组成。目前,通信类定义了类特定描述符信息,而数据类没有定义。功能描......
CDC 抽象控制管理功能描述符
抽象控制管理功能描述符(Abstract Control Management Functional Descriptor)用于标识设备支持哪些CDC ACM(如虚拟串口)相关的标准请求和通知,主机据此决定可用的控制命令。用于描述通信类接口(SubClass为抽象控制模型,Abstract Cont......
CDC 直连线路管理功能描述符
直连线路管理功能描述符 (Direct Line Management Functional Descriptor)用于描述通信类接口(SubClass为直连线路控制模型,Direct Line Control Model)所支持的命令。它只能出现在接口描述符的类特定部分。直连线路管理功能描述符用......
CDC 电话铃声功能描述符
电话铃声功能描述符(Telephone Ringer Functional Descriptor)用于描述设备支持的铃声音量调节级数和铃声模式数量,主机可据此实现对电话设备铃声的控制和管理。该描述符用于描述通信类接口(SubClass为电话控制,Telephone Control)所支持的铃声能力......
CDC 电话操作模式功能描述符
电话操作模式功能描述符(Telephone Operational Modes Functional Descriptor)用于描述设备支持的电话操作模式,主机可据此实现对电话设备不同工作模式的管理和切换。该描述符用于描述通信类接口(SubClass为电话控制,Telephone Control)......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    您的支持,是我们前进的动力!