USB通信设备类CDC简介
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 端点的标准端点描述符
USB协议还是一个很复杂,很庞大的协议了. CDC USB Driver支持以下子类:ECM、NCM、ACM、OBEX、设备管理 chenqianqian 发表于 2023-2-22 18:09
USB协议还是一个很复杂,很庞大的协议了.
是的,但是我们会用就可以啦。 星辰大海不退缩 发表于 2023-2-23 16:58
CDC USB Driver支持以下子类:ECM、NCM、ACM、OBEX、设备管理
一般用的就是ACM,其他我用的比较少。 usbcdc可以双向通信吗 usb cdc 就是虚拟串口吗 STM32 USB FS CDC是STM32微控制器的一个功能,它实现了USB FS(全速USB)和CDC(通用数据通信)协议,可以将STM32芯片作为USB CDC设备使用。 如何修改USB CDC成为自定义USB Bulk批量传输设备 怎样判断一个USB设备的类型 cdc 就是虚拟串口吗 在使用时,需要进行相应的配置和编程,并注意USB初始化和中断处理等细节问题。 在程序中添加USB初始化代码和USB中断处理代码,以便能够正确地进行USB通信。在中断处理函数中,一般需要处理USB传输完成和USB错误等情况。 在stm32微控制器中,需要将USB接口引脚与STM32CubeMX工具进行相应的配置,使其支持USB通信设备类CDC协议。 需要将CDC库文件添加到工程中,并进行相应的初始化。一般情况下,可以通过STSW-STM32102软件包中提供的CDC库文件来实现。 stm32 USB通信设备类CDC(Communication Device Class)是一种常用的USB通信协议,可以将stm32微控制器连接到计算机或其他设备上,实现串口通信功能。 stm32 USB通信设备类CDC是一种非常实用的USB通信协议,可以方便地将stm32微控制器与计算机或其他设备进行通信。 很复杂,我一直不知道怎么用! louliana 发表于 2023-4-9 14:37
usbcdc可以双向通信吗
可以啊,只是有一主一从。 Undshing 发表于 2023-4-11 21:55
cdc 就是虚拟串口吗
对的,就是虚拟串口
页:
[1]
2