论文部分内容阅读
摘要:文章介绍了一种基于复杂可编程逻辑器件(CPLD)和89S52单片机的激光雷达数据采集门控系统。该系统采用CPLD构建计数器对激光雷达的开启实现门控,同时采用89C51单片机进行计算、控制和连接外围接口,同时用液晶显示器(LCD)显示目标的大致距离,实现人机交互友好的效果。
关键词:复杂可编程逻辑器件 单片机 门控 计数器
门控系统是激光雷达系统的一个重要组成部分,高精度的门控可以保证探测精度及观测数据的质量。在大气遥感激光雷达的光学接收装置中,一般采用的是PMT来接收回波,实现光子计数。由于雷达回波能量与距离的平方成反比,因此在低空反射的回波能量大,通常会超过PMT的接收阈值。此时就会使PMT的响应函数产生畸变,导致接收的数据可信度降低。所以,设计一个门控系统来控制近距离强回波,限制PMT饱和是十分必要的。高精度门控系统可以精确控制PMT工作时序,保证了激光雷达系统的探测精度和准确性。本文介绍的系统主要通过运用VHDL硬件描述语言对CPLD(复杂可编程逻辑器件)进行编程,使其与单片机协调工作,以实现激光雷达门控系统功能,其分辨率达500ns。具有成本低、精度高的优点。
系统主要功能描述
本系统主要完成以下功能:预先估计激光雷达探测目标的距离范围,系统根据目标距离范围计算出门控信号开启和关闭的时间。系统由激光雷达脉冲触发开始工作,并输出门控信号控制激光雷达接收器,只有当门控信号有效(高电平)时接收器才开始接收回波。图1是激光脉冲频率为50Hz条件下的工作时序图。
系统方案设计和实现
(一)方案设计
本设计采用脉冲计数法,对2MHz方波信号进行技术,达到500ns的控制精度。由单片机构建键盘和LCD显示模块,并由键盘输入探测目标距离最大值和最小值,单片机根据这两个值分别计算出门控开启和关闭时间所对应的计数值,传送给CPLD构成的计数器。计数器根据两个预置的计数值输出门控信号。激光雷达探测系统所要求的目标距离范围为0.2-150km,则要求门控关闭时间达1ms,当计数脉冲为2M,计数器最大值至少为2000(二进制12位),故设计一个双预置数16位计数器。计数器计数脉冲由2M有源晶振产生。
(二)系统实现
1、单片机设计。单片机在系统中的作用为控制、计算以及控制外围输入输出。系统的设计实现中采用89C51单片机。P1口是一个准双向口,通常用作I/O口。因此用P1.0-P1.7作为键盘的的接口,作为数据输入口,通过键盘向单片机输入预测的距离数据。由于P0口的每位电路结构中都有一个上拉场效应管,因此作为输出口驱动能力较强,因此,通过P0口将由键盘输入的数据传输到LCD的驱动芯片DM74ALS1245AN以及CPLD进行计数控制。P2.7与写信号相与之后作为LCD的选通信号;P2.0的输出作为LCD的复位信号,P2.1的输出作为LCD的读写控制信号。对单片机进行编程时,我们采用可读性强的C语言代替汇编语言,缩短了开发周期。
2、CPLD设计。系统的输出信号产生模块由CPLD构架。由于89C51单片机控制引脚个数有限,且数据口仅为8位,而计数器的预置数为两个16位数据,故在CPLD内设计一个2-4译码器和4个8位寄存器,其中译码器用于扩展控制引脚,用2个引脚产生4位控制信号;4个寄存器分别存储两个16位数据的高8位和第8位。CPLD设计的核心模块是一个双预置数16位计数器。假设较小的预置数为t1,较大的预置数为t2。初始状态输出低电平。触发信号上升沿触发系统工作,计数器由0开始对2MHz方波进行计数,当计数至t1时,输出信号变为高电平,计数器继续计数;当计数值达t2时,输出信号变低,此时输出信号即为一个门控信号。由于触发信号频率约为几十赫兹,远小于计数脉冲频率。计数器计数值很容易溢出而归零,进而重复计数多次,即可能造成一个触发信号周期内输出多个门控信号的现象。为了防止这种现象的产生,必须定义计数器在输出一个门控信号之后停止计数,直到下一个触发信号重新触发才开始计数。图2为CPLD设计顶层结构图。采用Xilinx公司的XC95108PC84型号的CPLD芯片进行测试。该型号芯片16位计数器的最高工作频率可达125MHz,完全满足设计要求。系统工作时的输入信号为激光脉冲产生的触发信号,因而可以灵活控制门控信号的产生。激光脉冲的频率常为几十赫兹,实验中可用低频信号源或振荡电路产生方波来代替。
(三)仿真测试
CPLD的仿真测试是在MODELSIM软件下完成的,通过VHDL建立测试平台(TestBench)进行仿真,对计数脉冲、触发信号、控制信号进行设置,得到仿真波形(见图3)。在仿真效果图中,第一个信号是计数脉冲(clk),第二个是触发信号(rst),第三个是输出门控信号(cout)。由图3可以看到,该系统能够输出稳定的门控信号。
测试结果及分析
令Dmin表示目标预估距离范围最小值,Dmax表示目标预估距离范围最大值。光速为C。则门控信号开启时间t1=(2×Dmin)/C;门控信号关闭时间t2=(2×Dmax)/C;计算时取光速C=3.0×10^8m/s。将设计方案转化为硬件电路进行连接和测试,用示波器进行波形观察和测量。图4为示波器实际测试界面。其中,信号1为激光脉冲触发信号,信号2为系统电路输出门控信号。再选取具有代表性的数据对输入系统,用示波器对输出信号进行测量,得到的数据如表1所示:
由于系统计数脉冲频率2MHz,且触发信号与计数脉冲为异步信号,故系统输出存在1个计数脉冲周期(0.5us)的系统误差。考虑系统误差,可以看到本電路在误差允许范围之内,门控信号控制的探测范围能达到0.15-1200km,控制距离精度为10米级,达到了预期要求,可以实现对激光雷达数据接收系统进行精确控制的功能。
结论
该系统采用简单的可编程复杂逻辑器件、单片机以及液晶显示器实现了激光雷达的门控,并且经过实际测试,门控系统的精度较高,可以达到要求。该系统成本低,精度较高,便于操作,具有实用价值。但是在测试过程中所存在的误差还有待进一步研究,以更大限度地提高系统的精度。
*本文为武汉大学2008年大学生科研面上项目,项目编号:S2008208。
(作者单位:武汉大学电子信息学院)
参考文献
1、张云鹏.PMT的门控电路原理[R].武汉大气遥感野外科学观测研究站内部报告,2006
2、李朝青.单片机原理及接口技术[M].北京航空航天大学出版社,1999
3、黄根春,陈小桥,张望先.电子设计教程[M].电子工业出版社,2007.
关键词:复杂可编程逻辑器件 单片机 门控 计数器
门控系统是激光雷达系统的一个重要组成部分,高精度的门控可以保证探测精度及观测数据的质量。在大气遥感激光雷达的光学接收装置中,一般采用的是PMT来接收回波,实现光子计数。由于雷达回波能量与距离的平方成反比,因此在低空反射的回波能量大,通常会超过PMT的接收阈值。此时就会使PMT的响应函数产生畸变,导致接收的数据可信度降低。所以,设计一个门控系统来控制近距离强回波,限制PMT饱和是十分必要的。高精度门控系统可以精确控制PMT工作时序,保证了激光雷达系统的探测精度和准确性。本文介绍的系统主要通过运用VHDL硬件描述语言对CPLD(复杂可编程逻辑器件)进行编程,使其与单片机协调工作,以实现激光雷达门控系统功能,其分辨率达500ns。具有成本低、精度高的优点。
系统主要功能描述
本系统主要完成以下功能:预先估计激光雷达探测目标的距离范围,系统根据目标距离范围计算出门控信号开启和关闭的时间。系统由激光雷达脉冲触发开始工作,并输出门控信号控制激光雷达接收器,只有当门控信号有效(高电平)时接收器才开始接收回波。图1是激光脉冲频率为50Hz条件下的工作时序图。
系统方案设计和实现
(一)方案设计
本设计采用脉冲计数法,对2MHz方波信号进行技术,达到500ns的控制精度。由单片机构建键盘和LCD显示模块,并由键盘输入探测目标距离最大值和最小值,单片机根据这两个值分别计算出门控开启和关闭时间所对应的计数值,传送给CPLD构成的计数器。计数器根据两个预置的计数值输出门控信号。激光雷达探测系统所要求的目标距离范围为0.2-150km,则要求门控关闭时间达1ms,当计数脉冲为2M,计数器最大值至少为2000(二进制12位),故设计一个双预置数16位计数器。计数器计数脉冲由2M有源晶振产生。
(二)系统实现
1、单片机设计。单片机在系统中的作用为控制、计算以及控制外围输入输出。系统的设计实现中采用89C51单片机。P1口是一个准双向口,通常用作I/O口。因此用P1.0-P1.7作为键盘的的接口,作为数据输入口,通过键盘向单片机输入预测的距离数据。由于P0口的每位电路结构中都有一个上拉场效应管,因此作为输出口驱动能力较强,因此,通过P0口将由键盘输入的数据传输到LCD的驱动芯片DM74ALS1245AN以及CPLD进行计数控制。P2.7与写信号相与之后作为LCD的选通信号;P2.0的输出作为LCD的复位信号,P2.1的输出作为LCD的读写控制信号。对单片机进行编程时,我们采用可读性强的C语言代替汇编语言,缩短了开发周期。
2、CPLD设计。系统的输出信号产生模块由CPLD构架。由于89C51单片机控制引脚个数有限,且数据口仅为8位,而计数器的预置数为两个16位数据,故在CPLD内设计一个2-4译码器和4个8位寄存器,其中译码器用于扩展控制引脚,用2个引脚产生4位控制信号;4个寄存器分别存储两个16位数据的高8位和第8位。CPLD设计的核心模块是一个双预置数16位计数器。假设较小的预置数为t1,较大的预置数为t2。初始状态输出低电平。触发信号上升沿触发系统工作,计数器由0开始对2MHz方波进行计数,当计数至t1时,输出信号变为高电平,计数器继续计数;当计数值达t2时,输出信号变低,此时输出信号即为一个门控信号。由于触发信号频率约为几十赫兹,远小于计数脉冲频率。计数器计数值很容易溢出而归零,进而重复计数多次,即可能造成一个触发信号周期内输出多个门控信号的现象。为了防止这种现象的产生,必须定义计数器在输出一个门控信号之后停止计数,直到下一个触发信号重新触发才开始计数。图2为CPLD设计顶层结构图。采用Xilinx公司的XC95108PC84型号的CPLD芯片进行测试。该型号芯片16位计数器的最高工作频率可达125MHz,完全满足设计要求。系统工作时的输入信号为激光脉冲产生的触发信号,因而可以灵活控制门控信号的产生。激光脉冲的频率常为几十赫兹,实验中可用低频信号源或振荡电路产生方波来代替。
(三)仿真测试
CPLD的仿真测试是在MODELSIM软件下完成的,通过VHDL建立测试平台(TestBench)进行仿真,对计数脉冲、触发信号、控制信号进行设置,得到仿真波形(见图3)。在仿真效果图中,第一个信号是计数脉冲(clk),第二个是触发信号(rst),第三个是输出门控信号(cout)。由图3可以看到,该系统能够输出稳定的门控信号。
测试结果及分析
令Dmin表示目标预估距离范围最小值,Dmax表示目标预估距离范围最大值。光速为C。则门控信号开启时间t1=(2×Dmin)/C;门控信号关闭时间t2=(2×Dmax)/C;计算时取光速C=3.0×10^8m/s。将设计方案转化为硬件电路进行连接和测试,用示波器进行波形观察和测量。图4为示波器实际测试界面。其中,信号1为激光脉冲触发信号,信号2为系统电路输出门控信号。再选取具有代表性的数据对输入系统,用示波器对输出信号进行测量,得到的数据如表1所示:
由于系统计数脉冲频率2MHz,且触发信号与计数脉冲为异步信号,故系统输出存在1个计数脉冲周期(0.5us)的系统误差。考虑系统误差,可以看到本電路在误差允许范围之内,门控信号控制的探测范围能达到0.15-1200km,控制距离精度为10米级,达到了预期要求,可以实现对激光雷达数据接收系统进行精确控制的功能。
结论
该系统采用简单的可编程复杂逻辑器件、单片机以及液晶显示器实现了激光雷达的门控,并且经过实际测试,门控系统的精度较高,可以达到要求。该系统成本低,精度较高,便于操作,具有实用价值。但是在测试过程中所存在的误差还有待进一步研究,以更大限度地提高系统的精度。
*本文为武汉大学2008年大学生科研面上项目,项目编号:S2008208。
(作者单位:武汉大学电子信息学院)
参考文献
1、张云鹏.PMT的门控电路原理[R].武汉大气遥感野外科学观测研究站内部报告,2006
2、李朝青.单片机原理及接口技术[M].北京航空航天大学出版社,1999
3、黄根春,陈小桥,张望先.电子设计教程[M].电子工业出版社,2007.