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.

[参考译文] TLV320ADC3140:[TLV320ADC3140] TDM 模式可通过麦克风进行#39;t 录制

Guru**** 2519150 points
Other Parts Discussed in Thread: TLV320ADC3140

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1009276/tlv320adc3140-tlv320adc3140-tdm-mode-can-t-record-by-dmic

器件型号:TLV320ADC3140

大家好、团队成员

我们使用 您的 EVM 板、该板可在从站或主 TDM 中正常工作。

但现在工厂已经生产了正式的电路板。

存在硬件 差异:

1) EVM 某些电源使用3.3V、如 AVDD、但我们的板全部电源使用1.8V

2) EVM 使用 模拟 MIC,,我们使用8个 DMIC。

根据文档 tlv320adc3140.pdf、我配置以下寄存器:

从机模式:

0x02 0x01   //电源

0x3c 0x40    //麦克风设置
0x41 0x40
0x46 0x40
0x4b 0x40

0x22 0x41   // GPO  设置
0x23 0x41
0x24 0x41
0x25 0x41

0x41 0x48   //默认48K 12.288M

0x2b 0x45   /GPI  设置
0x2C 0x67
0x73 0xff
0x74 0xff
0x75 0x60

现在、DMIC 可以获取3M CLK 和输出数据。

但记录数据为 NULL、我认为 ADC 输出数据有问题。

ADC 可能输出空数据。

请帮您检查。

谢谢

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

    您好、曾、

    我在您使用的脚本中看不到任何问题。 您能否确认电路板上的 AREG 和 AVDD 短接在一起? 如果 AREG 不是内部源、则需要连接到与 AVDD 相同的源。 我假设 DMIC 也使用相同的1.8V 电源吗?

    最棒的

    Zak

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

    您好、Zak

    是、Areg 连接  AVDD。

    状态为:

    IOVdd 1.8V
    Dreg 1.45V
    AVSS  GND
    VREF 1.75V
    AREG 1.75V
    AVDD 1.75V
    DMIC_ VDD 1.8V
    DMIC_ CLK 3.072M

    我还将 J3更改为1.8V、 该 EVM 可以正常工作。

    我发现一个奇怪的问题。

     我们的板上限电压

    BCLK:0.9V

    数据:0.9V

    EVM 上限电压

    BCLK:2.3V

    数据:3.3V

    当我 用电路板数据短接电路板 BCLK 时、我无法记录数据。

    但是、如果 我 用电路板数据短接 EVM BCLK、我可以记录数据。

    数据也是噪声。

    我认为问题是 ADC 输出 电压过低

    您对这种现象有什么建议?

    谢谢

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

    您好、曾、

    您说过您要在从模式下测试电路板、对吧? 如果您正在应用 BCLK 和 FSYNC、并且这些引脚仅为0.9V 的高电平信号、则器件不会检测到该引脚为高电平。 我不确定为什么要将 BCLK 短接至数据、这不是应该发生的情况。  

    您能否确认从 ASI_STS 寄存器0x15读回的内容? 检查寄存器0x76和0x77也会很有帮助。

    最棒的

    Zak  

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

    您好、Zak

    是的、我们现在是配置从模式。

     我不确定为什么要将 BCLK 短接至数据、这不是应该发生的情况。  

    >>>

    这是一个测试。

    1) EVM BCLK 为 2.3V、连接数据线可记录噪声。

    2)我们的电路板 BCLK 为0.9V、连接数据线无法获得声音。

    我们的数据也只有0.9V、这意味着我们的板数据 电压太低。

    我想这就是我们无法记录的原因。

    有 regs 映射:

    来自0x73和0x76。某些通道无法启用。

    根据硬件团队信息、我们的板有四个 ADC IC。

    即使现在我们只测试一个 ADC、但数据驱动器功耗可能很低。

    我们是否有 用于增加数据驱动 器电压的寄存器配置?

    谢谢

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

    您好、曾、

    DOUT 和 BCLK 都是有源驱动线路、除非引脚之间有足够的电阻、否则不建议在信号不处于高阻抗状态时将其驱动到 DOUT。 如果驱动电流足够大、则可能会损坏输出。

    如果您的电路板 BCLK 为0.9V、则听起来好像您没有使用有效的逻辑电平、或者您的驱动器没有将时钟线路驱动至预期电压的强度。 我们的器件具有足够的驱动强度、可在同一总线上支持多达64个器件、因此我确信 DOUT 驱动强度不是问题所在。

    最棒的

    Zak

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

    您好,Zak

    在硬件团队更改 电阻后,问题得到解决。

    现在、从设备(12.288M)和主设备(24.576M)可以录制声音。

    但记录数据似乎只获得一个 DMIC 数据。

    0x73和0x76都是0xf0、这是原因吗?

    谢谢

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

    您好、曾、

    主器件的运行速率是否与从器件不同? 我很困惑您为什么要提供2个不同的时钟频率。 您似乎只启用了4个数据通道、并且每个 GPI 引脚承载2个通道、因此只有输入1和2处于活动状态。 另请注意、如果您使用8个 PDM 麦克风通道、则需要禁用 DSP_CFG1寄存器(0x6c)中的双二阶滤波器、否则、通道7和8将显示过度延迟。  

    最棒的

    Zak

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

    您好、Zak

    很抱歉、我没有清楚地描述它。

    现在我们配置一个 ADC 主模式(24.576M)、其他两个 ADC 为从模式。

    我们有两个问题

    1)我们使用8 PDM,我有配置寄存 器0x73和 0x74到0xff。

    但从0x73和0x76状态开始、我们只使用4 PDM (4通道)

    请帮助检查。我们如何对8通道进行捆扎。

    2)实际上、我不确定是否记录文件通道(插槽)编号。

    因为此数据文件是48K 512位、其中包含32个通道。

    我们无法正常播放它。

    我们如何确认它?

    我注意到数据线有四 个峰值,这意味着有4个通道数据吗?

    谢谢

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

    您好、曾、

    您是否已验证主器件的时钟是否正确? 是否确定为48kHz 操作配置 FSYNC? 0x73不是状态寄存器、而是输入通道使能寄存器。 如果您未将0x73设置为0xff、则不会在总线上看到全部8个通道。

    最棒的

    Zak

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

    您好,Zak

    某些音频 ALSA 代码会更改寄存器。

    在我更改代码后、状态为"正常"。

    现在、我们将一个 ADC 配置为主模式。牵引 ADC 是从模式。

    将 0x0B ~ 0x12更改为三个 ADC 时隙 偏移。

    ADC1 0 ~ 7 插槽

    ADC2 8~15 插槽

    ADC3 16~23插槽

    数据同步为48k、因此20us 是一个缓冲器。

    我们可以获得15us (24插槽)数据。

    但有时数据 会重叠。请检查突出的电压

    我认为频率可能过高。

    您能不能 ?检查结果

    谢谢  

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

    您好、曾、

    我将确保您正在对每个器件进行编程、以便在不主动驱动数据时在 HiZ 中设置其 DOUT 线路。 由于您未使用所有可用的时钟周期、因此您可能还会考虑向 每个 TDM 输出添加一个周期或2个偏移、以帮助确保不会出现任何时序问题。  

    最棒的

    Zak

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

    您好、Zak

    是的、我们已将数据设置为0x07 (设置为0x09或0x01)

    现在、我们有一个有关计时的问题

    如果我们只启用一个 ADC (主器件)、我们可以获得8个正常通道

    但是如果我们添加其他 ADC (从器件)、则所有通道数据都是噪声。

    因为 ADC 时隙 位置 si 不  固定。

    即使我们将 ADC 设置为0~7 SLOT (0x0B ~0x12)、但插槽可以是任何其他插槽  位置

    请帮助检查问题。

     

    谢谢

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

    您好、曾、

    在我看来、您是否没有为总线上的其他设备设置插槽偏移? 有关共享 TDM 总线的信息、请参阅此应用手册: https://www.ti.com/lit/an/sbaa383b/sbaa383b.pdf

    您可能还需要验证所有器件是否都设置为相同的16位 TDM 格式。

    最棒的

    Zak

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

    您好、Zak

    我们可以记录24个通道数据。

    此问题是由于同步模式不正确导致的。

    我们需要将0x07设置为0x09

    谢谢

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

    您好、曾、

    我很高兴您能够解决此问题!

    最棒的

    Zak