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.

[参考译文] TLV320ADC3140:重复重新启动器件、有时输出数据会漂移到其他时隙

Guru**** 2470860 points
Other Parts Discussed in Thread: TLV320ADC3140

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1220812/tlv320adc3140-repeatedly-restart-the-device-sometimes-the-output-data-will-drift-to-other-time-slots

器件型号:TLV320ADC3140

在我们的应用中、我们使用  TLV320ADC3140作为4通道 ADC、目前只有第三个通道有模拟输入。  在 ASI 输出中,有时第三 时隙的数据会漂移到第二时隙或第四时隙。如何解决它?

  • 下面列出了主要特性点。
  • AREG 是使用片上稳压器生成的。
  • TLV320ADC3140配置 为音频总线主器件。
  • ASI 输出32个通道、具有 16位数据宽度。

第一幅图 显示了正确的第三时隙中的输出 PCM 数据。

第二幅图显示输出 PCM 数据漂移到第四个时隙。

寄存器配置:

静态空 adcx140_enable (结构 adcx140_priv *adcx140)

regmap_write (adcx140->regmap、0x01、0x01);//μ 复位
usleep_range (10000、100000);
regmap_write (adcx140->regmap、0x02、0x81);//μ 退出sleep
usleep_range (10000、100000);
regmap_write (adcx140->regmap、0x07、0x03);//μ ASI配置
regmap_write (adcx140->regmap、0x08、0xa1);// ASI配置

regmap_write (adcx140->regmap、0x0B、0x00);//μ 通道顺序配置
regmap_write (adcx140->regmap、0x0c、0x01);
regmap_write (adcx140->regmap、0x0d、0x02);
regmap_write (adcx140->regmap、0x0E、0x03);
regmap_write (adcx140->regmap、0x0F、0x04);
regmap_write (adcx140->regmap、0x10、0x05);
regmap_write (adcx140->regmap、0x11、0x06);
regmap_write (adcx140->regmap、0x12、0x07);

regmap_write (adcx140->regmap、0x6c、0x20);//dsp、1biquad 每个通道

regmap_write (adcx140->regmap、0x21、0xa0);//μ 选择MCLK
regmap_write (adcx140->regmap、0x14、0x4a);//48K,16*μ 32通道
regmap_write (adcx140->regmap、0x13、0x81);//master,PLL enable
regmap_write (adcx140->regmap、0x16、0x08);//μ MCLK和WS的倍数

regmap_write (adcx140->regmap、0x3c、0x20);// CH1单端模拟输入
regmap_write (adcx140->regmap、0x41、0x20);// CH2单端模拟输入
regmap_write (adcx140->regmap、0x46、0x20);//μ CH3单端模拟输入
regmap_write (adcx140->regmap、0x4b、0x20);//μ CH4单端模拟输入

regmap_write (adcx140->regmap、0x22、0x00);//μ 关闭GPO0
regmap_write (adcx140->regmap、0x23、0x00);//μ 关闭GPO1
regmap_write (adcx140->regmap、0x24、0x00);//μ 关闭GPO2
regmap_write (adcx140->regmap、0x25、0x00);//μ 关闭GPO3

regmap_write (adcx140->regmap、0x2b、0x00);//关闭GPI0 1.
regmap_write (adcx140->regmap、0x2C、0x00);//关闭GPI2 3.

regmap_write (adcx140->regmap、0x73、0xf0);//μ 使能输入通道
regmap_write (adcx140->regmap、0x74、0xf0);// ASI使能输出
regmap_write (adcx140->regmap、0x75、0x60);//使能ADC、使能PLL

}

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

    尊敬的 Zhang:  

    感谢您对此问题的关注、请在下周前获得有关此问题的最新消息。  

    Ore.  

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

    尊敬的 Zhang:

    您的设置中该 ADC 的供电情况如何? 我想知道 您的 ADC 的电源序列。

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

    图中显示了上电顺序。

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

    尊敬的 Zhang:  

    为避免出现任何阻止 ADC 按预期运行的情况、配置 ADC 的理想方法是使用 PPC3。 您可以在此处提出请求来下载该软件: https://www.ti.com/tool/PUREPATHCONSOLE#downloads。对于您的应用、在观察到通道漂移之前、您需要重启多少次? 我想在结束时重复一下、看看我们是否获得了相同的结果。  

    此致、

    Ore.

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

    每个器件都有不同的故障可能性。

    以下是重现问题的步骤。

    • 为器件加电。
    • 重复软件重启设备.在重启 过程中、主应用程序处理器会如前面所示重新配置 ADC 寄存器、这个问题每几百次就会发生一次。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您提供有关您的设置的更多详细信息。 我会在24小时内回复您。  

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

    尊敬的 Zhang:

    在重新启动过程中、电源电压是否已消除? 如果是、请仔细检查第10部分、确保您的 T1和 T2值已满足。 从示波器捕获中看不清楚。 此外、一旦 SHDNZ 稳定为高电平、I2C 事务是否延迟了2ms? I2S 时钟是在这个过程中应用还是被移除了?

    谢谢!
    Jeff McPherson  

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

    器件上电后、  始终为 AVDD 和 IOVDD 供电、SHDNZ 保持高电平。

       一旦 SHDNZ 稳定为高电平、I2C 事务就会延迟一秒以上。

    ADC 被配置 为音频总线主控、所以只有 MCLK (12.288MHz)由外部提供、在重新启动的过程中、MCLK 会被移除一段时间、在移除 MCLK 的过程中、ADC 不会被执行、在重新提供 MCLK 之后、重新配置 ADC。

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

    尊敬的 Zhang:

    请尝试遵循数据表第10节中的建议、即当 IOVdd 和 AVDD 为高电平时、关断引脚为高电平、从而允许器件在释放关断引脚2ms 后进行初始化。 根据第一个示波器快照、在允许稳定的 AVDD 和 IOVdd 之前、您似乎很快就将关断引脚设置为高电平。 还要在应用中遵循断电要求、以确保正确的器件启用和禁用并避免 I2S 和 i2c 问题。  

    支持