背景介绍
为了保证汽车电子电气的可靠性设计,在2011年发布了ISO 26262(道路车辆功能安全标准),ISO 26262标准横向视角来看,解决的问题是:减少汽车电子电气系统发生系统性失效的可能性,采用的方式是全生命周期全系统的安全管理方式,从而保证安全相关的电子产品的功能性失效不会造成安全事故。标准还提供了审核方法,使安全体系形成闭环。

由Pi Innovo设计和制造的OpenECU M560整车控制器ECU是针对特定的功能安全目标集而开发的,可以满足ISO 26262 ASIL D功能安全,适用于通用快速原型平台或小批量生产。
本文将介绍M560系列OpenECU硬件模块和软件平台的功能安全体系架构和设计特性,验证其是否可以达到ISO 26262 ASIL D安全等级。
北汇信息作为Pi Innovo的合作伙伴,将为您的ISO 26262功能安全需求提供相关产品和技术服务。我们期待与您密切合作,了解和完善您的功能安全要求(FSR),选择适当的硬件,以满足您的项目需求。

102642n8ihc8h58ica1e13.png

M560功能安全概要
之前的文章已介绍过快速原型M560系列OpenECU的硬件资源和应用范围,(点此回顾→符合ASIL-D的纯电动/混动整车控制器M560正式发布)提到了通过可选的硬件冗余以及在副处理器(ST Micro SPC560P34L1CEFAR)上校验软件的实施,M560可以满足ISO26262 ASIL D功能安全需求。

作为符合ASIL-D安全目标的ISO 26262:2011项目的一个要素,其功能安全通过以下提供的架构实现:
·      具有非对称硬件冗余和多样化软件冗余的双处理器架构
·      两个处理器器判断来激活输出
·      输入路由到两个处理器进行交互计算
·      副处理器能够独立的激活/关闭CAN总线
M560功能安全最大ASIL等级取决于具体的应用程序使用和应用程序软件实现的实际安全机制。表1总结了如果使用所有可用的内部安全机制下M560的ASIL最大等级;图1以图形方式描述了这些场景。

102750j32rtb9plzggxvrd.png
Table 1 - Maximum ASIL

102759qmia0mjzba45jmgj.png
Figure 1 - ASIL scenarios
浅析M560功能安全实现架构
M560主要是为纯电动/混动汽车设计的动力总成监控控制器,它包含一个主处理器,安全功能目的的副处理器,两个传感器电源,4个高速CAN总线,以及丰富的输入和输出IO,包括SAE J1772接口(电动车及插电式混合动力车传导式充电接口)。
系统操作环境要求
M560仅在技术规范中规定的操作环境中使用时,才能实现指定的ASIL等级,并进一步局限于以下表2准则。

102855qn3y3sjdfe0z5syf.png
Table 2 - M560 qualified operating environment
功能安全实现示例
M560提供下表3所示安全功能:

102933cpmfxfqz99q5tfrr.png
Table 3 - M560 safety functions

M560对系统集成要求
(ISO 26262 10-9.2.2 step 1b)在系统中使用M560必须符合表4中指定的要求:

103025k6fv3ov6o33o0a3f.png
Table 4 - M560 system integration requirements

实现安全功能需求
M560满足表5中规定的安全功能需求:

103024iyh0ubmp20bh2hjm.png
Table 5 - M560 safety requirements

OpenECU软件开发
M560平台软件是依据ISO 26262流程 ASIL B(D)等级以及结合具有ASIL B(D)等级的软件来开发的,其平台软件包含:
固件(Firmware)
·      Bootloader
·      Reprogramming mode
操作系统(Operating System)
·      Primary microcontroller: Priority ceiling preemptive task scheduler with rate-monotonic application task prioritization, tasks as fast as 1ms period on primary
·      Secondary microcontroller: non-preemptive, strict rate monotonic task scheduler
·      Platform library and application initialization
·      Stack monitoring
·      Device driver hardware interface (hardware abstraction layer
平台库(Platform library)
·      APIs to access the device drivers
·      Utility functions
软件开发工具链程序(Software development toolchain utilities)
·      Binary image preparation (OpenECU executable format)
·      ASAP2 file generation

OpenECU M560平台软件通过多种方式在两个处理器之间提供软件的多样化冗余:
·      每个处理器的源代码是独立的
·      每个处理器的二进制文件由不同的编译器和链接器工具链生成
对于具体M560中两个微控制器的软件环境、可用的安全机制以及每种机制支持的诊断覆盖率在表6中列出了部分供参考。

103141z05l9hdlq79dxshs.png
Table6 - Software environment
另外软件开发配置和工具需要按以下特定的要求来配置:
工具要求
要满足本文的假设,需要以下工具,且是下述指定需求的确切版本。这些工具的新版本目前还不具备资格,因此不宜用于正式的开发。
·      Mathworks
Primary microcontroller: Matlab, Simulink, Stateflow, Sateflow Coder, Matlab Coder: R2015b (32-or 64-bit)
·      Diab
Primary microcontroller: WindRiver compiler: version 5.9.4.8 with patch TCDIAB-14743
·      CodeWarrior
Secondary microcontroller: CodeWarrior Development Studio for MPC55xx/MPC56xx Version 2.10
主副处理通信
M560在主处理器和副处理器之间提供专用的UART通信总线,该总线特征如下:

·      242k波特率
·      延迟:从传输请求到总线的出现的第一个位延迟小于1ms,加上传输时间(字节/波特)为请求/响应通信设计的轮询机制
·      应用软件负责检测通信超时
·      OpenECU平台软件只在消息校验和与消息数据匹配时将接收到的消息传递给应用程序,校验和值本身没有传递给应用程序
潜在故障管理
应用软件负责启动检查和协调潜在故障检查,包括:
·      应用程序软件必须实现一个检查功能,即两个处理器可以彼此互相重置。
·      副处理器应尝试启用/禁用每个CAN总线,并通过使用主处理器软件监视通信来验证总线状态的变化。
·      对于副处理器使能的每个输出,副处理器可以关闭输出,而主处理器使用监视器确认输出失效以验证关闭命令即可尝试激活输出。
应用程序开发流程指导
M560提供了ECU硬件和平台软件,共同辅助开发符合复杂的功能安全要求的应用程序。Pi Innovo对M560基于ISO 26262流程的安全相关条目应用程序开发提供了许多设想,这部分内容客户可以针对自己的具体应用和设想在基于M560硬件和平台软件的基础上进行相关的学习,如有需要可以联系北汇信息做进一步交流。
总结
ISO 26262功能安全要求ECU硬件、应用程序软件和平台软件均满足整体功能安全目标,Pi Innovo是基于经过验证的V模型来开发硬件和软件平台的,主处理器和副处理器上的应用程序软件由最终用户负责。任何一种软件都不能单独实现功能安全。因此,应用程序软件和平台软件必须依据ISO 26262 流程的相同ASIL等级开发,才可以确保功能安全可实现。总而言之,安全是一个系统级工程,小到需要每个IO、ECU、软件,大到整车厂、供应商、汽车电子电气解决方案的通力协作才可能实现系统功能安全目标。

103309tiv8cwolmeeyxizo.png

关于Pi Innovo
Pi Innovo 公司(成立于1990年)总部位于美国密歇根州,在发动机控制、新能源整车控制、底盘控制等领域具有多年的成功应用经验。其开发的快速原型系列产品OpenECU,基于Matlab/Simulink的开发环境、高效的自动代码生成、支持通用的标定工具,针对发动机、后处理、车辆稳定系统和新能源车辆控制系统开发提供有效的解决方案,适用于生产、试生产及大批量生产。

北汇信息作为Pi Innovo 在中国的合作伙伴,将为客户提供全方位的支持和高效的控制策略解决方案。
参考文献
[1] M560 Technical Specification (01T-070018TK-xx)
[2] ISO 26262 First edition 2011-11-15
[3] 29T-070064-01_M560 Family Functional Safety Manual
[4] SAE Webinar Pi Innovo M560-26262_Lessons_Learned_Webinar_06-FINAL 180524