from : http://blog.csdn.net/wp_neu/article/details/72876983

1 引言

今天我们来聊一聊智能手机里的P-sensor,即距离传感器。简单的说它可以感应手机和物体的距离,从而实现对手机屏幕的亮灭控制。

在用户打电话时,距离传感器采集手机与用户耳部的距离,如果手机与其耳部的距离超过临界值,那么就关掉屏幕,不再接收用户触摸屏幕事件,防止意外挂掉电话等误操作。有很多人通话过程中脸部会触碰到挂断键,从而导致通话中断有没有? ^_^

人的肉眼是看不到红外光的,大家可以拿出手机打一个电话如10086,使距离传感器处于工作状态,然后用另外一部手机的摄像头对准这个距离传感器观看,就可以发现这个p-sensor器件在不断的闪烁亮光(如果亮屏不明显可以按电源键使屏幕关闭再用另外一部手机的camera观看),那就是距离传感器的红外二极管IRLED正在向外以脉冲的形式发射红外光工作。

手机亮灭屏原理

打电话时,当手机与人体耳部距离小于某个灭屏门限值时,将触发一个中断,软件根据逻辑从而实现关掉屏幕,防止误触。

打电话时,当手机与人体耳部距离大于某个亮屏门限值时,将触发一个中断,软件根据逻辑从而实现点亮屏幕。

2 工作原理

我们以TAOS公司的一款芯片TMD2772来说明p-sensor的工作原理。

如下为TMD2772功能结构图:

由图知道,tmd2772传感器主要由红外发射、光线接收、模数转化、I2C接口等几部分组成。

传感器模块工作原理

芯片工作基本原理如上图所示:红外二极管IRLED向外以脉冲的形式发射红外光,当遇有障碍物挡住了红外光,红外光就会被反射回来,被反射回来的红外光会被CH0和CH1两个光电二极管接收,接收到信号后经过AD转换,得到光的强度值,这个结果被保存在数据寄存器,它从侧面放映了物体距离p-sensor的远近,根据障碍物和手机的距离不同,反射回来的红外光的能量也不同,所以物体近,得到的数据就大,物体远,得到的数据就小。当然,在这个过程中会接收到环境背景光的影响,tmd2772针对这种情况,采用了滤波等方式减小了背景光的影响。

二个光电二极管采集光照的强度,然后通过转换,得到结果保存到寄存器中,传感器对红外线很敏感,但是人眼看不见红外光,当周围的光照中红外的比例比较大的话,那么就可能造成错误的判断。所以就使用二个光电二极管ch0和ch1,其中ch0对可见光和红外线都很敏感,ch1对红外线敏感。然后通过对二者进行一个差值计算,最后得出一个最接近人眼的对光照有感觉的一个值。

光线采集原理图

IR LED发射的红外光如下图所示

如图所示,每次测距时,IRLED会发射多个红外波,周期为16us,发射的红外波的个数由0x0E寄存器控制,可发射的个数为1~255。而发射的红外波的强度由驱动电流控制,驱动电流的强度也可以通过针对相应寄存器的编程来设置。

Tmd2772的0x18和0x19寄存器是sensor的上下阀值寄存器,当AD采样的数据超过上限阀值或者低于下限阀值时,芯片会产生中断。通知我们有物体靠近或者远离。下图是tmd2772的一个工作周期的状态变化:

芯片一开始是处于睡眠状态的,当收到一个I2C的起始信号后,其立即到idle模式,然后根据使能信号的不同,则可能进入prox、wait、als中的一种状态,然后在具体的状态中,又经过初始化、adc等步骤,每个步骤需要多少时间可以通过寄存器设置。

3 校准

Psensor是一个容易受到结构影响的器件,它的功能和结构密切相关,表面开孔,有无rubber(橡胶套),rubber的设计,tp距离sensor的远近,表面油墨的厚度,透光率,贴膜等都会影响到sensor的性能,所以我们需要进行校准,校准一般分为出厂或开机常规校准和拨号校准。

校准的目的是初始化psensor,设置合适的寄存器值,尤其是上下限阀值以及设计到发射功率的发射脉冲个数值以及驱动电流值,使得p-sensor能够正常工作并能够通过标准的测试,并且在大量生产手机时psensor的表现能够较为统一。

  • 结构对p-sensor的影响

p-sensor表面开孔以环形跑道开孔方式为最佳。Rubber的引入是为了隔离发射和接收,降低绕射值,增加p-sensor数据的稳定性,增强探测距离。

TP(触摸屏)距离sensor的距离也有要求,在没有rubber的情况下,如果tp距离sensor的距离远,将会增加sensor的绕射值,从而降低sensor的性能。如果tp距离sensor的距离过远,应该在sensor上增加rubber进行隔离,从而降低绕射值。Rubber的设计需要关注开孔的大小和中间隔断开槽。中间开槽的目的是为了解决黑发的问题。而针对透光率,则要求红外光至少要有70%的通过率。

  • 绕射值的影响

在p-sensor调试的过程中,最容易出现问题的是绕射值过大和黑发不工作的问题。那么什么是绕射值呢?我们知道p-sensor是通过反射回来的红外光的强度来判断物体距离sensor的远近的,但是由于我们的sensor表面上存在tp以及发射和接收之间的隔离等问题造成即使没有物体存在psensor的发射红外光的路径上,p-sensor也可以读取到一定的光强度值,这就是绕射值。而我们的psensor的数据采集又存在饱和的可能性,如果绕射值过大或者已经饱和将使p-sensor的性能受到影响,或者失去作用。影响绕射值大小的因素有以下几点:

1)  TP的厚度。

2)  TP距离sensor的距离。

3)  表层油墨的透光率。

在结构做好工作之后,接下来就需要针对p-sensor进行软件的调试,调试的关键是设置合理的发射功率,解决黑发问题以及远近探测的一致性问题。

  • 软件校准

P-sensor的校准方式有两种:一种是开机常规校准,一种是打电话时校准。

  1. 常规校准

常规校准即开机校准,开机校准是手机开启之后校准一次,之后不再校准。

常规校准

2. 拨号校准

拨号校准是在每次打电话时都针对p-sensor进行一次校准,很明显,打电话校准比开机校准更加合理,因为用户可能长时间不关机,而在开机之后手机表面受到油污、汗液等物质会一定程度影响到p-sensor数据的读取,校准动作如果放在出厂或开机的时候,当实际通话的时候手机的状态和校准时候的状态不同,就有可能发生接近动作失效的问题。而拨号校准能充分分析当前手机的状态,避免亮灭屏功能失效。当然如果你发现你的手机总是一打电话就黑屏,那很可能是由于接近传感器结构上或者器件损坏了。

具体软件流程:

1:在没有遮挡的情况下读取n次ps值并求得平均值,注意要剔除其中的0值,0值的存在有可能是芯片还没有初始化完毕造成的。

2:根据ps值的大小,划分了若干个区间,根据ps值落在的区间范围,分别乘以不同的系数,作为上限阀值和下限阀值。

3:当计算出的ps值大于一个多台采样预测值(如700)时,认为结构有问题,上下限值采用默认值,默认值的数值都比较大,从而解决结构存在瑕疵的情况下手机还能够使用,不过要注意,前提是手机的ps值还没有饱和,如果饱和,默认值也无法解决该问题。

在打电话校准的过程中,采样的次数要有一定的控制,要求是在人把手机放到耳边之前校准要结束,否则会造成校准数据不准,从而影响p-sensor的性能。这个时间需要根据spec然后测试,一般为几百毫秒,以便设计合理的测试次数。

校准完成后,当有物体接近或者远离的时候,通过读取当时的ps值和校准时候设置的亮灭屏门限值(即上下限阈值)比较,从而控制手机的亮灭屏。

4 老司机经验

在调试psensor的整个过程中,主要会遇到如下几个问题:

1) 黑发失效问题。

2) 打电话屏幕黑屏问题。

3) 屏幕闪烁问题。

4)无法满足亮灭屏距离标准(如3cm必须灭,9cm必须亮,亮灭距离保持最少1cm)的问题。

关于黑发问题,除了结构上的处理之外,软件能解决的办法就是增加发射功率,也就是增加驱动电流,增加发射脉冲次数等方式来解决黑发问题。增加脉冲个数的方式有可能造成绕射值过大,因此,要多次测试,寻找合适的脉冲个数值。

打电话黑屏的问题是因为下限阀值过低,不遮挡时ps值无法落在下限阀值之下,造成屏幕无法亮,解决办法就是提高下限值,但是要注意上下限值的间距,否则可能无法满足标准,甚至造成屏幕不断亮灭闪烁的问题。

屏幕闪烁问题是由于上下限值距离过紧而且过低,ps的跳变范围覆盖了上下限值,造成了屏幕的闪烁。

至于无法满足标准的问题唯一的解决办法就是不断地调试。不过要注意在调试的过程中不要引入上述的各种问题,比如为了满足3cm必须灭,把下限设高,但为了满足灭亮距离保持至少1cm,上限值随之升高,就有可能造成黑发问题。

探秘手机距离传感器工作背后的那些事儿相关推荐

  1. android 新闻编辑,超机访问:ZOL手机新闻编辑背后的故事

    在上周超机访问中,我们为大家介绍了手机频道评测刘宇航和手机的故事.通过上期节目,我们对这位评测编辑以及他的工作.使用手机的偏好有了一个全面的了解.本期节目我们再次请到了中关村在线的编辑,来讲讲他和手机 ...

  2. android 通知取消折叠_三星折叠屏手机发布会取消背后-折叠屏真的是用户想要的吗...

    应该说折叠屏是今天手机的一个新的形态,不管是华为之前发布的mateX还是三星Galaxy Fold,这种产品的形态相比现在很多手机产品在相机等等上面的卖力突破,会给人一种更加直观的感受,很多的数码爱好 ...

  3. 第6期(江西省吉安市永丰县)县长手机信箱工作简报(自吹自擂政绩,自圆其说)

    from: http://pub.jian.gov.cn/jxyf/bmgkxx/xfj/fgwj/qtygwj/200910/t20091026_257833.htm 信息分类: 其他有关文件 文件 ...

  4. 找工作笔试面试那些事儿(15)---互联网公司面试的零零种种和多家经验

    作者:寒小阳 时间:2013年9月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/11400719. 声明:版权所有,转载请注明出处,谢谢 ...

  5. 关于手机线控耳机那点事儿

    原文来自:关于手机线控耳机那点事儿 关于小米的耳机,最近有很多朋友在问兼容性的问题,能不能用诺基亚的耳机,能不能用HTC的耳机... 下面对手机的耳机接头做一个分析: 目前手机最标准的是3.5mm的耳 ...

  6. 手机距离传感器坏了有什么影响_适合手机兼职的工作有什么影响吗

    目前 57895 + 人已关注加入我们                                             适合手机兼职的工作有什么影响吗 高空中,一名冥角族员双手抱在胸前,面无表 ...

  7. 温暖的旅馆:手机主动服务背后的秘密

    三百万年以前,古人类第一次使用工具,便天然地揭示了人和动物的最大区别.斗转星移,人类缓慢地跨过了石器时代.青铜时代.铁器时代乃至于近代的蒸汽.电气时代.时至今日,信息科技日新月异,人类使用的工具也愈来 ...

  8. 美团 iOS 工程 zsource 命令背后的那些事儿

    zsource 命令是什么? 美团 App 在 2015 年就已经基于 CocoaPods 完成了组件化的工作.在组件化的改造过程中,为了能够加速整体工程的构建速度,我们对需要集成进美团 App 的组 ...

  9. 手机距离传感器坏了有什么影响_恢复出厂设置对手机有什么影响?

    相信有很多小伙伴都知道,现在我们不管是工作还是生活都越来越离不开手机了.有些小伙伴在使用手机的过程中,有的时候会用几次手机中的[恢复出厂设置]功能.但是大家知道吗?手机恢复出厂设置对我们的手机有什么影 ...

最新文章

  1. [华为机试真题][2014]62.去除重复字符并排序
  2. 浙江金华暂时停用“智能头箍”,专家:监测学生脑电违反伦理
  3. 如何利用 Myflash 解析 binlog ?
  4. C++文件交互(txt、excel)
  5. ArcGIS Runtime SDK for Android开发之调用GP服务(异步调用)
  6. linux 空闲物理内存 很少,linux系统free查看内存,发现可用物理内存很少,但是查看进程却发现没进程占用大内存...
  7. hadoop2.2.0 MapReduce求和并排序
  8. html5移动端转盘,基于zepto适合移动端的幸运大转盘插件
  9. AEMDA: Inferring miRNA-disease associations based on deep autoencoder
  10. XP与Win7默认下时间分隔符不同
  11. 李开复:创业开始别想太高 年轻人多看国外网站
  12. Linux 修改时区和时间
  13. 要传送的报文共 x ( bit )。从源点到终 点共经过 k 段链路,每段链路的传播时延为 d ( s ),数据率为 b ( bit / s )。在电路交换时电路的建立时间为 s ( s )。在分组交
  14. 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第13章 处理PDF和Word文档(2)】
  15. 计算机系的信息与计算科学考研方向,信息与计算科学专业考研方向和考试科目有哪些...
  16. 浅谈我眼中的“服务意识”
  17. easypoi教程_EasyPoi教程 -
  18. SpringMVC对JSP的支持---Spring的JSP标签库---Spring通用标签库
  19. 《Android源码设计模式解析与实战》读书笔记(二十一)
  20. onethink中修改ucenter用户的密码

热门文章

  1. 关于Android Studio项目开发的感想
  2. 拓嘉辰丰电商:拼多多所属哪种电商模式
  3. Docker compose 环境变量env_file相关
  4. Linux-进程调度(CFS)
  5. xss基本概念和原理介绍
  6. 战胜人类最强大脑只是开始,百度大脑“代言”中国人工智能
  7. Python实验报告 实验15 - 体育竞技分析
  8. 2022夏暑假每日一题(八)
  9. 圣诞节用java画一棵圣诞树给你的女友
  10. ZJM要抵御宇宙射线