历史上的今天
今天是:2025年05月07日(星期三)
2021年05月07日 | 基于μC/OS-II的嵌入式激光测距系统方案
2021-05-07 来源:eefocus
0 引言
激光测距系统的最基本原理就是测量激光脉冲在空间传播的时间间隔,从而获得被测量的距离。针对相位法激光测距的基本原理与实现方法进行研究,本文结合了嵌入式、差频测相等相关技术和实时操作系统μC/OS-II的优点,硬件结构合理,软件实现方法灵活,满足了网络化实时高速信息提取和传输的要求。
避免了传统测距系统中存在着劳动强度大、数据采集慢、数据处理时间长、计算准确度低及数据不能直接输出到其它系统等问题。本系统实现相对简单,具有测量精度高、稳定度好、速度快等优点。在生产厂矿、科研学校、计量院所等有着很大的应用空间,具有有很高的实用价值。
1 系统的基本原理
1.1 相位式激光测距原理
对于连续波的激光测距一般采用相位式测距,主要是指用连续调制的激光波光束照射待测物体,从测量光束往返中产生的相位变化关系换算出激光传感器与待测目标物体间的距离D。

公式(1) 为相位式测距公式,其中C 为光波在空气中的传播速率,φ为调试的激光信号经过反射后而产生的相位差,f 为信号的调制频率。它可得到优于脉冲式飞行时间测量法的测距精度,但是测距速度慢,结构更为复杂,对于高速运动物体存在多普勒效应。
图 1 为相位式激光测距原理图,其中Δφ为信号往返时相位延迟不足2π 的部分,其中φ= 2Nπ + Δφ,N为激光往返所包含的波长的个数。于是,在给定调制频率的情况下,距离的测量就变成了对激光往返一次所包含整数个波长数量的测量和不足于一个波长的相位的测量。随着现代无线电测相技术的发展,相位测量可达很高的精度,所以相位式激光测距也能达到很高的精度。

1.2 差频测相原理
所谓差频法测相的原理就是指通过主振频率与本振频率的乘法混频,得到两个新的频率的信号分量的叠加,经过低通滤波器后,变成了中低频信号,由于差频信号仍保持着原高频信号相应的相位关系,测量中低频信号的相位就相当于测量主振信号经往返距离后的相位延迟。这样可以降低电路复杂度,提高了测距精度。

将这两路信号与外加的信号U3 = I3cos(ω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 及64MB 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 处理器自身的性能给系统提供了优良的硬件条件,这样从整体上提高了测距系统的实时性、稳定性、抗干扰性,具有一定的实用价值。
史海拾趣
|
比尔盖茨曾说过机器人的发展就像当年PC的发展一样,会影响改变人们的生活和工作,如同现在计算机网络,让人们寸步不离。其实机器人的智能完全依靠高速CPU,大容量存储,要想灵活独立运动,最好使用微软的嵌入式系统;当然,如果机器人根本不打 ...… 查看全部问答> |
|
颜工 简介:北京大学上海微电子研究院兼职研究员。 现任华润矽威科技(上海)有限公司市场部经理/高工,上海市传感技术学会理事、副秘书长。曾在上海贝岭股份有限公司任市场与技术支持部经理/高工、IPCore—APSemi任FAE经理/高工、香港棋港电 ...… 查看全部问答> |
|
如图所示buck dcdc,那么如果要用 Hspice 做环路的稳定性分析,如何实现呢? 例如下图中的RS逻辑模块应该怎样处理呢? 我的意思是对数字模块如何建模呢?… 查看全部问答> |
|
对讲与警报这两个原本各自运作的系统,近年来掀起一股“合而为一”的趋势。原因为何?在整合或独立之间,到底各有哪些优缺点?该如何选择?可视对讲与警报系统,过去是两个完全独立的系统,甚至在全球大部分市场,仍是如此。然而在亚洲市场上,中国 ...… 查看全部问答> |
|
您好,我正在学习你们的LM3S9B96芯片,但我发现Ti 网上提供的例程并不全可用,比较后发现,要把程序下载地址偏移量设为‘0X00001000’后才可下载运行程序,我查看了LM3S9B96芯片资料,百思不得其解,还望指教!… 查看全部问答> |




