TDC - GP2在激光测距传感器中的应用
TDC - GP2在激光测距传感器中的应用
作者:无
脉冲激光测距仪以其峰值功率高、探测距离远、测距精度高、对光源相干性要求低等优点 ,在工业、航空航天、大地测量、建筑测量和机器人等领域获得了广泛应用。它一般搭载在空基上 ,通过分析激光发射单脉冲和回波脉冲之间的往返时间得到传感器和探测目标之间的距离值。因此 ,要实现高精度的测量 ,就需要对激光飞行时间间隔进行精确测量。
目前 ,在激光测距上 ,常用的时间间隔测量方法主要有 3种 :纯计数法、模拟内插法、数字内插法。
纯计数法电路简单 ,测程长 ,但精度低 ,因此一般不单独采用 ;而模拟内插法可把计数精度提高到ps级别 ,但由于是基于电容的充放电技术 ,线性度差 ,测量时间长 ,受温度和电磁辐射干扰很大 ,不适合测距传感器系统的高实时性和恶劣的工作环境 ;数字内插法基于延时线插入法技术 ,其单脉冲测量精度高、测量范围大 ,并可进行高重复测量 ,因此很适合激光测距传感器 。
由德国 ACAM公司基于 CMOS工艺设计的一种高精度时间数字转换芯片 —TDC - GP2采用的就是延迟线插入法技术 ,它利用简单逻辑门的传播延迟来精密量化时间间隔 ,达到了 p s级别。它可对两个脉冲或多个脉冲之间的时间间隔进行精确测量 ,在脉冲激光测距中 ,精度可以达到 1 cm之内 ,功能也比 TDC - GP1多 ,但价格却低。因此 ,在应用中有优势。它有两种测量范围 : 0~118μs(0~270 m )和 2Tref ~4 m s(75 m~25 km, 4 MHz晶振 ) 。每个通道的典型分辨率为 65 p s,两种测量范围中 ,每个单通道分别能响应 4个和 3个 Stop 脉冲信号 ,并具有噪声过滤能力。因此 ,其不但测距精度高 ,测量范围也很大。
文中基于 TDC - GP2芯片 ,在激光测距传感器中的应用 ,设计了单通道的时间间隔测量模块 ,其电路集成度高、功耗低、实现方便、系统稳定 ,有利于提高脉冲激光测距的测量精度。
1、脉冲激光测距传感器系统结构
基于 TDC - GP2的激光测距传感器结构框,发射激光器采用 Sp l p l90半导体激光二极管 ,波长为 905 nm,峰值功率 25 W.由单片机控制激光驱动电路触发激光器 ,并通过光学系统聚焦发射激光脉冲 ,该激光脉冲有一小部分能量透过分光镜直接送到接收系统 ,作为计时的起始点 ;大部分光脉冲能量射向待测目标 ,经目标物漫反射回来的回波信号被接收望远镜接收 ,接收光直接汇聚在窄带滤波片上 ,滤波后的接收光在高速雪崩光电二极管 (APD)上产生电信号并经过放大整形 ,作为终止计时的信号 ;窄带滤光片作用是减少背景光及杂闪光的影响 ,降低探测器输出信号中的背景噪声。被测目标的距离 L 可以表示为L = c·t/2 (1)式中 : c为光速 ; t为时间间隔。
根据式 (1) ,脉冲测距精度ΔL可以表示为ΔL = c·Δt/2 (2)由式 (2)可知 ,时间间隔模块的测距精度 Δt直接决定了脉冲激光测距传感器的精度ΔL. 因此 ,高精度的时间间隔测量模块已成为脉冲激光测距的关键组成部分。
2、基于 TDC - GP2的时间间隔测量模块设计
2. 1模块硬件设计
基于实际应用 ,设计了单通道的时间间隔测量模块 ,测量过程中只有 Stop1通道工作 , Stop2通道关闭。工作过程为 :单片机触发激光二极管产生激光脉冲 ,同时将这个信号输入到 Start通道 ,出射光经目标物漫反射后 ,被接收望远镜接收产生 Stop信号。则两个信号之间的时间间隔被测出 ,经过算法计算就可以得到传感器与目标物之间的距离。
TDC - GP2内部有一个噪声单元 ,噪声单元将会在 Start通道脉冲上加任意分布噪声 ,这样可以大大地消除量化误差和系统误差 ,这个噪声单元只在测量范围 1中工作。整个脉冲飞行时间测量模块是以 TDC - GP2为核心的。TDC - GP2的结构主要包括了两个延时测量单元 (即两个 Stop通道 )和一个 Start通道、ALU,控制寄存器和状态寄存器以及噪声单元。
时间间隔测量工作主要由延时通道完成 , ALU主要完成 16位未校准值或 32位校准值的计算 ,噪声单元用于减少误差。 TDC - GP2的工作模式主要由 6个写寄存器设定 ,测量结果保存在 6个读寄存器中 ,寄存器的值可以由外部单片机通过 SPI读写。
根据测距传感器的指标要求 (测程为 1~1 000 m,对应飞行时间间隔为 313 ns~313μs)和两测量范围的时序图和硬件特点设计了时间间隔测量模块。短距离 ( < 270m)测量时 ,配置为测量范围 1,时间间隔测量有内部高速测量单元完成 , Start和 Stop信号之间间隔可以小至 210 ns (对应距离 016 m) ,即可以实现最短距离的测量 ,而且可以开启噪声单元 ,精度更高 ;长距离 ( ≥75 m )测量时 ,配置为测量范围 2,时间间隔测量是通过 TDC测量单元和一个前置配器共同完成的。测距时两个信号分别进入 Start和 Stop1通道触发 TDC - GP2测量 ,测量的结果值 t1 和 t2 直接存在结果寄存器中等待单片机读取。两个测量范围之间没有盲区 ,测量范围的选择由外部按键控制。
由于漫反射回来的激光脉冲信号非常微弱 (距离 1 km大约为 1 nW ) ,因此由 APD转换的电信号还需经放大电路放大 ,又由于激光在不同目标物上漫反射回波的幅度和上升沿的时间存在差异 ,因此在脉冲信号进入 TDC - GP2前 ,要先通过由高速比较器构成的恒比例脉冲时刻鉴别电路确定上升沿时刻 ,再进入测量模块。
需要特别注意的是 ,在脉冲时刻鉴别电路中 ,比较器的两输入端口之间要有电压偏差 ,以防止干扰信号产生的误触发。每发射一次激光脉冲后 ,单片机读取结果寄存器的值计算出距离值并通过 RS - 232接口传给 PC机 ,并在下次激光发射前对TDC - GP2初始化 ,以准备下一次的测量。
TDC - GP2依据不同的操作模式采用两种时钟 ,包括作为内部定时器的 32 kHz时钟 ,校准时采用并在测量范围 2中 ,作为 TDC测量单元前置配器的高速时钟 , 高速时钟采用的是4 MHz陶振。由于在测量范围 2中 ,高速时钟作为测量的前置配器 ,因此在 TDC - GP2完成每次测量后会自动产生校准原始数据 ( cal1和 cal2)对时钟进行校正并存储在 TDC - GP2内部 ,这大大减少了因外部时钟抖动和温漂引起的 TDC - GP2内部计数及延迟通道误差 ,有利于实现高精度的测距。
尽管 TDC - GP2是一个全数字化的电路 ,但是 TDC是基于内部的模拟电路测量“传输延时 ”来进行的 ,而“传输延时 ”是容易受温度和电压的影响的 ,因此电源应具有高电容性和低电感性。并且核心电压 V io > Vcc - 015V, V io滤波电容应该加到200μF,而且离 GP2越近越好 ,建议使用低阻抗和低阻值的电容。高速晶振建议采用陶瓷晶振 ,因为起振时间快 ,而且 GP2可以对陶瓷晶振进行校准。TDC - GP2有专用的通信测试寄存器 ,建议每次测量前测试下 SP I通信是否正常。
2. 2模块软件设计
整个测量单元工作模式的选择、数据的传输 ,以及计算都是由单片机内部程序完成的。 TDC - GP2提供了标准的四线SP I接口 ,数据位为 8位 ,可方便的由单片机实现寄存器的配置和数据传输。对 TDC - GP2寄存器配置时 ,先发一个字节的操作码 (10000xxx) ,再连续发 3个字节的指令 ,实现对不同寄存器的配置。读寄存器时 , 也要发一个字节的操作码(10110xxx) ,才能读取不同寄存器的值。
对 TDC - GP2软件编程的工作主要包括两个部分 :一部分是写寄存器的配置和初始化工作 ,以确定 TDC - GP2的工作模式 ;另一部分是读寄存器的读取工作。在进行测量之前 , TDC -GP2的管脚 en_start和 en_stop置低电平 , Start和 Stop通道未被选通 ,以防止测量被误触发。测量开始后首先对 TDC - GP2进行寄存器配置 ,设置测量范围和每个通道的采样次数 ,定义ALU的计算方法。然后初始化 TDC - GP2、选通 Start和 Stop通道 , TDC - GP2进入测量状态 ,等待 Start和 Stop信号 ,一次测量完成后关闭 Start和 Stop 通道。单片机读取测量数据 ,校准数据格式为 32位固定浮点数、16进制 ,由于 SP I每次只能读 8位 ,所以一个校准值需分 4次读出 ,读数据时 ,发操作码就可从高到低顺序读取测量值。读出的结果由单片机计算并保存 ,循环测量 26次 ,如果其中有 6次结果是一样的 ,就认为测量结果是正确的 ,如果不正确则进行删除 ,重新校准 TDC - GP2,开始测量。应该注意的是每进行一次单独的测量 ,都对 TDC - GP2进行初始化 ,以保证每次测量的准确性。图 4为测量程序流程图 ,测量范围 1和测量范围 2只是寄存器配置时有所差别 ,其他步骤一致。
寄存器配置值的第一个字节 (0x80~0x85)为每个寄存器的操作码 ,后 3字节是配置值。值得注意的是 ,在测量范围 2寄存器配置接受脉冲个数的时候 ,如果预期接收 1个 ,则需要设置为 2个。因为Start也被作为一次采样计数 ,所以 H ITIN1的数值总是比设定的采样数多 1。
3、测量误差分析
时间间隔测量模块在测量时间间隔小于 4μs时 ,测量相对
误差为 10 - 4量级 ;在 1 m s范围内 ,测量的标准误差基本都在 40p s以内 ,随着测量时间的增大 ,模块测量的标准误差也随着增大。工作时间过长或温差较大时 ,会产生误差 ,这是因为时间间隔测量模块采用延时通道测量 ,容易受温度影响而使延时时间变化 ,可采用控制 TDC的工作电压来达到稳定延时通道延时常数 ;在大时差的情况下 ,晶振的不稳定性也是误差的来源 ,因为在测量范围 2中 ,时间测量是 TDC测量和数高速时钟的融合 ,因此在测量大时间间隔时 ,应该采用高稳定性的晶振并且每次测量前 ,以 321768 kHz时钟对其校准 ;当然 ,激光脉冲的脉宽也是误差的主要来源 ,因此信号的上升沿要尽量的陡 ,并采用恒比例时刻鉴别技术进行 Stop时刻定位削弱因返回信号幅度变化而引起的误差 ;在测量过程中 ,外界条件是变化的 ,仪器电路中的噪声干扰和各种随机因素将对测量产生影响 ,因此通常采用多次测量取其平均值的作为测量的最后结果 ,这样可以达到削弱随机测量的误差 ,根据统计理论可知 , N 次测量取平均值可以使测量精度提高 N倍。
在实际应用中 ,除了时间间隔测量模块对测距精度有重要影响外 ,波长接近的光源发出的光、接收单元放大器引进的噪声,时刻鉴别模块的精度都很关键。考虑到外部因素 ,大气环境、目标物形状和反射率对测距精度也有影响 ,因此测距精度的提高需要个方面的配合。
4、结束语
文中实现了基于 TDC - GP2的激光测距传感器设计 ,利用TDC - GP2的两测量范围 ,实现了短距离和长距离的测距。该设计有效地降低了传统的激光测距系统的复杂程度 ,功耗和体积都有所降低 ,精度更高 ,反应时间比较快 ,尤其适合需要快速或动态测量的场合。实验证明 :采用 TDC - GP2专用芯片研制的时间间隔测量模块 ,不仅测量范围大、精度高 ,控制和使用起来也非常方便 ,利用计算机的串口可实现对传感器的远程触发 ,便于集成到其他系统中。
本文章转自爱学术(aixueshu.com),如有侵权,请联系删除