传感器资料思路整理 世界上最小的飞行时间测距和姿态探测传感器 特点: •完全集成的微型模块 – 940nm激光VCSEL – VCSEL驱动程序 –带有高级嵌入式测距传感器的微控制器 – 4.4 x 2.4 x 1.0mm •快速,准确的测距 –测量绝对距离达2m –测量的范围独立于目标反射率 –在高等级红外环境光下运行 –先进的嵌入式光学串扰补偿以简化盖玻片选择 •眼睛安全 –符合最新要求的1类激光设备标准IEC 60825-1:2014-第三版 •易于集成 –单个可回流焊组件 –没有额外的光学元件 –单电源 –用于设备控制和数据的I2C接口传递 – Xshutdown(重置)并中断GPIO –可编程的I2C地址
应用: •个人计算机的用户检测/笔记本电脑/平板电脑和物联网(节能)。 •机械手(障碍物检测)。 •白色家电(自动检测水龙头,皂液器等…) •一维手势识别。 •激光辅助自动对焦。 增强和加快相机自动对焦系统的性能,尤其是在困难的场景(弱光,低对比度)或快速移动的视频模式。
描述: VL53L0X是新一代的飞行时间(ToF)激光测距模块,是当今市场上最小的包装,可提供精确的距离测量目标反射率。 它可以测量绝对距离高达2m,在范围内设定了新的基准 性能水平,打开各种新的应用程序的大门。 VL53L0X集成了领先的SPAD阵列(单光子雪崩二极管)和嵌入了ST的第二代FlightSenseTM专利技术。 VL53L0X的940nm VCSEL发射器(垂直腔表面发射激光器)是完全人眼不可见的,再加上内部物理红外滤光片,可以实现更长的测距距离,对环境光的抵抗力更高,更好坚固耐用,可防止盖玻片发生光学串扰。
overview 1.1 technical specification 1.2 system block diagram 1.3 device pinout(设备引出线) 1.4 application schematic note: ~外部电源AVDD上的电容器应尽可能靠近AVDDVCSEL和AVSSVCSEL模块引脚。 ~外部上拉电阻的值可以在I2C-bus规范中找到。每台总线通常只在主机附近安装一次上拉。 AVDD为2.8V和400KHz的I2C时钟的上拉电阻推荐值为1.5k到2k欧姆。 ~关闭销必须始终驱动,以避免泄漏电流。如果主机状态未知,则需要上拉。 使用HW备用模式(没有I2C通信)需要XSHUT。 ~XSHUT和GPIO1上拉推荐值为10k欧姆 ~如果不使用,GPIO1将不连接
functional description 2.1 system functional description 应用程序使用API控制VL53L0X设备。 该API向客户应用程序提供了一组高级功能,这些功能允许VL53L0X固件(FW)的控制,例如初始化/校准,范围从开始/停止,选择精度,选择测距模式。 该API是一站式解决方案,它由一组C函数组成,可快速实现开发最终用户应用程序,而无需直接多重寄存器的复杂化访问。 该API的结构使其可以在任何平台上进行编译通过良好隔离的平台层。 该API软件包使用户可以充分利用VL53L0X的功能。有关该API的详细说明,请参见《 VL53L0X API用户手册》 VL53L0X FW完全管理硬件(HW)寄存器访问。 2.2 firmware state machine description 2.3 customer manufacturing calibration flow 2.3.1 SPAD and temperature calibration 为了优化系统的动态性,必须对参考SPAD进行校准。参考SPAD校准在初始制造校准期间仅需要执行一次,然后应将校准数据存储在主机上。温度校准是两个与温度相关的参数(VHV和相位校准)的校准。 这两个参数用于设置设备灵敏度。 校准应在初始制造校准过程中执行,当温度与初始校准温度相比变化超过8摄氏度时,必须再次执行校准。有关SPAD和温度校准的更多详细信息,请参考《 VL53L0X API用户手册》。 2.3.2 ranging offset calibration 测距偏移可以用平均偏移来表征,即平均偏移测量值与实际距离的比较。偏移校准应在工厂执行以获得最佳性能(建议在10厘米处)。 失调校准应考虑: •电源电压和温度 •VL53L0X模块上方的防护玻璃罩 2.3.3 cross-talk calibration 串扰定义为从防护玻璃返回的信号。 串扰的大小取决于玻璃的类型和气隙。 串扰会导致范围误差与串扰与目标信号返回的比率成正比。 2.4 ranging operating models API 中有三种ranging models: 1.单一范围 调用API函数后,测距仅执行一次。系统自动返回软件待机。 2.连续测距 调用API函数后,将以连续方式执行测距。 立刻测量完成后,立即开始另一个测量。用户必须停止测距才能返回软件待机状态。 最后一次测量是在停止之前完成。 3.定时测距 调用API函数后,将以连续方式执行测距。 当一个测量完成后,在用户定义的延迟后开始另一个测量。可以通过API定义此延迟(测量间隔时间)。
用户必须停止测距才能返回软件待机状态。 如果在范围测量期间停止请求到来,则测量完成在停止之前。 如果在一次测量期间发生,则范围测量立即停止。
2.5 ranging profiles 通过API示例代码可以使用4种不同的测距配置文件。 客户可以创建他们自己的范围配置文件取决于他们的用例性能要求。 1.默认模式 2.高速 3.精度高 4.射程远
2.6 ranging profile phases 每个范围配置文件包含3个连续的阶段: •初始化和负载校准数据 •测距 •数字管家 2.6.1 initialization and load calibration data phase 初始化和校准阶段在第一次测距之前或在设备之后执行重置,请参见图9。 然后,用户可能必须定期重复温度校准阶段,取决于用例。 2.6.2 ranging phase 测距阶段包括一个测距设置和测距。在测距操作期间,会发射几个VCSEL红外脉冲,然后反射返回目标对象,并由接收数组检测。 使用的光电探测器VL53L0X内部使用先进的超快速SPAD技术(单光子雪崩二极管),受多项专利保护。 一个范围的典型时序预算为33ms(初始化/范围/内务处理),请参见图12。实际范围的测量需要23ms,请参见图9。最小范围测量周期为8ms。 note:时间预算的最小范围是20ms。最多5秒。时间预算越长,测距精度和测距距离越高. 2.6.3 digital housekeeping 数字处理(客房整理)是测距序列中的最后一项操作,计算,验证或拒绝范围测量。 执行此处理的一部分内部,而另一部分由API在主机上执行。 在数字处理结束时,测距距离由VL53L0X自己计算。 如果无法测量距离(弱信号,无目标……),生成相应的错误代码。 在设备本身上执行以下功能: •信号值检查(弱信号) •偏移校正 •串扰校正(在盖玻片的情况下) •最终测距值计算 该API执行以下操作: •返回忽略阈值RIT检查(信号检查与串扰) •Sigma检查(精度条件) •最终测距状态计算 如果用户想提高测距精度,可以进行一些额外的处理(不是API)可以由主机执行,例如,滚动平均值,磁滞或任何类型的过滤。 2.7 getting the data:interrupt or polling 用户可以使用轮询或中断机制获取最终数据。 轮询模式:用户必须通过轮询API来检查正在进行的测量的状态功能。 中断模式:当新的中断引脚(GPIO1)发送中断至主机时测量可用。 2.8 device programming and control 设备物理控制接口为I2C;通过API控制设备。 2.9 power sequence 2.9.1 power up and boot sequence 有两种可选的顺序: option1:XSHUT引脚连接并控制主机。这个选项有助于优化功耗,因为VL53L0X可以在不使用时完全断电,然后通过主机GPIO(使用XSHUT pin)唤醒它。HW待机模式定义为AVDD存在、XSHUT低的时间段。 option2:XSHUT引脚不受主机控制,通过上拉电阻与AVDD连接。如果不控制xclosed引脚,则电源启动顺序如图11所示。在这种情况下,设备在FW启动后自动进入SW待机状态,不进入HW备用模式。 2.10 ranging sequence 3. control interface 控制接口
I2C接口使用两种信号:串行数据线(SDA)和串行时钟线(SCL)。连接到总线的每个设备都使用唯一的地址,并且存在简单的主/从关系。SDA和SCL线路都使用位于主机上的上拉电阻连接到正电源电压。线只被主动压低。一个高电平的情况发生时,线是浮动的,而上拉电阻把线上拉。两线都是高电平时说明没有数据输送。时钟信号(SCL)的产生是由主设备完成的。主设备启动数据传输。VL53L0X上的I2C总线的最大速度为400 kbits/s,并使用一个设备地址0x52。 信息打包在8位数据包(字节)中,后面是一个确认位,Ac用于VL53L0X确认,Am用于主机确认(主机总线主机)。 内置的数据通过在SCL的上升沿对SDA采样来产生。外部数据必须稳定在SCL的高峰期。例外是 起始条件(S)或停止条件(P)【当SCL为高时,SDA分别下降或上升】
一条消息包含一系列字节,其后是开始条件,后跟一个停止或重复启动(另一个启动条件,但没有先前的停止条件)随后是另一条消息。 第一个字节包含设备地(0x52),还包含指定数据方向。 如果最低有效位为低(即0x52),则该消息为主机写入从机。如果设置了lsb(即0x53),则该消息是主机接收从机。 与摄像头模块的所有串行接口通信都必须以启动条件开始。 VL53L0X模块通过将SDA线驱动为低电平来确认收到有效地址。 存储了读/写位(地址字节的lsb)的状态,并且可以解释从SDA采样的下一个数据字节。 在写序列期间,接收到的第二个字节提供一个8位索引,该索引指向内部8位寄存器之一。 从机接收到数据后,会将其逐位写入串行/并行寄存器。 每次从机已接收到数据字节之后,生成确认,然后发送数据存储在当前索引寻址的内部寄存器中。
在读取消息期间,读取当前索引寻址的寄存器的内容,在设备地址字节之后的字节中输出。 该寄存器的内容是并行地加载到串行/并行寄存器中,并随SCL的下降沿,SCL移出设备。 在每个字节的末尾,在读取和写入消息序列中,接收设备都会发出一个确认(即,用于写入的VL53L0X和用于读取的主机)。
消息只能由总线主机通过发出停止条件或通过发出终止条件来终止。在读取操作期间读取一个完整的字节后,通过否定应答(即,不将SDA线拉低)来实现。
该界面还支持自动增量索引。 在第一个数据字节传输完成后,索引将自动增加1。因此,主机可以连续向从机发送数据字节,直到从机未能提供确认或主机以停止条件终止写通信为止。 如果使用了自动递增功能,则主机不必发送地址索引来伴随数据字节。 3.1 I2C接口——时序特征 timing characteristics 3.2 I2C接口——reference registers I2C的读/写可以是8位、16位或32位。多字节的读/写总是按升序处理,MSB优先,如表5所示。
