# TF-Luna 用户手册

## TF- L una 用户手册

![TF-Luna 用户手册 — 原文第 1 页图示 1](https://ai.benewake.com/uploads/images/43f5759f-3777-4608-84b3-3db146912086.png)

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](https://ai.benewake.com/uploads/images/99a076d6-c89c-4564-908d-a929cf33eed9.png)

图 1-1 探测两个距离不一的物体

## 2 接口定义

### 2.1 线序说明

![TF-Luna 用户手册 — 原文第 6 页图示 1](https://ai.benewake.com/uploads/images/5f4a60c6-1077-4c3a-bd0d-79a1ddabd388.png)

图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](https://ai.benewake.com/uploads/images/2e63c2a7-d9a5-45c0-89e9-578c31b18b33.png)

图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](https://ai.benewake.com/uploads/images/acc6ac54-71e3-4d49-b944-c27d663012ec.png)

图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](https://ai.benewake.com/uploads/images/23490ea5-5626-4868-8263-630c0b289c94.png)

图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](https://ai.benewake.com/uploads/images/b6fdd47c-9f46-4d5c-af55-d7dc99f7dea9.png)

图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](https://ai.benewake.com/uploads/images/782ee45b-48b1-440d-b11e-ae532ab3aaf0.png) |  ![TF-Luna 用户手册 — 原文第 14 页图示 3](https://ai.benewake.com/uploads/images/75df30bf-4e18-4224-a0d3-19c443e04167.png) |  ![TF-Luna 用户手册 — 原文第 14 页图示 4](https://ai.benewake.com/uploads/images/29d30f34-ac54-4379-8264-822851a94709.png) |  ![TF-Luna 用户手册 — 原文第 14 页图示 5](https://ai.benewake.com/uploads/images/ff363c60-b823-4f6b-b459-09a6863c5206.png) |  ![TF-Luna 用户手册 — 原文第 14 页图示 6](https://ai.benewake.com/uploads/images/20ee6cfe-faa2-44d2-a65a-b6bacb7c50bd.png) |  ![TF-Luna 用户手册 — 原文第 14 页图示 7](https://ai.benewake.com/uploads/images/1e0ed83f-500a-408d-8fcf-c52955be780e.png) |
| --- | --- | --- | --- | --- | --- |
| TF-Luna | 数据线 | TTL - USB 板 | USB 线 | 电脑 | 上位机软件 |

### 4.2 测试步骤

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

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

(2) 设备连接

![TF-Luna 用户手册 — 原文第 14 页图示 1](https://ai.benewake.com/uploads/images/28b4e285-9cf5-41c2-aaa7-91acc58365b6.png)

图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](https://ai.benewake.com/uploads/images/37856cf1-c6bc-42dd-9dc7-aa69988f4aed.png)

图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](https://ai.benewake.com/uploads/images/2d553a1f-4483-4f4b-977b-68139a0f949b.png)

图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’ |
