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:TLV320ADC6140 在预期 2Vrms 差分输入振幅的一半处饱和并绕回代码。

Guru**** 2470720 points
Other Parts Discussed in Thread: TLV320ADC6140

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1550795/tlv320adc6140-tlv320adc6140-saturates-and-wraps-codes-at-half-the-expected-2-vrms-differential-input-amplitude

器件型号:TLV320ADC6140


工具/软件:

您好、

我一直在基于 TLV320ADC6140 开发硬件、并注意到 ADC 在预期输入振幅的一半处饱和。
这是在 ADC6140-EVM-PDK 评估板上进行的(通过 TDM 连接至获取数据的定制微控制器板。 (我确实认为是使用 EVM 重新生成数据、同时进行数据采集、但电路板今天唤醒了、决定不再被 PPC3 检测到)。
第 7 页的表 7.5 指出“差分输入满量程交流信号电压“为 2Vrms。 2Vrms 意味着两个差分输入可以接收 0V 到 2.75V 的电压范围(相当于每个输入的振幅约为 1.4V 或 1Vrms、因此差分信号为 2Vrms)。 但是、ADC 似乎会将代码包装为该值的一半、因此在 1Vrms(每个输入 1.4Vpp)的差分输入下、或当我仅将 2.75V 振幅注入其中一个差分输入时。  
我的第一个直觉是,这可能是 在某种程度上由不正确的转换/符号造成的。 我验证了一些与此相关的内容、我认为这不是发生的事情。
我使用的是 32 位字长、并假设(因为数据表中未提及此内容)小端字节序、有符号整数代码。
请查看随附的屏幕截图、其中包含用于生成此行为的所有设置。 信号从 AWG 注入、在交流耦合模式和直流耦合模式下进行测试。
我们很乐意提供更多详细信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Alan、

    您能否分享 ADC 部分的原理图来看看提供给 ADC 的输入?

    此外、为了确认配置、您能否提供所配置所有寄存器的回读转储?

    谢谢。此致、

    Lakshmi Narasimhan

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

    ADC 位于 EVM 板上、因此原理图位于第 21 页: www.ti.com/.../sbau335.pdf

    我以差分方式将 AWG 连接到 IN1、并在每个通道上生成 1kHz、1.4Vpp(偏移约为 0.7Vdc,但它是交流耦合)、通道之间偏移 180 度。

    这是我启用 AWG 第一个通道、然后启用另一个通道的记录波形。 (我还验证了原始样本达到接近+- 2^31 值的值)。 在记录的后半部分、我们几乎达到满量程、但每个输入仅接收 1.4Vpp、因此 1Vrms 差分振幅。

    这是 init 后的寄存器转储。  

    I (4728) ADC_ASI_OUT_CH_EN:10000000
    I (4768) ADC_ASI_CFG0:00110000
    i (4808) ADC_ASI_CFG1:00000000
    I (4848) ADC_ASI_CFG2:00000000
    i (4888) ADC_DSP_CFG0:00000000
    i (4928) ADC_DSP_CFG1:00000000
    I (4968) ADC_IN_CH_EN:10000000
    I (5008) ADC_ASI_CH1:00000000
    I (5048) ADC_ASI_CH2:00000001
    I (5088) ADC_CH1_CFG0:00000100
    i (5128) ADC_CH2_CFG0:00000000
    I (5167) ADC_CH1_CFG1:00000000
    I (5207) ADC_CH2_CFG1:00000000
    I (5247) ADC_SHDN_CFG:00110101
    I (5287) ADC_BIAS_CFG:00000000
    I (5327) ADC_PWR_CFG:11100000

    谢谢您、

    Alan

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

    您好 Alan、

    代码绕回 一半额定满量程的一个可能原因可能是 ASI 输出配置不匹配。 我看到您已将 ASI 线路从外部控制器连接到 EVM。 ASI_CFGx 值 表示在 TX_OFFSET = 0 的情况下针对 TDM 协议对器件进行编程。 例如、如果外部控制器正在提供 I2S 信号、或期望 1 个时钟的 TX_OFFSET、这可能会导致位移位、最终导致代码绕回。

    如果您使用 EVM、则还需要 ACMB。 考虑到 ACMB 提供 TDM 信号、如果这确实是根本原因、您不应看到代码绕回。 您可以:

    1) 使用上述配置使用 ACMB + EVM 验证录制

    2) 验证在 ASI_CFG0 (TDM、I2S、LJ) 中编程到器件的协议是否与外部控制器提供给 BCLK/FSYNC 引脚的信号相匹配。

    谢谢。此致、

    Lakshmi Narasimhan

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

    尊敬的 Lakshmi:  

    这就是它。 我更改了 ASI_CFG1 以添加 1 BLCK TX_OFFSET、它运行良好。 我使用的 TDM 驱动程序库默认为偏移协议、我没有意识到这一点。 非常感谢您的帮助!