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.

[参考译文] TAC5212EVM-K:PDM 通道配置

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1422283/tac5212evm-k-pdm-channels-configuration

器件型号:TAC5212EVM-K
Thread 中讨论的其他器件:TAC5212

工具与软件:

您好!

我尝试评估板上可用的两个 PDM 麦克风(U8和 U7)、但到目前为止尚未成功。

我希望 TAC5212在 GPO1上生成 PDMCLK 并在 GPI1上接收 PDMDAT。

在 GPO1上未观察到时钟。

使用示波器测量:BCLK = 12.288MHz、FSYNC = 48kHz。

下面是 我的当前设置(PPC3)的一些屏幕截图。

提前感谢您的支持。

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

    您好!

    我曾尝试在 PPC 中设置这些设置、也没有在 GPO1上获得 PDM 时钟输出。 在 EVM 用户指南中、有一段代码、作为使用数字 PDM 麦克风的示例 I2C 命令。 运行该时钟以及将 GPO1设置为 PDM 时钟的"w a0 0c 40"行、可以看到 GPO1上的3.072MHz 时钟、这正是我们所期望的。 查看是否在 PPC3的 I2C 监控器中运行此命令时钟输出。 不要忘记在 GPO1上的两个接线柱之间为 PDMCLK 连接跳线、以便在 GPO1测试点获取信号。

    ###### 从 DMIC 测试########记录
    #目标模式、I2S、32位
    #仅主要 ASI、48kHz 采样4x4的倍数
    # PDMCLK=GPIO1、PDM Data=GPI1

    w a0 00 00 #设置第0页
    w a0 01 01 #软件复位
    W a0 02 09 #使用 AVDD > 2V 且所有 VDDIO 电平进行唤醒
    w a0 0A 41 #将 GPIO1配置为 PDMCLK (驱动高电平和低电平有效)
    w a0 0d 02 #将 GPI1配置为输入
    w a0 10 50 #将 DOUT 配置为主要 ASI (PASI) DOUT
    w a0 13 cc #在 GPI1上配置 PDM 数据、并将通道1数据锁存在负边沿、然后
    通道2数据锁存在正边沿上
    w a0 19 00 # 1数据输入和1数据输出用于 PASI
    w a0 1a 70 # PASI I2S、32位格式
    w a0 1e 20 # PASI Ch1 on Left slot 0
    W a0 1f 30 # PASI Ch2 on right slot 0
    W a0 35 00 # PDM_CLK 是2.8224 MHz 或3.072 MHz
    w a0 76 c0 #启用输入 CHL 和 Ch2、禁用输出通道
    w a0 78 80 #为 ADC 加电

    如果您在这方面需要更多帮助、请告诉我。

    此致!
    MIR

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

    您好、Mir、

    非常感谢您的答复。 确实可以帮助我继续调查这款新器件。

    如果我执行您推荐的 I2C 命令、在 GPIO1上测量3.072MHz 的时钟。 然后、使用命令"w a0 0c 41"(而不是"w a0 0c 40")、我在 GPO1上测量3.072MHz 的相同时钟。

    在分析了我的设置和 I2C 命令之间的差异后、我发现了以下问题:

    1.在 GPIO/中断模式中、我们应该先把输出驱动设置为"低电平有效和高电平有效"、然后再把 GPIO 功能设置为 PDM 时钟输出。 否则"Output Drive"将被禁用并显示为灰色。 请参阅下图。

    将 Outptu 驱动器从"HiZ 输出"修改为"低电平有效和高电平有效"后、我在 GPO1上测量到一个约810kHz 的时钟、而不是3.072MHz。

    2.为尝试解决该频率问题、我重点介绍了寄存器0x1A (ASI_CFG1)。 读回该寄存器、给我0x00、但预期为0x30、因为在"音频串行总线"选项卡中将字长设置为32位。 将寄存器更新为0x30不能解决频率问题。 当 Word LENight 被设定为32位时、预计为0x00还是0x30?

    3. I2C 命令将寄存器0x1F (PASI_TX_CH2_CFG)设置为0x30、从而将位6设置为1。 根据数据报头、位6是保留只读位。 是数据表还是命令错误?

    最后、 我尝试了不同的音频串行总线设置(TDM、I2S、32位、16位……) 但没有成功。 也许是 PLL 配置问题:最后一个设置为"Enable Auto Clock Cfgn"(启用自动时钟 Cfgn)。 你怎么看? 您是否能够重现此行为?

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

    最后我发现了错误:出于模糊的原因、在 Advanced Mode 的 Audio Serial Bus 选项卡中、BCLK/FSYNC 比率设置为8。 将该值修改为0可解决频率问题。

    再次感谢您的支持。

    BR、

    Sebastien

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

    您好!

    只需运行脚本即可。 PPC3有一个错误、如果您运行脚本、它不会更新 GUI、因此、如果您运行脚本后开始更改 GUI 中的参数、您可能发现了一些其他问题、然后在您开始的同一位置结束。 我们即将推出可解决其中一些问题的新版本、但如果您想查看脚本对器件的作用、获取 GUI 更新方法是运行脚本、然后保持器件插入状态、但重新退出 TAC5212 GUI、然后转至 App Center、重新打开 TAC5212 GUI 并选择使用器件值更新 GUI。 这应该会向您显示该脚本的作用! 您可能认为 Hi-Z 输出不正确、抱歉。 我有新版本的 PPC、因此我的高阻态/低电平有效高电平有效设置在 GUI 中略有不同。 BCLK-FSYNC 比率设置在我的 PPC 中也不同-我完全无法编辑该设置、因为我不是在控制器模式下。 很高兴您得到了解决。

    此致!
    MIR