garfield

双核控制器应对汽车应用严苛安全要求

0
阅读(1817)

过去几年来,汽车电子系统已经成为决定现代汽车驾驶体验的主要因素。越来越多的汽车电子系统不仅需要满足主动和被动安全系统中的功能性安全要求,而且要满足底盘、传动系和车身应用中的安全要求。因此,功能性安全经常被认为是与受控设备(EUC)和EUC控制系统相关的整体安全性能的一部分,而EUC控制系统依赖于电子系统的正确工作。

飞思卡尔公司MPC564xL是一系列针对安全关联应用优化了的微控制器,这些应用包括电动转向、汽车稳定性控制和司机辅助等。这些控制器充分整合了业界领先的功能性安全架构和新的性能与灵活性水平。

电子稳定性控制、动力转向和自适应巡航控制有什么共同之处?对系统设计师来说,设计此类系统,并同时满足一流功能性安全要求是一项极具挑战性的任务。应用功能的数量和复杂性不断增加,开发成本压力日益提高,而产品上市时间却在不断缩短。

以具有复杂控制算法且安全要求苛刻的应用为目标的设计工程师看似有着广泛的系统架构可供选择,然而,当今大多数微控制器解决方案或者缺乏灵活性,不能支持各种功能性安全概念;或者要求在安全软件方面投入很大。而额外的软件更增加了复杂度,并增加了系统性故障的可能性。

因此,我们为MPC564xL系列双核微控制器的开发设定了以下目标:

高效—提供最高性能水平(以更少的投入,实现更多产出),更低的时钟频率,并支持智能的外设协调;

灵活—构建一种支持多重安全架构的双核概念,允许用户在性能和安全水平之间取得平衡;

安全—形成一个符合ASIL_x认证的安全概念,并通过在硬件中加入关键安全组件和自检功能降低软件复杂度。

功能性安全概念

随着更高价值车载功能的推出和汽车电气化趋势的不断发展,可编程电子系统代替机械部件越来越多地承担起满足安全要求苛刻的功能。因此系统工程师面临的挑战是,建立能够预防危险故障发生,或至少在故障发生时能够提供足够控制功能的控制单元架构。危险故障可能由以下原因引起:

* 随机硬件故障机制

* 系统性硬件故障机制

* 软件错误

* 共因故障

这些故障模式对于电子控制单元设计来说是一大挑战,而且对于微控制器等复杂部件来说,它们也是相关联的。因此,即将生效的ISO26262等业界标准规定了4个安全完整性等级,每一等级对应某一安全功能出现故障的概率范围。

在针对安全要求苛刻应用的双核控制器设计方面,飞思卡尔已经拥有多年的丰富经验。为了让最新双核处理器系列采用整体安全概念,第三方功能性安全专家正在着手对概念的实施以及设计流程进行监控和评估。MPC564xL系列在此基础上应运而生。重点放在以下几方面:

1 防止单点故障的措施

单点故障可能直接与系统安全功能紧密相关,通常要求进行快速检测。此类故障的典型例子是由外部因素(如辐射或电磁干扰)引起的内核或内存的比特翻转。最低要求是在系统安全时间内检测出这些故障。在汽车电子应用中,系统安全时间一般在1ms和30ms之间。

作为防止单点故障的关键措施,MPC564xL处理器引入了一种所谓的“SoR”(复制区域),它允许用户以双核锁步模式运行微处理器的关键组件。

2 预防潜在故障的措施

潜在故障通常是“隐藏的”。尽管已经发生,但这些故障仍未对系统安全功能造成损害。一个例子就是执行内存故障检测/纠正的EEC逻辑出现故障。只有当发生内存比特翻转(比如在闪存模块中)因而无法进一步检测/纠正的时候,故障才变得严重。

MPC564xL控制器架构提供的硬件自检(BIST)机制可以检测这种类型的故障。这些测试利用了微控制器的逻辑单元,覆盖率可达90%甚至更高。因此,即使在实际应用并未触发所有硬件模块的时候也可以识别出潜在故障。

3 预防共因故障(CCF)的措施

共因故障可能是由MPC564xL架构的冗余组件仍然共享一个公共裸片所导致。典型例子是系统时钟或电源问题,它们可能以类似的方式影响到芯片内部的时钟并可能造成同样的故障。因此,在锁步模式下,“冗余区域”的两个通道都运行同样的软件,此类故障不会被检测出。

MPC564xL系列提供硬件模块用于检测时钟偏离,并提供硬件监视器监视主要电压,如内部核心电压、闪存供电电压等。

复制区域”是MPC564xL器件架构的逻辑部分。该部分可以设置为以“锁步模式”运行。“锁步模式”意味着控制器的这个部分同时并行运行同一组操作。锁步操作的输出可以通过所谓的“冗余校验单元(RCU)”进行比较。这些单元可以判断是否已出现故障。如果出现故障,故障信号将被转发到一个单独的硬件模块,即故障采集和控制单元。

内置自检

为了实现硬件解决方案而不是软件自检机制,MPC564xL器件架构提供了多种内置自检(BIST)功能。例如,对每个启动顺序都执行自动的器件内置自检。当微处理器仍在复位阶段时检测已经完成了。因此,应用程序启动进程和开机启动软件不会受到影响。只有在初始自检完成而且没有检测到任何故障时应用软件才会启动。

故障采集和管理

故障采集单元(FCU)是MPC564xL功能性安全架构的一个核心组件。这一硬件模块旨在简化安全要求苛刻应用中的控制器级故障报告和管理。它提供了一个冗余硬件通道。当存在重大故障时,该通道允许在安全的状态下实现器件的受控转移。这一操作无须CPU干预。

故障采集单元可以处理控制器的内部故障信号,并让用户选择不同的故障信号处理方式。根据默认配置,在启动过程中,一旦故障采集单元进入激活状态,自检流程就会检查故障采集单元的逻辑部分。

对于外部故障信号,FCU提供两个双向信号。为了确保在其它控制器模块或主内核出现故障的时候FCU的独立性,该模块运行在一个独立的内部16MHzRC时钟上,因此保证了对输出信号和时间终止的准确计算

过去,复制原则和锁步模式主要用于内核。这样能够对内核故障做出极快的响应,时间通常在几个时钟周期范围内。MPC564xL系列将更进一步,在“复制区域”中增加了其它关键的硬件模块。主要组件包括:

* 包括内存保护单元在内的交叉开关矩阵(Crossbar)

* 中断控制器

* DMA单元

* 软件看门狗定时器

内存ECC

为MC564xL系列实施的ECC方案能够纠正所有的单比特错误、检测所有的双比特错误并检测几种影响两个以上比特的故障。ECC计算不影响器件的性能。尤其对于SRAM来说,地址信息包含在ECC的计算和估测之内。因此可以实现对RAM阵列内潜在的编址错误的检测。双比特或多比特错误则被转发到故障采集和控制单元。

电压与时钟监视

对于安全关键性系统的设计和实施来说,电压监视能力是一个很重要的方面。为了简化ECU供电设计并避免与电源上电顺序相关的额外故障源,MPC564xL系列采用了3.3V单电源概念。

电源管理单元(PMU)用于管理器件上所有模块的供电电压,并为低压和高压检测提供片上监视器。这些监视器的故障指示被前移到故障采集单元和复位产生单元。

MPC564xL电压监视器是可测试的。针对内部生成的核心电压的过压/欠压检测器提供了硬件辅助下的自检功能。测试需要在启动过程中由软件进行触发。运行时的电压监视在后台进行,无须进一步软件配合。

对于符合ISO26262标准的系统来说,时钟信号的监视是必须的。MPC564xL系列使用专用的时钟监视单元(CMU)监视时钟源的完整性。

微处理器的关键组件(如“复制区域”)、用于电机控制的外设以及Flexray等通信模块都使用专门的时钟监视器。

时钟故障将以信号的形式通知到故障采集单元。为了在其它时钟源出现错误的时候保证故障采集单元的独立性,该模块可以在一个16MHz的内部RC时钟上独立运行。

Baidu
map