USB Compound Device,USB复合设备 ; USB Composite Device,USB组合设备【转】

时间:2022-03-03 14:29:58

本文转载自:https://blog.csdn.net/autumn20080101/article/details/52776863

科普下USB复合设备和USB组合设备的区别。

关键字

Communication Device Class,简称CDC
USB Compound Device,USB复合设备
USB Composite Device,USB组合设备

摘要
Compound Device内嵌Hub和多个Function,每个Function都相当于一个独立的USB外设,有自己的PID/VID/DID。
Composite Device内只有一个Function,只有一套PID/VID/DID,通过将不同的interface定义为不同的类来实现
多个功能的组合。

正文

Compound Device内嵌Hub和多个Function,每个Function都相当于一个独立的USB外设,有自己的PID/VID/DID。

Composite Device内只有一个Function,只有一套PID/VID/DID,通过将不同的interface定义为不同的类来实现多个功能的组
合。

很多人认为一个USB接口上实现多个设备,就是指复合设备,其实,这是不确切的,虽然USB Compound Device和USB Composite Device
都会被百度翻译为USB复合设备。

在一个USB接口上实现多个设备有2中方法,一种是Compound Device,就是复合设备;另一种是Composite Device,就是组合设备。

在USB2.0的标准协议中,定义如下:

When multiple functions are combined with a hub in a single package, they are referred to as a compound device.

A device that has multiple interfaces controlled independently of each other is referred to as a

composite device.

所以,复合设备其实就是几个设备通过一个USB Hub形成的单一设备;组合设备也就是具有多个接口的设备,每个接口代表一个独立的设备。

显然,如果是想同样的功能的话,组合设备的方法要简单很多(可以去看一下USB2.0协议中,USB2.0 Hub的复杂度)。

STM32F103实现的USB转多路串口,属于USB Composite Device,不内嵌Hub,三个CDC设备的PID和VID都是相同。

为了避免某些公司申请的USB复合设备发明专利,STM32F10x组成的产品,可以采用英文名称USB Composite Device,
中文也可以使用比较正规的“USB组合设备”。