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.

[参考译文] PCM9211:通过 MPIO_C 将 PCM9211 ADC 配置为 I2S 主站

Guru**** 2455560 points
Other Parts Discussed in Thread: PCM9211

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/744144/pcm9211-configure-pcm9211-adc-as-i2s-master-via-mpio_c

器件型号:PCM9211

你(们)好

我需要帮助以将 PCM9211内部 ADC 配置为 I2S 主器件。

我的目的是将 ADC 设置为独立模式、然后设置为 I2S 主器件、让器件向处于从模式的 DSP 输出24位 I2S。

但是、我无法使 MPIO_C 引脚输出任何内容。

PCM9211由一个24.576Mhz 晶振供源。 我希望输出在 LRCLK = 96kHz 和 BCLK = 6.144MHz 时运行。

我的当前配置如下

(CodecControl SW 的脚本样式)

############################

#将寄存器重置为默认值

宽80 40 00

宽80 40 33

W 80 40 C0

#将 XTI 时钟设置设为 SCK = XTI/1 = 24.576MHz、BCLK = XTI/4 = 6.144MHz、LRCLK = XTI/256 = 96kHz

宽80 31 05

#将 MPIOC 设置为 ADC 独立模式

宽80 6F 41

#将 ADC 设置为 I2S 主机、256fs、输出格式= 24位 I2S

宽80 48 20

############################

感谢您的任何帮助。

提前感谢。

此致、Jesper Therring Jensen

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jesper、您好!
    欢迎来到 e2e 论坛。

    感谢您提供详细的配置以及问题说明。 我将评估配置并重新创建请求的路由、并在我的工作台上测试相同的配置后提供反馈。

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

    感谢您花时间帮助我解决此问题。
    您是否有任何发现?

    此致、
    Jesper Therring Jensen
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jesper、您好!
    我确实检查了您的脚本/设备配置。 我建议的唯一改变/增加如下:

    请将寄存器值0x48配置为0x40
    宽80 48 40

    此外、您能否通过将寄存器0x42设置为0x02来配置 XTI 的时钟源
    宽80 42 02

    此外、您是否在我们的 EVM 或您的电路板上测试过这种情况? 我计划在星期一的工作台上进行同样的检查。 谢谢。

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

    你(们)好 Ravi。

    感谢您的建议。

    不幸的是,这没有解决这个问题。

    但是、我在我自己的电路板和 EVM 电路板上都尝试这样做。

    当我在 EVM 板上尝试它时、我确实看到了一些变化、在监控 LRCLK (MPIOC_2)时、但并不是我所期望的那样。

    首先、在复位后、LRCLK 正以44.1kHz 的频率运行-您知道这是从哪里产生的吗?

    当我对 EVM 板进行编程时、我可以看到 LRCLK 通过某种方式调制、就好像两个时钟源相互干扰一样。

    因此、它似乎可以工作、但我需要首先禁用44.1kHz 源。 你知道我该怎么做吗?

    在我自己的板上、整个 MPIO_C 端口只是保持浮动(我使用的是另一个项目中的 PCB、其中使用了 PCM9211、但 ADC 和 MPIO_C 端口未使用)。

    是否应该为端口使用任何上拉或下拉电阻器以使其正常运行?

    端口的行为与之前解释的一样-它根本不执行任何操作。

    再次感谢您花时间帮助我解决此问题。

    此致、

    Jesper Therring Jensen

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好 Ravi。 您是否有时间查看我的最后一个问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    所以、我自己设法找到了解决我的问题的解决方案。

     

    主控模式下设置的独立运行中的 ADC 似乎不能来自 XTI。 如果我将 ADC 时钟源设置为 AUXIN1、然后用24.576MHz 的时钟馈入该引脚、一切似乎都正常。

    请注意、为了使 ADC 作为主器件运行、必须对 EVM 板进行修改。 这是因为 TAS1020 I2S 输出连接到 MPIO_C 端口。 因此、为了使 ADC 作为 I2S 主器件运行、必须切断与 TAS1020的4个连接(通过切断 U3引脚4、TP4、TP5和 TP6的通道可轻松实现)

     

    数据表中应更清楚地突出显示这一点。 在数据表第24页的修订版 B 中、它说:
    '通过在主控模式下运行 ADC、ADC由外部 SCK 源(例如 DSP 或 PLL 电路)供电运行、并为 PCM9211电路的其余部分和外部组件提供 BCK 和 LRCK。'

    我认为应该说:
    '通过在主控模式下运行 ADC、ADC 必须由一个外部 SCK 源(例如 DSP 或 PLL 电路)运行、并且为 PCM9211电路的其余部分和外部组件提供 BCK 和 LRCK。'

     

    所以、只是为了清除问题。
    正确的配置如下:

    W 80 6F 41 (将 GPIO_C 设置为 ADC 独立模式)
    W 80 48 40 (用于将 ADC 设置为 I2S 主模式、512 fs)
    W 80 42 04 (用于将 ADC 时钟源设置为 AUXIN1 (MPIO_C0 - PIN7)、该时钟源由外部24.576MHz 时钟源提供)