激光测距机显示控制台的设计
激光测距机显示控制台的设计
作者:冯永霖;王志慧;赵保军
随着社会的高度发展和现代战争高科技化的需要,激光测距仪机的设计与开发得到了重视与关注,它在高压电网架设、石油开采、道路建设、隧道工程、水坝及水利建设、军事领域等方面有着广泛的应用。其基本原理是根据接收到的激光回波信号来判断并显示目标的距离,在实际应用中,需要和激光发射器配合使用。但是,在设计、开发激光测距机信号处理板的过程中,一般都不可能购买真正的激光发射器来进行调试,需要设计模拟信号源来进行调试。本文将要介绍的是在某项目开发中实际使用的显示控制台的设计,它是将信号源、测距结果显示、测距功能的控制结合在一起的一个系统。
1.系统总体机构
项目要求有 2 档测距范围———30km 和 60km、有 4 种周期的模拟主波脉冲、回波脉冲、以及三脉冲测距的功能(当回波信号淹没在噪声中时可通过外部控制指令转换为三脉冲信号处
理模式,利用三脉冲之间的相关信息提高激光回波信号的信噪比,达到提高激光测距机的测量范围的目的)。模拟回波是与主波形式一样的周期脉冲,只是与主波之间有一定的延迟,处理
板正是根据这个延迟时间长度来完成测距操作的。要求信号处理板将测得的距离信息以标准 RS422 编码的形式、通过接插件送给显示控制台,用 6 位数实时显示出来。因此,显示控制台要通过接插件给信号处理板提供模拟主波、模拟回波、测距范围选择、主波周期选择、单/三脉冲控制等信号。
针对项目对功能的要求,决定采用单片机 AT89C51RB2 作为显示控制台的核心控制器件,总体框图如下:
在设计时,将数码管显示部分单独设计成一块小板子,这是为了硬件设计上的灵活性和通用性。此外,控制台上有一路28V 电源入,要求通过接插件提供给信号处理板,因此还要设计电源转换模 28V 3.3V和 5V 电源值( 这部分在总体框图中未画出) 。
3 硬件设计
显示控制台整个硬件系统包括单片机 AT89C51RB2、6 位数码管显示、RS422 转串行数据部分、电源转换模块、接插件、完成几种控制信号选择的拨码开关等。系统的工作原理是:单片机检测控制主波周期设定、测距范围切换、单/三脉冲选择的开关的状态,根据各开关的状态产生相应周期的模拟主波和回波信号,信号处理板接收到信号后,利用板子上的 DSP 完成测距算法,将测距结果送回到显示控制台,显示控制台接收到以后,再通过数据线(即 P0 口)、经过驱动(利用 SN74LVC245)送往数码管进行实时显示。模拟主波 4 种周期值的设定通过 2 路拨码开关实现;一个带锁按钮开关实现测距范围的选择:按下表示测距 60km、弹起是测距 30km。若测距 60km,则对应回波与主波之间的延迟是 400μs;30km 时,回波与主波的延迟是200μs。另一按钮开关完成单脉冲测距或三脉冲测距的设置。
AT89C51 RB2 是美国 ATMEL 公司生产的低电压、高性能、兼容 MCS-51 的引脚和指令集的 CMOS 8 位单片机,有 256Byte的内置 RAM、16K 内置可反复擦写的 flash 只读程序存储器,具备 ISP(In-System Programming)———在线可编程功能,还有 3 个16 位定时/计数器等,可以非常方便地完成显示控制台的设计。考虑到模拟主波和回波都是周期脉冲,决定使用 89C51 的两个定时/计数器引脚 T0(即 P3.4)和 T1(即 P3.5)输出主波和回波信号。
因为从信号处理板传来的是 RS-422 格式的测距结果,所以,在控制台设计中使用了 MAX491ESD 完成 RS-422 格式到串行数据的转换,MAX491ESD 是 MAXIM 公司生产的低功耗、用于 RS-485 和 RS-422 通信的全双工收发器。转换后的数据通过 491ESD 的 RO 引脚再传送到单片机的 RXD 引脚。
MAX491ESD 的 RO 脚是输出, 是接收使能(“低”有效),DE 是驱动输出使能 (“高”有效)。在本设计中为了保证AT89C51RB2 的 ISP 功能的正常使用,是通过一个拨码开关控制 DE 信号的,当它为高时,图 3 中的 Y 和 Z 信号就可以接收从信号处理板发送过来的串行测距结果。
4 软件设计与实现
因为采用 AT89C51RB2 的定时器 0 和 1 分别产生周期性的、脉宽为 1μs 的主波和回波脉冲,故软件部分主要由单片机主程序、定时中断服务程序 0 及定时中断服务程序 1 组成。在主程序中要设定相应的定时器初值,并根据几个控制开关的状态产生所需周期长度的主波和一定延迟时间之后的回波脉冲。
本项目中要求信号处理板与显示控制台的通信波特率是115.2k,经过计算和分析,使用 AT89C51 的 T0 和 T1 作波特率发生器都无法满足这个速率要求。比如,若用 T1 作波特率发生器,则晶振为 12MHz 时可达到的是 62.5k、晶振为 24MHz 时可以得到 125k。认真研究芯片的文档资料,终于找到解决办法,通过合理地配置单片机的 BDRCON(Baud Rate Control Register)、 BRL(Baud Rate Control)等寄存器的值,并使用 24MHz 晶振,巧妙地启用 AT89C51 片内的“内部波特率发生器 BRG(Internal Baud Rate Generator)”得到了要求的 115.2k 的通讯波特率。
为了实现与主波保持一定延迟后产生同样周期、同样脉宽的回波脉冲,在程序设计中巧妙地将 T1 定时器的启动指令放在 T0 中断服务程序中。
4、结束语
本文针对某项目在进行激光测距机信号处理板的开发时需要模拟信号源及显示、控制的需求,设计完成了基于AT89C51RB2 的显示控制台。设计时,仔细分析脉冲周期、延迟时间长度之间的关系,巧妙地设置初值、并通过定时中断 0 和 1的嵌套和配合产生了需要的模拟主、回波信号。因 AT89C51RB2具有在线编程特性,调试起来非常方便。且考虑到硬件设计的通用性,独立的数码显示板设计完全可以用于其它项目的开发中。该系统体积小、工作稳定、功耗低。
本文作者创新点如下:一般设计时,大家习惯用单片机其它的输入/输出引脚,本设计直接采用 T0 和 T1 引脚输出通过定时中断服务程序产生的周期脉冲信号;巧妙地通过使用24MHz 晶振和启用 AT89C51RB2 的内部波特率发生器配置出需要的波特率值;程序设计中将 T1 定时器的启动嵌套在 T0 的定时中断服务程序中,准确地实现了项目要求的与主波延迟一段时间后产生回波脉冲。
本文章转自爱学术(aixueshu.com),如有侵权,请联系删除