万字长文介绍ARINC 653,以及在综合模块化航空电子设备(IMA)中的作用
文章目录
- 一、引言
- 二、ARINC 653背景
- 三、整体系统架构
- 四、应用/执行(APEX)接口
- 五、ARINC 653 RTOS内部机制
- 六、健康监测功能
- 七、软件应用
- 八、ARINC 653现状
- 九、总结
一、引言
在现代航空领域,综合模块化航空电子设备(IMA)已成为飞机设计的核心要素,几乎在所有新服役的飞机型号中都占据重要地位。自波音 777 首次引入这一高密度航电封装概念后,其在军事和商业飞机领域迅速获得广泛认可,如洛克希德 C130 AMP、空客 A380 和波音 787 等飞机都采用了 IMA 技术。从商业角度来看,IMA 具有显著优势,它能够有效减少航电设备的重量和体积,从而使航空运输运营商能够承载更多产生收益的有效载荷,进而提升航空公司的盈利能力,为新飞机采购提供经济支持,并维持航空业的持续增长。在 IMA 的发展进程中,ARINC 653 发挥着不可或缺的关键作用。本文旨在全面且深入地概述 IMA 的软件架构、详细解析 ARINC 653 标准的核心要点及其当前的发展动态。
二、ARINC 653背景
回溯到 20 世纪 80 年代中期,航空电子行业在发展过程中逐渐认识到,所有数字航电系统存在一些共性组件,其中包括中央处理器、内存和 I/O 等硬件部分,同时,实时操作系统(RTOS)也因其重要性而成为备受关注的关键软件组件。当时的情况是,每个数字航电系统都在临时基础上各自开发 RTOS,这种分散式的开发方式不仅导致成本高昂,而且存在大量不必要的重复劳动。基于此,行业的标准化焦点开始从硬件领域逐渐向软件领域转移。尽管在制定 IMA 硬件标准方面,行业内存在一定的犹豫,但对于 IMA 软件标准,尤其是 ARINC 653(航空电子应用软件标准接口),却得到了全行业的积极响应与大力支持。
1997 年,航空公司电子工程委员会(AEEC)正式采纳了 ARINC 653 标准。随后,空客和波音在其最新款飞机中应用了这一标准,这一举措极大地巩固了 ARINC 653 作为行业标准的地位。自此,其行业认可度不断扩大,涵盖了整个供应链,从 IMA 系统供应商、各类模块和组件供应商、软件功能应用开发商,到 RTOS 供应商等众多相关方都积极参与其中。
ARINC 653 规范由四个部分组成:
- ARINC Specification 653: Part 1:规定了必需的服务,这些服务是构建符合 ARINC 653 标准的系统的基础,涵盖了诸如分区管理、进程管理、时间管理、内存管理、分区间通信、分区内通信以及健康监测等多个方面,为航电软件的稳定运行提供了核心保障。
- ARINC Specification 653: Part 2:定义了扩展服务,这些服务是在行业多年应用 IMA 系统的经验基础上总结得出的,对于应用程序具有重要的辅助价值,但并非强制要求在所有 ARINC 653 实现中使用,为系统的功能扩展提供了灵活性。
- ARINC Specification 653: Part 3:提供了一致性测试规范,其主要目标是为测试 RTOS 是否符合 ARINC 653 标准提供详细的指导,最终期望建立一套标准的测试套件和测试代码,确保不同供应商的实现具有一致性和可靠性。
- ARINC Project Paper 653: Part 4:聚焦于子集服务,旨在为非分区、单线程计算平台提供一个精简高效的 ARINC 653 子集,通过优化内存空间占用和提升处理器性能,满足特定场景的需求。
标准化的 RTOS 接口为航空电子软件开发带来了两大关键优势。首先,它清晰地界定了软件应用与底层核心软件之间的接口边界,使得两者能够独立开发。这意味着应用软件组件和 RTOS 的开发工作可以并行推进,大大缩短了开发周期。同时,基于这一标准开发的应用程序能够在符合 ARINC 653 标准的不同平台之间实现便捷移植,提高了软件的复用性和灵活性。其次,该标准接口定义确保了底层硬件平台和核心软件在演进过程中不会对应用软件产生过多影响,为飞机在整个使用寿命周期内的系统升级提供了经济高效的路径,降低了升级成本和风险。
航空运输行业精心制定的 ARINC 653 标准,作为标准化的 RTOS 接口定义,明确了航电应用软件与包括 RTOS 在内的底层核心软件之间的接口规范。这一标准化工作由航空公司用户社区通过 ARINC 发起,并吸引了众多利益相关方的积极参与,包括飞机制造商、航电供应商、RTOS 供应商、政府机构以及学术界等。软件专家们经过深入研讨,确定了航电设备的特定需求,这些需求包括:
- 安全关键:必须满足美国联邦航空条例(FAR)第 25.1309 部分所定义的严格安全标准,确保在任何情况下软件系统的故障都不会对飞行安全造成威胁。
- 实时性:系统对各种事件的响应必须在规定的时间期限内完成,以保证飞机的实时控制和操作的准确性和及时性。
- 确定性:软件运行的结果必须是可预测和可重复的,以便在复杂的航空环境中提供稳定可靠的性能。
ARINC 653 是目前唯一能够全面支持这些严格需求的 RTOS 接口定义。此外,航电软件还需要按照 RTCA DO - 178 / EUROCAE ED - 12 标准进行严格的合格审定。这一过程要求极高的严谨性和对细节的关注,软件必须经过严格的验证和测试,以证明其符合相关政府标准,确保飞机的安全运行。因此,ARINC 653 的 RTOS 在设计上力求简单明了,同时保持高度的确定性,以降低系统的复杂性和潜在风险。
在 IMA 架构中,积极鼓励整合多种软件功能。RTOS 为此提供了一系列有效的机制,用于管理软件应用之间的通信流程以及它们所操作的数据。当系统级事件发生时,RTOS 能够及时执行相应的控制例程,这些例程的执行结果直接影响飞机的运行状态。随着 IMA 中软件功能的不断增加和复杂性的提升,现代软件工程技术,如面向对象分析与设计、结构化设计的功能分解、自顶向下设计和自底向上设计等,发挥了重要作用。这些技术能够显著简化软件开发过程,提高开发效率。其中一个重要优势是,软件可以被定义、开发、管理和维护为模块化组件,每个模块具有明确的功能和接口,便于独立开发和集成,提高了软件的可维护性和可扩展性。
ARINC 653 的调度模型采用了独特的两层架构。在顶层,通过固定时间调度软件分区,确保每个分区都能在规定的时间片内获得执行机会,从而使运行在这些分区中的应用能够充分访问 IMA 计算资源。在底层,每个分区可以利用中断和其他异步事件来满足其内部的实时需求,确保在分区边界内实时性要求得到满足。在整个过程中,RTOS 扮演着关键角色,它负责合理分配资源并严格执行所有分区规则,确保系统的稳定运行和资源的有效利用。
三、整体系统架构
ARINC 653 软件接口规范主要是为 IMA 系统量身定制的,但其中的一些概念也同样适用于传统的联邦式设备,尤其是那些包含多个分区功能的设备。
以典型的软件架构为例(如图 1 所示),系统主要由两大部分组成:应用软件和核心软件。应用软件负责执行具体的航空电子功能,如飞行控制、导航、通信等,这些功能直接关系到飞机的飞行安全和性能。核心软件则为应用软件提供了一个标准且通用的运行环境,确保应用软件能够稳定、高效地运行。核心软件进一步细分为以下几个关键部分:
- 实时操作系统(RTOS):它是整个系统的核心调度器,负责对应用软件的需求做出逻辑响应,精确分配处理时间、通信通道和内存资源等关键要素。通过合理的调度算法,确保每个任务都能在规定的时间内得到执行,避免资源冲突和任务延迟。
- 健康监测器(HM):其主要职责是密切监测系统的运行状态,一旦检测到硬件故障或软件异常,能够迅速启动相应的错误恢复或重新配置策略。这些策略是根据飞机的设计要求和系统的实际情况预先制定的,旨在确保系统在出现故障时能够保持一定的功能完整性,或者尽快恢复到正常运行状态。
- 硬件接口系统(HIS):作为 RTOS 与硬件之间的桥梁,负责管理物理硬件资源,包括处理器、内存、I/O 设备等。它将 RTOS 的指令转换为对硬件的实际操作,同时将硬件的状态信息反馈给 RTOS,确保硬件资源的有效利用和系统的稳定运行。
在这个架构中,分区类似于通用计算机中的多任务应用,但具有更高的隔离性和安全性要求。每个分区由一个或多个并发执行的进程组成,这些进程根据应用的需求共享处理器资源。每个进程都具有独特的可识别属性,这些属性在系统调度、同步和整体执行过程中发挥着重要作用,例如进程的优先级、执行时间要求、资源需求等都会影响其调度顺序和执行方式。
RTOS 在系统中承担着至关重要的资源分配任务,它负责为每个应用程序精确分配处理器时间和内存区域。这些分配参数是可配置的,由系统集成商根据系统的整体性能需求和应用的特点进行合理设置。通过精心的配置,确保每个应用都能获得足够的资源来完成其功能,同时避免资源的浪费和冲突。
为了实现应用软件的高度可移植性,ARINC 653 采用了一种独特的分区间通信机制。在这种机制下,应用程序在发送或接收消息时,不需要包含关于自身所在分区或通信对方分区位置的明确信息。所有用于正确路由消息的必要信息都存储在由系统集成商开发和维护的配置表中,而不是由单个应用开发者负责。系统集成商通过精心配置环境,确保在 IMA 平台上托管的分区之间能够准确无误地进行消息路由,从而实现了应用程序在不同平台上的无缝移植和高效通信。
四、应用/执行(APEX)接口
APEX 接口的核心目标是在应用软件和 RTOS 之间构建一个通用且高效的接口。通过对这一接口边界(也称为 RTOS 接口)的标准化,实现了应用程序在不同 ARINC 653 兼容平台之间的可移植性,同时也促进了硬件和软件供应商之间的广泛竞争。这种竞争环境有助于降低开发成本和总体拥有成本,为航空电子行业带来了显著的经济效益。ARINC 653 RTOS 接口具有以下主要特点:
- 精简高效且便于开发:该接口提供了满足 IMA 需求所需的最少数量的服务,避免了过多的复杂功能,从而降低了软件开发的难度。其设计理念旨在简化应用软件开发过程,帮助软件开发者更高效地生产出可靠的产品,提高软件的质量和稳定性。
- 良好的可扩展性与兼容性:接口具有良好的可扩展性,能够轻松容纳未来系统的增强功能。在进行功能扩展时,能够保持与先前版本软件的兼容性,确保现有应用程序在系统升级过程中无需进行大规模的修改,保护了用户的投资和现有软件资产。
- 满足多语言实时需求:能够同时满足 Ada 和 C 等常用编程语言的实时要求。不同的编程语言模型可以根据其认证和验证的关键级别,合理利用 RTOS 接口提供的底层服务,确保在不同语言环境下软件的实时性能和可靠性。
- 解耦应用与硬件架构:有效地将应用软件与实际的处理器架构分离开来,最大限度地减少了硬件变化对应用软件的影响。应用软件通过该接口访问执行服务,而无需关注底层硬件的具体细节,提高了软件的可移植性和适应性,使得软件能够在不同硬件平台上稳定运行。
- 语言独立性强:接口规范与具体的编程语言无关,这是支持使用不同高级语言编写的应用软件,以及同一语言但不同编译器生成的软件的必要条件。这种语言独立性为开发者提供了极大的灵活性,允许他们根据项目需求自由选择编译器、开发工具和开发平台,而无需担心接口不兼容的问题。
在通信方面,应用程序可以通过多种模式向 RTOS 发出通信请求。例如,应用可以请求执行某个功能并暂停等待请求完成,确保操作的顺序性和完整性;或者在发出请求后继续运行,并通过轮询方式查询请求的状态,以便及时了解操作的进展情况;也可以仅在事务完成时接收通知,减少不必要的资源占用和系统开销。这种多样化的通信模式选择,使得应用程序能够根据自身的需求和系统的实际情况,灵活地进行通信操作,提高了系统的整体性能和效率。
五、ARINC 653 RTOS内部机制
RTOS 在整个系统中肩负着确保应用程序调度和分发功能完整性的重要使命。它通过一系列复杂而精细的算法和机制,为每个分区合理分配处理时间,精确调度每个进程的执行顺序,确保系统的高效运行。同时,它还负责提供必要的内存和 I/O 资源,并通过与硬件管理机制的紧密协作,实现分区在时间和空间(内存)上的绝对隔离。这意味着在 IMA 平台上添加其他应用程序时,不会影响每个分区的时间确定性,即每个分区在特定时间的行为是可预测和稳定的,确保了系统的可靠性和安全性。
实现这种高可靠性的一种有效方法是采用时间片轮转和应用分组调度策略。具体来说,将应用程序划分为严格时间限制的组,每个组在每个时间片内都能确保获得特定数量的处理时间。在这个时间片内,组内的应用可以执行一定数量的预定义算法,确保其功能的实现。如果某个应用试图超出其分配的时间片,RTOS 会及时进行超时处理,防止其对其他应用造成干扰,保证系统的公平性和稳定性。
RTOS 具备强大的进程管理能力,能够准确识别周期性和非周期性进程,并根据它们的特点和系统的资源状况进行合理的调度和分发。同时,它还为每个分区提供详细的健康状态信息和故障数据,以便系统管理员和相关软件能够及时了解系统的运行状况,采取相应的措施进行维护和修复。由于 RTOS 在关键应用中需要高度可靠地运行,因此它必须符合严格的认证标准,这些标准与它所承担的功能集合相匹配。为了满足这些认证要求,RTOS 的设计尽可能简洁明了,减少不必要的复杂性和潜在的故障点。
在资源管理方面,RTOS 代表应用程序管理逻辑和物理资源,确保分配给不同应用的资源相互隔离,避免资源冲突和数据泄露。它负责全面管理内存和通信资源,确保每个应用都能获得足够的资源来完成其任务,同时不会干扰其他应用的正常运行。当系统发生与电源故障或硬件错误相关的中断时,RTOS 能够及时接收并处理这些中断,将相关事件准确地传递给健康监测器功能模块。健康监测器则根据这些信息,指导系统进行必要的恢复操作或采取其他应对措施,确保系统的稳定性和可靠性。此外,RTOS 还负责在规定的时间尺度内,将应用特定的软件中断或事件准确地传递给相应的应用程序,确保应用能够及时响应和处理这些事件,保证系统的实时性和响应性。
在处理通信请求时,RTOS 需要完成一系列复杂的操作。首先,它要根据应用的需求和系统的通信协议,设置合适的 I/O 格式,确保数据能够在不同设备和应用之间正确传输。然后,将格式化后的消息准确地传递给硬件接口,通过硬件接口将消息发送到目标设备或应用。为了确保时间确定性,ARINC 653 对每个消息的定义都包含了最大和最小响应时间,某些消息类型还允许应用设置超时规范。通过这些严格的时间限制和规范,确保了应用程序与 RTOS 之间的所有通信,包括请求、命令、响应、数据 I/O 等,都具有高度的可靠性和可预测性,保证了系统的实时性能和稳定性。
ARINC 653 的第一部分详细阐述了 RTOS 的多个关键方面,包括分区管理、进程管理、时间管理、内存管理、分区间通信、分区内通信和健康监测等。这些方面相互关联、相互协作,共同构成了一个完整的 RTOS 功能体系。基于对 RTOS 的严格定义,开发者可以在模拟 RTOS 接口的通用计算机上进行应用程序的集成和测试工作。这种开发方式使得开发者能够在无需实际硬件平台的情况下,提前对应用程序进行调试和优化,提高开发效率,降低开发成本。同时,由于 ARINC 653 标准的规范性和通用性,使得系统能够轻松托管各种不同类型的应用程序,而无需对 RTOS 进行大规模的修改。标准化的 RTOS 消息定义为未来接口的增强和扩展提供了清晰的路径,只要后续的 RTOS 定义是早期定义的超集,就能够确保在系统升级和功能扩展过程中不会出现兼容性问题,保证了系统的可持续发展和演进。
六、健康监测功能
健康监测器(HM)功能模块紧密集成在 RTOS 内部,并与由飞机设计师或系统集成商精心定义的恢复策略表进行交互。HM 的主要职责是全方位监测 IMA 平台内的硬件故障以及 RTOS 自身的故障。在硬件故障监测方面,通过内置测试(BIT)功能,能够有效检测内存和处理器等关键硬件组件的故障。一旦检测到硬件故障,硬件接口系统会根据具体的硬件实现方式进行本地硬件重新配置,这些重新配置操作通常在硬件层面进行,对 IMA 系统的其他部分保持透明,确保系统的稳定性不受硬件故障的过度影响。
RTOS 密切关注负责软件分区完整性的硬件状态,并在检测到软件或硬件完整性故障时,及时与 HM 功能模块进行通信。由于健康监测功能与特定的 IMA 平台和飞机安装紧密相关,因此其软件被划分为 RTOS 健康监测部分和恢复策略表部分。恢复策略表需要进行详细的配置定义,并嵌入相应的恢复策略。RTOS 具备强大的错误报告功能,应用程序可以方便地访问该功能。当应用程序检测到操作过程中的故障时,能够迅速将故障信息报告给 RTOS,RTOS 进而触发健康监测功能。应用程序也有责任查询系统的健康状态以及可能已经执行的重新配置操作,以便及时了解系统的运行状况并做出相应的调整。RTOS 必须严格遵循 RTOS 接口规范,为所有类型的应用程序提供标准的应用程序编程接口(API),确保系统的兼容性和可扩展性。
故障检测在多个层面展开,其核心目标是在故障传播到接口边界之前进行有效遏制。除了自身监测技术外,应用程序的违规行为、通信故障以及应用程序检测到的故障都会被及时报告给 RTOS。系统通过一个精心设计的故障恢复表来指定针对特定故障应采取的行动。这些行动由健康监测器启动,可能包括终止出现故障的应用程序,并启动备用应用程序来替代其功能,同时进行适当级别的报告,以便系统管理员和相关人员能够及时了解系统的运行状况。需要注意的是,具体的恢复行动在很大程度上依赖于 IMA 系统的整体设计架构和功能需求,不同的系统可能会根据自身的特点制定不同的恢复策略。
在健康监测过程中,存在两种类型的恢复表。一种是分区级别的恢复表,主要用于处理分区内的故障。当分区内发生错误时,本地分区健康监测表会发挥作用,它会明确定义错误的级别(是分区级别还是进程级别),并针对不同级别的错误制定相应的分区级别的行动方案。如果错误发生在进程级别,还会进一步定义具体的错误代码,以便更准确地定位和解决问题。另一种是系统级别的恢复表,用于处理涉及多个分区集成在一个模块上的故障情况。这种系统级别的恢复表能够协调多个分区之间的恢复操作,确保整个系统在复杂故障情况下的稳定性和可靠性。随着航空电子行业的不断发展,健康监测的可接受方法也在持续演变。预计在 2009 - 2010 年期间,ARINC 653 标准将对这些新的发展和变化进行更新和反映,以确保标准的时效性和有效性。
七、软件应用
应用软件在 IMA 平台上以模块化的方式进行开发,每个模块都被精心设计用来执行飞机上的特定功能。在现代航空电子技术的支持下,诸如飞行管理和数据链路通信管理等功能都可以通过软件实现,并利用通用的 IMA 计算资源来运行。这些应用软件的开发和验证过程严格遵循与其功能相适应的关键级别标准,确保软件的可靠性和安全性。在 IMA 平台的运行环境中,每个应用软件模块都能够独立地利用平台提供的资源进行操作,实现了功能的解耦和独立运行。
应用软件在系统中承担着重要的责任,其中包括特定功能的冗余管理。通过冗余设计,在部分组件出现故障时,系统能够自动切换到备用组件或备用路径,确保功能的连续性和可靠性。此外,应用软件还负责对来自外部传感器或其他系统的输入信号进行选择和故障监测。在信号选择方面,它能够根据预设的规则和算法,从多个输入信号中筛选出最可靠的信号进行处理,提高系统的准确性。在故障监测方面,它能够实时检测输入信号的异常情况,一旦发现故障,及时采取相应的措施,如报警、切换信号源或启动备份系统等,保障系统的安全运行。
模块化的软件设计理念在 IMA 系统中得到了充分的应用,通过软件分区的方式,能够有效地将航空电子功能隔离在一个通用的硬件环境中。这种设计使得应用软件在很大程度上独立于硬件,提高了软件的可移植性和复用性。然而,也有一些特殊的应用可能需要特定的 I/O 传感器,例如皮托管静压探头等,这些传感器对于某些特定的飞行参数测量至关重要。
软件模块可以由不同的独立开发团队进行开发,并方便地集成到 IMA 平台中。为了确保分区的完整性和独立性,分区负载映像是通过静态和独立的方式构建的。每个分区内的应用程序都作为独立的程序模块存在,与其他程序模块之间没有相互依赖关系。这些应用程序可能需要专门的控制和显示设备、I/O 处理功能以及相关的硬件支持,以实现其特定的功能。
在分区内,进程调度属性被巧妙地应用于改变进程的执行状态或执行顺序。通过这种方式,即使不同应用程序的关键级别存在差异,一个应用程序的行为也不会对其他应用程序的完整性造成损害。所有应用程序之间的通信都通过 RTOS 进行严格管理,RTOS 的通信机制确保了接口的合规性,防止任何应用程序垄断资源或导致其他应用程序长时间处于暂停状态。这种公平、高效的通信管理机制保证了系统的稳定性和可靠性,使得各个应用程序能够在 IMA 平台上协调运行。
在传统的应用程序开发中,I/O 处理通常与飞机上特定的传感器配置紧密相关,这在一定程度上限制了软件的可移植性和复用性。为了解决这个问题,在应用软件架构的分区设计中,应将飞机特定的 I/O 软件与应用的功能和算法元素进行合理分离。这样,传感器 I/O 调理在逻辑上被定义为与传感器相关的独立功能,使得传感器数据的处理更加集中和规范。
大多数应用程序需要以特定的速率获取功能数据,而在传统的飞机系统中,传感器处理往往是将应用程序与特定飞机系统紧密绑定的关键因素。通过将传感器处理功能从应用程序中分离出来,可以显著提高应用程序的可移植性。此外,这种分离还使得传感器数据能够集中管理,具有特定特征的传感器数据可以被多个应用程序共享,提高了数据的利用率。当传感器特性发生变化时,只需在传感器数据管理器中进行相应的调整,而无需对每个应用程序进行修改,进一步增强了应用软件的可移植性和复用性。在系统运行过程中,应用软件由 RTOS 的调度组件以确定性的方式进行调用,确保每个应用程序都能在规定的时间和条件下得到执行,保证了系统的实时性和稳定性。
八、ARINC 653现状
ARINC 653 标准为了更好地满足航空电子行业不断发展的需求,始终处于持续演进的过程中。其中,Part 1 正在进行更新,其主要目的是使术语与 RTCA DO - 297/EUROCAE ED - 124(综合模块化航空电子设备(IMA)开发指南和认证考虑因素)保持一致。这一术语的统一将有助于进一步加深行业内对 ARINC 653 原则的共同理解,促进不同组织和项目之间的沟通与协作。同时,也有利于在监管机构中获得更广泛的认可,确保标准的合规性和权威性。在更新过程中,对一些关键术语进行了详细的阐述和解释,例如:
- 核心模块:被定义为包含硬件资源(如核心处理器和各类设备)的硬件组件。每个核心模块可以容纳一个或多个独立的处理器,其架构会对 RTOS 的实现产生一定的影响,但不会改变应用软件与 RTOS 之间通过 APEX 接口进行交互的方式。这意味着在不同的核心模块或同一核心模块内的不同处理器之间,应用软件能够保持良好的可移植性,只要其与 RTOS 的接口保持不变,就无需进行大规模的修改。
- 核心软件:包括操作系统和支持软件,其主要功能是管理平台资源,为应用软件的执行创造一个稳定、高效的环境。核心软件在 IMA 系统中起着至关重要的桥梁作用,它协调硬件与应用软件之间的交互,确保系统的整体性能和功能实现。
ARINC 653 Part 2 定义了一系列扩展服务,这些服务虽然不是在所有 ARINC 653 实现中都必须使用,但在实际应用中却具有重要的价值。这些扩展服务是基于行业多年在 IMA 系统应用中的实践经验总结而来,能够为应用程序提供更多的功能支持和灵活性:
- 文件系统:在 Part 2 中定义的文件系统为数据存储提供了一种通用的管理方式。它类似于桌面环境中的文件系统,能够有效地隐藏和管理模块上各种形式的数据存储细节。具体而言,它提供了一系列服务,如文件和目录的打开、关闭、读取、写入和删除等操作。不同的实现可能会支持不同类型的存储介质,如随机存取存储器(RAM)、闪存(Flash)、可擦除可编程只读存储器(EPROM)或基于网络的存储介质等。通过文件系统,多个分区可以方便地共享存储资源,同时文件系统会自动管理存储介质的底层细节,减轻了分区对存储管理的负担,提高了数据存储和访问的效率。
- 采样端口数据结构:该结构为交换参数数据提供了一套标准化的定义,其中包括了一种标准化的方法来传达数据的状态信息。其主要目的是减少参数格式的不必要变化,从而降低对定制 I/O 处理的需求。在实际应用中,当应用程序正确使用这些标准化的数据结构时,可以显著提高应用的可移植性,并提升核心软件的运行效率。这与典型的航空数据总线(如 ARINC 429、ARINC 629、ARINC 664 P7 等)的原理类似,在这些数据总线上,消息负载格式遵循一套标准的类型和状态指示规则。由于分区间通信与数据总线通信有许多相似的目标和要求,因此采用类似的规则对于简化通信过程、提高通信可靠性具有重要意义。通过这种方式,能够更方便地在飞机总线和网络上实现 ARINC 653 分区间消息的传输和交换。
- 多个模块时间表:ARINC 653 引入多个模块时间表的概念,旨在使 IMA 系统能够在不同时间灵活地调度不同的功能。例如,在数据加载功能中,数据加载分区在数据加载阶段会获得特定的时间和空间分配,以确保能够充分利用中央处理单元的带宽,实现快速、高效的数据加载。而在数据加载完成后,系统会通过内置机制自动切换到正常的飞行操作模式,此时数据加载功能处于停用状态。对于采用多个时间表的飞机,需要对每个模式以及模式之间的转换进行严格的认证,确保系统在不同模式下的稳定性和可靠性,以及模式转换过程中的平滑过渡。
- 日志:在 ARINC 653 Part 2 中定义的日志是一种用于存储消息的重要手段。它具有在电源故障情况下保持存储数据完整性的能力,当模块电源恢复时,存储的数据可以被成功恢复。每个日志仅由一个分区访问,其内部结构由非易失性存储器(NVM)中的缓冲区组成。当应用程序向日志中写入消息时,消息首先被存储在缓冲区中,然后再写入内存。这种缓冲区机制使得应用程序能够快速连续地写入多个消息,而无需在每次写入消息后等待写入 NVM 的时间,提高了日志记录的效率和及时性。
- 采样端口扩展:Part 2 中定义的采样端口扩展为采样端口增加了一些实用的服务,如 READ_UPDATED_SAMPLING_MESSAGE、GET_SAMPLING_PORT_CURRENT_STATUS 和 READ_SAMPLING_MESSAGE_CONDITIONAL 等。这些服务的主要目的是在应用程序读取采样端口消息时提供更大的灵活性,使应用程序能够根据不同的需求和条件更准确、高效地获取所需的信息,满足了复杂应用场景下对数据读取的多样化需求。
- 服务访问点(SAPs):SAPs 是一种特殊的排队端口,在发送和接收消息时,它允许应用程序访问寻址信息。与普通的 ARINC 653 排队端口服务相比,SAP 服务具有额外的参数来支持地址信息的管理。在客户端/服务器应用场景中,通常会有多个可能的接收者,但对于特定的消息,必须指定唯一的接收者。由于接收者可能会实时变化,因此 SAP 为应用程序提供了一种有效的机制,使其能够对寻址过程进行一定程度的控制,确保消息能够准确无误地发送到目标接收者。
Part 3 of ARINC 653 专注于为测试 RTOS 是否符合 ARINC 653 标准提供详细的指导。其最终目标是建立一套全面、标准的测试套件和测试代码,以确保不同供应商提供的 RTOS 实现都能够严格遵循 ARINC 653 标准。目前,Part 3 仅涵盖了与 Part 1 中定义的 ARINC 653 必需服务相关的测试内容。对于扩展服务的一致性测试,将在未来的 ARINC 653 补充文档中提供。为了提高测试的准确性和可靠性,ARINC 积极鼓励 ARINC 653 操作系统的开发者共同合作,就独立测试的方法和标准达成共识,促进整个行业的标准化发展。
在行业需求的推动下,即将推出的 ARINC 653 文档 Part 4 将是一个精简高效的子集。随着 ARINC 653 的广泛应用,对于支持非分区、单线程计算平台的需求日益增长。Part 4 的主要目标是通过优化内存空间占用和提升处理器性能,满足这一特定场景的需求。具体而言,它致力于实现以下几个方面的目标:
- 减少代码量和系统状态:通过对 RTOS 代码进行精简,去除不必要的功能和冗余代码,减少系统的状态数量,从而降低系统的复杂性。这不仅有助于提高系统的运行效率,还能够使系统更易于分析和验证,为采用正式证明技术提供了可能。
- 简化动态和时间行为:简化系统的动态行为和时间特性,使其更易于理解和预测。通过采用更简单、直观的算法和机制,减少系统在运行过程中的不确定性,提高系统的稳定性和可靠性。同时,也便于使用正式方法对系统进行分析和验证,确保系统符合相关的标准和规范。
- 提供必需服务:只提供满足系统基本功能需求的必需服务,避免包含任何未使用或无效的代码(如 deactivated 代码或 dead 代码)。这样可以进一步减少内存占用,提高系统的资源利用率,使系统更加轻量化和高效化。
- 简化健康监测器:对健康监测器进行简化设计,在保证其基本功能的前提下,降低其复杂性和资源消耗。通过优化监测算法和减少不必要的监测项目,提高健康监测的效率和准确性,同时减轻系统的负担。
九、总结
ARINC 653 在综合模块化航空电子设备(IMA)的发展进程中扮演着极为关键的角色。从行业应用的实际情况来看,空客 A380 和波音 787 等先进飞机的航电系统套件充分体现了行业对 IMA 的高度重视和积极投入。在 IMA 架构下,核心软件具备强大的能力,能够支持多个航空电子应用程序的同时运行。这些应用程序可以并行开发,并高效地部署在同一个计算平台上,极大地提高了开发效率和系统集成度。
ARINC 653 的出现为航空电子行业创造了一个充满活力和竞争力的商业环境。在这个环境中,航电供应商能够方便地获取符合 EUROCAE ED - 12 和 RTCA DO - 178B 标准且达到 Level A(最严格的软件认证级别)的 RTOS。这种标准化和严格认证的市场环境促使供应商不断提升产品质量,确保只有最优质的产品能够在市场上立足,从而推动了整个行业的技术进步和发展。
除了显著降低 RTOS 的直接采购成本外,ARINC 653 还在航电应用软件的非经常性工程(NRE)成本管理方面发挥了重要作用。随着越来越多的 RTOS 产品遵循 ARINC 653 和 RTCA DO - 178B 标准,一个广泛接受和深入理解的行业生态环境正在逐渐形成。在这个环境中,应用开发者、软件工程师、程序员、监管机构以及整个航空电子社区都将从 IMA 的发展和 ARINC 653 的应用中受益。通过 IMA 原则的有效实施,数百万行的航空电子软件得以顺利开发和批准,这些软件能够满足飞机在整个使用寿命周期内的各种运营需求,为航空运输的安全、高效运行提供了坚实的技术保障。
综上所述,ARINC 653 不仅是一项技术标准,更是推动航空电子行业发展的重要力量,它在提高系统性能、降低成本、保障安全等方面都发挥着不可替代的作用,对现代航空电子技术的发展产生了深远的影响。