跳到主要内容
← 返回资料中心

TF-Luna 用户手册

TF-Luna 用户手册,含原始资料中的参数、图示与说明。

TF- L una 用户手册

TF-Luna 用户手册 — 原文第 1 页图示 1

Benewake (Beijing) Co., Ltd

前言

本用户手册包括 TF-Luna 激光雷达测距模组的介绍、使用和维护等相关内容,涵盖常见情况下的使用说明及问题处理措施。请在使用前仔细阅读本手册,谨记注意事项,避免危险,并在使用过程中,严格遵守手册内所述步骤执行。

如果您在使用过程中遇到了无法解决的问题,欢迎您随时联系北醒工作人员协助解决。

联系方式官网地址:www.benewake.com 联系电话:400-880-9610 咨询技术问题,请联系:support@benewake.com 咨询销售事宜或索取介绍资料,请联系:bw@benewake.com

公司总部地址北醒(北京)光子科技有限公司北京市海淀区上地街道海国嘉业科技园 3 层

版权声明本文档版权归©北醒公司所有,未经北醒公司的官方书面许可,请勿对本文档内容进行修改、删减或翻译。

免责声明我们的产品还在不断改进和更新,因此 TF-Luna 的规格参数可能会发生变化,请以官网上的最新版本为准。

1 概览

TF-Luna 是一款基于 ToF 原理的单点测距雷达,采用 850nm 红外光源,配合独特的光学, 电学设计,可以实现稳定、精准、高灵敏的距离测量。

产品内置多种应用环境及目标的适配算法,并开放了多种可调节配置和参数。可以保证在复杂环境中具有优良的测距性能,满足客户复杂的应用场景需求。

1.1 关键特性参数

表 1-1TF-Luna参数表

参数名称 参数值
产品性能 测量范围 90%反射率 0.2m~8m
10%反射率 0.2m~2.5m
准确度① ±6cm @(0.2m~3m);±2% @(3m~8m)
距离分辨率① 1cm
帧率② 100Hz
抗环境光能力 70Klux
工作温度 -10℃~60℃
防护等级 /
光学参数 人眼安全 Class 1 (IEC60825)
中心波长 850nm
光源 VCSEL
视场角③ 2°
电学参数 供电电压 DC 3.7V-5.2V
通信电平 LVTTL(3.3V)
平均电流 ≤70mA
功耗 ≤0.35W
峰值电流 150mA
其他 尺寸 35mm*21.25mm*13.5mm(长*宽*高)
壳体材质 ABS/PC
存储温度 -20℃~75℃
重量 <5g
线长 10cm

提示 1 准确度、距离分辨率、重复精度等均在室内 25℃ 漫反射白板(90%反射率) 条件下测得。

2 最高支持 250Hz,可以设定的帧率是 500/n,n 是大于等于 2 的整数,也就是 250-167-125-100-等,出厂默认是 100Hz。

3 视场角为理论值,实际角度值存在一定偏差。

1.2 测距特性

TF-Luna 产品经过光路与算法优化,已最大程度减小外界环境对测距性能的影响。

TF-Luna 的测距盲区,为 0-20cm,该范围内的数据不可信。

对黑色(10%反射率)目标的探测能力,测量范围为 0.2-2.5m。

对白色(90%反射率)目标的探测能力,测量范围为 0.2-8m。

只有当『被测目标边长』大于等于『有效测距边长』时,数据才稳定可靠。『有效测距边长』由视场角决定(视场角一般是指接收角和发射角中的较小者),计算公式为: d = 2 ∗ D ∙ tanβ 其中,表示有效测距边长,D 表示探测距离,为 TF-Luna 的接收半角 1°,一般的有效测距边长与探测距离的对应关系,见表 1-4: 表1-4 测距距离对应的被测目标有效边长

探测距离 1m 2m 3m 4m 5m 6m 7m 8m
有效边长 3.5cm 7cm 10.5cm 14cm 17.5cm 21cm 24.5cm 28cm

当被测物体边长不满足有效测距边长时,如图 1-1 所示,TF-Luna 输出测量值(Dist)会出现异常。使用过程中如果要求精度较高,应尽量避免此类情况,减小测量误差。

TF-Luna 用户手册 — 原文第 5 页图示 1
图 1-1 探测两个距离不一的物体

2 接口定义

2.1 线序说明

TF-Luna 用户手册 — 原文第 6 页图示 1

图2-1 TF-Luna引脚顺序示意图表2-1 引脚功能及连接说明

编号 功能 说明
1 +5V 电源正极
2 RXD/SDA 接收/数据
3 TXD/SCL 发送/时钟
4 GND 电源地
5 接口配置输入 接地:启动为 I2C 模式悬空或者接 3.3V:启动为串口模式
6 复用输出 开关量模式功能:开关量输出
I2C 模式且开关量模式关闭:数据准备好指示

2.2 电器特性

表2-2TF-Luna主要电气参数

参数名称 参数值
平均电流 ≤70mA
峰值电流 150mA
功耗 ≤350mW
通信电平 LVTTL(3.3V)

本产品无过压保护或者极性保护,请确保接线正常,输入电压在指定范围内。

3 数据格式与通信协议

3.1 串口通信

引脚 5 悬空或者接 3.3V 时,TF-Luna 启动为串口通信模式,引脚 2 为串口接收 RXD,引脚 3 为串口发送 TXD。串口通信硬件协议为:数据位 8bit,停止位 1bit,无奇偶校验,默认波特率 115200bps。

字节 0 1 2 3~Len-2 Len-1
描述 Head(0x5A) Len ID Payload Checksum

串口通信软件协议数据帧格式如下: Head: 帧头,固定为 0x5A。

Len: 包含帧头到 Check_sum 的所有字节的长度,单位为字节,范围 4~255。

ID: 指示如何解析 Payload 数据。

Payload: 数据段,根据 ID 进行解析,可能没有数据段。

Checksum: 对从 Head 到 Payload 的所有字节进行求和计算,取低 8 位。

串口通信软件协议见附录二串口通信软件协议。

注意:TF-Luna 内部对下行数据帧默认没有开启校验和检查,即下行帧尾的 Checksum 可以填充任意值。从 TF-Luna 上行的数据帧包含了正确的 Checksum 值。

如果用户对通信可靠性有需求 , 可以通过附录二串口通信软件协议中的 “ 校验和开关 ID_FRAME_CHECKSUM_EN=0x08”指令开启校验和检查功能。

配置指令下发后立即生效 ,但不会被保存,如需掉电保存,需要追加发送“保存当前设置 ID_SAVE_SETTINGS=0x11”指令:5A 04 11 00。

3.2 I2C 通信

引脚 5 接地时,TF-Luna 启动为 I2C 通信模式,引脚 2 为数据线 SDA,引脚 3 为时钟线 SCL, TF-Luna 做为 I2C 从机,默认从机地址为 0x10,支持最高 400kbps 的时钟频率。I2C 寄存器列表见附录三 I2C 寄存器列表。

注意:本文档中的 I2C 从机地址是 7-bit 的数值,可用范围是[0x08, 0x77],十进制[8, 119]。I2C 开始信号后发送的第一个字节,需要先将 7-bit 的地址左移一位(乘以 2),再补充最低位的读写标志。如 TF-Luna 的默认从机地址为 0x10,写操作地址为 0x20,读操作地址为 0x21。

写寄存器时序: Start Slave Addr W Ack Register Addr Ack Data1 Ack … DataN Ack Stop 读寄存器时序: Start Slave Addr W Ack Register Addr Ack Stop

Start Slave Addr R Ack Data1 Ack … DataN Nack Stop

其中读寄存器时序中,主机可以不产生第一个 Stop 信号,直接产生第二个 Start 信号。最后一个 Nack 也可以是 Ack 信号。

在连续测距工作模式下,主机必须根据 TF-Luna 的引脚 6 产生的数据准备好信号做为同步信号, 在指定的时序内发起读数据操作,否则可能在数据寄存器更新期间进行读取,导致偶现数据异常的问题。多机总线模式下,建议使用指令触发模式工作。

TF-Luna 用户手册 — 原文第 8 页图示 1
图3-1 I2C读数据寄存器示意图

数据更新完成时,引脚 6 切换为高电平,读寄存器操作(任意寄存器)完成时,引脚 6 切换为低电平。连续工作模式下,I2C 主机需要在读到引脚为高电平后,立即读取数据寄存器。上面时序中,第一次读取的数据不可靠,后面两次是正确的读取时机。

通过 I2C 写寄存器后,TF-Luna 需要一段时间进行处理才能生效,如果用户需要读回寄存器值进行验证,建议在写操作之后等待 100ms 再进行读操作。

3.3 数据输出

TF-Luna 主要输出以下几项数据: • 测距值(Dist):默认单位 cm。

• 信号强度(Amp):当 Amp=0xFFFF 时,表示过曝;当 Amp<100 时,信号过低。信号过曝或过低时,距离值都不可信。正常情况下 Amp 的数值不会大于 30000,当 Amp 大于 32768 时表明 TF-Luna 探测到环境光过曝,比如室外正对太阳的情况。

• 芯片温度(Temp):串口输出的温度值换算成摄氏度的算式为:Temp/8-256。注意,Temp 是芯片温度,不是环境温度,通常情况下,芯片温度比环境温度高约 20℃。

• TF-Luna 支持多种串口输出格式,请参考附录一串口输出格式,出厂默认为“9 字节 cm” 格式。用户可以通过“设置输出格式 ID_OUTPUT_FORMAT=0x05”指令修改输出格式。

3.4 连续测距模式

TF-Luna 内部以 500Hz 的频率进行测距,根据用户配置的输出频率,做多次平均后输出。如出厂默认配置的 100Hz 输出频率,TF-Luna 内部将连续 5 个测距结果进行求平均运算后输出。因此输出频率越低,平均次数越多,数据波动性越小。TF-Luna 支持的最高输出频率为 250Hz, 而且仅支持 500/n 的频率值,其中 n 的取值范围是[2,500],即用户可配置的输出频率为:250, 166,125,100,…2,1 等值。用户可以通过“设置输出频率 ID_SAMPLE_FREQ=0x03”指令修改输出频率。

3.5 指令触发模式

当通过“设置输出频率 ID_SAMPLE_FREQ=0x03”指令设置输出频率为 0 时,TF-Luna 进入指令触发模式,此时雷达不再主动测距,每收到一次“单次触发指令 ID_SAMPLE_TRIG=0x04”(5A 04 04 00),测距并输出一次。

3.6 开关量模式

当用户只关心某一距离范围内是否存在目标时 , 可以通过 “ 设置开关量输出模式 ID_ON_OFF_MODE=0x3B”指令使能 TF-Luna 的开关量模式。该模式下,探测信息由引脚 6 的高低电平表示。图 3-2 以近高远低模式为例,说明开关量模式的工作方式。

TF-Luna 用户手册 — 原文第 9 页图示 1
图3-2 近高远低的开关量模式

当 Zone 设置为 0,目标距离小于 Dist 时引脚 6 输出高电平,目标距离大于 Dist 时引脚 6 输出低电平。如果目标距离恰好在 Dist 处,可能由于测距的波动性,导致引脚 6 电平频繁高低跳变。

可以通过设置 Zone,构成一个滞回区间,避免该问题。当 Zone 不为 0,目标距离大于 Dist+Zone 时才会触发高电平到低电平的跳变,目标距离小于 Dist 时才会触发低电平到高电平的跳变。

开关量模式支持延时设置,当 Delay1 和 Delay2 不为 0,目标距离满足跳变条件时不会立即触发触引脚 6 的电平跳变,只有持续 Delay1 或 Delay2 ms 时间始终满足跳变条件,才会真正触发引脚 6 的电平跳变。

注意,默认设置下,当信号强度小于阈值时,测距值被赋值为 0,当用户使用开关量模式时,如果远距离没有目标,信号强度小于阈值,使得距离值为 0,导致引脚 6 的电平与近距有目标一致。

此时可以参考“3.7 Amp 阈值设置”将信号强度小于阈值时的距离值,设置为大于 Dist+Zone 的数值。

3.7 Amp 阈值设置

当信号强度过小时,距离解算结果可能出错,因此 TF-Luna 出厂默认配置下,当 Amp<100 时, 距离强制被赋值为 0。当用户对 TF-Luna 的距离输出值有更低或更高的要求时,可以通过“设置 AMP 踢点阈值 ID_AMP_THRESHOLD=0x22”适当调整 Amp 阈值。注意,实际设置的 Amp 阈值为指令中数值的 10 倍。

3.8 距离限制设置

TF-Luna 出厂默认配置下,最小输出 0cm,最大输出 900cm。用户可以根据实际需求通过“设置距离限制 ID_DIST_LIMIT=0x3A”指令进行设置。

注意,超出[20cm, 800cm]的量程范围的距离值可能不可靠。

3.9 低功耗模式

TF-Luna 的功耗受两个因素决定:光源驱动电流大小、发光占空比。

TF-Luna 通过自适应调节光源驱动电流,达到适应不同距离、不同反射率目标的大动态范围的目的。返回雷达的信号强度过高时,自动切换到低档位电流工作,相反,信号强度过低时,自动切换到高档位电流工作。电流档位越高,功耗越大。

参考“3.8 连续测距模式”,连续测距模式下,TF-Luna 始终以最高占空比发光,不随输出频率而改变。因此当 TF-Luna 为连续工作模式,电流档位处于最高档时,功耗最大,5V 供电时,功耗约 350mW。

用户可以通过两种方式改变 TF-Luna 的发光占空比。第一种是使用指令触发模式,TF-Luna 在没有收到测距指令时不发光,此时功耗约 42.5mW(5V 供电),实际功耗由指令触发的频率确定。另一种方式是使能 TF-Luna 提供的低功耗模式,该模式的内部工作机制与指令触发模式相同 , 只是由 TF-Luna 内部自动产生触发信号 。 用户可以通过 “ 低功耗模式 ID_LOW_CONSUMPTION=0x35”指令设置 TF-Luna 进入低功耗模式。

为保证 TF-Luna 内部工作时序,低功耗模式最大输出频率为 10Hz。下面表格列出了 5V 供电时, 低功耗模式不同工作频率下平均功耗的参考值,实际功耗可能受环境温度或供电电压的影响,与参考值存在差异。

表3-1TF-Luna主要电气参数

低功耗模式工作频率 平均工作电流(mA) 平均功耗(mW)
1Hz 8.85 44.25
2Hz 9.2 46
3Hz 9.55 47.75
4Hz 9.9 49.5
5Hz 10.25 51.25
6Hz 10.6 53
7Hz 10.95 54.75
8Hz 11.3 56.5
9Hz 11.65 58.25
10Hz 12 60

3.10 超低功耗模式

为进一步降低功耗,TF-Luna 提供了“超低功耗模式”。该模式下,MCU 进入睡眠模式,此时 TF-Luna 的待机功耗约 1.5mW。由于 MCU 进入睡眠模式,无法像“低功耗模式”那样自动触发, 必须通过引脚 2 的电平变化唤醒。

3.10.1 串口通信超低功耗模式

(1) 进入超低功耗模式通过指令“超低功耗模式 ID_ ULTRA_LOW_POWER_MODE=0x58”使能超低功耗模式,该指令下发后 TF-Luna 停止串口输出,但并未立即进入超低功耗模式,还需要继续依次发送“保存当前设置 ID_SAVE_SETTINGS=0x11”和“系统软件复位 ID_SOFT_RESET=0x02”指令之后 , TF-Luna 才进入超低功耗模式。由于配置已经保存,再次上电后将直接进入该模式。

(2) 唤醒测距用户通过串口向 TF-Luna 发送任意一个字节数据,将唤醒 TF-Luna 进行一次测距,测距完成后通过串口发送出指定格式的测距结果,然后再次进入超低功耗模式。图 3-3 以 115200 波特率, 9 字节输出格式为例,唤醒时长约 8.5ms。

TF-Luna 用户手册 — 原文第 11 页图示 1

图3-3 串口通信超低功耗模式时序示意图 (3) 退出超低功耗模式由于处于超低功耗模式下时 TF-Luna 的串口通信模块未使能,因此不能直接退出该模式, TF-Luna 只能在被唤醒的短暂时序内可以响应串口指令。因此用户需要连续发送“超低功耗模式 ID_ ULTRA_LOW_POWER_MODE=0x58”的“不使能” 指令,直到接收到 TF-Luna 的回应。然后用户再发送“保存当前设置 ID_SAVE_SETTINGS=0x11”指令,确保将该状态保存。

(4) 功耗估计 TF-Luna 睡眠时功耗约 1.5mW,唤醒期间平均功耗约 260mW,唤醒时长约 8.5ms。根据以上计算条件,1 秒唤醒测试一次,平均功耗约 3.7mW。10 秒唤醒测试一次,平均功耗约 1.72mW。

3.10.2 I2C 通信超低功耗模式

(1) 进入超低功耗模式用户需要向 0x1F 地址开始连续写入三个字节:[0x01, 0x01, 0x02],进入并保存超低功耗模式。

(2) 唤醒测距用户可以尝试访问任意一个有效或无效的寄存器地址(将不会收到从机的 ACK),TF-Luna 检测到引脚 2 上的电平变化时即被唤醒。唤醒后执行一次测距,并在寄存器中更新测距结果。直到用户执行一次读寄存器操作后,TF-Luna 才再次进入睡眠模式。

TF-Luna 用户手册 — 原文第 12 页图示 1
图3-4 I2C通信超低功耗模式时序示意图

(3) 退出超低功耗模式由于只有读寄存器操作才能使 TF-Luna 再次进入睡眠模式,因此唤醒后(触发后等待至少 6ms) 直接向 0x1F 地址开始连续写入三个字节:[0x00, 0x01, 0x02],即可退出超低功耗模式。

(4) 功耗估计 TF-Luna 睡眠时功耗约 1.5mW,唤醒测距期间平均功耗约 200mW,唤醒测距时长约 12ms, 等待读取期间功耗约 42.2mW,假设等待 5ms。根据以上计算条件,1 秒唤醒测试一次,平均功耗约 4.1mW。10 秒唤醒测试一次,平均功耗约 1.76mW。

3.10.3 注意事项

由于超低功耗模式待机时 MCU 处于睡眠状态,可能无法正确响应用户指令,因此在超低功耗模式下,用户不要进行任何指令配置操作,只允许进行“唤醒测距”和“退出超低功耗模式”两种操作,任何其他的配置操作都要在退出超低功耗模式后进行。

3.11 单频工作模式

TF-Luna 采用正弦波调制相位式测距原理,该原理存在“周期距离”的问题,TF-Luna 单频工作的周期距离为 15 米,当测量距离超过 15 米后,又将从 0 米开始。如 16 米处存在反射率很高的物体,TF-Luna 会将其误判为 1 米处的物体。为了扩展周期距离,TF-Luna 出厂默认使能双频工作模式,周期距离大于 65 米,远超过自身量程,可以避免“过周期”的问题。

但双频模式下,距离解算的算法对数据稳定性要求较高,当信号较小时(AMP 小于 100),数据稳定性变差,容易导致距离解算错误,最终输出的距离出现异常,误差可达数十米。当某些应用场景下,目标的反射率很低,需要使用 AMP 小于 100 的数据时,用户可以配置 TF-Luna 进入单频工作模式。单频工作模式下,当 AMP 小于 100 时,数据距离虽然稳定性变差,但不容易出现太大的异常数值。同时,用户需要考虑该场景下不会受到“过周期”问题的影响。

3.12 其他功能

获取版本号、系统软件复位、设置串口波特率等其他功能,用户可以根据“附录二串口通信软件协议”的描述使用。

4 快速测试

4.1 产品测试所需工具

TF-Luna 用户手册 — 原文第 14 页图示 2 TF-Luna 用户手册 — 原文第 14 页图示 3 TF-Luna 用户手册 — 原文第 14 页图示 4 TF-Luna 用户手册 — 原文第 14 页图示 5 TF-Luna 用户手册 — 原文第 14 页图示 6 TF-Luna 用户手册 — 原文第 14 页图示 7
TF-Luna 数据线 TTL - USB 板 USB 线 电脑 上位机软件

4.2 测试步骤

(1) 上位机测试软件下载请到北醒官网(http://www.benewake.com/download)下载 TF-Luna 上位机软件。

注意:解压上位机软件前请关闭杀毒软件,避免上位机软件中的文件被当成病毒删除,上位机目前仅支持在 Windows 系统上运行。

(2) 设备连接

TF-Luna 用户手册 — 原文第 14 页图示 1
图4-1 正确连接示意图

如图 4-1 所示,连接『TF-Luna』、『TTL - USB 转接板』和『USB 线』,确保无松动,再将『USB 线』与『电脑』连接。

(3) 看上位机连接与读数如图 4-2,打开 TF 上位机,选择『① TF-Luna』,并选择自动识别的占用串口(这里是『② COM9』)。

然后,点击『CONNECT』进行上位机连接。连接成功后,右侧『④ TIME LINE CHART』区域会出现连续输出的数据图像,下方『⑥ REAL TIME DATA』区实时显示当前测试距离(Dist)、每秒有效数据量(Effective Points)和信号强度(Strength)。

TF-Luna 用户手册 — 原文第 15 页图示 1
图4-2 上位机界面及显示

说明: a. 如果『④ TIME LINE CHART』区没有数据,请检查连接和线序,TF-Luna 上电成功,正面看发射透镜内会有微弱的红光。

b. 如果 TF-Luna 是 Pixhawk 格式输出,需先勾选『③ Pix Mode』,『④ TIME LINE CHART』 区才会正常输出数据图像。勾选 Pix Mode 后,距离单位变为 m。

c. 距离输出 Dist 值,跟据输出单位不同会有所区别,默认单位为 cm。如果通过指令修改 TF-Luna 的距离单位为 mm,上位机并不能区分,『④ TIME LINE CHART』单位仍为 cm。

例如,TF-Luna 实际测量距离为 1m,以 mm 为单位则输出 1000,通过该上位机读取的数值为 1000,但上位机上的单位不会变化,仍显示 cm。

5 固件更新

TF-Luna 支持固件更新,当用户产品不能满足当前的使用需求,且北醒官方有相应的固件更新后,用户可通过“TF-Luna 远程升级上位机”更新产品固件。请联系技术支持人员获取固件更新上位机。

TF-Luna 用户手册 — 原文第 16 页图示 1
图5-1 TF-Luna固件升级上位机

TF-Luna 固件更新所需要的工具与快速测试步骤中描述的基本一致,同样需要 TTL-USB 转接板建立 TF-Luna 与电脑的连接。

连接好后,打开 TF-Luna 固件更新上位机,选择合适的端口,此处为『① COM8』。在『② 115200』 处输入正确的波特率,点击『③ CONNECT』,建立 TF-Luna 与上位机通信;点击『④ Open Bin』 选择需要更新的固件文件,上方文本框中会显示该固件文件地址。然后点击『⑤ Download Bin』 即可完成更新。『⑥』会显示固件更新信息。

注意,固件更新上位机和固件文件需要放在纯英文路径下。

附录一串口输出格式

1. 1.9 字节 cm

支持此协议的最低固件版本:V0.0.5。

字节 0 1 2 3 4 5 6 7 8
描述 0x59 0x59 Dist_L Dist_H Amp_L Amp_H Temp_L Temp_H Check_sum

Dist:cm。

Amp:信号强度,小于 100 时测距结果不可靠,过曝时数值为 65535。

Temp:Temp / 8 – 256 = ℃。

2. PIX

支持此协议的最低固件版本:V0.0.5。

X.YZ\r\n ASCII 码格式,单位为米,保留两位小数。

3. 9 字节 mm

支持此协议的最低固件版本:V0.0.5。

字节 0 1 2 3 4 5 6 7 8
描述 0x59 0x59 Dist_L Dist_H Amp_L Amp_H Temp_L Temp_H Check_sum

Dist:mm。

Amp:信号强度,小于 100 时测距结果不可靠,过曝时数值为 65535。

Temp:Temp / 8 – 256 = ℃

4. 带 32bit 时间戳

支持此协议的最低固件版本:V0.0.5。

字节 0 1 2 3 4 5 6-9 10
描述 0x59 0x59 Dist_L Dist_H Amp_L Amp_H Timestamp Check_sum

Dist:cm。

Amp:信号强度,小于 100 时测距结果不可靠,过曝时数值为 65535。

Timestamp:时间戳,小端格式,单位 ms。

5. ID0 输出

支持此协议的最低固件版本:V0.0.5。

字节 0 1 2 3 4 5 6 7-10 11
描述 0x5A Len 0x00 Dist_L Dist_H Amp_L Amp_H Timestamp Check_sum

Dist:cm。

Amp:信号强度,小于 100 时测距结果不可靠,过曝时数值为 65535。

Timestamp:时间戳,小端格式,单位 ms

6. 8 字节 cm 输出

支持此协议的最低固件版本:V0.0.5。

字节 0 1 2 3 4-7
描述 Dist_L Dist_H Amp_L Amp_H Timestamp

Dist:cm。

Amp:信号强度,小于 100 时测距结果不可靠,过曝时数值为 65535。

Timestamp:时间戳,小端格式,单位 ms。

7. 带设备 ID 输出

支持此协议的最低固件版本:V3.0.8。

字节 0 1 2 3 4 5 6 7-10 11 12
描述 0x5A 0x0D 0x00 Dist_L Dist_H Amp_L Amp_H Timestamp Dev_Id Check_sum

Dist:cm。

Amp:信号强度,小于 100 时测距结果不可靠,过曝时数值为 65535。

Timestamp:时间戳,小端格式,单位 ms。

Dev_Id:设备 ID,同 I2C 从机地址。

附录二串口通信软件协议

1. 获取版本号 ID_GET_VERSION=0x01

支持此协议的最低固件版本:V0.0.5。

下行:

字节 0 1 2 Len-1
描述 Head(0x5A) Len ID Check_sum

上行:

字节 0 1 2 3~5 Len-1
描述 Head(0x5A) Len ID Version Check_sum

Version: 例如,第 3、4、5 字节分别为 112、50、9,表示版本号 9.50.112。

举例: 指令 [5A 04 01 00]

2. 系统软件复位 ID_SOFT_RESET=0x02

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 Len-1
描述 Head(0x5A) Len ID Check_sum

上行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Status Check_sum

Status: 0(成功); 非 0(失败)。

说明:被修改但未执行“保存当前设置”操作的配置项,将被复原到初始状态。

举例: 指令 [5A 04 02 00]

3. 设置输出频率 ID_SAMPLE_FREQ=0x03

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3~4 Len-1
描述 Head(0x5A) Len ID Freq Check_sum
默认值 100

Freq: 工作频率,0(指令单次触发模式),>0(设定的工作频率)。

上行

字节 0 1 2 3~4 Len-1
描述 Head(0x5A) Len ID Freq Check_sum

Freq: 雷达实际实现的工作频率。

举例: 10Hz [5A 06 03 0A 00 00] 250Hz [5A 06 03 FA 00 00]

4. 单次触发指令 ID_SAMPLE_TRIG=0x04

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 Len-1
描述 Head(0x5A) Len ID Check_sum

上行数据帧举例: 指令 [5A 04 04 00]

5. 设置输出格式 ID_OUTPUT_FORMAT=0x05

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Format Check_sum
默认值 0x01

Format: 0x01(9 字节 cm 输出),0x02(PIX 输出),0x06(9 字节 mm 输出),0x07(带 32bit 时间戳),0x08(ID0 输出),0x09(8 字节 cm 输出),0x0A(带设备 ID 输出)。

上行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Format Check_sum

Format: 雷达实际配置成的输出格式。

举例: PIX 输出 [5A 05 05 02 00]

6. 设置串口波特率 ID_BAUD_RATE=0x06

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3~6 Len-1
描述 Head(0x5A) Len ID Baudrate Check_sum
默认值 115200

上行

字节 0 1 2 3~6 Len-1
描述 Head(0x5A) Len ID Baudrate Check_sum

Baudrate: 雷达实际配置成的串口波特率。

说明:可配置的波特率范围[9600,921600]。

举例: 9600 [5A 08 06 80 25 00 00 00] 19200 [5A 08 06 00 4B 00 00 00] 38400 [5A 08 06 00 96 00 00 00] 57600 [5A 08 06 00 E1 00 00 00] 115200 [5A 08 06 00 C2 01 00 00] 230400 [5A 08 06 00 84 03 00 00] 460800 [5A 08 06 00 08 07 00 00] 921600 [5A 08 06 00 10 0E 00 00]

7. 输出开关 ID_OUTPUT_EN=0x07

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Enable Check_sum
默认值 1

Enable: 0(输出不使能),1(输出使能)。

上行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Enable Check_sum

举例: 使能输出 [5A 05 07 01 00] 关闭输出 [5A 05 07 00 00]

8. 校验和开关 ID_FRAME_CHECKSUM_EN=0x08

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Enable Check_sum
默认值 0

Enable: 0(校验和不使能),1(校验和使能)。

说明:校验和不使能时,雷达不对下行数据帧的校验和做检查,上行数据帧中仍包含正确的校验和字节。

上行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Enable Check_sum

举例: 开启校验和 [5A 05 08 01 00] 关闭校验和 [5A 05 08 00 67]

9. 修改 I2C 从机地址 ID_I2C_SLAVE_ADDR=0x0B

支持此协议的最低固件版本:V1.0.0。

下行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID I2c_slave_addr Check_sum
默认值 0x10

I2c_slave_addr: 范围[0x08, 0x77]; 上行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID I2c_slave_addr Check_sum

举例: 修改为 0x20 [5A 05 0B 20 00]

10. 恢复出厂设置 ID_RESTORE_DEFAULT=0x10

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 Len-1
描述 Head(0x5A) Len ID Check_sum

上行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Status Check_sum

Status: 0(成功)非 0(失败)。

举例: 指令 [5A 04 10 00]

11. 保存当前设置 ID_SAVE_SETTINGS=0x11

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 Len-1
描述 Head(0x5A) Len ID Check_sum

上行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Status Check_sum

Status: 0(成功)非 0(失败)。

举例: 指令 [5A 04 11 00]

12. 读取生产条码 ID_READ_MANU_BIN=0x12

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 Len-1
描述 Head(0x5A) Len ID Check_sum

上行

字节 0 1 2 3-16 Len-1
描述 Head(0x5A) Len ID Bin Check_sum

Bin: 14 字节的生产条码。

举例: 指令 [5A 04 12 00] 反馈:U0900018010001,则第 3 到 16 字节依次为: 0x55 0x30 0x39 0x30 0x30 0x30 0x31 0x38 0x30 0x31 0x30 0x30 0x30 0x31

13. 获取完整版本号 ID_GET_FULL_VERSION=

0x14

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 Len-1
描述 Head(0x5A) Len ID Check_sum

上行

字节 0 1 2 3-10 11 12-19 20 21-22 23 24-25 26 27-28 Len-1
描述 Head(0x5A) Len ID 项目名称
( 右对齐)
‘.’ 分支名称
( 右对齐)
‘.’ 主版本号 ‘.’ 次版本号 ‘.’ 修正版本号 Check_sum

举例: 指令 [5A 04 14 00]

14. 设置 AMP 踢点阈值 ID_AMP_THRESHOLD=

0x22

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3 4-5 Len-1
描述 Head(0x5A) Len ID Amp_Threshold Dummy_Dist Check_sum
默认值 10 0

Amp_Threshold : AMP 踢点阈值为 Amp_Threshold * 10 , 低于该阈值 , 距离值输出为 Dummy_Dist。

Dummy_Dist:AMP 低于踢点阈值时输出的距离值,单位 cm。

上行

字节 0 1 2 3 4-5 Len-1
描述 Head(0x5A) Len ID Amp_Threshold Dummy_Dist Check_sum

举例: Amp 阈值为 300,Amp<300 时输出 500cm [5A 07 22 1E F4 01 00]

15. 单双频模式切换 ID_ DEALIAS_EN =0x29

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Enable Check_sum
默认值 1

Enable: 1(双频模式)0(单频模式)。

上行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Enable Check_sum

举例: 双频模式 [5A 05 29 01 00] 单频模式 [5A 05 29 00 00]

16. 时间戳同步 ID_TIMESTAMP_SYNC =0x31

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3-6 Len-1
描述 Head(0x5A) Len ID Std Check_sum
默认值 0

Std: 指定的当前时间戳举例: 指定当前时间为 1000ms [5A 08 31 E8 03 00 00 00]

17. 低功耗模式 ID_LOW_CONSUMPTION=0x35

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3-4 Len-1
描述 Head(0x5A) Len ID Sample_rate Check_sum
默认值 0

Sample_rate:工作频率,0(不使能低功耗模式),>0(使能低功耗模式)。

上行

字节 0 1 2 3-4 Len-1
描述 Head(0x5A) Len ID Sample_rate Check_sum

举例:低功耗模式 10Hz 输出 [5A 06 35 0A 00 00]

18. 滤波器配置 ID_FILTER_BIT_MAP=0x39

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Filter_bit_map Check_sum
默认值 0x03

Filter_bit_map: 滤波器使能控制,1 使能,0 不使能。

Bit0 - 卡尔曼滤波 Bit1 – 中值滤波上行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Filter_bit_map Check_sum

举例: 关闭滤波器 [5A 05 39 00 00] 开启滤波器 [5A 05 39 03 00]

19. 设置距离限制 ID_DIST_LIMIT=0x3A

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3-4 5-6 7 Len-1
描述 Head(0x5A) Len ID Dist_min Dist_max Silence Check_sum
默认值 0 900 0

Dist_min:输出的最小距离值,单位 cm Dist_max:输出的最大距离值,单位 cm Silence: 0(超出距离限制后,输出限制端点值),1(超出距离限制后不输出) 上行

字节 0 1 2 3-4 5-6 7 Len-1
描述 Head(0x5A) Len ID Dist_min Dist_max Silence Check_sum

举例: 最小输出距离 20cm,最大输出距离 500cm,超出距离限制后,输出限制端点值 [5A 09 3A 14 00 F4 01 00 00]

20. 设置开关量输出模式 ID_ON_ OFF_MODE=

0x3B

支持此协议的最低固件版本:V1.0.0。

下行

字节 0 1 2 3 4-5 6-7 8-9 10-11 Len-1
描述 Head(0x5A) Len ID Mode Dist Zone Delay1 Delay2 Check_sum
默认值 0 0 0 0 0

Mode:0(数据输出模式),1(开关量模式,近高远低),2(开关量模式,近低远高) Dist:临界值,滞回区间的近端点值,单位 cm Zone:滞回区间大小,单位 cm。

Delay1:防抖延时时间 1,单位 ms。当距离由远变近超过近端阈值,且保持 Delay1 ms 一直小于近端阈值,才切换电平。

Delay2:防抖延时时间 2,单位 ms。当距离由近变远超过远端阈值,且保持 Delay2 ms 一直大于远端阈值,才切换电平。

举例: 近高远低,Dist=200cm,Zone=10cm,Delay1=Delay2=1000ms [5A 0D 3B 01 C8 00 0A 00 E8 03 E8 03 00]

21. 读取指定的雷达配置 ID_GET_CONFIG_PARA=

0x3F

支持此协议的最低固件版本:V0.0.5。

下行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Id Check_sum

Id: 对应此文档 ID 定义。

上行:相应 ID 指令帧的上行格式。

举例: 读取输出频率 [5A 05 3F 03 00]

22. 超低功耗模式 ID_ ULTRA_LOW_POWER_

MODE = 0x58

支持此协议的最低固件版本:V3.0.7。

下行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Enable Check_sum

Enable:1(使能),0(不使能) 上行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Enable Check_sum

举例: 进入超低功耗模式 [5A 05 58 01 00] 退出超低功耗模式 [5A 05 58 00 00],由于超低功耗模式下存在唤醒时间,退出指令需要多发送几次,如 [5A 05 58 00 00 5A 05 58 00 00 5A 05 58 00 00 5A 05 58 00 00 5A 05 58 00 00]。

23. 频率校准 ID_FREQ_CNT_CALIB=0x59

支持此协议的最低固件版本:V3.0.7。

下行

字节 0 1 2 3 Len-1
描述 Head(0x5A) Len ID Cmd Check_sum

Cmd:1(执行频率校准,耗时约 2 秒),2(读取频率校准参数) 上行

字节 0 1 2 3-4 Len-1
描述 Head(0x5A) Len ID Calib_freq_cnt Check_sum

Calib_freq_cnt:频率校准参数,非 0 值表示校准完成举例: 执行频率校准 [5A 05 59 01 00] 读取频率校准参数 [5A 05 59 02 00]

附录三 I2C 寄存器列表

Address R/W Name Initial
Value
Description
0x00 R DIST_LOW -- cm
0x01 R DIST_HIGH --
0x02 R AMP_LOW --
0x03 R AMP_HIGH --
0x04 R TEMP_LOW -- 0.01 摄氏度
0x05 R TEMP_HIGH --
0x06 R TICK_LOW -- 时间戳
0x07 R TICK_HIGH --
0x08 R ERROR_LOW -- 错误状态码
0x09 R ERROR_HIGH --
0x0A R VERSION_REVISION -- 修订版本
0x0B R VERSION_MINOR -- 次版本
0x0C R VERSION_MAJOR -- 主版本
0x0D-0x0F -- 保留
0x10-0x1D R SN -- 生产编码,ASCII 码,14 字节,0x10
存放第一个字节
0x1E -- 保留
0x1F W ULTRA_LOW_POWER -- 0x00: 标准模式
0x01: 超低功耗模式
0x20 W SAVE -- 写 0x01: 保存当前寄存器值
0x21 W SHUTDOWN/REBOOT -- 写 0x02: 重启
0x22 W/R SLAVE_ADDR 0x10 范围: [0x08, 0x77]
0x23 W/R MODE 0x00 0x00: 连续工作模式
0x01: 指令触发模式
0x24 W TRIG_ONE_SHOT -- 0x01: 触发一次测距,仅指令触发模式下有效
0x25 W/R ENABLE 0x01 0x00: 雷达关闭
0x01: 雷达开启
0x26 W/R FPS_LOW 0x64 帧率
0x27 W/R FPS_HIGH 0x00
0x28 W/R LOW_POWER 0x00 0x00: 标准模式
0x01: 低功耗模式
0x29 W RESTORE_FACTORY_DEFAULTS -- 写 0x01: 恢复出厂寄存器值
0x2A W/R AMP_THR_LOW 0x64 AMP 阈值,AMP 低于阈值后,距离固定为 DUMMY_DIST
0x2B W/R AMP_THR_HIGH 0x00
0x2C W/R DUMMY_DIST_LOW 0x00 当 AMP 低于 AMP_THR 输出的距离值,cm
0x2D W/R DUMMY_DIST_HIGH 0x00
0x2E W/R MIN_DIST_LOW 0x00 最小距离值,mm,DUMMY_DIST 不受该限制
0x2F W/R MIN_DIST_HIGH 0x00
0x30 W/R MAX_DIST_LOW 0x20 最大距离值,mm,DUMMY_DIST 不受该限制
0x31 W/R MAX_DIST_HIGH 0x03
0x32-0x3B -- 保留
0x3C-0x3F R SIGNATURE -- ‘L’ ’U’ ‘N’ ‘A’

产品咨询

咨询产品方案

留下需求,我们会尽快与您联系。

产品咨询

提交成功

已收到您的询盘,我们会尽快与您联系。