Development of Time Interval Measuring System with Multi-Channel for Array LiDAR*
2015-10-13ZHOUGuoqingZHOUXiangZHANDLiepingZHANGBiaoYANGChuntaoLIUYilongLIMingyan
ZHOU Guoqing,ZHOU Xiang,ZHAND Lieping,ZHANG Biao,YANG Chuntao,LIU Yilong,LI Mingyan
(1.GuangXi Key Laboratory for Geospatial Informatics and Geomatics Engineering,Guilin University of Technology,Guilin Guangxi 541004,China; 2.Department of Mechanical and Control Engineering,Guilin University of Technology,Guilin Guangxi 541004,China; 3.Department of Information Science and Engineering,Guilin University of Technology,Guilin Guangxi 541004,China)
Development of Time Interval Measuring System with Multi-Channel for Array LiDAR*
ZHOU Guoqing1*,ZHOU Xiang2,ZHAND Lieping2,ZHANG Biao3,YANG Chuntao2,LIU Yilong2,LI Mingyan2
(1.GuangXi Key Laboratory for Geospatial Informatics and Geomatics Engineering,Guilin University of Technology,Guilin Guangxi 541004,China; 2.Department of Mechanical and Control Engineering,Guilin University of Technology,Guilin Guangxi 541004,China; 3.Department of Information Science and Engineering,Guilin University of Technology,Guilin Guangxi 541004,China)
Time interval measuring system with multi-channel and high precision is designed and implemented,which is applied to solve a critical technology of multi-beam laser flight time measuring for APD array LiDAR.The hardware system consists of one data packing unit and four basic measurement units.Software programming adopts event driven mode,and utilizes circular FIFO and interrupt technology to accomplish data communication.The interval measuring system is used on 5×5 APD LiDAR with fiber coupling,the ranging precision meets requirements of array LiDAR,ranging deviation by converting from time is-6.41 cm~10.58 cm and the maximum ranging standard deviation is 4.22 cm in all 25 channels.
APD Array LiDAR;multi-channel time interval measurement;TDC-GPX;STM32F103ZET6
激光雷达测量为获取空间三维数据提供了重要手段。90年代,美国桑迪亚国家实验室的研究人员Scott M首次提出了无扫描面阵激光雷达的概念,目前无扫描面阵激光雷达已成为国内外研究的热点[1-6]。APD(雪崩光电二极管)面阵激光雷达采用脉冲激光对目标实施泛光照明,单次探测面积大,可并行接收从目标不同位置处反射的多束激光回波[7],为了能够瞬间获取目标区域多点三维信息,如何并行测量多路激光回波飞行时间是APD面阵激光雷达必须解决的关键技术之一,针对这一技术,人们必须同时解决两个问题:一是时间的高精度测量,因为以光速的激光飞行时间每1 ns的测量误差就会导致±15 cm的测距偏差;二是多通道并行测量。本论文就这两个问题展开研究,研发了一个多通道高精度时间间隔测量系统,即测时系统,并用于面阵激光雷达试验。
1 面阵激光雷达结构
图1为5×5光纤阵列耦合APDs面阵激光雷达结构框图,图中脉冲激光器发射脉冲激光,分光片将发射的脉冲激光分为比例悬殊的两部分,极小部分激光经PIN高速光电探测模块转换处理后以数字形式输出一个开始(Start)信号至本论文设计的测时系统Start端,该Start信号即为激光发射时刻的标志。绝大部分激光经发射光学系统对目标泛光照明,从目标反射的激光回波经接收光学系统汇聚到阵列探测模块中5×5光纤阵列耦合APDs探测器的25个光敏面上,该阵列探测器将激光回波信号进行光电转换输出微弱电流信号,再经25路并行跨阻放大及高速比较电路处理后输出25路数字信号作为停止(Stop)信号分别进入测时系统25个Stop端,该测时系统并行测量从收到Start信号至25路Stop信号到达的25路激光往返飞行时间间隔,根据基本测距公式L=1/2ct[8]转换即可得到25路距离信息。
图1 5×5光纤阵列耦合APDs面阵激光雷达结构框图
2 硬件设计
2.1芯片选型
目前高精度时间间隔测量主要有FPGA和TDC专用计时芯片这两种方案。由于FPGA没有合适的锁相环(PLL)和延时锁定环(DLL)技术电路来稳定延迟线的时间延迟,同时延迟线的一致性不够好[9],作为时间数字转换电路其线性度可能会变差,测时精度很难保证[10];通过采用双边沿计数器的脉冲计数与相位延迟内插相结合的时间测量方法,测量精度得到改善,但是只能测量一个通道[11],所以FPGA方案不适合面阵激光雷达的多通道高精度测时要求。TDC专用计时芯片方案主要集中在TDC-GP1、TDC-GP2、TDC-GP21芯片的应用[9-11],但它们都只有两个测量通道而且是同步串行方式输出测量数据,而本面阵激光雷达需要并行测量25路激光飞行时间,因此这种两通道的TDC专业芯片方案也不适用。德国ACAM公司功能最强大的TDCGPX芯片工作在I模式下可以并行测量8路时差,分辨率81 ps,数据输出总线为28位或16位两种形式[12],只需使用4片TDC-GPX芯片就足以满足25路激光飞行时间测量。意法半导体(ST)公司生产的ARM Cortex-M3架构STM32F103ZET6处理器系统时钟频率72 MHz,112个I/O口,16个外部中断,5个串口,内存64 kbyte,闪存容量512 kbyte[13-14],能够满足TDC-GPX芯片寄存器配置和测时数据的读取,且性价比高[15],操作本测时系统。
2.2硬件总体设计
设计的测时系统由4个基本测量单元和1个数据打包单元构成,测时系统硬件框图如图2所示。图2中每个单元都包含1片STM32F103ZET6处理器,整个测时系统硬件形成了一个多核并行处理机,而且扩展性好,适用性强。考虑到TDC-GPX芯片价格较高,同时为了提高通用性和互换性,每个基本测量单元均包含两块子电路板,两块子板都设计为双面板,并通过2.54双排插针和双排母连接。子板1包含1片TDC-GPX芯片可测量8路激光飞行时间,子板2上包含1片ARM STM32F103ZET6处理器用于配置子板1中的TDC-GPX芯片并读取其测量数据,再由串口输出测量数据。数据打包单元中的STM32F103ZET6处理器通过串口2~5接收4个基本测量单元输出的测量数据,经存储打包后再由串口1上传至上位PC机。
图2 测时系统硬件框图
2.3基本测量单元硬件设计
图3为基本测量单元硬件框图,Start为TDCGPX芯片进行时间间隔测量的Start信号,来自图1中“PIN高速光电探测模块”的输出。Stop1~Stop8为8路Stop信号,来自图1中“25路并行跨阻放大及高速比较电路”的输出,由于PCB板上1cm的铜导线将引起几十皮秒(ps)的传输延迟,因此8路Stop信号在PCB板上尽可能等长布线,并位于同一布线层。PuResN为TDC-GPX芯片复位信号,低电平有效,连接STM32F103ZET6的PB9脚;AluTriggier为主复位信号用于清空TDC-GPX片内FIFO,连接PE3脚; StopDis1~StopDis4共4个信号,为8路Stop信号Stop1~Stop8的输入使能,分别连接STM32F103ZET6的PC0、PE6、PC1、PC2;CSN、OEN、RD、WR分别为TDC-GPX的片选、测量数据输出使能、读信号、写信号,分别连接到PB13、PE0、PB14、PB15;Addr0~Addr3为4 bit地址总线,分别连接到PF0、PE5、PE2、PE4;D0~D27为28 bit数据总线,连接到STM32F103ZET6的PD口高12 bit即PD4~PD15和PG口,共28 bit;Ir-Flag为TDC-GPX中断请求信号,连接到PC10;EF1、EF2分别表示TDC-GPX内部的IFIFO1和IFIFO2的状态为1时表示对应的IFIFO为空,连接到PB8和PB6脚。
图3 基本测量单元硬件框图
2.4数据打包单元硬件设计
每个基本测量单元都将测得的8路时间间隔数据由各自STM32F103ZET6处理器的串口1输出。4个基本测量单元的串口1分别连接到数据打包单元处理器的串口2至串口5,数据打包单元将收到的25路时间间隔测量数据打包、存储后由串口1输出到USB转串口转换芯片PL2303,这样25路测量数据就由USB口上传至PC机进行显示、处理及存储。USB转串口接口电路中PL2303的RXD、TXD连接数据打包单元处理器的串口1(PA9,PA10),DM、DP通过22 Ω电阻分别连接到Mini-USB插头的数据口D-和D+;该转换电路必须在数据口D+上拉1.5 K电阻到3.3 V(PL2303的17脚),这样上位PC机中的USB主机就可以判断是否有高速USB设备接入,否则接入的USB设备不能被识别。
3 软件研究
3.1基本测量单元主程序实现方法
本测时系统软件部分包括基本测量单元软件和数据打包单元软件。基本测量单元的测量主程序工作流程如图4所示,该程序运行在基本测量单元中STM32F103ZET6处理器上,第1步,初始化处理器主要包括:(1)时钟初始化,本设计使用8 MHz外部时钟倍频产生72 MHz系统时钟。(2)I/O初始化,主要配置与TDC-GPX连接的相关I/O,28 bit数据总线D0~D27支持双向操作,由于ARM Cortex-M3架构的处理器为16 bit外部数据总线,而本设计使用非标准的28 bit数据总线,因此采用通用I/O模拟28 bit数据总线的读、写时序,读操作前必须将D0~D27配置为输入,写操作前又必须将D0~D27配置为输出;4 bit地址总线Addr0~Addr3配置为输出;读写控制线RD、WR配置为输出,4根Stop信号输入使能线StopDis1~StopDis4配置为输出;TDCGPX的复位PuResN,主复位Alutrigger,片选CSN,数据输出使能OEN均配置为输出;TDC-GPX的中断线IrFlag,IFIFO0空标志EF1,IFIFO1空标志EF2均配置为输入,IrFlag配置为STM32F103ZET6的一个外部中断源,上升沿触发。(3)串口初始化,使用串口1,波特率38.4 kbit/s。(4)中断初始化,用于初始化串口1中断,IrFlag外部中断。(5)延时初始化,配置延时函数,以供程序调用。
图4 基本测量单元的测量主程序工作流程
第2步TDC-GPX芯片初始化:通过清零PuResN复位TDC-GPX;对StopDis1~StopDis4置1禁止Stop信号输入;配置TDC-GPX内部相关寄存器设定其工作方式,本设计配置的工作方式为:I模式,选择Start信号和Stop信号触发方式为上升沿触发,Mtimer定时到则触发IrFlag中断;对4个引脚StopDis1~StopDis4清零,使能Stop信号输入则TDC-GPX进入时间间隔测量状态。
第3步测量程序进入事件循环,等待事件发生,由于主程序按事件驱动模式设计,因此该循环永不返回。如果没有事件发生,程序一直处于等待状态。若有事件发生,程序就会跳转到相应事件的中断处理程序入口,然后执行事件处理的中断服务程序,执行完后回到事件循环继续等待下一个事件发生。本设计主要处理两个事件:(1)TDC-GPX产生的IrFlag外部中断事件,请求处理器读取8路测量数据,处理器将测量数据读入到内部开辟的8K循环FIFO中。(2)串行口1数据发送中断事件,每次中断处理器从循环FIFO中读取1 byte送至串行口发送。
3.2IrFlag中断服务程序
TDC-GPX执行测量后向处理器发出中断请求信号IrFlag,随后处理器响应中断并执行IrFlag中断服务程序。图5为IrFlag中断程序流程图。第1步
图5 IrFlag中断程序工作流程图
判断EF1信号是否为0,如果EF1=0,STM32F103ZET6从数据总线D0~D27上读取来自IFIFO0中的1~4通道测量结果,并写入片内RAM中开辟的8 kbyte循环FIFO中。如果EF1=1,表示TDC-GPX的IFIFO0为空,即:1~4通道没有测量数据,程序转入下一步。第2步,判断EF2信号是否为0,如果EF2=0,处理器从数据总线D0~D27上读取来自IFIFO1的5~8通道测量结果,并写入片内RAM中开辟的8 kbyte循环FIFO中。如果EF2 =1,表示TDC-GPX的IFIFO1为空,即:5~8通道没有测量数据。第3步,程序对TDC-GPX进行主复位,即对信号Alutrigger置1后再清零,用于清空TDC-GPX内部FIFO中数据,准备下一轮测量。第4步,STM32F103ZET6启动串口1发送上述第1步和第2步写入循环FIFO中的测量数据。最后,IrFlag中断退出,程序返回事件循环。
3.3数据打包单元软件
数据打包单元的STM32F103ZET6在串口2~5的中断服务程序中分别接收4个基本测量单元从各自串口1发送的时间间隔测量数据,并将收到的数据写入其内部RAM中开辟的32 kbyte循环FIFO中,这就实现了25路时间间隔测量数据的打包存储,同时STM32F103ZET6也在串口1中断服务程序中读取32 kbyte循环FIFO中的数据并发送。串口1输出的数据经PL2303芯片转换为USB数据流进入上位PC机进行显示、处理及存储。数据打包单元STM32F103ZET6配置串口1波特率为115.2 kbit/s,串口2~串口5波特率为38.4 kbit/s,串口1~串口5中断均配置为子优先级方式,不允许抢占运行,这是因为串口2~串口5写入的与串口1读出的都是同一块32 kbyte循环FIFO,只有采用子优先级方式,才能保证并行操作下数据读写的正确性。
3.4循环FIFO实现
本设计在4个基本测量单元上STM32F103ZET6片内RAM中开辟了8 kbyte循环FIFO作为串口1的发送缓冲区。在数据打包单元上STM32F103ZET6片内RAM中开辟了32 kbyte循环FIFO作为串口1~串口5的收、发缓冲区。这样通信收、发缓冲区对应的存储区域都是一个循环队列,如此设计可有效避免因通信缓冲区溢出引发的通信处理异常。
循环FIFO设置有读指针和写指针。每写入或读出一个数据,写指针或读指针就沿缓冲区移动一位。循环FIFO空、满状态判断非常方便,下面的语句组摘自本设计的基本测量单元STM32F103ZET6串口1发送中断服务程序,其中SEND_BUF_SIZE= 8192,即循环FIFO大小为8 kbyte,Scom1定义了串口1操作的结构体。
第①句判断循环FIFO是否为空,即判断读指针pRD_SendBuf是否等于写指针pWR_SendBuf,如果相等表示循环FIFO为空,跳出该判断分支。如果不等表示循环FIFO中有数据,随即执行第②句,从循环FIFO读出1 byte送串口1进行发送。第③句判断循环FIFO读指针pRD_SendBuf是否已经指向循环FIFO的最后1个单元,如果为真则执行第④句调整读指针使其指向循环FIFO的第1个单元,覆盖已发送的测量数据,这就实现了FIFO的循环操作,只要缓冲区大小设置合理,循环FIFO中被覆盖的数据必定是已发送了的过时数据;如果第③句判断为假则执行第⑤句,对读指针+1使其指向循环FIFO下一个待发送的数据单元。
4 试验及误差分析
研发的测时系统是项目组研制5×5光纤阵列耦合APDs面阵激光雷达实验室样机的关键部件之一,为了验证该研发的测时系统性能,我们利用面阵激光雷达样机进行试验,如图6所示,实验室样机包含图1所示的结构框图各组成部分。
图6 5×5光纤阵列耦合APDs面阵激光雷达实验室样机
图7 25个通道的距离标准偏差值
测试试验在实验室内完成,探测目标为室内白色墙面,探测距离11.267 m(由测量精度±3 mm的Leica DISTO A3型号激光测距仪标定),限于篇幅本论文仅对此距离的测量进行详细分析。设定激光器发射频率为1 Hz,共测试了228次,测试过程中时间间隔测量数据由USB口自动上传至PC机,参与测量的所有25通道获得228组时间测量值,然后根据基本测距公式将测得的228组25个通道的时间间隔值转化为距离值再与真实距离进行比较得出每个通道每次的距离偏差值ΔL,经统计分析得出所有25通道距离偏差范围为-6.41 cm<ΔL≤10.58 cm,各通道的距离标准偏差值如图7(其中Ch1,Ch2…Ch25分别表示通道1至通道25),距离标准偏差最大值为4.22 cm位于Ch18。为了更清晰的获知25通道单次测量距离偏差值的分布情况,对所有通道的距离偏差值分成4个区间(即:(-6.41 cm,0],(0,5 cm],(5 cm,10],(10 cm,10.58]),统计出各通道在每个区间的偏差值占各自的百分比,各通道的分布情况如图8所示。从图8可见对于所有的25个通道,在(-6.41 cm,0]区间的距离偏差,比例最小位于Ch10占该通道的0.44%,最大位于Ch18占该通道的21.49%;在(0,5 cm]区间的距离偏差,比例最小位于Ch1占该通道的55.26%,最大位于Ch14占该通道的92.11%;在(5 cm,10]区间的距离偏差,比例最小位于Ch14占该通道的5.26%,最大位于Ch21占该通道的25.44%;在(10 cm,10.58]区间的距离偏差,只有6个通道出现且最多只占该通道的0.88%。可见全部25个通道的距离偏差基本集中在10 cm以内。
根据上面的结果从3方面分析测试误差,首先,从偏差范围可以看到正方向偏差大于负方向,主要原因是PIN高速光电探测模块从收到取样激光脉冲至产生Start信号的延时要小于阵列探测模块从接收到激光回波至产生Stop信号的延时,进而Stop-Start的时间差将比实际的激光飞行时差偏大,最终导致测量值向正方向偏移;对于这两种探测模块的延时不一致的原因是PIN高速光电探测模块收到的取样激光信号远大于阵列探测模块各APD单元收到的回波信号,导致前者放大电路得到的模拟信号幅值和上升速度远大于后者,而这两种探测模块是采用前沿固定阈值时刻鉴别的方式,使得两者的延时不一致。其次,可以看到各通道之间任意一个区间占本通道距离偏差百分比不一样即各通道距离偏差非一致性,通过分析主要原因是照射到目标的激光光斑能量分布不均匀使得接收到的各个通道回波信号的强度不同导致定时的时刻点不一致,引起25路Stop信号不能同时输入TDC-GPX芯片的各Stop信号引脚,进而有Sotp1-Start、Sotp2-Start…Sotp25-Start之差不一致。再次,可以发现各通道的测距精度相比TDC-GPX芯片81 ps(对应±1.215 cm)的分辨率有一定的差距,通过分析原因主要是激光雷达系统光电探测处理电路引起的误差,由高速示波器可以观察到各Stop信号有500 ps左右的抖动,对应距离测量精度±7.5 cm。通过分析误差引起的原因可知这些测量误差主要是由Start信号与各Stop信号这一参与测时的“信号”引起,而非设计的测时系统。
综合上述分析可知设计的测时系统满足面阵激光雷达多通道高精度的测距需求,而且其本身的测量精度应优于测试面阵激光雷达实验室样机得到的距离偏差。
5 结论
本文研制了一个时间间隔测量系统,实现了面阵激光雷达多路激光飞行时间的并行高精度测量,已成功应用于面阵激光雷达样机测试试验,达到了面阵激光雷达三维成像设计的精度需求。根据试验结果分析,我们得出:该测时系统的正方向测时偏差大于负方向、通道间的测时偏差非一致性、测时精度与TDC-GPX芯片分辨率有一定差距,其主要原因是输入该测时系统的Start信号和Stop信号本身引起。为了提升面阵激光雷达的整体性能,对于探测光源可以采用脉宽更窄、光斑能量分布更均匀的激光器,选取响应速度更快的光电探测器,同时必须改进图1中两种探测模块产生Start信号和Stop信号的定时时刻方式,这些问题也是本项目后续研究需重点考虑的内容。
[1]Scott Marion W.Range Imaging Laser Radar[P].US Patent: 4935616,1990-06-19.
[2]吴丽娟,李丽,任熙明.盖革模式APD阵列激光雷达的三维成像仿真[J].红外与激光工程,2011,40(11):2180-2186.
[3]李番,邬双阳,杨红果,等.激光雷达多元阵列探测技术[J].红外与激光工程,2009,38(2):295-297.
[4]McManamon Paul F.Review of Ladar:A Historic,Yet Emerging,Sensor Technology with Rich Phenomenology[J].Optical Engineering,2012,51(6):060901-1-060901-13.
[5]Barenz J,Baumann R,Tholl H D.Eye Safe Imaging LADAR/Infrared Seeker Technologies[C]//Proc of SPIE,Laser Radar Technology and Applications X,Orlando,Florida,USA,2005,5791:51-60.
[6]Borniol E,Rothman J,Guellec F,et al.Active Three-Dimensional and Thermal Imaging with a 30-μm Pitch 320×256 HgCdTe Avalanche Photodiode Focal Plane Array[J].Optical Engineering,2012,51(6):061305-1-061305-6.
[7]Zhou Guoqing,Yang Jiazhi,Li Xin,et al.Advances of Flash Lidar Development Onboard UAV[C]//International Archives of the Photogrammetry,Remote Sensing and Spatial Information Sciences,VolumeⅩⅩⅪⅩ-B3,2012ⅩⅫISPRS Congress,Melbourne,Australia,2012:193-198.
[8]唐理洋,张亚君.基于红外线测距的汽车防撞系统的研究[J].电子器件,2012,35(3):366-370.
[9]车震平.一种高精度大量程时间间隔计数器的设计[J].核电子学与探测技,2011,31(6):598-600.
[10]岱钦,耿岳,李业秋.利用TDC-GP21的高精度激光脉冲飞行时间测量技术[J].红外与激光工程,2013,42(7):1706-1709.
[11]张金,王伯雄,崔园园,等.高精度回波飞行时间测量方法及实现[J].兵工学报,2011,32(8):970-974.
[12]ACAM.TDC-GPX Ultra-High Performance 8 Channel Time-to-DigitalConverter[EB/OL].Jan18,2007,http://www.acam.de.
[13]刘军.例说STM32[M].北京:北京航空航天大学出版社,2011.
[14]Microelectronics S T.STM32F10x Advanced ARM-Based 32-bit MCUs Reference Manual[DB/OL].June,2009,http://www.st.com.
[15]孟彦京,高筱筱,李林涛,等.基于STM32的软起动器程序设计[J].电子器件,2013,36(5):685-689.
图8 25通道测量结果与实际距离的偏差分布在各区间的百分比
周国清(1965-),男,汉族,江西湖口人,现任桂林理工大学广西空间信息与测绘重点实验室主任,博士生导师,主要研究方向摄影测量与遥感、激光雷达技术,gzhou@glut.edu.cn。
EEACC:4360;6320C10.3969/j.issn.1005-9490.2015.01.036
面阵激光雷达多通道时间间隔测量系统研制*
周国清1*,周祥2,张烈平2,张飙3,杨春桃2,刘毅龙2,黎明焱2
(1.桂林理工大学广西空间信息与测绘重点实验室,广西桂林541004;2.桂林理工大学机械与控制工程学院,广西桂林541004;3.桂林理工大学信息科学与工程学院,广西桂林541004)
为解决APD面阵激光雷达多路激光飞行时间测量这一关键技术,研制了多通道高精度并行时间间隔测量系统。系统硬件由研制的4个基本测量单元和1个数据打包单元组成,系统软件采用事件驱动模式编程,利用循环FIFO和中断技术实现与上位机数据通信。被研发的测时系统应用于5×5光纤阵列耦合APD面阵激光雷达试验后,面阵激光雷达所有25个通道最大的距离标准偏差为4.22 cm,测距偏差为-6.41 cm~10.58 cm,达到面阵激光雷达测距精度要求。
APD面阵激光雷达;多通道时间间隔测量;TDC-GPX;STM32F103ZET6
TN958.98
A文献标识码:1005-9490(2015)01-0166-08
2014-03-26修改日期:2014-04-24
项目来源:广西区主席基金项目(2010-169);国家自然科学基金项目(41162011);广西区自然科学基金重点项目(2012GXNSFCB053005);广西科学研究与技术开发计划项目(桂科合14123001-4);广西空间信息与测绘重点实验室开放基金项目(13-051-14-14)
猜你喜欢
杂志排行
电子器件的其它文章
- The Implementation of CRC Algorithm Based on FPGA
- A Bandgap Reference with High Temperature Performance*
- The Relationship between Excessive Leakage Current,Large Thermal Resistance and Voids Rate*
- A Method of Bottleneck Detection of Semiconductor Assembly and Test Production Line*
- Suppression of Spurious Radiation of Patch Antenna Based on Microstrip Spiral-Defected Resonant Cells*
- An Ultra-Wideband Low Noise Amplifier Based on Noise Cancellation Technique*