usb学习之11:USB设备、接口、端点和端口的概念

USB设备、接口、端点和端口的概念及地址

概念 定义 地址类型 地址范围 用途
设备 连接到USB总线上的硬件单元,例如鼠标、键盘、存储设备等。 设备地址 1到127 主机通过设备地址与特定的USB设备通信。
接口 设备中用于实现特定功能的逻辑单元。一个设备可以有多个接口。 接口地址 0到255 主机通过设备地址和接口地址与设备中的特定接口通信。
端点 设备中用于数据传输的逻辑单元。每个端点有特定方向(输入或输出)和类型。 端点地址 0x00到0x0F(输出),0x80到0x8F(输入) 主机通过设备地址、接口地址和端点地址与特定的端点通信。
端口 集线器上的物理连接点,用于连接其他USB设备。 端口地址 1到255 主机通过集线器的设备地址和端口地址与特定的端口通信。

通信示例

假设主机需要与一个USB存储设备通信:

  1. 设备地址:主机通过设备地址(例如,地址为1)与USB存储设备通信。
  2. 接口地址:存储设备可能有一个接口(接口地址为0),用于存储功能。
  3. 端点地址:在该接口中,可能有一个批量输入端点(端点地址为0x81)和一个批量输出端点(端点地址为0x02)。
  4. 端口地址:如果该存储设备连接在一个USB集线器上,主机还需要通过集线器的设备地址和端口地址来访问该存储设备。

详细说明

  • 设备地址
    • 范围:1到127。
    • 分配:主机在设备连接后通过枚举过程分配。
    • 用途:唯一标识连接到USB总线上的设备。
  • 接口地址
    • 范围:0到255。
    • 分配:在设备描述符中定义。
    • 用途:区分设备中的不同功能模块。
  • 端点地址
    • 范围:0x00到0x0F(输出端点),0x80到0x8F(输入端点)。
    • 分配:在接口描述符中定义。
    • 用途:指定数据传输的方向和类型,用于数据传输。
  • 端口地址
    • 范围:1到255。
    • 分配:在集线器描述符中定义。
    • 用途:区分集线器上的不同物理连接点。

层次化通信结构

  • 主机设备(通过设备地址)
  • 设备接口(通过接口地址)
  • 接口端点(通过端点地址)
  • 集线器端口(通过端口地址)
posted @ 2025-08-15 15:05  cupid8505  阅读(528)  评论(0)    收藏  举报