实例介绍
VL53L1X的API手册中文翻译版 VL53L1X是一款长距离飞行时间传感器。 本用户手册的目的是描述使用VL53L1X驱动程序调用以获取测距数据的一组功能。 请参考VL53L1X数据表。
设置 Retspal校准数 偏移校准 偏移校准功能 偏移校准程序 获得偏移校准结果 设置偏移校准数据 串扰校准 串扰校准功能 串扰校准程序 串扰校准距离表征 获得串扰校准结果 设置串扰校准数据 启月/禁用串扰补偿 驱动程序错误和警告 缩略语 修订记录 VL53L1X系统概述 ⅥL53LIX系统由Ⅵ53L1X模块和在主杋上运行的驱动程序组成。 图2.Ⅵ53L1X系统 VL53L1X System VL53L1X VL53L1X Driver module 12C ST提供了一个软件岖动程序,在本文档中称为“驱动程序”。 本文档介绍主机可以访问的驱动程序功能,以控制设备并获取测距数据。 该驱动程序是使用Ⅵ53L1X器件的一组功能的实现。它对0S集成和服务做了最少的假设。 因此,动作的排序,执行/线程模型,平台這配和设备结构分配不是驱动程序实现的一部 分,而是对软件集戌商保持开放。 函数调用的顺序心须遵循本文档口定乂的一组规贝 测距API函数描述 本节给岀了测距的功能描述,并描述了使用Ⅵ53L1X执行测距测量时应遵循的API呼叫流程 自主测距说明 传感器通过可编程的测量间隔周期连续自动执行测距。 测距是在没勻主机参与的情况下完成的,这允许主机处于低功塞状念。当测距可用时, 主机仅在测量中断时唤醒。 可以设置距离和/或信号检测标准的阈值,然后在满足标准时引发中断。 时机考虑 定时预算定义为传感器执行和报告测距测量数据所需的编程时间。在此期间, VCSEL脉动 在计时预算结束时引发中断或更新日期就绪寄存器。 测量间期被定义为两次连续测量之间的编程时间。 图3显示时间预算和测量间期。 主机可以通过使用专用驱动程序功能来更改默认的时间预算和测量间隔时间第2.5.2艺:时y 问算和相互洲量期 主持人可以决定更改时间预算以提高测距精度或最大距离限制。 图3.Ⅵ3L1X自动量程序列和时序 Pawer Sup CPlO1(Interrupt Driver Command Ranging Rang ang sw Standby Ranging Inter Measurement Ranging Inter Measurement SW Standby Init Ranging ← Tim ing budget <T ming Budget) - Inter measurement period API函数调用流程 ⅥL53L1X驱动程序用于两种使用情况 ·没备校准的校准流程 在用户应用程序级别使用测距流程 校准流程 校准流程在中描述图4 所有用于校准的API函数都在中描述第3部分:使准功能 图4.ⅥL53L1X校准流程 WaitDevice Booted Datalnito Key Staticlnit( Host calls driver function Perform RefSpad Management( lost calls Optional driver function PerformOffsetCalibration( Host erTo Get CalibrationData( Save part calibration data 流量 测距流程在中描述郾5 图5.VL53L1X测距流程 Wait DeviceBooted( Host action Data Inito Host calls driver function Staticlnit() Data result Optional and/or SetCalibration Driver internal action Host calls Optional StartMeasurement( olling Host polling mode interrupt Interrupt mode Driver polling mode GetMeasurementDataReady() WaitMeasurementDataReady( Checks Polls on Interrupt received interrupt status nterrupt status GetRanging MeasurementData() Data ClearInterruptAndStartMeasurement( interrupt ranging Stop Measurement 强制测距功能 以下部分显示在开始测量之前执行系统初始化所需旳API函数。 数据初始化 ⅥL53 LI Datalnit()函数被调用一次。它执行设备初始化。它在器件退出复位后 被调用一次且仅调用一次。 静态初始化 VL53 LI StaticInit()凶数允许加载特定用例的设备设置。 开始洲量 必须调用V53 LI StartMcasurcment()函数才能开始测量。 等待结果:轮询或中断 有三种方法可以知道测距数据可月 主机可以调用轮询功能,等待测距数据可用, 函数Ⅵ53 LI WaitmeasurementDataReady()查询设备中状态,直到测距数掂就绪。 只要功能未完成,该功能就会阻止主机上的所有其他操作,因为执行了内部轮询。 主机可以轮询功能以询问测距数据是否可用, 主机可以轮询功能Ⅵ53L1 GetMeasurement DataReady()以了解新的测距数据是否准备就 绪 该功能不会阻止其他操作。如果传感器在轮询模式下使用,则是首选和推荐的方法。 主机可以等待物理中断 获得测距状态的另一种首选方法是使用物理中断辎出:默认憤况下,当新的测距数捃准夆就 绪时,GPI01被拉低。 该引脚只是瑜出引脚,该器件没有输入中断引脚。 获取测量 Vl53 LI GetRangingMeasurement Data()可用于获取测距数据。当调用该函数获取设备 测距结果时,会调用一个结构 返回V53L1 RangingMeasurementData_t 这个结构描述在第2.6苏: Rangingheasuremen tData结构 清楚中断的来源 中断必须通过调用驱动程序功能来清除 读取洲距数据后的W5 LI ClearInterruptAndstartMeasurement() 为了获得一致的结果,在进行测距测量后必须调用该函数。 如果此功能未被调用,则下一个测距将开始并且结果将被更新。但是,数捃就绪状态标志 不会被更新,物理中断引脚也不会被清除。 停止上测量 主持人可以决定通过拨打电话来停止测量 V53L1 Stopmeasurene()函数 如果在量程测量期间发生停止请求,则立即中上测量。 可选的驱动功能 等待启动 VL53 LI VaitDevicebooted()函数确保设备已启动并准备就绪。 该功能是可选的。这是一个阻塞函数,因为有一个内部轮询。假设400kHz12C和每个事 务的延迟时间为2毫秒,此功能不应阻塞超过4ms 时间预算和测量间期 定时预算是传感器执行一次量程测量所需的时间。 WL5, Remeasurement7 i ming Buase seconds()是要使用的盛数。 最八和最大时序预算为「20ms,1000ms1示例 Status=VL53L1 SetMeasurement Timing Seconds (&e VL53L IDev, 66000), 的闰放算设置为66毫秒 函数V53 7 GetMeasurementi' imingBudge mIcroseconds()获取编程的小算。 测量间期是两个测距操作之间的延迟。 测量间期可以编桯。当测距完戍时,设备等待绽程的测量间隔期结束,然后再继续下一个 测距。在测量间隔期间,传感器处于低功耗状态。 VL5 LI Set interMeasurementPeriodMilliseconds()是要使历的数 例 StatUs=VL53L/ Set InterMeasurementPeriodMilliSeconds ( vL53LIDev, 1000), Ai y 星偏与朝设为1秒 函数ⅥL53 LI GetInterMeasurementPeriodMilliseconds()获取编程的测量间塥周期。 如笑测星间的问短于定时频算,则一旦设备完成洲距,则下一个测距立开始 薇 传感器洲距的个应调用计时频算和洲间。用出须停洲距,更改这坐参数并重新 启动测距。 距离模式 距离模式是一个参数,用于优化內剖没置和调谐,以根据应用所需的测距距离和环境光线条 仁获得最佳测距性能。 改变距离模式的好处详见表1:距旁模式 表1.距离模式 可能的距离模式 最大距离 收益/评论 高达1.3米 更好的环境免疫力 最多3米 长(默认) 最多4米 最大距离 要使用的数是V5 SetDistancelode()。 用可以调用Ⅵ53 1 GetDistanceMode()来获得编程的距离嫫式 限制检查设置 该驱动程序使用两个参数来限定测距测量:信号和西格马。 如果信号或西格马超出极限,测距将破标记为无效(请注意 Rangestatus不等于零)。 适用的限制是 Sigma: VL53L1X CHECKENABLE SIGMA FINAL RANGE 西格玛用亳米表示,是对测量标准偏差的估计。 信号:V53 CHECKENABLE SIGNAL RATE FINAL ANGE 信号速率测量(以WPS表示)表示从目标反射并由设备检测到的信号的幅度。 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论