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:SDOUT 没有输出数据波形、而 FSYNC 和 BCLK 有输出

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1370780/tlv320adc6140-sdout-has-no-output-data-waveform-while-fsync-and-bclk-have-outputs

器件型号:TLV320ADC6140

工具与软件:

大家好:

目前、我正在使用 ARM Linux 平台来调整 tv320adc6140。 硬件设计基于芯片手册中的设计。 麦克风拾取(差分模拟输入)输入芯片具有正常的数据波形、而芯片的 sdout 没有正常的输出数据波形。


根据芯片手册和 EVM 演示中的活动模式说明、tlv320adc6140在主模式下工作:

只需要:上电、复位、唤醒、根据实际要求配置其他寄存器、最后配置通道使能(IN_CH_EN、ASI_OUT_CH_EN)、并配置 PWR_CFG 寄存器以打开电源。 打开电源后、可通过 DEV_STS0和 DEV_STS1检查电源状态。 现在、通过驱动器配置开启电源(或在用户空间中手动配置)后、可以在直接读取两个状态寄存器后发现所有通道都处于禁用和断电状态。 这些寄存器的状态如下:

可以看出 IN_CH_EN、ASI_OUT_CH_EN 和 PWR_CFG 已通过操作打开、但 DEV_STS0和 DEV_STS1认为通道处于禁用和活动断电状态。 在这种情况下、应该检查哪些方面?

谢谢

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

    您好!

    在主模式下、当 SDOUT 具有失真并且 FSYNC 和 BCLK 输出正确时、这可能是 ASI 总线格式不正确的症状或输入信号违反了 ADC 的输入引脚参数。 我的评论:

    1.您的 MCLK 信号是什么?  测量的 BCLK 和 FSNYC 输出是什么?

    2.能否提供输入信号的示波器抑制? 确保对于差分输入、该信号不超过2Vrms。

    3. 您的寄存器配置适用于 I2S、因此重要的是、您用于分析 SDOUT 的数字接收器配置为以4通道、16位字长进行读取

    此致、

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

    感谢您的答复。

    我使用集成的低抖动锁相环(PLL)、0x13寄存器为0x81、fsync 约为13M

    2.这是1kHz 正弦波输入的波形、从 mic 到 in1p 后

    是的、我在 ARM 侧使用4通道、16位、并且命令为 arecord -D HW:1、0 -r 48000 -f S16_LE -c 4 test.wav。

    但奇怪的是、为什么 DEV_STS0和 DEV_STS1通道的内容禁用及断电?  IN_CH_EN、ASI_OUT_CH_EN 和 PWR_CFG 寄存器的配置可通过设置清楚地打开

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

    您好!

    如果 MCLK 输入为13MHz、则将0x13寄存器值更改为0x82。 在寄存器0x14中将 BCLK:FSYNC 比率更改为64;值= 0x44。 然后验证输出 FSYNC 为48kHz 且 BCLK = 3.072MHz。

    BCLK 应等于4Ch * 16位字长、* 48K FS = 3.072MHz。

    此致、

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

    我没有 MCLK。 fsync 引脚输出为13M。 我使用 PLL 在内部提供时钟、不使用 GPIO1或 GPIx 作为 MCLK 输入

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

    您好!

    您正在尝试将器件配置为主模式、对吗? 此外、仅在8k - 768kHz 范围内支持 FSYNC。

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

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

    抱歉、我之前犯了个错误。 BCLK 约为13M

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

    好的、请阅读:  

    将 TLV320ADCx140配置和操作为音频总线主器件

    确保正确设置设备。 GPIO 引脚必须配置为 MCLK、并且您作为主机必须为在主模式下运行的器件提供该信号。 然后、您的高频信号将生成抖动较低的 ASI 时钟。

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

    我现在感觉很奇怪、当我复位芯片时、所有寄存器都处于默认状态、此时我唤醒芯片(将0x02寄存器设置为0x81)、关闭所有电源(将0x75设置为0x00)、打开所有通道(将0x73寄存器设置为0xf0)、为全部上电(将0x75设置为0xe0)、为什么 DEV_STS0寄存器的内容是0x00?
    在 TI-TLV320ADC6140.pdf 中、"9.2.1.2.1 EVM 设置的器件寄存器配置脚本示例"也以这种方式进行操作。
    DEV_STS0寄存器是否正确返回信息或通道是否处于禁用状态?

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

    如果我使用 PLL、此芯片是否需要外部参考时钟?
    "该器件使用集成的低抖动锁相环(PLL)来生成 ADC 调制器和数字滤波器引擎以及其他控制块所需的内部时钟。"
    如上面的芯片手册所述、在主模式下不需要外部 MCLK? 只需配置即可启用 PLL。

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

    根据此(sbaa382.pdf ( ti.com))),通过 GPIO1输入12MHz 晶体振荡器,fsync 和 BCLK 可以正常输出,可以测量到高达 12.288Mhz 和48kHz,但 sdout 只能输出高达1V 的信号,这是寄存器配置问题?