问题描述
基于 v2.2.6 固件,DFRobot 行空板 K10(df-k10 板卡)进入 WiFi 配网模式后,喇叭持续输出"嘶嘶"白噪声。
根因分析
K10 的功放(PA)由 IO 扩展器 TCA9555 的 P0/P1 引脚控制,配网模式下功放默认保持开启状态。
查看 application.cc 的 kDeviceStateWifiConfiguring 状态处理:
case kDeviceStateWifiConfiguring:
audio_service_.EnableVoiceProcessing(false);
audio_service_.EnableWakeWordDetection(false);
break;
虽然关闭了语音处理和唤醒词检测,但:
- I2S TX 通道未关闭 ——
i2s_channel_enable(tx_handle_) 在 K10AudioCodec 构造时就已调用,配网时仍保持运行
- DMA 空闲 —— 无音频数据写入时,I2S DMA 可能输出随机底噪
- 功放未静音 —— TCA9555 P0/P1 保持高电平,底噪被直接放大输出
修复建议
在 kDeviceStateWifiConfiguring 状态处理中增加关闭音频输出:
case kDeviceStateWifiConfiguring:
audio_service_.EnableVoiceProcessing(false);
audio_service_.EnableWakeWordDetection(false);
Board::GetInstance().GetAudioCodec()->EnableOutput(false);
break;
并可考虑修改 K10AudioCodec::EnableOutput 实际停止 I2S TX 通道(i2s_channel_disable(tx_handle_))以彻底消除底噪。
复现步骤
- 烧录任意 v2.2.6 固件到 K10
- 首次启动或清除 WiFi 配置后进入配网模式
- 听喇叭持续输出白噪声
环境信息
- 设备:DFRobot 行空板 K10 (df-k10)
- 固件:v2.2.6
- ESP-IDF:v5.5.4
问题描述
基于 v2.2.6 固件,DFRobot 行空板 K10(df-k10 板卡)进入 WiFi 配网模式后,喇叭持续输出"嘶嘶"白噪声。
根因分析
K10 的功放(PA)由 IO 扩展器 TCA9555 的 P0/P1 引脚控制,配网模式下功放默认保持开启状态。
查看 application.cc 的
kDeviceStateWifiConfiguring状态处理:虽然关闭了语音处理和唤醒词检测,但:
i2s_channel_enable(tx_handle_)在 K10AudioCodec 构造时就已调用,配网时仍保持运行修复建议
在
kDeviceStateWifiConfiguring状态处理中增加关闭音频输出:并可考虑修改 K10AudioCodec::EnableOutput 实际停止 I2S TX 通道(
i2s_channel_disable(tx_handle_))以彻底消除底噪。复现步骤
环境信息