微处理器中的功能安全机制
近海
|
2019.12.30
|
0
+关注

随着汽车电动化的发展,汽车上面的控制器越来越多,同时主机厂越来越重视汽车的安全性能,因此控制器的安全性能很大程度上决定了汽车的安全性。本文从硬件角度讨论汽车控制器中的微处理器从哪些方面满足ISO26262标准中的要求,并以飞思卡尔公司的32位微控制器MPC574x提供的主要功能为基础,帮助用户认识理解MCU如何满足ISO26262提出的安全要求。

1. 功能安全的要求

功能安全与最大限度减少系统故障引起的危险有关。系统故障可能由硬件或软件错误引起,可能是永久性的,也可能是暂时的。以下描述系统发生故障后可能的反应:

(1)故障—危险:发生故障时可能造成危险;

(2)故障—不一致:发生故障时系统运行结果出现明显不一致;

(3)故障—停止运行:发生故障时系统停止运行;

(4)故障—安全:发生故障时返回或保持安全状态;

(5)故障—可以运行:发生故障时继续正常工作;

(6)故障—静音:发生故障时保持静音;

(7)故障—提示:发生故障时向周围发出提示;

2. MPC574x提供的功能安全措施

2.1 锁步功能

确保内核安全运行是功能安全的主要要求之一,这是因为几乎所有的操作都以其为基础。在微控制器MPC574x中,通过一个与主内核锁步运行的辅助内核来实现安全运行。辅助内核与主内核执行相同的指令,然后比较两个内核的运算结果是否一致,如果一致则执行,否则进入安全处理模式。如下图所示为锁步功能框图。

2.2 ECC保护

实现ECC(纠错码)和SECDED(单纠错和双纠错),可保护所有的存储器存储操作。ECC在数据、地址信号上实现,并通过写操作与数据一起存储在存储器中。发起读操作时,ECC在检索到的数据和请求的地址上重新进行计算,并通过已存储的ECC进行验证。ECC能够纠正1个比特位错误以及检测2个比特位错误。

2.3 故障收集和控制单元FCCU

FCCU是一个可编程单元,它负责监控MCU的完整性状态,并提供灵活的安全状态控制,在设备发生故障时通过可控的方式使设备处于安全状态。FCCU框图如图2所示。

FCCU提供一个有限状态机,根据系统中发生的错误以及对这些错误采取的行动,从一个状态迁移到另一个状态。根据配置,FCCU可能会触发复位、屏蔽/非屏蔽中断、外部故障指示、或不反应。还提供两个外部指示引脚 (EOUT0/1),可以就系统中发生的故障与外部环境进行通信。

2.4 自我测试控制单元

这是针对设备在启动/关机时运行的自我诊断措施,以确保在运行过程中不会出现延时/休眠故障而破坏其运行。通常来说,自我检测根据数字逻辑(称为 LBIST)在嵌入式存储器( 称为 MBIST)上执行,有足够的覆盖率,可满足所要求的系统安全完整性等级(SIL)。

2.5 时钟监控和辅助时钟

为了检测运行中的内外部时钟电路故障,通过辅助时钟监控主时钟。该辅助时钟由内部RC振荡器提供,只要器件重置便可使用。有了辅助时钟,即使内部PLL由于某些原因而发生故障,也能保证系统有时钟可以运行许多安全机制,确保继续运行。

2.6 电源管理控制器

PMC采用电压监控电路和BIST。有两种电压监控器,即低压检测 (LVD) 和高压检测 (HVD) 监控器。所有与安全相关的电压都受到内部监控,防止电压超出这些范围。PMC中实施的BIST在启动时或通过软件检测PMC中关键的带隙电压/其他功能。由于安全相关电压故障可能导致MCU故障指示机制在反应前关闭,其电压错误指示将直接导致设备跳变到故障安全状态,而无需FCCU干预。

设备实施功能安全特性需要MCU提供冗余,这可能增加功耗和芯片尺寸。但是,如果与硬件系统连接的MCU能够提供故障安全、故障静音或故障指示状态,带来的好处非常多,尤其在减少软件复杂性方面,能够为汽车电子电气系统提供更加有效的安全措施。

精选留言
延伸阅读
2020.10.02
2855阅读
更多报告干货
写留言
2523
阅读
收藏
回到顶部