早期的3.5mm耳机只有GND、左、右声道3个引脚,这种耳机接口简单,使用范围广,常见在电脑等大型设备音频接口上,这种接口有个显而易见的缺点,即:没有MIC,不能录音打电话。在电脑上可以单独增加MIC接口,但是在手机这种集成度高的移动设备上,单独增加MIC接口显然不是个高性价比的方案,因此出现了带有MIC的耳机接口。早期各手机厂商都是自由发挥,出现了五花八门的耳机接口,各家厂商的耳机接口又互不兼容,耳机不能共用给消费者带来非常多的苦恼,天下苦杂耳机接口久矣。于是,统一标准的耳机接口亟待出现。
后来就出现了OMTP标准和CTIA标准,二者在链路上主要有MIC和GND的区别,见图5-62。当年遵循OMTP的有鼎鼎大名的诺基亚,我国也选择了OMTP,但一些手机厂商依然选用CTIA,正因为如此,当年很多同学会发现一些3.5mm耳机不兼容。
上图右图是耳机线的链路示意图,耳机有两个小的扬声器作为左、右声道,连接到接头的L和R,耳机上还有MIC可以录音,此外还有3个功能按键,分别是暂停、上一曲和下一曲的功能,不同的按键有不同的串联电阻,可以通过检测电阻来判断具体是哪个按键按下去的,比如当K1按下时,MIC和GND之间是短路的,当K2按下时,MIC和GND之间的电阻是R1。
OMTP和CTIA耳机接口有不匹配的问题,科技的进步一直服务于用户的需求,为了解决OMTP、CTIA的兼容性问题,音频开关开始进入人们的视野,很多手机都会加入音频开关,通路原理见下图(a)和(b)。当耳机插入时,音频开关会检测MIC和GND的顺序然后自动切换MIC和GND通路,不管用什么标准的耳机,不管怎么插,都能够实现二者的兼容。
怎么实现耳机插入检测呢?耳机插座起了重要作用,耳机插座也是分两种,NC(NORMAL CLOSE)和NO(NORMAL OPEN)。NC是常闭,上图(c)中的插座左声道L和DET平时是闭合短接的,如果插入耳机后L和DET就会断开,DET为高电平,以此实现耳机插入检测。NO是常开,(d)中,通常状态下L和DET是断开的,插入耳机后L和DET短接,DET为低电平。手机软件需要根据手机使用的耳机插座进行软硬件配置,来识别耳机插入状态。
现在高端的手机越来越薄,3.5mm耳机接口会占据很大空间,高端手机一般都取消了3.5mm耳机接口,通过TYPE-C口实现耳机、USB和充电功能。用户在使用时有两种耳机可选择,一种是3.5mm传统耳机搭配个3.5mm转TYPE-C的转接头,另一种是直接使用TYPE-C头的耳机。下图左侧是耳机的插座转TYPE-C接口的连接图,其中由于TYPE-C接口支持正反插,因此左右声道不用切换,直接根据TYPE-C D+、D-正反插功能就可以实现。不同标准的耳机MIC和GND顺序不同,手机同时还要兼容TYPE-C接口中MIC和GND的正反插,MIC和GND的切换逻辑就比较复杂,篇幅有限,本文不详细介绍。
TYPE-C口的数据流分两种,一种是音频的,包括左、右声道、MIC和地,另一种是USB的通路,其中左右声道占用了USB的D+、D-引脚,因此需要加入模拟开关对D+、D-和耳机的左右声道进行切换,TYPE-C的CC引脚具有非常重要的功能,可以进行设备识别。上图右侧中,当插入USB数据线进行数据通信时,模拟开关内部切换到DP和DN,USB与AP(CPU)进行数据交换;当插入耳机时,模拟开关切换到L、R,CODEC通过模拟开关来驱动耳机。
有的手机会在TYPE-C的SBU引脚上拉出一根线到CPU串口上,用于研发调试使用,比如可以通过串口抓取手机开机LOG,识别手机状态、快速定位手机异常模块。这个UART串口线如果和MIC共用SBU引脚的话,MIC和UART串口可以通过一个0欧姆的电阻进行区分,在用耳机录音时可能会录进去滋滋的电流音,或者耳机喇叭也有滋滋的电流音,这都是串口引起的,因此在研发阶段要选一些断开UART与SBU(MIC)的手机来测试耳机音频相关内容,并且在量产时删除电阻(把UART和MIC断开),而且这UART走线也需要注意,UART和MIC连接点距离电阻这一段走线一定要短,见左图中“×”位置,如果这段走线很长,那么即使摘除了电阻,这段长长的走线也会由于天线效应拾取电路上的噪声,容易降低MIC音频性能。
扬声器驱动电路
扬声器俗称喇叭,是把电能转换成机械能再转化成声能的器件,是一种换能器。手机一般有两个扬声器,一个在手机顶部作为听筒,叫receiver(一些手机中,会使用receiver发出超声波,然后检测超声波返回的时间,进而实现距离传感器的应用),另一个在手机下面作为外放使用,叫speaker。听筒体积小,音量和音质都不足,通常在打电话时使用,如今各手机厂商开始发力于立体声扬声器设计,给用户带来更优质的音频体验,比如小米10S使用了对称式立体声,上下采用了完全一样的1216线性扬声器,等效音腔高达1.2CC,上下喇叭的增益差别接近零,能够最大程度还原声音的空间感,见下图(a)中黄色框。对于传统的听筒而言,使用Codec就可以驱动,而对于立体声而言则需要使用双Smart PA来驱动,见图中(b)部分,智能功放可以在保护扬声器的基础上,重复发挥其性能,因此电路设计会更复杂。
Smart PA 是智能功率放大器,也是一个放大器,它和普通的功放相比,最大的区别是加了反馈检测,更加智能。在一些频段下smart PA和普通PA的信噪比、最大输出功率等可以做到相同,但在其他频段下(特别是低频),普通PA为了保证功率(防止损坏喇叭),就必须降低放大倍数。换句话说,普通PA为了保证全频段内的可靠性,需要牺牲一部分频段的性能。而smart PA加入了输出信号的电流电压反馈,可以充分释放扬声器的性能,在宽频带内提供更好的音质和安全性,最大限度的提升扬声器的效果,可以在保证扬声器工作安全的情况下,达到最大的响度和zuijia的音质,提升用户体验。
下图是SMART PA内部框图,CPU通过I2S接口将音频数据发送到smart PA,经过DAC把数字信号转换为模拟信号,再经过放大器放大后驱动扬声器发声。Smart PA会检测扬声器电流和电压,来实时监控扬声器行为,这个功能称为IV sense。
Smart PA输出的信号能量大,有可能产生EMI问题,扬声器又有引入静电问题的风险,因此实际项目中,SPKP、SPKN链路上往往有磁珠、0欧姆电阻、电容、TVS等滤波保护器件。SNS_P和SNS_N用来检测扬声器电压,称之为V-sense,这两个引脚应连接在滤波器之后、靠近扬声器端。V-Sense连接消除了由于封装、PCB走线、磁珠、电阻引起的压降误差。V-sense还可以通过算法纠正由于磁珠引起的增益误差或非线性,这两条检测信号线属于敏感的模拟信号线,在PCB走线时要注意用地线或地平面进行屏蔽,远离其他数字信号或电源,防止扬声器电压检测受到干扰进而影响Smart PA的性能,甚至可能出现杂音或底噪大失真大。Smart PA内部有BOOST升压功能,因此需要外接电感和自举电容(图中未画出电容),电感要注意远离磁性材料,PCB走线时回路电感要足够小,否则可能会引起喇叭破音,比如一些手机套中有磁性吸合材料,如果这个磁性吸合材料靠近Smart PA的电感,那么就很可能会破音。