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.

[参考译文] TLV320AIC3120:ADC I2S 输出未显示正确的正弦波(16 位,从模式)

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1640084/tlv320aic3120-adc-i2s-output-does-not-show-proper-sine-wave-16-bit-slave-mode

部件号: TLV320AIC3120

您好、

我们目前正在评估 TLV320AIC3120IRHBR 音频编解码器、并有关于 ADC I2S 输出的问题。

设备/配置

  • 器件:TLV320AIC3120IRHBR
  • 数字音频接口:I2S
  • 字长:16 位
  • 编解码器模式:从器件
  • 采样频率:7.8125 kHz(约 8 kHz,用于初始评估)
  • ADC 输入:应用于 MIC 输入的模拟正弦波
  • 观察输出:DOUT(ADC 数据)
    image.png

问题描述

我们将向 MIC 输入注入正弦波信号、并在 DOUT 捕获 ADC 输出数据。
然而、在绘制时、捕获的数字数据不会显示为正确的正弦波。

  • 波形似乎在接近 0 和接近 65535 的值之间切换、而不是连续的正弦波。
  • 当 MIC 输入保持打开状态时、我们会观察到不同的模式、但仍然不会像预期的那样产生噪音。
  • 两个数据集都作为绘制的波形附加以供参考。

寄存器设置

以下是此测试期间使用的寄存器值。

第 0 页

  • REG01 = 0x01
  • REG04 = 0x00
  • REG12 = 0x81
  • REG13 = 0x82
  • REG14 = 0x00
  • REG1B = 0x00
  • REG3D = 0x04

第 1 页

  • REG2E = 0x00
  • REG30 = 0x20
  • REG31 = 0x00
  • REG32 = 0x40
  • REG2F = 0x00

第 0 页

  • REG51 = 0x80
  • REG52 = 0x00

(读回值与写入的值匹配。)

问题

我们感谢您在以下方面提供指导:

  1. ADC 数据格式

    • 无论字长如何、I2S 上的 ADC 输出是否始终是二进制补码有符号数据?
    • 将数据解释为无符号 16 位是否会导致观察到的行为?
  2. 采样频率

    • 尽管数据表指定 8kHz 作为最小采样率、但在 7.8125kHz 下运行是否会导致意外的 ADC 或数字滤波器行为?
  3. I2S 数据对齐

    • 是否存在与 I2S 位对齐、MSB 位置或 1 位延迟相关的可能导致此类波形的任何常见缺陷?
  4. 内部信号处理

    • 除非明确禁用、否则是否有任何默认的 ADC 处理块 (PGA / AGC / HPF / PRB / miniDSP) 可能会修改波形?
  5. 建议的调试步骤

    • 是否有建议的寄存器设置或最小基准配置可以输出“原始“ADC 正弦波形以进行验证?

此致、

Conor

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

    尊敬的 Conor:

    根据 NXP (https://www.nxp.com/docs/en/user-manual/UM11732.pdf) 中的 I2S 规范、I2S 数据应采用 二进制补码、MSB 在前。

    相位在您显示的数据上的变化方式向我暗示您正在查看正弦波、但 MSB 位置有问题、或者类似的问题。 确保在 WCLK 更改后根据 I2S 协议启动 1 个 BCLK 周期。 数据表中的时序图未能很好地显示、因此我在网上找到了该时序图:

    如果这对我有帮助、请告诉我。  

    我还注意到、在脚本中您没有向 PGA 的 M 端子分配任何内容、我建议将其设置为第 1 页寄存器 0x31 中的共模 (CM)(将其设置为 0x80)。 这将有助于提高 ADC 性能。

    另一个注意事项 — 您使用的是 MCLK 和 BCLK? 我认为、如果您使用所选的 WCLK 输出数据、它应该会继续工作、但信号可能无法达到数据表中的规格(正确解码后)。 与 8k 相比、这只是一个小的变化、因此它仍在 8k 内部时钟的工作范围内、您可能希望在最终产品中使用 8k 或更高的时钟。

    此致、
    Mir