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.

[参考译文] TAA3040:未启用通道

Guru**** 2471560 points
Other Parts Discussed in Thread: TAA3040

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1542365/taa3040-channels-not-enabled

器件型号:TAA3040


工具/软件:

您好、

因此、我们正在尝试设置 TAA3040、它具有四个差分输入通道、直流耦合和四个 32 位 TDM 输出时隙。 该芯片通过内部 PLL 从 FS 和 BCLK 进行切换、并且所有时钟设置自动进行。

奇怪的是、即使 我们没有写入 IN_CH_EN 中的使能位(它们复位为启用)、一旦 ADC、MICBIAS 和 PLL 上电、读取 DEV_STS0 寄存器会显示 ADC 断电、DEV_STS1 为 6(器件处于工作模式,所有 ADC 或 PDM 通道都关闭)。

问题:

除了将 SLEEP_CFG 中的器件唤醒为第一个事件并且 PWR_CFG 中的 ADC/MICBIAS/PLL 上电为最终事件之外、是否有特定的顺序来对其他 I2C 寄存器进行编程?

如果在配置芯片之前 FS 和 BCLK 正在运行、则会发生什么情况? 这样会妨碍正确初始化吗?

谢谢

Adam

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

    尊敬的 Adam:

    在配置芯片之前提供 FS 和 BCLK 预计不会影响初始化。

    此外、您能否提供正在完成的寄存器配置列表? 从 SLEEP_CFG 到 ADC/MICBIAS/PLL 上电?

    谢谢。此致、

    Lakshmi Narasimhan

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

    嘿 Lakshmi–感谢您回复我。

    因此芯片似乎 误读了 FS 频率。 我们以略高于 96kHz 的频率进行采样(由于 STM32 微控制器的 PLL 设置,这不能完全实现)。 ASI_STS 正确地报告 BCLK 为 256 x FS、但报告 FS 为 768kHz! 错误会使 ADC 关断。

    当然、我们已经检查了 FS 频率是否符合预期(并且有一个 DAC 成功使用相同的时钟信号)。

    初始化的顺序是:

    唤醒器件并在  SLEEP_CFG 中选择内部 AREG。
    10ms 延迟
    在 GPIO_CFG0 中将 GPIO 设置为高阻态(因为有一个可选 MCLK 馈送到该引脚以供在不使用内部 PLL 的情况下使用)

    将 ASI 设置为 TDM、并在 ASI_CFG0 中设置 32 位
    在 ASI_CFG1 中设置 1 个时钟延迟以实现与音频系统其余部分的兼容性
    在 CHx_CFG0 中将输入 1-4 设置为直流耦合线路输入
    (可以选择在 IN_CH_EN_ADDR 中启用 ADC 1-4,因为它们在复位时设置)
    启用 ASI_OUT_CH_EN 中的时隙 1-4
    PWR_CFG 中为 ADC、MICBIAS 和 PLL 上电
    此时:
    ASI_STS 报告 0x88
    DEV_STS0 报告 0x00
    DEV_STS1 报告 0x60
    那么、我想第一个问题是、96kHz 采样率的容差是多少(我们的实际是 97kHz)?
    如果我们不能使用 PLL、假设 FS = 97kHz、BCLK 和 MCLK= 256 x FS、您能否建议使用外部 FS、BCLK 和 MCLK 驱动 GPIO 的设置?
    再次感谢 Lakshmi–非常感谢您的帮助。
    Adam
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Adam:

    我将检查并返回 96kHz 采样率容差限制。

    同时:

    1) 您能否在器件引脚处共享 FSYNC 波形的示波器截图、我们是否看到 FSYNC 信号有任何干扰?

    2) 我们是否看到这种行为响应采样率(例如 48kHz)或 BCLK(例如 FS 而不是 256*BCLK) FS ?

    谢谢。此致、

    Lakshmi Narasimhan

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

    尊敬的 Lakshmi:

    以下是 FS 引脚的几个“镜片捕捉器“。

    因此、当 BCLK 比率为 256 时、将采样率更改为 48kHz 会导致 ASI_STS 报告 0x72! Weirder–现在它得到了错误的采样率和时钟比率。

    感谢您对此的支持 — 非常感谢。

    Adam

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

    尊敬的 Adam:

    感谢您分享示波器捕获。 您在 48kHz 时提到的行为看起来确实很奇怪。

    我有几个后续问题:

    1) 这个观察结果是在单个测试 PCB 上发现的、还是在多个 PCB 上看到?

    2) 我看到数字输入的 IO 电平为 3.3V、该电平是否也与 IOVDD 电源匹配(IOVDD 也是 3.3V 吗)?

    3) 您能否分享 ADC 部分的 PCB 原理图?

    谢谢。此致、

    Lakshmi Narasimhan

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

    嗨、Lakshmi。

    1) 我们在全部 5 个原型板上都看到了这一点。

    2) 是–IOVDD 为 3V3。

    我们已从代码中删除所有检查–因此它现在会忽略这些错误、并已禁用 ASI 总线错误检查。 ASI_STS 仍报告 0x88、但芯片实际上似乎工作正常。

    因此、尽管 ASI_STS 报告 FS 为 768kHz、但 TAA3040 已自动将其 PLL 编程为正确的 97kHz (ish)。

    这难道只是 FS 并不是 96kHz 的、而这会让芯片感到困惑吗?

    谢谢、

    Adam

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

    尊敬的 Adam:

    我需要设置一个 EVM 来查看、看看是否能够复制您的观察结果。

    我将在本周结束时更新我对这一主题的看法。

    谢谢。此致、

    Lakshmi Narasimhan

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

    尊敬的 Adam:

    对延迟深表歉意。 我设置了一个 EVM 并使用 96/97kHz 的采样率和 256 的 BCLK 与 FSYNC 之比运行了检查。

    ASI_STS 寄存器在此设置下读取 0x58、对应于 96kHz 采样率和 256 BCLK 与 FSYNC 之比、并且与输入时钟匹配。

    根据之前的要求、您能否在 PCB 中分享 ADC 部分的原理图/布局?

    此外、您之前提到了“外部 MCLK 驱动 GPIO“、能否分享一下您是否为器件提供了任何 MCLK、以及 MCLK 频率是多少?

    谢谢。此致、

    Lakshmi Narasimhan