我们正在使用 TLV320AIC3110开发基于 Jetson AGX Orin 的定制电路板。
HPL/HPR 输出引脚用于音频输出、MIC1RP 引脚用于音频输入。
环境:
编解码器:TLV320AIC3110
Linux 内核版本:5.10.192
驱动程序名称:tlv320aic31xx.c
基本的回放和录制功能正常工作、
但在以下时间会产生相当大的 POP 噪声。
*启动完成时
*在控制台登录
*音频数据播放开始/结束时
在将日志插入内核驱动程序并进行检查后、
AIC31XX_HPDRIVER 寄存器好像置位时会产生噪声。
# speaker-test -c2 -D plughw:APE -twav -l 1
speaker-test 1.2.2
Playback device is plughw:APEStream parameters are 48000Hz, S16_LE, 2 channelsWAV file(s)Rate set to 48000Hz (requested 48000Hz)Buffer size range from 32 to 8192Period size range from 32 to 4096Using max buffer size 8192Periods = 4[ 76.789736] tlv320aic31xx-codec 0-0018: enter aic31xx_set_bias_level()[ 76.811441] tlv320aic31xx-codec 0-0018: enter aic31xx_clk_on()[ 76.830244] tlv320aic31xx-codec 0-0018: enter aic31xx_hw_params()[ 76.836575] tlv320aic31xx-codec 0-0018: ## aic31xx_hw_params: width 16 rate 48000[ 76.844288] tlv320aic31xx-codec 0-0018: enter aic31xx_setup_pll()[ 76.852041] tlv320aic31xx-codec 0-0018: rate_div_line = 18 : pll 8.1920/1 dosr 128 n 8 m 2 aosr 128 n 8 m 2 bclk_n 8[ 76.862878] tlv320aic31xx-codec 0-0018: enter aic31xx_dac_mute()[ 76.887389] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=2, AIC31XX_DACSETUP 7[ 76.903378] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=2, AIC31XX_DACSETUP 6[ 76.919379] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=2, AIC31XX_HPDRIVER 7[ 77.243393] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=2, AIC31XX_HPDRIVER 6[ 77.259389] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=2, AIC31XX_SPKAMP 7[ 77.275388] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=2, AIC31XX_SPKAMP 6[ 77.285000] tlv320aic31xx-codec 0-0018: enter aic31xx_set_bias_level()was set period_size = 2048was set buffer_size = 8192 0 - Front Left 1 - Front RightTime per period = 2.857668[ 80.345446] tlv320aic31xx-codec 0-0018: enter aic31xx_set_bias_level()[ 80.379410] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=8, AIC31XX_HPDRIVER 7[ 80.427396] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=8, AIC31XX_HPDRIVER 6[ 80.443389] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=8, AIC31XX_SPKAMP 7[ 80.459388] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=8, AIC31XX_SPKAMP 6[ 80.475390] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=8, AIC31XX_DACSETUP 7[ 80.491395] tlv320aic31xx-codec 0-0018: enter aic31xx_dapm_power_event() event=8, AIC31XX_DACSETUP 6[ 80.501156] tlv320aic31xx-codec 0-0018: enter aic31xx_dac_mute()[ 80.515700] tlv320aic31xx-codec 0-0018: enter aic31xx_set_bias_level()[ 80.539393] tlv320aic31xx-codec 0-0018: enter aic31xx_clk_off()
您能建议我们如何降低 POP 噪声吗?