一种手机距离传感器数据优化算法的实现

2022-03-24 08:29刘新源
技术与市场 2022年3期
关键词:阀值门限中断

刘新源

(1.河南科技大学应用工程学院,河南 三门峡 472000;2.三门峡职业技术学院,河南 三门峡 472000)

0 引言

伴随科技的发展,智能手机成为人们通信的一种重要工具,距离传感器作为智能手机的标配,其主要作用是用户在打电话或接听电话时利用距离传感器检测到的状态使智能手机的屏幕灭屏,达到降低功耗,延长智能手机电池的使用时间,同时减少通话过程误触的可能性;通话结束后用户脸部远离智能手机,手机屏幕自动亮起[1]。但用户在使用智能手机的过程中,由于外部因素,比如距离传感器上方油污、用户所在地的高温和高海拔等使距离传感器的检测数据发生变化,从而导致用户在远离智能手机时发生黑屏不亮问题[2]。针对此问题,本文根据距离传感器的检测原理,在驱动层实现一个距离传感器的数据优化方案。

1 距离传感器工作原理

距离传感器由利用电流脉冲发出红外线装置和主动式红外线感测装置2个元件组成[3]。这2个元件用两孔的中间完全隔离开的硅胶套过盈配合装在手机屏幕下面,在使能距离传感的情况下,当有物体靠近或远离时,将红外发射装置发出红外线反射回来,而红外感测装置接受到的红外线,经传感器芯片中的模数转换成数字信号,同时芯片会根据接受到的数字信号和芯片寄存器预先设定好的靠近或远离门限阀值判断是否触发中断,根据检测到的硬件中断信号,驱动软件代码读取中断状态寄存器的值,并做出相应动作,如通知显示屏LCD灭掉或亮起,同时也会更新门限阀值寄存器的值,为下一次的中断做好准备[4]。物体与距离传感器感测处越近,距离传感器数据越大;反之,距离传感器数据越小。

2 距离传感器驱动工作流程

下面以ltr578距离传感器来说明sensor驱动工作流程,传感器的工作方式一般有轮询和中断2种,距离传感器通常采用中断方式进行主动上报。通过I2C设备与驱动进行匹配,成功后开始加载驱动代码,完成距离传感器I2C设备注册,进入probe函数实现硬件sensor的设备初始化[5]。在ltr578的probe函数中初始化中断接口,注册中断函数,将根据NV分区保存的上下门限阀值配置到芯片阀值寄存器中。根据上下门限阀值判断物体靠近或远离的状态,超出阀值范围,使sensor产生硬件中断,拉低ltr578芯片的中断引脚,驱动代码会立刻响应此中断,并调用相关中断函数,根据距离传感器提供的数据上报给HAL层物体目前的状态。

距离传感器中断处理设置门限阀值后,新的智能手机正常接听或打电话不会出现问题。但是在使用过程中,如果触摸屏表面附着油脂、汗液等会影响距离传感器的数据,会导致距离传感器功能失效,通话时黑屏不亮问题。为了解决类似问题,提高距离传感器数据的可靠性,可以在使能sensor时,进行一次快速校准,得到此时距离传感器的数据,并进行上下门限阀值的计算和配置[6]。

3 快速校准算法

快速校准算法是在工厂校准算法实现的基础上进行的。工厂校准是距离传感器感测口上方无物体遮挡时,读取距离传感器数据10次取平均值,此时的数据是触摸屏和硅胶套内部反射回来的红外信号产生的数据,也称之为距离传感器的绕射值,是需要消除掉或保持不变,但因手机结构和材料无法将其消除掉或保持不变,因此需要采取措施降低其影响。再结合驱动代码中设定实际亮、灭屏检测距离标准靠近状态sensor数据和远离状态sensor数据计算得到距离传感器的校准阀值上限和校准阀值下限,之后将绕射值、校准阀值上限、校准阀值下限保存到NV分区中。

快速校准算法是在驱动使能函数tr578_ps_enable中完成,快速校准不能与工厂校准一样,取10次平均值消耗时间太长,会导致距离传感器检测不灵敏。因此快速校准时间比较尽可能短,通常情况按下通话键到手机置于耳朵旁边的这个动作消耗时间大概为300 ms,这个时间足够芯片获取3次距离传感器数据,因此在快速校准函数采用3次距离传感器数据的平均值作为此次使用距离传感器的绕射值,并与保存在NV分区工厂校准的绕射值进行比较,若大于工厂校准的绕射值,则使用快速校准的绕射值,反之使用工厂校准的绕射值,结合代码中设定靠近状态sensor数据和远离状态sensor数据计算得到此次通话过程中距离传感器的校准阀值上下限,并写入芯片的阀值寄存器中。在中断处理函数中根据获取的距离传感器数据与此次计算得到的上下门限阀值进行比较,超出阀值范围则上报相应状态值,并根据此上下限阀值动态设置ltr578芯片的阀值寄存器,但不保存在NV分区中,仅作为此次通话过程中的上下限阀值。加入快速校准的工作流程图如1所示。

图1 加入快速校准工作的流程图

4 实验数据分析

在ltr578驱动代码中预设靠近状态sensor数据和远离状态sensor数据分别是物体与裸体sensor之间的距离为3 cm和5 cm时,红外接收装置感测到的距离传感器数据。在工厂校准得到的绕射值不同就是每台手机在距离传感器所处位置的结构差异,再结合预设靠近状态sensor数据和远离状态sensor数据计算得到的上下门限阀值,可以保证每台手机在距离物体2.5 cm处能灭屏,在距离物体5.5 cm处能亮屏。

通过实验验证添加工厂校准和快速校准的必要性。

实验一:不进行工厂校准与进行工厂校准进行比较,通过getevent命令查看在物体与手机相距2.5 cm和5.5 cm的情况下,距离传感器上报的数据(见表1)。从表1的结果看,若不进行工厂校准,就无法保证在物体与手机相距2.5 cm和5.5 cm情况下上报物体所处的状态,就不能实现物体靠近手机灭屏,远离手机亮屏的目的。

表1 工厂校准算法数据上报

实验二:不进行快速校准与进行快速校准进行比较,使用实验一测试方法得到距离传感器上报的数据(见表2)。从表2的结果看,若不进行快速校准,就无法保证在物体与手机相距5.5 cm时上报物体远离状态,就不能实现手机此时亮屏的目的。

表2 快速校准算法数据上报

5 结语

本文对距离传感器的工作流程进行了分析,提出一种工厂校准算法。在智能手机出厂时距离传感器性能能达到一致,同时为了解决距离传感器在有外部影响因素的情况下,智能手机容易出现灭屏不亮问题,提高驱动层上报物体状态值的可靠性,在工厂校准算法的基础上实现一种快速校准方案。

实验结果表明,本文提供的工厂校准方案和快速校准方案都能达到相应的目的,使智能手机在硅胶套的老化、触摸屏上有油污、用户所在地高温和高海拔地区等情况下均能正常工作。

猜你喜欢
阀值门限中断
基于规则的HEV逻辑门限控制策略
随机失效门限下指数退化轨道模型的分析与应用
VoLTE感知智能优化
基于Neyman-Pearson准则的自适应门限干扰抑制算法*
基于FPGA的中断控制器设计*
Linux中断线程化分析及中断延时测试
激光多普勒测速系统自适应阀值检测算法
跟踪导练(二)(5)
千里移防,卫勤保障不中断
基于模糊数学的云南省区域经济研究