USB-CDC-ECM以太网控制模型设备
+ -

USB-CDC-ECM 简介

2025-07-09 0 0

CDC-ECM全称:Universal Serial Bus Communications Class Subclass Specification for Ethernet Control Model Devices。

1. 概述

USB CDC ECM(Ethernet Networking Control Model) 是 USB 通信设备类(CDC, Communications Device Class) 的一个子类规范,用于在 USB 设备上实现以太网(Ethernet, IEEE 802.3)通信功能。它允许 USB 设备(如网卡、调制解调器、嵌入式设备等)模拟以太网接口,并通过 USB 接口与主机(PC、手机等)进行网络数据传输。

2. 主要用途

  • USB 以太网适配器(如 USB 转以太网 Dongle)
  • 嵌入式设备联网(如通过 USB 连接微控制器实现网络通信)
  • 移动热点设备(如 4G/5G USB Dongle 提供以太网功能)
  • 虚拟网络接口(如某些调试工具通过 USB 模拟网络)

3. 技术特点

  1. 基于 USB CDC 架构

    • ECM 是 CDC 的一个子类,遵循 USB-IF 的 CDC 1.2 主规范。
    • 使用 USB 批量传输(Bulk Transfer) 进行数据通信,确保高效传输。
  2. 支持标准以太网帧(IEEE 802.3)

    • 数据以 以太网帧(Ethernet Frame) 格式传输,兼容标准 TCP/IP 协议栈。
    • 支持 最大传输单元(MTU) 配置(通常为 1500 字节)。
  3. 设备管理方式

    • 使用 USB 控制传输(Control Transfer) 进行设备管理,如:
      • 获取 MAC 地址
      • 设置网络连接状态(连接/断开)
      • 配置数据包过滤规则
  4. 兼容性

    • 在 Windows、Linux、macOS 等主流操作系统上均有内置驱动支持。
    • 在 Linux 中通常对应 cdc_ether 驱动模块。

4. 协议结构

ECM 设备在 USB 协议栈中的结构如下:

USB 接口 功能 传输类型
控制接口(Control Interface) 设备管理(MAC 地址、连接状态 控制传输(Control Transfer)
数据接口(Data Interface) 以太网数据通信 批量传输(Bulk Transfer)

5. 与其它 CDC 子类的区别

CDC 子类 用途 典型设备 传输方式 适用场景
ECM(Ethernet Control Model) 标准以太网通信(IEEE 802.3) USB 网卡、嵌入式设备 批量传输(Bulk) 普通以太网设备
NCM(Network Control Model) 高效聚合网络数据(如4G/5G模块) 蜂窝调制解调器 批量传输(Bulk) 移动宽带设备
ACM(Abstract Control Model) 串行通信(AT命令、调试串口) USB转串口设备 控制/批量传输 调试终端、Modem
EEM(Ethernet Emulation Model) 低开销以太网(适用于高速USB) 高速网络适配器 批量传输(Bulk) USB 3.0+ 网络设备
ISDN(Integrated Services Digital Network) 数字电话网络(ISDN适配器) ISDN调制解调器 同步/控制传输 传统电话网络设备
PSTN(Public Switched Telephone Network) 模拟电话网络(传统Modem) 拨号调制解调器 控制/批量传输 老式传真/电话Modem
ATM(Asynchronous Transfer Mode) 高速数据交换(ATM网络) ATM网络适配器 同步传输 金融/电信专用设备

关键区别说明:

  1. ECM vs. EEM

    • ECM 适用于标准 USB 2.0/3.0 以太网设备(如 USB 网卡)。
    • EEM 优化了协议开销,适用于高速 USB(如 USB 3.0+ 网络设备)。
  2. ECM vs. NCM

    • ECM 适用于普通以太网(如 USB 转 RJ45)。
    • NCM 适用于蜂窝网络(如 4G/5G USB Dongle),支持数据包聚合。
  3. ISDN / PSTN / ATM

    • ISDN:用于数字电话网络(已逐渐淘汰)。
    • PSTN:用于传统拨号上网(如 56K Modem)。
    • ATM:用于金融/电信专用高速网络(如银行交易系统)。

6. 典型应用场景

  • 嵌入式 Linux 设备(如 Raspberry Pi、STM32)通过 USB CDC ECM 提供网络连接。
  • USB 4G/5G Dongle 在提供移动网络的同时,模拟以太网接口。
  • 工业设备 使用 USB 替代传统 RJ45 以太网接口,简化布线。

7. 结论

USB CDC ECM 是一种广泛使用的 USB 网络通信协议,适用于需要 USB 模拟以太网 的场景。它兼容性强、易于实现,并且在大多数操作系统中都有原生支持,是嵌入式系统和网络设备的理想选择。

8.下载地址:

https://www.usb.org/sites/default/files/CDC1.2_WMC1.1_012011_0.zip
其中该压缩包中包括的USBCDC12包括:

  • ATM120.pdf
  • CDC120-20101103-track.pdf
  • CDC120-Errata1.pdf
  • ECM120.pdf
  • ISDN120.pdf
  • PSTN120.pdf

0 篇笔记 写笔记

USB转以太网芯片芯片
型号功能封装特点CH397USB转以太网芯片QFN24/QFN32/SOP161.单芯片USB2.0/2.1转10/100M快速以太网,集成USB PHY和以太网MAC及以太网PHY 2.支持CDC-ECM协议和CDC-NCM协议及RNDIS协议,免安装驱动程序或可选厂商......
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. 设......
NCM以太网帧最大尺寸动态调整规则
1. 最大尺寸的动态控制主机控制权:主机可通过 SetMaxDatagramSize 控制请求 动态调整设备支持的最大以太网帧尺寸(不含CRC-32)。 典型值:标准以太网帧为1514字节(14字节头 + 1500字节载荷)。 扩展场景:支持VLAN标签(1522字节)、巨型帧(Jumbo......
ECM 网络设备模型
网络设备具备两种通讯类接口:通讯类接口:用于网络配置,始终于于连接状态。数据类接口:用于数据通讯以上两类接口其分别具有独立的MAC地址,分别用于调制解调配置和用户数据通讯。设备结构和接口类型USB网络设备具有一种通信类接口,该接口呈现给主机用于配置和管理网络设备。这些设备通常是”始终连接”的......
USB-CDC-ECM 简介
CDC-ECM全称:Universal Serial Bus Communications Class Subclass Specification for Ethernet Control Model Devices。1. 概述USB CDC ECM(Ethernet Networking Co......
ECM 通用数据平面特性
核心数据传输机制所有由本规范支持的网络设备模型的核心数据输入/数据输出管道机制都是相同的,独立于媒体类型(例如,电缆、xDSL、以太网)或媒体数据类型(例如,ATM信元、以太网帧)。默认传输配置典型的基于USB的网络设备将支持批量传输作为主机和USB设备之间交换数据的默认配置。批量传输特性虽然批......
ECM 以太网网络控制模型
以太网网络控制模型用于在USB设备和主机之间交换以太网帧格式的数据。设备通过通信类接口(Communications Class Interface)进行各种以太网功能的配置和管理,其描述符中的子类代码(SubClass code)标明为“以太网网络控制模型”。数据类接口(Data Class I......
ECM 类特定码
本节列出了通信设备类(Communications Device Class)、通信接口类(Communications Interface Class)和数据接口类(Data Interface Class)的代码,包括子类和协议。这些值用于标准设备描述符的 DeviceClass、bInterf......
ECM 描述符
标准USB描述符定义符合本子类规范的设备需要实现通信设备类(Communications Device Class)、通信接口类(Communications Interface Class)和数据接口类(Data Interface Class)的标准USB描述符。这些定义详见 [USBCDC1.......
ECM 以太网网络功能描述符
以太网网络功能描述符(Ethernet Networking Functional Descriptor)用于描述通信类接口支持的以太网操作模式(SubClass code为以太网网络控制)。该描述符只能出现在接口描述符的类特定部分。描述符结构偏移字段名大小类型/值描述0......
ECM 以太网网络控制模型管理请求
通信接口类(Communications Interface Class)除了支持 [USB2.0] 第9章中定义的标准请求外,还支持一些类特定的请求和通知。这些请求和通知主要用于设备和呼叫管理。控制USB以太网设备接口的请求详见第6.2节。需要返回主机的附加信号(通知)详见第6.3节。这些请......
ECM SetEthernetMulticastFilters请求
SET_ETHERNET_MULTICAST_FILTER 请求用于设置以太网设备的多播过滤器,按照顺序列表指定多个48位以太网多播地址。请求格式字段值/说明描述bmRequestType00100001B主机到设备,类请求,接口bRequestCodeSET_E......
ECM SetEthernetPowerManagementPatternFilter请求
SetEthernetPowerManagementPatternFilter 请求用于设置指定的以太网电源管理模式过滤器(Power Management Pattern Filter),以便设备能够在检测到特定网络流量时唤醒主机,实现远程唤醒等节能功能。请求格式字段值/说明描述......
ECM GetEthernetPowerManagementPatternFilter请求
GetEthernetPowerManagementPatternFilter 请求用于查询设备中指定以太网电源管理模式过滤器的状态。请求格式字段值/说明描述bmRequestType10100001B设备到主机,类请求,接口bRequestCodeGET_ETH......
ECM SetEthernetPacketFilter请求
SetEthernetPacketFilter 请求用于配置设备的以太网包过滤器设置,通过设置位图来控制哪些类型的以太网帧被转发到主机。请求格式字段值/说明描述bmRequestType00100001B主机到设备,类请求,接口bRequestCodeSET_E......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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