MSP430与TDCGP2脉冲式激光测距中的应用

上传人:xiao****1972 文档编号:116255915 上传时间:2019-11-16 格式:PDF 页数:18 大小:372.42KB
返回 下载 相关 举报
MSP430与TDCGP2脉冲式激光测距中的应用_第1页
第1页 / 共18页
MSP430与TDCGP2脉冲式激光测距中的应用_第2页
第2页 / 共18页
MSP430与TDCGP2脉冲式激光测距中的应用_第3页
第3页 / 共18页
MSP430与TDCGP2脉冲式激光测距中的应用_第4页
第4页 / 共18页
MSP430与TDCGP2脉冲式激光测距中的应用_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《MSP430与TDCGP2脉冲式激光测距中的应用》由会员分享,可在线阅读,更多相关《MSP430与TDCGP2脉冲式激光测距中的应用(18页珍藏版)》请在金锄头文库上搜索。

1、MSP430 与 TDC-GP2 脉冲式激光测距中的应用MSP430 与 TDC-GP2 脉冲式激光测距中的应用 TDC-GP2 在时差法(TOF)脉冲式激光测距中的应用 摘要: 在脉冲式激光测距仪的设计当中,时差测量(time of flight measurement)成为了一个 影响整个测量精度最关键的因素。 德国 acam 公司设计的时间数字转换芯片 TDC-GP2 为激光 测距的时间测量提供了完美的解决方法。本文着重介绍了应用 TDC-GP2 在设计激光测距电 路当中的优势,以及在应用中给出一些建议和提出了需要注意的一些问题。 1. 概述 在当今这个科技发达的社会,激光测距的应用越来

2、越普遍。在很多领域,电力,水利,通讯, 环境,建筑,地质,警务,消防,爆破,航海,铁路,反恐/军事,农业,林业,房地产, 休闲/户外运动等都可以用到激光测距仪。激光测距仪一般采用两种方式来测量距离:脉冲 法和相位法脉冲式激光测距仪是通过测量激光从发射到返回之间的时间来计算距离的。 因此 时间测量对于脉冲式激光测距仪来说是非常重要的一个环节。 由于激光的速度特别快, 所以 发射和接收到的激光脉冲之间的时间间隔非常小。例如要测量 1 公里的距离,分辨率要 求 1cm,则时间间隔测量的分辨率则要求高达 67ps。德国 acam 公司的时间数字转换器 TDC -GP2 单次测量分辨率为典型 65ps,

3、功耗超低,集成度高,测量灵活性高,是脉冲式激光测 距仪时差(TOF)测量非常理想的选择。 2. TDC-GP2 激光测距原理 TDC-GP2 的激光测距基本原理如图 1 所示: 图 1:TDC-GP2 激光测距原理 激光发射装置发射出光脉冲同时将发射脉冲输入到 TDC-GP2 的 start 端口,触发时差测 量。 一旦从物体传回的反射脉冲达到了光电探测器(接收电路)则给 TDC 产生一个 Stop 信号, 这个时候时差测量完成。 那么从 Start 到 Stop 脉冲之间的时差被 TDC-GP2 精确记录 下来,用于计算所测物体与发射端的距离。在这个原理中,单片机对于 TDCGP2 进行寄存

4、器 配置以及时间测量控制, 时间测量结果传回给单片机通过算法进行距离的精确计算, 同时如 果有显示装置的话,将距离显示出来。在这个原理当中距离的测量除了与 TDC-GP2 的时差 测量精度有关外还与很多其他因素有关系: - 激光峰值功率 - 激光束发散程度 - 光学元件部分 - 光传输的媒体 (空气,雨天,雾天等) - 物体的光反射能力 - 光接收部分的灵敏程度等等 被测物体特性以及传输媒介的铁性一般是由应用的条件给出的, 那么可以根据应用的条件来 选择激光的发射器(波长,驱动条件,光束的特性等)和接收器(类型,灵敏度,带宽等)。 测量的范围在激光峰值功率更高以及信噪比更高的情况下也会相应增加

5、。 那么时差测量的精 度除了与 TDC-GP2 芯片本身测量精度有关系外还与激光的脉冲特性有关,比如脉冲的形状 (宽度,上升下降沿的时间),以及探测器带宽和信号处理电路。对于 tdc-gp2 而言,脉 冲信号的速度越快,带宽越宽,则测量精度相应得会越高。 那么上面所述的一些需要注意的问题在这里我们并不做讨论,我们假设其他方面都已经解 决,那么这里我们着重介绍一下如何应用单片机和 TDC-GP2 来控制时间测量。对于 tdc-gp 2 而言,这颗芯片本身有两个测量范围,测量范围 1 和测量范围 2。测量范围 1 的时间测 量从 0ps-1.8us,相对于距离来讲大约为 0-270m。 测量范围

6、2 的测量范围从 2 倍的高速时钟 周期到 4ms.也就是说最高的距离测量可以到 25 公里以外.那么我们下面就以不同的测量范 围来进行介绍. 测量范围 1: 0ps-1.8us 在这个测量范围下,TDC-GP2 芯片的测量工作全部是由 TDC 高速测量单元完成的。 在这个测 量范围中,gp2 的 start 通道,stop1,stop2 通道都可用。每个 stop 通道有 4 个脉冲的 测量能力。在这个测量范围下,测量结果可以选择校准结果(32 位)或者非校准结果 16 位。推荐使用 32 位的校准结果,也就是每次测量都对 TDC 测量单元进行一次校准。 需要引起注意的问题: - 对于 TD

7、C-GP2 来讲触发它的脉冲宽度必须要大于 2.5ns。 - 在 start 通道的触发边沿与第一个 stop 通道的脉冲边沿之间的时间间隔要大于 3.5n s。 - 推荐自动校准结果,并且选择每次测量完成后进行自动校准。 这个功能通过设置寄 存器 0 的自动校准位为 0 来开启。 - 如果计算 stop1 和 stop2 通道的脉冲时差的话,脉冲的时差范围可以降低到 0。Start 到 最后一个 stop 脉冲的距离不能够超过 1.8us,这是由于硬件本身所限制的。 在这个测量模式下测量流程以及典型的寄存器设置如下: 单片机与 tdc-gp2 的通信是通过 spi 串口完成的, 那么对于测量

8、范围 1 的一个典型的测量 过程为: void gp2config() SPIwrite8 (0x50); /上电复位 /配置寄存器: SPIwrite32 (0x80000420) ; /选择测量范围 1,自动校准,晶振上电后一直起振。 SPIwrite32 (0x81014100) ;/stop1 接受 1 个脉冲, 定义计算方法, 用 stop1 通道的第一 个 脉冲减去 start 脉冲 SPIwrite32 (0x82E00000) ; / 开启所有中断源 SPIwrite32 (0x83000000) ; SPIwrite32 (0x84200000) ; SPIwrite32 (

9、0x85080000) ; /测量循环: void measurement() SPIwrite8 (0x70) ;/初始化测量,通知 gp2 进入测量准备状态 Check INTN=0? SPIwrite32 (0xb4) ; /发送命令读状态寄存器 SPIread8 (STAT) ; STAT /发送命令读 reg0 结果 SPIread32(reg0) ; 那么单片机在从 gp2 读取完数据之后,可以对数据进行处理,来计算脉冲来回的距离。在 上面的测量过程中如果 gp2 在被初始化之后,并没有接受到任何 start 信号,测量将不会 发生。也不会产生中断。只有 start 信号被接受后,

10、测量才被触发,那么无论是测量正常 还是在规定时间内没有接受到 stop 脉冲,在 gp2 的 INTN 管脚都会有中断信号产生,通过 判断状态寄存器的内容来判断测量是否正常。 注:在接受 start,stop 脉冲之前,必须要将 gp2 的管脚 en_start,en_stop 置高平,否 则 start,stop 通道则不会被选通,测量也不会被触发! 应用平均提高精度的方法: 上面所说的情况为,你的激光 start 脉冲给 tdc-gp2 的 start 通道,激光的返回脉冲给 t dcgp2 的 stop 通道的情况。 在这种情况下,gp2 的单次测量精度为 65ps。当测量的输出频率并不

11、是非常重要的情况下, 比如每秒钟输出 1 到 2 次结果,那么这个时候为了提高测量精度,我们可以通过多次测量 平均的方法来消除系统误差。为了使 gp2 能够通过平均的方法来大大的减少误差,那么下 面推荐的测量设计是非常有效的, 可以将系统误差的峰峰值降低到 10ps 一下。 如下图所示: 如上图所示,在这个情况下我们使用的是测量范围 1,激光的发射和接收脉冲信号是给到 s top1 和 stop2 的,而在 tdc-gp2 的 start 通道,start 信号是由单片机给出的一个不参 与测量的 start 信号。测量过程如下: 首先由单片机发出一个不参与测量的但是要触发测量用的 dummy

12、start.需要这个信号是因 为 start 通道的这个信号是告诉 gp2 现在开始进入测量状态了。那么在至少 50ns 后,单 片机触发激光器产生发射信号同时将这个信号输入到 stop1 通道。那么接收到的 laser 脉 冲信号则输入到stop2 通道。 也就是说用stop1 和stop2 来测量激光发射和接收的时间差, 而 start 信号是由单片机给出来触发 gp2 的。 那么之所以这样的原因是在 tdc-gp2 的内部,有一个噪声单元,通过寄存器设置可以触发 这个噪声单元。噪声单元将会在 gp2 的 start 通道脉冲上加任意分布噪声,那么这样做的 目的是为了在平均的时候, 可以大

13、大消除量化误差和系统误差。 那么这个一位的设置为寄存 器 5 中的 EN_STARTNOISE 设置。 没有平均的情况下: 这样做的好处为: 1.stop1 和 stop2 的时间间隔测量可以最低到 0。 2.通过这个测量之后如果平均 gp2 的测量结果,可以大大消除系统误差,跟据平均的次数 不同,最多可以使 gp2 的精度提高至小于 6ps. 3.对于温度变换是相当稳定的那么需要注意的是由单片机给的 start 信号与激光的 start 信号(也就是 stop1 信号)的时间要在 50ns 以上,这个时间是为了给 start 信号加噪声。 在这个情况下的测量过程中需要将上面的寄存器 1 的配

14、置稍作修改: SPIwrite (0x81194900) ; ;/stop1 和 stop2 通道分别接受一个脉冲, 定义计算方法, 用 stop2 的第一个脉冲减去 stop1 的第一个脉冲。 在应用我们的 gp2 评估测量系统测试情 况,测量 1us 时间间隔在平均 1000 次后,噪声曲线如下: 在平均 1000 次的情况下,输出的峰峰值噪声降低到 10ps 以内,相当于分辨 1mm 的距离。 那么通过这种平均的方式提高测量精度,对于测量频率不高的激光测距应用是非常有帮助 的。 测量范围 2:2xTref-4ms 在测量范围 2 当中,测量是通过 TDC 测量单元和一个预计数器共同完成的

15、。如图所示: 在测量时差相对较大的时候,tdc 的内部核心测量单元只测量如图所示从 start 信号开始 到下一个参考时钟周期的上升沿,然后测量 stop 信号上升沿到下一个参考时钟周期的上 升。那么中间的时间,则由数时钟周期 coarse count 来得出。因此在测量范围 2 结果的计 算公式为上面图中的公式,其中 Tref 为时钟周期,clkhsdiv 为分频因数,Cc 为 coarse count 所数的周期个数,Fc1 为 start 信号开始到下一个参考时钟周期的上升沿时间,Fc2 为 stop 信号上升沿到下一个参考时钟周期的上升沿时间, cal1 和 cal2 为 tdc 核心

16、测量 参考时钟周期,做校准用。 在这个模式下 TDC-GP2 应用一个内部的计数器将测量范围扩展到了 4ms。 那么选择这个测量 范围后,测量只能够在 start 通道和 stop1 通道中进行,stop1 通道最多接受的脉冲数为 3 个。 那么测量的时差范围从 2 倍的内部时钟周期最大到 4ms 的时差。 在这个精度下的典 型精度保持不变,还是 65ps。 需要引起注意的问题: - 对于 GP2 来讲触发它的脉冲宽度必须要大于 3.5ns。 - 在 start 脉冲触发之后 stop 脉冲和 start 脉冲间隔至少要大于倍的内部参考时钟周 期。 - 在没有应用精度可调节模式的情况下 GP2 的测量必须要进行校准。在低采样频率的情况 下最简单的方法就是应用芯片自带的自动校准功能。或者也可以应用手动校准 TDC。 TDC-GP2 的测量范围的优点: - 整个的测量范围最大可以达到 4ms,精度还是 65ps,系统的精度将主要取决于光学系统中 其他器件的精度。 - 对于长距离测量为了能够得到相当强度的返回信号高能的激光脉冲信号是必要的。 - 可

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号