嵌入式Linux 的精密控制系统解决方案

作者: 孟昭进   发布日期:2006-10-22 13:22   查看数:0
中文摘要:

  嵌入式Linux 操作系统相对WinCE、pSOS、Palm OS 有很多优点,有取代其他嵌入 式操作系统的趋势,它使得构造一个大型机器的复杂控制系统变得简单和容易. 研究解决了将嵌 入式Linux 操作系统应用到精密控制系统中的一些关键问题,给出构造其控制器软、硬件设计的 思路和方法.

英文摘要:

  Comparing with WinCE、pSOS、Palm OS ,embedded Linux operating system has lots of advantages ,possessing the tendency of replacing other embedded Linux operating systems. The system makes a complex cont rol system of a large machine to be easy and simple. The research work solved some key problems in application of precise cont rol systems and has given the ideas and methods to design hardware and software.


1  嵌入式Linux 内核体系结构
     嵌入式Linux 的内核体系结构如图1 所示,内核职能有4 点. (1) 硬件抽象层(HAL) ,包含了所有和硬件平台相关的代码,如上下文切换和I/ O 寄 存器访问等. 它存在于嵌入式Linux 的最底层,直接访问和控制硬件,对其上层的硬件提供 访问和控制服务. 这样,可以简化内核的移植工作, 除了设备驱动程序之外,在移植时只须修改HAL 的代码即可. (2) 内核是用来为大多数程序乃至OS (网络、 文件系统、驱动程序) 构建一系列在抽象的文 件上工作的抽象机,使用户程序及上层OS 组件 对系统设备透明. 这个内核主要实现如下一些接 口: 多任务、中断、异常及定时器函数; 标准C 函 数库; 应用程序的动态加载/ 卸载等等. (3) 实时内核提供对事件优先级的调度和抢 占支持,增加系统实时调度的能力. (4) 对应用程序提供的函数接口,专门为用 户定制网络、图形、视频等接口. 嵌入式Linux 内核的实现为微内核的体系结构,如图1 所示. 使用微内核的体系结构, 使得嵌入式Linux 的体积很小,便于直接放在ROM 中,实现ROM 固化. 同时,方便进行模 块化的扩展.
4  实时内核的实现
     要将Linux 应用到工业控制系统中,首先要解决的就是实时性问题. 本系统的实时内核 是通过内核模块编程的方法来实现的. 实现的途径是参考美国新墨西哥州大学计算机科学 系Victor Yodaiken 和Michael Brananov 开发的RTLinux ,并在RTLinux 源代码的基础上, 结合POSIX. 1b 的实时扩展规范,对其定制成标准的Linux 可加载/ 卸载的内核模块. 这个 模块主要提供一些必要的功能,如底层任务创建、中断服务程序,并且为底层任务、ISR 和 Linux 进程之间进行通信排队. 实时内核模块提供了实时任务的编程和控制接口(API) . 通过使用这些API ,可以提供 对实时任务的创建和删除、任务调度和控制等功能,从而实现工业上的实时控制. 实时内核提供的编程和控制接口(API) 模块主要有: ①中断控制API 函数; ②时钟控 制和获取; ③线程的创建和删除以及线程优先级和调度策略的控制API 函数; ④ POSIX 方式的驱动接口; ⑤ FIFO 设备驱动程序; ⑥串口驱动程序的API 函数; ⑦mbuff 驱动 API 函数; ⑧浮点运算API 函数.
6  小结
     嵌入式Linux 的出现使得构造精密工业控制系统有了更好的选择. Linux 操作系统的 高性能、高可靠性,以及多高效免费的开发工具和应用程序,使我们可以在很短的时间内设 计出一个强大、高效、复杂、低成本的精密控制系统. 嵌入式操作系统,实时内核,精密控制系统