被动LiDAR探测设备硬件设计:揭秘iPhone激光雷达检测技术

本文详细介绍了如何设计一个能够被动检测iPhone Pro机型TrueDepth激光雷达信号的硬件设备,探讨了使用光电二极管、施密特触发器和运算放大器等组件捕获940nm红外信号的方案,以及区分激光雷达点阵与噪声信号的技术挑战。

被动LiDAR探测设备硬件设计

在DEF CON 32上,Samy Kamkar做了一个关于激光麦克风的演讲。这是我那年唯一坚持要看现场直播的演讲。Kamkar从不让人失望,我童年时曾尝试用激光笔和光电二极管透过窗户窃听的记忆犹新。在那次演讲中,Kamkar提到,他注意到iPhone背面投射的LiDAR点阵网格在未安装红外滤光片的相机拍摄的视频中清晰可见。他简要谈及了一种可能性:在iPhone Pro默认相机应用启动时,因其会激活LiDAR,甚至在拍照之前,就能检测到相机应用是否被打开。

这听起来很有趣,我开始思考实现的方法。起初我有些气馁,因为DEF CON上的其他黑客同行认为小型设备可能无法检测到此信号。我将这个想法搁置了很久,之后才重新拾起。在用红外遥控接收器和光电二极管进行了一些实验后,我决定需要更好地了解我的目标。

注意:本文包含带有闪烁灯光的图形。使用阅读器视图或许可以避免看到这些图形。

% buffered00:00 视频无法播放或格式不受支持。请尝试其他浏览器。

iPhone 15 Pro TrueDepth点阵网格在关闭的衣橱中的记录

iPhone TrueDepth/FaceID LiDAR系统使用60Hz的垂直腔面发射激光器和15Hz的单光子雪崩二极管,其占空比包络了信号。当设备上的应用程序(包括默认相机应用)使用此系统时,该系统处于激活状态。如Kamkar在演讲中指出的,有可能在捕获任何图像之前就检测到相机应用已被打开。

% buffered00:00 视频无法播放或格式不受支持。请尝试其他浏览器。

我的iPhone 15 Pro背面TrueDepth LiDAR的记录

同样的概念可用于检测带有FaceID的iPhone何时在锁屏界面亮屏,即使设备已解锁或FaceID未启用。类似地,此概念也可用于通过基于红外的口袋检测功能,识别附近是否有Pixel 5或更新机型(该功能会在息屏时运行)。

我iPhone 15 Pro上的FaceID和Pixel 5上的口袋检测传感器

TrueDepth系统,存在于iPhone Pro机型的背面,是我的主要目标。对我来说幸运的是,通过专利和现有对该系统的研究,了解所有这些信息易如反掌!以下是我在研究过程中仔细阅读的各种资料中的一些文本和图片摘录。

“诸如US-20200256669(查看PDF)的专利显示,苹果使用稀疏阵列的单光子雪崩二极管来对红外测距LiDAR发射的位置进行一种光学盘点。而iPhone制造商的True Depth Face ID设计还包含创新,使硬件能够更准确地感知距离,尽管是在不同的长度尺度上。”

LiDAR在iPhone上的解释 https://blog.lidarnews.com/lidar-on-the-iphone-explained/

“根据权利要求1所述的设备,其中所述辐射源包括至少一个垂直腔面发射激光器。根据权利要求2所述的设备,其中所述至少一个VCSEL包括VCSEL阵列。根据权利要求1所述的设备,其中所述感测元件包括单光子雪崩二极管。”

US20200256669A1 https://patents.google.com/patent/US20200256669A1/en

“发射器有16个堆栈,每个堆栈包含4个垂直腔面发射激光器单元,总共64个。64个激光脉冲通过3×3衍射光学元件倍增,构成576个脉冲[6]。从物体表面反弹的576个激光脉冲由单光子雪崩二极管图像传感器检测并测量各自的时延。[…] 确定最佳的手机到目标距离范围在0.30米到2.00米之间。尽管指示的采样频率等于RGB相机60 Hz的帧率,但LiDAR深度图的采样率实际上是15 Hz,这限制了该传感器用于振动测量的实用性,并且如果在进一步处理之前不将深度图时间序列下采样到15 Hz,会带来挑战。”

iPhone LiDAR的特性分析[…] https://pmc.ncbi.nlm.nih.gov/articles/PMC10537187/pdf/sensors-23-07832.pdf

因此我们知道它是一个60Hz、940nm的红外信号。我们还知道它表现为一个旋转的光束点阵网格图案。掌握了这些信息后,我开始构思以有意义的方式测量此类信号的不同方法。就在此时,我意识到自己其实并不太知道具体怎么做,于是我去查了资料。

LiDAR是闪烁的光,我们如何测量闪烁的光

经过大量的网络搜索、阅读其他研究人员的现有工作、阅读许多维基百科页面、努力从大型语言模型获取好建议,以及仔细研究数据手册后,我感觉自己开始足够理解目标了。

  1. 将信号视为在某个区域扩散成光束的光
  2. 感应并将该光转换为模拟信号
  3. 将信号从模拟转换为数字
  4. 测量它

iPhone TrueDepth使用60Hz、940nm的VCSEL点阵网格LiDAR系统。为了检测它并将其与其他信号源区分开来,设备需要高速感应来自多个离散源的红外信号,并测量若干因素。一旦测量了这些因素,设备需要能够快速对测量结果进行计算,并通过编程判断测得的信号是所需目标还是噪声。我们需要测量的因素包括信号频率、脉冲重复频率、信号是稳定的还是突发的,以及有多少传感器在同一时间检测到相同的信号。

现在,掌握了更多信息后,我开始查找哪些组件可能适合本项目需求。

硬件

此设备需要检测940nm红外信号。我测试了几种实现方法,包括使用和不使用940nm带通滤波器的、连接成光电二极管的LED,以及使用和不使用带通滤波器的硅PIN光电二极管和940nm峰值硅PIN光电二极管。虽然连接成光电二极管的LED效果出奇地好,但使用940nm峰值光电二极管获得了最清晰、最干净的信号。

除了检测940nm红外信号外,设备还需要能够分辨信号的视在频率。我们知道iPhone LiDAR以60Hz闪烁,因此我们需要能够检测60Hz的信号,以及该频率可能高达某个合理值的谐波。目标的这个方面正是使用940nm峰值光电二极管或使用带通滤波器真正发挥作用的地方。你周围的大多数显示器都在30、60或120Hz运行,在我的测试中,我发现如果没有对所需波长进行滤波,几乎任何显示器都会触发误报。

为了处理这个信号,我们需要进行高速操作。像硅PIN光电二极管这样的传感器解决方案,以及像10MHz运算放大器或施密特触发器这样的快速组件,非常适合捕获这些信号并使其可用。为了处理它们,设备需要在能耗和处理能力之间取得合理的平衡。如今,有无数满足这一要求的小芯片。由于我手边已有开发板,我选择了SAMD21,因其48MHz的处理器和极低的能耗。以这款芯片为平台,我进行了几轮硬件设计迭代。

IR LED作为光电二极管,无滤波器,原始ADC或内部比较器

起初,我尝试直接从SAMD21引脚上读取二极管输出的模拟信号作为ADC,但效果一点也不理想。将设备重新配置为对这些引脚应用内部比较器,虽然有所改善,但仍然不够好。在这些尝试之后,我开始研究如何更可靠地测量来自二极管的信号,这促使我考虑将施密特触发器和跨阻放大器运算放大器作为选项。

IR LED作为光电二极管,940nm带通滤波器,施密特触发器至数字输入

施密特触发器是一种比较器,它接收两个参考输入并执行迟滞功能,其中两个参考值被用作上下阈值。只有当输入超过上限时输出才置位,只有当输入低于下限时才复位。这种内置的迟滞提供了普通比较器所没有的非常有用的功能,尽管它不易调节。像74HC14这样的施密特触发器,响应信号的时间大约为10ns,这相当于大约50MHz的速度!这远远超过处理60Hz信号所需。

OPA381 + MCP6022 + 调谐VREF和VTH

这个版本使用MCP6002为OPA381运算放大器和MCP6022比较器提供稳定的参考电压。该设计还实现了一个分压器和可变电阻器,以提供阈值电压的直接可调性。

这个设计带来了处理速度较低、复杂度增加和物料清单成本增加的代价。OPA381仍然很快,大约200MHz,MCP6022也相当快,大约10MHz。总的来说,考虑处理时间和损耗,我们最多可以从中挤出大约2MHz的带宽。这仍然足以清晰地分辨60Hz的信号,但具有更精细的调节能力。

这个设计的效果与施密特触发器设计大致相当,而且此时它已经绰绰有余,甚至可能过度设计了。不过,我想更进一步。于是我做了更多研究,查了更多资料,并构思了另一个更具控制性的设计。

值得一提:光电二极管像素网格

由于LiDAR投射的是一个网格点阵,你大致能看到它投射的图案,我曾认为类似光电二极管网格的方案可能有效。在研究了物料清单成本和设计此类电路板的难度后,我没有继续这个设计。但这难道不是解决这个问题的一个巧妙方法吗?

最终选择与设计注意事项

最终,我决定推进施密特触发器版本的硬件,因为它与运算放大器版本的性能差异微乎其微。

所有设计都有一个共同的要求:多个离散的红外传感器。为了将LiDAR点阵网格信号与传感器可能拾取的其他信号源区分开(我将在下一篇文章中进一步讨论此分析),设备需要能够检测是否部分(而非全部)传感器检测到了相同的信号。我尝试过一些方法,比如用毫米尺大致目测测量1米、3米和5米处点阵点中心之间的距离,然后选择了与1米和5米最佳匹配的两个距离,而3米的匹配情况则碰巧足够好,很可能也能工作。

下一步计划

在下一篇文章中,我将详细介绍为硬件开发固件的过程,然后展示结果!感谢阅读!

Hack the Planet!

Sam

首席研究顾问 https://atredis.com

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计