[具身智能-697]:ROS 2 传感器感知功能包:laser_filters - 激光测距的主要芯片与原理图
短距低成本(≤4m):直接用全集成芯片,原理图极简中距工业(≤40m),稳定性强长距高精度(≥100m)APD + 高压偏置 + 多脉冲 TDC + FPGA。
·
激光测距(单点 ToF / 相位 / 三角法)的核心芯片高度模块化,主流方案分为:
全集成 ToF 单芯片(消费 / 短距)和 分立方案(LD+APD+TIA+TDC+MCU)(工业 / 长距)。
下面按芯片类型、典型型号、核心原理图与电路拆解详细说明。
一、主流激光测距核心芯片分类
1. 全集成 ToF 测距芯片(SOC,最常用)
特点:VCSEL 激光发射 + SPAD/PD 接收 + 信号处理 + 计算一体化,外围极简。


2. 分立方案核心芯片(工业 / 长距)
(1) 激光发射驱动
- LD 驱动:TPIC1506、AD8232、分立 MOS 高速脉冲驱动
- VCSEL 驱动:ST VL53L0X 内置;外置:ADL5303、SGM3157
(2) 光电探测器
- PD(光电二极管):PIN 型(S5971、BPX65),低成本
- APD(雪崩光电二极管):AD280-8、KAPD-1501(高灵敏度、需高压偏置)
- SPAD/SiPM:单光子级(如 SensL J-series、国产矽印 R5001)
(3) 前端信号调理
- TIA(跨阻放大器):OPA657、AD8015、TL082、INA2134(电流→电压)
- VGA(可变增益):ADL5206、THS770006
- 比较器:LMV7219、ADCMP561(高速时刻鉴别)
(4) 时间数字转换器 TDC(脉冲 ToF 核心)
- TI TDC7201/TDC7200:单 / 双通道,ps 级分辨率
- AMS TDC-GP22:多通道,高精度
- 国产 TDC2K8S:多脉冲测距专用
(5) 主控 MCU
- STM32F1/F4/G0:时序控制、计算、通信
- ESP32:带 Wi-Fi / 蓝牙
- FPGA:Xilinx Spartan-6、Lattice iCE40(高速多通道)
二、典型激光测距系统原理框图
1. 脉冲 ToF 分立方案(通用)

- 发射单元:MCU → 驱动 → 激光二极管(LD/VCSEL)→ 发射脉冲
- 接收单元:光学系统 → APD/PD → TIA → 滤波 → 比较器 → TDC
- 控制计算:MCU 控制时序、读取 TDC(相位差时间)、计算距离
d = c × t / 2 - 接口:UART/RS485/I2C 输出
2. 相位式测距框图(高精度手持)

激光强度调制(MHz 级)→ 回波相位差 → FFT 鉴相 → 距离计算
三、经典原理图与电路详解
1. VL53L0X 最小系统(全集成)
最简外围:

- 引脚
- VIN(5V/3.3V)、GND
- SDA/SCL(I2C)
- XSHUT(复位 / 关断)
- GPIO1(数据就绪中断)
- 典型应用电路
plaintext
VIN ──┬─── C1(0.1μF) ── GND
│
└── VL53L0X VIN
SDA ── MCU PB7
SCL ── MCU PB6
XSHUT ── MCU PC6 (控制)
GPIO1 ── MCU PC5 (中断)
GND ── GND
2. 分立脉冲 ToF 原理图(北醒 TFmini 类)
(1) 激光发射驱动
plaintext
+5V
│
Q1(PMOS) ┌─────────────┐
MCU PWM ──┬──R1───┤ LD Driver │
│ └───────┬───────┘
R2 │
│ │
GND LD(905nm) ──┬── GND
- 高速 PWM(100kHz+)控制脉冲发射
- 电容 C 储能,提供瞬时大电流
(2) APD 接收与前端放大
- APD 偏置:升压芯片(如 LM2731)产生 80–150V 高压
- TIA 跨阻放大:
plaintext
APD ──┬── Rf(10k–100k) ──┬── OUT
│ │
└── IN- 运放(OPA657)
IN+ ── GND
- 后级:二阶带通滤波(剔除环境光干扰)→ 高速比较器 → TDC
(3) TDC + MCU 接口
plaintext
TDC(TDC7201)
START ── 发射同步脉冲
STOP ── 回波比较器
SPI ──┬── SCK
├── MOSI
├── MISO
└── CS ── MCU
四、芯片方案对比(选型指南)
表格
| 方案 | 代表芯片 | 量程 | 精度 | 接口 | 成本 | 适用 |
|---|---|---|---|---|---|---|
| 全集成 ToF | VL53L0X/L1X | 0–4m | ±1–3% | I2C | 低 | 消费、无人机、手机 |
| 分立短距 | PD+TIA+STM32 | 0–15m | ±1–2cm | UART/RS485 | 中 | 工业避障 |
| 分立长距 | APD+TDC7201 | 10–200m | ±1cm–±5cm | RS485/CAN | 高 | 测绘、安防 |
| 多区域 ToF | VL53L8CH | 0–4m | ±2cm | I2C | 中高 | 多目标、AI 深度 |
五、设计要点(原理图关键)
- 电源
- 模拟 / 数字分开供电,LDO 滤波(如 AMS1117-3.3)
- APD 高压:低纹波、EMI 屏蔽
- 信号完整性
- TIA 输入端短、屏蔽、地平面分割
- 高速线(TDC、激光驱动)阻抗匹配、减少过孔
- 光学
- 发射 / 接收透镜同轴或夹角设计
- 窄带滤光片(905/940nm)抑制环境光
- 激光安全
- 必须 Class 1(IEC 60825),功率 < 1mW
- 过流保护、异常关断
六、代码示例(STM32 读取 VL53L0X)
c
运行
#include "vl53l0x_api.h"
VL53L0X_Dev_t dev;
VL53L0X_RangingMeasurementData_t data;
void VL53L0X_Init(void) {
dev.I2cHandle = &hi2c1;
dev.I2cDevAddr = 0x52;
VL53L0X_DataInit(&dev);
VL53L0X_StaticInit(&dev);
VL53L0X_SetDeviceMode(&dev, VL53L0X_DEVICEMODE_CONTINUOUS_RANGING);
VL53L0X_StartMeasurement(&dev);
}
void VL53L0X_Read(void) {
VL53L0X_GetRangingMeasurementData(&dev, &data);
if(data.RangeStatus == 0) {
uint16_t dist_mm = data.RangeMilliMeter;
printf("Distance: %d mm\n", dist_mm);
}
VL53L0X_ClearInterruptMask(&dev, VL53L0X_REG_SYSTEM_INTERRUPT_GPIO_NEW_SAMPLE_READY);
}
七、总结
- 短距低成本(≤4m):直接用 VL53L0X/L1X 全集成芯片,原理图极简
- 中距工业(≤40m):PD/APD + TIA + TDC7201 + STM32,稳定性强
- 长距高精度(≥100m):APD + 高压偏置 + 多脉冲 TDC + FPGA
更多推荐




所有评论(0)