update
This commit is contained in:
@@ -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秒内也会发送这个命令。
|
||||
Reference in New Issue
Block a user