当前位置: 首页 > article >正文

TOF技术原理和静噪对策

本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时,也能帮助其他需要参考的朋友。如有谬误,欢迎大家进行指正。

一、什么是TOF

TOF 是Time of Flight的缩写,它是一种通过利用照射波和反射波之间的时间差来测量到物体的距离的测距方法。使用ToF的距离图像传感器可以通过照射诸如红外光之类的光,来测量每个像素的距离并记录深度信息来获知目标的三维结构,具体如下图1所示:

图1 TOF距离测试框图

二、TOF的使用

在用于智能电话的面部认证中,必须测量三维面部形状,以防止通过扫描照片来回避认证。因此,智能手机越来越多地采用名为ToF的测距方法。除ToF之外,还有其他一些测距方法,例如使用立体相机的方法和照射图案化红外线并观察变形的Structured Light方法,但是ToF具有结构简单、支持广范围距离、分辨率高等特征,因此被认为更适合智能手机。

图2 各种测距方法的适用范围

为了进行长距离的高精度测距,ToF需要照射陡峭的高脉冲,如下图3所示。

图3 ToF脉冲波形与精度之间的关系
在发送侧,通过向VCSEL(垂直谐振器表面发射激光器)施加陡峭且较大的脉冲电流,生成红外线脉冲光,并将此脉冲光照射到测量目标。接收侧接收从测量目标返回的光并将其转换为电信号。

图4 ToF发送接收框图

三、ToF中的噪音问题

发出陡峭的高输出脉冲时,如下图5所示,大电流突然在驱动器电路中流动,并且很可能在电源线上形成大电压尖峰。令人担心的是由此产生的噪声会干扰接收侧,导致ToF传感器的灵敏度降低。
屏蔽层可以防止大部分的噪声发射,但是除此之外,还必须防止噪声通过电源线传播。在此将介绍一种使用EMI滤波器抑制噪声传播的有效方法。

图5 ToF中的噪声干扰模型

四、使用铁氧体磁珠的电源噪声对策

插入铁氧体磁珠可有效地解决此类噪声问题。通过在VCSEL和Laser driver附近插入铁氧体磁珠,可以减小泄漏到电源线侧的尖峰噪声的振幅。此外,通过在发送侧和接收侧之间的GND线中插入铁氧体磁珠,可以防止噪声通过GND传播。如下图6所示:

图6 通过铁氧体磁珠进行的电源线尖峰噪声对策

  • 将铁氧体磁珠插入发送侧的电力流入部分,以抑制通过电源线进行的噪声传播。
  • 将铁氧体磁珠插入接收侧GND连接部分,以抑制通过GND线进行的噪声传播。

五、建议将铁氧体磁珠用于噪声对策

选择时需要考虑容易引起问题的噪声频率。请根据PCB空间选择最适合的型号并进行一定的降额设计。磁珠选型参考【电子元器件】磁珠常识与选型_耳机咪头电路用什么磁珠过滤-CSDN博客

六、确认插入铁氧体磁珠的效果

确认了是否插入铁氧体磁珠会导致噪声抑制效果发生变化。不仅确认了噪声消除效果,还确认了其对电压和电流波形没有影响。在下图的发送侧电源线①中,确认了纹波噪声的变化,以确认流向电源侧噪声的降低效果;在VCSEL的电源输入部分②中,确认了瞬态响应的变化,以确认其对电压波形是否没有不良影响。还确认了流过VCSEL的电流波形的变化。

图7 噪音对策效果的确认方法

Voltage① → 通过Ripple Noise确认
Voltage② → 通过Transient response确认
Current → 通过Current wave form确认

七、 铁氧体磁珠插入的效果确认——纹波噪声

如下图所示,通过将铁氧体磁珠BLE18PK100SN1插入电源线,可以看到①部分的纹波减少到了大约1/5。确认结果表明,通过插入铁氧体磁珠,纹波噪声大大降低。

图8 通过铁氧体磁珠产生的纹波噪声降低效果

八、铁氧体磁珠插入的效果确认——瞬态响应

插入铁氧体磁珠不能对供给VCSEL的电压产生不良影响。确认在插入铁氧体磁珠之前和之后的瞬态响应时,未发现由于插入铁氧体磁珠而导致波高降低。未发现插入铁氧体磁珠会对电路的动作产生不良影响。

图9 铁氧体磁珠插入对瞬态响应的影响

九、 铁氧体磁珠插入的效果确认——VCSEL的电流波形

确认了流过VCSEL的电流的波形。插入铁氧体磁珠之前和之后的电流波形几乎没有看到差异。
结果是,即使插入铁氧体磁珠也未发现波高降低等不良影响。

图10 铁氧体磁珠插入对VCSEL电流波形的影响

十、 总结

  • 陡峭的大脉冲电流流过ToF发送部分,该脉冲电流在电源线中具备产生大纹波噪声的可能性。
  • 通过插入铁氧体磁珠,可以降低噪声,而不会对电压、电流波形和瞬态响应产生不良影响。

http://www.kler.cn/a/528745.html

相关文章:

  • AI学习指南Ollama篇-使用Ollama构建自己的私有化知识库
  • 什么是Pytest Fixtures作用域及如何为Pytest Fixtures设置合适的作用域
  • langchain基础(二)
  • 线程池以及在QT中的接口使用
  • volatile
  • 每日一题——序列化二叉树
  • std::call_once的原理及使用
  • fpga系列 HDL:XILINX Vivado ILA FPGA 在线逻辑分析
  • CF 581A.Vasya the Hipster(Java实现)
  • XML DOM - 访问节点
  • Java线程认识和Object的一些方法ObjectMonitor
  • 基于 STM32 的智能电梯控制系统
  • SZU大学物理2实验报告|超声探伤实验
  • GPG格式介绍:什么是GPG?如何加密和解密?
  • C++哈希(链地址法)(二)详解
  • AI智能化模型助力太阳能光伏板自动巡检运维,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建无人机航拍场景下太阳能光伏板污损缺陷智能检测识别系统
  • K8S ReplicaSet 控制器
  • Electricity Market Optimization 探索系列(一)
  • 【SQL】SQL注入知识总结
  • 【Java异步编程】CompletableFuture实现:异步任务的合并执行
  • 跨平台的客户端gui到底是选“原生”还是web
  • Vue.js组件开发-实现全屏幻灯片左右切换特效
  • C# 语言基础全面解析
  • 网站快速收录:利用网站导航优化用户体验
  • Pandas基础07(Csv/Excel/Mysql数据的存储与读取)
  • Linux抢占式内核:技术演进与源码解析