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.

[参考译文] TLV320AIC3104:无法在 TLV320AIC3104 上使用 Blck 的 PLL

Guru**** 2668435 points

Other Parts Discussed in Thread: TLV320AIC3104

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1595392/tlv320aic3104-unable-to-use-pll-with-blck-on-tlv320aic3104

器件型号: TLV320AIC3104

这是我以前提出的错误标记为“已解决“的问题的延续

我有 TLV320AIC3104 开发套件。  它连接到 ESP32 S3。  我将 I2S 设置为“INTFACE"</s>“

Wclk = 16KHz、BCLK=512KHz、  

下面的示波器图显示了波形。  

我正在使用 AIC310x EVM GUI。  如果我使用预设配置“静置回放交流耦合耳机输出“并写入低频 (100Hz-300Hz) 正弦波形、则结果是干净的。  但在 fs=16KHz 时有一个通知的背景嘶嘶声。  随着我增加 FS、嘶嘶声开始消失。  在 32KHz 以上、则无法检测到。  它与采样率有关。  在 11.025kHz 时、嘶嘶声非常普遍。

即使 I OUTPUT 是直流值、也存在嘶嘶声。

所以、我尝试使用下面列出的脚本使用 PLL 来使我进入 48kHz 模式。  我尝试了设置寄存器 4 以将 PLL 设置为 16KHz 和 48kHz 在任一情况下、都没有生成音频。  我已经确认将正确的实例写入寄存器。  将 R07 设置为 0x8A 或 0x0A 不会有任何区别。

我已经为这个问题努力了大约一个月。  我在做什么?  我是否需要提供 MCLK 信号?  我不应该听到任何嘶嘶声。  唯一没有嘶嘶声的情况是我复位器件时。  所以我认为这不是模拟问题。  我对其他供应商的其他编解码器没有这个问题。

--布拉德·斯图尔特

48kHz 模式下的#、wclk=16kHz、BCLK=512khz(16 位 2 通道)
#对于 16KHz 模式、设置 J=8?
W 30 01 80 #软件复位
W 30 02 66 #ADC 且 DAC FS = FS (ref)/4
w 30 03 92 #PLL 已启用、Q=2、P=2
W 30 04 60 #J=24  
#w 30 04 10 #J=8  
W 30 05 00 #D=0
W 30 06 00 #D=0
W 30 07 0A #FS (ref)= 48K、LDAC 和 RDAC 路径开启
W 30 0b 00 #R=16
w 30 65 00 #CODEC_CLKIN 使用 plldiv_OUT
w 30 66 a0 #clkdiv_IN 使用 BCLK、pllclk_IN 使用 BCLK
w 30 29 02 #DAC_L1 和 DAC_R1 路径
w 30 2b 00 #LDAC 未静音、增益= 0dB
w 30 25 d0 #l+r DAC 上电、hplcom 是恒定的 Vcm 输出
W 30 26 20 #hprcom 是外部反馈、hplcom 作为恒定 VCM
W 30 40 80 #DAC_R1 路由到 Hprout
W 30 2f 80 #DAC_L1 路由到扩展输出
W 30 33 0d #hplout = 0dB、无静音、完全上电
W 30 41 0d #对于 hprout 相同

 

image.png

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

    在脚本中、我尝试了设置 J=48 和 R=8、P=2、这应该会为我提供 48kHz。  运行脚本后没有音频、只有一个小的“咔嗒“声(耳机帽正在充电)。

    我不应该听到什么?  即使 PLL 值错误、我预计也会出现一些不正确的采样率或噪声。  但完全沉默。

    我的理解是、BCLK 必须至少为 512KHz 才能使 PLL 正常工作。  它是 512KHz (16000*32)

    这里是更新的脚本(注释掉了我尝试的内容)。  事情的顺序是否正确?

    48kHz 模式下的#、wclk=16kHz、BCLK=512khz(16 位 2 通道)
    #对于 16KHz 模式、设置 R=4、设置 J=48? J= 16?
    W 30 01 80 #软件复位
    W 30 07 80 #复位部分(在 GUI 应用程序中)
    W 30 02 66 #ADC 且 DAC FS = FS (ref)/4
    w 30 03 92 #PLL 已启用、Q=2、P=2
    #w 30 04 60 #J=24
    #w 30 04 10 #J=8
    w 30 04 c0 #j=48
    #w 30 04 20 #j=16
    W 30 05 00 #D=0
    W 30 06 00 #D=0
    W 30 07 8a #fs (ref)= 48K、LDAC 和 RDAC 路径开启
    #w 30 0b 00 #R=16
    #w 30 0b 04 #R=4
    W 30 0b 08 #R=8
    w 30 65 00 #CODEC_CLKIN 使用 plldiv_OUT
    w 30 66 a0 #clkdiv_IN 使用 BCLK、pllclk_IN 使用 BCLK
    #w 30 03 92 #PLL 已启用、Q=2、P=2
    w 30 29 02 #DAC_L1 和 DAC_R1 路径
    w 30 2b 00 #LDAC 未静音、增益= 0dB
    w 30 25 d0 #l+r DAC 上电、hplcom 是恒定的 Vcm 输出
    W 30 26 20 #hprcom 是外部反馈、hplcom 作为恒定 VCM
    W 30 40 80 #DAC_R1 路由到 Hprout
    W 30 2f 80 #DAC_L1 路由到扩展输出
    W 30 33 0d #hplout = 0dB、无静音、完全上电
    W 30 41 0d #对于硬件 30 07 8A 相同

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

    我想我有一个解决方案。  当 fS = 16KHz 时、我向 MCLK 施加了外部 2.048MHz 信号、并使用此信号作为 PLL 的输入。  已删除嘶嘶声。

    我还在 11.025kHz 频率下、同时 MCLK = 1.4112MHz 进行了测试。  所有的嘶嘶声都消失了!

    经验教训:  请勿使用 BCLK。

    这是脚本

    使用 PLL 时的 MCLK FS = 16KHz 和 11.025kHz
    W 30 07 8A
    W 30 66 A0
    W 30 29 02
    W 30 2B 00
    W 30 25 D0
    W30 26 20
    W 30 40 80
    W 30 2F 80
    W 30 33 0D
    W 30 41 0D
    w 30 03 91 60 00 00 #将 PLL 设置为 48kHz、MCLK = 2.048Mz
    W 30 0B 02
    #w 30 03 91 80 00 #设置 PLL 以实现 44.1kHz、MCLK = 1.4112MHz
    #w 30 0B 02

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

    您好、

    我还在测试并意识到更多 — AIC310x 软件不喜欢 I2C 代码中的注释、因此我更幸运地通过 PPC3 的 I2C 监控器页面写入 EVM。

    此外、借助您发布的这一新配置所做的数学运算、器件似乎正在创建一个 48K 内部时钟、然后您可以将寄存器 2 fs (ref)/3 分频。 但是、无论是有没有这条线、我都看到、如果我们观察本底噪声、器件的行为就好像是 8k 采样率、而不是 16。 我正试图弄清楚为什么会发生这种情况。 您是否具有相同的频率响应?

    此致、
    Mir