基于μC/OS-II的嵌入式激光测距系统
扫描二维码
随时随地手机看文章
本文介绍一种基于 ARM9 的激光测距系统的硬件原理设计和软件设计方案。以 ARM9 处理器为控制核心,采用相位法激光测距技术,首先用正弦信号调制半导体激光器的发射激光,然后将被测物反射的激光用光电探测器转换为电信号,采用相位测量技术测量出发射信号与接收信号的相位差,从而计算出与被测物的距离。最后使用实时操作系统μC/OS-II 作为系统控制核心,以确保测量精度。
0 引言
激光测距系统的最基本原理就是测量激光脉冲在空间传播的时间间隔,从而获得被测量的距离。针对相位法激光测距的基本原理与实现方法进行研究,本文结合了嵌入式、差频测相等相关技术和实时操作系统μC/OS-II 的优点,硬件结构合理,软件实现方法灵活,满足了网络化实时高速信息提取和传输的要求。
避免了传统测距系统中存在着劳动强度大、数据采集慢、数据处理时间长、计算准确度低及数据不能直接输出到其它系统等问题。本系统实现相对简单,具有测量精度高、稳定度好、速度快等优点。在生产厂矿、科研学校、计量院所等有着很大的应用空间,具有有很高的实用价值。
1 系统的基本原理
1.1 相位式激光测距原理
对于连续波的激光测距一般采用相位式测距,主要是指用连续调制的激光波光束照射待测物体,从测量光束往返中产生的相位变化关系换算出激光传感器与待测目标物体间的距离D.
公式(1) 为相位式测距公式,其中C 为光波在空气中的传播速率,φ为调试的激光信号经过反射后而产生的相位差,f 为信号的调制频率。它可得到优于脉冲式飞行时间测量法的测距精度,但是测距速度慢,结构更为复杂,对于高速运动物体存在多普勒效应。
图 1 为相位式激光测距原理图,其中Δφ为信号往返时相位延迟不足2π 的部分,其中φ= 2Nπ + Δφ,N 为激光往返所包含的波长的个数。于是,在给定调制频率的情况下,距离的测量就变成了对激光往返一次所包含整数个波长数量的测量和不足于一个波长的相位的测量。随着现代无线电测相技术的发展,相位测量可达很高的精度,所以相位式激光测距也能达到很高的精度。
1.2 差频测相原理
所谓差频法测相的原理就是指通过主振频率与本振频率的乘法混频,得到两个新的频率的信号分量的叠加,经过低通滤波器后,变成了中低频信号,由于差频信号仍保持着原高频信号相应的相位关系,测量中低频信号的相位就相当于测量主振信号经往返距离后的相位延迟。这样可以降低电路复杂度,提高了测距精度。
将这两路信号与外加的信号U3 = I3 cos(ω1 t +φ3)进行乘法混频后可得到:
再将新得到的这两路信号1 W 和2 W 分别通过低通滤波器,滤除其高频分量,得到包含(ω -ω1 )频谱分量的低频信号,并且相应的相位信息 φ1和 φ2仍然保留在滤波后的信号中,而且不会导致相位信息的丢失,然后对这两路信号进行AD 采样,再由微处理器通过数字信号处理算法得出相位差Δφ,进而可以计算出发射激光与待测物体之间的距离。
2 系统的硬件结构和工作原理
系统的硬件组成如图2 所示,包括基于ARM9(S3C2440A)处理器模块、激光调制驱动电路、本振信号发生器、激光发射电路、激光接收电路、混频滤波电路、液晶显示模块、键盘输入模块等部分组成。S3C2440A 是SAM SUNG 公司推出的一款ARM 9 微控制器,内核是32 bitARM920T,它的系统时钟是由内部PLL 产生的400MHz CPU 内核工作频率,同时具有64 MB Flash 及64 MB SDRAM外部存储器。内部集成SDRAM 和FLASH 控制器,功能接口丰富,是一款高速、低功耗、高性能的新型处理器,可广泛应用于通信、汽车、工业控制、PDA、医疗等系统的开发。本文系统中采用ARM9核心板作为数据采集控制核心,由它来产生A/D 转换器的各种控制信号、基本的数据处理等。
系统的硬件工作原理是: 该系统主要由本振信号发生器、激光的发射电路和接收电路、混频及滤波电路、处理器与显示电路等部分组成。本振信号发生器可产生两个频率相差1KHz 的正弦信号,通过激光发射电路来调制发射激光的功率,再将发射激光和接收激光分别转换为相应电信号,然后通过混频和滤波放大电路将相位差信息转移到两个低频的信号上,最后由ARM 9 处理器采集这两个低频信号,并且计算出相位差并转换为距离,最后由显示模块显示出来。系统外围电路包括系统时钟、模数转换ADC、外部中断、定时系统、信号捕捉模块(Capture)、脉宽调制输出(PWM)等。
3 系统软件设计
由于本系统软件功能相对复杂,既有输入和输出模块,又要完成测量操作和数据的处理,对速度和实时性要求比较高,为此本文采用了μC/OS-II 实时操作系统。μC/OS-II 是一种简单、高效、源代码公开的实时嵌入式操作系统,μC/OS-II 提供的基本功能包括任务的建立、运行、删除、设置任务优先级、进行任务切换等,并且为任务之间的通信和共享资源的保护提供了事件标志、信号量、互斥信号量、邮箱四种机制。本文采用μC/OS-II 实时系统,充分体现了其简洁、高效的特点。软件设计主要是μC/OS-II 的移植和任务的编写。将操作系统移植到ARM9 处理器上,通过μC/OS-II 内核的任务调度,可解决传统嵌入式软件设计中出现的编程复杂、可维护性差以及系统的实时性得不到保证等问题。系统软件包括ARM 的程序设计,基于μC/OS-II 操作系统,选用Keil uVision3 集成开发环境,所有程序代码都采用C 语言来编写,具有较强的可移植性和可读性。
如图3 所示,系统软件由数据的采集、处理、显示等模块组成,这些模块由μC/OS-II 实时操作系统统一调度、运行,这样软件部分就变成了对各个任务模块程序的编写,数据的采集由AD 采集模块来完成,数据的处理由ARM 通信和数据处理模块、DA 转换模块等来完。显示主要是液晶的显示和驱动模块。其中底层驱动包括系统硬件的初始化、UART 接口的数据发送及接收的底层代码,液晶驱动模块包括液晶屏的点、线、汉字等内容显示的实现代码等等。
4 结束语
本文叙述了相位式激光测距的原理,较为详细地给出了系统的设计方案,并且采用ARM9 处理器和引入了嵌入式实时操作系统μC/OS-II.一方面,实时操作系统具有高效的多任务优先级管理、可裁减的内核结构、强大的扩展性和可移植性以及微秒级的中断管理等都更加有利于提高效率,有效的降低了应用程序开发的难度,有利于提高软件开发效率和开发周期的缩短。另一方面,嵌入式技术的应用和ARM9 处理器自身的性能给系统提供了优良的硬件条件,这样从整体上提高了测距系统的实时性、稳定性、抗干扰性,具有一定的实用价值。