嵌入式实时系统的关键技术及其在通信系统中的应用
在IT行业的众多分支中,嵌入式是发展得最快的领域之一,因为越来越多的产品和服务需要嵌入式系统予以支撑,消费类电子产品、生产制造业、办公自动化、工业控制等诸多行业都和嵌入式有密不可分的关系。
作为崭新的、面向应用的计算机系统,嵌入式系统在集成了通用计算机系统的共性以外,还包含了很多适合"嵌入式"应用的新技术;因为在技术上与通用计算机系统有很多不同,本文首先介绍嵌入式系统的基本概念及其关键技术,并结合在通信系统中的应用说明其技术特点及可应用性。
1 嵌入式实时系统
嵌入式系统内容包含一个或多个控制用的CPU以及针对特定应用环境而开发的高层软件,通常含有操作系统。在使用过程中,系统内部CPU和软件的行为并不为外界所感知,因此叫做"嵌入式"系统;通常把对外部事件响应时间很短的嵌入式系统叫做"嵌入式实时系统";应用于嵌入式实时系统的操作系统叫做"嵌入式实时操作系统"。
1.1 嵌入式实时系统的构成
嵌入式实时系统包括硬件和软件两个方面,由硬件平台、嵌入式实时操作系统及其他系统软件模块、实时应用程序三个部分组成。
1.1.1 硬件平台
嵌入式实时系统的硬件平台通常以为能紧凑、专用性强的CPU为核心同时结合少量的外转围设备,具有应用相关性,即多样性的特点。
1.1.2 嵌入式实时操作系统及其他系统软件模块
操作系统和其他系统软件介于硬件和应用程序之间,负责调度并管理实时应用程序,并完成对硬件的控制和操作。
1.1.3 实时应用程序
实时应用程序是基于嵌入式实时操作系统、利用操作系统提供的实时机制完成特定的嵌入式实时系统具体功能的应用程序。
1.2 嵌入式实时操作系统的特点
除了具有操作系统的共性以外,为适应"嵌入式实时"应用,嵌入式实时操作系统还具有实时性、微内核结合扩展模块实现通用性与可配置性、操作系统不对外设作假设等突出特点。
1.2.1 实时性
实时表示"及时",是一个相对概念;实时性表明操作系统在可预见的时间内响应和处理外部事件的能力,是嵌入式实时操作系统性能的关键指标之一。嵌入式实时操作系统一般采用多任务机制,以并发方式执行应用程序。
1.2.2 微内核结合扩展模块实现通用性与可配置性
为了在结构和功能上适应不同的"嵌入式"应用,嵌入式实时操作系统通常采用微内核与可配置的功能模块相结合的体系结构,使操作同时具备了通用性和可配置性。1.2.3 操作系统不对外设作假设
操作系统的实现只与CPU有关,而不假设CPU以外的其他物理硬件。与硬件相关的功能依靠另外一个叫做板级支持包(Board Support Package)的软件层次来完成,从而实现了操作系统的"硬件无关性",提高了系统的通用性和可移值性。
1.3 嵌入式实时系统与通用计算机系统的对比
通过对比表1可以看出:嵌入式系统是以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应于应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
表1 嵌入式实时系统与通用计算机系统的对比
2 嵌入式实时系统的实现
2.1 选择适合的嵌入式实时操作系统
嵌入式实时操作系统是实现嵌入式实时系统的核心。操作系统的性能在很大程度上直接影响着整个系统的实时性能。因此,选择合适的嵌入式实时操作系统对于实现一个高性能的嵌入式时系统是至关重要的。
2.2 仔细划分应用程序内部的若干任务
作为另一个重要的软件层次,应用程序内部任务的划分也影响嵌入式时系统的整体性能。为兼顾嵌入式实时系统的并发性整体吞吐量,任务的划分应当遵循以下原理:
·功能独立的操作应当一个单一的任务;
·功能联系密切(耦合关系密切)的操作应当划归同一个任务;
·具有慢速I/O操作的功能应当划分为单独任务;
·不同优级的操作划分为不同的任务;
·拥有大量运算的操作应当划分为一个单独的任务。
2.3 嵌入式实时系统的调试
与通用计算机系统的设计不同,嵌入式实时系统的设计总会涉及硬件因素,因此,硬件平台的调试是一个必要环节。在软件方面,由于嵌入式实时系统通常是一个多任务系统,具有很强的动态性,因此,系统的功能行为需要通过调试加以确定。
3 嵌入式实时系统在通信系统的应用
作为一类特殊的计算机系统,嵌入式实时系统的应用范围已经扩展到许多领域,尤其在通信领域更是得到了前所未有的发展。随着网络新业务的开通和新设备的增加,电信网络管理成为个日益突出的问题而备受关注。
通信网络的扩大、新业务和新设备的大量增加要求网络管理不但具备丰富管理功能,还要具备良好的管理性能效率;也就是说,网络管理必须满足一定的实时性。简言之,
- 嵌入式实时系统中的优先级反转问题(06-10)
- 实时系统中混合任务集的动态电压调节算法(06-18)
- 嵌入式实时系统及其在通信系统中的应用(04-19)
- 实时嵌入式操作系统VxWorks设备驱动程序的设计(05-30)
- 嵌入式系统U盘实时启动技术(06-29)
- 动态内存管理在面向嵌入式实时系统中的研究(06-28)