岱 钦,毛有明,吴凯旋,吴 杰,李业秋
(沈阳理工大学 理学院,辽宁 沈阳110159)
脉冲激光测距因其测量精度高、测量距离远、抗干扰能力强等特点被广泛的应用于国防、航天、测绘等领域[1]。时间间隔的测量精度是提高脉冲激光测距精度的决定性因素之一[2],现有的时间间隔测量方法主要有数字计数法、模拟法、插值法[3]。文献[3]提出了使用三角波参考信号实现时间间隔测量的方法,借鉴了插值法的思想,克服了模拟法测量范围受限的缺点。文献[4]通过调整延时芯片和机械位移产生的电信号的延时时间,确定光到达目标所需的时间,来提高激光测距精度。数字法可以实现对微小时间间隔的精确测量[5],但测量范围较小;数字插入法在脉冲激光测距中精度最高,如延迟线插入法具有测量范围大、测量精度高的优点[6],延迟线插入法既可以使用专用芯片实现也可使用FPGA 内部的专用进位链产生延迟单元[7],影响延迟线插入法测量精度的因素有很多,包括延迟单元的内部结构[8]、工作电压和温度,当FPGA 内部延迟线跨越多个LE资源时,延迟单元的非线性更加明显,难以在低成本FPGA 上实现线性较好的延迟单元。
与FPGA 延迟线插入法相比,TDC-GP21内部的延迟线的延迟时间严格统一,线性度较高,双精度模式的测量精度达45ps,并且通过校准测量可以补偿由于温度和工作电压对测量结果的影响,减小了系统的非线性误差,系统的积分非线性度<0.1LSB,差分非线性度<0.8LSB。
论文设计了基于FPGA 和TDC-GP21的高速精密时间间隔测量系统,通过FPGA 控制TDC完成了时间间隔测量和校准补偿;设计了时刻鉴别模块减小了回波信号的漂移误差;进行了时间间隔测量和激光测距实验,实验结果表明系统线性度较好,可以快速测量微小时间间隔,能够在短时间内得到大量精准的数据。
系统时间间隔测量原理如图1所示,待测时间间隔可以表示成Tc=Ts+nTd-Te。
其中nTd为参考时钟CLK 的周期数,Ts和Te为触发信号与计数脉冲CLK 的上升沿之间的时间差。
图1 时间间隔测量原理图Fig.1 Diagram of time interval measurement
系统通过配置TDC-GP21进行校准测量,对测量环境进行实时监测,补偿由于温度和电压变化引起的测量误差,减小了系统的非线性误差,校准测量原理图如图2所示。
图2 校准测量原理图Fig.2 System block diagram of calibration
首先通过内部延迟单元测量时间间隔,然后测量外部基准时钟周期T1和T2;最后由TDCGP21内部的ALU 单元根据T1和T2对测量结果进行校准,校准结果RES_X 和待测时间间隔Time表示为如下公式:
其中:RES_X 是32位校准结果,是基准时钟的倍数,高16 位为整数,低16 位为小数,CLKSDIV是外部基准时钟Tref的分频数,系统通过配置CLKSDIV 调整测量范围,通过FPGA 构建高速乘法器完成后续数据处理。
设计以Cyclone II系列FPGA 作为核心控制单元,以TDC-GP21的测量流程为基础构建时间间隔测量系统,系统方框图如图3所示。
图3 时间间隔测量系统方框图Fig.3 Diagram of time interval measurement system
首先由FPGA 通过SPI通信模块对TDC 进行配置及初始化,然后产生驱动脉冲触发激光二极管发射激光窄脉冲信号,并以此脉冲信号作为TDC的开始信号,当TDC 收到回波信号后对测量值进行校准测量和ALU 校准,最后将测量结果存到结果寄存器中并产生中断。
FPGA 接收到TDC的中断标志后,系统读取TDC的状态寄存器并判断TDC 的状态,当TDC溢出时,终端显示TDC 溢出信息,程序返回初始化阶段;当待测时间间隔满足系统测量范围时,FPGA 读取结果寄存器,然后返回初始化阶段,准备进入下一次测量,同时将测量结果送到数据处理模块进行计算并将结果传送给上位机,在终端上显示测量结果。
系统测量周期包括以下几个部分:初始化TDC;发射触发脉冲;等待回波信号;TDC校准测量;ALU 校准;读取TDC 状态寄存器;从结果寄存器读取32 位数据。各阶段所用时间如图4所示。
图4 测量周期结构图Fig.4 Structure of measurement period
由图4可知,系统完成一次精密测量的时间包括3部分:FPGA 与TDC-GP21之间的SPI通信时间、TDC 校准时间和等待回波时间,其中SPI通信时间是可控的,虽然TDC-GP21 支持SPI串口通信协议,但是收发数据的位宽不是固定的。针对TDC的每个操作码的位数和收发的数据位数不同的特点,避免不必要的通信时间,系统构建多层嵌套状态机控制模块,通过主状态机完成对测量流程的整体控制,调用从状态机实现高速SPI数据通信,系统中嵌套了多个从状态机,配合TDC-GP21的时序要求,分别完成收发8、16和32位的数据指令,实现了各个状态机的高速切换,减少了通信等待时间,在确保TDC测量精度和测量范围的前提下,提高了系统的测量频率。
在脉冲激光测距中,由于大气湍流,跟瞄抖动,目标姿态变化等因素会引起回波信号幅度小范围的快速涨落[9],为了消除回波幅值和波形畸变对触发时刻的影响,设计了时刻鉴别模块对回波信号进行处理,减小了漂移误差。
时刻鉴别的实现方法包括前沿时刻鉴别、恒比定时时刻鉴别和零点检测时刻鉴别等方法,前沿时刻鉴别法[10]受回波信号幅值的影响,跳变点的漂移误差较大,不适用于精确测量。
恒比定时法将回波信号分成两路,分别进行衰减和延时处理,通过高速比较器捕捉信号跳变点,可以减小激光脉冲信号幅度变化而引起的时刻鉴别误差,同时为了屏蔽噪声并抑制波形畸变对测量结果的影响,通常加入偏置电压以保证比较器的正确触发。在未引入偏置电压前,跳变点只取决于衰减因数和延迟时间,与信号幅值无关;但是在引入偏置电压后,跳变点受到幅值、衰减因数和偏置电压的影响会产生漂移误差,经调试验证,当信号幅值在0.5~5V 之间波动时,跳变点的漂移误差约10ns。针对偏置电压对跳变点漂移误差的影响,可以采用偏置开关补偿技术[9],根据输入信号幅度来决定偏置电压的大小,从而减小时刻鉴别的的漂移误差。
高通阻容时刻鉴别法[11]即零点检测法,采用高通阻容滤波电路对回波信号进行微分变换,将极值点转换为零点,此时跳变点不受信号幅值的影响,与恒定比值时刻鉴别相比,避免了外加偏置电压对信号跳变点的影响,经调试验证,当信号幅值在0.5~5V 之间波动时,跳变点的漂移误差小于30ps,满足设计要求,但受噪声及信号畸变的影响,零点检测信号会产生多个零点,会错误的触发时间间隔测量单元,从而降低了系统测量结果的可靠性。
系统采用高通阻容时刻鉴别法捕捉信号跳变点,通过阈值比较电路产生选通脉冲开启门电路捕捉正确的触发脉冲,采用MAX961作为高速比较器件,有效地抑制了噪声和波形畸变对跳变点的影响,减小了时刻鉴别模块的漂移误差。图5所示为受到噪声和波形畸变影响的回波信号在高通阻容时刻鉴别单元中的波形变换。
图5 高通阻容时刻鉴别波形图Fig.5 Diagram of CR-high pass time discrimination
实验采用FPGA 内部的PLL 锁相环产生100 MHz高速时钟信号,作为驱动脉冲的时间基准,配置TDC-GP21对100ns时间间隔进行多次重复测量,验证系统测量精度,测量误差的概率密度分布和拟合曲线如图6所示。
图6 测量误差及拟合曲线Fig.6 Measured error and fitting curve
由图6可知,系统测量误差大多分布在±60 ps之间,测量误差的拟合曲线近似高斯正态分布,标准差为46ps,系统测量精度可以控制在±100ps内。
进行了脉冲激光测距实验,通过FPGA 与TDC-GP21时间间隔测量系统测量时间间隔,并通过时刻鉴别模块减小系统的非线性误差,实验对10 m 距离进行了重复测量,系统测量结果的分布图如图7所示。
图7 测量结果分布图Fig.7 Distribution map of measuring results
从图7可知,由于激光回波信号受测量环境等因素的影响会产生非线性失真,测距误差比时间间隔测量误差略大一些,测距结果分布在9.95~10.05之间,满足高精度测量要求。
设计了基于FPGA 和TDC-GP21的高速高精度时间间隔测量系统,将FPGA 的高频稳定性和TDC-GP21的高精度测量结合起来,通过校准测量补偿了由于温度和工作电压引起的测量误差;通过多级嵌套状态机实现了可以自由收发不同数据宽度的SPI通信接口,压缩了系统通信时间,提高了系统的测量重频;分析并设计了时刻鉴别单元,可以准确捕捉信号跳变点,减小了系统的非线性误差;实验结果表明,系统重复测量频率达1Hz,精度达±100ps,可以快速捕捉微小时间间隔,可在低成本FPGA 器件上实现线性度良好的高精度高重频测量系统。
[1] 黄军芬,黄民双,孙亚玲,等.基于伪非均匀采样的高精度时间间隔测量方法[J].光电子·激光,2012,23(16):1945-1948.Huang J F,Huang M S,Sun Y L,et al.High precision time-interval measurement method based on pseudonanuniform sampling[J].Journal of Optoelectronics·Laser,2012,23(16):1945-1948.(in Chinese)
[2] 宋建辉,袁峰,丁振良.脉冲激光测距中高精度时间间隔的测量[J].光学精密工程,2009,17(5):1046-1050.Song J H,Yuan F,Ding Z L.High precision time interval measurement in pulsed laser ranging[J].Optics and Precision Engineering,2009,17(5):1046-1050.(in Chinese)
[3] 施智勇,潘晓声,张谦.利用延时法进行高精度脉冲激光测距[J].光学精密工程,2014,22(2):253-258.Shi ZY,Pan X S,Zhang Q.High-precision pulsed laser measuring distance by time delay method[J].Optics and Precision Engineering,2014,22(2):253-258.
[4] 陈瑞强 江月松.脉冲激光测距的时间间隔测量方法[J].光学学报,2013,33(2):0212004-1-0212004-5.Chen R Q,Jiang Y S.Method of measurement on time-interval in pulsed laser ranging[J].ACTA Optica Sinica 2013,33(2):0212004-1-0212004-5.
[5] 吴刚,李春来,刘银年.脉冲激光测距系统中高精度时间间隔测量模块的研究[J].红外与毫米波学报,2007,26(3):214-216.Wu G,Li C L,Liu Y N.Study on high resolution time interval measurement module in pulsed laser ranging system[J].Journal of Infrared And Millimeter Waves,2007,26(3):214-216.(in Chinese)
[6] 邢燕.高精度时间间隔测量系统[J].电子测量技术,2010,33(5):1-3.Xing Y.High-precision time interval measurement system[J].Electronic Measurement Technology,2010,33(5):1-3.(in Chinese)
[7] 冯志辉,刘恩海,岳永坚.基于FPGA 延迟线插入法的半导体激光测距[J].光电工程,2010,37(4):53-59.Feng Z H,Liu E H,Yue Y J.FPGA delay-line interpolation method for laser range finding[J].Opto-Electronic Engineering,2010,37(4):53-59.(in Chinese)
[8] 张丽丽,傅江涛,张志勇,等.FPGA 在远程激光测距中的应用[J].激光与红外,2010,40(3):288-289.Zhang L L,Fu J T,Zhang Z Y,et al.Application of FPGA in long distance laser ranging[J].Laser &Infrared,2010,40(3):288-289.(in Chinese)
[9] 冯国旭,常保成.高精度激光测距技术研究[J].激光与红外,2007 37(11):1137-1140.Feng G X,Chang B C.Study of high precision laser ranging technology[J].Laser &Infrared,2007 37(11):1137-1140.(in Chinese)
[10] 纪荣祎,赵长明,任学成.脉冲激光测距时刻鉴别方法的研究[J].激光与红外,2010,31(11):34-36.Ji R Y,Zhao C M,Ren X C.Study of timing discriminator for pulsed laser rangefinder[J].Laser &Infrared,2010,31(11):34-36.(in Chinese)
[11] 朱福,林一楠.一种提高脉冲激光测距精度的方法[J].光电技术应用,2011,26(2):42-44.Zhu F,Lin Y N.Method to improve accuracy of pulse laser ranging[J].Electro-Optic Technology Application 2011,26(2):42-44.(in Chinese)