This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TLV320AIC3106:编解码器有时会启动并正常工作、但大部分时间都会开始失真

Guru**** 2455560 points
Other Parts Discussed in Thread: TLV320AIC3106

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/745386/tlv320aic3106-the-codec-is-sometimes-starting-up-and-working-but-most-of-the-time-it-starts-up-with-distortion

器件型号:TLV320AIC3106

我通过 I2S 将 TLV320AIC3106从 ADC 运行到 MCU。 然后、MCU 将 I2S 上的数据镜像回 TLV320AIC3106's DAC。 我对这种行为感到困惑、因为有时当我启动它时、它确实运行良好、但大多数时候、我启动芯片时、输出中存在明显失真。

我已将其缩小到 ADC 的配置方式。 DAC 似乎正常工作、我已使用单独的 I2S 放大器验证失真是 ADC 输出 I2S 流的一部分。

下面的代码是我用于配置器件的代码。 I2S 以32位48kHz 频率运行、部件中采用48kHz*256 MCLK。 无论我使用具有 CLKDIV 的 MCLK 还是使用 PLL、我都会得到类似的结果。 一个区别是、当我运行 PLL 时、我必须清除寄存器9的低3位、否则我根本听不到任何内容。 如果我只清除寄存器9的位0、我将获得静态值。 这就是 PLL 打开时的情况。 在 PLL 关闭的情况下、寄存器9的底部3位似乎没有太大的影响。

现在、我已经对我能想到的一切进行了调整。 这个问题似乎与时钟有关、所以我在主时钟和位时钟进入编解码器时、在它们下面包括了一些示波器截图。 我无法确定我的配置是否有问题或信号完整性有问题(或者可能是电源启动?)。

谢谢!

const tlv320ae_reg_t register_values[]={
0、0x00}、//选择第0页(只有两页)

#if use_pll
{102、0x00}、//时钟控制-使用 BCLK
{3、(1<<7)|(2<<3|1)、//pll
= 1、编程1、/pll = 1、1、2、2、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1 J = 32
{5、0x00}、//PLL 编程寄存器 C - D = 0
{6、0x00}、//PLL 编程寄存器 D - D = 0
#else
{3、(2<<3)}、//Q = 2
{101、0x01}、//时钟控制-使用 MCLK -使用 CLKDIV/ CLKIN_OUT、
0x102/ CLKIN_CLK/编解码器


1<<6}、
{7、(0<5)|(1<3)|(0<1)}、//编解码器数据路径设置-双速率?、左侧 DAC ->左侧输出、右侧 DAC ->右侧输出(这可用于将输出设置为单声道)
{9、(3<<4)|(7<0
)、音频同步/音频接口(0x17)、启用音频同步/音频同步(32位)/串行接口 //MIC3L/R 输入混合左侧--来自连接至左 PGA 混合的加法放大器的左输出-单端
//{18、0xF0},//MIC3L/R 输入混合右侧--来自连接至右 PGA 混合的加法放大器的右侧输出-单端
//{20、0x80},//LINE2L 至左侧输入混合-- LINe2是 CC 输入差分-0dB 增益
//{23, 0x80},//LINE2R 到右输入混合-- LINe2是 CC 输入差分-0dB 增益
{19, 0x84},//LINE1L 到左输入混合-- Line1是平板电脑输入差分--- 0dB 增益
{22、0x84}、//LINE1R 至右侧输入混合-第1行是平板电脑输入差动- 0dB 增益

//线路输出
{37、0xC0}、//左侧 DAC 加电、右侧 DAC 加电
{41、0x00}、// DAC 输出控制-路径 L1和 R1 -独立音量控制?
{43、0x00}、//左侧 DAC 音量-未静音
{44、0x00}、//右侧 DAC 音量-未静音
{82、0x80}、//DAC_L1至 LEFT_LOP/M
{92、0x80}、//DAC_R1至 RIGHT _LOP/M

//输出
上的电源{15、0x00}、//未静音-左侧 PGA -未静音 0dB 增益(可设置为59.5dB 增益)
{16、0x00}、//右侧 PGA 未静音--- 0dB 增益(可设置为59.5dB 增益)
{86、0x09}、//LEFT_LOP/M 未静音且完全上电
{93、0x09}、//Rright_LOP/M 未静音且完全上电

{98、(2<<4)|(1<<3)}、//GPIO1具有时钟输出
、//、0x09? MONO_LOP/M 未静音且完全加电

//{94、0xD8}、//只读
//{99、(2<<4)}、// GPIO2控件-插孔/耳机检测中断-我们希望进行线性输出检测,但不确定

这是否适用于//Page 1是所有滤波器系数
}; 

下面是进入编解码器的位和主时钟的快照。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tyler、

    请检查加电顺序。 复位必须保持低电平、直到电源稳定后的10nsec 为止。 如果未发生这种情况、器件可能无法正确初始化、您将遇到问题。

    此外、在打开 PLL 之前设置 PLL 系数值。

    此致、
    -Steve Wilson
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Steve、

    感谢您的建议。 我发现了这个问题、它与编解码器无关。

    Tyler