之前很多文章有提到功能安全的概念,包括符合ASIL-D的电机控制器,符合ASIL-B/ASIL-D的车规MCU;
今天,小二分享基于ISO26262阐述的安全概念,进行的新能源汽车牵引电机逆变器的开发(参考NXP方案),水平有限,欢迎留言交流;
安全目标及开发流程
功能安全的目标是将风险最小化到可接受的水平,风险定义为:发生损害的概率和该损害对人员的影响(以及在较小程度上对设备和环境的影响);
常用降低风险的措施分为故障避免、故障检测和故障处理措施;
ISO26262中阐述的V模型,非常经典;对于功能安全的开发,从概念阶段的项目定义开始,经过危害分析及影响,形成技术安全需求,再到具体的软硬件开发,验证及生产及生产后的管理;
全流程主要分概念阶段,开发阶段,量产阶段,如下:
这里说明一下,Item Definition,则是我们具体设计/分析的产品的系统或子系统,它是我们进行安全设计的对象,或载体,比如本文重点描述的电机牵引逆变器;
概念阶段的核心思想和关键词
确认目标对象后,分析其功能需求,子系统及和外部系统的交互
牵引逆变器接收来自整车控制器(VCU)的命令,完成电机状态的控制;
明确对象的危险分析及风险评估(HARA:Hazards Analysis and Risk Assesment),提出安全目标(SG:Safety Goal),这里的SG的衡量标准就是大家常听到ASIL-A/B/C/D,比如
- 非驾驶员意图的加速、刹车;在低速/高速,城市/高速等不同状态下可能导致的伤害是轻微碰撞/验证碰撞
- 安全目标:保证输出的加速扭矩不超过给定量的5%,最大不超过50 Nm;
由Safty Goal,抽象细化出功能安全需求(FSR,Functional Safety Requirements),比如
基于功能安全需求进行拆分,得出软硬件的技术安全需求(TSR,Technical Safety Requirements)
牵引逆变器的考虑
牵引逆变器在新能源汽车中的主要作用,是基于整车控制器(VCU)给出的扭矩指令,控制电机的运行:
因此,主要的危害有:非预期的过度牵引,非预期的制动,以及高压电击;
这些危害被整车厂识别,并标识以ASIL-B,ASIL-D不同的安全级别(ASIL,Automotive Safety Integrity Level)
因此,在本文的分析中,安全目标(Safty Goal)考虑如下:
- SG1:避免加速扭矩超过50Nm,或超过+5%的预期控制扭矩(ASIL-D,FTTI=200ms)
- SG2:避免制动扭矩超过50Nm,或超过+5%的预期制动扭矩
牵引逆变器的典型控制流程如下
- VCU通过CAN总线,向处理单元发送扭矩控制指令
- 处理单元收到扭矩控制指令
- 处理单元基于当前的电机运行状态(通过传感器获取),以及收到的控制指令,计算出需要输出的PWM占空比;
- 驱动电路基于PWM占空比驱动桥臂开关
- 处理器测量系统的状态,包括电流,电机轴位置,电机转速,电压等,完成闭环控制
下面,将基于ISO26262的理论和要求,介绍安全目标,功能需求,技术需求,硬件需求,软件需求
执行-检查的处理架构
在处理器域,导致违反SG1和SG2安全目标的主要的失效机制,可以总结为:
通信的失效,或者计算的失效;本文不讨论通信的失效,这类失效一般通过对CAN通信消息的数据完整性校验来实现;
上图中执行-检查架构,用于预防处理器的计算失效;
架构中,执行单元实现了主要电机控制需要功能,包括FOC控制算法,电机控制算法,数学计算库等;
检查单元负责检查非安全状况并保证系统运行在安全状态;
架构中,执行单元聚焦在功能及性能,检查单元聚焦实现安全目标;在ISO26262的定义里意味着,执行单元只需要符合QM(Quality Managed)标准,而检查单元需要符合ASIL-D的标准;
在本文研究中,我们将检查单元的功能以及需求,提炼并在名叫安全管理(Safety Manager)的系统单元中;
如上图,结合NXP公司的MPC5775E微控制器,以及FS65功能安全SBC(System Basic Chip),可以轻松的实现执行-检查的安全架构;
我们将执行器的工作分配给Core 0(Non-LockStep),将安全管理的工作分配给CPU1(LockStep);
常见的两个内核的失效,通过MPC5775E内部的安全机制检查,或者通过外部的安全SBC FS65检查,这些机制可以包括故障收集及控制单元,时钟监控单元,电源管理单元,内存保护单元,这些单元可以运行在FS SBC上;安全单元的失效,需要再通过监控FS65实现,并在识别出故障或失效时候,控制系统进入安全状态(通过直接配置电机控制接口);
逆变器的安全运行状态的机制,可以通过灵活的,模块化的方式,在NXP的安全概念指引下实现;
永磁同步电机控制接口的安全概念
针对电动汽车的一个限制,是永磁同步电机电机运行产生的高反电动势;在高速运行情况下,如果永磁同步电机的相绕组处于断开状态,如下图所示
那么将可能导致高于电池电压的反电动势,这将引起可再生的电流,以及非预期的制动扭矩;为了防止这个危害,系统需要短路桥臂所有的高边开关,或者所有的低边开关
上述的应用安全需求,可以通过如下架构实现
一套独立的,用于控制高边以及低边开关的控制电路;
- 如果单点故障,可能导致高边或低边不可控制,系统将无法正常运行;
快速的短路保护电路(上图A)
- 短路电路,可能永久性损害开关桥,并导致系统进入非安全状态;因为短路失效需要在非常短的时间内处理,MCU无法满足,因此需要通过门驱动电路GD3100来实现;
上层应用的诊断以及安全的应对措施(上图B)
- 电机控制接口的失效,可能的原因很多:电机相绕组,IGBT开关,门驱动,分立的芯片,冷却系统,针对不同的原因,需要不同的应对措施;高边的失效保护需要快速将三相绕组短路到电池,而低边的开路保护则是短路到地GND;GD3100门驱动电路是基于ASIL-D级别进行开发的,因此其内部有丰富的自诊断机制,能够检查出99%的内部故障,并可以通过冗余的通信机制通知到MCU的安全管理单元
反应通道(上图C)
- 当MCU接收到故障上报,内部的安全管理逻辑可以决策出最合适的安全状态;并通过GD3100专门的IO引脚进行控制;整个决策和响应需要在~100us的FTTI内;
NXP的GD3100门驱动是上述架构的重要组成,主要的差异特性有:
- 直接控制IGBT/SiC开关管;在降低整体失效率的同时,提供了一条独立的电机控制路径
- 快速的短路保护特性,对IGBT的保护时间<2us,对SiC则更快;
- 高诊断覆盖率:GD3100基于ISO26262进行设计,针对内部故障,内部自检测试以及CRC校验有高覆盖率;
通信以及传感器的安全概念
为了实现闭环,电机控制算法需要采样电流,电机的转子角度以及电池的电压;如果如上的传感器信息采集有错误,将直接影响输出给电机的指令;因此,对于传感器的安全需求,是针对传感器传输全链路的故障诊断,包括传感器,放大调理单元,模拟数字转换,以及传感器数据的预处理等;
本文,我们以电机位置传感器为例阐述;方法论和电流以及电压采样的类似;
系统采用固定在转轴上的旋转变压器,放大调理电路,以及解码模块(eTPU);eTPU是基于处理器及定时器完成的位置解码算法模块;这个架构的优势在于避免浪费CPU0的算力;
转速反馈的全流程说明:
- eTPU产生旋转变压器的激励信号
- 物理相位相差90°C的两个绕组,感应出SIN/COS两路信号;
- Sigma Delta ADCs采样两路经过调理放大后的信号,并与激励信号完成同步;处理完成的结果,存储在eTPU的RAM中;
- 信号基于观测器模型进行处理,解调后得到角度及速度信息;
- 计算得到的角度传递给电机控制算法
位于安全内核CPU1的RDC检测器,针对上述的信号链路进行监测及诊断;
- 输入监控的单元检查原始数据,并通过过零检测计算与激励信号的同步,信号的最大和最小幅度,单位向量;
- 整个检测功能可以识别出99%由于调理,绕组,激烈链路,Sigma Delta ADC可能存在的硬件失效;
其中
- ATO检测功能,采用和eTPU不同的角度计算方法,并运行合理性检测程序;它可以检测eTPU的故障;
- 外推检测单元(extrapolation tracker)检查角度外推法可能存在的失效;