跳转至

串口产品配置命令

命令集定位

适用范围

本页收录 XU316 免开发产品与主机 MCU 之间经 UART 交互的**串口业务命令**(帧格式为 0x55AA、**大端**传输,见 XU316 UART串口基础协议;启动与基础命令 0x00-0x05 属于基础协议部分)。

本页内容与各产品规格书「产品控制命令」章节同源维护。不同产品固件支持的命令子集可能不同(如 0xF0 为产品特定命令),以产品规格书为准。

命令一览

命令字 命令描述 发送方向 适用说明
0x20 报告应用状态 XU316→MCU 状态变化时或15秒定时上报
0x21 媒体控制 MCU→XU316 XU316转换为HID命令发送给电脑
0x22 报告播放音频流格式和类型 XU316→MCU 用于显示PCM/DSD/MQA/DOP等状态
0x23 设置输入输出模式 MCU→XU316 模式值见产品规格书2.1节模式表
0x24 发送播放音量 XU316→MCU 左右声道各1字节
0x25 发送录音音量 XU316→MCU 预留命令,当前未使用
0x26 切换MCLK MCU→XU316 内部/外部主时钟切换
0x27 设置 unmute MCU→XU316 模式切换时DAC解除静音延迟
0x28 发送音频格式的时间延迟 MCU→XU316 音频格式切换延迟配置
0x29 报告USB连接状态 XU316→MCU USB连接/断开时主动上报
0x30 设置Mute引脚反转 MCU→XU316 适配Mute极性相反的硬件设计
0x31 获取当前音频格式 MCU→XU316 查询当前音频流格式与类型
0xF0 DAC配置选择 MCU→XU316 产品特定命令,非所有产品支持
0xF1 获取固件版本 MCU→XU316 查询XU316固件版本号(3字节BCD主版本)
0xF3 查询完整版本号 MCU→XU316 返回完整ASCII版本字符串(型号_v主.次.修_b构建)
0xEE HID数据透传 XU316→MCU HID经XU316向MCU透传(如MCU OTA)

使用前提

以上命令仅可在设备启动完成后(XU316发送0x05启动完成命令并收到响应后)使用。所有命令均需遵循基础协议帧格式(帧头0x55AA、大端传输、校验和从帧头按字节累加对256求余);每条命令需等待对方确认,默认超时300ms,最多重试4次。

命令详解

报告应用状态(0x20)

XU316发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x20
数据长度: 1字节 - N
数据:    N字节 - 应用运行参数,见4.1-应用运行参数
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

MCU返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x20
数据长度: 1字节 - 0x00
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 该命令用于XU316向MCU报告当前应用状态
  • 通常在状态发生变化时发送,例如音量变化、模式切换等
  • MCU可根据此信息更新UI显示或调整相关功能

命令示例

55 AA 03 20 00 22

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 返回给 XU316 的确认数据
命令字 1字节 20 表示当前确认的是“报告应用状态”命令
数据长度 1字节 00 表示这是一条纯确认帧,不携带额外数据
校验和 1字节 22 从 55 开始到 00 结束,所有字节相加后对 256 取余的结果

媒体控制(0x21)

MCU发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x21
数据长度: 1字节 - 0x01 (即1字节)
数据:    1字节 - 媒体控制命令
          0x00 音量+ / Vol Up
          0x01 音量- / Vol Down
          0x02 播放/暂停 / PLAY/PAUSE
          0x03 下一曲 / NEXT
          0x04 上一曲 / PREV
          0x05 快进 / FORWARD
          0x06 快退 / REWIND
          0x07 静音 / MUTE
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

XU316返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x21
数据长度: 1字节 - 0x00
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 此命令用于MCU向XU316发送媒体控制指令
  • XU316收到指令后会转换为相应的HID命令发送给电脑
  • 适用于实现遥控器或物理按键对媒体播放的控制
控制码 功能 USB HID用途
0x00 音量+ 增加系统音量
0x01 音量- 降低系统音量
0x02 播放/暂停 控制媒体播放状态
0x03 下一曲 切换到下一首歌曲
0x04 上一曲 切换到上一首歌曲
0x05 快进 在当前曲目中快进
0x06 快退 在当前曲目中快退
0x07 静音 切换系统静音状态

命令示例

55 AA 03 21 01 02 26

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 发送给 XU316 的命令
命令字 1字节 21 表示当前命令是“媒体控制”
数据长度 1字节 01 表示后面紧跟着 1 字节的控制码
控制码 1字节 02 表示“播放/暂停”命令
校验和 1字节 26 从 55 开始到控制码结束,所有字节相加后对 256 取余的结果

报告播放音频流格式和类型(0x22)

XU316发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x22
数据长度: 1字节 - 0x02 (即2字节)
数据:    2字节 - 音频流格式和类型,见音频流格式和类型字段
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

MCU返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x22
数据长度: 1字节 - 0x00
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 该命令用于XU316向MCU报告当前音频流的格式和类型
  • 通常在播放开始或格式变化时发送
  • MCU可根据此信息更新显示,如显示PCM/DSD/MQA/DOP等状态

命令示例

55 AA 03 22 00 24

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 返回给 XU316 的确认数据
命令字 1字节 22 表示当前确认的是“报告播放音频流格式和类型”命令
数据长度 1字节 00 表示这是一条纯确认帧,不携带额外数据
校验和 1字节 24 从 55 开始到 00 结束,所有字节相加后对 256 取余的结果

设置输入输出模式(0x23)

MCU发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x23
数据长度: 1字节 - 0x05 (即5字节)
数据:    5字节 - 输入输出模式,见输入输出模式字段
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

XU316返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x23
数据长度: 1字节 - 0x00
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 此命令用于MCU要求XU316切换到特定输入输出模式
  • 通常由用户操作触发,如按下模式选择按钮
  • XU316可能需要重启以加载新模式的固件

命令示例

55 AA 03 23 05 02 00 00 00 00 2C

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 发送给 XU316 的命令
命令字 1字节 23 表示当前命令是“设置输入输出模式”
数据长度 1字节 05 表示后面紧跟着 5 字节的模式数据
输入输出模式 5字节 02 00 00 00 00 示例目标模式数据,具体每个字节的定义由产品规格书决定
校验和 1字节 2C 从 55 开始到最后一个模式字节结束,所有字节相加后对 256 取余的结果

发送播放音量(0x24)

XU316发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x24
数据长度: 1字节 - 0x02 (即2字节)
数据:    2字节
          字节1: 左声道 (0xFF Mute, 0-0dB, -127:-127dB)
          字节2: 右声道 (0xFF Mute, 0-0dB, -127:-127dB)
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

MCU返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x24
数据长度: 1字节 - 0x00
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 该命令用于XU316向MCU报告当前播放音量

命令示例

55 AA 03 24 00 26

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 返回给 XU316 的确认数据
命令字 1字节 24 表示当前确认的是“发送播放音量”命令
数据长度 1字节 00 表示这是一条纯确认帧,不携带额外数据
校验和 1字节 26 从 55 开始到 00 结束,所有字节相加后对 256 取余的结果

发送录音音量(0x25)

XU316发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x25
数据长度: 1字节 - 0x01 (即1字节)
数据:    1字节 - 0xFF Mute,0-0dB -127:-127dB
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

MCU返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x25
数据长度: 1字节 - 0x00
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 该命令用于XU316向MCU报告当前麦克风录音音量
  • 是预留命令,当前未使用

命令示例

55 AA 03 25 00 27

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 返回给 XU316 的确认数据
命令字 1字节 25 表示当前确认的是“发送录音音量”命令
数据长度 1字节 00 表示这是一条纯确认帧,不携带额外数据
校验和 1字节 27 从 55 开始到 00 结束,所有字节相加后对 256 取余的结果

切换MCLK(0x26)

MCU发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x26
数据长度: 1字节 - 1
数据:    1字节 - 0:内部MCLK,1:外部MCLK
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

XU316返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x26
数据长度: 1字节 - 0
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 此命令用于XU316控制切换主时钟源
  • 可切换使用内部时钟或外部时钟
  • 对于某些需要精确同步的音频应用场景很重要

命令示例

55 AA 03 26 01 01 2A

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 发送给 XU316 的命令
命令字 1字节 26 表示当前命令是“切换MCLK”
数据长度 1字节 01 表示后面紧跟着 1 字节的数据区
数据 1字节 01 表示切换到外部 MCLK;如果是 00,则表示切换到内部 MCLK
校验和 1字节 2A 从 55 开始到最后一个数据字节结束,所有字节相加后对 256 取余的结果

设置 unmute(0x27)

MCU发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x27
数据长度: 1字节 - 2
数据:    2字节 - 
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

XU316返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x27
数据长度: 1字节 - 0
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 模式切换时dac的 unmute时间延迟, 单位是毫秒

发送音频格式的时间延迟(0x28)

MCU发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x28
数据长度: 1字节 - 2
数据:    2字节 - 
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

XU316返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x28
数据长度: 1字节 - 0
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 发送音频格式的时间延迟

报告USB连接状态(0x29)

XU316发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x29
数据长度: 1字节 - 0x01 (即1字节)
数据:    1字节 - USB连接状态
          0x00 USB未连接/断开
          0x01 USB已连接
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

MCU返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x29
数据长度: 1字节 - 0x00
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 该命令用于XU316向MCU报告当前USB连接状态
  • 当USB连接状态发生变化时(连接或断开),XU316主动发送此命令
  • MCU可根据此信息更新UI显示或调整相关功能

命令示例

55 AA 03 29 00 2B

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 返回给 XU316 的确认数据
命令字 1字节 29 表示当前确认的是“报告USB连接状态”命令
数据长度 1字节 00 表示这是一条纯确认帧,不携带额外数据
校验和 1字节 2B 从 55 开始到 00 结束,所有字节相加后对 256 取余的结果

设置Mute引脚反转(0x30)

MCU发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x30
数据长度: 1字节 - 0x01
数据:    1字节
          B0: 反转标志
              0x00 = 正常逻辑(高电平解除静音,低电平静音)
              0x01 = 反转逻辑(低电平解除静音,高电平静音)
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

XU316返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x30
数据长度: 1字节 - 0x01
数据:    1字节
          B0: 当前反转标志状态
              0x00 = 正常逻辑
              0x01 = 反转逻辑
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  1. 该命令用于设置Mute引脚的输出逻辑反转
  2. 当某些硬件设计的Mute逻辑与默认相反时,使用此命令进行适配
  3. 配置会自动保存到Flash,断电后保持
  4. 设置后立即生效,并返回当前状态
  • 硬件设计中Mute脚极性与默认相反
  • 需要适配不同硬件版本的设备

命令示例

55 AA 03 30 01 01 34

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头
版本 1字节 03 MCU发送给XU316
命令字 1字节 30 设置Mute引脚反转
数据长度 1字节 01 1字节数据
反转标志 1字节 01 0x01=反转逻辑
校验和 1字节 34 从 55 开始到反转标志结束,所有字节相加后对 256 取余的结果

获取当前音频格式(0x31)

MCU发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0x31
数据长度: 1字节 - 0x00
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

XU316返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0x31
数据长度: 1字节 - 0x02 (即2字节)
数据:    2字节
          字节0: 音频流格式,见4.3节音频流格式表
          字节1: 音频类型,见4.3节音频类型表
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 该命令用于MCU向XU316查询当前播放音频流的格式和类型
  • 返回格式与0x22主动上报命令保持一致
  • 当音频类型为DSD且格式为AUDIO_PCM_44100时,XU316会将其修正为PCM返回
  • 当前无有效音频流时,返回 0xFF 0x00

命令示例

55 AA 03 31 00 33

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 发送给 XU316 的命令
命令字 1字节 31 表示当前命令是“获取当前音频格式”
数据长度 1字节 00 表示后面不携带额外数据
校验和 1字节 33 从 55 开始到 00 结束,所有字节相加后对 256 取余的结果

命令示例

55 AA 00 31 02 03 00 35

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 00 表示这是 XU316 返回给 MCU 的数据
命令字 1字节 31 表示当前响应的是“获取当前音频格式”命令
数据长度 1字节 02 表示后面紧跟着 2 字节的数据区
音频流格式 1字节 03 表示当前格式为 AUDIO_96000(96kHz)
音频类型 1字节 00 表示当前类型为 PCM
校验和 1字节 35 从 55 开始到最后一个数据字节结束,所有字节相加后对 256 取余的结果

DAC配置选择(0xF0)

MCU发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0xF0
数据长度: 1字节 - 4
数据:    4字节
          Byte 0:0: 使能I2C配置DAC  1: 禁止I2C配置DAC
          Byte 1 - 3: reserved
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

XU316返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0xF0
数据长度: 1字节 - 0
数据:    0字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 测试命令用于MCU想XU316设置DAC配置选择。让XU316通过DAC I2C配置DAC还是MCU自己配置DAC
  • 此命令为产品特定命令,不是所有产品都支持。具体支持情况请参考产品规格书说明。

命令示例

55 AA 03 F0 04 00 00 00 00 F6

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 发送给 XU316 的命令
命令字 1字节 F0 表示当前命令是“DAC配置选择命令”
数据长度 1字节 04 表示后面紧跟着 4 字节的数据区
Byte 0 1字节 00 表示使能 XU316 通过 I2C 配置 DAC
Byte 1-3 3字节 00 00 00 预留字节,示例中全部填 00
校验和 1字节 F6 从 55 开始到最后一个数据字节结束,所有字节相加后对 256 取余的结果

获取固件版本命令(0xF1)

MCU发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0xF1
数据长度: 1字节 - 2
数据:    0字节 - 
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

XU316返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0xF1
数据长度: 1字节 - 0
数据:    3字节
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 获取固件版本

命令示例

55 AA 03 F1 02 00 00 F5

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 发送给 XU316 的命令
命令字 1字节 F1 表示当前命令是“获取固件版本命令”
数据长度 1字节 02 表示后面紧跟着 2 字节的数据区
数据 2字节 00 00 示例中的两个字节保留为 00,用于占位
校验和 1字节 F5 从 55 开始到最后一个数据字节结束,所有字节相加后对 256 取余的结果

查询完整版本号(0xF3)

MCU发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0xF3
数据长度: 1字节 - 0x00
数据:    0字节 - 无数据
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

XU316返回

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0xF3
数据长度: 1字节 - N (ASCII版本字符串长度,随型号不同而变)
数据:    N字节 - 完整固件版本字符串(全ASCII)
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 该命令用于MCU向XU316查询完整固件版本号
  • 与0xF1命令(仅返回3字节BCD主版本号 J.M.N)不同,0xF3返回完整的ASCII版本字符串
  • 版本字符串格式为 <型号>_v<主版本>.<次版本>.<修订号>_b<构建号>
  • 例如用户固件返回 hf87611_v8.1.0_b01,工厂固件返回 hf87611_v5.5.8_b01

命令示例

55 AA 03 F3 00 F5

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 03 表示这是 MCU 发送给 XU316 的命令
命令字 1字节 F3 表示当前命令是“查询完整版本号”
数据长度 1字节 00 表示后面不携带额外数据
校验和 1字节 F5 从 55 开始到 00 结束,所有字节相加后对 256 取余的结果

命令示例

55 AA 00 F3 12 68 66 38 37 36 31 31 5F 76 38 2E 31 2E 30 5F 62 30 31 C5

逐段解析

字节段 长度 示例值 说明
帧头 2字节 55 AA 固定帧头,表示一帧协议数据开始
版本 1字节 00 表示这是 XU316 返回给 MCU 的数据
命令字 1字节 F3 表示当前响应的是“查询完整版本号”命令
数据长度 1字节 12 表示后面紧跟着 18 字节的数据区
版本字符串 18字节 68 66 38 37 36 31 31 5F 76 38 2E 31 2E 30 5F 62 30 31 ASCII 字符串 hf87611_v8.1.0_b01
校验和 1字节 C5 从 55 开始到最后一个数据字节结束,所有字节相加后对 256 取余的结果

HID通过XU316透传数据给MCU(0xEE)

XU316发送

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x00
命令字:   1字节 - 0xEE
数据长度: 1字节 - 0x39(57字节), 由于HID协议限制,数据长度必须是57字节
数据:    57字节 - 由于HID协议限制,必须是57字节透传数据
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

MCU返回(可以返回多帧)

帧头:    2字节 - 0x55aa
版本:    1字节 - 0x03
命令字:   1字节 - 0xEE
数据长度: 1字节 - 0x39(57字节), 由于HID协议限制,数据长度必须是57字节
数据:    57字节 - 由于HID协议限制,必须是57字节透传数据
校验和:   1字节 - 从帧头开始按字节求和,结果对256求余

  • 此命令用于HID通过XU316向MCU发起的的透传数据
  • 一般透传的数据是MCU的OTA数据或者把MCU的数据回复给HID

典型业务流程

示例说明

本节字节序列按基础协议帧格式推导(校验和 = 从帧头开始按字节求和,结果对256求余),供开发参考;示例中的模式值取自产品规格书 2.1 节模式表,各产品以自己的规格书为准。

流程一:设备启动握手

设备上电后 XU316 与 MCU 按以下顺序完成启动握手,握手完成后才能使用业务命令:

sequenceDiagram
    participant X as XU316
    participant M as MCU
    X->>M: 0x00 开始启动(含基础信息/上电配置CRC)
    M-->>X: 启动选项(按需置0x01/0x02位)
    opt 需更新基础信息
        X->>M: 0x01 读取产品信息
        M-->>X: 60字节产品基础信息
    end
    opt 需更新上电配置
        X->>M: 0x02 读取上电配置
        M-->>X: 14字节上电配置
    end
    X->>M: 0x03 获取当前输入输出模式
    M-->>X: 5字节模式值(见规格书2.1表)
    X->>M: 0x04 获取当前用户配置
    M-->>X: 14字节用户配置
    X->>M: 0x05 启动完成
    M-->>X: 确认

各命令的完整字节格式与时序细节见《XU316 UART串口基础协议》的「设备启动与初始化」章节。

流程二:切换输入输出模式(0x23)

示例:切换到 S/PDIF1 输入模式(模式值 0x10, 0x80, 0x65, 0x10, 0x03,取自产品规格书 2.1 表)。

MCU发送:

55 AA 03 23 05 10 80 65 10 03 32
字节段 示例值 说明
帧头 55 AA 固定帧头
版本 03 MCU→XU316 命令
命令字 23 设置输入输出模式
数据长度 05 5字节模式数据
模式数据 10 80 65 10 03 目标模式值(见产品规格书2.1表)
校验和 32 从帧头起按字节求和,对256求余

XU316返回: 55 AA 00 23 00 22(纯确认帧)

模式切换后的重启

XU316 可能需要重启以加载新模式的固件。重启后设备会重新走启动握手流程(0x00 命令中的重启原因字段为 0x01 切换模式重启),MCU 应按流程一重新响应。

流程三:接收播放音量上报(0x24)

用户在电脑端调节音量后,XU316 主动向 MCU 上报当前播放音量(示例:左右声道均为 -24dB,即 0xE8):

XU316发送:

55 AA 00 24 02 E8 E8 F5
字节段 示例值 说明
帧头 55 AA 固定帧头
版本 00 XU316→MCU 数据
命令字 24 发送播放音量
数据长度 02 2字节音量数据
左声道 E8 -24dB(0xFF为Mute,0为0dB)
右声道 E8 -24dB
校验和 F5 从帧头起按字节求和,对256求余

MCU返回: 55 AA 03 24 00 26(纯确认帧)

流程四:媒体控制——播放/暂停(0x21)

MCU 侧按键触发播放/暂停(控制码 0x02),XU316 转换为 HID 命令发给电脑:

MCU发送: 55 AA 03 21 01 02 26

XU316返回: 55 AA 00 21 00 20(纯确认帧)

其余控制码(音量±、上一曲、下一曲、快进、快退、静音)见 0x21 命令详解的映射表,帧格式相同,仅数据字节与校验和不同。

流程五:查询当前音频格式(0x31)

MCU发送: 55 AA 03 31 00 33

XU316返回(示例:96kHz PCM):

55 AA 00 31 02 03 00 35
字节段 示例值 说明
音频流格式 03 AUDIO_96000(96kHz),完整对照表见基础协议4.3节
音频类型 00 PCM

流程六:获取固件版本(0xF1)

MCU发送: 55 AA 03 F1 02 00 00 F5

XU316返回(示例:V1.2.5):

55 AA 00 F1 03 01 02 05 FB
字节段 示例值 说明
数据长度 03 3字节版本号
版本数据 01 02 05 主版本.次版本.修订号(V1.2.5)

咨询反馈

点击展开咨询反馈表单
×

提示

公司名:

邮箱地址:

主旨:

正文: