zoukankan      html  css  js  c++  java
  • USB Compound Device,USB复合设备 ; USB Composite Device,USB组合设备【转】

    本文转载自: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组合设备”。

  • 相关阅读:
    我败在了盲目和没有计划
    跟我一起学.NetCore目录
    跟我一起学.NetCore之依赖注入作用域和对象释放
    跟我一起学.NetCore之Asp.NetCore启动流程浅析
    std::unordered_map
    Android apps for “armeabi-v7a” and “x86” architecture: SoC vs. Processor vs. ABI
    android studio 配置相关问题
    shell script
    vscode配置
    linux常用命令笔记
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/10057962.html
Copyright © 2011-2022 走看看