工程师努力打造百分百失效保护的系统,但这个梦想很难在实际执行中以低成本实现。因此,业界一般会用一种基于概率和风险的方法,界定安全相关系统所需的功能安全级别,正如ISO 26262和IEC61508等标准中所采用的方式一样。这些标准规定了(汽车)安全完整性级别(ASIL/SIL),它们明确了为通过相关系统认证,一定要考虑系统的那些属性,以及一定要达到的工程工艺严格度,这中间还包括一个界定系统安全目标和容错率的安全概念,以及一个将安全功能分配至相应的软硬件组件,从而始终不断地检测系统是否正确运行的安全架构。传统上,安全软件、硬件和工具是一些独立的解决方案,各自实现部分安全需求。如今,一个名为PRO-SIL的综合性概念,为全面高效地实现功能安全,从而最大限度降低风险,节省成本和降低复杂度,提供了一个完善的解决方案。
开发“安全”系统的根本动力在于确保目标系统在出现故障时,依规定的方式安全运行。为此,IEC于上个世纪八十年代中期拟定了IEC 61508标准,该标准之后又进行了多次修订,它提出了电子和电气设施安全系统的设计规范。此外,以这个通用标准为蓝本,IEC/ISO还针对过程自动化(IEC 61511)、机械自动化(ISO 13849)、传动装置(IEC 61800-5)、核电(IEC 61513)和汽车(ISO 26262草案)的特定需求编写了相应的标准。解决系统中每个潜在故障所需达到的安全等级将确保符合IEC61508安全标准(表1)(针对工业应用设立了SIL1到SIL4四个等级;针对汽车应用设立了ASIL A到ASIL D四个等级)
过去几年来,功能安全从一个系统集成任务演变为组件/软件级任务。简单的电子组件和复杂的单片机都需要支持IEC 61508。对于系统设计者而言,一个最重要和最耗时的挑战是需要确保系统的安全性,并通过相关的认证不仅包括系统认证,而且包括设备硬件和寄存器认证。IEC 61508针对硬件监控和测试提出了详细要求,从本质上讲,它是一个侧重于硬件细节的标准。编写和安全相关的核心软件以实现硬件所能实现的功能既耗时又费钱,并且难以在器件之间实现移植。
采用单通道架构和一个单片机最高只能达到SIL二级。因此工程师一般都会采用多个CPU设计SIL三级或ASIL C/D级安全系统和产品,它们不仅具备自检功能,还能够确保冗余性。但这是一个复杂的高成本解决方案,需要占用较大的板卡空间,2个CPU之间的同步和通讯问题会限制其功能的实现。一个新办法是增加特殊的外置硬件模块和标准双核32位单片机上的软件库可,突破既定的介质诊断覆盖率(DC)的限制。这一解决方案能减轻开发任务,降低器件成本(仅采用一个单片机),并采用根据IEC 61508/ISO 26262标准开发的可使用自检功能的所有相关组件所构成的智能安全概念,从而让设计人能快速可靠地在相关系统中实现安全功能。
告别以往采用第二个外置内核用于评估单片机功能故障的做法,TriCore内置两个内核(图1),其中一个是TriCore CPU(单片机和DSP),另一个是外设控制处理器(PCP),不用再使用用于安全评估的增设外置内核。
目前市场上有多种不同的实现安全关键应用的解决方案。虽然大多数领导厂商针对汽车应用推出了相应的解决方案,但面向其他应用领域(包括工业应用)的解决方案数量有限,而且相关这类的产品的开发规划图也不清晰。立足于自身满足汽车系统严格的安全需求的丰富经验,英飞凌开发出PRO-SIL系列安全产品,借助高度集成的安全解决方案以满足工业市场一直增长的安全需求。其他应用能轻松地利用英飞凌成熟的汽车解决方案,而且英飞凌还推出了众多适合的产品型号。PRO-SIL系列新产品基于英飞凌的32位TRiCore或16位XC2300单片机,另外还集成了SafeTcore测试软件库和安全监测芯片CIC61508(图2)。这个已得到全面验证的产品系列,全部符合IEC 61508的要求。
图2:采用TriCore作为主控制器的安全相关系统,安全监测芯片和SafeTcore测试软件库。
目前有两类最常用的安全控制架构:单通道(1oo1或一选一)和双通道(1oo2或二选一)结构,后者基于两个独立的处理器。1oo1结构可用于设计安全完整性级别最高为SIL二级的经济型解决方案。双通道架构(1oo2)可用于设计安全完整性达到SIL三级的安全解决方案,但成本更高,需要占用更大的板卡空间。PRO-SIL产品系列采用的是一个集成智能诊断功能的1oo1架构(1oo1D)。
这个创新的安全概念立足于询问应答机制,其中,TriCore芯片上的PCP发出询问,而主TriCore CPU负责执行测试。相关信息通过一个共享内存结构传递,数据从始至终保持冗余。PCP实现自检功能,该功能由外置智能化安全监测芯片(CIC61508)进行监控,后者通过SPI接口被连接至TriCore芯片(图3)。配备安全监测芯片是最大限度减少常见原因故障的一个有效方式。安全监测芯片以规定的时间间隔与TriCore通信,根据有关标准检查TriCore芯片的时钟、电压和操作状态。另一方面,TriCore监控CIC61508的电源,并利用远程诊断功能监控其工作状态。主TriCore CPU和PCP共用错误检测功能(硬件故障和任务监控)。
图3:创新PRO-SIL概念立足于询问应答机制,其中,TriCore芯片上的PCP发出询问,而主TriCore CPU负责执行测试。此外,PCP由外置智能化安全监测芯片(CIC61508)进行监控,后者通过SPI接口被连接至TriCore芯片。
PCP软件具备PCP自检、C/R(询问/应答)通信、安全监测芯片通信、测试执行监控和任务监控等功能。在TriCore上运行的SafeTcore测试软件库是一个可配置的框架,提供验证处理器和系统完整性的测试功能(图4)。大多数测试既可以在系统启动时执行,也可以在系统运行期间在后台执行。典型的诊断间隔时间为6.4ms。最复杂的测试是TriCore CPU自检。利用PRO-SIL这一创新安全概念,这个基于操作码的自检的整体诊断覆盖率能够达到96.5%,大大高于其他指令集测试的覆盖率,此外它还具备可以中断和低延时等优势。