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.

[参考译文] TLV320AIC3204:关于数字麦克风支持

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1485306/tlv320aic3204-regarding-digital-mic-support

器件型号:TLV320AIC3204

工具与软件:

你(们)好   

这是 我之前 Thread  https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1481360/tlv320aic3204-not-able-to-see-the-data-in-from-the-coded/5696118?tisearch=e2e-sitesearch&keymatch=%2520user%253A644573#5696118的后续问题

我写入以下值  

寄存器 电流
55. 0x0E
56. 0x02
81. 0x13

但当我读回56时、改回0x03、其他两个不变  

但是、当我们探测以下位置时、我们不会在示波器中看到和波形  

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

    您好!

    您正在探测什么? 没有 I2C 波形或没有时钟数据?  

    您是否使用这些寄存器的十六进制或十进制版本?

    寄存器55 = 0x37设置为0x0E:MISO 是数字麦克风的时钟输出

    寄存器56 = 0x38设置为0x02:默认值、SCLK = DIG 麦克风输入。 读取时更改为0x03没有问题、因为最后一位是只读的、是 SCLK 引脚的值。 器件仍设置为所需设置

    寄存器81 = 0x51设置为0x13: SCLK=DIG 麦克风输入、L+R ADC 通道断电、L+R 通道 ADC 未配置为数字麦克风、然后不要对最后2位使用保留位。 由于正在写入的是保留位、因此该写入可能不起作用。 相反、您可能需要1101 1100 = 0xdc、对于 ADC L+R 上电并配置为用作数字麦克风输入的情况、SCLK 是数字麦克风输入并启用软步进。  

    如果您可以发送正在使用的命令、正在读取/写入的内容、并更新寄存器81设置、它应该能以您需要的方式工作。

    此致!
    MIR

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

    你(们)好  

    是55 , 56和81是用于 写入寄存器的索引..  

    它的写入0x37 , 0x38和0x51 仅..please 找到转储,我写了它后 .. 序列如下所示  

    1.打开设备电源  
    2. alsactl 恢复设置默认 alsamixer 配置  (asound.state attached)
    3. ioctl 写入上述3个寄存器并读回所有寄存器 (已连接转储)

    [ 2371.203835]{0x37、e}、
    [ 2371.204430]{0x38、3}、
    [2371.216909]{0x51、dc}、

    4.之后 ,我正在探测下面的点,我看到了  CLK R214为高电平 而 R219 在示波器中较低。

     您可以指导我 如何访问这个数字 Mike 我不确定的命令.

    e2e.ti.com/.../3716.digital_2D00_mic_2D00_reg_2D00_dump.txt

    e2e.ti.com/.../6431.digita.mic.asound.state.txt

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

    嗨、Nitin:

    只是为了确保、您的意思是时钟根本不输出、并且您没有从麦克风接收到麦克风信号? 我想看看时钟分频器、看起来这可能是个问题。 您能再次解释一下您的输入时钟频率吗? 这是 MCLK (如果有)、BCLK 和 WCLK。

    此致!
    MIR

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

    请注意、参考指南中的这个图表显示了 CLKOUT 是如何生成的:

    您将需要启用 M 分频器(寄存器0x1a)并指定所需的数字麦克风时钟、以便我们可以从可能的输入时钟生成它。 请告诉我您想要什么数字麦克风时钟。

    -mir

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

    你(们)好  

    MIC 支持 3.072MHz  时钟。
    是的,我没有得到 PDM clk 从数字麦克风本身.

    请找到随附的 clk 图像  

    目前0x1a 似乎为1  

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

    嗨、Nitin:

    确保您已启用 MDIV。请给我留出一天的时间来介绍寄存器、我可以为您提供一个示例脚本或一些分压器建议以进行测试。

    此致!
    MIR

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

    好的、谢谢

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

    您好!

    很抱歉耽误你的时间、我本周开始。

    -mir

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

    您好!

    CLKOUT M 分频器通过页0寄存器26 (0x1a)设置、您可以将其设置为0x81以使 M 分频器为1、并为 M 分频器上电。 然后、您需要将 GPIO 设置为数字麦克风时钟、并将寄存器52 (0x34)设置为 0x28。 此外、将寄存器25 (0x19)设置为 CDIV_CLKIN、时钟可能与 MCLK 不同。 例如、如果 BCLK 为3.072、则将 CDIV_CLKIN 设置为 BCLK、但如果不是、则 DAC_MOD_CLK 通常为3.072。 这摘自应用参考指南:

    如果您对此有疑问或仍然有问题、请告诉我。

    此致!
    MIR

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

    你(们)好  

    感谢您的响应 ,现在,在这一改变后,我可以看到时钟和数字麦克风工作
    但仍然需要大家的帮助、查看寄存器设置、因为时钟现在是1.5 MHz  

    我写入了  寄存器26 0x82使用分频器2、因为我的 BCLK 为6 MHz。
    因此时钟应是3MHz  


    请找到下面的设置..,我正在启动后的系统,  


      
         {25、0x01}、
        {26、 0x82}、
        {52、 0x28}、
        {55、 0x0E}、
        {56、 0x02}、
        {81、 0xdc}、
      };

    已确认进行了写入  

    [ 647.054255]{0x19、1}、
    [ 647.054864]{0x1a、82}
    [ 647.067247]{0x34、28}
    [ 647.069280]{0x37、e}、
    [ 647.069848]{0x38、2}、
    [ 647.082248] {0x51、dc}、

    我禁用了所有 INT_XX 选项并尝试了以下 arecord 命令  

    arecord -D HW:1、0 -r 96000 -c 2 -f s32_le /userdata/audio_test_digi_mic.wav

    e2e.ti.com/.../audio_5F00_test_5F00_digi_5F00_mic.wav

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

    您好!

    从这个图中看起来、默认情况下 GPIO 和 MISO 将从 ADC_MOD_CLK 获取数字麦克风时钟、该时钟默认也应为3.072MHz 或1.536MHz -具体取决于您的时钟树。 因此、由于您将寄存器52设置为0x28 (这会将 GPIO 输出设置为数字麦克风的时钟)、它将使用 ADC_MOD_CLK 作为麦克风时钟、而不是 CDIV 输出(如果您将其设置为 CLKOUT、它将使用 CDIV 输出)。 但是、我认为使用调制器时钟作为数字麦克风输出比拆分 BCLK 更好、因为调制器时钟将用于锁存输入数字麦克风数据、并且相位可能比 BCLK 更近。 我认为您应该禁用 MDIV 或将其重新设置为1。 如果这不会更改您的输出、那么让我们更多一点地配置您的时钟树、以获得3.072作为您的调制时钟。 能否发送所用寄存器的完整配置?

    此致!
    MIR

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

    你(们)好  
    感谢你的答复我会检查这在下周,并更新你.