基于 TDC 的激光测距传感器飞行时间测量研究
基于 TDC 的激光测距传感器飞行时间测量研究
作者:张黎明;张毅;赵欣
激光测距传感器具有结构简单、探测距离远、响应时间快等优点,广泛应用于航天、军事、工业、大地测量和机器人等领域。其测量精度主要依赖于接收通道的带宽、激光脉冲的上升沿、信噪比和脉冲激光飞行的时间间隔测量精度等,其中时间间隔的测量精度对测距精度起决定作用。目前,时间间隔的测量方法主要有 3 种: 脉冲计数法、模拟内插法、数字延迟链法。脉冲计数法是高精度测时中最简单有效的方法,它具有测量范围大、线性度好等优点,但测量精度受限于计数脉冲的频率,一般不单独采用; 模拟内插法可把脉冲计数法的精度改善到 ps 量级,目前,HP 公司基于模拟内插原理研制的 HP5360A 时间间隔计数器产品其时间测量分辨率可达到 0.1 ns,但该计数器基于电容器的充放电技术,电容器放电时间比充电时间长 1 000 倍,电路反应时间较慢,不利于要求测量频率较快的连续测量应用,并且,电容器充放电的方法容易受到系统噪声的影响,在实际测量中往往会带来较大的非线性; 数字延迟链法易于实现对微小时间间隔的高精度测量,其最高测量精度取决于延迟单元的 LSB,测程较短,但测量精度较高、稳定性强,可进行高重复频率的测量。
本文采用时间数字转换( TDC) 技术,提出了一种将脉冲计数法和数字延迟链法结合起来的高精度时间间隔测量方法。通 过 ST 公 司 32 位 ARM Cortex 处 理 器 芯 片STM32F103RBT6 控制 TDC—GP2 进行单通道的时间间隔测量,由内部粗计数器和精延时通道合作完成时间间隔测量,直接将待测时间间隔转换成数字量读出,具有测量精度高、测量范围大、系统功耗低、电路集成度高等优点。
1 激光测距传感器测距原理
基于 TDC—GP2 的脉冲激光测距传感器的系统结构,传感器通过脉冲激光器向被测目标发射脉冲宽度极窄的光脉冲,其中发射激光器采用半导体激光二极管,波长为 905 nm ,峰值功率 25 W。接收系统聚焦透镜前加上干涉滤光片,以减少背景光和杂闪光的影响,降低 APD 探测器输出信号中的背景噪声。
当光脉冲到达被测目标表面后部分能量被反射,根据测量光脉冲从发射到返回接收机的时间 t,可以计算出测距机与待测目标之间的距离,其测距公式为L = ct /2 ,(1)式中 L 为目标距离,c 为光速。根据式( 1) 可得脉冲测距精度可表示为ΔL = cΔt /2 .(2)
由式( 2) 知,在光速一定的情况下,时间间隔的测量精度直接影响了脉冲激光测距系统的测距精度,因此,实现高精度的时间间隔测量成为脉冲激光测距的关键。
2 高精度飞行时间间隔测量模块的设计与实现
2. 1 TDC—GP2 芯片时间间隔测量原理
TDC—GP2 是 ACAM 公司通用 TDC 系列的新一代产品,它是综合脉冲计数法和延迟线插入法来进行时间间隔测量的,同时具有测量范围大和测时精度高等优点。
一般来说,脉冲计数法均存在 ± 1 的计数脉冲误差,主要来源于时钟脉冲的上升沿与测量开始和终止脉冲的上升沿之间的时间差 ta 和 tb,该误差可随脉冲计数频率增大而减小,但不可能消除。误差大小为 ΔT = nT -tm = ta - tb,其中,T 为时钟脉冲周期,nT 为数字计数法测得的时间间隔,tm为实际时间间隔值。ΔT 是数字计数法所固有的测时误差,运用延时线内插方法的目的就是通过在信号开始处和信号结束处运用各种插入的方法高精度测量 ta与 tb,从而求出 ΔT,对测量结果进行修正: tm = nT - ΔT = nT - tb + ta。
在 TDC—GP2 芯片内部,一方面通过锁相环提高计数频率,即减少 ta 和 tb 的值,从而提高计数精度; 另一方面,采用门延时插入技术,即芯片内部通过门延迟来精确测量图 2 所示 ta 和 tb 的值,从而得到高精度的时间间隔测量值。芯片上的智能电路结构,冗余电路和特殊的布线方法使得芯片可以精确地记下信号通过门电路的个数,芯片的最大测量精度基本上是由芯片内部门电路的最大传播延迟时间决定的。
该芯片内部有控制寄存器、结果寄存器和状态寄存器,通过对控制寄存器的配置,可使芯片工作在不同的测量范围和工作模式下,以满足不同场合的应用需求。微控制器控制 TDC—GP2 采样激光脉冲的发射和接收,通过内部 ALU单元计算出时间间隔,并将结果送入结果寄存器,芯片内部的锁相和标定电路可以避免因工作环境的变化对测量误差带来的影响。
2. 2 硬件电路设计
利用 TDC—GP2 设计的高精度时间间隔测量模块硬件原理,模块以 TDC 芯片为核心,通过 ARM 处理器芯片 STM32F103RBT6 来实现对整个系统的控制和数据处理。STM32F103RBT6是意法半导体公司推出的 STM32系列增强型处理器,主频高达 72 MHz,具有强大的实时数据处理能力,有效地保证了模块进行连续测量时的时效性。 STM32F103RBT6 内部集成了高速 SPI 通信控制器,通过标准四线 SPI 接口与 TDC—GP2 中相应寄存器通信,设定 TDC的工作模式并在测量结束时读取测量数据。
START 为起始脉冲,接内光路采样后的输出信号; STOP 为停止信号,接回波经 APD 管接收并放大后的输出,在进入 GP2 之前先经过 MAX962 比较器整成方波,以减小信号中干扰噪声的影响,防止误触发,比较器的阈值电平取为 1. 2 V。TDC—GP2 使用了 2 个时钟信号: 32. 768 kHz的基准时钟用来控制高速时钟和进行时钟校准,高速 4MHz 石英晶振在每次测量自动产生校准原始数据( cal1 和 cal2) 对时钟进行校正并存储在 TDC—GP2 内部。测量结束后 TDC 产生中断,STM32F103RBT6 读取结果寄存器中的值,并经过运算处理后通过串口传到上位机应用程序,以供显示和分析处理。
2. 3 控制软件设计
本文的软件编程主要是对 TDC—GP2 的寄存器设置以及测量数据的实时处理。TDC—GP2 在寄存器设置完毕后,用户必须要发送代码 “Init”初始化 GP2 以便 TDC 能够接收 Start 和 Stop 信号。GP2 的测量是以 Start 通道接收到一个脉冲信号开始的,以Stop 通道接收到指定个数的脉冲信号结束的。ALU 按照设定的模式计算出 Start 脉冲和 Stop 脉冲间的时间间隔后产生测量结束中断,若接收到 Start 信号后在一定的时间范围内( 测量范围 1 中为 1. 8 μs) 没有采样到 Stop 信号,则 TDC产生溢出中断。通过读 GP2 状态寄存器来分辨这 2 种中断,对于正常测量产生的中断,接着读取结果寄存器中的数据并发送给上位机,否则,应该跳出中断,重新初始化 GP2,准备下一次测量。
软件开发平台是 Keil Realview MDK 集成开发环境,由于在本模块设计中使用的处理器位宽是 32 位的,因此,具有很强的浮点数运算能力,大大提高了模块的测量频率。实测中,该模块连续测量的频率可达 30 kHz,完全可满足激光测距传感器在某些需要连续扫描测量场合的应用需求。
3 测试结果与分析
3. 1 模块精度测试
在模块前端加入脉冲激光发射和接收装置,组成激光测距系统,通过该系统测量 100 m 范围内 2 个标准时基点所得到的测量数据。在 100 m 的距离范围内,研制的时间间隔测量模块测量标准偏差为 100 ps,换算成距离值即为1. 5 cm的精度。在测量过程中电路噪声的干扰和各种随机因素都会使测量结果精度下降,可通过多次测量取平均的方法改善。
理论计算可知,N 次平均后可使测量精度提高N倍。在后续实验中,通过每个点测量 100 次取平均的方法改善测量精度后得到的测量数据。平均 100 次后,测量标准偏差小于20 ps,距离精度即为 3 mm,比单次测量时精度有了明显改善。
3. 2 线性度测试
通过导轨车,在 0~ 100 m 距离范围内,每隔 2. 5 m 取一个标准距离测试点,一共 40 个测试点,分别对每个测试点进行 500 次测量,计算其平均值 Targ与对应标准测试点时基T 的差值 ΔT,即 ΔT = T - Targ。
拟合曲线方程为 y = 9. 422 14 × 10 - 5 x + 0. 031 08,其中直线的斜率为 9. 422 14 × 10 - 5,即在量程范围内,测量相对误差达到 10 - 5量级,系统在整个测量范围内都保持良好的线性度,在实际测量中,也可以依据拟合曲线方程对测量结果进行修正。
4 结 论
本文将TDC—GP2芯片运用到激光测距传感器的设计中,传感器测量精度得到很大的提高,系统功耗和体积也有所降低,稳定性增强。不但可以应用在脉冲激光测距传感器中,也可以应用于其他需要高精度时间间隔测量的系统。
本文章转自爱学术(aixueshu.com),如有侵权,请联系删除