USB HID基础协议¶
协议概述¶
功能定位与范围
本文档描述 XU316 免开发固件设备与 PC 端 GUI 软件之间经 USB HID 通信的基础协议:数据包结构、设备识别方式、通信机制与时序约定。
经 HID 通道承载的业务命令按功能域组织:EQ与音效控制命令(HID码 0x8A-0xA6)与 HID设备控制命令(固件升级/重启/EQ段数/升频/EX3D,0xA7-0xB4、0x80-0x81);串口通道的基础协议见 XU316 UART串口基础协议 与 EQ串口基础协议。
一、协议基础规范¶
1.1 底层通信协议¶
基于USB HID (Human Interface Device) 协议
| 参数 | 值 |
|---|---|
| 传输方式 | USB HID |
| 数据包大小 | 64字节(包含1字节Report ID 0x01) |
| 有效数据 | 63字节 |
| 字节序 | 小端序(Little Endian) |
| 同步头 | 0x77(固定第1字节,Report ID 为第0字节) |
1.2 HID设备识别¶
| 参数 | 值 | 说明 |
|---|---|---|
| Usage Page | 0xff82 或 0xff83 | HID设备类型标识 |
| Report ID | 0x01 | 发送时作为第一个字节(第0字节) |
| 传输模式 | 非阻塞模式 | 避免GUI卡顿 |
1.3 通信机制¶
数据传输说明
- 所有数据均采用小端序(Little Endian)传输
- 同步头 0x77 固定在第 1 字节(第 0 字节为 Report ID = 0x01)
- 建议命令间隔5ms以上,避免设备处理不及时
1.4 数据包结构¶
64字节数据包约定
- PC发送与设备响应均使用固定长度 64 字节
- 第0字节固定为
report_id = 0x01 - 第1字节固定为
sync_header = 0x77 - 第2字节为
cmd_header(命令头) - 其余未使用字节填充 0
二、时序要求¶
时序要求
- 命令间隔: 建议5ms以上
- 读取延时: 发送读取请求后等待100ms
- 模式切换: 完成后等待设备内部状态稳定
三、参数格式与错误处理¶
3.1 参数格式¶
- 浮点参数:
freq、q、bw、gain使用 IEEE 754float(小端序) - 整体增益:
int32(小端序,范围-50dB ~ 0dB)
3.2 错误处理¶
- 数据包长度检查
- 同步头验证
- 通信失败时需要重新建立连接并重试

