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.

[参考译文] TLV320ADC6140:ADC 采集时序不准确

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1038876/tlv320adc6140-inaccuracy-in-adc-acquisition-timing

器件型号:TLV320ADC6140

大家好

我们一直在使用 TLV320ADC6140、该器件配置用于2个通过标准 I2S 协议与控制器进行通信的模拟通道。 ADC 芯片被设置为 I2S 总线的主机、并使用12.288MHz 的外部振荡器来生成所需的时钟。 我们希望以48K 样本/秒的速率采集数据 、以32位分辨率采集44.1K 样本/秒的数据。 目前、我们已经测试了48kS/s 的采样率、发现采集48000个样本的总采集时间超过1秒最多10%。  
我们已通过使用 I2S 从传感器(MEMS 麦克风)并以48KS/s 的速率采集信号来排除控制器的任何问题。 在这种情况下、我们不会面临这种计时问题。   

我们已经尝试在组件出现故障时更换外部振荡器,但这也对我们没有帮助。  

请建议如何解决此问题。

以下是我们在这方面使用的寄存器配置:

寄存器0x13 - 0b10000001 //启用主模式、 自动时钟配置、 PLL 启用、 非强制门、FSYNC 倍数= 48、 MCLK=12.288MHz  

寄存器0x14 - 0b01000100 // FSYNC=48kHz , BCLK 比率= 64

寄存器0x16 - 0b00001000 //禁用 MCLK_Ratio_SEL , 比率(对于 FREQ_SEL)= 256

寄存器0x21 - 0b10100000 // GPIO 被启用为 MCLK 输入

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

    在主控模式下、W CLK 和 BCLK 由外部提供。 您是否在 BCLK 上测量48kHz 的 WCLK 和48K*64=3.072kHz 的频率?

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

     

    排印错误

    n 主控模式 W CLK 和 BCLK 由外部提供。 您是否在 BCLK 上测量48kHz 的 WCLK 和48K*64=3.072MHz 的频率?

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

    根据我们的理解、当 TLV320ADC 处于主控模式时、外部只需要一个 MCLK。 ADC 芯片生成 WCLK 和 BCLK 以与控制器共享。 目前、除了我们用于对通信进行基准测试的控制器本身之外、我们没有任何其他可靠的测量方法。 实际上、从 ADC 芯片生成的 CLK 周期似乎存在一些问题、我们希望予以纠正。

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

    抱歉、我实际上是指从模式。

    您在示波器的 WCLK 和 BCLK 输出上测量什么? 如果 WCLK /BCLK 不是48kHz/3.072Mh、则可能存在问题

    时钟设置、我将查看您的寄存器。

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

    我们目前没有示波器。 因此、我们使用消除过程来确定由 ADC 芯片生成的 BCLK 和 WCLK 应该存在一些问题。 我们通过用新的振荡器替换它来排除出现故障的振荡器。 我们通过使用从 I2S 传感器操作控制器来排除控制器上的任何驱动程序问题。 现在、唯一可能的问题可能是 TLV320芯片本身上的寄存器配置问题。 如果您可以查看它、那将会很棒。

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

    为了让您有一个想法、在48kHz 频率下采集的32KB 数据包、理论上需要大约85ms、需要94ms 才能到达控制器。  

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

    在寄存器0x16中尝试0x02。 其他的看起来不错。

    尝试测量波形频率。

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

    这对我们没有帮助。 使用主模式时、我们将面临此问题。 我们尝试将 TLV320ADC 用作从器件、但我们没有遇到相同的问题。 如果这能提供任何线索、说明我们在主模式下可能面临的问题。

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

    可以尝试一下吗? 请告诉我是否发生了任何差异。

    W 98 01 01
    # 1ms 延迟
    编号-------------------------------------------------------------
    #开始器件存储器
    编号-------------------------------------------------------------
    #第0页(0x00)转储
    #选择第0页
    w 98 00 00
    #唤醒和启用寄存器
    W 98 02 81
    W 98 05 01
    # ASU 配置
    W 98 07 40
    # ASI 通道配置
    w 98 0c 00
    宽98 0d 00
    宽98 0e 00
    # ASI 主控模式
    W 98 13 C1
    宽98 14 44
    # PDM 配置
    w 98 1f b0
    #第1页(0x01)转储
    #选择第1页
    W 98 00 01
    VAD 配置
    宽98 1e 00
    w 98 1f 00