接近感应为人机界面(HMI)提供了额外的维度,能够检测用户的接近。结合环境光感应,基于光的接近检测可以自动激活办公设备和消费产品中的系统及其显示器。
对于许多开发人员来说,实施基于光的接近感应带来了多种挑战,传感器光谱灵敏度的适用性,传感器和光源的接口设计和机械放置。然而,Vishay Semiconductor的集成解决方案满足了这些要求。
本文将介绍接近感应的应用和设计挑战,然后展示Vishay的解决方案如何让开发人员轻松地将接近检测功能添加到他们的设计中。
接近感应的特点和挑战
接近感应是从汽车安全到消费产品的应用的一个支持功能。为了满足每个应用的独特要求,开发人员使用截然不同的技术实现接近感应。例如,在汽车安全应用中,开发人员通常使用能够在远距离传递非常快速响应的飞行时间方法(ToF)。相比之下,移动电话开发人员通常依靠基于电容的方法在电话显示器接近用户脸时自动关闭电话显示器。
对于许多其他应用,开发人员可以通过更传统的光感应满足接近检测要求将反射光水平转换为距离的方法。这些方法提供了一种经济高效的解决方案,能够以比电容方法更大的距离检测用户,但不能扩展范围或ToF方法的快速响应。
通过测量从接近用户反射的光,当用户在指定距离内移动时,控制系统可以激活产品。同时,自动开启的产品还需要提供在适合环境照明水平的照明水平下打开的显示器。随着消费者需要更智能的产品,开发人员需要能够满足接近检测和环境光感应要求的解决方案,同时对产品设计和集成的影响最小。
双重职责
Vishay VCNL4200解决了这些问题将接近传感器和环境光传感器组合在一个模块中的要求。通过提供接近检测和环境光感应,该模块可作为自动显示激活和亮度控制,智能设备激活,照明控制,物体检测等应用的现成解决方案。
设计用于Vishay VCNL4200简化了各种应用的集成,包括支持接近感应(PS)和环境光感应(ALS)所需的所有光学和电子子系统。内置镜头分别为红外发射器(IRED)和光电探测器提供±15°和±30°的紧密聚焦角度。由于这些光学元件集成在同一个封装中,因此为其系统构建物理设计的工程师只需确保IRED和光电二极管使用足够大的开口以适应各自的角度。根据VCNL4200镜头与任何外盖之间的距离,这些开口的直径只需要几毫米。
除了光学子系统的机械考虑因素外,PS和ALS的光学特性也是如此不需要设计师的进一步努力。虽然PS系统的中心光谱频率为940纳米(nm),但ALS系统提供的光谱响应非常类似于人眼,其中心频率峰值约为550 nm(图1)。
图1:晶圆级干涉滤光片使Vishay VCNL4200环境光传感器能够提供与人眼感知的照度水平一致的测量结果。 (图片来源:Vishay Semiconductor)
Vishay利用其专有的Filtron技术实现了这种明视光谱响应,该技术使用标准CMOS半导体工艺技术在芯片本身上构建适当的干涉滤光片。因此,ALS系统测量的环境光强度与人类感知的强度一致。
PS和ALS子系统与其独立的光谱响应一起使用单独的组件独立运行。对于接近度测量,该器件使用匹配的IRED和光电二极管以及专用的12位/16位模数转换器(ADC)来产生PS值。对于环境光感应,该器件提供单独的光电二极管和专用的16位ADC,用于生成ALS值。
并行操作,设备的接近度和环境光传感器均支持不同的操作模式。开发人员可以将该设备用作纯传感器,以测量环境光水平或反射红外光的相对强度,以用于他们自己的算法。例如,设备的PS功能提供与距离成反比的反射光值(图2)。如图所示,PS系统可以在非常近的距离处饱和,从而限制了其在电容方法可能更好地服务的测量应用中的有效性。
图2:在给定的脉冲长度设置(9T = 240微秒(μs))和脉冲重复(MPS = 8)时,Vishay VCNL4200接近传感器提供的接近值与距离成反比,不仅在短距离(A),甚至在距离超过1.5米(B)的距离。 (图像来源:Vishay Semiconductors)
接近中断
VCNL4200为仅需要检测用户在指定距离内接近的应用程序提供了更简单的方法。在这里,开发人员将设备寄存器设置为合适的阈值,并指定在设备识别阈值事件之前所需的连续测量次数。在典型的测量序列期间,只要测量的接近值超过上限阈值,设备就会向主机MCU发送中断信号,或者在连续N次发生后降至低于下限阈值(图3)。因此,设计人员可以将主机MCU置于接近事件之间的低功耗状态,从而节省整体系统功耗。
图3:在N次连续测量后,只要接近值超过阈值,开发人员就可以对VCNL4200进行编程以发出中断(“D”和“E”) (“D”)或低于阈值(“F”)而忽略瞬态事件(“B”)。 (图像来源:Vishay Semiconductors)
使用这种中断驱动方法,开发人员在器件上电后设置上限阈值和下限阈值(图中步骤“A”)。通过将所需的连续出现次数设置为某个值N> 1,设备可以忽略单个事件(“B”),即使在那些情况下也允许MCU保持低功率状态。当接近值超过阈值(“C”)时,器件在对应于N次连续测量(“D”)的时间段后发出中断。
中断唤醒MCU后,MCU将清除中断(“E”)并完成与接近检测相关的操作。例如,在消费类电器中,这些操作可能包括打开设备及其显示屏,使用环境光感应来设置显示屏亮度。
当接近值稍后下降时,表示用户已移开,设备将发出另一个中断(“F”),允许主机MCU采取适当的措施,如关闭设备及其显示。
最小化开发
开发人员可以实施这种功能相对较少。硬件接口只需要几个额外的组件即可完成设计(图4)。除了去耦电容外,开发人员还需要添加一个小型驱动器,例如由3.8至5.5伏VIRED电源供电的Vishay SI2301 PMOS FET。
图4:设计人员完成VCNL4200传感器设计,只需少量附加组件,包括用于驱动集成红外线电流脉冲的Vishay SI2301 PMOS FET发射器的当前电平由RLED的值设定。 (图片来源:Vishay Semiconductors)
内部LED栅极驱动器使用器件的LED阴极输出脉冲外部FET,外部FET又将电流脉冲施加到电流水平的内部红外发射器(LED +)由连接到LED引脚的外部电阻(RLED)控制。在处理器端,VCNL4200中断线(INT)和I 2 C线连接到相应的MCU引脚。
命令界面同样简单明了。设备命令代码提供对PS和ALS传感器输出数据的读访问,以及对两个传感器子系统的单独配置寄存器的读写访问。开发人员使用简单的事务协议在I 2 C总线上读取和写入这些寄存器(图5)。
图5:主机MCU使用简单的写(A)控制I 2 C总线上的VCNL4200传感器并读取(B)将传感器响应(灰色)与主机请求(白色)散布在一起的协议。 (图像来源:Vishay Semiconductors)
这里,总线主控器(通常是主机MCU)通过发送从地址,写周期(图5中的“W”),命令来启动写序列代码,以及16位字的低字节和高字节(图5A)。从VCNL4200读取数据涉及两个步骤,其中总线主控器首先将适当的读取命令代码写入VCNL4200,然后启动(图5B中的“S”)读取周期(“Rd”)以获取数据(图5B) 。总线事务协议包括VCNL4200(带阴影的“A”)和总线主控(“A”和“N”)的确认。
实际上,开发人员通常只需要在配置寄存器中编程一些设置典型应用。对于接近感应,开发人员可将积分时间设置为从大约30μs(PS_IT = 1T)到240微秒(μs)(PS_IT = 9T)和占空比(PS_DUTY)的值,范围从1/160到1/1280。
使用不同的占空比设置,开发人员可以控制传感器的响应时间和功耗。在最大占空比(1/160)下,器件将以更快的速率测量,但会增加其功耗。例如,使用2.7Ω的RLED将产生800毫安(mA)电流脉冲。在1/160占空比时,VCNL4200每5 ms执行一次测量,但平均电流消耗为800/160 = 5 mA。在最小占空比(1/1280)下,传感器测量仅每300 ms发生一次,但平均功耗将下降近一个数量级。
开发平台
帮助开发人员通过VCNL4020的配置选项,Vishay提供了一个传感器入门套件,可提供评估软件程序,USB加密狗和插入加密狗的传感器板。虽然该套件配有VCNL4020传感器板,但开发人员可以通过联系Vishay传感器技术支持获得免费的VCNL4200传感器板。
将传感器板连接到USB加密狗后,开发人员可以运行评估软件程序研究不同寄存器设置对传感器特性和性能的影响。
对于定制设计,工程师可以将Arduino等开发板与传感器板结合起来加速设计,或者按照描述构建自己的支持电路在图4中,第三方开源软件提供了必要的寄存器定义(清单1)。
//注册声明
#定义VCNL4200_I2CADDR 0x51
#define VCNL4200_ALS_CONF_REG 0x00
#define VCNL4200_ALS_THDH_REG 0x01//环境光传感器阈值数据高
#define VCNL4200_ALS_THDL_REG 0x02//环境光传感器阈值数据低
#define VCNL4200_PS_CONF1_CONF2_REG 0x03
#define VCNL4200_PS_CONF3_MS_REG 0x04//Conf3和模式选择
#define VCNL4200_PS_CANC_REG 0x05
#define VCNL4200_PS_THDL_REG 0x06//接近传感器阈值数据低
#define VCNL4200_PS_THDH_REG 0x07//接近传感器阈值数据高
#define VCNL4200_PROXIMITY_REG 0x08
#define VCNL4200_AMBIENT_REG 0x09
#define VCNL4200_WHITE_REG 0x0A
#define VCNL4200_INT_FLAG_REG 0x0D
#define VCNL4200_DeviceID_REG 0x0E
清单1:要在自己的设计中使用接近感应和环境光感应,开发人员可以打开-source软件提供了一个基本框架,如VCNL4020寄存器定义。 (代码来源:GitHub开源代购)
第三方软件还演示了如何使用Arduino Wire库实现接近感应等功能的简单命令协议(清单2)。
uint16_t CRC_VCNL4200 :: readData(uint8_t command_code)
{
uint16_t reading;
Wire.beginTransmission(_i2caddr);
Wire.write(command_code);
Wire.endTransmission(false);
Wire.requestFrom(_i2caddr,uint8_t(2));
while(!Wire.available());
uint8_t byteLow = Wire.read();
while(! Wire.available());
uint16_t byteHigh = Wire.read();
reading =(byteHigh << = 8)+ byteLow;
返回读数;
}
。
。
。
uint16_t CRC_VCNL4200 :: getProximity(){
返回readData(VCNL4200_PROXIMITY_REG);
}
清单2:开源代码库包含的代码演示了如何使用Arduino Wire库实现接近感应等VCNL4020功能。 (代码来源:GitHub开源代购)
结论
虽然开发人员可以使用各种接近检测技术,但简单的反射测量为许多设计人员定位提供了经济高效的解决方案商业和消费品。通过将接近检测与环境光测量相结合,开发人员可以构建能够感知用户接近的产品,并以适当的亮度级别自动激活显示器。
包含对接近感应和环境光感应的集成支持, VCNL4020允许开发人员轻松实现这些功能。
-
传感器
+关注
关注
2545文章
50438浏览量
750947 -
显示器
+关注
关注
21文章
4924浏览量
139724 -
控制系统
+关注
关注
41文章
6507浏览量
110375
发布评论请先 登录
相关推荐
评论