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.

[参考译文] TLV320AIC3204EVM-K:解码问题

Guru**** 2573695 points
Other Parts Discussed in Thread: TLV320AIC3204EVM-K, TLV320AIC3204

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/921279/tlv320aic3204evm-k-decoding-issue

器件型号:TLV320AIC3204EVM-K
主题中讨论的其他器件: TLV320AIC3204

您好!

我使用 STM32微控制器和用于模数转换器的 TLV320AIC3204EVM-K 开发从发生器信号采样数据的应用。 下面是我的配置:

STM32微控制器作为主器件工作、因此它为 ADC 提供 WCLK、MCLK 和 BCLK。 我对时钟频率使用以下设置:

WCLK = 12.2kHz

MCLK = 3.125MHz

BCLK = 390.6kHz

对于 ADC 编程、我使用《TLV320AIC3204应用参考指南》中的示例代码:

然后、我使用示波器观察 ADC 发送的数据:

蓝色信号是模拟输入信号

绿色信号是 WCLK

黄色信号是 BCLK

红色信号是 DOUT

所有时钟频率都正常。 我还获取左通道(2V)和右通道(接地电平)的位序列。 问题是在解码数据后、我没有获得正确的 ADC 值。 对于通道00 (2V)、位序列不代表一个常数十六进制值(或者至少它只是由噪声引起的一点变化)。 对于通道01 (接地电平)、我始终得到0xFFC5或0xFFC4的位序列、而我希望从 ADC 发送0x0000。 请帮帮我。 或者、您可能有一个示例代码来采样干净的信号? 我认为我使用的代码会执行一些滤波和其他一些可能会改变从原始信号到 ADC 值的映射的过程。

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

    您好 Arya、

    您使用的代码假定采用具有12.288MHz MCLK 的48kHz 采样率、并且不使用 PLL。 由于您的配置不同、您可能需要调整一些分频器。 您如何选择所使用的时钟速率? 除非这些值是四舍五入的、否则它们似乎不是彼此的有效倍数、如果您不使用 PLL、则需要这样做。

    需要注意的另一点是、所有输入都具有交流耦合电容器、除非您绕过这些电容器、否则直流输入信号将被滤除。 您可以从0.1Vrms 正弦波开始、以查看是否正确捕获了该波。

    最棒的

    Zak

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

    你好、Zak、

    我的输入 MCLK 为3.125MHz。 因此、使用与代码中相同的分频器值、我应该通过选择 MCLK 作为源来获得相同的采样频率。 更精确地说、我的采样频率为12.20703125kHz。

    关于交流耦合电容器、我在阅读原理图之前不会意识到这一点。 非常感谢! 这就是为什么我感到奇怪的原因、因为我的数据采样永远不能用于低频矩形波。 现在、我将输入更改为频率为2kHz 的3Vpp 正弦波。 现在、位序列更容易理解。 以下是解码后的位序列(左通道)的结果:

    7FFF
    7FFF
    1977年
    8000
    8000
    FEB5
    7FFF
    7FFF
    2D5B
    8000
    8000
    E9EF
    7FFF
    7FFF
    4026.
    8AAE
    8000
    D59C
    7DF7
    7FFF
    518A
    9922.
    8000
    C21A

    只需确认一下、这是16位整数的二进制补码表示吗? 我在数据表中找不到有关位格式的任何详细信息、但如果使用此表示法、我可以将其转换为正确的模拟输入电压。

    最棒的

    Arya

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

    嗨、Arya、

    感谢您的澄清和提供更新、很高兴问题得到解决。 是的、我认为数据表中没有提到它、但 I2S 协议要求以二进制补码格式化数据、这种相同的约定也用于其他输出格式。

    最棒的

    Zak

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

    你好、Zak、

    关于我当前使用的代码、我还有另外一个问题、尤其是第1页上的这些寄存器:

    无论输入信号如何、都必须执行此过程吗? 我稍后将对振动传感器进行采样、是否应该进行任何更改?

    最棒的

    Arya

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

    您好 Arya、

    我认为您需要进行一些测试、以确定哪些设置最适合您的传感器。 提供的脚本用于立体声单端输入、如果您使用的是差动传感器、则需要更改一些布线以支持差动输入。 您可能还需要对 PGA 应用一些增益以放大传感器信号、并可能根据传感器阻抗调整 ADC 的输入阻抗。 如果您打算使用编解码器的这一功能、也可以使用 DAC 设置。 如果没有、则最好使用我们不包含 DAC 的 ADC 产品之一。

    最棒的

    Zak

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

    你好、Zak、

    谢谢、这非常有帮助! 我的实验室将使用此评估板上的相同 ADC 芯片设计 PCB、因此我需要收集大量信息。 关于阻抗、我应该如何调整阻抗? 我的信号发生器的阻抗为50欧姆、是否有公式/指南来选择正确的值?

    这是我当前测试的最后一个问题。 我将输入设置为3 Vpp 正弦波@ 10Hz。 下面是从示波器捕获的信号:

    我以12、2kHz 的频率进行采样。 然后、事实证明、重建的信号会像以下那样饱和:

    当我使用原始数据并绘制这些数据时、我会遇到相同的现象。 这可能是因为分辨率限制或其他原因导致的量化误差?

    最棒的

    Arya

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

    嗨、Arya、

    如果您有50欧姆的源、则输入阻抗不是问题。 通常、您需要将输入阻抗设置为可实现最佳噪声性能的最低值、但如果源阻抗较高、则可以使用更高的阻抗选项。

    对于数据采集、这是因为您已饱和输入 PGA。 TLV320AIC3204的满量程输入范围为0.5Vrms、或在单端模式下为1.414Vpp、这将根据您的 PGA 增益设置而变化。 如果减小输入振幅、则不应看到此问题。

    最棒的

    Zak