电机控制器功能安全实战-HARA到SSR完整设计流程
目录
电机控制器功能安全实战——从HARA到SSR的完整设计流程
基于某量产电驱动总成(EDU)电机控制器功能安全开发项目实战经验总结,硬件平台:Infineon AURIX TC387(ASIL-D, LockStep)+ TLF35584(SBC)+ NXP GD3160(Gate Driver)+ Danfoss DP700B750T1 IGBT模块,最终达成ASIL C功能安全等级。
前言:为什么要做功能安全?
随着新能源汽车的快速普及,电机控制器(MCU/MCU Inverter)作为电驱动系统的核心执行部件,其安全性直接关系到整车安全和驾乘人员生命安全。ISO 26262《道路车辆功能安全标准》自2011年发布第一版以来,已成为汽车行业功能安全开发的国际通用准则,并于2018年发布第二版,扩展了对半导体、商用车的覆盖。
电机控制器在整车中承担扭矩控制、能量回收、高压管理等关键功能。一旦发生安全相关的系统性故障或随机硬件失效,可能导致非预期加速、动力丢失、高压触电、热失控等严重危害。因此,在EDU(Electric Drive Unit)开发初期就引入功能安全流程,从概念阶段到产品发布进行全生命周期安全管理,是确保量产车辆安全合规的必由之路。
本文基于实际项目经验,完整梳理电机控制器功能安全开发从HARA到SSR的七步核心流程。
第一步:HARA —— 危害分析与风险评估
1.1 场景分析与危害识别
HARA(Hazard Analysis and Risk Assessment)是功能安全开发的起点。针对电机控制器,我们识别了以下典型危害场景:
| 序号 | 危害场景 | 潜在后果 |
|---|---|---|
| H1 | 高速行驶中非预期加速 | 车辆失控、碰撞 |
| H2 | 坡道起步时溜坡 | 车辆后溜、碰撞 |
| H3 | 高压回路绝缘失效导致触电 | 人员伤亡 |
| H4 | 电机过温导致起火 | 车辆起火 |
| H5 | 扭矩输出中断导致动力丢失 | 车辆无法行驶、高速失速 |
| H6 | 传感器故障导致扭矩错误输出 | 非预期加减速 |
1.2 ASIL等级确定
根据ISO 26262-3的三大参数——严重度(Severity)、暴露率(Exposure)、可控性(Controllability),对每一危害进行ASIL(Automotive Safety Integrity Level)评级:
- Severity S0-S3:伤害严重程度(S0=无伤害 → S3=生命危险)
- Exposure E0-E4:场景暴露概率(E0=几乎不暴露 → E4=频繁暴露)
- Controllability C0-C3:驾驶员或其他人对危害的可控程度(C0=完全可控 → C3=几乎不可控)
ASIL等级由 S × E × C 组合确定,分为 QM、ASIL A、ASIL B、ASIL C、ASIL D 五个等级,其中ASIL D为最高安全等级。
实例:对场景 H1 “高速行驶中非预期加速” 进行ASIL评定
以危害场景H1为例,我们逐项评估三个参数:
① 严重度 S 评定:
- 场景描述:车辆在高速路以120km/h行驶时,电机控制器故障导致非预期急加速,车辆失控
- 可能后果:车辆偏离车道 → 与相邻车道车辆或护栏碰撞 → 乘员重伤甚至死亡
- 评定结果:S3(致命伤害)——非预期加速在高速场景下极可能导致严重事故
② 暴露率 E 评定:
- 场景描述:车辆可能在全天候各种路况下行驶,高速场景是常见工况之一
- 暴露频率:对日常通勤用户,高速行驶占总驾驶时间约30%-50%
- 评定结果:E3(高暴露概率)——虽非每次出行必上高速,但在车辆全生命周期中频繁出现
③ 可控性 C 评定:
- 场景描述:非预期加速发生时,驾驶员可采取以下措施:
- 踩下制动踏板(多数车辆制动系统能力大于最大驱动扭矩)
- 切断动力(松加速踏板→系统检测到冲突→触发安全保护)
- 电子稳定系统(ESC)介入限制扭矩
- 但是,若加速与制动同时作用时间过长,制动可能热衰退
- 评定结果:C2(中等可控)——驾驶员可通过制动等方式部分控制,但需要一定反应时间和操作技巧
④ ASIL等级确定:
| 参数 | 评定等级 | 依据 |
|---|---|---|
| 严重度 S | S3 | 高速碰撞可导致生命危险 |
| 暴露率 E | E3 | 高速行驶频繁出现但并非每次驾驶必遇 |
| 可控性 C | C2 | 可通过制动等方式控制,但需反应时间 |
根据ISO 26262 ASIL等级查表规则:
S3 × E3 × C2 → ASIL C
HARA团队综合评定后,为H1分配ASIL C等级。这意味着系统设计需要满足ASIL C对应的诊断覆盖率要求(单点故障≥97%、潜伏故障≥80%),并采用相应的安全机制保证风险可接受。
同理,对H4(高压触电)场景,S评定为S3(触电致命)、E评定为E3(维修保养时暴露)、C评定为C2(断电操作可控制),同样达到ASIL C等级。而对H2(坡道溜坡),因严重度较低(低速碰撞)通常只到ASIL B。
小知识:为什么很少见 ASIL D 的电机控制器?ASIL D要求单点故障覆盖率≥99%,需要三重冗余等极高成本方案。电机控制器通过外部安全监控(如VCU的冗余扭矩监控),将系统级ASIL需求分解到ECU级别,只要整车级满足安全目标即可。
1.3 安全目标(Safety Goals)定义
通过HARA分析,我们共定义了9项安全目标(SG1-SG9):

功能安全设计七步流程:从HARA危害分析开始,经SG定义→FSR架构→TSR技术方案→HSR硬件设计→SSR软件安全,最终经过验证确认达成ASIL C等级
| 安全目标ID | 安全目标描述 | ASIL等级 | FTTI要求 | 关联安全状态 |
|---|---|---|---|---|
| SG1 | 防止非预期加速 | ASIL C | ≤ 20ms | SS1/SS2 主动短路或关管停车 + SS7 上报故障 |
| SG2 | 防止非预期减速(溜坡) | ASIL B | ≤ 50ms | SS2 关管自由滑行 + SS1 主动短路防溜 |
| SG3 | 防止扭矩输出丢失 | ASIL B | ≤ 100ms | SS7 上报故障 + SS1 主动短路 |
| SG4 | 防止高压触电 | ASIL C | ≤ 10ms | SS3 断开高压继电器 + 母线放电 |
| SG5 | 防止电机过温起火 | ASIL B | ≤ 100ms | SS4 限制扭矩 → SS5 降功率 |
| SG6 | 防止IGBT过温/过流损坏 | ASIL C | ≤ 10ms | SS1 主动短路(ASC) + SS5 降功率 |
| SG7 | 防止扭矩方向错误 | ASIL C | ≤ 20ms | SS1/SS2 停车 + SS7 上报 |
| SG8 | 防止扭矩超限输出 | ASIL C | ≤ 20ms | SS1 主动短路 + SS5 降功率 |
| SG9 | 防止软件跑飞导致失控 | ASIL B | ≤ 50ms | SS6 SBC复位MCU重启 |
FTTI(Fault Tolerant Time Interval):从故障发生到系统进入安全状态的最长允许时间,是系统设计的关键时序约束。
第二步:SG拆解 —— 安全目标分解
顶层安全目标需要在系统架构层面逐层分解到子系统、模块乃至具体组件。以SG1(防止非预期加速)为例:
SG1: 防止非预期加速 (ASIL C)
├── SG1.1: 扭矩需求校验 (ASIL C)
│ ├── SG1.1.1: CAN扭矩指令E2E保护
│ └── SG1.1.2: 扭矩监控冗余算法
├── SG1.2: 扭矩输出路径监控 (ASIL C)
│ ├── SG1.2.1: 6步PWM占空比校验
│ └── SG1.2.2: 三相电流一致性检查
└── SG1.3: 硬件执行器诊断 (ASIL C)
├── SG1.3.1: IGBT Desat保护
└── SG1.3.2: 电流传感器偏置/增益诊断

安全目标SG分解树:以SG1"防止非预期加速"(ASIL C)为例,逐层分解为扭矩需求校验→输出路径监控→硬件执行器诊断三个子分支,每个分支继续细化到具体安全措施,形成完整的可追溯安全需求链。
分解后的每个子安全目标都可以被分配到一个具体的系统元素(软件模块、硬件电路、外部器件),从而为FSR和TSR的编写奠定基础。
第三步:FSR —— 功能安全需求
3.1 三层安全架构
电机控制器的功能安全架构采用经典的EGas三层监控模型,这是行业内广泛认可的架构模式:

电机控制器三层安全架构:Level 1功能层(QM/绿色)执行FOC控制/扭矩计算;Level 2功能监控层(ASIL C/橙色)监控扭矩/温度/高压/程序流;Level 3硬件监控层(ASIL C/红色)监控时钟/内存/ALU/ADC/电源。底部为TC387+TLF35584+GD3160硬件平台
Level 1 - 功能层(QM等级)
功能层负责正常的电机控制算法执行,包括FOC(磁场定向控制)、转速环/电流环PI调节、SVPWM调制、弱磁控制等。功能层的所有输出(如扭矩指令、PWM占空比)会被Level 2实时监控。
- ASIL等级:QM
- 核心模块:FOC控制、旋变解码、弱磁控制、MTPA、电流环PI
- 安全职责:无——但需要为Level 2提供足够的信息接口
Level 2 - 功能监控层(ASIL等级)
功能监控层负责对Level 1的行为进行实时监控,一旦检测到异常则触发安全措施。
- ASIL等级:ASIL C(部分功能ASIL B)
- 核心模块:
- 扭矩监控模块:通过磁通法和功率法冗余计算电机扭矩,与Level 1扭矩指令比较
- 温度监控模块:监控IGBT结温、电机绕组温度、母线温度
- 高压监控模块:监控直流母线电压、绝缘电阻
- 程序流监控模块:通过Q&A机制监控Level 1程序执行流
Level 3 - 硬件监控层(ASIL等级)
硬件层提供最底层的基础安全诊断机制,利用MCU、SBC、Gate Driver等硬件自身的安全机制实现失效探测。
- ASIL等级:ASIL D(硬件本身可达)
- 核心模块:
- MCU硬件诊断:时钟监控、内存ECC校验、MPU保护、ALU自检、ADC诊断、总线诊断
- SBC看门狗:触发Level 2超时响应
- Gate Driver诊断:Desat保护、Miller钳位、SPI故障上报
3.2 FSR → SG 追溯性矩阵
功能安全需求(FSR)是对SG的功能级分解,回答"系统需要具备哪些安全功能"的问题。FSR只定义"做什么",不涉及"怎么做"(具体技术方案由TSR承接)。下表将每个FSR与其所支撑的SG对应起来。
| FSR编号 | 功能安全需求描述 | 安全层级 | ASIL等级 | 关联SG |
|---|---|---|---|---|
| FSR-01 | Level 1扭矩控制模块执行FOC扭矩计算,输出至Level 2监控 | L1 功能层 | QM | SG1, SG7, SG8 |
| FSR-02 | Level 1 PWM模块根据扭矩指令输出6路互补PWM,精度≤1% | L1 功能层 | QM | SG1, SG8 |
| FSR-03 | Level 1主动放电模块在指令后120s内放电至60V以下 | L1 功能层 | QM | SG4 |
| FSR-04 | Level 2扭矩监控须通过磁通法和功率法双冗余路径独立计算扭矩并比对 | L2 监控层 | ASIL C | SG1, SG7, SG8 |
| FSR-05 | Level 2扭矩偏差阈值5%,超出须在FTTI(20ms)内触发安全状态 | L2 监控层 | ASIL C | SG1, SG8 |
| FSR-06 | Level 2温度监控须实时监测IGBT结温≥125°C时触发降功率 | L2 监控层 | ASIL B | SG5, SG6 |
| FSR-07 | Level 2高压监控须实时监测母线电压,异常时触发高压断开 | L2 监控层 | ASIL B | SG4 |
| FSR-08 | Level 2程序流Q&A机制监控Level 1执行时序,超时10ms触发SBC复位 | L2 监控层 | ASIL C | SG9 |
| FSR-09 | Level 2坡道扭矩保持监控:坡度信号校验+扭矩补偿 | L2 监控层 | ASIL B | SG2 |
| FSR-10 | Level 2 CAN通信E2E保护(CRC+Counter+Timeout) | L2 监控层 | ASIL C | SG1, SG3, SG8 |
| FSR-11 | Level 2 IGBT温度变化率监控,防止温升过快 | L2 监控层 | ASIL C | SG6 |
| FSR-12 | Level 3 MCU时钟监控PLL锁定状态和频率偏差 | L3 硬件层 | ASIL C | SG9 |
| FSR-13 | Level 3 Flash/RAM ECC单比特纠错+双比特检测 | L3 硬件层 | ASIL C | SG9 |
| FSR-14 | Level 3 MPU对L1/L2内存空间隔离保护 | L3 硬件层 | ASIL C | SG9 |
| FSR-15 | Level 3 ADC自检(参考电压+自检信号注入) | L3 硬件层 | ASIL C | SG1, SG7, SG8 |
| FSR-16 | Level 3 SBC窗口WDG+功能WDG(Q&A)两级监控 | L3 硬件层 | ASIL C | SG9 |
| FSR-17 | Level 3 SBC电源轨(5V/3.3V/1.25V)过压/欠压监控 | L3 硬件层 | ASIL B | SG4 |
| FSR-18 | Level 3 GD Desat保护检测IGBT Vce>7-9V后2μs内软关断 | L3 硬件层 | ASIL C | SG6, SG8 |
| FSR-19 | Level 3 GD Miller钳位抑制dv/dt误导通 | L3 硬件层 | ASIL C | SG6, SG8 |
| FSR-20 | Level 3 GD SPI诊断实时上报故障至MCU | L3 硬件层 | ASIL C | SG6, SG8 |
| FSR-21 | Level 3 相电流传感器偏置/增益诊断+三相反向和验证 | L3 硬件层 | ASIL C | SG1, SG7, SG8 |
| FSR-22 | Level 3 旋变传感器诊断:励磁丢失+幅值异常+位置跳变 | L3 硬件层 | ASIL C | SG7 |
| FSR-23 | Level 3 NTC开路/短路+温度变化率合理性诊断 | L3 硬件层 | ASIL B | SG5, SG6 |
| FSR-24 | Level 3 CPU LBIST上电自检 | L3 硬件层 | ASIL B | SG9 |
| FSR-25 | 故障优先级安全状态管理 | 系统级 | ASIL C | SG1-SG9 |
追溯性说明:FSR是SG的功能级分解,回答"需要什么安全功能"。例如SG1(防止非预期加速)由FSR-01/02/04/05/15/21共6项FSR共同支撑。具体的实现方案(分配元素、触发安全状态)由TSR承接。
3.3 安全状态定义
当系统检测到安全相关的故障时,需要进入预定义的安全状态(Safe State)。本项目中定义了8种安全状态:
硬件架构图

关断路径

电机控制器安全机制架构:MCU(TC387)通过PWM双路径控制GD3160驱动IGBT,SBC(TLF35584)通过Path 3 NAND逻辑实现硬件安全关断。Desat保护、Miller钳位、NTC温度检测、电流/电压采样构成全方位的硬件安全诊断
| 安全状态ID | 安全状态名称 | 触发条件 | 动作描述 | 目标SG |
|---|---|---|---|---|
| SS1 | 主动短路ASC | IGBT过流/Desat/扭矩超限 | 关闭所有IGBT上桥,打开下桥,电机三相短路 | SG1, SG6, SG7, SG8 |
| SS2 | 关管Freewheel | 非预期加速/方向错误 | 关闭所有IGBT,电机自由滑行 | SG1, SG7, SG8 |
| SS3 | 高压断开 | 绝缘失效/高压异常 | 断开主正/主负继电器,母线电容放电 | SG4 |
| SS4 | 扭矩限制 | 温度超限/轻微故障 | 限制最大输出扭矩至安全值 | SG5 |
| SS5 | 降功率运行 | 中度过温/电压异常 | 降低开关频率,减少功率输出 | SG5, SG6 |
| SS6 | 系统重启 | MCU/SBC Watchdog超时 | SBC复位MCU,系统重新初始化 | SG9 |
| SS7 | 安全通信中断 | CAN通信故障 | 进入错误被动/主动状态,输出安全报文 | SG1, SG3 |
| SS8 | EEPROM数据回滚 | 校验失败 | 回滚到上一版安全标定参数 | SG3 |
3.4 ASC vs Freewheel策略
ASC(Active Short Circuit)和Freewheel是电机控制器两种最重要的被动安全状态,选择时机至关重要:
ASC(主动短路)策略:
- 动作:导通下桥三管(或上桥三管),电机三相短路
- 效果:产生制动扭矩,快速降低电机转速,反电动势被短路电流消耗
- 适用场景:IGBT过流、Desat保护、扭矩超限、系统级严重故障
- 风险:短路电流大,可能导致IGBT热过载
Freewheel(关管自由滑行)策略:
- 动作:关闭所有6个IGBT,电机开路
- 效果:电机无制动扭矩,自由滑行,反电动势通过IGBT体二极管整流到母线
- 适用场景:非预期加速、轻度故障、高速工况
- 风险:母线电压可能升高(泵升效应),需要DC-link电容或主动放电配合
选择逻辑: 高速工况优先Freewheel(避免短路电流过大),低速/静止工况优先ASC(快速制动)。同时需考虑系统是否支持ASC(某些IGBT模块不支持长时间ASC)。
第四步:TSR —— 技术安全需求
TSR(Technical Safety Requirements)将FSR落实到具体的技术实现方案中,基于所选硬件平台进行功能分配。
4.1 MCU安全机制
Infineon AURIX TC387具备丰富的硬件安全特性:
| 安全机制 | 描述 | 覆盖的故障类型 |
|---|---|---|
| LockStep Core | 双核锁步运行,冗余计算并比较结果 | CPU内核随机硬件故障 |
| CPU自检(SMU) | Safety Management Unit监控CPU异常 | CPU锁死、非法指令 |
| ECC(Error Correction Code) | Flash/RAM单比特纠错+双比特检测 | 内存位翻转 |
| MPU(Memory Protection Unit) | 内存区域访问权限保护 | 软件越权访问、堆栈溢出 |
| MBIST(Memory Built-In Self Test) | 上电/运行时内存自检 | 内存Stuck-At故障 |
| SRI Bus监控 | 总线传输ECC保护 | 总线数据错误 |
| ADC自检 | ADC内置自检信号注入 | ADC通道失效 |
| CRC校验 | 数据完整性校验 | 数据传输错误 |
4.2 SBC看门狗
TLF35584作为SBC(System Basis Chip),提供以下关键安全功能:
- 窗口看门狗(Window Watchdog):必须在上下限之间触发喂狗,过早或过晚均触发复位
- 功能看门狗(Functional Watchdog):基于Q&A机制的复杂看门狗,监控程序流
- 安全状态控制:触发故障时,SBC可直接控制安全继电器,进入安全状态
- 电源监控:监控各电压轨(5V、3.3V、1.25V)过压/欠压
- 失效安全输出:SBC自身进入Fail-Safe状态时,强制系统进入安全配置
4.3 Gate Driver诊断
NXP GD3160性能优越,其安全特性包括:
- Desat保护(退饱和检测):监测IGBT C-E导通压降Vce,超过阈值触发软关断
- Miller钳位:抑制关断过程中的Miller效应,防止桥臂直通
- SPI诊断:实时读取驱动状态、故障寄存器、温度信息
- 有源钳位(Active Clamping):限制Vce过压
- 软关断(Soft Turn-Off):故障时慢速关断IGBT,减小di/dt和电压过冲
- 两电平关断(Two-Level Turn-Off):部分关断IGBT再完全关断
4.4 传感器诊断
- 旋变传感器:激励信号丢失检测、正余弦信号幅度/偏置监控、旋变位置合理性校验
- 相电流传感器:偏置自校准、增益自检、三相反向和验证(Ia+Ib+Ic=0)
- 电压传感器:母线电压分压电阻自检、ADC参考电压监控
- 温度传感器(NTC/PTC):开路/短路检测、温度变化率合理性检查
4.5 TSR → FSR 追溯性矩阵
TSR(Technical Safety Requirements)是FSR的技术细化,回答"怎么实现"的问题。TSR将FSR分配到具体的硬件模块,明确诊断机制、触发安全状态和分配元素。
| TSR编号 | 技术安全需求描述 | 硬件模块 | ASIL等级 | 关联FSR | 触发安全状态 | 分配元素 |
|---|---|---|---|---|---|---|
| TSR-01 | TC387 LockStep双核锁步比较,不一致触发SMU报警 | MCU TC387 | ASIL D | FSR-12 | SS6 | TC387 SMU |
| TSR-02 | Flash ECC:每64bit附加7bit ECC码,单纠错+双检测 | MCU Flash | ASIL C | FSR-13 | SS6 | TC387 Flash |
| TSR-03 | RAM ECC:SRAM数据总线ECC保护,覆盖初始化/运行 | MCU RAM | ASIL C | FSR-13 | SS6 | TC387 RAM |
| TSR-04 | MPU:L1代码/数据区与L2代码/数据区严格隔离 | MCU MPU | ASIL C | FSR-14 | SS6 | TC387 MPU |
| TSR-05 | ADC参考电压Vref监控:内部精密参考源精度±0.5% | MCU ADC | ASIL C | FSR-15 | SS1/SS2 | TC387 ADC |
| TSR-06 | ADC自检:空闲通道注入0.5V/2.5V/4.5V验证 | MCU ADC | ASIL C | FSR-15 | SS1/SS2 | TC387 ADC |
| TSR-07 | PLL失锁检测:时钟频率偏差>±5%触发NMI中断 | MCU CCU | ASIL C | FSR-12 | SS6 | TC387 SMU |
| TSR-08 | SBC窗口看门狗:喂狗窗口10-50ms,超早/超晚触发复位 | TLF35584 | ASIL C | FSR-16 | SS6 | TLF35584 WDG |
| TSR-09 | SBC功能看门狗Q&A:SBC发Question⇒MCU 10ms内返回Answer | TLF35584 | ASIL C | FSR-16 | SS6 | TLF35584 WDG |
| TSR-10 | SBC电源轨OVP/UVP:3.3V>3.6V/ < 3.0V/5V>5.5V/<4.5V | TLF35584 | ASIL B | FSR-17 | SS3 | TLF35584 PSU |
| TSR-11 | GD Desat:IGBT Vce>7V(消隐2μs后)触发软关断 | GD3160 | ASIL C | FSR-18 | SS1 | GD3160 Desat |
| TSR-12 | GD Miller钳位:关断期间栅极下拉至Emitter<2V | GD3160 | ASIL C | FSR-19 | SS1 | GD3160 Miller |
| TSR-13 | GD SPI:1ms周期读状态+CRC帧校验+连续3次失败触发SS1 | GD3160 | ASIL C | FSR-20 | SS1/SS7 | GD3160 SPI |
| TSR-14 | 相电流偏置自校准+增益自检,参考信号注入 | 电流传感器 | ASIL C | FSR-21 | SS1/SS2 | 电流传感器 |
| TSR-15 | 旋变励磁10kHz±15%幅度监控+正余弦信号合理性检查 | 旋变 | ASIL C | FSR-22 | SS1/SS2 | 旋变传感器 |
| TSR-16 | NTC开路/短路检测+温度变化率限值判断 | NTC | ASIL B | FSR-23 | SS4/SS5 | NTC传感器 |
| TSR-17 | CAN E2E:CRC16多项式0x8005+4bit Counter+100ms Timeout | CAN | ASIL C | FSR-10 | SS7 | CAN控制器 |
| TSR-18 | CPU LBIST上电自检,覆盖率>95% | TC387 | ASIL B | FSR-24 | SS6 | TC387 CPU |
| TSR-19 | 主动放电:IGBT+放电电阻+母线电容<60V@120s | 主动放电 | QM | FSR-03 | SS8 | 放电回路 |
| TSR-20 | 高压互锁HVIL回路状态检测+绝缘电阻监控 | HVIL | ASIL C | FSR-07/22 | SS3 | HVIL接口 |
追溯性说明:TSR是FSR的技术实现方案。例如FSR-18(L3 GD Desat保护需求)细化到TSR-11(GD3160 Vce检测,消隐2μs后软关断,触发SS1安全状态,分配给GD3160 Desat模块)。TSR→FSR→SG形成"怎么做→做什么→为什么做"的完整追溯链。
第五步:HSR —— 硬件安全需求
HSR(Hardware Safety Requirements)关注电路级别的安全设计和可靠性分析。HSR是TSR的硬件实现细化,每个HSR都应追溯到上层的TSR。例如TSR-11(GD Desat检测)细化到HSR-05(Desat电路:US1M高压二极管+470pF消隐电容+比较器阈值7V)。
5.1 电源系统设计
- 宽范围输入(6V-32V):适配12V/24V系统及冷启动/抛负载等瞬态工况
- DCDC多路输出:TLF35584输出3.3V(MCU IO)、5V(传感器)、1.25V(Core电压)
- 欠压/过压保护:每路电源独立监控,阈值可配置
- 反极性保护:输入级PMOS防反接
5.2 Flyback隔离电源
IGBT驱动级需要隔离电源(高压侧与低压侧隔离),采用Flyback拓扑:
- 隔离耐压:设计满足reinforced insulation(加强绝缘),耐压≥3kV
- 爬电距离:满足IEC 60950 / IEC 61800-5-1要求
- 变压器设计:漏感控制、耦合优化
5.3 IGBT驱动电路

GD3160 Gate Driver集成了Desat退饱和检测(监测IGBT导通压降Vce,超过阈值触发软关断)、Miller钳位电路(在关断期间将栅极下拉到Emitter,抑制dv/dt误导通)、有源钳位(TVS限制Vce过压)以及NTC温度检测,构成完整的IGBT保护方案。
- 栅极电阻Rg:控制开关速度,优化EMI和开关损耗
- Desat检测电路:高压二极管+比较器,检测Vce饱和压降
- Miller钳位电路:栅极通过小电阻下拉,抑制Miller电流
- 有源钳位电路:TVS管串联,钳位Vce过压
5.4 相电流采样电路
- 采样电阻:采用高精度低感分流电阻(如0.1mΩ)
- 差分运放:隔离式差分放大器(如AMC1300系列),实现高压侧隔离采样
- 共模抑制:高共模抑制比(CMRR ≥ 90dB),抑制电机PWM开关噪声
- 故障输出:运放内置过压/欠压检测,输出Fault标志
5.5 WCCA(最坏情况电路分析)
对所有安全关键电路进行WCCA分析,涵盖:
- 电阻/电容容差(初始精度+温度漂移+老化)
- 运放输入偏置电流、失调电压、温漂
- ADC量化误差、参考电压偏差
- 温度范围(-40°C ~ 125°C结温)
- 供电电压波动
5.6 EMC设计
- 共模电感+差模电感滤波
- Y电容连接高压负极与底盘地
- 栅极驱动回路最小化
- 高压母线叠层母线排设计(低感)
5.7 Desat电路设计详解
Desat检测是IGBT驱动中最重要的保护之一:
- 检测机制:IGBT正常导通时Vce≈1.5-2.5V,当发生短路时Vce迅速上升至母线电压水平
- 消隐时间(Blanking Time):IGBT开通瞬间存在Vce震荡,需设置消隐时间(典型值2-5μs)避开误检测
- 阈值设置:根据IGBT特性,Desat阈值通常设置为7-9V
- 软关断:检测到Desat后,以比正常关断慢的速度关断IGBT,防止高di/dt导致电压过冲
5.8 Miller钳位设计
- 原理:IGBT关断时,dv/dt通过Miller电容Cgc在栅极感应正向电压,可能导致IGBT误导通
- 措施:在关断期间将栅极通过低阻MOS管下拉到Emitter
- 钳位电压:通常钳位到2V以下,确保IGBT可靠关断
5.9 HSR → TSR 追溯性矩阵
HSR(Hardware Safety Requirements)是TSR的硬件实现细化,将每个TSR的技术方案落实到具体的电路设计、元器件选型和PCB布局中。
| HSR编号 | 硬件安全需求描述 | 电路模块 | ASIL等级 | 关联TSR | 验证方法 |
|---|---|---|---|---|---|
| HSR-01 | 电源输入6-32V宽范围,PMOS防反接,TVS钳位36V | 电源输入 | ASIL B | TSR-10 | WCCA+测试 |
| HSR-02 | TLF35584输出3.3V/5V,每路去耦≥10μF+100nF | SBC电源 | ASIL C | TSR-10 | WCCA+测试 |
| HSR-03 | Flyback隔离电源,加强绝缘≥3kV,爬电距离≥8mm | IGBT驱动供电 | ASIL C | TSR-11 | 耐压测试 |
| HSR-04 | IGBT栅极电阻Rg ON 10Ω/OFF 10Ω,峰值驱动电流±5A | IGBT驱动 | ASIL C | TSR-11 | WCCA |
| HSR-05 | Desat检测:US1M高压二极管+470pF消隐电容+比较器阈值7V | Desat电路 | ASIL C | TSR-11 | 故障注入 |
| HSR-06 | Miller钳位:NMOS+BSS84下拉至Emitter,响应时间<100ns | Miller电路 | ASIL C | TSR-12 | 时序测试 |
| HSR-07 | 有源钳位:TVS P6SMB220A双向钳位Vce≤220V | 有源钳位 | ASIL C | TSR-11 | 浪涌测试 |
| HSR-08 | 相电流:0.1mΩ分流+AMC1300隔离运放+TLV272 MFB滤波25kHz | 电流采样 | ASIL C | TSR-14 | 精度+WCCA |
| HSR-09 | 高压分压:2×1MΩ+1kΩ,比例2000:1,X7R电容±10%滤波 | 高压采样 | ASIL B | TSR-10 | WCCA |
| HSR-10 | NTC:10kΩ@25℃,B=3435,上拉电阻诊断开路/短路 | 温度采样 | ASIL B | TSR-16 | 功能测试 |
| HSR-11 | 旋变励磁:10kHz正弦驱动,幅度监控±15% | 旋变接口 | ASIL C | TSR-15 | 功能测试 |
| HSR-12 | 母线电容:470μF电解+0.1μF高频瓷片,纹波电流≥5Arms | DC-Link | ASIL B | TSR-19 | 热测试 |
| HSR-13 | EMC:LCL共模2mH+X电容0.47μF+Y电容4.7nF | EMC滤波 | QM | — | EMC测试 |
| HSR-14 | PCB Layout:功率地/信号地分离,大电流走线≥40mil,爬电≥6mm | PCB设计 | ASIL C | — | 电气检查 |
| HSR-15 | 主动放电电阻10kΩ/50W,放电时间常数τ=RC≤15s | 放电回路 | QM | TSR-19 | 时序测试 |
| HSR-16 | HVIL高压互锁回路闭环检测,开路触发SS3 | HVIL回路 | ASIL C | TSR-20 | 功能测试 |
追溯说明:每个HSR都对应上层的TSR。例如TSR-11(GD Desat:Vce>7V消隐2μs软关断)在HSR层细化为具体的电路参数——HSR-04(栅极电阻Rg)、HSR-05(Desat检测电路参数)、HSR-07(有源钳位TVS)。HSR→TSR→FSR→SG形成完整的V模型左侧追溯链。
第六步:SSR —— 软件安全需求
SSR(Software Safety Requirements)定义软件层面的安全设计和实现要求。SSR是TSR的软件实现细化,每个SSR都应追溯到上层的TSR。例如TSR-06(ADC自检)细化到SSR-06(ADC Vref监控+空闲通道自检+偏置校准,1s周期)。
6.1 软件分层架构

软件分层安全架构:遵循AUTOSAR分层模型——Level 1(顶层,绿色QM)执行FOC/转速/扭矩控制功能;Level 2(黄色ASIL C)负责扭矩/程序流/温度监控;Level 3(红色ASIL C)提供MCU和传感器硬件诊断。QM与ASIL C代码严格分离,通过RTE通信。
软件架构遵循 AUTOSAR 分层模型,并引入功能安全扩展:
应用层(ASIL C + QM)
├── Level 1 功能层(QM)
│ ├── FOC控制模块
│ ├── 转速控制模块
│ └── 扭矩控制模块
├── Level 2 监控层(ASIL C)
│ ├── 扭矩监控模块
│ └── 程序流监控模块
└── Level 3 硬件诊断层(ASIL C)
├── MCU诊断模块
└── 传感器诊断模块
RTE(运行时环境)
BSW层(ASIL B/C)
├── MCAL(MCU抽象层)
├── 通信栈(CAN/SPI)
└── 诊断栈
6.2 程序流监控:Q&A机制
程序流监控是Level 2的核心功能之一,采用Q&A(Question & Answer)机制,由SBC驱动:
工作原理:
- SBC(TLF35584)通过SPI向MCU发送一个"Question"(挑战值)
- MCU的监控软件(Level 2)必须在规定时间内计算并返回一个"Answer"(应答值)
- 应答计算必须经过特定的校验路径,覆盖关键软件模块的执行
- 如果应答超时或错误,SBC触发Watchdog复位或直接进入安全状态
时序要求:
- Question间隔:5ms
- 最长应答时间:10ms
- 超时触发:连续2次失败
Q&A机制确保Level 1的控制循环在正确的时序和路径上执行,防止软件跑飞、死循环、异常分支等问题。
6.3 E2E通信保护
端到端(End-to-End)通信保护覆盖CAN报文、内部SWC间通信:
- CRC校验:对关键信号(扭矩指令、转速指令)附加CRC
- 计数器(Counter):检测报文重复、丢失、乱序
- 超时监控(Timeout):检测通信中断
- 数据ID(Data ID):防止信号混淆
应用在以下通信路径:
- CAN:整车VCU → MCU(扭矩/转速请求)
- SPI:MCU ← GD3160(状态/故障)
- 内部:Level 1 ← Level 2(扭矩校验交叉比较)
6.4 ADC诊断
- 参考电压监控:通过内部精密参考源Vref监控ADC精度
- 自检信号注入:在空闲通道注入已知电压,验证转换结果
- 偏置监控:检测ADC偏移误差并实时校准
- 奇偶校验:ADC结果寄存器配置奇偶校验位
6.5 扭矩监控冗余算法
扭矩监控采用双冗余算法,独立于Level 1的FOC扭矩计算:
方法一:磁通法(Flux Method)
- 基于永磁同步电机的磁链方程,利用直轴/交轴电流Id/Iq和磁链参数计算扭矩
- 公式:Te = 1.5 × p × [ψf × Iq + (Ld - Lq) × Id × Iq]
- 与Level 1扭矩差异>5%则触发安全动作
方法二:功率法(Power Method)
- 基于电机输入功率和损耗估算输出扭矩
- 公式:Te = (Pin - Pcu - Pfe) / ωm
- Pin = Vdc × Idc(直流母线功率),Pcu = 3 × Is² × Rs(铜耗)
- 作为磁通法的独立验证
冗余逻辑:
- 两路冗余算法独立运行在LockStep核的不同SSC(Safety Software Component)中
- 两路结果互相比对,同时分别与Level 1指令校验
- 任何一路校验失败均触发安全状态

扭矩监控双冗余算法框图:磁通法(上,绿色路径,基于Id/Iq和磁链参数Te=1.5×p×[ψf×Iq+(Ld-Lq)×Id×Iq])和功率法(下,红色路径,基于直流母线功率和损耗Te=(Pin-Pcu-Pfe)/ωm)独立运行在LockStep双核上,结果输入比对器交叉校验并与Level 1指令比较,偏差>5%立即触发安全状态。
6.6 SSR → TSR 追溯性矩阵
SSR(Software Safety Requirements)是TSR的软件实现细化,将每个TSR的技术方案落实到具体的软件模块、算法逻辑和诊断策略中。
| SSR编号 | 软件安全需求描述 | 软件模块 | ASIL等级 | 关联TSR | 实现方式 |
|---|---|---|---|---|---|
| SSR-01 | L1/L2代码物理分离,独立Flash分区+MPU保护区 | 软件架构 | ASIL C | TSR-01/04 | MPU分区 |
| SSR-02 | L2扭矩监控:磁通+功率法双核独立运行于LockStep核1/核2 | 扭矩监控 | ASIL C | TSR-05/06 | 双核冗余 |
| SSR-03 | 扭矩偏差阈值5%,超出则在FTTI≤20ms内触发安全状态 | 扭矩监控 | ASIL C | TSR-05/06 | 比较逻辑 |
| SSR-04 | Q&A程序流:SBC发Question→MCU 5ms内返回Answer,超10ms触发WDG | 程序流 | ASIL C | TSR-09 | Q&A机制 |
| SSR-05 | CAN E2E:CRC16+4bit Counter+100ms Timeout,失效触发SS7 | CAN通信 | ASIL C | TSR-17 | E2E保护 |
| SSR-06 | ADC诊断:Vref监控+空闲通道自检+偏置校准,周期1s | ADC诊断 | ASIL C | TSR-05/06 | 周期性自检 |
| SSR-07 | 3路NTC温度轮询:IGBT/绕组/母线,周期100ms | 温度监控 | ASIL B | TSR-16 | 轮询监控 |
| SSR-08 | 高压母线电压10ms周期采样,OVP阈值+60V放电判断 | 高压监控 | ASIL B | TSR-10 | 周期采样 |
| SSR-09 | 主动放电:指令后启动120s计时,母线<60V成功/失败上报 | 主动放电 | QM | TSR-19 | 计时监控 |
| SSR-10 | 故障分级:一级严重(ASC)→二级警告(限扭)→三级信息(上报) | 故障管理 | ASIL C | — | 分级处理 |
| SSR-11 | SPI通信:1ms轮询GD状态,CRC校验,连续3次失败触发SS1 | SPI驱动 | ASIL C | TSR-13 | CRC+重试 |
| SSR-12 | 三相电流一致性:Ia+Ib+Ic=0,偏差>5%触发诊断 | 电流诊断 | ASIL C | TSR-14 | 一致性校验 |
| SSR-13 | 旋变故障:励磁丢失+正余弦幅值异常+位置跳变>15° | 旋变诊断 | ASIL C | TSR-15 | 多条件诊断 |
| SSR-14 | 主循环执行时间超限检测报警 | 程序流 | ASIL B | TSR-09 | 执行时间监控 |
| SSR-15 | LBIST上电自检,覆盖CPU>95%故障 | 自检 | ASIL B | TSR-18 | 上电自检 |
| SSR-16 | NTC温度变化率dT/dt超限报警 | 温度诊断 | ASIL B | TSR-16 | 斜率诊断 |
| SSR-17 | NVRAM关键标定参数CRC校验,失败回滚安全默认值 | 存储管理 | ASIL B | — | CRC+回滚 |
| SSR-18 | 坡道扭矩保持:坡度信号校验+扭矩补偿计算+驻车协同 | 扭矩控制 | ASIL B | — | 功能逻辑 |
追溯说明:每个SSR都对应上层的TSR。例如TSR-05/06(ADC Vref监控+自检注入)细化为SSR-06(ADC诊断:Vref+自检+偏置校准,周期1s)和SSR-12(三相电流一致性检查)。SSR→TSR→FSR→SG形成完整的V模型右侧(软件)追溯链。
第七步:安全验证与确认
7.1 故障注入测试
故障注入是验证安全机制有效性的核心手段:
| 测试项目 | 注入方式 | 验证目标 |
|---|---|---|
| 内存ECC错误注入 | 通过MCU寄存器强制注入单/双比特错误 | 内存ECC机制响应 |
| 时钟故障注入 | 外部时钟源引入频率偏差 | 时钟监控PLL失锁检测 |
| CAN通信故障 | 报文丢失、延迟、篡改、重放 | E2E保护响应 |
| 相电流偏置故障 | 注入DC偏置到采样信号 | ADC诊断+扭矩监控 |
| Desat模拟 | 外部高压脉冲注入IGBT C-E | Desat保护响应时间 |
| 看门狗超时 | 停止喂狗 | SBC复位或安全状态 |
7.2 时序验证
安全时序是功能安全的核心约束,需验证以下时序指标:
- FTTI(容错时间间隔):从故障发生到系统进入安全状态的总耗时
- FDTI(故障探测时间间隔):从故障发生到被探测到的时间
- FHTI(故障处理时间间隔):从探测到故障到执行安全动作的时间
- 诊断测试间隔:安全机制的自检周期
时序分析工具:逻辑分析仪、示波器、CANoe报文分析、ETAS INCA。
7.3 诊断覆盖率
根据ISO 26262-5(硬件层面),不同ASIL等级要求的最小诊断覆盖率:
- ASIL B:单点故障 ≥ 90%,潜伏故障 ≥ 60%
- ASIL C:单点故障 ≥ 97%,潜伏故障 ≥ 80%
- ASIL D:单点故障 ≥ 99%,潜伏故障 ≥ 90%
本项目需满足ASIL C要求,通过FMEDA(Failure Modes Effects and Diagnostic Analysis)量化计算各安全机制的诊断覆盖率,确保满足目标值。

安全验证流程:左侧故障注入测试(内存ECC故障、CAN通信故障、相电流偏置、Desat模拟、看门狗超时)→ 中间安全机制验证处理器(FDTI+FHTI≤FTTI时序约束)→ 右侧诊断覆盖率指标(SPF≥97%绿标通过、LF≥80%橙标通过),底部汇总为FMEDA分析报告。
总结
本文基于实际EDU电机控制器功能安全开发项目,完整梳理了从HARA到SSR的七步核心设计流程:
- HARA:通过场景分析和风险评估,定义9项安全目标,覆盖非预期加速、高压触电、过温等关键危害
- SG分解:将顶层安全目标逐层分解到子系统,建立可追溯的安全需求树
- FSR:建立三级安全架构(功能层QM + 监控层ASIL + 硬件诊断层ASIL),定义8种安全状态
- TSR:利用TC387 LockStep + TLF35584 SBC + GD3160 Gate Driver的硬件安全特性,实现底层失效探测
- HSR:通过Desat电路、Miller钳位、Flyback隔离、WCCA等确保硬件鲁棒性
- SSR:通过Q&A程序流监控、E2E通信保护、双冗余扭矩算法确保软件安全
- 验证与确认:通过故障注入和时序分析验证安全机制有效性
功能安全不是"做完"的,而是"验证完"的。安全需求的可追溯性(从SG → FSR → TSR → HSR/SSR → 测试用例的全链路追踪)和充分的验证覆盖(故障注入、时序验证、WCCA、FMEDA),才是项目真正达到ASIL C等级的保障。
本文基于实际项目经验总结,硬件具体型号和参数仅供参考。实际开发中请以最新版ISO 26262:2018及供应商最新器件手册为准。如有不当之处欢迎指正
更多推荐
所有评论(0)