DO-254标准在机载电子硬件审定中的应用
2010-07-31王鹏,田毅
王 鹏,田 毅
(中国民航大学适航审定技术研究与管理中心,天津 300300)
随着现代科学技术的发展,现代飞机在飞行控制、综合显示等关键系统中越来越多地使用了复杂电子硬件,尤其是客户化的可编程逻辑器件,这对于适航性设计和审定带来了挑战。这些复杂电子硬件的设计常常与基于微处理器控制的系统软件一样复杂,因此,随着硬件复杂度的提高,由硬件设计错误带来的负面影响已经越来越难以控制。为了降低这种可预见的风险,必须通过一些标准的和可验证的方式,来证明在设计和审定过程中这些潜在的硬件设计错误能够被消除。
通常,国际航空工业界采用美国RTCA协会的DO-254标准(等同于欧洲EUROCAE的ED-80标准,简称为DO-254)《机载电子硬件设计保证指南》,来保证机载电子硬件(AEH)的安全性水平。FAA、EASA通过咨询通告认可了这部标准,申请人可采用此标准作为客户化可编程逻辑器件对适航要求的符合性方法。中国民用航空局(CAAC)目前虽未颁布相关的咨询通告或程序,但在新支线客机ARJ21-700项目中以问题纪要(SE005)的形式,明确了以DO-254作为CCAR-25部1301和1309条款的符合性方法之一。
然而,DO-254标准未能涵盖机载电子硬件设计和审定中遇到的一些特殊工程问题,使申请人和适航审定人员在工程实践中面临困难,需要进一步明确。本文介绍了机载电子硬件的设计过程和批准,并就DO-254中没有明确的简单电子硬件审定、成熟商用器件(COTS)、验证标准等工程的关键问题,结合ARJ21-700型号合格审定中的实际工程经验进行了分析说明。
1 电子硬件设计过程和批准
1.1 硬件设计生命周期
现代电子硬件设计过程中已普遍采用了硬件描述语言,采用以试验或分析为主体的传统验证方法已不可行。因此借鉴了与机载软件类似的管理办法,相应于硬件的关键程度,引入“设计保证”的概念,对其整个生命周期的每个过程都进行严格控制,包括有效合理的计划、对需求的确认与验证(V&V)、全过程的构型管理和质量保证、针对不同等级的关键技术要求等,将由复杂电子硬件设计错误造成安全问题的可能性降到最低,以保证最终硬件产品的安全性水平是可接受的,并符合适航要求。
按照DO-254标准,一个典型硬件设计过程[1]如图1所示,审定过程在此基础上进行。
设计过程包括需求捕获、概念设计、详细设计、设计实现、生产过渡、持续生产。持续生产过程不在DO-254的考虑范围。需求捕获用来确定和记录硬件项目需求,包括由预期的硬件架构、工艺选择、基本和可选功能、环境和性能需求所带来的衍生需求以及由系统安全评估附加的需求。概念设计过程形成一个高层级的设计概念,通过对这一概念的评估,以确定最终设计实现符合需求的可能性,并定义硬件的体系结构。详细设计过程使硬件项目需求和概念设计信息作为详细设计的基础,得出详细设计数据。硬件设计实现过程利用硬件详细设计数据形成硬件。生产过渡过程采用来自硬件设计实现和验证过程的输出,将产品转入生产。
除设计过程外,DO-254提出了非常关键的支持过程,这包括确认过程、验证过程、构型管理过程、过程保证过程、审定联络过程。确认过程保证系统安全性分析过程分配到硬件所对应的衍生需求的正确性和完整性[2]。验证过程保证硬件实现满足所有的需求(包括衍生需求),系统需求不必在硬件的V&V过程进行确认。构型管理过程要提供能够持续更替的构型项,再现必要的数据和产品,在必须更改时控制构型项的更改。对于复杂电子硬件构型管理,仅使用顶层图纸是不够的,需采用附加方法来控制客户化可编程器件中的嵌入逻辑,硬件构型索引便是其选择之一。过程保证确保了开发活动按照计划进行,使生命周期目标得到实现,对于偏离的事件进行了标识。多数情况下,该活动由独立于开发团队的质量保证系统或机构完成。各过程的关联[3]如图2所示。
1.2 机载电子硬件的批准方式
机载电子硬件并没有一个独立的审定批准证书,其总是作为飞机、系统或设备的一部分,不会单独存在。它一般通过型号合格审定(TC)、补充型号合格审定(STC)、技术标准规定(TSO)、零部件制造人批准书(PMA)等形式获得适航批准。另一方面,含有机载电子软硬件的飞机、系统或设备得到批准的前提之一便是所含的电子硬件和软件已得到批准。机载设备最常见的审定形式为随型号合格审定和单独审定两种。
在ARJ21-700型号合格审定项目中,对机载电子硬件的相关适航要求主要体现在对系统和设备的要求,即 CCAR25.1301“功能和安装”、CCAR25.1309“设备、系统及安装”和CCAR33.28“发动机电气和电子控制系统”(发动机具备单独的TC,不在该项目审定范围内)。
对于单独审定项目,其审定基础一般为对应的适航标准和附加要求。在ARJ21-700项目中最主要的就是TSO形式。值得注意的是,许多TSO是在适航局方提出机载电子硬件审定要求前发布,可能不包含相关硬件的要求,但考虑到现代飞机的需求,也意味着即使新申请较早版本TSOA的项目,也必须关注机载电子硬件的适航要求。
但无论何种审定形式,对于机载电子硬件的适航要求都是统一的。对于不同项目,审定中存在差异的是局方介入项目的深度,这取决于申请人经验、申请人背景、工程师的设计质量和经验、项目的创新性或唯一性以及项目的关键程度等。
中国的绝大部分申请人是第1次依照DO-254来开发复杂电子硬件。CAAC的介入程度都应当是最高等级,需要对所有的阶段进行现场审核。为了满足符合性,适航审定贯穿于整个硬件生命周期,局方有4个典型的介入阶段[4],分别是计划评审、设计评审、确认与验证评审、最终评审。对于某些项目,根据需求,现场审核也可能不限于这4个阶段。例如:一个大系统拥有许多小系统或一个项目有许多问题时,局方将会要求更深的介入。
对于国产型号的国外供应商,根据具体情况,处理方式也各不相同,具体取决于中国与该国适航双边协议(BASA),当然也取决于审定的类型。例如:对于美国供应商,具有TSOA的设备就可以通过设计批准认可(VDA)的形式进行批准,CAAC将主要进行文件审定,而不会对其进行现场审核;对于未取得TSOA随机取证的设备,CAAC将直接负责所有审定工作。
2 DO-254标准未能涵盖的问题解析
2.1 适用范围
依照DO-254标准定义,DO-254适用于整个机载电子设备,但在具体实践工程中,局方往往并不这样要求,而是主要针对于客户化可编程逻辑器件。
在ARJ21-700项目中,有18个系统、33个设备,包含了可编程逻辑器件。AEH的审定主要关注于设计保证等级(DAL)为A、B、C级的下列器件:
1)客户化可编程器件,其中包括专用集成电路(ASIC)、可编程逻辑器件(PLD)以及在航空系统和设备中使用的相似电子元器件等。
2)COTS器件,如微处理器、桥接器、图形处理器等。
3)知识产权(IP)核,如 PCI、CAN 总线等。IP 包括硬IP、软IP和固件IP。
其中第1)项必须按照DO-254进行硬件研制。对于COTS器件和IP,基于目前工业实践的经验,要求其遵循DO-254是不现实的。中国审定局方对于该如何处理还没有给出指导性的意见,但申请人可基于下述方法来表明这类器件的适航符合性:
1)从已知关于IP功能和设计的信息中利用反向工程获取所需要的生命周期数据;
2)加强IP测试与分析;
3)设备、板卡、LRU或系统级体系结构消解;
4)产品服务经验;
5)避免在A、B级功能中直接使用COTS产品。
2.2 验证的完成标准
DO-254没有明确指出验证活动的完成标准,只在附录B中讨论了元素分析的使用,用于判断完成的标准。本文并不讨论所有的验证活动,而仅限于硬件描述语言(HDL)。与DO-178B不同,DO-254未针对不同的等级提出不同的“标准”覆盖率要求,如对应于软件的A、B、C级要求修订条件判断覆盖(MC/DC)、条件判定覆盖(C/DC)和语句覆盖。进行代码覆盖率分析是为了确保验证过程将执行所有的代码、指示测试集是否完善,对于必须写出而又无法测试到的代码要保证其不会影响设计功能,并且找出死代码。对于硬件来说,常见的有语句覆盖、分支覆盖、条件覆盖、表达式覆盖、有限状态机覆盖和翻转覆盖。
语句覆盖,能确保每个语句都被执行,尤其是一行代码包含多个语句。分支覆盖,能说明是否执行了所有可能的分支。条件覆盖着重检查分支条件是否都执行了。表达式覆盖率将跟踪输入或输出的状态,确保每一个输入进表达式的真假值都执行了,类似于软件中的C/DC或MC/DC覆盖。有限状态机覆盖,确保测试执行了所有状态以及状态的转换。翻转覆盖比较容易引起迷惑,虽然很多仿真工具提供支持,但并不能真正用来做RTL代码分析,而是在制造阶段用来支持芯片测试,寻找引起芯片内部某个节点停留在逻辑1或0状态的缺陷。
这里要指出的是,达到100%的代码覆盖率并不能保证设计的功能正确,还需要功能覆盖率。功能覆盖率包含了一套捕获和描述设计行为的机制,自动生成捕获测试结果,并判断是否违规。除此之外,对于ASIC还有固定值故障、路径延迟故障以及桥接故障等,每种故障都有相应指标,有时统称为测试覆盖率。
在当前的项目中,局方针对不同的案例可能会提出不同的要求,如空客A350和A380型号审定中的要求是不一样的。无论如何申请人应当至少满足需求的100%覆盖,并表明与局方约定的HDL代码的相应覆盖率。
2.3 可更改客户化可编程器件
有些数字设备不用更换其硬件本身,就可从外部更改其内部嵌入逻辑和功能,这就是可更改客户化可编程器件,这些器件具有被用户在现场改变其构型的可能性。在机载设备中很少使用现场可更改客户化可编程器件,因为其具有不确定性,但DO-254没有就这类硬件的现场更改情况提出相关要求。在审定过程中,为保证硬件不会发生在非构型控制状态下的更改,就需要采取适当的措施控制其嵌入逻辑更改方法。因此对于此类硬件,局方要求除了DO-254外,申请人还必须遵循DO-178B第2.4~2.5节,或者能够证明具有相同的安全性。此外,8110.49的第5~7章也应当被考虑。ARJ21-700项目则明确规定了不允许在现场对可编程逻辑器件进行更改。
2.4 多时钟域问题
在DO-254编写时,由于工艺和设计水平的限制,多时钟域问题并不是一个棘手的问题,但在今天却是一个普遍存在的问题,虽然DO-254涉及到了设计裕度,但这里仍然需要强调。比较严重的是由于多时钟域而带来的亚稳态特性,在普通的仿真和静态时序分析中很难发现问题,这对于安全性相关的功能带来了潜在威胁。DO-254虽然没有明确提出要进行跨时钟域的验证,但是要求检查“反常行为”,而亚稳态可以被认为是由设计错误而引起的反常行为。申请人应当提供处理亚稳态性的数据,包括是否有同步策略、同步策略如何使用以及效果如何。此外,申请人还应进行由于多时钟域而带来的环境方面的考虑。
2.5 逻辑综合问题
这是一个经常被忽略的地方。DO-254要求设计的每一步都有可重复性,理想的情况下,重新运行同样的设计步骤,一定可以得到相同的结果。但是工具在综合阶段会进行边界优化、资源共享以及流水线优化,每次综合可能得到不同的内部数据和不可重复的结果。申请人需在此方面对工具进行鉴定,并且在设计中考虑一些设计保证措施以保证改动部分的设计不影响已经固定下来的设计部分。
2.6 简单电子硬件(SEH)的验证标准
对于简单电子硬件的审定,同样关注于客户化可编程器件。如果申请人将该类器件定义为“简单”的,并且不选择DO-254作为符合性方法,则CAAC将要求申请人进行穷尽测试和分析。图3展示了一个简单的执行A级输入控制功能的案例,说明“简单”电子硬件的测试和分析要求。
所有的输入(429_DATA1/2、SENSOR1/2、Re复位信号、UART),输出(OUT_A、OUT_EN),内部信号(全局复位信号、逻辑控制信号、监控信号等),内部模块(全局复位、MONITOR、LOGIC CONTROL、多路选择器)以及器件中所有的寄存器、锁存器、逻辑器件和门,应该证明它们在所有可能的组合、排列和并发状态均无异常行为。当然也要考虑动态特性,如输出信号OUT_EN的建立时间应该是有限的(如小于5 ns),并且与其他模块是并发的。因此,在模块层级还不能完全完成测试,需要延伸到内部模块,如逻辑控制模块[5],并且最终到达寄存器传输级或门级。局方最认同的验证方式是物理测试,这就要求申请人采用必要的方法以观测内部节点信号。
除了上面提到的测试与分析之外,覆盖分析需要证明完整地实现了特定标准。所有的门或节点及其内部的模块组织(如多路选择器可能由许多的与非门、或门和触发器组成),应确定的是其的确执行了恰当的操作[6]。同时,还应分析最好和最坏时序,这是硬件验证与软件不同之处,在验证电路时,设计者应考虑电路物理特性。
但是,在工业实际中,如果硬件逻辑如本案例一样复杂,这几乎不可能达到所要求的标准。如果申请人将如此复杂的硬件定义为“简单”,他们将要承担巨大的风险,并且有可能不得不再次按照DO-254要求重新开始研制。当用户将微编码器件用于选择器、分频器等简单功能时,通常是可以被定义为“简单”的。
3 结语
许多国家的适航局方已认可DO-254作为一个可接受的符合性方法来满足机载系统和设备中的客户化可编程器件相应的规章。经过工业证明,DO-254巨大提升了需求质量,并明显降低了由于错误和需求缺失带来的返工概率,提升了构型管理,确保更高的硬件质量。但其仍是一个不完善的标准,有许多不明确问题需要进一步说明。
RTCA/SC-180委员会(DO-254)与 RTCA/SC-167委员会(DO-178B)联系较多,因此很容易发现DO-254标准与机载软件的标准DO-178B有许多过程和要求是相似的,然而恰好也是这种延承使得DO-254没有很好考虑硬件自身的特性,如动态测试、并发过程、时钟偏移和时序等问题,同时一些航空领域之外的工业实践方法也没有很好地被利用。
对于硬件设计或者审定工程师,在遵照DO-254标准的同时,还应当关注本文中所讨论的一些关键问题,这有可能成为机载电子硬件的潜在安全性问题。本文所推荐的方法并不能直接当作适航要求使用,但可以为审定和设计工作提供参考。
[1]RTCA.Design Assurance Guidance for Airborne Electronic Hardwar,DO-254[S].Washington D C:RTCA Inc,2000.
[2]SAE.Certification Considerations for Highly Integrated or Complex Aircraft Systems,ARP4754[S].Warrendale,PA:The Engineering Society for Advancing Mobility Land Sea Air and Space,1996.
[3]PAUL S MINER,VICTOR A.A Case-Study Application of RTCA DO-254:Design Assurance Guidance for Airborne Electronic Hardware[C]//AIAA/IEEE 2000 Digital Avionics Systems Conference,Philadelphia,PA,2000.
[4]FAA.Conducting Airborne Electronic Hardware Reviews[S].Seattle:Aircraft Certification Service,2008.
[5]STEVEN C BELAND.Functional Failure Path Analysis of Airborne Electronic Hardware[C]//AIAA/IEEE 2000 Digital Avionics Systems Conference,Philadelphia,PA,2000.
[6]FAA.Simple and Complex Electronic Hardware Approval Guidance,Order8110.105-Chg1[S].Seattle:Aircraft Certification Service,2008.