[发明专利]一种基于FPGA的TDC激光测距方法有效
申请号: | 201510829584.8 | 申请日: | 2015-11-25 |
公开(公告)号: | CN106772405B | 公开(公告)日: | 2019-08-30 |
发明(设计)人: | 顾国华;唐彦琴;周玉蛟;杨成章 | 申请(专利权)人: | 南京理工大学 |
主分类号: | G01S17/08 | 分类号: | G01S17/08 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 朱显国 |
地址: | 210094 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga tdc 激光 测距 方法 | ||
技术领域
本发明属于激光或红外等脉冲测距技术领域,具体涉及一种基于FPGA的TDC激光测距方法,可应用于激光雷达汽车智能防撞、遥感成像等方面。
背景技术
激光测距系统是通过测量激光从发射到返回之间的时间来计算距离的。在如图1所示的脉冲式激光测距测距中,时差测量成为了一个影响整个测量精度最关键的因素。一般完成时差测量有两种基本途径:一是利用可编程门阵列,例如FPGA或CPLD,自己编程开发,二是使用商品化的通用TDC芯片。
利用可编程门阵列自己编程时差测量的优势是:能够在单个芯片上同时完成时间测量、控制与读出逻辑以及测量结果的后续处理,具有较高的性价比,但存在难以克服供电电压和环境温度波动的影响、难以保持多通道测量工作一致性以及测量精度低的缺点。
与之相比,通用TDC芯片可以较好地解决上述缺点。TDC芯片具有较高的测量精度,例如要测量1公里的距离,分辨率要求1cm,则时间间隔测量的分辨率则要求高达67ps,其中时间数字转换芯片TDC单次测量分辨率为65ps。另外,TDC芯片功耗低,集成度高,测量灵活性高,功能完善、使用者不需要了解TDC芯片的内部实现细节即可实现时差测量。但是,利用通用TDC芯片实现时差测量又也存控制接口复杂,需要配合单片机或FPGA逻辑才能实现芯片的配置和测量结果的读出等缺点。
发明内容
本发明提出一种基于FPGA的TDC激光测距方法,提高了测量精度,增强了数据稳定性并能实时得到距离信息。
为了解决上述技术问题,本发明提供一种基于FPGA的TDC激光测距方法,由FPGA和TDC共同完成;其中,TDC用于计算开始信号与截止信号之间的时间差;FPGA用于提供脉冲信号,并将TDC时间差转换为距离信息;脉冲信号用于驱动激光发射器以及作为触发TDC进行时间差测量的开始信号;所述TDC为TDC-GP2。
进一步,通过FPGA对TDC进行配置以及控制TDC进行时间差测量。
进一步,所述脉冲信号在驱动激光发射器发射激光的同时触发TDC;光电探测器一旦接收到反射脉冲,FGPA就将截止信号输入给TDC的STOP通道。
进一步,目标回波信号先进入FPGA,FPGA将回波信号转换为数字信号后送给TDC。
进一步,TDC的管脚电压Vio与电源电压Vcc均采用FPGA的内部电压供电,且Vio>Vcc-0.5V。
进一步,FPGA采用三段式状态机控制其SSN信号的拉低、拉高以及读和写操作;所述三段式状态机共有五个状态,分别为:IDLE、READ_SSN、WRITE_SSN、READ_DATA及WRITE_DATA;空闲时,状态机处于IDLE状态,当需要往TDC写数据时,先从IDLE状态跳转到WRITE_SSN状态,将SSN信号拉低;之后立即跳转到WRITE_DATA状态,将八位数据写到串行外设接口SPI的发送寄存器,通过发送寄存器移位转化成串行输出,利用MOSI信号线将数据发送给TDC;数据发送完成后重新跳转到WRITE_SSN状态,拉高SSN信号。
进一步,FPGA对TDC进行配置的方法为:FPGA向TDC写入50h进行上电复位;然后配置6个寄存器,FPGA向TDC内写入80000422h配置寄存器0,使得TDC选择测量范围1,进行自动校准,晶振上电后一直起振并且选择START信号上升沿触发,STOP_1信号下降沿触发;FPGA向TDC写入81014100h配置寄存器1,定义TDC内部计算方式为用STOP_1通道的第一个脉冲的上升沿减去START通道第一个脉冲的上升沿;FPGA向TDC写入82E00000h配置寄存器2,开启所有中断源,使得在TDC收到截止信号后开启中断;FPGA向TDC写入83000000h和84200000h配置寄存器3和寄存器4;FPGA向TDC写入85080000h,关闭噪声单元。
进一步,FPGA控制TDC进行时间差测量的过程为:FPGA向TDC写入70h进行初始化测量,使TDC进入测量准备状态;当START通道和STOP_1通道都接收到脉冲信号完成测量后,TDC产生中断,当INTN中断信号为低时,TDC发送读命令,FPGA读取MISO线上的读状态寄存器数据,判断是否溢出,若读取为0200h,则代表TDC溢出,FPGA向TDC写入70h来初始化,若读取为0009h,则代表在测量范围内,继续向TDC写入B0h,FPGA读取寄存器0中的数据,存放在OUT寄存器中,获得最初的时间差数据;FPGA在读完一次数据后,三段式状态机返回到IDLE状态,重新上电复位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510829584.8/2.html,转载请声明来源钻瓜专利网。