利用μC/OS-II的嵌入式激光测距系统
由于本系统软件功能相对复杂,既有输入和输出模块,又要完成测量操作和数据的处理,对速度和实时性要求比较高,为此本文采用了μ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 处理器自身的性能给系统提供了优良的硬件条件,这样从整体上提高了测距系统的实时性、稳定性、抗干扰性,具有一定的实用价值。
- 基于ARM和μC/OS-II的车载定位终端的设计(06-24)
- ADμC845的车用数字仪表设计方案(09-21)
- μC/OS-II操作系统在不同处理器上的应用(10-25)
- 基于Nios软核的嵌入式Internet系统设计(07-23)