科普下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组合设备”。 |
|