一般来说,能够经过对体系质量、可维护性、可靠性、可用性及安全性等方针做出评测,来衡量体系在环境中的功用。功用安满是体系相对于或许呈现的操作过错、硬件毛病及环境改变的全体安全性。这取决于体系或设备能否呼应输入正确地运转,包括安全地办理操作过错、硬件毛病和环境改变。功用安全的方针是防止不行承受的身体损伤,或对健康直接或直接形成的危害危险。
为了保证安全功用能够契合规划初衷,包括在操作员输入不正确和毛病形式等状况下,人们一向不断改进各种规范。IEC61508是适用于各个职业的世界功用安全规范之一,名称是“电气/电子/可编程电子安全相关体系的功用安全(E/E/PE或E/E/PES)”。ISO 26262是从IEC 61508衍生而来的功用安全规范,名称为“路途车辆-功用安全”,适用于轿车职业。ISO 26262界说了轿车设备的功用安全,适用于一切轿车电子电气安全相关体系的整个生命周期。
SoC体系级芯片遵从多种规划技能,以契合安全规范,这些在ISO-26262规范中都有所介绍。冗余、自检机制、信号监测、电压电源监测和“看门狗”是在契合安全规范的设备中所运用的几种技能。冗余是这些设备的首要组成部分。冗余在轿车设备中的运用有多种办法,许多契合安全规范的设备将锁步、ECC、CRC及校验等用作冗余技能。本文将首要介绍SoC中运用到的冗余技能,包括硬件、软件、信息和时刻冗余等。
轿车硬件冗余机制
冗余是指除了在要害功用中运用的组件外,还包括额定的组件,旨在进步体系的可靠性和可用性。冗余的增加办法有许多,如硬件(例如双核锁步)冗余、软件冗余、信息冗余(例如将ECC增加到存储器)和时刻冗余。一般状况下,冗余依据MooN概念作业。
N分之M(M-out-of-N,MooN)体系包括N个相同的组件,作业原理是:假如N个组件中的至少M个组件正常作业,那么该体系没有过错。一个示例是三重模块化冗余(TMR),这实际上是一个三分之二(2oo3)体系。假如3个组件中至少有两个组件(大部分)正常运转,那么该体系则被视为正常运转。
MooN体系在硬件和软件中运用。在硬件中,要害组件被仿制,依据大都投票准则做出决议计划。而在软件中,一个使命被重复屡次,然后比较使命履行成果,生成最终成果。在SoC中,硬件冗余能够选用多种形式:仿制履行安全要害使命的内核(也称为锁步)、推迟锁步(1oo1体系)、非对称锁步、三次投票(2oo3体系)。
在契合安全规范的高档设备中,履行安全要害使命的内核被仿制,应用在锁步形式下运转这两个内核,比较成果,保证冗余处理产生完全相同的成果。如未取得完全相同的成果,则视为产生了毛病。
在锁步形式下,一起将同一组输入发送到这两个内核,然后这两个内核在相同的时钟周期内履行相同的核算,定时比较成果,检测是否产生了毛病(无论是瞬时毛病、间歇性仍是永久性毛病)。一旦输出不匹配,通常会符号毛病并履行重启。图1显现了锁步中的内核(双核锁步)。
图1:锁步中的内核(双核锁步)作业原理
推迟锁步是锁步的一种,其间一个内核的输入推迟了N个时钟周期,另一个内核的输出也推迟了相同的时刻,然后比较成果。用这种办法,可取得时刻分集。因为一个内核在N个时钟周期后将履行相同的运算,冲击这两个内核并以相同的办法影响其功用的噪声脉冲的概率将大大削减。图2显现了推迟锁步的作业装备。馈送给内核2的数据被推迟了两个时钟周期。内核2的重置也推迟了两个周期。内核1的输出推迟了两个时钟周期,然后由校验器电路进行比较。如发现毛病,则符号过错。
图2:推迟锁步的作业装备
在非对称冗余中,不仿制相同的内核,而是运用不同的内核。不同的专用内核经过一个接口与主内核严密耦合,完成内部和外部成果的逐渐比较。该接口降低了复杂性,缩短了过错检测推迟。主核履行要害的使命,而专用的多样化内核则仿制足够多的主核履行,保证能够检测毛病,或保证主核的安全运转。因为硬件的多样性,能够有用掩盖共因毛病和体系毛病。内核的不同结构将导致不同的内核反响办法,改进共因毛病的确诊掩盖。因而这两个内核产生的同类毛病的状况将削减。并行通道无需独自的代码,专用内核比主核小。有时,主核的面积差异可高达50%及以上。这种办法的缺陷是,或许需求具体的剖析来证明确诊掩盖。