在线工博会

安全实现汽车电子实时性能
Simon Brewerton
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
用户对特性和功能的要求仿佛永不满足,这迫使汽车制造商在汽车中安装越来越多的电控装置(ECU),以至于汽车电子网络已复杂到无以复加的地步。一些特性纯粹是为了提高舒适性或便捷性(如导航、高级音响、自动空调等系统),而其他系统则是法律强制要求的(如胎压监测、高级气囊、车辆稳定性控制等系统)。为了管理这种与日俱增的复杂度,汽车电气架构(Boardnetz)被划分为具体的域,包括:动力系、车身、底盘、安全系统和信息娱乐系统。每个子域都通过信息网关连接至高速主干总线,实现不同电子控制装置集群之间的信息共享。(图1)目前采用的主干总线通常是FlexRay技术,不过未来也有可能采用以太网技术。下一步发展计划是通过提供“域控制器”来替代子域中的一系列电子控制装置,从而大幅减少各个子域中的电控装置的数量。这些域控制电控装置提供了高性能的计算平台,能够并行托管诸多应用,从而取代大量小型电子控制装置和简化系统。这种方法具有许多诱人的优点,如节省安装空间、缩短装配时间、降低线束复杂度、降低网络复杂度和降低功耗等。就系统成本和研发投资而言,这种方法也能节省大笔资金。不过,随之而来的是对计算平台提出了许多新的要求,以支持在域控制电控装置中的一颗单片机上,同时托管不同厂商提供的软件和应用。

(图片)

不同应用之间的干扰免除
一个关键问题是,确保平台上运行的所有不同应用之间的“干扰免除”。这意味着,对各个进程在资源使用上强制执行预先定义的限定,包括CPU处理时间、中断时延、代码执行范围、RAM占用量、外设访问和服务使用(如操作系统功能、EEPROM处理程序、总线网络驱动程序和类似的共享功能)等。这些保障措施在采用多核单片机上需要审慎地考虑。这些多核单片机将具备若干个CPU,以运行多个AUTOSAR操作系统(操作系统应用)实例,并分享同一套硬件资源。传统的分享共用计算资源方法涉及利用“管理程序”层来抽象化硬件。这种管理程序避免了操作系统直接访问物理硬件,代之以收集这些访问,排列整理确定其优先级和权限,从而拒绝或同意访问请求。将这一思路引入汽车领域,则意味着在每个CPU上运行若干个“AUTOSAR虚拟机”,并由特定管理程序层来管理使用共享资源的权限和冲突。然而,汽车电控装置尚不可支持这种程度的抽象,因为这种深度嵌套的实时系统的主要缺点是会大幅延长所有外设访问的时延的。为了成功实现资源共享,AUTOSAR版本4提供了一种合作共享模式,它规定了一种操作系统应用间通信(IOC)机制,借以将某个特定内核上不能服务的基本软件模块(BSW),重新定向至可提供服务的内核。这种机制依赖于内核之间的协作,其不足之处是有可能某个内核收到大量IOC请求,因而影响其执行其他任务的能力。必须审慎地检查通过这种合作机制实现的不同内核上的应用之间的“干扰免除”,并且必须对可能造成的潜在附加负荷加以限制。

(图片)

图1:用于简化网络连接的域控制器“Boardnetz”,可将若干有关应用集成到高性能域控制电子控制装置中

要将域控制器理念付诸实践,更为务实的第一步是直接将两个电控装置合二为一。即便这个小小之举,也能在封装、电控装置基础结构(电路板、接头、电源、总线转发器、贴装和测试)以及线束等方面带来大幅节省。最简单的解决方案是将两颗原装单片机并排贴装在一张电路板上,然而,最好能有一颗多核单片机为两个应用分别提供专用资源,以进一步降低复杂度和节省元件成本。不过,如果有一个或多个涉及安全问题的应用(即,在意外运行中可能造成人身伤害的应用),那么,必须按照最近发布的《ISO26262功能安全标准》的规定,进行严格的分析、工程设计、考量和论证。《ISO26262功能安全标准》要求硬件必须具备足够的故障检测能力,并且将违背任何安全目标的可能性降到极低,才能用于这样的安全系统。汽车安全完整性等级D(ASILD)的最高要求对经济和能耗方案是一个有趣的挑战。要实现99%以上的单点故障(SPF)指标,通常要求冗余计算能力、数据失效检测逻辑、定时器和内存保护单元、时钟监测、电压监测和专用自检机制。如果要靠应用程序员来解决所有这些与硬件有关的问题,那么在运行时执行真实性检查和测试就要消耗大量处理能力。如果单片机上具备多个处理内核,则必须采取额外的措施来检测其他CPU以及诸如DMA引擎和任何其他内部总线主控器等其他器件对某个CPU造成的干扰。
当安全遇上性能
通过与市场领先的一流厂商密切合作,英飞凌推出了一个全新的多核TriCore处理器家族,以满足在计算性能、更高内存容量、安全性和汽车质量等方面日益增长的需求。这个命名为AURIX的全新处理器家族,是继大获成功的AUDO和AUDOMAX家族的后起之秀。全新设计的AURIX家族旨在以高能效、高性能的方式,提供最先进的处理能力。TriCore内核被重新设计为两种不同的版本:一个是超标量版本,可实现行业领先的300Mz性能;另一个是标量版本,在200MHz频率上,可实现最低电流消耗和最小尺寸空间,是适用于中端应用的最高效的解决方案。这两个版本的TriCore CPU都可实现锁步,为ASIL D安全系统提供卓越的故障检测能力和快速响应时间。AURIX家族在性能、内存容量和封装方面的灵活扩展性支持在不同器件之间共享一套共用安全实例,既允许在较小的器件上托管单个应用,也允许在较大的器件上同时托管多个应用,而无需更改软件架构或安全策略。这在一定程度上是由于在每个外设和每个内部总线受控器中集成了一个独一无二的功能,使之仅接受来自规定资源的访问。这种机制(被称为寄存器访问保护)(图2)能够永久地阻断或允许任何CPU、DMA或其他总线主控器访问(或可能破坏)任何内部共享资源(SRAM、外设、IO)的状态。这样,用户就可以将任何外设和内存组合,专用于各个CPU和DMA。许多外设也实现了双配置,以便托管的各个应用拥有自己的专用资源,确保“干扰免除”,而不受任何内存保护机制或其他与操作系统有关的封装机制的影响。对主控制器软件工程和集成分析而言,节省空间的潜力很大(~30%),因为混合型临界系统可以在一个内核上为ASILD应用托管一个AUTOSAR OS,并同时在另一个核上托管一个不启用本地内存或定时保护的非AUTOSAR OS,该,使得非安全应用不可能干扰单片机的与安全有关的行为。如果想要实现多个ASIL D应用,那么AURIX也可托管多个AUTOSAR操作系统应用,并完全支持合作模式。全新临时保护系统在CPU内核上执行任务时间预算监管和中断率监测上提供了辅助。这样一来,ASIL C和ASIL D系统也可以实现AUTOSAR IOC,因为硬件可以监测内核之间的任何相互作用,并将之限制在预先规定的限度内。硬件强制执行封装边界,允许在将监测功能集成到现有系统中时,进行直截了当的安全论证,因为可以直接推断出“干扰免除度”。这些机制共同提供了实现“半虚拟化”所需的切入点。“半虚拟化”是朝着全“虚拟化”和管理程序迈出的务实的第一步。因为如今的汽车应用事实上并不能提供,也不严格要求运行“虚拟机”的能力。

(图片)

图2:寄存器访问保护系统允许向特定CPU和DMA灵活分配外设和系统资源,强制封装好后而不受操作系统内存保护机制的影响

现在,英飞凌最新推出的AURIX家族控制器实现了许多创新技术和机制,(图3)是一个可灵活扩展的解决方案,既能满足最高性能计算应用的要求,同时又为硬件带来了诸多安全特性,而不再依赖于应用级软件。随着汽车电子控制功能和特性不断呈指数级增长,在一颗单片机上托管多个产自不同厂商、具备不同安全危险程度的应用的能力,将开启通往新的域控制器架构的大门,在提高系统可靠性的同时,降低复杂度。

(图片)

图3:AURIX超集框图显示了两对锁步TriCore CPU和一个高性能TriCore,可在统一片上系统架构中实现最优性能和安全性

关于作者
Dipl. Ing. (BSc) Simon Brewerton是英飞凌科技负责汽车用单片机功能安全的高级首席工程师,工作地点在英国布里斯托尔 9/10/2012


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站