打印
[MM32硬件]

USB通信设备类CDC简介

[复制链接]
2111|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LLGTR|  楼主 | 2023-2-22 17:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
USB通信设备类CDC分类编号为0x0a,且必须指定为接口设备类。
USB 通信设备类(或USB CDC类)是一个复合通用串行总线 设备类。
通信设备类用于类似于网卡的计算机网络设备,提供用于将以太网或ATM帧传输到某些物理介质的接口。它还用于调制解调器、ISDN、传真机和电话应用程序以执行常规语音呼叫。
Windows Vista之前的Microsoft Windows版本不与 USB CDC 的网络部分一起使用,而是使用 Microsoft 自己的衍生产品Microsoft RNDIS ,这是Microsoft NDIS(网络驱动程序接口规范)的序列化版本。通过供应商提供的INF 文件,Windows Vista 可以与 USB CDC 和 USB WMCDC 设备一起使用。
此类可用于 CNC 机械等工业设备,以允许从旧的RS-232串行控制器和机器人进行升级,因为它们可以保持软件兼容性。该设备连接到 RS-232 通信线路,USB 端的操作系统使 USB 设备显示为传统的 RS-232 端口。Prolific Technology、FTDI、Microchip和Atmel等芯片制造商为开发 USB RS-232 设备提供了便利。
此类设备也在嵌入式系统(例如移动电话)中实现,因此电话可以用作调制解调器、传真或网络端口。数据接口通常用于执行批量数据传输。
CDC实现示例
通信设备类 (CDC)支持范围广泛的可以执行电信和网络功能的设备。通讯设备的例子有:
  • 使用CDC的ACM(抽象控制模型)子类模拟虚拟 COM 端口。使用CDC的ACM(抽象控制模型)子类使用RDNIS协议模拟网络连接。这支持Windows 主机 PC 和嵌入式设备之间的 USB 网络连接,以及USB 设备 RNDIS 到以太网桥应用程序。
  • 使用 CDC 的NCM(网络控制模型)子类模拟以太网适配器(仅适用于USB 设备)。使用 CDC (NCM),您可以在基于 Linux 的主机系统上创建Ethernet-over-USB(适用于 Linux 主机)应用程序。
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输入和一个ULK输出端点用于数据传输
USB-IF CDC类规范文件
  • 通信设备 1.2 的类定义
  • 通信设备 1.1 的类定义
  • 应用笔记,从 RS-232 迁移到 USB 桥接器规范。解释如何使用 USB CDC(通信设备类)ACM(抽象控制模型)来模拟 USB 上的串行端口
USB 描述符
USB CDC ACM 设备中需要以下描述符:
  • 标准设备描述符
  • 标准配置描述符
  • 接口关联描述符
  • CDC头功能描述符
  • CDC 联合功能描述符
  • 呼叫管理功能描述符
  • 抽象控制管理功能描述符
  • CDC 类通信接口的标准接口描述符
  • 中断 IN 端点的标准端点描述符
  • CDC 类数据接口的标准接口描述符
  • Bulk IN 和 Bulk OUT 端点的标准端点描述符
USB CDC NCM 设备中需要以下描述符:
  • 标准设备描述符
  • 标准配置描述符
  • 接口关联描述符
  • CDC头功能描述符
  • CDC 联合功能描述符
  • CDC 以太网网络功能描述符
  • NCM 功能描述符
  • CDC 类通信接口的标准接口描述符
  • 中断 IN 端点的标准端点描述符
  • CDC 类数据接口的标准接口描述符
  • Bulk IN 和 Bulk OUT 端点的标准端点描述符

使用特权

评论回复
沙发
tpgf| | 2023-3-2 15:08 | 只看该作者
CDC类是USB组织定义的一类专门给各种通信设备(电信通信设备和中速网络通信设备)使用的USB子类

使用特权

评论回复
板凳
qcliu| | 2023-3-2 15:20 | 只看该作者
CDC协议定义了一种使得USB总线能够支持任何通信设备的框架,如支持电信设备、多媒体网络设备等。

使用特权

评论回复
地板
drer| | 2023-3-2 15:32 | 只看该作者
通常一个CDC类设备由两个子类接口组成:一个通信接口类接口(Communication Interface Class)和0个或多个数据接口类接口(Data Interface Class)

使用特权

评论回复
5
coshi| | 2023-3-2 17:05 | 只看该作者
当通信设备需要传输的数据的数据格式不符合任何类的要求时就需要用数据接口来实现

使用特权

评论回复
6
kxsi| | 2023-3-2 17:18 | 只看该作者
CDC协议并非试图去重定义已经存在的那些通信设备连接和控制标准,而是去定义了一种确定设备与主机应该使用哪种现有协议的机制

使用特权

评论回复
7
wiba| | 2023-3-3 08:17 | 只看该作者
根据CDC类所针对通信设备的不同,CDC类被分成以下不同的模型:USB传统纯电话业务(POTS)模型,USB ISDN模型和USB网络模型

使用特权

评论回复
8
LLGTR|  楼主 | 2023-4-7 13:23 | 只看该作者
kxsi 发表于 2023-3-2 17:18
CDC协议并非试图去重定义已经存在的那些通信设备连接和控制标准,而是去定义了一种确定设备与主机应该使用 ...

CDC还是挺复杂的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

1313

帖子

2

粉丝