TI论坛
直播中

王斌

7年用户 1341经验值
私信 关注
[问答]

请问TLV320ADC3100边录边播出现破音怎么解决?


  • 我们通过规格书,配置了44.1k的采样率,然后边录边播,会时不时出现破音。请问怎么解决?我贴出配置的寄存器和电路如下:

    snd_soc_write(codec, 0x00, 0x00);//切换寄存器页到页0
        snd_soc_write(codec, 0x01, 0x01);//软复位

        //2
        snd_soc_write(codec, 0x04, 0x03);//set pll=mclk, codev_clk=pll

        snd_soc_write(codec, 0x05, 0x91);//set p=r=1
        snd_soc_write(codec, 0x06, 0x07);//set j=7
        //d=5264
        snd_soc_write(codec, 0x07, 0x14);
        snd_soc_write(codec, 0x08, 0x90);

        //snd_soc_write(codec, 0x05, 0x91);//
        snd_soc_write(codec, 0x12, 0x88);// NADC = 8
        snd_soc_write(codec, 0x13, 0x82);// MADC = 2
        snd_soc_write(codec, 0x14, 0x80);// AOSR = 128

        snd_soc_write(codec, 0x1b, 0x0c);//
        snd_soc_write(codec, 0x1d, 0x07);
        snd_soc_write(codec, 0x1e, 0x82);

        snd_soc_write(codec, 0x3d, 0x03);

        // 3
        #if 1
             //Left AGC
        snd_soc_write(codec,0x56, 0x80);        // 86            AGC Control 1    // 0x70 close agc
        snd_soc_write(codec,0x57, 0xc0);        // 87       AGC Control 2
        snd_soc_write(codec,0x58, 0x32);        // 88            AGC Maximum Gain 32db=0x40    (7f: not set)
        snd_soc_write(codec,0x59, 0x7f);        // 89     AGC attack time     ---
        snd_soc_write(codec,0x5a, 0x7f);        // 90     AGC Decay time         ---
        snd_soc_write(codec,0x5b, 0x1f);        // 91     AGC noise            ---
        snd_soc_write(codec,0x5c, 0x0f);        // 92       AGC signal            ---
        // Right AGC                  );
        snd_soc_write(codec,0x5e, 0x80);        // 94            Right AGC Control 1
        snd_soc_write(codec,0x5f, 0xc0);        // 95            Right AGC Control 2
        snd_soc_write(codec,0x60, 0x32);        // 96            AGC Maximum Gain
        snd_soc_write(codec,0x61, 0x7f);        // 97     AGC attack time     ---
        snd_soc_write(codec,0x62, 0x7f);        // 98     AGC Decay time         ---
        snd_soc_write(codec,0x63, 0x1f);        // 99     AGC noise            ---
        snd_soc_write(codec,0x64, 0x0f);    // 100    AGC signal            ---
    #endif

        //snd_soc_write(codec, ADC310X_DITHER_CTRL, 0x77);
        //snd_soc_write(codec, ADC310X_MIC_BIAS_CTRL, 0x20);
       
        snd_soc_write(codec, ADC310X_INPUT_SEL_PGA_L_1, 0x7d);//0X34
       
        //snd_soc_write(codec, ADC310X_INPUT_SEL_PGA_L_2, 0x3d);
       
        snd_soc_write(codec, ADC310X_INPUT_SEL_PGA_R_1, 0x7d);
        //snd_soc_write(codec, ADC310X_INPUT_SEL_PGA_R_2, 0x3d);
       
        snd_soc_write(codec, ADC310X_PGA_ANALOG_L, 0x28);
        snd_soc_write(codec, ADC310X_PGA_ANALOG_R, 0x28);
       
        snd_soc_write(codec, ADC310X_LOW_CURRENT, 0x00);
        //snd_soc_write(codec, 0x00, 0x01);
        //snd_soc_write(codec, 0x33, 0x00);
        //snd_soc_write(codec, 0x3B, 0x10);// LEFT PGA not mute, 0db
        //snd_soc_write(codec, 0x3C, 0x10);// RIGHT PGA not mute,0db
        //snd_soc_write(codec, 0x34, 0xf1);
        //snd_soc_write(codec, 0x37, 0xf1);


        // 4
        //snd_soc_write(codec, 0x00, 0x00);

        snd_soc_write(codec, 0x51, 0xc1);

        snd_soc_write(codec, 0x52, 0x00); // UNMUTE
       
        // 5 SET VOL
        snd_soc_write(codec, 0x53, 0x28);//+4.5db
        snd_soc_write(codec, 0x54, 0x28);//+4.5db

回帖(3)

李秦

2024-10-10 16:01:26
您实测MCLK 、WCLK、BCLK频率是多少?您可以附上音频CLK、data的波形吗
您输入的您用什么电路做的音频播放?这个播放电路播放其他数字音频信号是否正常?
举报

张林锋

2024-10-10 16:02:14
未使用的输入,建议通过0.47uF电容接GND,以防止未端接输入上的噪声拾取。
关于您的输入,配置的寄存器好像不对应
举报

王浩

2024-10-10 18:24:47
根据您提供的信息,您正在使用TLV320ADC3100进行边录边播,并且遇到了破音问题。以下是一些建议来解决这个问题:

1. 检查时钟设置:确保您的MCLK(主时钟)设置正确。TLV320ADC3100需要一个稳定的时钟源来保证音频质量。请检查您的MCLK是否满足数据手册中的要求,例如频率范围和稳定性。

2. 检查采样率设置:您提到已经配置了44.1k的采样率。请确保您的输入和输出采样率都设置为44.1k。如果输入和输出采样率不一致,可能会导致破音问题。

3. 检查PLL设置:您提供的寄存器配置中,PLL设置为mclk,codev_clk=pll。请确保PLL设置正确,以便为ADC和DAC提供稳定的时钟。您可以尝试调整PLL设置,例如改变分频器(j)的值,以找到最佳的设置。

4. 检查输入和输出信号:请检查您的输入和输出信号是否在TLV320ADC3100的允许范围内。如果信号过大或过小,可能会导致破音问题。您可以尝试调整输入和输出信号的电平,以找到最佳的设置。

5. 检查电源和地线:确保您的电源和地线连接正确且稳定。不稳定的电源或地线可能会导致音频质量问题。

6. 检查电路设计:请检查您的电路设计是否符合TLV320ADC3100的数据手册要求。例如,确保您的电路设计中有足够的去耦电容,以减少噪声和干扰。

7. 更新固件或软件:如果您使用的是第三方库或软件,请确保您使用的是最新版本。有时候,软件或固件的更新可能会解决一些已知的问题。

尝试以上建议后,如果问题仍然存在,建议您联系TLV320ADC3100的制造商或技术支持,以获取更专业的帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分