This commit is contained in:
PhatenIoT-yan
2026-03-09 16:50:37 +08:00
parent 14544eccd3
commit e469ee0144
55 changed files with 4539 additions and 417 deletions

View File

@@ -150,9 +150,9 @@ HF86611_VB1/HF86611Q_VB1提供多种输入输出模式包括USB输入/I²S输
| 1 | GND | P | 模组地 |
| 2 | 3V3 | P | 模组3.3V供电 |
| 3 | X1D11 | I/O | 连接Pin 16 MCLK |
| 4 | X1D10 | I/O | S/PDIF通道4输入 |
| 4 | X1D01 | I/O | S/PDIF通道4输入 |
| 5 | X1D09 | I/O | NC |
| 6 | X1D01 | I/O | NC |
| 6 | X1D10 | I/O | NC |
| 7 | X1D00 | I/O | NC |
| 8 | X0D11 | I/O | UART_RX连接MCU_TX |
| 9 | X0D00 | I/O | UART_TX连接MCU_RX |

View File

@@ -172,10 +172,10 @@ HF86611_VC1/HF86611Q_VC1提供多种输入输出模式包括USB输入/I²S输
| 28 | X0D00 | I/O | UART_TX连接MCU_RX |
| 29 | X0D11 | I/O | UART_RX连接MCU_TX |
| 30 | X1D00 | I/O | NC |
| 31 | X1D01 | I/O | NC |
| 31 | X1D10 | I/O | NC |
| 32 | GND | P | 模组地 |
| 33 | X1D09 | I/O | NC |
| 34 | X1D10 | I/O | S/PDIF通道4输入 |
| 34 | X1D01 | I/O | S/PDIF通道4输入 |
| 35 | X1D11 | I/O | 连接Pin 15 X0D39 |
| 36 | GND | P | 模组地 |
| 37 | GND | P | 模组地 |

View File

@@ -10,18 +10,27 @@ login: true
本篇介绍A316_V71_GAME_V1开发板的主要功能及各按钮的使用方法。
![产品图片](/assets/images/aimic/316_game/A316_game_v1_usedimg.png)
![产品图片](/assets/images/aimic/316_game/A316_game_v1_usedimgcopy.png)
## 1. 3.5mm耳机孔
位于开发板顶部可连接标准3.5mm耳机。虚拟7.1声道模式, 初次使用可能需要参考[设置电脑音频输出为7.1声道](../../hifi_audio/a316_1926v1/used.md#4选择需要的声道-请根据实际需要的音响环境选择)
## 3.5mm耳机孔
位于开发板顶部可连接标准3.5mm耳机。7.1声道模式, 初次使用可能需要参考[设置电脑音频输出为7.1声道](../../hifi_audio/a316_1926v1/used.md#4选择需要的声道-请根据实际需要的音响环境选择)
<!-- 长按开启或关闭AI降噪
1、长按开启AI降噪绿灯常亮<br>
2、长按关闭AI降噪绿灯灭<br>
3、可与短按的模式同时使用表现为红绿黄色、蓝绿青色混色灯光<br> -->
## 按键功能说明
[👉🏻📹__点击查看视频说明__👈🏻](/assets/images/evb/a316_v71_game_v1/0.mp4)
## 2. 按键功能说明
=== "中央功能按键"
- **功能按键**
- 短按:切换音频模式
- 长按开启或关闭AI降噪
<!-- - 长按开启或关闭AI降噪 -->
!!! note "音频模式说明"
短按切换模式:
@@ -31,12 +40,6 @@ login: true
3、AI 真7.1 FPS蓝灯常亮<br>
4、AI 真7.1 3A蓝灯闪烁<br>
长按开启或关闭AI降噪
1、长按开启AI降噪绿灯常亮<br>
2、长按关闭AI降噪绿灯灭<br>
3、可与短按的模式同时使用表现为红绿黄色、蓝绿青色混色灯光<br>
=== "左侧边缘拨动开关"
- **麦克风一键静音**
- 下拨:静音
@@ -52,7 +55,63 @@ login: true
- **麦克风音量减**
## 3. 音频试听工具
## EQ调试说明
!!! note "注意"
当前切换模式,会重新识别设备,所以每次切换模式都需要在网页重新连接一次设备
__量产版本不会掉USB__
配合本地EQ调试网页或[网页版](https://phaten-audio.com/eqgame/)使用 __苹果电脑和手机暂不支持__ <br/>
[👉🏻📹__点击查看视频说明__👈🏻](/assets/images/evb/a316_v71_game_v1/2.mp4)
### 使用方法
1、 打开[网页版](https://phaten-audio.com/eqgame/),插入设备,在网页右上角连接开发板。[👉🏻📹__点击查看视频说明__👈🏻](/assets/images/evb/a316_v71_game_v1/3.mp4)<br>
![连接开发板](/assets/images/evb/a316_v71_game_v1/before%20connected2.png)
2、 连接设备后,在网页左边菜单栏选择空间音频。<br>
![控件说明](/assets/images/evb/a316_v71_game_v1/connected%20speaker%20placement2.png)
3、 游戏内设置。[👉🏻📹__点击查看视频说明__👈🏻](/assets/images/evb/a316_v71_game_v1/4.mp4)<br>
![游戏内设置](/assets/images/evb/a316_v71_game_v1/ingameset.png)
## dfu升级工具
使用本地化的升级方式。[前往下载页面](../../../services_support/tools_software/index.md)
![升级工具内容](/assets/images/evb/a316_v71_game_v1/game_v71_dfu_file_img.png)
### 升级过程:
1. 更新固件将新的update固件放入bin目录下
![更新固件](/assets/images/evb/a316_v71_game_v1/game-dfu01.png)
2. 更新update的bat文件内容保证更新固件名称一致保持文件内容。将设备模式短按为红色灯常亮再运行bat文件。
![更新bat文件](/assets/images/evb/a316_v71_game_v1/game-dfu02.png)
3. 正常升级会出现进度条和提示。升级完成可以重新拔插设备。<br>
!!! note "注意"
不同的版本升级需要更换固件与修改bat文件
修改bat脚本内容
## 常见问题处理
1、 AI 真7.1 3A模式蓝灯闪烁或AI 真7.1 FPS模式蓝灯常亮 在Win11电脑上不能播放声音
确保设备插入电脑能识别设备。查看设备系统属性-高级。设备要在16bit播放原因可能是以前用过其它的同类产品导致设备缓存请手动选择16bit播放
![图片](/assets/images/evb/a316_v71_game_v1/gameset.png)
---
2、初次使用AI 真7.1 FPS模式蓝灯常亮只有2声道
进入电脑的声音设置
配置扬声器 :同样在鼠标右击扬声器,点击【配置扬声器】,选择需要的声道,请根据实际需要的音响环境选择
参考[设置电脑音频输出为7.1声道](../../hifi_audio/a316_1926v1/used.md#4选择需要的声道-请根据实际需要的音响环境选择)
---
## 音频试听工具
| 工具名称 | 工具下载 |
| --- | --- |

View File

@@ -72,6 +72,52 @@ keywords: A316固件开发, XU316通信问题, USB设备供电, 固件开发FAQ,
</div>
### Q3: 底板上电后XMOS-A316模组未发送任何命令
<div class="grid" markdown>
=== "问题现象"
- 底板上电后XMOS-A316模组没有通过串口发送命令
=== "可能原因"
1. 供电异常
- 底板未给模组供电
- 焊接不牢固
2. 硬件连接问题
- 串口引脚连接错误
=== "排查步骤"
1. 测量电压
- 检查模组的 0.9V、1.8V、3.3V 电压是否正常
2. 检查电源能力
- 0.9V 要求 1A 以上
- 3.3V/1.8V 要求 300mA 以上
3. 检查IO连接
- 对照硬件参考设计排查IO连接
- 对照规格书确认IO定义
</div>
### Q4: XMOS-A316模组偶尔发送 0x00 命令
<div class="grid" markdown>
=== "问题现象"
- 模组通过串口偶尔发送 0x00 命令
=== "问题分析"
1. 供电不稳定
- 供电问题导致模组重启
2. 异常重启机制
- 模组仅在两种情况下发送 0x00
- 上电启动时发送4次
- 切换不支持的输入/输出模式导致失败重启后
=== "解决方案"
- 检查底板给模组的供电稳定性
</div>
## 设备识别问题
### Q1: 设备在PC上正常识别和播放但手机无法识别设备
@@ -99,6 +145,138 @@ keywords: A316固件开发, XU316通信问题, USB设备供电, 固件开发FAQ,
</div>
## 协议与命令交互
### Q1: 0x00~0x05 初始化命令的注意事项
<div class="grid" markdown>
=== "通信原则"
- 必须遵循“有收必有发”原则
- 模组主动发送命令后必须收到MCU的回复才会继续发送后续命令
=== "0x00命令详解"
- **触发时机**:模组上电后发送
- **发送频率**连续发送4次间隔300ms
- **MCU响应**必须在4次发送结束前回复否则模组将判定启动失败进入默认模式
</div>
### Q2: 如何修改设备信息 (0x01命令)
<div class="grid" markdown>
=== "操作说明"
- 严格按照协议文档格式发送
- 推荐使用官方提供的串口协议测试脚本进行测试和生成命令
- 脚本包含输入设备信息的功能,可供参考
</div>
### Q3: 启动后为何未收到 0x20 命令
<div class="grid" markdown>
=== "原因说明"
- 0x20 命令目前未应用到当前固件中,因此不会发送。
</div>
### Q4: 0x22 命令为何自动发送
<div class="grid" markdown>
=== "功能说明"
- **作用**:返回当前音频流格式
- **触发机制**
- 启动成功后 1秒内无操作自动发送
- 切换输入/输出模式后 1秒内自动发送
</div>
## 模式切换与音频控制
### Q1: 0x23 切换输入/输出模式注意事项
<div class="grid" markdown>
=== "注意事项"
1. **确认固件支持**
- 发送前确认固件支持该模式(参考固件介绍或测试脚本)
- 发送不支持的模式会导致模组重启
2. **握手流程**
- MCU发送 0x23 (切换模式)
- 模组返回 0x23 并发送 0x04 (请求确认)
- MCU回复 0x04 (确认模式) -> **注意模式值必须一致**
- 模组发送 0x05 (模式切换完成)
</div>
### Q2: 切换模式后无声或无数据输出
<div class="grid" markdown>
=== "排查步骤"
1. **检查通信**
- 确认是否收到模组的返回命令,确保切换成功
2. **检查硬件**
- 对照固件介绍,检查输入/输出模式对应的引脚连接如IIS/DSD引脚
</div>
### Q3: 切换模式时出现静音或断续
<div class="grid" markdown>
=== "原因分析"
- MCU未收到回复而重复发送切换命令
- 切换过程中的信号不稳定
=== "建议方案"
- 切换模式前拉低 Mute 脚(静音)
- 确认切换成功后拉高 Mute 脚(恢复输出)
</div>
### Q4: 0x21 音量控制命令无效
<div class="grid" markdown>
=== "控制逻辑"
- **0x21 作用**:控制 PC 端系统音量(通过 HID
- **流程**
1. MCU 发送 0x21 -> 模组
2. 模组 -> PC (HID音量调节)
3. PC 音量变化 -> 模组
4. 模组 发送 0x24 -> MCU
5. MCU 接收 0x24 后调节实际 DAC/功放音量
- **结论**:不能直接用 0x21 调节 DAC 音量,需处理 0x24 回调。
</div>
## 其他功能咨询
### Q1: 固件是否支持 MQA 格式
<div class="grid" markdown>
=== "说明"
- **支持版本**:带 "Q" 后缀的固件(如 xxxx_Q.bin
- **不支持版本**:不带 "Q" 后缀的固件
</div>
### Q2: 模组使用内部时钟还是外部时钟
<div class="grid" markdown>
=== "说明"
- **默认**:使用内部时钟
- **切换**:可通过 0x26 命令切换为外部时钟
- **限制**SPDIF-IN 模式下只能使用内部时钟
</div>
## 咨询反馈
<details>
<summary>点击展开咨询反馈表单</summary>

View File

@@ -0,0 +1,49 @@
问题1底板上电后XMOS-A316模组没有通过串口发送命令出来。
回答:这可能是以下几种情况导致的:
1.底板没有给 XMOS-A316模组 供上电。这个情况可能是焊接不牢固或者硬件设计有关。
2.串口引脚没有接好。
排查:
1.先测量模组的 0.9V 、1.8V 、3.3V 电压是否正常,不正常检查供电部分电路。
2.查看 供电部分dc-dc 电流能力是否满足如0.9V 要求 1A以上3.3V/1.8V 要求 300mA 以上。
3.对比硬件参考设计排查IO连接是否正常。
4.对照规格书查看IO 是否与定义一致。
问题2底板上电后XMOS-A316模组通过串口 会偶尔发送 0x00 命令。
回答偶尔发送0x00命令的话应该是底板给XMOS-A316模组供电不问题导致的。
XMOS-A316模组只有在两种情况下会发送0x00命令
1.XMOS-A316模组上电的时候会发送4次0x00命令
2.XMOS-A316模组发送0x23命令切换输入/输出模式的时候,当前的固件没有这个输入/输出模式的时候会切换失败然后就重启紧接着发送4次0x00命令
问题30x01命令应该怎样修改设备信息这个命令有什么要求吗
回答:这个命令就按照协议文档上进行发送就可以,如果不知道怎么发送,可以用我们网站上提供的串口协议测试脚本,上面提供了输入设备信息的功能,运行后可以参考那里面收发的命令。
问题4当前固件是否支持MQA格式的音频
回答网站上的固件都有对应的支持MQA格式音频的固件带Q的固件和不支持MQA格式音频的固件不带Q的固件
问题50x00这个命令MCU返回的时候有什么注意事项
回答0x00这个命令是XMOS-A316模组上电后发送的上电后会连续发送4次每次间隔300msMCU要在这4次内返回对应的命令否则会上电未成功进入到默认模式中。
问题60x00~0x05命令的通讯有什么注意事项吗
回答00~05的命令都必须遵循有收必有发的原则。XMOS-A316模组主动发送的MCU要返回对应的命令给XMOS-A316模组后XMOS-A316模组才会继续发送后面的命令。
问题7为什么MCU发送0x05命令完成启动后却没有看到XMOS-A316模组发送0x20命令发送出来
回答0x20命令目前没有应用到固件中。
问题8在发送0x23切换输入/输出模式命令的时候,需要注意那些地方?
回答:
1.要先确认当前XMOS-A316模组中烧录的固件有哪些模式这个可以参考网站上的固件介绍也可以使用网站上提供的串口协议测试脚本。如果发送当前固件不存在的模式的0x23命令XMOS-A316模组会重启。
2.XMOS-A316模组接收到MCU发送的模式对应的0x23命令后会返回0x23命令并发送0x04命令这时候MCU要返回0x04命令之后XMOS-A316模组会返回对应模式的0x05命令。
3.MCU发送的0x04中的模式要与0x23中的模式一致。
问题9切换输入/输出模式后没有声音出来data0也没有数据输出。这是怎么回事
回答:
1.切换模式没有切换成功需要看一下串口命令的收发是否收到了XMOS-A316模组的返回命令。
2.输入/输出模式对应的引脚没有接对,需要对比一下网站上的固件介绍。
问题10切换输入/输出模式后,有时候会有一段时间的静音,有时候会断断续续的。
回答这种情况可能是MCU设定了未接收到某个命令后重新或者重复发送切换模式的命令导致的。建议切换模式的时候将XMOS-A316模组的mute脚拉低等到模式确认切换成功后再将mute脚拉高使其正常输出信号。
问题11XMOS-A316模组使用的是内部时钟还是外部时钟
回答XMOS-A316模组默认使用内部时钟也可以接外部时钟然后用0x26命令进行切换。
spdif-in的几个模式只能使用内部时钟。
问题12为什么0x21媒体控制命令里面的音量调节只能调节PC端的音量条不能实际控制音量大小
回答0x21媒体控制这个命令的具体流程是MCU发送0x21给316316收到指令后会转换为相应的HID命令发送给PC端PC端的音量变化后会发送对应的值给316316发送0x24命令给MCUMCU接收到0x24命令后去调节dac功放的音量。
问题130x22这个命令是怎么回事为什么会自动发送
回答0x22这个命令是返回音频流格式的命令具体的音频流格式可以去看网站上的说明XMOS-A316模组启动成功后若是1秒内不做任何操作就会自动发送这个命令。切换输入/输出模式后1秒内也会发送这个命令。

View File

@@ -10,36 +10,41 @@ login: true
## Windows 系统配置说明
### Windows 10 系统配置
1. 安装驱动程序
- 如果使用我们提供的 demo 板和音频解码模组,且没有自己的驱动,需要先安装对应的驱动程序
- <a href="javascript:void(0);" onclick="checkLogin('/assets/download/a316-8711-5.1make/a316demo驱动.zip')">下载地址</a>
1. 安装驱动程序 **可选**
- 如果使用我们提供的 demo 板和音频解码模组,有必须安装驱动的说明,才需要先安装对应的驱动程序
- <a href="javascript:void(0);" onclick="checkLogin('/assets/download/a316-8711-5.1make/a316demo驱动.zip')">下载地址</a>
2. 进入声音设置
- 打开运行Win+R
- 输入【control】命令
- 按【确定或回车】
- 在控制面板中选择【声音】点击进入
![控制板面.jpg](/assets/images/speaker/控制板面.jpg)
- 打开运行Win+R
- 输入【control】命令
- 按【确定或回车】
- 在控制面板中选择【声音】点击进入
![控制板面.jpg](/assets/images/speaker/控制板面.jpg)
3. 配置输出采样率与位深度
- 在【声音】设置中选择【播放】下的扬声器
- 鼠标右击,点击【属性】
- 选择高级
![位深度采样率.jpg](/assets/images/speaker/位深度采样率.jpg)
- 在【声音】设置中选择【播放】下的扬声器
- 鼠标右击,点击【属性】
- 选择高级
![位深度采样率.jpg](/assets/images/speaker/位深度采样率.jpg)
4. 配置扬声器
- 在鼠标右击扬声器
- 点击【配置扬声器】
![配置扬声器.jpg](/assets/images/speaker/配置扬声器.jpg)
- 在鼠标右击扬声器
- 点击【配置扬声器】
![配置扬声器.jpg](/assets/images/speaker/配置扬声器.jpg)
5. 选择声道配置
- 根据实际需要的音响环境选择
- 选择后设置成功,可以重新启动设备
![选声道.jpg](/assets/images/speaker/选声道.jpg)
- 根据实际需要的音响环境选择
- 选择后设置成功,可以重新启动设备
![选声道.jpg](/assets/images/speaker/选声道.jpg)
### Windows 11 系统配置
1. 设备连接

View File

@@ -102,6 +102,10 @@ search:
| 0xA4 | SET_GAME_MODE | 设置游戏模式 | PC → 设备 |
| 0xA5 | GET_GAME_MODE | 获取游戏模式 | PC ↔ 设备 |
| 0xA6 | GET_FIRMWARE_VERSION | 获取固件版本号 | PC ↔ 设备 |
| 0xB0 | SET_EX3D_CMD | 发送 EX3D 命令(封装所有 EX3D SET 命令) | PC ↔ 设备 |
| 0xB1 | GET_EX3D_CMD | 读取 EX3D 参数(封装所有 EX3D GET 命令) | PC ↔ 设备 |
| 0x80 | SET_UPSAMPLE | 设置采样率升频开关 | PC → 设备 |
| 0x81 | GET_UPSAMPLE | 获取采样率升频状态 | PC ↔ 设备 |
### 2.2 详细命令格式
@@ -797,6 +801,186 @@ search:
- 版本号采用 BCDBinary Coded Decimal格式
- 例如:`0x01 0x00 0x0C` 表示版本 `1.0.12`
#### 2.2.30 发送 EX3D 命令0xB0
**功能说明**: 发送 EX3D 设置命令,封装所有 EX3D SET 命令
**请求格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码(包含 SET 标志,参考 ex3d_protocol.md |
| 7-10 | 4 | param1 | 参数1根据 EX3D 命令不同而不同) |
| 11-14 | 4 | param2 | 参数2根据 EX3D 命令不同而不同) |
| 15-18 | 4 | param3 | 参数3根据 EX3D 命令不同而不同) |
| 19-63 | 45 | reserved | 保留字段或扩展参数 |
**EX3D 命令码说明**:
- 基础命令码范围: 0x80-0x94
- SET 命令格式: `基础命令码 & ~0x0100`(清除第 9 位)
- 支持的 SET 命令:
- 0x81: CMD_OPEN打开 EX3D
- 0x82: CMD_ONOFF设置 EX3D 开关)
- 0x83: CMD_ANGLE设置角度
- 0x84: CMD_SOUND_FIELD设置声场模式
- 0x85: CMD_MUTE设置静音
- 0x86: CMD_ON_GAIN设置开启增益
- 0x87: CMD_LMT_THRESHOLD设置限制器阈值
- 0x88: CMD_UPMIX设置上混
- 0x89: CMD_LFE设置 LFE 增益)
- 0x8A: CMD_OFF_GAIN设置关闭增益
- 0x8E: CMD_LMT_ATTACKK_TIME设置限制器攻击时间
- 0x8F: CMD_LMT_RELEASE_TIME设置限制器释放时间
- 0x90: CMD_TEST_CANCEL取消测试
- 0x91: CMD_TEST_STEP测试步骤
- 0x92: CMD_TEST_ROTATE测试旋转
- 0x93: CMD_EXPAND_GAIN设置扩展增益
- 0x94: CMD_REDUCE_GAIN设置减少增益
**设备端处理**:
- 解析 EX3D 命令码,提取基础命令码和参数
- 调用相应的 EX3D 处理函数hid_receive_task_in_c
- 根据命令类型执行相应的设置操作
**响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0回显 |
| 3 | 1 | status | 状态码0x00=成功, 0x01=失败) |
| 4-7 | 4 | ex3d_cmd | EX3D 命令码(回显) |
| 8-11 | 4 | result | 返回值(某些命令返回 0xFFFFFFFF 表示参数错误) |
| 12-63 | 52 | reserved | 保留字段 |
**使用说明**:
- 该命令用于统一封装所有 EX3D 设置命令
- 参数格式与原始 EX3D 协议保持一致
- 详细的 EX3D 命令说明请参考 ex3d_protocol.md 文档
#### 2.2.31 读取 EX3D 命令0xB1
**功能说明**: 读取 EX3D 参数,封装所有 EX3D GET 命令
**请求格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码(包含 GET 标志,参考 ex3d_protocol.md |
| 7-10 | 4 | param1 | 参数1根据 EX3D 命令不同而不同,如通道号、索引等) |
| 11-63 | 53 | reserved | 保留字段或扩展参数 |
**EX3D 命令码说明**:
- 基础命令码范围: 0x80-0x94
- GET 命令格式: `基础命令码 | 0x0100`(设置第 9 位)
- 支持的 GET 命令:
- 0x180: CMD_CH_NUM获取通道数量
- 0x182: CMD_ONOFF获取 EX3D 开关)
- 0x183: CMD_ANGLE获取角度
- 0x184: CMD_SOUND_FIELD获取声场模式
- 0x185: CMD_MUTE获取静音
- 0x186: CMD_ON_GAIN获取开启增益
- 0x187: CMD_LMT_THRESHOLD获取限制器阈值
- 0x188: CMD_UPMIX获取上混
- 0x189: CMD_LFE获取 LFE 增益)
- 0x18A: CMD_OFF_GAIN获取关闭增益
- 0x18B: CMD_SOUND_FIELD_NUM获取声场模式数量
- 0x18C: CMD_SOUND_FIELD_NAME获取声场模式名称
- 0x18D: CMD_LEVEL获取电平
- 0x18E: CMD_LMT_ATTACKK_TIME获取限制器攻击时间
- 0x18F: CMD_LMT_RELEASE_TIME获取限制器释放时间
- 0x193: CMD_EXPAND_GAIN获取扩展增益
- 0x194: CMD_REDUCE_GAIN获取减少增益
**设备端处理**:
- 解析 EX3D 命令码,提取基础命令码和参数
- 调用相应的 EX3D 处理函数hid_receive_task_in_c
- 返回当前参数值
**响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1回显 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码(回显) |
| 7-10 | 4 | result1 | 返回值1根据命令不同而不同 |
| 11-14 | 4 | result2 | 返回值2某些命令需要多个返回值如角度、多通道数据等 |
| 15-18 | 4 | result3 | 返回值3扩展返回值如多通道数据 |
| 19-63 | 45 | reserved | 其他返回值或填充(最多可返回 14 个 uint32 值,总长度不超过 63 字节) |
**返回值说明**:
- 返回值数量和格式取决于具体的 EX3D 命令
- 单值命令:返回 1 个 uint32 值
- 多值命令(如角度、多通道数据):返回多个 uint32 值
- 字符串命令如声场名称先返回长度uint32然后返回字符串数据
- 详细的返回值格式请参考 ex3d_protocol.md 文档
**使用说明**:
- 该命令用于统一封装所有 EX3D 读取命令
- 参数格式与原始 EX3D 协议保持一致
- 详细的 EX3D 命令说明请参考 ex3d_protocol.md 文档
#### 2.2.32 设置采样率升频0x80
**功能说明**: 设置设备采样率升频开关
**请求格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0x80 |
| 3 | 1 | upsample | 升频状态0=禁用升频, 1=使能升频) |
| 4-63 | 60 | reserved | 保留字段填充0 |
**参数说明**:
- 升频状态0=禁用升频1=使能升频
**返回值**:
无直接返回值。如需确认升频状态,请使用 GET_UPSAMPLE (0x81) 命令读取。
#### 2.2.33 获取采样率升频0x81
**功能说明**: 读取设备当前采样率升频状态
**请求格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0x81 |
| 3-63 | 61 | reserved | 保留字段填充0 |
**响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0x81回显 |
| 3 | 1 | upsample | 当前升频状态0=禁用, 1=使能) |
| 4-63 | 60 | reserved | 保留字段填充0 |
## 三、数据流程和时序 :material-timeline-clock:
### 3.1 典型操作流程

File diff suppressed because it is too large Load Diff

View File

@@ -612,7 +612,7 @@ sequenceDiagram
#### 3.3.5 发送播放音量0x24
=== "命令格式"
**MCU发送**
**XU316返回**
```
帧头: 2字节 - 0x55aa
版本: 1字节 - 0x03
@@ -624,7 +624,7 @@ sequenceDiagram
校验和: 1字节 - 从帧头开始按字节求和结果对256求余
```
**XU316返回**
**MCU发送**
```
帧头: 2字节 - 0x55aa
版本: 1字节 - 0x00
@@ -924,46 +924,30 @@ sequenceDiagram
| 0x01-0xFF | 音量值,具体映射由应用定义 |
=== "音频流格式"
| 值 | 格式 | 参数 |
| 值 | 格式 | 采样率 |
|-------|-------------------|-----------------|
| 0x00 | AUDIO_PCM_44100 | 44.1kHz PCM |
| 0x01 | AUDIO_PCM_48000 | 48kHz PCM |
| 0x02 | AUDIO_PCM_88200 | 88.2kHz PCM |
| 0x03 | AUDIO_PCM_96000 | 96kHz PCM |
| 0x04 | AUDIO_PCM_176400 | 176.4kHz PCM |
| 0x05 | AUDIO_PCM_192000 | 192kHz PCM |
| 0x06 | AUDIO_PCM_352800 | 352.8kHz PCM |
| 0x07 | AUDIO_PCM_384000 | 384kHz PCM |
| 0x08 | AUDIO_PCM_705600 | 705.6kHz PCM |
| 0x09 | AUDIO_PCM_768000 | 768kHz PCM |
| 0x0A | AUDIO_PCM_1441200 | 1.4112MHz PCM |
| 0x0B | AUDIO_PCM_1536000 | 1.536MHz PCM |
| 0x0C | AUDIO_PCM_32000 | 32kHz PCM |
| 0x0D | AUDIO_PCM_64000 | 64kHz PCM |
| 0x0E | AUDIO_PCM_128000 | 128kHz PCM |
| 0x0F | AUDIO_PCM_256000 | 256kHz PCM |
| 0x10 | AUDIO_PCM_512000 | 512kHz PCM |
| 0x00 | AUDIO_44100 | 44.1kHz |
| 0x01 | AUDIO_48000 | 48kHz |
| 0x02 | AUDIO_88200 | 88.2kHz |
| 0x03 | AUDIO_96000 | 96kHz |
| 0x04 | AUDIO_176400 | 176.4kHz |
| 0x05 | AUDIO_192000 | 192kHz |
| 0x06 | AUDIO_352800 | 352.8kHz |
| 0x07 | AUDIO_384000 | 384kHz |
| 0x08 | AUDIO_705600 | 705.6kHz |
| 0x09 | AUDIO_768000 | 768kHz |
| 0x0A | AUDIO_1441200 | 1.4112MHz |
| 0x0B | AUDIO_1536000 | 1.536MHz |
| 0x0C | AUDIO_32000 | 32kHz |
| 0x0D | AUDIO_64000 | 64kHz |
| 0x0E | AUDIO_128000 | 128kHz |
| 0x0F | AUDIO_256000 | 256kHz |
| 0x10 | AUDIO_512000 | 512kHz |
| 0x11 | AUDIO_DSD_64 | DSD64 |
| 0x12 | AUDIO_DSD_128 | DSD128 |
| 0x13 | AUDIO_DSD_256 | DSD256 |
| 0x14 | AUDIO_DSD_512 | DSD512 |
| 0x15 | AUDIO_DSD_1024 | DSD1024 |
| 0x16 | AUDIO_MQA_44100 | 44.1kHz MQA |
| 0x17 | AUDIO_MQA_88200 | 88.2kHz MQA |
| 0x18 | AUDIO_MQA_176400 | 176.4kHz MQA |
| 0x19 | AUDIO_MQA_352800 | 352.8kHz MQA |
| 0x1A | AUDIO_MQA_705600 | 705.6kHz MQA |
| 0x1B | AUDIO_MQA_1411200 | 1.4112MHz MQA |
| 0x1C | AUDIO_MQA_2822400 | 2.8224MHz MQA |
| 0x1D | AUDIO_MQA_5644800 | 5.6448MHz MQA |
| 0x1E | AUDIO_MQA_48000 | 48kHz MQA |
| 0x1F | AUDIO_MQA_96000 | 96kHz MQA |
| 0x20 | AUDIO_MQA_192000 | 192kHz MQA |
| 0x21 | AUDIO_MQA_384000 | 384kHz MQA |
| 0x22 | AUDIO_MQA_768000 | 768kHz MQA |
| 0x23 | AUDIO_MQA_1536000 | 1.536MHz MQA |
| 0x24 | AUDIO_MQA_3072000 | 3.072MHz MQA |
| 0x25 | AUDIO_MQA_6144000 | 6.144MHz MQA |
| 0xFF | AUDIO_NO_USED | 未使用 |
=== "音频类型"
@@ -983,4 +967,4 @@ sequenceDiagram
--8<-- "common/customer_form.md"
</details>
</details>

View File

@@ -40,14 +40,34 @@ hide:
## 快速上手
1. 启动脚本程序
2. 选择串口:自动扫描可用端口,选择与 XU316 对应的 COM 口;如列表未更新可手动刷新
3. 上电握手:程序监听设备上电数据,打印接收内容并自动完成必要回应,直至进入“固件选择菜单”
4. 选择固件:
- hf83311 / hf86611 / hf87611 / hf87621
- ph73211_lp / ph73311_lp / ph83211_lp / ph83311_lp
- 全模式测试(覆盖所有支持模式,适用于固件未知或需全面验证)
5. 执行功能菜单在主菜单中进行媒体控制、模式切换、MCLK 切换、unmute、设置音频延迟、获取固件版本等操作
1、启动脚本程序
2、选择测试固件类型
- hf83311 / hf86611 / hf87611 / hf87621
- ph73211_lp / ph73311_lp / ph83211_lp / ph83311_lp
- 全模式测试(覆盖所有支持模式,适用于固件未知或需全面验证)
3、输入设备信息
- UAC1 VID (默认 20B1):
- UAC1 PID (默认 0017):
- UAC2 VID (默认 20B1):
- UAC2 PID (默认 0016):
- 制造商名称 (默认 Phaten):
- 产品名称 (默认 XMOS XU316):
- 序列号 (默认 123456789ABCDEF):
!!! info "注意事项"
- 以上每行内容输入对应内容后按下enter键才会出现下一行。直接按下enter键使用默认值
- 如果不确定正确的 VID 和 PID请先使用默认值然后根据实际情况修改
- <span style="color:red">若是使用默认的 VID 和 PID修改产品名称后必须要用到官方的驱动程序才能看到修改的结果PC端不能直接看到修改后的名称</span>
4、选择串口自动扫描可用端口选择与 XU316 对应的 COM 口;如列表未更新可手动刷新
5、上电握手程序监听设备上电数据打印接收内容并自动完成必要回应直至进入“固件选择菜单”
6、执行功能菜单在主菜单中进行媒体控制、模式切换、MCLK 切换、unmute、设置音频延迟、获取固件版本等操作
!!! tip "执行过程中的可观测性"
- 程序实时打印发送/接收数据,便于排查问题