一 安装软件
1 安装 clude code
先安装node-v24.18.0-x64,在指令工具里输入
npm install -g @anthropic-ai/claude-code开始安装。
输入
claude --version
可以看到有clude code 的版本,说明安装成功。

2 安装 cc switch
添加deepseek,在deep编辑这里填上在deepseek这里创建的API Key,需要充钱才能用。


3 vs code 配置
在vs code里面添加cluade code 插件

二 使用体验
1 创建一个电阻分压的工具
通过几次对话就能生成一个电阻分压的工具,格式为HTML
- 帮我设计一个电阻分压网络的工具。由于需求不够具体,AI在回答时会询问一些问题。
- 然后就生成了工具,都是文字描述,可以指挥它增加分压电路示意图。
- 生成的示意图界面很不合理,指挥它调整就可以。

这个过程的deepseek费用

2 设计一个硬件产品
32线机械激光雷达 --- VCSEL + SiPM + FPGA 架构
2.1 核心器件映射
| 子系统 | 选型 | 来源 |
|---|---|---|
| 激光发射 | 905nm / 940nm 多结 VCSEL,45W 峰值 | 单通道或多通道阵列 |
| 光电探测器 | 灵明光子 SiPM / SPAD 阵列 | 国产 |
| 时间测量 | FPGA 进位链 TDC | --- |
| 阈值比较 | FPGA 内部 LVDS 比较器 | --- |
2.2 单通道信号链路(先把这个理清)
┌──────────────────────────────────────────────────────────────────────┐
│ 单通道信号流 │
│ │
│ [FPGA] [模拟前端] [光学+光电] │
│ ┌──────────┐ ┌─────────────┐ ┌──────────────┐ │
│ │ 脉冲发生器 │── LVDS ──▶│ VCSEL Driver │───────▶│ VCSEL (45W) │ │
│ │ (OSERDES) │ │ GaN FET 驱动 │ │ λ=905nm │ │
│ └──────────┘ └─────────────┘ │ 5ns 脉宽 │ │
│ └──────┬───────┘ │
│ ┌──────────┐ │ 发射光学 │
│ │ START │◀──────── 内部回环 ─────────────────────── │ 准直+扩束 │
│ │ TDC Ch │ └────────────┘ │
│ │ │ │
│ │ ┌────┐ │ ┌──────────────┐ ┌──────────────┐ │
│ │ │进位│◀─│── LVDS 比较器◀│ RF 增益级 │◀───────│ SiPM │ │
│ │ │链 │ │ (IBUFDS) │ BGA2818 32dB │ │ 灵明光子 │ │
│ │ │TDC │ │ + VREF DAC │ 50Ω匹配 │ │ Vbias ~28V │ │
│ │ └────┘ │ └──────────────┘ │ 50Ω负载 │ │
│ │ STOP │ └──────┬───────┘ │
│ └──────────┘ │ 接收光学 │
│ ┌──────┴───────┐ │
│ ┌──────────┐ │ 窄带滤光片 │ │
│ │ 直方图 │ │ 905nm, BW 5nm│ │
│ │ 累加器 │ │ (VCSEL谱宽窄) │ │
│ └──────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────────────┘
关于 FPGA 比较器的关键讨论 :你提到用 FPGA 内部资源做比较器------这在技术上是可行的(使用 LVDS 输入缓冲器 IBUFDS/IBUFGDS,通过调节 VREF 作为比较阈值),但前提是前级信号幅度必须足够大。SiPM 输出到 50Ω 负载的电压幅度需要 > 100mV(FPGA LVDS 典型灵敏度)。这就是为什么中间要加一级 RF 增益块------它不负责"比较",只负责把 SiPM 的微弱脉冲(几mV~几十mV)放大到 FPGA 能可靠识别的电平。
2.3 VCSEL 发射链路
器件参数
| 参数 | 值 | 说明 |
|---|---|---|
| 峰值功率 | 45W | 多结 VCSEL |
| 波长 | 905nm 或 940nm | 905nm 更通用 |
| 光谱宽度 | < 1nm (FWHM) | VCSEL 天然窄谱,这是巨大优势 |
| 发光区直径 | ~150-300μm | 多发射孔并行 |
| 发散角 | ~20° (1/e²) | 比 EEL 大,需要更复杂准直 |
| 脉宽 | 3-5ns | 占空比极低 |
| 上升沿 | < 1ns | 影响测距精度 |
2.4 VCSEL 驱动电路
V_PULSE (30-40V)
│
┌─────┴─────┐
│ 储能电容 │ 100nF + 10nF 并联
│ low ESL │
└─────┬─────┘
│
FPGA Pulse ──▶ GaN FET Driver ──▶ GaN FET ──┬──▶ VCSEL
(LVDS 3.3V) (LMG1020 等) (EPC2001) │
▼
GND
| 元件 | 推荐型号 | 关键指标 |
|---|---|---|
| GaN FET | EPC2001C / EPC2212 | 100V, 门极电荷 < 1nC, 亚纳秒开关 |
| Gate Driver | LMG1020 | 60ps 传播延迟, 7A 峰值驱动 |
| 储能电容 | TDK C0G + X7R 并联 | 低 ESL, 40V 耐压 |
| 电流采样 | 串联 50mΩ 采样电阻 | 监控出光功率 |
2.5 VCSEL 阵列布局
┌─────────────────────────────────────────┐
│ VCSEL 芯片阵列 (1×32 或 4×8 排布) │
│ │
│ Ch1 ● +15.0° │
│ Ch2 ● +13.5° │
│ ... ● ... │
│ Ch16 ● +0.5° │
│ Ch17 ● -0.5° ← 近地面加密 │
│ ... ● ... │
│ Ch32 ● -15.0° │
│ │
│ 间距: 0.8-1.0mm (由 FOV 要求决定) │
│ 总长: ~30mm │
└─────────────────────────────────────────┘
2.6 SiPM 接收链路(灵明光子)
SiPM 特性参数
| 参数 | 典型值 | 说明 |
|---|---|---|
| 微元数量 | ~400-4000/mm² | 决定动态范围 |
| 增益 | ~10⁵ - 10⁶ | 远超 APD,单光子可检测 |
| PDE @ 905nm | 8% - 15% | 905nm 是 SiPM 的"软肋"但够用 |
| 偏置电压 | 26-32V | 远低于 APD 的 120-200V! |
| 暗计数率 | 100-500 kHz/mm² | 需要直方图滤波 |
| 上升时间 | 1-3ns | 受封装寄生参数影响 |
| 恢复时间 | 10-50ns | 微元淬灭+恢复时间 |
| 串扰概率 | 5-15% | 需在阈值和直方图处理中考虑 |
2.7 SiPM 偏置与读出电路
V_bias (28V, 低噪声)
│
┌──────────┴──────────┐
│ R_quench (分立/集成) │
│ ~100-300kΩ │
└──────────┬──────────┘
│
┌──────────┴──────────┐
│ SiPM 芯片 │
│ 灵明光子 8ch×4 │
└──────────┬──────────┘
│
─┴─ 阳极
│
┌──────────┴──────────┐
│ 50Ω 负载电阻到地 │ ← 电流→电压转换
└──────────┬──────────┘
│
┌──────────┴──────────┐
│ AC 耦合电容 1nF │ ← 隔离偏压 DC
└──────────┬──────────┘
│
┌──────────┴──────────┐
│ RF 增益级 32dB │ ← 信号放大
│ BGA2818 / BGA2866 │
└──────────┬──────────┘
│
─┴─→ FPGA LVDS_IN_P (差分对)
─┬─→ FPGA LVDS_IN_N (VREF/2)
│
▼
FPGA IBUFDS 比较器
2.8 信号幅度估算(LiDAR 回波)
这个计算是设计模拟前端的核心依据:
LiDAR 方程(简化的):
P_rx = P_tx × ρ × A_rx / (π × R²) × η_optics × η_atm
其中:
P_tx = 45W (峰值)
ρ = 0.2 (草地反射率 20%)
A_rx = π × (10mm)² = 3.14×10⁻⁴ m² (接收口径 φ20mm)
R = 30m (最大距离)
η_optics = 0.7
η_atm = 0.95
P_rx @ 30m = 45 × 0.2 × 3.14×10⁻⁴ / (π × 900) × 0.7 × 0.95
≈ 45 × 0.2 × 3.14×10⁻⁴ / 2827 × 0.67
≈ 0.67 μW
每个光子能量 @ 905nm:
E_ph = hc/λ = 6.63×10⁻³⁴ × 3×10⁸ / 905×10⁻⁹ = 2.2×10⁻¹⁹ J
回波光子数 (5ns脉冲内):
N_ph = P_rx × 5ns / E_ph = 0.67×10⁻⁶ × 5×10⁻⁹ / 2.2×10⁻¹⁹ ≈ 15,200 photons
SiPM PDE = 10% → ~1,520 光子被检测
SiPM 增益 = 10⁶
输出电荷 = 1520 × 10⁶ × 1.6×10⁻¹⁹ = 2.4×10⁻¹⁰ C
脉冲宽度 ≈ 5ns
输出电流峰值 ≈ 2.4×10⁻¹⁰ / 5×10⁻⁹ = 48mA
50Ω 负载电压 = 48mA × 50Ω = 2.4V !!! ← 远超 FPGA LVDS 灵敏度
| 距离 | 回波电压(50Ω) | 经32dB放大后 | FPGA 比较 | 说明 |
|---|---|---|---|---|
| 1m | ~2V (SiPM饱和!) | 饱和 | ✓ 但需衰减 | SiPM微元数需足够 |
| 5m | ~200mV | >2V | ✓✓ | 正常 |
| 10m | ~50mV | ~2V | ✓✓ | 正常 |
| 30m | ~2.4mV | ~100mV | ✓ 临界 | 需直方图辅助 |
| 40m | ~1mV | ~40mV | ⚠ 噪声边缘 | 依赖直方图积累 |
结论:32dB 增益级可以满足大部分场景,30m 以上依赖多脉冲直方图积累。同时近距 SiPM 会饱和------这需要合理设计 SiPM 微元数量(≥2000个/通道)来保证动态范围。
2.9 FPGA 内部比较器设计
2.9.1 LVDS 比较器原理
┌──────────────────────────────────┐
│ FPGA I/O Bank │
│ │
Signal ───│─▶ LVDS_IN_P ┌─────────────────┐ │
│ │ IBUFDS / │ │
│ │ IBUFDS_DIFF_OUT │─│──▶ 内部逻辑
VREF ─────│─▶ LVDS_IN_N │ (差分比较器) │ │ (STOP信号)
│ │ V_CM = 1.2V │ │
│ │ V_IDIFF ≥ ±100mV│ │
│ └─────────────────┘ │
│ │
│ ┌──────────────┐ │
│ │ VREF 源 │ 外接 DAC 或 │
│ │ (INTERNAL_VREF│ FPGA 内部 VREF │
│ │ 或外部DAC) │ │
│ └──────────────┘ │
└──────────────────────────────────┘
2.9.2 动态阈值策略
割草场景下光线变化剧烈(从树荫到烈日),固定阈值无法工作:
┌─────────────────────────────────────────────┐
│ 自适应阈值方案 │
│ │
│ 发射脉冲前 ──▶ ADC 采样背景光 ──▶ 设定阈值 │
│ │ │
│ 阈值 = 背景RMS × 5 + 最小偏置 │
│ │ │
│ ┌────────┴────────┐ │
│ │ FPGA 内部 DAC │ │
│ │ → VREF 管脚 │ │
│ │ 或 SPI 外置DAC │ │
│ └─────────────────┘ │
└─────────────────────────────────────────────┘
- 方案一 :Xilinx 7 系列 INTERNAL_VREF,只能设固定值(不够灵活),不推荐用于 LiDAR
- 方案二(推荐):外置多通道 DAC(如 AD5648, 8ch),FPGA 通过 SPI 实时调节每通道比较阈值
- 方案三:背景光 ADC 采样 → 数字比较器 → 阈值在数字域动态计算(延迟大,不推荐用于 TDC STOP 信号)
2.9.3 关键约束
FPGA LVDS 输入端作为比较器使用时需要注意:
| 项目 | 限制 | 对策 |
|---|---|---|
| 共模电压 | 需要偏置到 LVDS 共模范围 (0.3V-2.2V) | RF 放大器输出已偏置在 ~1.5V |
| 最小摆幅 | ±100mV (典型) | 32dB 增益保证远距回波 >100mV |
| 迟滞 | 无内部迟滞 | 在模拟前端加少量正反馈,或数字域去抖动 |
| 传播延迟 | ~1-2ns (固定) | 所有通道等长布线,标定时统一校准 |
| 温度漂移 | ~5mV/°C | 定期背景光标定 + 温度传感器补偿 |
| 通道间 skew | < 200ps (同 bank) | TDC 标定时测量各通道偏移量并补偿 |
3.0 FPGA 进位链 TDC 实现
3.0.1 架构
┌───┐ ┌───┐ ┌───┐ ┌───┐
START ──▶ 粗计数器 ──▶ │C0 │──▶│C1 │──▶│C2 │──▶│... │──▶ C_N
(200MHz) │D0 │ │D1 │ │D2 │ │ │
└───┘ └───┘ └───┘ └───┘
进位链 (CARRY4)
STOP ──▶ 采样锁存 ──▶ 温度计码 → 二进制 → 细时间
ToF = 粗计数 × 5ns + 细时间 × ~40ps
3.0.2 关键实现细节
// Xilinx 7 系列 CARRY4 进位链 TDC(概念示意)
// 一个 CARRY4 提供 4 个延迟单元,每单元 ~40-50ps
// 32通道 × 200级/通道 = 6400 级
// 需要 6400/4 = 1600 个 CARRY4 → ~3200 LUT (含编码器)
// 资源估算
┌─────────────────────┬─────────┬──────────┐
│ 模块 │ LUT │ FF │
├─────────────────────┼─────────┼──────────┤
│ 进位链 (32ch×200级) │ 2,400 │ 6,400 │
│ 温度码→二进制编码器 │ 1,600 │ 1,600 │
│ 粗计数器 (32×16bit) │ 96 │ 512 │
│ 校准 LUT │ 512 │ 512 │
│ 直方图 BRAM (32×256)│ - │ - │
│ 点云打包 │ 1,200 │ 1,200 │
│ 高速串行发送 │ 300 │ 400 │
├─────────────────────┼─────────┼──────────┤
│ 合计 │ ~6,000 │~10,600 │
└─────────────────────┴─────────┴──────────┘
3.0.3 TDC 校准
进位链每个单元的延迟不是均匀的(PVT 变化),必须校准:
校准方法:码密度测试 (Code Density Test)
输入: 与系统时钟异步的随机脉冲
原理: 随机脉冲落在每个 bin 的概率 ∝ bin 的延迟宽度
统计足够多事件后,每个 bin 的计数 ∝ 该 bin 的延迟
伪代码:
for i in 1..N_events:
tdc_code = tdc_sample(async_signal)
histogram[tdc_code] += 1
for i in 0..N_bins:
bin_width_ns[i] = histogram[i] / total_events × clock_period
实际时间 = Σ bin_width_ns[0..tdc_code]
触发源选择:
- 晶体振荡器分频 (不相关时钟)
- 或 SiPM 暗计数脉冲本身 (免费校准源!)
利用 SiPM 暗计数做在线校准------这是 SiPM 方案的一个巧妙优势:暗计数脉冲的时间分布是真正随机的(泊松过程),天然适合码密度校准,可以做到实时在线校准,补偿温度漂移。
3.1 VCSEL 光学设计
3.1.1 发射光学链
VCSEL 发散角大(~20°),这是相对 EEL 的主要劣势,需要更复杂的光学:
方案一: 微透镜阵列 (推荐)
┌─────────────────────────────────────────────┐
│ VCSEL 阵列 (32ch, 间距 0.9mm) │
│ ● ● ● ● ● ● ... ● ● ● ● │
│ │ │ │ │ │ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ 微透镜阵列 (MLA, 32ch) │ │
│ │ 单个透镜 φ0.9mm, f~2mm, NA~0.2 │ │
│ │ 压缩发散角: 20° → ~2° │ │
│ └─────────────────────────────────────┘ │
│ │ │ │ │ │ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ 柱面镜 (可选) 垂直FOV精细调整 │ │
│ └─────────────────────────────────────┘ │
│ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ 保护窗口 (镀 AR 膜 @ 905nm) │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
方案二: 单透镜准直 + DOE 分束 (备选)
一个大透镜准直整个 VCSEL 阵列 → DOE 分束成 32 个方向
优点: 装配简单
缺点: DOE 定制成本高,效率损失 ~20%
3.1.2 接收光学链
┌─────────────────────────────────────────────┐
│ 接收窗口 φ20mm (更大口径补偿 SiPM PDE 偏低) │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ 非球面聚焦透镜 f=25mm, F/1.25 │ │
│ └─────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ 窄带滤光片 │ │
│ │ CWL=905nm, BW=3-5nm (利用VCSEL窄谱)│ │
│ │ OD6 @ 可见光+近红外 │ │
│ │ AOI=0°, 温漂 <0.01nm/°C │ │
│ └─────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ 微透镜阵列 (可选) │ │
│ │ 将光聚焦到各 SiPM 感光区 │ │
│ └─────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ 灵明光子 SiPM 阵列 (4×8 或定制) │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
3.1.3 滤光片带宽的优化
VCSEL 光谱宽度 < 1nm,这是相对 EEL(~4nm)的显著优势:
| 激光源 | 光谱 FWHM | 可用滤光片 BW | 太阳光抑制比 |
|---|---|---|---|
| EEL | 4nm | 10nm | ~1× (基准) |
| VCSEL | < 1nm | 3-5nm | 2-3× 更好 |
更窄的滤光片意味着更低的背景光噪声 → SiPM 暗计数触发更少 → 更远探测距离(户外场景下这是关键指标)。
3.2 直方图与多回波处理
3.2.1 为什么需要直方图
SiPM 的高灵敏度意味着它不仅看到激光回波,还能看到太阳光背景光子。单次测量可能被噪声光子触发,因此需要多次测量做直方图统计找出真正的回波峰。
每个像素每帧积累 50-100 次发射:
┌──────────┐
发射1: 噪声 噪声 噪声 噪声 噪声 │ 信号 ✗ │
发射2: 噪声 噪声 噪声 噪声 │ 信号 ✓ │
... │ │
发射50: 噪声 噪声 噪声 噪声 │ 信号 ✓ │
└──────────┘
直方图累加
▼
计数
↑ ┌─┐
│ 噪声 │ │ ┌─┐ 信号峰
│ ┌─┐ │ │ ┌─┐ ┌─┐ │ │ ┌─┐
│ │ │ │ │ │ │ │ │ │ │ │ │ ┌─┐
│──│─│─│─│─│─│─│─│─│─│──│─│──│─│──▶ ToF
│ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘
│ 噪声基线 ← 回波峰 →
峰值检测 → 首回波 (草叶) + 末回波 (地面)
3.2.2 每通道积累次数计算
| 转速 | 角分辨率 | 每点可用时间 | 单次发射周期 | 最大积累次数 |
|---|---|---|---|---|
| 600rpm (10Hz) | 0.2° | 55.6μs | ~2μs (150m 往返) | ~25次 |
| 1200rpm (20Hz) | 0.2° | 27.8μs | ~2μs | ~12次 |
| 600rpm (10Hz) | 0.5° | 139μs | ~2μs | ~60次 |
3.2.3 FPGA 直方图实现
┌─────────────────────────────────────────────────────┐
│ 直方图引擎 (每通道) │
│ │
│ TDC CODE ──▶ 地址译码 ──▶ BRAM (256深度×16bit) │
│ │ │
│ ├──▶ 读计数 │
│ ├──▶ +1 │
│ └──▶ 写回 │
│ │
│ 一轮积累完成后: │
│ ├──▶ 峰值检测 (滑动窗, 阈值=均值+3σ) │
│ ├──▶ 首峰 = 首回波 ToF │
│ ├──▶ 末峰 = 末回波 ToF (地面) │
│ └──▶ 清空 BRAM,开始下一轮 │
│ │
│ 资源: 32ch × 256×16bit = 128 Kbit BRAM │
└─────────────────────────────────────────────────────┘
3.3 修正后的系统框图
┌═══════════════════════════════════════════════════════════════════════╗
║ 旋转部分 (600-1200rpm) ║
║ ║
║ ┌──────────────────┐ ┌──────────────────┐ ║
║ │ VCSEL Array 1×32 │ │ SiPM Array 4×8 │ ║
║ │ 45W/ch, 905nm │ │ 灵明光子 │ ║
║ │ + MLA 微透镜阵列 │ │ + 窄带滤光片3-5nm │ ║
║ └────────┬─────────┘ └────────┬─────────┘ ║
║ │ │ ║
║ ┌────────┴─────────┐ ┌────────┴─────────┐ ║
║ │ 32ch GaN Driver │ │ 32ch RF 增益级 │ ║
║ │ (脉冲成形) │ │ BGA2818 ×16 │ ║
║ └────────┬─────────┘ └────────┬─────────┘ ║
║ │ │ ║
║ ┌────────┴─────────────────────────┴─────────┐ ║
║ │ FPGA (转子) XC7A35T │ ║
║ │ ┌─────────────────────────────────────┐ │ ║
║ │ │ 32× 脉冲发生器 (OSERDES) │ │ ║
║ │ │ 32× LVDS 比较器 (IBUFDS) + VREF DAC │ │ ║
║ │ │ 32× 进位链 TDC (CARRY4, ~40ps LSB) │ │ ║
║ │ │ 32× 直方图引擎 (BRAM, 256bin×16bit) │ │ ║
║ │ │ 点云打包 + GTX 串行发送 │ │ ║
║ │ └─────────────────────────────────────┘ │ ║
║ └──────────────────────┬──────────────────────┘ ║
║ │ ║
║ ┌────────────┴────────────┐ ║
║ │ 角度编码器 (AS5048A) │ ║
║ └─────────────────────────┘ ║
║ │ ║
║ ┌────────────┴────────────┐ ║
║ │ 光通信收发 (1Gbps) │ ← 非接触 ║
║ │ + 感应供电接收线圈 │ ║
║ └─────────────────────────┘ ║
╚═════════════════════════════╤═══════════════════════════════════════════╝
│
╔════════════════╧════════════════╗
║ 光通信 + 感应供电耦合面 ║
╚════════════════╤════════════════╝
│
┌═════════════════════════════╤═══════════════════════════════════════════┐
║ 静止部分 (定子) ║
║ ║
║ ┌─────────────────────────┴─────────────────────────┐ ║
║ │ FPGA/SoC (定子) XC7A100T + MCU │ ║
║ │ ┌───────────────────────────────────────────────┐ │ ║
║ │ │ 点云解包 → 校准 (距离/角度/强度) │ │ ║
║ │ │ → 坐标系转换 → 滤波 → Ethernet 打包 │ │ ║
║ │ └───────────────────────────────────────────────┘ │ ║
║ └─────────────────────┬───────────────────────────────┘ ║
║ │ ║
║ ┌─────────────────────┴──────────┐ ┌──────────────────┐ ║
║ │ 100Base-T1 车载以太网 │ │ PMIC + 感应供电 │ ║
║ │ CAN FD (控制/状态) │ │ 发射电路 │ ║
║ │ USB-C (调试) │ └──────────────────┘ ║
║ └────────────────────────────────┘ ║
╚═══════════════════════════════════════════════════════════════════════════╝
3.4 电源设计(修正)
VCSEL + SiPM 都简化了供电要求:
| 电压轨 | 用途 | 电流 | 说明 |
|---|---|---|---|
| 3.3V | FPGA IO, 逻辑 | 1.5A | 标准 LDO/DCDC |
| 1.0V | FPGA Core | 3A | DCDC |
| 28V | SiPM 偏压 | 10mA | 升压 + 低噪声 LDO(比 APD 120V 简单太多) |
| 35-40V | VCSEL 脉冲储能 | 峰值 2A, 平均 20mA | Boost 升压 + 储能电容 |
| 5V | 模拟前端 | 0.5A | LDO |
| 12V | BLDC 电机 | 1A | DCDC |
3.5 灵明光子 SiPM 选型建议
由于灵明光子的具体产品型号可能变化,以下是选型时的建议参数:
| 参数 | 建议值 | 优先级 |
|---|---|---|
| 感光面积/通道 | ≥ 0.5mm × 0.5mm | 高 |
| 微元尺寸 | 10-25μm | 中(影响动态范围和 PDE) |
| 微元数量/通道 | ≥ 2000 | 高(避免近距饱和) |
| PDE @ 905nm | ≥ 10% | 高 |
| 暗计数率 | ≤ 300 kHz/mm² | 中(户外场景重要) |
| 通道数/芯片 | 8 或 16 | ---(4-8 芯片拼 32ch) |
| 封装 | 带微透镜阵列更好 | 中 |
| 输出类型 | 标准阳极输出(AC耦合方便) | 高 |
3.6 优势总结(相对传统 APD + EEL 方案)
| 对比维度 | 传统方案 (EEL+APD) | VCSEL+SiPM+FPGA |
|---|---|---|
| APD 偏压 | 120-200V, 复杂 | 28V, 简单 |
| 激光光谱 | ~4nm | <1nm → 更窄滤光片 |
| 探测器增益 | ~100 | ~10⁶→ 更远探测潜力 |
| 外部 IC | 需 32ch 比较器 + TDC 芯片 | 全部 FPGA 内部实现 |
| 发射光学 | 柱透镜校正像散 | 圆形光斑,光学更简单 |
| 发射功率 | 75W | 45W (低功耗) |
| 人眼安全 | Class 1 设计 | 更安全(低占空比) |
| BOM 成本 | APD 昂贵 | SiPM 量产后更便宜 |
| 供应链 | 依赖进口 | 国产替代 |
需要我深入展开哪个模块?比如:
- FPGA TDC 的 RTL 实现细节
- 32ch 直方图引擎的 BRAM 带宽分析
- VCSEL 微透镜阵列的光学仿真参数
- 灵明光子 SiPM 与 RF 增益级的阻抗匹配设计
- 点云标定方案(内参/外参/时间同步)
框图结构速览
┌──────────────────────────────────────────────────────────────┐
│ 旋转部分(转子)600-1200rpm │
│ │
│ ┌─ 发射链路 ──────────────────┐ ┌─ 接收链路 ──────────────┐ │
│ │ VCSEL 1×32 → MLA → 窗口 │ │ 窗口 → 透镜 → 滤光片 │ │
│ │ (45W, 905nm, 光谱<1nm) │ │ → SiPM 4×8 (灵明光子) │ │
│ │ ↓ │ │ ↓ │ │
│ │ 32ch GaN FET 驱动 │ │ 32ch RF 增益 (32dB) │ │
│ └────────────────────────────┘ └──────────────────────────┘ │
│ ↓ ↓ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ FPGA 转子 XC7A35T │ │
│ │ ┌──────────┐ ┌───────────┐ ┌────────┐ ┌─────────────┐ │ │
│ │ │32× 脉冲 │→│32× LVDS │→│32× TDC │→│32× 直方图 │ │ │
│ │ │ 发生器 │ │ 比较器 │ │CARRY4 │ │BRAM 256×16b │ │ │
│ │ └──────────┘ └───────────┘ └────────┘ └──────┬──────┘ │ │
│ │ ┌─────────────────────────────┘ │ │
│ │ ↓ │ │
│ │ ┌──────────────────────────────────────────────────┐ │ │
│ │ │ 点云打包 + GTX 高速串行发送 │ │ │
│ │ └──────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌──────────────────┐ ┌────┴───────────┐ │
│ │ 角度编码器 │ │ 光通信 + 感应 │ │
│ │ AS5048A (14bit) │ │ 供电接收线圈 │ │
│ └──────────────────┘ └────────────────┘ │
└──────────────────────────────┬───────────────────────────────┘
│
┌────────────────┴────────────────┐
│ 非接触旋转耦合: 光通信(1Gbps) │
│ + 感应供电(50-100kHz, 15W) │
└────────────────┬────────────────┘
│
┌──────────────────────────────┴───────────────────────────────┐
│ 静止部分(定子) │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ FPGA/SoC 定子 XC7A100T + MCU │ │
│ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │ │
│ │ │解串 │→│校准 │→│坐标 │→│滤波 │→│协议 │ │ │
│ │ │GTX │ │距离 │ │变换 │ │去噪 │ │打包 │ │ │
│ │ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────┐ ┌────────────────────────────────────┐ │
│ │ PMIC + 感应 │ │ 接口: 100Base-T1 | CAN FD | │ │
│ │ 供电发射电路 │ │ PPS+GPRMC | USB-C (调试) │ │
│ └──────────────┘ └────────────────────────────────────┘ │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ BLDC 电机│ │ 结构件 │ │ 环境防护 │ │
│ │ FOC 驱动 │ │ 交叉轴承 │ │ IP67 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└──────────────────────────────────────────────────────────────┘
几个关键设计要点标注
| 位置 | 核心设计决策 |
|---|---|
| VCSEL → MLA | 微透镜阵列压缩发散角 20° → 2°,解决 VCSEL 发散角大的问题 |
| SiPM → RF 增益 | 32dB 放大确保 30m 回波 > 100mV,满足 FPGA LVDS 比较器灵敏度 |
| FPGA LVDS 比较器 | IBUFDS + 外置 DAC 动态阈值,替代传统分立比较器 |
| TDC 校准 | 利用 SiPM 暗计数做在线码密度校准,补偿温漂 |
| 直方图引擎 | 多脉冲积累 + 三回波检测(草叶/地面/障碍物分别提取) |
| 旋转耦合 | 全非接触式:光通信 1Gbps + 感应供电,无磨损、长寿命 |
| 窄带滤光片 | VCSEL 光谱 <1nm → 滤光片 BW 可缩至 3-5nm,太阳光抑制比提升 2-3× |
用浏览器打开 lidar_system_block.svg 即可看到完整的彩色系统框图。需要我调整任何细节?
系统框图:

