服务热线
18601660163
在触摸屏手机流行之初,用户们就发现了触摸屏的一个缺陷:当我们用最常见的姿势接起电话时,往往脸部会碰到触摸屏幕上,无意中点击到了挂机键或者免提键,造成不必要的尴尬。于是,手机厂商将接近传感器设计进了触摸屏手机,在接电话的时候自动锁屏,避免误触发。另外,锁屏的同时还可以关掉背光,可以有效节能,延长待机时间。
接近传感器的原理非常简单,如下图。它本质上是一个光电二极管,在其旁边放置一个红外光波长的LED。当有物体靠近时,红外光发射的光会被物体反射回来,被接近传感器接收到,于是就感应到了物体接近。
图1: 接近传感器的工作原理
为了保证接近感应功能的正常实现,需要注意一系列的问题。
首先是选取正确波长的LED。每一个接近传感器都有其特定的响应光谱,拿Intersil公司的ISL29208A来举例。图中橙色的线是人类眼睛的波长响应曲线,其只对350-600nm波长响应。绿色的线是ISL29028A环境光感应功能的响应曲线,这里不做详细介绍。红色的线是ISL29028A接近感应功能的响应曲线,可以看到它在700-950nm范围内灵敏度较高,820nm是其最灵敏波长。考虑到LED采购的便利性,通常选用850nm波长的LED。
图2: ISL29028A对不同波长的响应灵敏度
选定好了工作波长,还要考虑LED的发射功率。显然,功率越大,接近感应的响应距离越远。图3是用不同发射功率和不同反射物体做的测试结果。由于ISL29028A是内置ADC的集成数字式传感器,所以纵轴表示的是ISL29028A的ADC输出值。220mA和110mA也是通过设置ISL29028A内部的寄存器来控制的输出电流。问题来了:为了接近感应的功能,手机要额外负担100-200mA的功耗吗?显然是不合理的。不过不用担心,接近传感器的设计者早就想到了这一点,我们用脉冲式的工作方式,可以将平均功耗降到100uA左右,如图4。LED发射脉宽只有100us,每隔几十到几百ms发射一次,发射间歇ISL29028A处于休眠模式。具体的间隔时间可以通过ISL29028A内部的寄存器来设置。
图3: 不同LED发射功率的接近响应曲线
图4:LED发射时序
接下来的问题尤为关键,就是设置LED与传感器之间的隔断。因为传感器必须设计在手机内部,上方有手机外壳密封,LED的光必须穿过透光外壳。但是外壳往往会直接将大量的光直接反射回来照射在接近传感器上。于是,即使没有物体接近的情况下,接近传感器都会接收到强烈的“反射光”,导致误判断。所以,需要在LED与传感器之间建一堵墙,让LED的光不能在内部反射。如果设计两个360度包裹的套筒分别套住LED和传感器,效果最好。图中的A,B,C,D四个距离的推荐值为:
A=4-5mm
B=C=0.5-1mm
D=2mm
图5:有无隔断情况下接近传感器的响应
在软件设计方面,芯片厂商充分考虑了手机应用的实际场景,将很多软件工作集成到了芯片内部,设计了一系列简单易操作的寄存器并提供了标准I2C接口,使系统设计得以简化。除了刚才提到的LED驱动电流可编程,LED发射脉冲间隔可编程,ISL29028A还支持中断输出,芯片的第7脚为中断输出脚。通常我们用它来作为接近感应的中断输出。事先将设定好的上阈值(比如200)和下阈值(比如100)写入接近阈值寄存器,再结合图3中蓝色实线来看,当物体接近到5厘米时,即ADC读数达到200时,中断脚输出电平由高到低,表示此时有物体接近。当物体逐渐远离达到8厘米时,即ADC读数减小到100时,中断脚输出电平由低到高,表示此时物体已经远离。由于手机不需要对短时间的手指挥动等等动作作出接近响应,所以ISL29028A内部还有一个相当于滤波功能的寄存器,即传感器要连续n次采样结果超过阈值才会触发中断,n的可选值为1,4,8,16。ISL29028A还有一个自动减除环境中红外光照射值的功能,保证其在阳光直射条件下不会输出饱和,维持正常的接近感应功能。
图6: ISL29028A内部框图
上文提到了ISL29028A除了有接近感应功能外还有环境光感应的功能,从图6的框图也可以看到其内部实际上有两个独立的光电二极管,并且有双路ADC。也就是说ISL29028A也可以实时感应环境光亮度,自动调节背光。在户外阳光直射的情况下,将背光亮度调到最高,在夜间完全黑暗的环境中,又可以将背光亮度调低,有效的改善手机使用的舒适度,并且达到智能化功耗管理的目的。