--- title: XMOS EQ UART 控制协议与命令集 description: EQ 参数配置与控制的 UART 串口通信协议规范,涵盖帧格式、命令集与字段说明,适用于 XU316 等相关产品。 keywords: EQ, UART, 串口协议, 通信协议, 命令集, XU316,免开发固件, Phaten Audio --- # XMOS EQ UART 控制协议与命令集 --8<-- "common/phaten_xmos_support_img.md" ## 1. 协议基础规范 ### 1.1 底层通信协议 基于 UART (Universal Asynchronous Receiver/Transmitter) 协议。 | 参数 | 值 | | :--- | :--- | | 波特率 | 115200 bps | | 数据位 | 8 | | 奇偶校验 | 无 | | 停止位 | 1 | | 数据流控 | 无 | ### 1.2 帧格式与数据传输 **通用帧格式** 所有命令和响应均遵循以下帧格式: | 字段 | 字节数 | 说明 | | :--- | :--- | :--- | | 帧头 | 2 | 固定为 `0x55 0xAA` | | 版本 | 1 | 协议版本号 (通常为 `0x00`) | | 命令字 | 1 | 指示帧的功能 (如 `0x30`) | | 数据长度 | 1 | 后续数据的长度 N | | 数据 | N | 具体的数据内容 | | 校验和 | 1 | 从帧头开始按字节求和,结果对 256 求余 (Sum % 256) | **数据传输说明** * **字节序**:所有大于1个字节的数据均采用 **小端模式 (Little Endian)** 传输(注:与XU316标准协议的大端序不同,请以本协议为准)。 * **浮点数**:遵循 IEEE 754 float 格式。 --- ## 2. 协议命令集 ### 2.1 命令分类概览 | 命令字 | 命令描述 | 发送方向 | 功能说明 | | :--- | :--- | :--- | :--- | | **0x30** | SET_EQ_MODE | 主机→设备 | 切换当前的 EQ 模式 | | **0x31** | GET_EQ_MODE | 主机→设备 | 获取当前 EQ 模式信息 (模式号、增益、名称) | | **0x32** | SET_MODE_GAIN_AND_NAME | 主机→设备 | 设置指定模式的整体增益和名称 | | **0x33** | SET_EQ_PARAMS | 主机→设备 | 发送单个滤波器的参数 (Freq, Q, Gain 等) | | **0x34** | GET_EQ_PARAMS | 主机→设备 | 读取单个滤波器的参数 | | **0x35** | RESET_EQ_PARAMS | 主机→设备 | 复位 EQ 参数 (恢复预设) | --- ## 3. 基础功能命令详解 ### 3.1 切换 EQ 模式 (0x30) **主机发送** | 字节位置 | 长度 | 内容 | 说明 | | :--- | :--- | :--- | :--- | | Frame Header | 2 | `0x55 0xAA` | 固定帧头 | | Version | 1 | `0x00` | 协议版本 | | Command | 1 | `0x30` | 命令字 | | Length | 1 | `0x01` | 数据长度 | | Data | 1 | `Mode` | 模式值
0-5: 预设模式
6-8: 用户模式
9: Bypass | | Checksum | 1 | `Sum` | 校验和 | **设备端处理** * 直接设置当前运行的 EQ 模式。 * 不涉及参数传输或计算。 --- ### 3.2 获取当前 EQ 模式信息 (0x31) **主机发送** | 字节位置 | 长度 | 内容 | 说明 | | :--- | :--- | :--- | :--- | | Frame Header | 2 | `0x55 0xAA` | 固定帧头 | | Version | 1 | `0x00` | 协议版本 | | Command | 1 | `0x31` | 命令字 | | Length | 1 | `0x00` | 无数据 | | Checksum | 1 | `Sum` | 校验和 | **设备返回 (响应)** | 字节位置 | 长度 | 内容 | 说明 | | :--- | :--- | :--- | :--- | | Frame Header | 2 | `0x55 0xAA` | 固定帧头 | | Version | 1 | `0x00` | 协议版本 | | Command | 1 | `0x31` | 命令字 | | Length | 1 | `0x15` | 数据长度 (21字节) | | Data | 1 | `Mode` | 当前模式值 | | | 4 | `Gain` | 整体增益 (int32, 小端序, 范围 0~-50dB) | | | 16 | `Name` | 模式名称 (UTF-8 字符串) | | Checksum | 1 | `Sum` | 校验和 | --- ### 3.3 设置模式整体增益和名称 (0x32) **主机发送** | 字节位置 | 长度 | 内容 | 说明 | | :--- | :--- | :--- | :--- | | Frame Header | 2 | `0x55 0xAA` | 固定帧头 | | Version | 1 | `0x00` | 协议版本 | | Command | 1 | `0x32` | 命令字 | | Length | 1 | `0x15` | 数据长度 (21字节) | | Data | 1 | `Mode` | 目标模式值 (0-9) | | | 4 | `Gain` | 整体增益 (int32, 小端序) | | | 16 | `Name` | 模式名称 (UTF-8 字符串) | | Checksum | 1 | `Sum` | 校验和 | **设备端处理** * 设置指定模式的增益和名称,自动应用到所有采样率。 --- ### 3.4 发送 EQ 参数 (0x33) **主机发送** | 字节位置 | 长度 | 内容 | 说明 | | :--- | :--- | :--- | :--- | | Frame Header | 2 | `0x55 0xAA` | 固定帧头 | | Version | 1 | `0x00` | 协议版本 | | Command | 1 | `0x33` | 命令字 | | Length | 1 | `0x15` | 数据长度 (21字节) | | Data | 1 | `Mode` | 模式值 (0-9) | | | 1 | `Band` | 滤波器索引 (0-7) | | | 1 | `Type` | 滤波器类型 (见下表) | | | 4 | `Freq` | 中心频率 Hz (float, 小端序) | | | 4 | `Q` | Q值 (float, 小端序) | | | 4 | `BW` | 带宽 Hz (float, 小端序) | | | 4 | `Gain` | 增益 dB (float, 小端序) | | Checksum | 1 | `Sum` | 校验和 | **滤波器类型码** | 代码 | 类型 | 代码 | 类型 | | :--- | :--- | :--- | :--- | | 0x00 | Bypass | 0x06 | 带阻 (Band Reject) | | 0x01 | 全通 (All Pass) | 0x07 | 陷波 (Notch) | | 0x02 | 峰值 (Peak) | 0x08 | 恒定Q (Constant Q) | | 0x03 | 低通 (Low Pass) | 0x09 | 低架 (Low Shelf) | | 0x04 | 高通 (High Pass) | 0x0A | 高架 (High Shelf) | | 0x05 | 带通 (Band Pass) | | | --- ### 3.5 读取 EQ 参数 (0x34) **主机发送** | 字节位置 | 长度 | 内容 | 说明 | | :--- | :--- | :--- | :--- | | Frame Header | 2 | `0x55 0xAA` | 固定帧头 | | Version | 1 | `0x00` | 协议版本 | | Command | 1 | `0x34` | 命令字 | | Length | 1 | `0x02` | 数据长度 | | Data | 1 | `Mode` | 模式值 (0-9) | | | 1 | `Band` | 滤波器索引 (0-7) | | Checksum | 1 | `Sum` | 校验和 | **设备返回 (响应)** | 字节位置 | 长度 | 内容 | 说明 | | :--- | :--- | :--- | :--- | | Frame Header | 2 | `0x55 0xAA` | 固定帧头 | | Version | 1 | `0x00` | 协议版本 | | Command | 1 | `0x34` | 命令字 | | Length | 1 | `0x15` | 数据长度 (21字节) | | Data | 1 | `Mode` | 模式值 | | | 1 | `Band` | 滤波器索引 | | | 1 | `Type` | 滤波器类型 | | | 4 | `Freq` | 中心频率 (float, 小端序) | | | 4 | `Q` | Q值 (float, 小端序) | | | 4 | `BW` | 带宽 (float, 小端序) | | | 4 | `Gain` | 增益 (float, 小端序) | | Checksum | 1 | `Sum` | 校验和 | --- ### 3.6 复位 EQ 参数 (0x35) **主机发送** | 字节位置 | 长度 | 内容 | 说明 | | :--- | :--- | :--- | :--- | | Frame Header | 2 | `0x55 0xAA` | 固定帧头 | | Version | 1 | `0x00` | 协议版本 | | Command | 1 | `0x35` | 命令字 | | Length | 1 | `0x01` | 数据长度 | | Data | 1 | `Mode` | 模式号 (0-9)
`0xFF` 表示复位所有模式 | | Checksum | 1 | `Sum` | 校验和 | **设备返回 (响应)** | 字节位置 | 长度 | 内容 | 说明 | | :--- | :--- | :--- | :--- | | Frame Header | 2 | `0x55 0xAA` | 固定帧头 | | Version | 1 | `0x00` | 协议版本 | | Command | 1 | `0x35` | 命令字 | | Length | 1 | `0x01` | 数据长度 | | Data | 1 | `Status` | 状态码 (0x00=成功, 0x01=失败) | | Checksum | 1 | `Sum` | 校验和 | ## 咨询反馈
点击展开咨询反馈表单 --8<-- "common/customer_form.md"