航空电子综合模块化操作系统体系设计分析与研究

2014-01-21 00:52:58丁洁
电子设计工程 2014年21期
关键词:间通信模块化分区

丁洁

(陕西工业职业技术学院 陕西 咸阳 712000)

随着高新技术的发展,航空电子系统必将面临更加严峻的挑战。未来对航空电子系统功能的要求愈来愈多,未来的航空电子必须具有更多的功能、更好的适应性、更高的可靠性和更强的生存能力。航空电子要达到这种要求,唯一的途径就是系统综合化技术的应用,本文讨论的重点就是航空电子系统的综合化发展过程以及实现综合化需重点关注的关键技术原理。

电子技术的快速发展为航空电子向低成本、低能耗、小型化以及综合化发展提供了支撑平台。综合模块化航空电子体系架构(Integrated Modular Avionics,IMA)是继联合体系架构后航空领域内提出的新一代航空电子体系,它将传统联合体系的各子系统进行综合,并满足确保各子系统之间相互独立以及故障隔离的要求。要实现这样的系统必然要求操作系统能够支持各应用子系统在时间和空间上的独立,各子系统之间、子系统与内核之间具有不同的权限管理能力,以及不同安全级别应用系统的保护和故障分级与隔离。

1 系统模型

传统的实时操作系统调度的对象为任务或进程,如图1所示。开发人员需要将应用分为不同的任务,操作系统根据自己的调度算法调度各任务。不同的操作系统一般会采用不同的调度策略。

图1 传统操作系统模型Fig.1 The traditional operating system model

图2 强分区操作系统模型Fig.2 Strong partition operating system model

为了满足综合模块化航空电子体系结构的新要求,操作系统需要提供如图2所示的调度模型。该模型的调度对象由分区和任务构成,分区代表一个在空间和时间独立的域,在该域对综合模块化航空电子架构的一个应用子系统[1]进行调度和管理。一个分区内由多个任务构成,这些任务可以是周期任务、非周期任务或偶发任务。每个分区内可以采用不同调度策略,甚至不同的操作系统内核。

任务模型将任务的工作分为计算C和通信M两部分,任务在计算完后输出消息。 由此任务 τi可以由四元组(Ci,Mi,Di,Ti)表示,其中Ci表示任务的最坏执行时间(Worst Case Execute Time,WCET),Di表示任务的时限,Ti表示任务的周期,Mi表示任务发送的消息大小。

2 分区间通信

综合模块化操作系统分区间通信[2]采用端口(Port)的通信方式。每个端口要么位发送端口,要么位接收端口。综合考虑分区通信与分区调度后,分区的通信会随着分区调度带来固有的分区延迟,如图3所示。分区A有两个任务t1和t2。分区B有两个任务t3和t4。t1需要向t3发送数据,t4需要向t2发送数据。

图3 分区间通信模型Fig.3 Inter partition communication model

为了保证分区间数据通信的完整性和及时性,同时便于分区端到端延迟分析,本系统模型将分区间通信数据进行归一化处理。引入Periodic I/O模型[100]进行消息通信,在图4中,P1分区中有4个任务T1,T2,T3,T5,其最坏执行时间和周期分别为(5,50),(8,100),(20,200)和(80,500),需要设定Periodic I/O任务的执行周期为50。

3 系统实现

3.1 分区的实现

分区是航空电子应用中的一种功能划分。每个分区都具有独立的数据、上下文和运行环境,分区的优点包括:能够防止错误在分区间传播,引起系统故障蔓延。能够将航空应用软件按照关键级别分解成不同的构件,使系统的升级和维护更加容易,大大降低未来航电系统中软件的开发成本。分区间通信分区间通信是两个或多个分区之间的通信,是由操作系统来实现的。

分区的调度保证各应用分区在时间上完全独立运行,互不影响,一个分区内出现任务错失时限或死锁不会影响其它分区及其它分区内任务的时间特性,保证系统在高系统利用率下的可调度性。从民机适航的角度,还需要支持分区的动态加入和删除。

FCOS中分区具有四种工作状态:空闲态(IDLE)、冷启动态 (COLD_START)、 热启动态 (WARM_START) 和正常态(NORMAL)。任一时刻分区只能处于其中一种工作状态。

·空闲态(IDLE):在这个状态下,分区没有初始化,分区在自己的时间窗口内不执行任何进程,并且没有资源消耗,但是分配给分区的时间窗口并没有改变。

·正常态(NORMAL):在这个状态下,分区内的进程调度是处于激活状态的,分区内所有的进程都已经创建完毕,并且那些处于就绪态的进程可以立即得到运行,系统处于一个可操作的状态。冷启动态(COLD START):在这个状态下,分区处于初始化阶段,进程调度是被禁止的,分区忙于执行各自的初始化代码。

·热启动态(WARM START):在这个状态下,分区同样处于初始化阶段,进程调度是被禁止的,分区忙于执行各自的初始化代码。这个状态类似于冷启动态,不同的是初始环境是不一样的,例如不需要复制FLASH中的内容到随机访问存储器(RAM)中。

3.2 任务管理的实现

在分区内的执行体由一个或多个任务组成,每个任务隶属于特定的分区,分区内的各任务之间并发执行。任务管理主要负责分区内任务的创建、调度和删除等工作。

FCOS中任务分为按固定频率执行的周期任务和由事件触发的非周期任务两类,操作系统具备对这两类任务的调度能力。基本调度算法采用优先级抢占调度算法[4],周期任务与非周期任务主要体现在调度算法的调度时机上。目前,关于优先级抢占调度的理论和实践都比较成熟,在此不再论述。

分区内任务调度相关数据结构:

typedef struct

{

/*分区中任务的优先级位图*/

Priority_Bit_map*priority;

/*域中任务的就绪链表*/

FCOS_TCB task_ready_table

[MAX_TASK_NUM];

}Partition_Task_schedule_control;

4 操作系统的评估

操作系统的评估除了前面提到的时间和空间分析外,还需要结合硬件平台分析系统的终端相应时间,任务切换时间,分区切换时间,任务抢占时间,信号量混洗时间,死锁解除时间,消息传递时间。结合软件测试评估操作系统的测试覆盖率,鲁棒性测试,压力测试,故障监控、隔离与恢复性测试[5]。结合应用系统的系统可调度性分析,系统端到端延迟分析,原型系统评估等等。操作系统的评估Benchmark[6]主要有针对底层属性的Rhealstone,Whetstone,任务属性的Hartstone,以及针对应用的Holleywell,PapaBench。

1)Rhealstone

Rhealstone方法对操作系统中6个关键操作的时间量进行统计测量,并归一化成Rhealstone指标。主要参数有任务切换时间 (Task switch time), 任务抢占时间(Preemption time),中断延迟时间 (Interrupt Latency),信号量混洗时间(Semaphore-shuffle time), 死 锁 解 除 时 间 (Deadlock break time),任务间消息延迟(Intertask message latency)。

2)Whetstone

该方法用来测试计算机性能,主要用来评估浮点型应用,如大部分执行时间(约50%)进行数学计算,且大部分变量为全局变量的应用。

3)Dhrystone

该方法主要用来测试非数值性系统编程的性能影响(如操作系统,编译器、文字处理等等),该方法适用于没有浮点操作,大量时间花费在字符串操作,且大部分变量不是全局变量的应用

4)Hartstone

该方法使用不同属性的任务组来评估操作系统的性能。该方法由以下测试序列组成

*PH序列: 周期任务,和谐频率(频率之间成倍关系)

*PN序列: 周期任务,非和谐频率

*AH序列:非周期任务

*SH序列:带同步的周期任务

*SA序列:带非周期处理和同步的周期任务

该项目由一个嵌入式机载系统和地面站构成。机载系统由一个控制卡,一个GPS接收器,一个双轴差分红外传感器,一个无线传输器和诸多伺服控制器组成。

控制卡[7]由双处理器构成,一个处理器MCU0负责导航功能,MCU1负责飞行控制功能。处理器之间使用SPI连接。

地面站由一个无线命令接收发送器和一个通用计算机组成。通用计算机记录并且控制飞行参数,飞行路线等。PowerPC存储管理单元提供三种存储管理机制,一种为Real模式,该模式类似于X86体系中的Flat模式,不具备存储权限和保护能力;一种为BAT模式,该模式利用处理器提供的8组IBAT指令和DBAT数据寄存器对存储空间进行管理;一种为段页模式,该模式利用存储于存储器中的页表进行管理存储空间。我们分别在BAT模式和段页模式下,测试存储空间10 000次读写操作耗时,可以看出在BAT模式下,平均花费时间为102.7 μs,而在段页模式下为 258.3 μs,相差两倍以上。

5 结束语

近年来,随着硬件的快速发展,特别是处理器速度的快速提升,为通过综合各传统子系统而降低航空电子系统的成本,能耗,重量以及空间等等提供了可能。这种综合的模块化航空电子体系结构要求将传统的的子系统综合到单一的硬件平台中,并要求其基础软件平台能够提供各子系统在时间,空间上的隔离,保证各子系统能够独立的运行,且可靠及时的通信。

[1]John regehr,Alastair Reid,Kirk webb.Eliminating stack overflow by abstract interpretation[J].ACM Transactions on Embedded Computing Systems (TECS),2005(4):751-778.

[2]Justin Littlefield-Lawwill,Ramanathan Viswanathan.Advancing Open Standards in Integrated Modular Avionics[J].An Industry Analysis.26th Digital Avionics Systems Conference (DASC),2007:214-225.

[3]HQ AFMC/ENPI.Air Force Open Systems Implementation Guide(DRAFT) [N].1997.

[4]Logan G T.Integrated Avionics:Past,Present and Future[J].Aerospace and Electronic Systems Magazine,2007(22):39-40.

[5]FAA Technical Standard Oder TSO-C153. Integrated Modular Avionics Hardware Elements[N].2002.

[6]Muhammad M.Latif,Ravi Ramaseshan,Frank Mueller.Soft Error Protection via Fault-Resilient Data Representations.In Proc.3rd IEEE Workshop on Silicon Errors[N].2009.

[7]Federal Aviation Adinistration.Guidance for Integrated ModularAvionics (IMA) ThatImplementTSO-C153 Authorized Hardware Elements.FAA Advisory Circular AC 20-145[N].2003.

猜你喜欢
间通信模块化分区
细胞间通信预测方法研究进展
模块化自主水下机器人开发与应用
上海实施“分区封控”
环球时报(2022-03-29)2022-03-29 17:14:11
模块化住宅
现代装饰(2020年5期)2020-05-30 13:01:56
综合航电分区间通信元模型设计研究
浪莎 分区而治
ACP100模块化小型堆研发进展
中国核电(2017年2期)2017-08-11 08:00:56
模块化VS大型工厂
流程工业(2017年4期)2017-06-21 06:29:50
基于SAGA聚类分析的无功电压控制分区
电测与仪表(2015年8期)2015-04-09 11:50:16
基于多种群遗传改进FCM的无功/电压控制分区
电测与仪表(2015年7期)2015-04-09 11:40:16