利用PRO-SIL高效实现汽车及工业系统的功能安全设计
扫描二维码
随时随地手机看文章
工程师努力打造百分百失效保护的系统,但这个梦想很难在实际执行中以低成本实现。因此,业界通常采用一种基于概率和风险的方法,界定安全相关系统所需的功能安全级别,正如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针对硬件监控和测试提出了详细要求,从本质上讲,它是一个侧重于硬件细节的标准。编写和安全相关的核心软件以实现硬件所能实现的功能既耗时又费钱,并且难以在器件之间实现移植。
多CPU方案——成本高,占位面积大
采用单通道架构和一个单片机最高只能达到SIL二级。因此工程师一般采用多个CPU设计SIL三级或ASIL C/D级安全系统和产品,它们不仅具备自检功能,而且可以确保冗余性。但这是一个复杂的高成本解决方案,需要占用较大的板卡空间,2个CPU之间的同步和通讯问题会限制其功能的实现。一个新办法是增加特殊的外置硬件模块和标准双核32位单片机上的软件库可,突破既定的介质诊断覆盖率(DC)的限制。这一解决方案可以减轻开发任务,降低器件成本(仅采用一个单片机),并采用根据IEC 61508/ISO 26262标准开发的可使用自检功能的所有相关组件所构成的智能安全概念,从而让设计人员可以快速可靠地在相关系统中实现安全功能。
告别以往采用第二个外置内核用于评估单片机功能故障的做法,TriCore内置两个内核(图1),其中一个是TriCore CPU(单片机和DSP),另一个是外设控制处理器(PCP),不用再使用用于安全评估的增设外置内核。
图1:TriCore结构图——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%,大大高于其他指令集测试的覆盖率,此外它还具备可以中断和低延时等优势。[!--empirenews.page--]
图4:SafeTcore软件分区。
SafeTcore测试软件库
SafeTcore套件为同时达成如下两个目标提供了相应的工具:其一,通过SIL一级至三级(或ASIL B级至D级)认证;其二,满足苛刻的上市时间要求。通过认证的最大挑战是在芯片级实现所要求的测试,并编写相应的文档备份安全测试例程。SafeTcore套件借助一个面向TriCore系列产品的高度可配置的驱动程序库,加上全套安全手册、安全测试例程以及需求/跟踪数据库,能够让设计人员达成上述目标。运行在PCP上的功能强大的SafeTcore自检程序,可以在系统启动时执行,也可以在系统运行期间定期执行(图5),从而确保用户软件和TriCore CPU自身的正常运行。
图5:SafeTcore启动和关闭测试。
内核测试功能与全面的外设测试以及安全监测芯片自动支持功能相辅相成。SafeTcore测试软件库中的系列软件测试程序,还具备操作系统监测功能,可执行复杂任务和进程监控任务,以超过99%的诊断覆盖率,确保程序代码安全执行。SafeTcore套件还包括一本可让设计人员将不同的软件库元素与用户软件相结合的安全手册,以及安全完整性认证证书。
安全监测芯片
CIC61508可被集成于不同的功能安全相关应用。该芯片负责监控主单片机(例如TriCore芯片),提供相关功能,检测可导致单片机运算错误的时钟、电源和温度等常见故障模式。由于采用占板空间较小的TSSOP-38封装,CIC61508成为一种支持安全应用的既经济又节省板卡空间的安全监测芯片。
在采用TriCore单片机的安全相关系统中,TriCore CPU负责运行SafeTcore测试软件,对内核和外设进行测试,而PCP负责监控TriCore主核的运行。外置CIC61508安全监测芯片同时监控TriCore CPU和PCP,以查明常见故障原因。由于PCP已经实现了不同的自检功能,因此TriCore/CIC61508组合仅仅需要CIC61508所提供的功能的一部分。
CIC61508所提供的测试功能,存放在内部ROM中,包括一个内部操作代码测试排程器/定序器,它可生成带有特定数据的测试请求序列,根据用户定义的表格检查应答。CIC61508还具备同时检测最多4个电源域的欠压和过压故障的能力,同时监控最多8个并行数据比较和验证函数的能力。它还配备了一个操作系统任务监视器,可检查所有安全关键任务的预定调度序列和执行预算。
应用实例
PRO-SIL SafeTCore是一个完善的解决方案,包括经过优化的TriCore和XC2300单片机、安全测试软件库、服务和相关文档,并为目标系统通过功能安全认证铺平了道路。该安全概念基于TriCore非对称双核架构,配备一个外置安全监测芯片。硬件功能与诊断软件库结合在一起,这样系统集成设计人员就可轻松地进行各种常规的系统测试。该产品系列支持符合IEC 61508标准的安全完整性高达SIL3的相关安全系统设计。PRO-SIL安全解决方案已得到业界的肯定,Hitex公司所提供的SafeTkit被授予“2011年嵌入式大奖”;此方案同时也得到很多全球重要工业用户的良好评价,如Parker Hannifin公司就采用极具创新的PRO-SIL SafeTCore套件设计出自己的最新安全产品。
图6: IQAN-MC3:Parker Hannifin利用PRO-SIL快速可靠地开发出创新型可编程液压控制器IQAN-MC3。
可靠的移动设备安全控制器设计
Parker Hannifin公司采用英飞凌的PRO-SIL开发了一种创新型可编程液压控制器。设备制造商(OEM)和系统集成商可利用该控制器开发非公路移动设备。这个设计基于TC1197,以下这些数据可以很好地说明开发人员设计IQAN-MC3时所面临的挑战:687条设计要求、674行FMEDA故障分析程序、2800个软件和超过500个硬件测试。依托PRO-SIL概念,开发人员得以快速可靠地完成了这一复杂的设计。
全新推出的IQAN-MC3可在一个模块中同时控制移动设备的安全和操作功能,这样不仅可以大大减少系统的设计时间和成本,而且可以提升设备的性能、安全性和生产率。新型控制器的推出,迎合了非公路移动设备制造商对于用于安全系统的生产和开发、具备改进性能并且符合全球公认的功能安全标准(例如EN ISO 13849-1(机械指令))的组件和软件不断增长的需求。为此,Parker Hannifin利用PRO-SIL产品设计出符合IEC 61508标准的IQAN-MC3,使有效达到符合SIL 2标准的各类安全功能的操作和性能级别成为可能。该控制器还是符合EN ISO 13849-1标准的PLD子系统的组件之一。
SafeTkit——蓄势待发
英飞凌携手Hitex推出了一个综合性服务套件。SafeTkit是一个板级解决方案,包括TriCore单片机、CIC61508 和所有相关软件和文档。这个完善的安全解决方案最大限度简化了符合IEC 61508标准的应用设计,同时可节省设计资源,缩短客户的产品开发周期。
图7: SafeTkit:32位SafeTkit是满足ASIL D级/SIL三级安全设计要求的平台的核心,它易于配置和使用。它基于一个配备安全监测芯片CIC61508和SafeTcore测试软件库的TriCore评估板。
SafeTkit基于一个配备安全监测芯片CIC61508的TriCore评估板。除SafeTcore测试软件库外,SafeTkit还包含一个完整的工具链,其中有免费提供的通用TriCore编译器、安全示范应用和测试平台。该安全套件还提供一整套文档,包含安全手册和快速入门指南等。它提供所有主要的安全特性,这些特性可以进行配置,以评估它们对于系统行为的影响,了解底层的概念。目前,英飞凌已针对TC1767、TC1782、TC1797和TC1387处理器推出用于安全认证的SafeTcore测试软件库和文档。公司还将在不久以后推出面向其他TriCore和XC2300型号的测试软件库和文档。此外,Hitex可针对SafeTkit提供全面的设计支持,以及相关的培训和咨询服务。[!--empirenews.page--]