请教耳机插入误检测,有遇到过的吗?
L R声道是如何做插入耳机检测的?应该是mic来检测吧?
如果软件可以做的话,把判断条件更改一下,只有再检测到耳机已经插入的情况下,mic的那个按键才起作用
也可以更改定义,把mic放在最前面
以前的耳机定义是把mic放在最前面的,现在是L R mic 地,这种定义是不是有问题?
这种检测遇到过问题吗?
让软件看看对ADC的配置设置的是否正确
软件防抖加大延时吧,或者加个RC硬件去抖
那个参数会有影响》?
更改定义,把mic放在最前面
因为按你说的定义, 在耳机插入过程中,mic 会有可能通过某个低阻抗路径拉到地,这时就相当你在按耳机的hook键(mic到地)
也可通过软件bypass耳机插入过程中的一些unwanted情形
HOOK_DET只有在HEAD_DET到后才有效。
可以修改判断条件,就是在没有HEAD_DET的时候(也就是L,R没有完全接触到内部弹片的时候),此时即使HOOK_DET有NOISE可能出现低电平也不接受
这样就可以避免在插入过程中的误判决,另外结合30ms延时防抖,可以作到百发百中
有道理
谢谢
是100%出现还是有一定几率?如果是100%出现,那你查查软件;如果是一定几率出现,你应该查查耳机和耳机插座是否匹配,在耳机拔插的过程中,如果耳机的MIC段做的过长的话,有可能耳机的MIC段同时接触到了耳机座的MIC脚和地脚,这样就产生了低点平挂机信号。我现在的项目就出现了这样的问题。
我觉得可以利用中断兼顾查询的方式来解决
利用L那个跟pin接触到底部产生中断,同时用ADC来查询mic的电平 一起来确定是否耳机插入
如果在插入过程中会产生不停的中断,但此时MIC没到位 adc必定认为不是耳机插入
查询动作始终在有中断后再去做 这样可以减少很多误侦测
目前这种4段式耳机jack,如果用户真要缓慢插耳机 还是会造成误诊测得
硬件电路要改一下,加个电容就搞定,我们遇到同样问题
idtpei :
能否介绍下硬件电路的方法如果实现的呢?
这问题的原因在于耳机信号的定义,把MIC和GND定义在一起,肯定会有这个问题,在拔插耳机的过程中,耳机MIC的那段很容易同时跟插座的MIC和GND接触,就出现了该现象。你可以用VDD当MIC的偏置电压,然后开机用示波器看耳机拔插过程中MIC线上的波形,你会发现,当MIC插拔到某个位置时,MIC就被拉低了, 然后你用万用表去量一下,此时耳机插座的MIC脚和GND连在了一起。
把MIC定义在最里面可以解决该问题。
标准定义是L,R,MIC,GND
不要随便更改定义,这样将带来后续项目的维护的复杂性
最好的做法是软件检测打开的顺序调整
支持楼上的说法
youxia0309 会打的很好;以前有遇到过
本文来自:我爱研发网(3721RD.com)
可以参考nokia的设置 GND MIC L R