一种简单的设计方法,用于增加接近检测和环境光感应到产品设计

接近传感为人机界面(HMI)提供了一个额外的维度,能够检测用户的方法。结合环境光线感应,基于光线的接近检测可实现办公设备和消费品系统及其显示器的自动激活。
对于许多开发人员来说,实现基于光的接近传感会带来多种挑战,从传感器光谱灵​​敏度的适用性到传感器和光源的接口设计和机械布局。但是,Vishay Semiconductor的综合解决方案满足了这些要求。
本文将介绍接近感应的应用和设计挑战,然后展示Vishay的解决方案如何让开发人员在其设计中轻松添加接近检测功能。

接近感应的特点和挑战

接近感应是从汽车安全到消费类产品等应用的有利功能。为了满足每个应用的独特要求,开发人员使用截然不同的技术来实现接近感应。例如,在汽车安全应用中,开发人员通常使用飞行时间方法(ToF),能够在较远的距离上提供非常快速的响应。相比之下,手机开发商通常依靠基于电容的方法来自动关闭手机显示屏,因为它接近用户的脸部。
对于许多其他应用,开发人员可以使用更传统的光感测方法来满足接近检测要求,将光反射水平转换为距离。这些方法提供了一种经济有效的解决方案,能够以远大于电容方法的距离检测用户,而不是在ToF方法的扩展范围或快速响应。
通过测量接近用户反射的光线,控制系统可以在用户在指定距离内移动时激活产品。同时,自动打开的产品也需要提供适合环境照明水平的照明级别的显示。随着消费者需求更智能的产品,开发人员需要能够满足接近检测和环境光感应要求的解决方案,同时对产品设计和集成的影响最小。

双重责任

Vishay VCNL4200将接近传感器和环境光传感器结合在一个模块中,满足了这些要求。通过提供接近检测和环境光检测,该模块可用作自动显示激活和亮度控制,智能电器激活,照明控制,物体检测等应用的现成解决方案。
Vishay VCNL4200旨在简化不同应用中的集成,包括支持接近感应(PS)和环境光感应(ALS)所需的所有光学和电子子系统。内置透镜有助于为红外发射器(IRED)和光电探测器分别提供±15°和±30°的紧密聚焦角度。由于这些光学组件集成在同一个封装中,工程师为其系统构建物理设计只需要确保IRED和光电二极管使用足够大的开口以适应其各自的角度。根据VCNL4200的镜头和任何外盖之间的距离,这些开口直径只需几毫米。
除了光学子系统的机械考虑之外,PS和ALS特征的光学特征不需要设计者的进一步努力。当PS系统以940纳米(nm)的中心光谱频率运行时,ALS系统提供与人眼非常相似的光谱响应,其中心频率峰值在550nm左右(图1)。
Vishay VCNL4200环境光线传感器的图形
图1:晶圆级干涉滤光片使得Vishay VCNL4200环境光传感器能够提供与人眼感知的照度相一致的测量结果。(图片来源:Vishay Semiconductor)
Vishay使用其专有的Filtron技术实现了这种明视的光谱响应,该技术使用标准CMOS半导体工艺技术在芯片本身上构建适当的干涉滤波器。因此,ALS系统测量的环境光线强度与人们感知的强度一致。
除了单独的光谱响应外,PS和ALS子系统还使用独立的组件独立运行。对于接近测量,器件使用匹配的IRED和光电二极管以及专用的12位/ 16位模数转换器(ADC)来产生PS值。对于环境光感应,器件提供独立的光电二极管和专用的16位ADC来产生ALS值。
并行操作的设备的接近和环境光传感器都支持不同的操作模式。开发人员可以使用该设备作为纯粹的传感器来测量环境光照水平,或反射红外光的相对强度,以用于其自己的算法。例如,该设备的PS功能提供与距离成反比的反射光值(图2)。如图所示,PS系统可以在非常近的距离饱和,从而限​​制了其在测量应用中的效果,这可能通过电容方法更好地实现。
Vishay VCNL4200接近传感器的图形提供与距离成反比的接近值
图2:在给定的脉冲长度(9T = 240微秒(μs))和脉冲重复(MPS = 8)的设置下,Vishay VCNL4200接近传感器提供的接近值与距离成反比,不仅在短距离(A)在距离超过1.5米(B)。(图片来源:Vishay Semiconductors)

接近中断

VCNL4200为应用程序提供了更简单的方法,只需要检测用户在指定的距离内接近。在这里,开发人员将设备寄存器设置为合适的阈值,并指定设备识别阈值事件之前所需的连续测量次数。在典型的测量序列中,每当测量到的接近度值超过上限阈值时,设备就向主MCU发送一个中断信号,或者在连续发生N次后下降到低于下限阈值(图3)。因此,设计人员可以将主机MCU置于接近事件之间的低功耗状态,从而保持整体系统功耗。
编程Vishay VCNL4200发出中断(“D”和“E”)图
图3:当N次连续测量(“D”)或低于阈值(“F”)时,开发人员可编程VCNL4200发出中断(“D”和“E” “B”)。(图片来源:Vishay Semiconductors)
使用这种中断驱动的方法,开发者在设备加电之后设置上限阈值和下限阈值(图中的步骤“A”)。通过将连续出现的次数设置为某个值N> 1,器件可以忽略单个事件(“B”),即使在这些情况下,MCU也可以保持在低功耗状态。当接近值超过阈值(“C”)时,设备在对应于N次连续测量(“D”)的时间段之后发出中断。
中断唤醒MCU后,MCU清除中断(“E”),完成与接近检测相关的操作。例如,在消费电器中,这些操作可能包括打开电器及其显示器,使用环境光感测来设置显示器亮度。
当接近值稍后降低,表示用户已经离开,设备将发出另一个中断(“F”),使得主MCU可以采取适当的措施,例如关闭设备及其显示。

最小的发展

开发人员可以用相对小的努力来实现这种类型的功能。硬件接口只需要几个额外的组件来完成设计(图4)。随着去耦电容,开发者需要增加一个小的驱动器,如Vishay的SI2301 PMOS FET搭载一台3.8至5.5伏V IRED源。
Vishay VCNL4200传感器设计图
图4:设计人员完成VCNL4200传感器设计,只需添加少量附件,包括一个Vishay SI2301 PMOS FET,用于将电流脉冲以R LED值设置的电流电平驱动至集成红外发射器。(图片来源:Vishay Semiconductors)
内部LED栅极驱动器使用器件的LED阴极输出来对外部FET施加脉冲,而外部FET又将电流脉冲施加到由连接到LED驱动器的外部电阻器(R LED)控制的电流水平的内部红外发射器(LED + 销。在处理器侧,所述VCNL4200中断线路(INT)和I 2条 Ç线连接到相应的MCU管脚。
命令界面也很简单。设备命令代码提供对PS和ALS传感器输出数据的读取访问权限,以及对两个传感器子系统的单独配置寄存器的读写访问权限。开发人员使用一个简单的事务协议来读写I 2 C总线上的这些寄存器(图5)。
主MCU的图像控制I2C上的VCNL4200传感器
图5:主机MCU控制在I的VCNL4200传感器2使用简单的写(A)和读(B)协议,该协议点缀传感器响应(灰色)与主机请求(白色)C总线。(图片来源: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Ω的R LED将导致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) 。
//Register declarations
#define VCNL4200_I2CADDR 0x51
#define VCNL4200_ALS_CONF_REG 0x00
#define VCNL4200_ALS_THDH_REG 0x01 //Ambient Light Sensor Threshold Data High
#define VCNL4200_ALS_THDL_REG 0x02 //Ambient Light Sensor Threshold Data Low
#define VCNL4200_PS_CONF1_CONF2_REG 0x03
#define VCNL4200_PS_CONF3_MS_REG 0x04 //Conf3 and Mode Select
#define VCNL4200_PS_CANC_REG 0x05
#define VCNL4200_PS_THDL_REG 0x06 //Proximity Sensor Threshold Data Low
#define VCNL4200_PS_THDH_REG 0x07 //Proximity Sensor Threshold Data High
#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:为了在他们自己的设计中使用接近感应和环境光感应,开发人员可以转向提供基本框架(如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;
            return reading;
}
            .
            .
            .
uint16_t CRC_VCNL4200::getProximity() {
            return readData(VCNL4200_PROXIMITY_REG);
}
清单2:一个开放源代码回购包含演示如何使用Arduino Wire库实现VCNL4020功能(如接近感应)的代码。(代码来源:GitHub开源回购)

结论

虽然开发人员可以使用各种接近检测技术,但简单的反射测量为许多针对商业和消费产品的设计人员提供了一种经济高效的解决方案。通过将接近检测与环境光测量相结合,开发人员可以构建能够感知用户方法的产品,并以适当的亮度级别自动激活显示器。
包含对接近感应和环境光感应的集成支持,VCNL4020使开发人员能够以很少的额外努力实现这些功能。

用户喜欢...

【手机与平板计算机应用】海华Wifi模块及Liteon光感应Sensor

近年来由于触控功能手机及平板计算机在全球热销,精确的光感效应及快速稳定的无线传输,其角色更形重要。本次...


环境光感应优化便携式显示器的可见性和电池寿命

加入环境光传感器到便携设备,如片剂,智能手机和笔记本电脑延长电池寿命并允许被优化为在环境易于视图显示器。本文介绍了在便携式设备上使用这种传感器时出现的各种问题。 在当今的...