update
This commit is contained in:
@@ -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 |
|
||||
|
||||
@@ -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 | 模组地 |
|
||||
|
||||
@@ -10,18 +10,27 @@ login: true
|
||||
|
||||
本篇介绍A316_V71_GAME_V1开发板的主要功能及各按钮的使用方法。
|
||||
|
||||

|
||||

|
||||
|
||||
## 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>
|
||||

|
||||
|
||||
|
||||
2、 连接设备后,在网页左边菜单栏选择空间音频。<br>
|
||||

|
||||
|
||||
|
||||
3、 游戏内设置。[👉🏻📹__点击查看视频说明__👈🏻](/assets/images/evb/a316_v71_game_v1/4.mp4)<br>
|
||||

|
||||
|
||||
## dfu升级工具
|
||||
|
||||
使用本地化的升级方式。[前往下载页面](../../../services_support/tools_software/index.md)
|
||||
|
||||

|
||||
|
||||
### 升级过程:
|
||||
1. 更新固件,将新的update固件放入,bin目录下
|
||||

|
||||
|
||||
2. 更新update的bat文件内容,保证更新固件名称一致,保持文件内容。将设备模式短按为红色灯常亮,再运行bat文件。
|
||||

|
||||
|
||||
3. 正常升级会出现进度条和提示。升级完成可以重新拔插设备。<br>
|
||||
|
||||
!!! note "注意"
|
||||
|
||||
不同的版本升级需要更换固件与修改bat文件
|
||||
修改bat脚本内容
|
||||
|
||||
## 常见问题处理
|
||||
1、 AI 真7.1 3A模式:蓝灯闪烁(或AI 真7.1 FPS模式:蓝灯常亮) 在Win11电脑上不能播放声音:
|
||||
|
||||
确保设备插入电脑能识别设备。查看设备系统属性-高级。设备要在16bit播放(原因可能是以前用过其它的同类产品导致设备缓存,请手动选择16bit播放)
|
||||
|
||||

|
||||
|
||||
---
|
||||
2、初次使用AI 真7.1 FPS模式:蓝灯常亮,只有2声道
|
||||
|
||||
进入电脑的声音设置
|
||||
配置扬声器 :同样在鼠标右击扬声器,点击【配置扬声器】,选择需要的声道,请根据实际需要的音响环境选择
|
||||
参考[设置电脑音频输出为7.1声道](../../hifi_audio/a316_1926v1/used.md#4选择需要的声道-请根据实际需要的音响环境选择)
|
||||
|
||||
---
|
||||
## 音频试听工具
|
||||
|
||||
| 工具名称 | 工具下载 |
|
||||
| --- | --- |
|
||||
|
||||
@@ -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>
|
||||
|
||||
49
zh/docs/dev_doc/faq/technical_faq/测试.txt
Normal file
49
zh/docs/dev_doc/faq/technical_faq/测试.txt
Normal 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命令
|
||||
问题3:0x01命令,应该怎样修改设备信息,这个命令有什么要求吗?
|
||||
回答:这个命令就按照协议文档上进行发送就可以,如果不知道怎么发送,可以用我们网站上提供的串口协议测试脚本,上面提供了输入设备信息的功能,运行后可以参考那里面收发的命令。
|
||||
|
||||
问题4:当前固件是否支持MQA格式的音频?
|
||||
回答:网站上的固件,都有对应的支持MQA格式音频的固件(带Q的固件)和不支持MQA格式音频的固件(不带Q的固件)。
|
||||
|
||||
问题5:0x00这个命令,MCU返回的时候有什么注意事项?
|
||||
回答:0x00这个命令,是XMOS-A316模组上电后发送的,上电后会连续发送4次,每次间隔300ms,MCU要在这4次内返回对应的命令,否则会上电未成功,进入到默认模式中。
|
||||
|
||||
问题6:0x00~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脚拉高使其正常输出信号。
|
||||
|
||||
问题11:XMOS-A316模组使用的是内部时钟还是外部时钟?
|
||||
回答:XMOS-A316模组默认使用内部时钟,也可以接外部时钟,然后用0x26命令进行切换。
|
||||
注:spdif-in的几个模式,只能使用内部时钟。
|
||||
问题12:为什么0x21媒体控制命令里面的音量调节只能调节PC端的音量条,不能实际控制音量大小?
|
||||
回答:0x21媒体控制这个命令的具体流程是:MCU发送0x21给316,316收到指令后会转换为相应的HID命令发送给PC端,PC端的音量变化后,会发送对应的值给316,316发送0x24命令给MCU,MCU接收到0x24命令后去调节dac功放的音量。
|
||||
|
||||
问题13:0x22这个命令是怎么回事,为什么会自动发送?
|
||||
回答:0x22这个命令是返回音频流格式的命令(具体的音频流格式,可以去看网站上的说明),XMOS-A316模组启动成功后,若是1秒内不做任何操作,就会自动发送这个命令。切换输入/输出模式后,1秒内也会发送这个命令。
|
||||
@@ -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】命令
|
||||
- 按【确定或回车】
|
||||
- 在控制面板中选择【声音】点击进入
|
||||
|
||||

|
||||
- 打开运行(Win+R)
|
||||
- 输入【control】命令
|
||||
- 按【确定或回车】
|
||||
- 在控制面板中选择【声音】点击进入
|
||||
|
||||

|
||||
|
||||
3. 配置输出采样率与位深度
|
||||
- 在【声音】设置中选择【播放】下的扬声器
|
||||
- 鼠标右击,点击【属性】
|
||||
- 选择高级
|
||||
|
||||

|
||||
- 在【声音】设置中选择【播放】下的扬声器
|
||||
- 鼠标右击,点击【属性】
|
||||
- 选择高级
|
||||
|
||||

|
||||
|
||||
4. 配置扬声器
|
||||
- 在鼠标右击扬声器
|
||||
- 点击【配置扬声器】
|
||||
|
||||

|
||||
- 在鼠标右击扬声器
|
||||
- 点击【配置扬声器】
|
||||
|
||||

|
||||
|
||||
5. 选择声道配置
|
||||
- 根据实际需要的音响环境选择
|
||||
- 选择后设置成功,可以重新启动设备
|
||||
|
||||

|
||||
- 根据实际需要的音响环境选择
|
||||
- 选择后设置成功,可以重新启动设备
|
||||
|
||||

|
||||
|
||||
### Windows 11 系统配置
|
||||
1. 设备连接
|
||||
|
||||
@@ -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:
|
||||
- 版本号采用 BCD(Binary 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
@@ -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>
|
||||
|
||||
@@ -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 "执行过程中的可观测性"
|
||||
- 程序实时打印发送/接收数据,便于排查问题
|
||||
|
||||
Reference in New Issue
Block a user