[USB协议]USB-HID连接过程

建立 USB HID(Human Interface Device)连接的步骤涉及多个阶段,包括设备连接、设备描述符请求、配置、接口和端点设置,以及 HID 特定描述符和报告的处理。以下是建立 USB HID 连接的详细步骤:

1. 设备连接

当 HID 设备(如键盘、鼠标)连接到 USB 主机(如计算机)时,主机会检测到设备的连接并为其分配一个唯一的地址。

2. 获取设备描述符

主机通过控制传输请求设备描述符:

  • 请求设备描述符:
    • 主机发送 GET_DESCRIPTOR 请求,类型为 DEVICE_DESCRIPTOR。
    • 设备响应包含基本信息,如 USB 版本号、设备类、供应商 ID(VID)、产品 ID(PID)等。

3. 获取配置描述符

主机请求设备的配置描述符:

  • 请求配置描述符:
    • 主机发送 GET_DESCRIPTOR 请求,类型为 CONFIGURATION_DESCRIPTOR。
    • 设备响应包含配置描述符、接口描述符和端点描述符的集合。

4. 解析接口描述符

主机解析配置描述符中的接口描述符,找到 HID 接口:

  • 找到 HID 接口:
    • 接口描述符中的 bInterfaceClass 字段为 0x03,表示 HID 设备。

5. 获取 HID 描述符

主机请求 HID 描述符:

  • 请求 HID 描述符:
    • 主机发送 GET_DESCRIPTOR 请求,类型为 HID_DESCRIPTOR(0x21)。
    • 设备响应包含 HID 描述符,包括 HID 版本、国家代码、报告描述符长度等。

6. 获取报告描述符

主机请求 HID 报告描述符:

  • 请求报告描述符:
    • 主机发送 GET_DESCRIPTOR 请求,类型为 REPORT_DESCRIPTOR(0x22)。
    • 设备响应包含报告描述符,定义了设备的输入、输出和特征报告格式。

7. 设置配置

主机为设备设置配置:

  • 设置配置:
    • 主机发送 SET_CONFIGURATION 请求,选择一个配置(通常是配置描述符中的一个)。

8. 启动数据传输

主机和设备准备好之后,数据传输开始:

  • 中断传输:
    • HID 设备通常使用中断端点进行数据传输。
    • 主机周期性地轮询设备,读取输入报告或发送输出报告。

9. 处理 HID 报告

主机解析 HID 报告描述符并处理数据:

  • 解析报告:
    • 根据报告描述符,主机解析从设备接收到的输入报告。
    • 主机也可以根据报告描述符格式发送输出报告到设备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值