VL53L0X 底层思路整理(1)

传感器资料思路整理
世界上最小的飞行时间测距和姿态探测传感器
VL53L0X 底层思路整理(1)_第1张图片
特点:
•完全集成的微型模块
– 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发射器(垂直腔表面发射激光器)是完全人眼不可见的,再加上内部物理红外滤光片,可以实现更长的测距距离,对环境光的抵抗力更高,更好坚固耐用,可防止盖玻片发生光学串扰。

  1. overview
    1.1 technical specification
    VL53L0X 底层思路整理(1)_第2张图片
    1.2 system block diagram
    VL53L0X 底层思路整理(1)_第3张图片
    1.3 device pinout(设备引出线)
    VL53L0X 底层思路整理(1)_第4张图片
    VL53L0X 底层思路整理(1)_第5张图片
    1.4 application schematic
    VL53L0X 底层思路整理(1)_第6张图片
    note:
    ~外部电源AVDD上的电容器应尽可能靠近AVDDVCSEL和AVSSVCSEL模块引脚。
    ~外部上拉电阻的值可以在I2C-bus规范中找到。每台总线通常只在主机附近安装一次上拉。
    AVDD为2.8V和400KHz的I2C时钟的上拉电阻推荐值为1.5k到2k欧姆。
    ~关闭销必须始终驱动,以避免泄漏电流。如果主机状态未知,则需要上拉。
    使用HW备用模式(没有I2C通信)需要XSHUT。
    ~XSHUT和GPIO1上拉推荐值为10k欧姆
    ~如果不使用,GPIO1将不连接

  2. functional description
    2.1 system functional description
    VL53L0X 底层思路整理(1)_第7张图片
    应用程序使用API控制VL53L0X设备。
    该API向客户应用程序提供了一组高级功能,这些功能允许VL53L0X固件(FW)的控制,例如初始化/校准,范围从开始/停止,选择精度,选择测距模式。
    该API是一站式解决方案,它由一组C函数组成,可快速实现开发最终用户应用程序,而无需直接多重寄存器的复杂化访问。 该API的结构使其可以在任何平台上进行编译通过良好隔离的平台层。
    该API软件包使用户可以充分利用VL53L0X的功能。有关该API的详细说明,请参见《 VL53L0X API用户手册》
    VL53L0X FW完全管理硬件(HW)寄存器访问。
    2.2 firmware state machine description
    VL53L0X 底层思路整理(1)_第8张图片
    2.3 customer manufacturing calibration flow
    VL53L0X 底层思路整理(1)_第9张图片
    2.3.1 SPAD and temperature calibration
    为了优化系统的动态性,必须对参考SPAD进行校准。参考SPAD校准在初始制造校准期间仅需要执行一次,然后应将校准数据存储在主机上。温度校准是两个与温度相关的参数(VHV和相位校准)的校准。 这两个参数用于设置设备灵敏度。
    校准应在初始制造校准过程中执行,当温度与初始校准温度相比变化超过8摄氏度时,必须再次执行校准。有关SPAD和温度校准的更多详细信息,请参考《 VL53L0X API用户手册》。
    2.3.2 ranging offset calibration
    测距偏移可以用平均偏移来表征,即平均偏移测量值与实际距离的比较。偏移校准应在工厂执行以获得最佳性能(建议在10厘米处)。 失调校准应考虑:
    •电源电压和温度
    •VL53L0X模块上方的防护玻璃罩
    VL53L0X 底层思路整理(1)_第10张图片
    2.3.3 cross-talk calibration
    串扰定义为从防护玻璃返回的信号。 串扰的大小取决于玻璃的类型和气隙。 串扰会导致范围误差与串扰与目标信号返回的比率成正比。
    VL53L0X 底层思路整理(1)_第11张图片
    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个连续的阶段:
•初始化和负载校准数据
•测距
•数字管家
VL53L0X 底层思路整理(1)_第12张图片
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低的时间段。
VL53L0X 底层思路整理(1)_第13张图片
option2:XSHUT引脚不受主机控制,通过上拉电阻与AVDD连接。如果不控制xclosed引脚,则电源启动顺序如图11所示。在这种情况下,设备在FW启动后自动进入SW待机状态,不进入HW备用模式。
VL53L0X 底层思路整理(1)_第14张图片
2.10 ranging sequence
VL53L0X 底层思路整理(1)_第15张图片
3. control interface 控制接口

I2C接口使用两种信号:串行数据线(SDA)和串行时钟线(SCL)。连接到总线的每个设备都使用唯一的地址,并且存在简单的主/从关系。SDA和SCL线路都使用位于主机上的上拉电阻连接到正电源电压。线只被主动压低。一个高电平的情况发生时,线是浮动的,而上拉电阻把线上拉。两线都是高电平时说明没有数据输送。时钟信号(SCL)的产生是由主设备完成的。主设备启动数据传输。VL53L0X上的I2C总线的最大速度为400 kbits/s,并使用一个设备地址0x52。
VL53L0X 底层思路整理(1)_第16张图片
信息打包在8位数据包(字节)中,后面是一个确认位,Ac用于VL53L0X确认,Am用于主机确认(主机总线主机)。 内置的数据通过在SCL的上升沿对SDA采样来产生。外部数据必须稳定在SCL的高峰期。例外是 起始条件(S)或停止条件(P)【当SCL为高时,SDA分别下降或上升】

一条消息包含一系列字节,其后是开始条件,后跟一个停止或重复启动(另一个启动条件,但没有先前的停止条件)随后是另一条消息。 第一个字节包含设备地(0x52),还包含指定数据方向。 如果最低有效位为低(即0x52),则该消息为主机写入从机。如果设置了lsb(即0x53),则该消息是主机接收从机。
VL53L0X 底层思路整理(1)_第17张图片
与摄像头模块的所有串行接口通信都必须以启动条件开始。 VL53L0X模块通过将SDA线驱动为低电平来确认收到有效地址。 存储了读/写位(地址字节的lsb)的状态,并且可以解释从SDA采样的下一个数据字节。 在写序列期间,接收到的第二个字节提供一个8位索引,该索引指向内部8位寄存器之一。
VL53L0X 底层思路整理(1)_第18张图片
从机接收到数据后,会将其逐位写入串行/并行寄存器。 每次从机已接收到数据字节之后,生成确认,然后发送数据存储在当前索引寻址的内部寄存器中。

在读取消息期间,读取当前索引寻址的寄存器的内容,在设备地址字节之后的字节中输出。 该寄存器的内容是并行地加载到串行/并行寄存器中,并随SCL的下降沿,SCL移出设备。
VL53L0X 底层思路整理(1)_第19张图片
在每个字节的末尾,在读取和写入消息序列中,接收设备都会发出一个确认(即,用于写入的VL53L0X和用于读取的主机)。

消息只能由总线主机通过发出停止条件或通过发出终止条件来终止。在读取操作期间读取一个完整的字节后,通过否定应答(即,不将SDA线拉低)来实现。

该界面还支持自动增量索引。 在第一个数据字节传输完成后,索引将自动增加1。因此,主机可以连续向从机发送数据字节,直到从机未能提供确认或主机以停止条件终止写通信为止。 如果使用了自动递增功能,则主机不必发送地址索引来伴随数据字节。
VL53L0X 底层思路整理(1)_第20张图片
VL53L0X 底层思路整理(1)_第21张图片
3.1 I2C接口——时序特征 timing characteristics
VL53L0X 底层思路整理(1)_第22张图片
VL53L0X 底层思路整理(1)_第23张图片
3.2 I2C接口——reference registers
VL53L0X 底层思路整理(1)_第24张图片
I2C的读/写可以是8位、16位或32位。多字节的读/写总是按升序处理,MSB优先,如表5所示。
VL53L0X 底层思路整理(1)_第25张图片

你可能感兴趣的:(Arduino)