三相电流采样的功能安全诊断(Current Sensing Diagnostics)
本质与导读
本质 电流是 FOC 闭环的眼睛,瞎了或撒谎就会命中 ASIL C/D 的 Unintended Torque / Loss of Torque。range check / sum-to-zero / plausibility 这些校验不为把电流测得更准,而是把 sensing 链的 single-point fault 变成 detected fault,让 SPFM ≥ 99% / LFM ≥ 90% 算得过去。
1. 因果链——从 Hazard 倒推到 ADC
电机控制器的输出扭矩在 FOC 闭环里完全由 Iq 计算决定,而 Iq 又来自 Clarke→Park 后的三相电流 Ia/Ib/Ic。所以三相电流就是控制器的"眼睛"——眼睛瞎了或撒谎,控制器会"睁眼瞎"地输出一个它自以为正确、实际上完全错误的电压矢量,结果就是 Unintended Torque(UT) 或 Loss of Torque(LoT)。这两个失效在 BEV/HEV 里通常被 HARA 评为 ASIL C ~ D(高速 UT 直接到 D),这就是需要在 sensing 链上堆 safety mechanism 的根本原因。
换句话说,这些诊断不是为了"防止电流测不准",而是让 sensing 链上的 single-point fault 在 FTTI 内被探测到——只有 detected fault 才能触发 safe state,未探测到的 fault 直接穿透到扭矩输出,违反 Safety Goal。
2. ISO 26262 依据
这些 SM 不是凭工程经验拍的,标准里有明确出处。把"做什么 SM、做到多深、覆盖率算多少"都钉在标准条款里,是 safety case 论证的根。
| 标准位置 | 内容 | 用途 |
|---|---|---|
| ISO 26262-5 Annex D, Table D.1 ~ D.14 | 列每种 SM 对应的 fault model 与 DC 等级(Low/Med/High) | FMEDA 填诊断覆盖率 |
| D.2.1.4 "Range check of input data" | 输入信号上下限校验 | 对应 high/low range check |
| D.2.4 "Plausibility check" | 跨信号合理性 | 对应 vs ω/Vdc/T* 检查 |
| D.2.6 "Reciprocal comparison by software" | 基于物理约束的冗余比较 | 对应 sum-to-zero (KCL) |
| D.2.10.4 "Input comparison / voting" | 多通道冗余比较 | 对应双 ADC / 双独立传感器 |
| D.2.11.1 "Test pattern" | 启动 / 周期性自检 | 对应 ADC ABIST / 参考电压自检 |
| ISO 26262-5 §8 + §9 | SPFM / LFM / PMHF 硬件架构指标 | ASIL D 要 SPFM ≥ 99%、LFM ≥ 90%、PMHF < 10 FIT |
| ISO 26262-6 Annex D / Table 4 | software-level error detection | range / plausibility / time-monitoring 软件实现 |
| ISO 26262-9 §6 | Safety analysis(FMEDA) | 把 D.x 的 DC 一项一项填进 FMEDA |
| ISO 26262-11 §5.3 (Semiconductors, 2018) | ADC / 模拟前端 / sensor interface 的具体例子 | 明确点名 ADC range check + 冗余采样为推荐 SM |
不背条款没关系,记住"DC 数字必须…
不背条款没关系,记住"DC 数字必须能引一条标准条款" 就够了——SAFETY assessor 审 FMEDA 时会逐行问"这一行 99% 的 DC 凭什么"。
3. 失效模式 vs SM 覆盖矩阵
电流采样链 = 传感器(霍尔/分流/TMR)→ 调理(OPA/差分/CSA)→ ADC → DSP 寄存器,整条链上的 fault model 大致 8 类,每类都要找到至少一个 SM 来抓。下表是 FMEDA 的"骨架"——未在表中盖到的 fault model 就是 SPFM 漏点。
| # | Fault model | 物理原因 | 主要 SM | DC 等级 |
|---|---|---|---|---|
| 1 | Stuck-at-high / stuck-at-low | 线短到 VCC/GND、ADC 死锁、OPA 饱和 | Range check | Medium |
| 2 | Out-of-range(offset / gain drift) | 温漂、老化、参考电压跑偏 | Range + sum-to-zero | High |
| 3 | Frozen value(值不更新) | DMA 死、ADC trigger 丢、中断卡死 | Time-monitoring + plausibility | Medium |
| 4 | 单相通道偏置 / 增益错 | 单个传感器失效、单路 OPA 漂移 | Sum-to-zero (KCL) | High |
| 5 | 共模噪声 / EMI 干扰 | 布线、接地、PWM 耦合 | 多次采样滤波 + range | Low~Medium |
| 6 | 通道交换 / 接线错 | 产线装错、维修接错 | Plausibility + 上电自检 | Medium |
| 7 | ADC 参考电压漂 | Vref 老化、温漂 | ADC self-test (ABIST) + Vref 监控 | Medium~High |
| 8 | Common cause(一片 ADC 全瘫) | ADC 共用电源 / 时钟 / die 失效 | 双独立 ADC + DFA | High |
单一 ADC 读数 → DC ≈ 0…
单一 ADC 读数 → DC ≈ 0%(典型 single-point fault)。叠加 range + KCL + plausibility 之后,公开文献和 OEM 实测一般能做到 整体 DC ≥ 99%,刚好够 ASIL D 的 SPFM ≥ 99% 门槛。
4. Range Check(高低范围校验)
Range check 是最便宜也最先做的 SM——物理上电机额定电流 ±Imax 是有上限的,ADC 输出落在 [Imax·1.1, Imax·1.5] 之外几乎只能是硬故障(断线、短到电源/地、OPA 饱和)。它不需要任何额外硬件,纯软件就能盖住 stuck-at 类故障。
4.1 阈值的设计
阈值过紧会假阳触发 fail-safe,过松会漏故障,两层阈值(warning + trip)+ blanking time 是工程通行做法。常见配置:
| 阈值 | 取值(相对 Imax) | 反应 |
|---|---|---|
| Soft warning | 1.1 × Imax | 计数器 +1,连续 N 次报 DTC |
| Hard trip | 1.5 × Imax | 立刻进入 ASC / freewheel |
| Out-of-rail | ADC 满量程或 0 | 立刻进 fail-safe(一定是硬故障) |
| Blanking time | 5–20 µs | 滤掉 PWM 切换瞬态 di/dt 尖峰 |
4.3 覆盖什么 / 不覆盖什么
Range check 抓的是显著漂移——offset 漂 50% 它能抓到,漂 5% 它抓不到。所以 range 永远是"第一道粗筛",必须配合后面的 KCL / plausibility 才能补齐 DC。
5. Sum-to-Zero(KCL 物理冗余检查)
这是性价比最高的安全机制——基尔霍夫电流定律(KCL)在三相无中性线(Y 不接 N、Δ)拓扑下是硬物理约束:
任何一相 sensor 有 offset / gain 误差,或 ADC 跳变,都会让和不为零。这是真正的信息冗余——不加任何额外硬件,DC 就能拿到 High。这也是为什么很多设计哪怕只装两路传感器(用 KCL 算第三相),高安全等级仍要装满三路:第三路就是为了做这个校验。
5.1 阈值与残差定义
实际系统里 KCL 残差不会真的等于 0,要给一个允许带:
由三个误差源决定:
- 传感器精度 —— 例如 ±1% × Imax × 3 通道 ≈ 3% × Imax
- ADC 量化噪声 —— ±0.5 LSB × 3
- PWM 切换瞬态 —— 三相不严格同步采样会引入瞬态残差
工程上 是典型起点,必须用实际工况标定。
5.2 KCL 抓得住 / 抓不住
KCL 是单通道 fault 的克星,但对共模 fault 完全失明——三相 sensor 同方向同幅度漂移时,和仍然是 0。所以 KCL 必须配 plausibility 才完整。
| Fault 形态 | KCL 能抓 | 说明 |
|---|---|---|
| 单相 stuck-at | ✓ | 最易抓 |
| 单相 offset 漂移 | ✓ | 残差等于该相 offset |
| 单相 gain 错 | ✓ | 当 Ix 非零时可见 |
| 三相同向同幅共模漂 | ✗ | 残差仍为 0 |
| 三相同步 frozen | ✗ | 残差为常数 |
| 通道接错(Ia ↔ Ib) | 部分 | 静止瞬间可能为 0;动态有残差 |
5.3 三分流和双分流的差别
双分流(Ic 由 Ia + Ib 反推)做不了 KCL——因为 Ic 就是计算出来的,三者必然和为零。要做 KCL 就必须装满三路独立 sensor。这是双分流方案要升 ASIL D 时被卡住的最常见瓶颈,也是高端主驱倾向"三路 shunt + 三路 CSA"的安全侧动机(成本侧一直是劣势)。
6. Plausibility Check(跨信号合理性)
Plausibility 抓的是"值在 range 内、KCL 也接近 0、但就是不对"的慢漂或冻结。比如转矩指令 = 0 但实测 Iq = 50A,或者电机转着但电流恒定不变。这类故障 range / KCL 都过得去,必须靠跨信号的合理性来抓。
6.1 跨信号约束的物理基础
Plausibility 的依据是电机电气模型的稳态约束——三相电流和电压、转速、温度、扭矩指令之间存在固定的物理关系,违反任何一条就是"信号矛盾"。
| 跨信号约束 | 公式 | 抓的 fault |
|---|---|---|
| Iq vs Torque cmd | Iq 计算错(含传感漂) | |
| |I| vs Vdc / ω | 电机方程 | 整体增益错 |
| |I| vs 温度 | 大电流 ≥ TNTC 温升一致性 | 电流低估 |
| 频率 vs ω_e | 三相电流基波频率 = | frozen value、采样时序错 |
| |I| vs DC bus 输入电流 | 单相全 0、整体偏差 |
6.2 实施时机和窗口
Plausibility 不能用 PWM 周期那么快的尺度——电机方程含微分项,瞬态期间约束不严格。典型实施:
- 慢周期任务(1 ~ 10 ms) 跑 plausibility,避开瞬态
- 连续 N 次违反才报错(counter-based debouncing)防止启动 / 工况切换瞬态假阳
- 运行模式分支:standstill / startup / running 各有不同合理性窗口
7. 时间域诊断(Frozen Value / Time Monitoring)
电流是高频信号,长时间不变本身就是 fault 信号。Frozen value 检测专门抓 ADC trigger 丢、DMA 卡死、中断停跑这类"值看起来 OK 但其实不在更新"的隐蔽故障——range / KCL / plausibility 都可能放过。
7.1 Frozen 检测的三种方式
frozen 检测的难点不在"实现复杂",而在和静止工况区分——电机停转时电流真的几乎不变,幼稚的方差检测会假阳。下面三种方法按"误报率 vs 实施成本"递增排列,工程通常组合使用:sample counter 必有兜底,方差或 timestamp 视场景加。
| 方法 | 实现 | 适用 |
|---|---|---|
| Sample counter | ADC ISR 累加计数器,慢任务定时清零并校验 N > 阈值 | 最简单,必有 |
| Variance window | 滑动窗口算 N 个样本的方差,过低判 frozen | 旋转中适用,静止时假阳 |
| Timestamp diff | 每次 ADC 写入带 timestamp,检查相邻间隔 | 有 DMA / RTOS 场景 |
7.2 PWM 同步采样的时序检查
ADC 必须在 SVPWM 中心时刻采样(避开开关瞬态),可以反向监控这个时序——比较 ADC trigger 事件和 PWM peak 的时间差,超过 ±1 µs 就报 trigger 失步。这是 ADC 触发链失效的高 DC 检测。
8. ADC 自检(ABIST / Reference Voltage Check)
ADC 本身的失效是 sensing 链终点,必须用 BIST 类硬件 SM。ASIL C/D MCU(AURIX TC3xx / S32K3 / Hercules)的 ADC 模块都内置了至少 4 类自检,FMEDA 时引 datasheet 的 DC 数字。
8.1 启动 BIST
启动时跑一次完整 ADC 测试 pattern,覆盖率最高但只查启动瞬间。MCU safety manual 给的 DC 通常 ≥ 90%。
| Test | 内容 | 检测 fault |
|---|---|---|
| Built-in test pattern | 内部基准源切到 ADC 输入,比较读数 vs 预期 | ADC 增益、offset、量化错 |
| Vref check | 测量内部 Vref vs 外部已知参考 | Vref 漂、断线 |
| Channel mux test | 轮流切 mux 到已知信号 | 通道交换、mux 卡死 |
8.2 运行时周期 BIST
稳态运行中插入测试通道(一般留一路给 1.65V 内部基准),周期性比较,典型 DC ≥ 80%。运行 BIST 必须保证不影响主控信号采样窗口——常见做法是单独留一个 ADC 时隙。
8.3 Vref 持续监控
参考电压通过双路冗余测量(一路 ADC 测 Vref,另一路 Vref 测 ADC 输入端的已知电压),典型 DC ≥ 95%。
8.4 双 ADC 同步比较
ASIL D 关键回路常用两个独立 ADC 同步采样同一 shunt,比较结果。这是 D.2.10.4 input comparison 的典型实施,DC ≥ 99%。前提是两个 ADC 真正独立——不同时钟域、不同电源、不同 die(或至少 mainline + safety domain 隔离)。
9. 启动时校零与方向检查
电机静止状态(Inverter PWM 全关、电流必然 ≈ 0)是天赐的"自检窗口"——上电、停车、PWM disable 期间,三相电流应该都在零附近。任何偏移都是 sensor offset,存到 EEPROM 用于运行时补偿,同时做合理性判断。
9.1 零电流校准的边界
校零的允许带不能"一刀切"——冷态上电时温漂为零,offset 应该非常小;带温度的热态启动允许更大;任何状态都有一个上限超过即是硬故障,不能再被"校准"掩盖。下面三档阈值是工程通用配置,背后逻辑是"越接近理想条件、阈值越严"。
| 场景 | 允许的 offset | 超过则 |
|---|---|---|
| 上电(冷态) | ±2% × Imax | 校准并存表 |
| 上电(热态,有残温) | ±5% × Imax | 校准并标 warning DTC |
| 任何状态 | ±10% × Imax | 拒绝校准、报硬故障 |
9.2 极性 / 接线检查
启动时给一相注入小电流(< 5% Imax),验证三相电流的正负号 / 相对幅度是否符合接线预期,可以抓接线交换、CSA 极性焊错这类一次性 systematic 失效。这是 PV 阶段做、量产阶段每次启动都做的"自证"机制。
10. FTTI 内的反应链
诊断只是第一步——探测 + 反应必须在 FTTI(Fault Tolerant Time Interval)内完成,否则 detected fault 仍会穿透成 hazard。Traction inverter 的 FTTI 一般 10 ~ 50 ms(高速场景偏短),EPS 5 ~ 20 ms。
| 时间预算 | 名称 | 典型值(traction) |
|---|---|---|
| DTI(Diagnostic Test Interval) | 诊断周期 | 100 µs(current loop ISR) |
| FRT(Fault Reaction Time) | 检测后到 safe state 的反应 | < 5 ms |
| FTTI | 总时间预算 | 10 ~ 50 ms |
10.1 Safe State 选择
电流诊断触发后能进哪种 safe state,取决于电机转速 + 故障类型:
| 故障 + 工况 | Safe state | 原因 |
|---|---|---|
| 静止 / 低速 | 6-fold OFF(freewheel) | 简单,无反向感应电压 |
| 中高速 | 3-fold ON(ASC, Active Short Circuit) | 高速 freewheel 会让电池被反充,必须短路三相低边 |
| HV 系统失效 | STO + Pyro fuse | HV 链已不安全,物理切断 |
详见 转矩安全。
10.2 多次确认(debounce vs latency 取舍)
诊断不能"一击即中"——单次 ADC 噪声、EMI 突发、PWM 干扰都可能造成假阳。但 debounce 又会吃掉 FTTI 预算。典型策略:
- 硬故障(out-of-rail、ADC trigger lost):1 次即触发,不 debounce
- 软故障(KCL 越限、plausibility 矛盾):连续 3 ~ 5 次(300 ~ 500 µs)才触发
- 触发后反应不可逆——只能下电重启清 fault,避免抖动
11. 端到端 Worked Design — 400V/100kW EV 主驱三相电流采样链
本节给出一个真器件的完整推导:器件选型 → SM 阈值计算 → FMEDA 迭代到 ASIL D 合规 → FTTI 验证。所有数字可逐格复核;FIT 值基于 SN29500 B2 环境(70°C 结温)。
11.1 边界与器件选型
本例平台:400V/100kW 三相 PMSM 逆变器,峰值相电流 300A(连续 200A rms),三路低侧 shunt 在 PWM 三角波中心点采样,Safety Goal = 避免意外扭矩(ASIL D,FTTI = 50ms)。器件选型如下:
| 器件 | 型号 | 关键参数 | 选型理由 |
|---|---|---|---|
| 分流电阻 ×3 | Isabellenhütte BVN-Z-R0002-1%(200μΩ,5W) | AEC-Q200,低感 < 5nH,耐峰值 600A | 低侧 CM < 1V;峰值 Vsense = 300A × 200μΩ = 60mV |
| 电流感测放大器 ×3 | INA240A1QDBVRQ1(G = 20V/V) | CM −4V ∼ +80V;PWM rejection 增强;CMRR = 132dB | VCC = 3.3V,VRef = 1.65V;Vout 峰值 = 1.65 + 60mV × 20 = 2.85V ✓ |
| MCU | Infineon TC397(AURIX 3G Lockstep) | 双独立 ADC(VADC + 独立 Safety Domain ADC),ASIL D | 两路 ADC 不同时钟域、不同供电 → 满足 ISO 26262-5 D.2.10.4 input comparison |
Vsense 换算:
ADC 分辨率(12-bit,3.3V):LSB = 0.806mV → 电流分辨率 = 0.806mV / 4mV/A = 0.2A/LSB(优于大多数电机控制需求)。
11.2 各 SM 阈值计算
Range Check 阈值(在 raw ADC count 层做,未经 Clarke 变换)
| 档位 | 电流 | Vout | ADC count(4095 满量程) |
|---|---|---|---|
| Soft warning | ±330A(1.1 × Imax) | 1.65 ± 1.32V | > 3686 cnt 或 < 409 cnt |
| Hard trip | ±400A(ADC 满量程前,≈ 1.33 × Imax) | 1.65 ± 1.60V | > 4033 cnt 或 < 62 cnt |
| Out-of-rail | ≥ 4095 或 ≤ 0(对应 ±412A) | — | 立刻进 fail-safe(必为硬故障;1.5 × Imax = 450A 已超 ADC 量程,统一归此档) |
KCL 容差(ε_KCL 推导)
误差源三项相加:传感器精度 ±1% × 3 通道 × 300A = 9A;ADC 量化 ±0.5 LSB × 3 × 0.2A/LSB ≈ 0.3A;PWM 采样不同步 ≈ 2A。
取整 11A(等于 3.7% × Imax,低于标准 5% 推荐上限),需用实际工况标定确认。
11.3 FMEDA 迭代到 ASIL D 合规
FIT 基准(B2 环境):INA240A1 ≈ 5 FIT/die(×3 = 15 FIT),BVN shunt ≈ 1 FIT/unit(×3 = 3 FIT),TC397 ADC 模块 ≈ 6 FIT,总采样链 SR FIT = 24 FIT(与 ISO 26262-5 硬件层细化 §7 INA240 行对齐)。
v1 — 仅基础 SM(Range + KCL + Time monitor)
| Fault group | SR FIT | SM | DC | residual FIT |
|---|---|---|---|---|
| INA240 stuck-at / 饱和 | 9 | Range check | 90% | 0.90 |
| 单通道 offset / gain 漂 | 6 | KCL sum-to-zero | 99% | 0.06 |
| 共因失效(同一供电 / 时钟) | 3 | 无独立隔离 DFA | 50% | 1.50 |
| ADC 触发链失步(frozen) | 3 | Sample counter | 90% | 0.30 |
| Vref 漂移 | 2 | 无持续监控 | 0% | 2.00 |
| 接线 / 极性(一次性) | 1 | 无自检 | 0% | 1.00 |
远低于 ASIL D 的 99% 门槛,说明共因 + Vref 是 SPFM 漏点最大的两桶水。
v2 — 补 3 项措施(TC397 双 ADC + DFA + ABIST + 启动自检)
- TC397 双独立 ADC(不同时钟域、不同供电)+ DFA 论证 CCF:共因 DC → 99%,residual 1.50 → 0.03 FIT
- 启动 BIST + 运行 Vref 持续监控(双路冗余测 Vref):Vref DC → 99%,residual 2.00 → 0.02 FIT
- 启动注入自检 + 运行 plausibility(Iq vs T* 每 2ms):极性/接线 DC → 95%,residual 1.00 → 0.05 FIT
v3 — 精确补齐(双 ADC 比较 + VCU plausibility 提升主要漏桶 DC)
- 双 ADC 同步比较(VADC 与 Safety ADC 比较同一 shunt):stuck-at DC 90% → 99.9%,residual 0.90 → 0.009 FIT
- VCU 扭矩反馈合理性(Iq vs T* 每 2ms,跨控制器 plausibility):单通道漂 DC 99% → 99.5%,residual 0.06 → 0.03 FIT
- PWM trigger 时序检查升级 frozen DC 90% → 97%,residual 0.30 → 0.09 FIT
ASIL D 达标(≥ 99%)
ASIL D 达标(≥ 99%)。关键教训:共因失效和 Vref 漂是最大漏点,Range / KCL 本身只解决了一半问题。
11.4 FTTI 预算验证
本例 FTTI = 50ms(HARA 分配),三段时间预算按阶段分解并验证总和远低于要求:
| 阶段 | 机制 | 时间 |
|---|---|---|
| DTI(诊断周期) | ADC ISR,Range + KCL 在中断顶部 | 100µs(PWM 10kHz 对应) |
| FRT(检测 → safe state) | 硬 trip:1 周期 = 100µs 触发,PWM disable < 1µs;soft:debounce 3×100µs = 300µs + freewheel | < 1ms |
| 总 | DTI + FRT | < 2ms ≪ FTTI = 50ms(余量 25×) |
高速场景(ω > 3000rpm)须换 ASC 代替 freewheel,反应路径不变但安全状态不同(见 §10)。
12. Gotcha 链(7 条高危陷阱)
这 7 条是电流采样安全设计中排查报告频率最高的失效模式——有些导致 SPFM 数字达标但实际穿透,有些导致假阳 ASC 触发(与意外扭矩同级的安全事故)。
G1 — 双分流方案宣称做 KCL:Ic 由 Ia + Ib 反推,三者之和天然为 0,KCL 永远显示"正常",单通道漂过不了。修法:升三路独立传感器;或用 DC 母线电流(Idc)代替 Ic 做跨信号合理性——Idc ≈ (3/2)(Iq·Vq + Id·Vd)/Vbus,非恒零,能抓单通道漂移。
G2 — Range 阈值贴着 Imax 设:启动 inrush、急加速、再生制动的峰值可以超出额定 Imax 50%–100%,hard trip 阈值 = 1.0 × Imax 会把正常工况误判为故障,每次触发 ASC 都是一次安全事故。修法:soft warning 1.1×,hard trip 1.5×,加 5–20µs blanking time 滤 di/dt 尖峰;阈值设计要基于完整的负载谱(road load profile),不是额定参数。
G3 — Plausibility 没有运行模式分支:电机静止时 Iq=0 且 ω ≈ 0,plausibility 若用"Iq 要与 ω 成比例"的约束会在停车时持续报违反。修法:按 standstill / low-speed startup / normal running 三分支切阈值,静止时 plausibility 约束放宽到 near-zero 范围。
G4 — 双 ADC 共用 Vref / 时钟:把同一 Vref 或同一时钟树馈给"独立"双 ADC,DFA 走一遍会发现 CCF 因子 β 不满足独立性论证,DC 计 99% 实际只有 50%。修法:TC397 VADC 与 Safety Domain ADC 使用不同时钟树(GTM / CCU6 时钟分离)、独立稳压器供 Vref,在 DFA 报告中逐项论证无共因路径。
G5 — Frozen 检测忘了静止工况:基于方差的 frozen 检测在电机静止时电流真的几乎不变,连续误报迫使工程师把阈值放宽到检不出真故障。修法:静止时切换到 PWM trigger 时序检查(ADC trigger 事件 vs PWM peak 时间差)代替方差检查;方差检测仅在旋转中激活。
G6 — FMEDA FIT 在 25°C 基线未做温度修正:SiC 模块 Tj = 125°C 时 Arrhenius 失效率约为 25°C 的 2^10 = 1024 倍。INA240A1 在 85°C 长期工况下 FIT 高于 datasheet 默认值 2–4×。用 25°C 基线 FIT 得到的 SPFM ≥ 99% 在 EOL 高温下实际可能跌至 95%。修法:FMEDA 必须在最恶劣结温(Tj_max)下取 FIT,并在报告中标明温度假设(对齐 ISO 26262-11 热老化条款 §5.2)。
G7 — Range check 在 Clarke 变换后做:Clarke 变换后 Iα/Iβ 是混合量,单相 stuck-at 被平摊到两轴,信号幅值落在"看起来合理"的范围内,range check 过了但扭矩已经错。修法:range check 必须做在 raw ADC count(phase current Ia/Ib/Ic)上,在进入 Clarke 前完成;Clarke 后只做 plausibility 类跨信号校验。
13. Corner 分析(3 条边界工况)
这 3 条 corner 是电流采样安全机制在正常开发流程中容易被漏掉、但在整车验证或 OEM Safety Assessment 中会被追问的边界工况。
C1 — 短路电流期间 Range check 应如何处理:短路故障(IGBT/SiC 穿通)发生时相电流可在 2–4µs 内上升至额定峰值的 10–20 倍(SiC 主驱典型 SCWT = 2µs),这个冲击 ADC 根本来不及触发 ISR range check。此时 range check 的作用已经不是探测故障——短路检测必须依赖 DESAT(基于 VCE_sat 的硬件 SM),range check 只是过后验证短路保护已触发的第二道确认。含义:range check 的 DTI = 100µs 仅对正常过流 / 传感器故障有效;短路事件的 SM 依赖链另行设计(见 DESAT 短路检测)。
C2 — 冬季冷启动与热态停机的 sensor offset 跑偏:分流电阻温度系数(TCR)约 50–75ppm/°C,INA240A1 输入失调电压 TCR ≈ 0.5µV/°C;从 −40°C 冷启动到 150°C Tj 热态,整体 offset 漂移可达峰值电流的 ±1%–2%,正好在 range check 通过的范围内。但此时 KCL 阈值(ε_KCL = 11A)仍能抓住跨通道不一致漂(三相 TCR 不完全一致)。含义:冷态上电时 §9.1 的校零允许带(±2%)必须在最低工作温度(−40°C)下实测标定,不能只用室温数据;ε_KCL 的 5% 裕量必须覆盖全温范围的最大 TCR 差异。
C3 — ASIL 分解路径下单通道 DC 要求降至 ASIL B(≥ 90% SPFM):当顶层 SG 采用 ASIL D = B(D) + B(D) 分解时,每个独立通道只需满足 ASIL B SPFM ≥ 90%,看似简化了 SM 要求。但此时分解的独立性论证(Independence)变成新的压力点:两个通道若共用任何电源轨 / GND 平面 / 时钟来源,DFA 会把它们的 CCF 耦合到同一分解单元,分解失效。含义:选择 ASIL 分解前,必须先做 DFA 确认两通道物理独立路径;若 PCB 上共用 AGND 平面,分解可能无法论证,强行做会被 Safety Assessor 驳回。
核心要点
- 诊断的目的不是测准电流——是把 single-point fault 转成 detected fault,让 SPFM/LFM/PMHF 算得过去
- 依据:ISO 26262-5 Annex D(SM ↔ DC 表)+ §8/§9(架构指标)+ Part 11(半导体例子)+ Part 6 Annex D(软件 SM)
- 三大互补 SM:Range(抓 stuck-at)+ KCL sum-to-zero(抓单通道漂)+ Plausibility(抓慢漂 / frozen),三者正交才能凑出高 DC
- KCL 是金钥匙:物理冗余、零硬件成本、DC 高——但双分流方案做不了 KCL,要做必须三路独立 sensor
- 时间域诊断专抓"值看起来 OK 但其实不更新"的 frozen 类故障——sample counter + PWM trigger 时序检查
- ADC 自检走 datasheet 给的 DC(启动 BIST ≥ 90%、运行 BIST ≥ 80%、Vref monitor ≥ 95%、双 ADC 比较 ≥ 99%)
- FTTI 反应链:DTI ≤ 100 µs + FRT < 5 ms < FTTI 10–50 ms;safe state 看转速选 freewheel / ASC
- FMEDA 迭代路径:v1 基础 SM → 76%;v3 加双 ADC + DFA + Vref monitor + 跨控制器 plausibility → 99.05% ✓;共因失效 + Vref 是最大漏点,Range/KCL 只解决了一半
- 7 Gotcha 戒除:双分流伪 KCL / range 阈值贴 Imax / plausibility 不分模式 / 双 ADC 共因 / frozen 静止假阳 / FIT 未做温度修正 / range check 在 Clarke 后做
- 3 Corner 要记:短路期间 range check 无效(依赖 DESAT)/ 全温范围 offset 漂覆盖 ε_KCL 标定 / ASIL 分解前先做 DFA 确认物理独立性
Engineering Objects
引用此页的结构化 Engineeri…
引用此页的结构化 Engineering Object(v2.0 Copilot 自动生成,不要手动编辑此段)。
- case ·
case_eps_asil_d_steering— EPS (Electric Power Steering) ASIL D - case ·
case_smps_short_protection— SMPS Short-Circuit Protection Chain - diagnostic ·
diagnostic_current_sensing— Three-Phase Current Sensing Diagnostic - diagnostic ·
diagnostic_overcurrent_sensing— 过流采样诊断