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.

[参考译文] TLV320DAC3100:无法在插入耳机时获得插孔中断

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1288714/tlv320dac3100-unable-to-get-jack-interrupt-on-headphone-insertion

器件型号:TLV320DAC3100

我希望在我插入耳机时生成 Jack 中断。 下面是 TLV IC 实现的原理图设计部分。

 下面是我为启用中断服务例程所做的设置、  

void enable_jack_interrupt ()
{
SYSTEM ("i2cset -y -r 1 0x18 0x00 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x01 0x01");
SYSTEM ("i2cset -y -r 1 0x18 0x04 0x03");
SYSTEM ("i2cset -y -r 1 0x18 0x06 0x08");
SYSTEM ("i2cset -y -r 1 0x18 0x07 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x05 0x91");
系统("i2cset -y -r 1 0x18 0x0B 0x88");
SYSTEM ("i2cset -y -r 1 0x18 0x0C 0x82");
SYSTEM ("i2cset -y -r 1 0x18 0x0D 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x1B 0x00");
系统("i2cset -y -r 1 0x18 0x3C 0x0B");
SYSTEM ("i2cset -y -r 1 0x18 0x00 0x08");
SYSTEM ("i2cset -y -r 1 0x18 0x01 0x04");
SYSTEM ("i2cset -y -r 1 0x18 0x00 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x74 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x43 0x85");
系统("i2cset -y -r 1 0x18 0x30 0xC0");

SYSTEM ("i2cset -y -r 1 0x18 0x00 0x01");
SYSTEM ("i2cset -y -r 1 0x18 0x1F 0x04");//对于耳机、请取消注释此行
系统("i2cset -y -r 1 0x18 0x21 0x4E");
SYSTEM ("i2cset -y -r 1 0x18 0x23 0x44");
SYSTEM ("i2cset -y -r 1 0x18 0x28 0x06");
SYSTEM ("i2cset -y -r 1 0x18 0x29 0x06");
系统("i2cset -y -r 1 0x18 0x2A 0x1C");
SYSTEM ("i2cset -y -r 1 0x18 0x1F 0xC2");//对于耳机、取消注释此行
SYSTEM ("i2cset -y -r 1 0x18 0x20 0x86");//仅对于耳机、请注释此行
SYSTEM ("i2cset -y -r 1 0x18 0x24 0x92");
SYSTEM ("i2cset -y -r 1 0x18 0x25 0x92");
SYSTEM ("i2cset -y -r 1 0x18 0x26 0x92");

SYSTEM ("i2cset -y -r 1 0x18 0x00 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x3F 0xD4");
SYSTEM ("i2cset -y -r 1 0x18 0x41 0xE6");// 0xE6=0.4V 0xFB=1.5v ac
系统("i2cset -y -r 1 0x18 0x42 0xE6");
SYSTEM ("i2cset -y -r 1 0x18 0x40 0x00");

}但仍然无法在 Jack INT 引脚上获得中断。 能不能支持我解决问题陈述吗?

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

    尊敬的 Madhuri:

    从硬件角度来看、可能需要调整几个方面:

    • 在 DAC3100文档中、引脚11应该被连接至插孔引脚、当插头被插入时、插孔引脚从悬空变为 GND。 不确定套管引脚在这个插孔上的作用、并且不清楚此引脚是否根据插头插入件从悬空切换至 GND、
    • 然后、从引脚11和插孔引脚的同一连接开始、应该有一个连接到引脚12的电阻器。 这似乎是反向的引脚12、即到插孔的公共连接。
    • 您可以参阅 EVM 用户指南中的接头、其中涉及引脚11、引脚12、R17和 J4引脚4、以及数据表 中的图6-17、第6.3.10.5节。

    此致、
    -Ivan Salazar
    应用工程师

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

    您好!

    感谢您的答复。

    根据我们的耳机(ZEB BUDS30)、引脚4为接地、引脚1为麦克风、即插孔连接器数据表中的书面套筒(根据附件)。 我认为这个硬件可能没问题。 我完成的 DAC 设置是否正确? 或者您可以建议的其他内容。  

     

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

    尊敬的 Madhuri:

    我认为您仍然需要修复 MICBIAS 和 MICDET 连接、耳机插孔引脚必须连接到 MICDET 而不是 MICBIAS。

    寄存器配置看起来可以查看与 MICDET 相关的部分、我需要更多时间复查所有剩余部分、 我将在几天内再次对寄存器提出任何进一步的评论。

    此致、
    -Ivan Salazar
    应用工程师

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

    您好!

    我们已尝试了硬件设计中的建议更改、但仍然无法实现中断。

    您能提供更多建议吗? 我使用了以下寄存器、并将其设置为  

    1) 1) 0x43 -> 0x80

    2) 2) 0x30 -> 0xC0

    3) 0x33 -> 0x14

    4) 4) 0x2E -> 0x09

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

    您好!

    您是否可以使用示波器检查 MICDET 引脚11并在插入和未插入插头时共享此信号的捕获?
    此外、请在插入插头而未插入的情况下读取寄存器0x43、位6:5是否有任何变化?

    此致、
    -Ivan Salazar
    应用工程师

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

    伊凡、您好!

    您能否共享启用 JACK 中断所需的寄存器设置   

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

    您好!

     在寄存器0x43上启用 MSB 应该会启用耳机检测、通过使用示波器并读取寄存器0x43的内容、您是否能够进行上述测试?

    此致、
    -Ivan Salazar
    应用工程师

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

    可以。 我在示波器上看到了 Micdet 引脚(根据附件的黄线)。 对0x43寄存器没有影响。

    还要将 Micdet 直接接地、而不是插入耳机。

    寄存器设置还需要哪些其他要求?

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

    您好!

    我已经复制了 EVM 上的测试、我可以确认您需要 启用页1寄存器0x43中的位7。  我在页1寄存器0x2e 上使用不同的 MICBIAS 设置进行了测试、所有这些设置在2V 或更高的电压下运行、具体取决于配置。 您可以尝试以下操作:

    system ("i2cset -y -r 1 0x18 0x00 0x01");//转至第1页
    SYSTEM ("i2cset -y -r 1 0x18 0x2e 0x0B");//始终启用 MICBIAS、MICBIAS 由 AVDD 供电
    SYSTEM ("i2cset -y -r 1 0x18 0x00 0x00");//转到第0页
    SYSTEM ("i2cset -y -r 1 0x18 0x43 0x80");//启用位 MICDET

    在硬件侧、我可以从示波器捕获中看到、MICDET 变为低电平、接近0V、但随后上升至电源的大约一半。 这是不可行的、因为检测会将其视为"无插入"。 您能评论一下为什么它不保持低电平吗? 这样应该可以修复检测问题。

    此致、
    -Ivan Salazar
    应用工程师

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

    伊凡、您好!

    我能够通过设置第3页/寄存器10来解决此问题。

    非常感谢您的支持

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

    您好!

    很高兴知道它现在已在工作。 感谢您分享这些信息。

    此致、
    -Ivan Salazar
    应用工程师

x 出现错误。请重试或与管理员联系。