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.

[参考译文] TLV320AIC3120:TLV320AIC3120:耳机检测

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1333245/tlv320aic3120-tlv320aic3120-headset-detection

器件型号:TLV320AIC3120

您好!

我们正在尝试在 TLV320AIC3120中执行耳机插孔检测功能。 以下步骤:

  1. 在 页0/寄存器67 (0x43)中配置0x88 -启用耳机插孔检测
  2. 在页0/寄存器48 (0x30)中配置0x81 -启用 INT1
  3. 页0/寄存器51 (0x33)中配置0x15 -在 GPIO1引脚上获取中断

我们通过读取0x43观察到正在进行耳机插孔检测。 但是、我们在 GPIO1引脚上没有获得任何中断。 是否需要进行任何其他配置?

另外、我们在 页0/寄存器51 (0x33)中配置了0x15、其中 D0位配置为1。 这意味着 GPIO 引脚会在发生中断时提供高输出吗?

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

    尊敬的 Akilarasan:

    您为每个寄存器配置的值是什么? 只要引脚未配置为通用值(0011或0010)、0x33中的 D0就是冗余的。 您是否也尝试过读取0x2C 以查看耳机检测是否设置了中断标志?

    此致、
    J·麦克弗森

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

    尊敬的 Jeff:

    我们将在0x43中配置0x88、 在0x81寄存 器中配置0x81、在0x33寄存器中配置0x15。 是否必须在0x33的 D5-D2位中配置0011才能获得 GPIO 输出。  

    我们希望在 GPIO 引脚上获得中断信号。 我可以这样做吗?

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

    尊敬的 Akilarasan:

    不可以、D5-D2应为0101、因为您已经拥有它。 插入耳机时从0x2C 读取的值是什么?

    此致、
    J·麦克弗森

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

    尊敬的 Jeff:

    未插入耳机时、在0x2C 处读取的值为0x0 、插入耳机时、在0x2C 处读取的值为0x10。

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

    尊敬的 Akilarasan:

    我明天就可以测试一下、并告诉您是否缺少设置。

    谢谢!
    J·麦克弗森

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

    尊敬的 Akilarasan:

    该 EVM 不支持我希望获得的测试。 您能否分享您的原理图和完整的寄存器映射、以便我可以更深入地发现问题?

    您还要按照什么顺序测试耳机检测? 如果在监测 GPIO 之前读取寄存器、则 GPIO 将清零。

    此致、
    J·麦克弗森

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

    尊敬的 Jeff:

    下面附加的图像是我们的原理图、

    然后进行以下配置:

    在页0/寄存器67 (0x43)中配置0x88 -启用耳机插孔检测

    在页0/寄存器48 (0x30)中配置0x81 -启用 INT1

    在页0/寄存器51 (0x33)中配置0x15 -在 GPIO1引脚上获取中断

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

    尊敬的 Jeff:

    此外、请说明我应该对 页0/寄存器51 (0x33)中的 D0和 D1位进行什么配置。

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

    尊敬的 Akilarasan:

    由于 GPIO 设置为 INT1、因此 D0和 D1是冗余的。 我会将它们保持为0。  

    如何测量 GPIO? 您是否在实时监控以查看事件? 如果您尝试读取寄存器、然后查看 GPIO、中断将清除、并且什么都看不到。

    您可以采取的另一个调试步骤是尝试将 INT1设置为不同的中断类型、然后查看这是否有效。 这可以提供有关问题所在的线索。

    谢谢!
    J·麦克弗森

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

    尊敬的 Jeff:

    我们将通过示波器探测 GPIO 信号。 会得到2ms 脉冲、但会得到多个脉冲。 然后、我们必须知道无论何时插入耳机、耳机插入中断和 PTT 按钮按压中断加在一起、导致多个脉冲。 现在我的怀疑是

    1. 是否有任何方法可以忽略 PTT 按钮按压中断?
    2.  页0/寄存器67 (0x43)是否为读取清除寄存器、因为读取后它将被清除一次?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Akilarasan:

    在寄存器0x31中、确保位6为0、以禁用按钮按压中断。 您还可以将位0设为具有单个脉冲、而不是多个脉冲。

    是的、0x43 是实时寄存器、读取时不会清除。 持续监视头戴式耳机检测。  

    此致、
    J·麦克弗森