图:TS3A225EIC检测电路(TI官网)
8. 常见问题FAQ
[FAQ13888][headset]怎样定位耳机按键误判的问题
出现误判肯定是通过ADC读取到的电压偏大或者偏小导致的。 可以从下面两个方面来check:
1、用示波器测量耳机按键的电压,看是否在正确的范围内,如果测量正确,那么就是PMIC 耳机ADC通道读到值不准确。
如果用示波器测量到的电压就偏大或者偏小,那么就是耳机按键硬件电路的问题,只能从耳机硬件电路原理上来check。
2、如果是PMIC 耳机ADC通道读值不准确的话,可以用示波器测量该ADC通道的参考电压是否有波动?是否有添加电容等,可以对比参考设计来check。
通过PMIC ADC读取的耳机按键电压是否会随着MICBIAS电压变化而变化? ==》
是不会变化的,ADC读取的耳机按键电压是根据基准电压1.9V来输出,就算MICBIAS电压调整到2.7V,PMIC ADC芯片内部会根据读取到的电压转换基准电压后输出一个值。 这就解释了为什么MICBIAS电压调整后,耳机按键检测的电压范围不改变的原因。 [FAQ13887][headset]怎样解决插入耳机后等待2s时间才显示图标或者检测到耳机MIC类型 内容 [DESCRIPTION] 经常有客户遇到插入耳机后差不多等待了2s时间才显示图标或者检测到耳机MIC类型 [SOLUTION] 出现这样的问题是由于定义了宏 ACCDET_PIN_RECOGNIZATION 定义该宏后由于该宏设计的原因,会在文件 alps\\kernel-3.10\\drivers\\misc\\mediatek\\accdet\\mt6752\\accdet.c 函数static inline void accdet_init(void)里面会调整耳机类型检测accdet中断debounce time为2s。 // init the debounce time #ifdef ACCDET_PIN_RECOGNIZATION pmic_pwrap_write(ACCDET_DEBOUNCE0, cust_headset_settings->debounce0); pmic_pwrap_write(ACCDET_DEBOUNCE1, 0xFFFF); //该数值单位为1/32K ,这样0xffff*(1/32K)就是2s了。 pmic_pwrap_write(ACCDET_DEBOUNCE3, cust_headset_settings->debounce3); pmic_pwrap_write(ACCDET_DEBOUNCE4, ACCDET_DE4); #else
开启ACCDET_PIN_RECOGNIZATION后,需要2s时间的原理如下:
当按插柱分段逐步插入不匹配耳机后,AB的值很容易先进到01,而按照设计,如果进到01处理中,则不能进行i不匹配耳机的判断,因此需要将AB=01的情况避开,方法是将AB=01的debounce1=0xFFFF约为2s,这样用户在逐节插入耳机时,如果进到AB=01的情况,由于debounce1=2s,这样逐节插入绝大多数的情况应该都可以跳过AB=01,但如果用户逐节插入确实超过2s才完全插入耳机,就会先进到AB=01的处理,而后变为AB=0,产生press key的行为,这样就认不到不匹配耳机了。 PIN recognition limitation
1、在press up key插入兼容的耳机后,大于1s release key,这时弹出不兼容耳机的提示框,或插入兼容耳机马上press up key(1s内),小概率性会弹出不兼容耳机的提示框。 2、将不兼容耳机按插柱分节逐步插入插座,在插柱的第三节到第四节的过渡停留超过大约2s,之后完全推入耳机, 不兼容耳机会认不到,不能弹出不兼容耳机的提示框
3、插入耳机后,识别到耳机插入的时间要比pin recognition长,用户体验上来说,audio切到耳机的时间要比没有pin recognition长(大约长1-2s) 4、Android Toast
因为show message采用的是android Toast方案,因此会有Toast行为本身的局限性,比如锁屏时,不能show message,插着不兼容耳机开机,开机后不能show message所以如果定义了宏ACCDET_PIN_RECOGNIZATION 就有这样的限制,是没有办法优化的,如果无法接受limitation,就关闭该宏,
9. 参考(来源于网页,待确认) MICBIAS(偏置电压)
偏置:在电路某点给一个参考分量,使电路能适应工作需要。
偏置可以是DC偏置,也可以是AC偏置。也可分为电流偏置和电压偏置。常见的是DC偏置。即电路某点经过一个起偏置作用的元件接到某个DC电源上。例如单级三极管发射极放大电路,至少需要一个基极偏置电阻。由于三极管放大电路经常用电流放大系数来计算放大效果。因此偏置电阻定义为电流偏置电阻,以便于计算和分析。 CMOS门电路输入端,接的上拉电阻或下拉电阻,一般可认为是电压偏置电阻。因为通过这个电阻的电流很少,电阻基本上是给门输入端一个静态参考电压。交流偏置的一个典型应用例子:录音机的交流偏磁。
AC/DC couple(交流、直流耦合) 直流耦合
直流耦合(DC Coupling)就是直通,交流直流一起过,并不去掉了交流分量。
比如在3V的直流电平上叠加一个1Vpp的正弦波,如果用直流耦合,看到的是以3V为基准,+/-0.5V的正弦波。在功率放大中有重要应用。 交流耦合
交流耦合(AC Coupling)就是通过隔直电容耦合,去掉了直流分量。
交流耦合和直流耦合在匹配电路上的区别
直流耦合就是直接的导线连接,包括通过像电阻之类的线性元件的连接。它适用于对包括直流分量的信号的放大电路中。在直流耦合电路中,各级电路的静态工作点是互相影响的。一级的工作点改变了相邻的二级也会受到影响。因此不能单独地调整工作点电流和电压。而在交流耦合直流不耦合的电路中各级电路是用电容或者是电感隔离开的。因此静态工作点是独立的,调整静态工作点比较容易。直流耦合中因为各级的输入和输出阻抗是一定的,不好作阻抗变换,直接耦合时高效率匹配就很难做到。而在交流耦合电路中用线间变压器就很好地进行阻抗变换实现高效率的匹配。特别是选频放大电路中普遍采用的LC谐振电路更是极大地提高了电路的效率。 其他网页
http://andiha.no/articles/audio/dcamp.htm
http://e2e.ti.com/blogs_/b/behind_the_wheel/archive/2014/11/19/can-you-hear-me-now-audio-jack-switches-could-be-the-answer
https://en.wikipedia.org/wiki/Phone_connector_(audio)#TRRS_standards
MTK文档:
Driver_All_in_One_V1.0_MT6735_6753.pdf
Accessory_Detection_introduction_customer_V1.0.pdf MT6328_Audio_Speech_Design_Note_V0.1.pdf