打印
[牛人杂谈]

usb cdc 协议

[复制链接]
851|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yiyigirl2014|  楼主 | 2019-6-29 21:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
什么是CDC类 (Communication Device Class)

  USB的CDC类是USB通信设备类 (Communication Device Class)的简称。CDC类是USB组织定义的一类专门给各种通信设备(电信通信设备和中速网络通信设备)使用的USB子类。根据CDC类所针对通信设 备的不同,CDC类又被分成以下不同的模型:USB传统纯电话业务(POTS)模型,USB ISDN模型和USB网络模型。其中,USB传统纯电话业务模型,有可分为直接线控制模型(Direct Line Control Model)、抽象控制模型(Abstract Control Model)和USB电话模型(USB Telephone Model),如图1所示。本文所讨论的虚拟串口就属于USB传统纯电话业务模型下的抽象控制模型。

通常一个CDC类又由两个接口子类组成通信接口类(Communication Interface Class)和数据接口类(Data Interface Class)。笔者主要通过通信接口类对设备进行管理和控制,而通过数据接口类传送数据。这两个接口子类占有不同数量和类型的终端点 (Endpoints),如图2所示。对于前面所述的不同CDC类模型,其所对应的接口的终端点需求也是不同的。如所需要讨论的抽象控制模型对终端点的需 求,通信接口类需要一个控制终端点(Control Endpoint)和一个可选的中断(Interrupt)型终端点,数据接口子类需要一个方向为输入(IN)的周期性(Isochronous)型终端 点和一个方向为输出(OUT)的周期性型终端点。其中控制终端点主要用于USB设备的枚举和虚拟串口的波特率和数据类型(数据位数、停止位和起始位)设置 的通信。输出方向的非同步终端点用于主机(Host)向从设备(Slave)发送数据,相当于传统物理串口中的TXD线(如果从单片机的角度看),输入方 向的非同步终端点用于从设备向主机发送数据,相当于传统物理串口中的RXD线。

USB数据线连接引发的与PC连接不稳定问题:由于没有接上USB的GND线,导致CDC通信无法正常建立连接,接上GND之后,情况就好多了。

硬件接线总结:该连接的电气特性接线,一根都不能少连,否则会导致意外情况的出现,因为不符合物理特性,自然软件也就无法正常工作了。

使用特权

评论回复
沙发
yiyigirl2014|  楼主 | 2019-6-29 21:47 | 只看该作者
新唐的M4支持这个的,说明新唐的M4非常强大。

使用特权

评论回复
板凳
wanduzi| | 2019-6-29 22:20 | 只看该作者
多谢分享,可以做虚拟串口

使用特权

评论回复
地板
598330983| | 2019-6-30 18:41 | 只看该作者
学习一下,这个貌似很实用

使用特权

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

本版积分规则

199

主题

3461

帖子

10

粉丝