作者:Caroline Hayes,高级编辑嵌入式系统工程部门
撇开医疗和工业市场不谈,就汽车行业而言,高级驾驶员辅助系统 (ADAS) 有了大幅改进,例如车辆中增加车道偏离警告和碰撞避免定向系统;并且联网的车辆对车辆 (V2V) 和车辆对基础设施 (V2I) 安全系统也有所发展。它们均依赖电子系统的功能安全来避免碰撞和伤害驾驶员、其他道路使用者和行人。
ARM 功能安全部门经理 Lauri Ora 认为,考虑功能安全(即系统在发现某些情况时如何应对)时,开发人员必须“时刻警惕错误情况”。
图 1:ARM® Cortex®-R5 处理器会在嵌入式系统中将能效、实时响应、高性能和经济高效的性能整合至车辆的功能安全设计中。
汽车行业目前正在审核 ISO 26262 标准“道路车辆 - 功能安全”。此标准以及“汽车开放式系统架构”(AUTOSAR) 将确保可以针对功能安全开发和运行汽车系统、软件和硬件。关于汽车安全功能的 ISO 26262 标准已于 2011 年推出,并且业界已于 2014 年 11 月开始了第二版的修订工作。此工作涉及标准的半导体设计适用性的方方面面,包括 IP 主题。
ARM 公司的 Ora 当前正在领导 IP 工作,包括不同国家/地区和组织的协调问题和文档。标准可以拥有不同的含义,Ora 解释到:“[ISO 26262] 标准可以采用不同的方式运用和解读,并且具有不同的实施方案。文档中的额外指南将设立预期基线,并且重点关注可用于 IP 设计的数据类型。这将帮助到所有人。”
此项工作已开展了两年多,初步规划了基于 IP 的功能安全设计的指南。例如,此项工作涵盖设计和验证 IP 所需的信息、可用于潜在故障模式的信息以及定义可用于基于 IP 的设计的信息。此次合作成果有望在 12 个月内推出。
ARM 于 2010 年发布了 Cortex-R5,稍早于 ISO 26262 标准推出时间(图 1)。这款实时处理器拥有一组故障检测和控制功能,以及一个安全文档集,可供半导体公司为功能安全标准的合规性提供演示支持,从而缩短上市时间、减少组件数量、降低复杂度和能耗。
Ora 表示:“包含 ARM Cortex-R5 处理器的系统微控制器为物理设备。例如,它可以影响 EMI 或辐射的行为,并且需要检测该行为以便软件能够正常运行。”
在检测和校正领域,ARM Cortex-R5 的故障检测和故障控制功能对于安全领域尤为有用(图2)。处理器和控制器单元部件可以对特定类型的故障做出响应,这些故障由Cortex-R5 和硬件检测和校正。
图 2:集成式 Cortex-R5 已在 ARMv7-R(实时)架构中实施。安全相关应用需要由紧密耦合内存 (TCM) 和低延迟中断模式 (LLIM) 提供的实时响应,以加速中断输入。
诸如故障诊断和控制等功能以及被 Ora 描述为“lock-step,冗余验证”的功能将会减少软件检查次数。硬件本身可以用于检测和标记某些故障。这意味着不存在于错误检测相关的软件开销,因此可以在软件中运行更多代码和复杂的算法,因为硬件会负责监控和检测系统故障。
由于软件不需要过多关注错误检测,开发人员可以有更多的精力关注更复杂的高级算法。Ora 解释:“不含故障检测机制的常规处理器必须添加测试例程至软件,以支持处理器执行此操作。”
lock-step逻辑对于 Cortex-R5 并非新事物,但是仍值得引起注意,因为它能提供较高的检测率。总而言之,Cortex-R5 是“一项引人注目的安全案例。”(请参阅嵌入式系统工程部门的 Chris Turner 专访。
为了适应不同的应用场景,Cortex-R5和其内存模型可以有不同的配置。Lock-step将检测并校正内存错误,这些内存可能会因受到外部影响而损坏。Ora 解释说,尽管lock-step的设置会给R5带来大量的冗余逻辑从而增加硅片面积,但是这种设置并不会给Cortex-R5带来额外的开销。因此,也会在系统中检测到硬件差异,从而使得内存所需的硅片面积不会增长。
他表示:“不含lock-step微控制器的关键应用将使用冗余和单独的微控制器来管理 PCB 级别上的安全性。所有复杂性将会挤入或压缩至单一微控制器,以简化 PCB 和软件设计。通过此集成,组件数量将会减少,所涉及部件的数量减少,可靠性也会随之提高。另一益处在于,复杂性和能源使用将会下降。”(请参阅图 1)
用于 Cortex-R5 的 ARMv7-R 架构定义了内存保护单元 (MPU)。该架构可以配置为检测应用软件漏洞,从而在应用软件尝试访问不应访问的领域时标记任何实例。架构功能包括带 MPU 和高级错误管理的用户软件操作模式和特权软件操作模式,以及适用于随机硬件故障诊断覆盖范围的锁步处理器配置支持。
其他旨在满足安全相关应用所需的严格实时操作要求的功能有紧密耦合内存,这些内存靠近各内核(请参阅图 2),从而使内核更适合快速确定性中断响应。还有用于优化性能的低延迟中断模式。
Cortex-R5 文档包已于 2015 年 1 月发布。它专为将 Cortex-R5 集成至 SoC 设计的硅片供应商以及需要认证安全优先汽车(和其他)系统产品的人员而设计(图 3)。主要面向且仅适用于 Cortex-R5 被许可方,如 Texas Instruments 和 Spansion。它还将提供展示功能安全所需的其他信息。Ora 表示,该文件包也涵盖用于功能安全支持的产品功能描述,如错误检测和错误校正机制。它详细描述了检测到故障时的反应。此外,它还描述了开发生命周期方法的类型以及已执行的审计和评估。
过去数年来整理的详细信息还包含使用假设:例如,如何在 SoC 设计中使用 Cortex-R5、系统设计人员在使用某些信号的情况下受到的任何限制,以及在出现干扰的情况下不使用部分功能的时间。Ora 指出:“由于存在大量可能的设计解决方案,因此我们无法告知 SoC 或 MCU 设计人员不要执行哪些操作,仅给出了一些建议。”
和 ISO 26262 一样,文档还支持行业安全标准 IEC 61508。Ora 指出,Cortex-R5 安全文档的通用特性意味着,它还可以应用于其他市场,包括涉及大量标准的医疗市场。
图 3:Cortex-R5 及相关安全文档包可用于支持功能安全应用的 SoC 开发。
为解决大量安全相关市场的工具资格认证,公司开发了 ARM 编译器资格认证工具包,其中包含有关可用于工具资格认证的 ARM C/C++ 编译器的信息。此资格认证工具包还包含编辑器的安全手册,其中描述了编译流程和有关编辑器工具链的可能故障模式的信息,以及有关使用限制的信息。
编译器工具链已经过 TÜV SÜD 的认证,可满足 T3 类开发工具的要求(根据关于软件要求的 IEC 61508-3 划分)。
不断增加的设备连接(尤其是在汽车市场)以及 ADAS 汽车系统在现今汽车行业的应用,需要经济且省时的方法来集成系统的功能安全。ARM Cortex-R5 的生态系统和技术支持表明,业界目前正在朝着此方向发展。
Ora 确认,ARM 正在积极开发大量用于功能安全支持的前沿技术。最新推出的 Cortex-M7 处理器拥有大量故障检测和控制功能。针对需要高计算吞吐量的应用(如 ADAS),ARM 最近宣布将针对最新的 Cortex-A 系列应用处理器,包括 Cortex-A53、Cortex-A57 和 Cortex-A72,推出功能安全支持计划。
本文由 ARM 赞助。