问答题 阅读以下有关嵌入式系统设计的说明。
[说明]
某公司承接了某机载嵌入式系统的研制任务。该机载嵌入式系统由数据处理模块、大容量模块、信号处理模块、数据交换模块和电源模块等组成。数据处理模块有2个,分别完成数据融合和导航通讯任务;大容量模块主要功能是存储系统数据,同时要记录信号处理模块、数据处理模块的自检测、维护数据,向数据处理模块提供地图数据;信号处理模块的处理器为专用的DSP,接收红外、雷达等前端传感器数据并进行处理,将处理后的有效数据(数据带宽较大)发送给数据处理模块;数据交换模块主要负责系统的数据交换;电源模块主要负责给其他模块供电,电源模块上没有软件。
要求该机载嵌入式系统符合综合化、模块化的设计思想,并考虑系统在生命周期中的可靠性和安全性,以及硬件的可扩展性和软件可升级性,还要求系统通讯延迟小,支持多模块上的应用任务同步。

问答题 在设计系统架构时,李工提出了如图3-1所示的系统架构,即模块间的网络通信采用光纤通信(Fiber Channel,FC)技术,而王工认为应采用VME总线架构,如图3-2所示。王工的理由是公司多年来基于VME总线技术设计了多个产品,技术成熟,且费用较小。但公司经过评审后,决定采用图3-1所示的基于FC的系统结构。
[*]
[*]
请用500字以内的文字,说明VME和FC各自的特点,并针对机载嵌入式系统的要求指出公司采用李工方案的理由。
【正确答案】1.VME总线采用存储映射方式,多主仲裁机制,同一时刻由单一主机控制,同时仲裁机制为菊花链方式。
针对本系统要求,采用VME方案存在如下问题:
a)当多主机设备仲裁时,按菊花链的连接次序一个主机处理完成后,才能将控制权交给另一主机控制总线,导致任务执行延时大,不能满足“系统通讯延迟小”以及“支持多模块上的应用任务同步”的要求;
b)与FC相比,VME总线实时性差,带宽低;
c) VME总线方式限制了可扩展性。
2.FC采用消息包交换机制,支持广播和组播。
针对本系统要求,采用FC方案有以下优点:
a)由于采用消息包交换机制,支持广播和组播,任务执行并发性好,能满足“系统通讯延迟小”以及“支持多模块上的应用任务同步”的要求。
b)与VME比较,FC实时性好,带宽高;
c) FC的误码率低,所以可靠性高;
d)允许在同一接口上传输多种不同的协议,对上层应用实现提供了便利;
e) FC采用消息机制,FC可扩展性好,如模块较多可采用多个FC网络交换模块级联;
f)传输距离远,当与外部其他设备相连时,比较方便;
g)系统采用统一的FC网络代替了VME底板总线,降低总线驱动的功耗,简化了底板。
【答案解析】[解析] 本题考查嵌入式系统设计的应用知识。嵌入式系统的设计和实现是一个较为复杂的工程,涉及软件和硬件基础知识,本题要求按综合化、模块化的设计思想,其中涉及FC、VME总线以及ARINC653操作系统的概念,比较新颖,需要考生仔细阅读题意,结合相关计算机软硬件知识回答问题。
题中给出的两种方案在机载系统中都是常用方案,考生要综合考虑题干中提到的系统需求,即要求该机载嵌入式系统符合综合化、模块化的设计思想,并考虑系统在生命周期中的可靠性和安全性,以及硬件的可扩展性和软件可升级性,还要求系统通讯延迟小,支持多模块上的应用任务同步。同时,信号处理模块接收红外、雷达等前端传感器数据并进行处理,将处理后的有效数据的带宽较大,需要通过系统网络发送给数据处理模块。这就要考虑传统的VME总线的带宽能否满足要求。
VME (VersaModule Eurocard)总线是一种通用的计算机总线,VME总线采用存储映射方式,多主仲裁机制,同一时刻由单一主机控制,同时仲裁机制为菊花链方式。针对本系统要求,当多主机设备仲裁时,按菊花链的连接次序将一个主机处理完成后,才能将控制权交给另一个主机来控制总线,导致任务执行延时大,不能满足“系统通讯延迟小”以及“支持多模块上的应用任务同步”的要求;VME数据传输速率为0~500Mbps,一般实际设计的嵌入式系统大多在100Mbps以内,而FC的数据传输速率为1Gbps到10Gbps; VME总线方式也限制了可扩展性。
FC具有的特点是传输率高,允许在同一接口上传输多种不同的协议,传输距离远,采用单模光纤作为数据传输介质时,传输距离可高达10km;连接简单灵活,误码率低(BER<10-12)等。
由于FC采用消息包交换机制,支持广播和组播,任务执行并发性好,能满足“系统通讯延迟小”以及“支持多模块上的应用任务同步”的要求;与VME比较,FC实时性好,带宽高;允许在同一接口上传输多种不同的协议,对上层应用实现提供了便利;FC采用消息机制,扩展性好,如模块较多可采用多个FC网络交换模块级联;传输距离远,当与外部其他设备相连时,比较方便;系统采用统一的FC网络代替了VME底板总线,降低总线驱动的功耗,简化了底板。
因此,公司经过评审后,决定采用图3-1所示的基于FC的系统结构。
问答题 公司依据ARINC653标准,设计了满足ARINC653标准的操作系统,该操作系统对系统中可能发生的模块级、分区级和进程级的错误进行处理,实现了如图3-3所示的系统健康监控机制,请分别将备选答案中的各种错误和健康监控部件填入图3-3中的(1)~(5)。
备选答案:分区健康监控、分区初始化阶段出现的分区配置错误、分区切换时出现的错误、应用进程错误、进程健康监控。
注:ARINC653标准(Avionics Application Software Standard Interface)是美国航空电子工程协会AEEC于1997年为航空民用飞机的模块化综合航空电子系统定义的应用程序接口标准,该标准提出了分区(Partition)的概念以及健康监控(health monitoring)机制。分区是应用的一种功能划分,也是操作系统调度的基本单位,严格按预先分配的时间片调度。分区间具有时空隔离特点。分区内的每一执行单元称为进程。
[*]
【正确答案】
编号 答 案
(1) 进程健康监控
(2) 应用进程错误
(3) 分区初始化阶段出现的分区配置错误
(4) 分区切换时出现的错误
(5) 分区健康监控
【答案解析】[解析] 依据ARINC653标准,健康监控(health monitoring)机制用于监视核心处理模块硬件、应用软件和操作系统的状态,当发现故障时,记录故障并进行故障隔离,防止故障蔓延,同时按照故障级别(模块级、分区级、进程级)进行必要的恢复。
在图3-3所示的系统健康监控机制中,当系统出现故障时,通过故障检测机制(FDM),报告给操作系统的OS健康监控服务程序,OS健康监控服务程序查找系统健康监控表,从而根据错误的级别,分别派遣到模块级健康监控、分区级健康监控和进程级健康监控程序进一步对故障进行处理,注意:进程级健康监控程序应作为分区内的一个进程。
错误有可能发生在模块级、分区级和进程级。模块级错误影响模块内的所有分区;分区级错误仅影响该分区;进程级错误影响分区内一个或多个进程,甚至整个分区。
模块级错误一般包括:
·模块初始化时发生的模块配置错误;
·模块初始化时的其他错误;
·系统功能执行期间出现的错误;
·分区切换时发生的错误:
·电源故障。
分区级错误一般包括:
·分区初始化阶段出现的分区配置错误;
·分区初始化阶段出现的其他错误;
·进程管理中的错误;
·错误处理进程的错误。
进程级错误一般包括:
·应用进程产生的应用错误;
·非法操作系统请求;
·进程执行错误(溢出、缓冲区冲突等)。
问答题 为了实现满足ARINC653标准的操作系统的时空分区隔离机制,项目组选择了PowerPC作为数据处理模块的处理器(CPU)。这样,当一个分区出现故障时,不会蔓延到模块中同一处理器的其他分区。请用500字以内的文字,说明如何采用PowerPC实现应用与内核以及诸应用之间的隔离和保护。
【正确答案】采用PowerPC实现系统隔离和保护的两种机制是:
第一种是内存管理机制(MMU)。MMU能够实现逻辑地址到物理地址的转化,并且对访问权进行控制,既可以保护系统内核不受应用软件有意或无意的破坏,也可有效防止各软件之间的互相破坏。
第二种是TRAP系统调用机制。操作系统为实现对内核以及应用之间的保护,提供了用户态和系统态两种运行形态。操作系统内核在系统态运行,因此用户态的应用不能直接调用系统内核提供的功能接口,必须通过TRAP系统调用的方式进行。因此可以实现应用与内核之间的隔离与保护。
【答案解析】[解析] 隔离和保护是ARINC653强调的主要特性,也是高可靠的嵌入式实时操作系统必须解决的重点问题之一。一般采用MMU机制和TRAP调用机制来实现分区与内核以及分区之间的隔离和保护。