Skip to content

df-k10 配网模式下喇叭有白噪声(I2S TX 通道空闲底噪) #2116

Description

@du-yuxuan

问题描述

基于 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;

虽然关闭了语音处理和唤醒词检测,但:

  1. I2S TX 通道未关闭 —— i2s_channel_enable(tx_handle_) 在 K10AudioCodec 构造时就已调用,配网时仍保持运行
  2. DMA 空闲 —— 无音频数据写入时,I2S DMA 可能输出随机底噪
  3. 功放未静音 —— 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_))以彻底消除底噪。

复现步骤

  1. 烧录任意 v2.2.6 固件到 K10
  2. 首次启动或清除 WiFi 配置后进入配网模式
  3. 听喇叭持续输出白噪声

环境信息

  • 设备:DFRobot 行空板 K10 (df-k10)
  • 固件:v2.2.6
  • ESP-IDF:v5.5.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions