温度采样的功能安全诊断(Temperature Sensing Diagnostics)
本质 温度信号和电流/电压/位置最大的差别——它的物理时间常数大(几秒到几分钟),但失效后果不可逆(器件烧毁、TR 链式反应)。所以诊断既要在 µs 级抓 sensor 故障(开短路),又要在 ms-s 级抓"读数没错但热模型偏离"的隐蔽漂,还要把 NTC + 模块 ts-pin + 软件热模型三层冗余串起来。本页和电流/电压/位置采样诊断严格并列,凑齐"采样诊断四件套"。
学习目标
读完本页后,你应该能够:
1. 因果链——温度错为什么独特
电流/电压/位置错都是控制层瞬时问题——错一个 PWM 周期可能就出灾难。温度错正相反:单次读数错没事,但持续错会让控制器以为"还能跑"于是不降额,最终器件 SOA 击穿或电池热失控。这是温度链的两个根本特点:
| 维度 | 电流/电压/位置链 | 温度链 |
|---|---|---|
| 失效时间常数 | µs ~ ms | s ~ min |
| FTTI | 10-50 ms | 100 ms - 1 s |
| 失效模式 | 控制层立刻看见 | 累积、隐蔽 |
| 单次读数错的代价 | 高 | 低(滤波吸收) |
| 持续读数错的代价 | 同单次 | 极高(TR / 烧管) |
| 物理冗余 | KCL / sin²+cos² 立等可见 | 多 sensor 物理分散布点 + 时间维度对比 |
关键认知:温度采样诊断的设计目的不是抓"瞬时错"而是抓"持续偏离" —— 这是和其它三件套最本质的不同。
2. ISO 26262 依据
| 标准位置 | 内容 | 用途 |
|---|---|---|
| ISO 26262-5 Annex D | range / plausibility / BIST 等 SM 与 DC 表 | 同采样系列 |
| D.2.1.4 Range check of input | 输入信号上下限校验 | NTC 断线/短路检测 |
| D.2.4 Plausibility check | 跨信号合理性 | NTC vs 热模型 / 多 NTC vs 平均 |
| D.2.10.4 Input comparison | 多通道冗余比较 | NTC × N + ts-pin |
| ISO 26262-5 §8/§9 | SPFM / LFM / PMHF | thermal-related SG 通常 ASIL B/C,主驱起火 ASIL D |
| AQG 324(e-mobility power) | 功率模块 thermal screening | 模块 NTC 安装规格 |
注意:thermal hazard 的 ASIL 取决于失效后果——单个 IGBT 过温烧毁可能 ASIL B(LoT),电池 TR 起火直接 ASIL D。SG 由 HV 安全 和 热安全 决定。
3. 失效模式 vs SM 覆盖矩阵
温度采样链 = NTC / PT100 / ts-pin → 上拉/分压电阻 → ADC → DSP。fault model 至少 7 类:
| # | Fault model | 物理原因 | 主要 SM | DC |
|---|---|---|---|---|
| 1 | NTC 断线 | 焊点裂、振动断 | 上拉电压跑到 Vcc → range check | High |
| 2 | NTC 短路 | 绝缘击穿、冷凝 | 上拉电压跑到 0 → range check | High |
| 3 | NTC 阻值漂移 | 老化、热应力 | 多颗对比 + 热模型 plausibility | Medium |
| 4 | ADC offset / drift | 共采样链 fault | ADC ABIST + Vref | Medium |
| 5 | 热接触不良(NTC 没贴紧 die) | 装配缺陷 | 启动 + 运行时跨 sensor 偏差 | Medium |
| 6 | 单点测量盲区 | NTC 测的是壳温不是 die 温度 | 多颗分散 + 热模型估算 die 温 | High |
| 7 | Common cause(冷却液漏) | 物理事件 | 物理分散布点 + IMD 联合监测 | High |
flowchart LR
NTC["NTC"]
R["pull-up R"]
ADC["ADC"]
REG["DSP register"]
NTC -->|"f1 open / f2 short"| R
R -->|"f3 drift"| ADC
ADC -->|"f4 offset"| REG
NTC -.->|"f5 thermal contact"| REG
NTC -.->|"f6 single point"| REG
REG -->|"f7 common cause"| BAD["wrong T"]("wrong T".md)
4. Range Check —— 抓断线 / 短路最便宜的 SM
NTC 通常配上拉电阻,实测电压 = NTC × Vcc / (NTC + R_pull)。NTC 断线 → 上拉电压 ≈ Vcc;短路 → ≈ 0。Range check 在物理温度上做:
| 阈值 | 典型值 | 反应 |
|---|---|---|
| Out-of-rail high(读数 > 200°C) | 立即报 NTC 断线,降功率 | |
| Out-of-rail low(读数 < -50°C) | 立即报 NTC 短路,降功率 | |
| Hard trip(物理可能上限,如 175°C SiC die) | 立刻关 PWM | |
| Soft warning(提前 20°C,如 155°C) | 限功率,DTC counter |
Range 必须做在物理温度上而不是 ADC count——上拉电阻漂移会让 raw count 在 range 内但实际温度超限。
5. 多 NTC 物理冗余 —— 温度链的"KCL"
温度链的物理冗余不是公式约束(没有像 KCL 或 sin²+cos² 那种数学等式),而是多颗 NTC 物理分散布点 + 跨 sensor 偏差。这是温度采样最有效的 SM 之一,不算贵(NTC < ¥1)。
5.1 布点策略
| 布点 | 作用 |
|---|---|
| 模块基板 NTC | 抓模块整体温度 |
| 单颗功率管 ts-pin | 抓单 die 温度(精度高) |
| 散热器靠近模块入水口 | 抓冷却液入口温 |
| 散热器靠近模块出水口 | 抓冷却液出口温(用 Δ 算 ΔP) |
| 控制板 ambient NTC | 抓机舱温度 |
≥ 3 颗 NTC 时,任意两两对比偏差超阈值就报。这覆盖单 NTC 漂、热接触不良(单颗读数明显低于其它颗)、冷却液漏(多颗同时升)。
5.2 偏差阈值设计
工况会让不同 NTC 读数自然差异(模块比基板热、入水口比出水口冷),所以阈值要按工况切:
| 工况 | NTC_module - NTC_baseplate 期望 | 触发偏差 |
|---|---|---|
| 静止冷却 | 0-5°C | > 15°C |
| 满载稳态 | 20-40°C | > 60°C |
| 急加速瞬态 | 0-10°C(基板有滞后) | > 25°C |
6. 热模型双冗余 —— 抓"NTC 没坏但读数不可信"
NTC 装在模块基板,读到的温度 ≠ 实际 die 结温——die 经过芯片 + 焊层 + DBC + 焊层到达基板,中间有 50-100ms 的热时间常数。所以 die 瞬时温度必须靠软件热模型估算(实测损耗 × Z_th 网络积分),和 NTC 读数比较——这是 D.2.4 plausibility 的典型实施。
关键判据:估算 Tj 和 NTC 读数应该有"可预测的稳定 offset + 时间滞后"。如果 offset 发散(NTC 读数不变但 Tj 估算飙升)说明 NTC 失效或热接触退化。Wolfspeed / Infineon 的 module datasheet 给出 R_th(j-c) 和 Z_th 曲线就是给热模型用的。
详见 热安全 §3.2 热模型双冗余。
7. 时间域诊断 —— Frozen + 物理变化率
7.1 Frozen 检测
NTC 长时间不变 + 系统在跑(有大电流) = 必然 fault。和电流/电压链一样用 sample counter + variance 兜。
7.2 物理变化率上限
电机模块的热时间常数 ~ 10-30s,单帧读数跳变 > 30°C 几乎不可能。超过即视为硬故障(NTC 通断瞬间 / ADC 跳变)。
9. 启动时 cold start 自检
冷上电时所有 NTC + 热模型估算应该读到接近的"机舱温"(±5°C)。差异大说明:
- 某颗 NTC 漂或热接触失效
- 上电瞬间还有残温(车刚停下)
- ADC 标定漂
利用这个 cold start 窗口校 offset,记 EEPROM,运行时补偿。这是温度链的"免费 SM 窗口"。
10. FTTI 反应链
温度链的 FTTI 比电流/电压宽得多,因为热时间常数本身大。
| 反应类型 | FTTI | 对应 fault | Safe state |
|---|---|---|---|
| NTC out-of-rail | < 100 ms | 断线/短路 | 降额到安全等级 + DTC |
| Range hard trip(实测 > 限值) | < 100 ms | 真实超温 | 关 PWM 或降功率 |
| 多 NTC 偏差超阈值 | < 1 s | 单点失效 | 限功率 + DTC |
| 热模型偏差累积 | 1-5 s | NTC 漂 / 热接触退化 | 限功率 |
| TR onset 温度阈值(电池 130°C) | 单次触发 | 电池热失控 | 立即切接触器 + Pyro Fuse |
电池热失控是唯一 µs 反应级温度 fault —— 一旦实测 > 阈值,reaction 必须立即(< 100ms),且不可逆。详见 热安全 §5 电池 TR。
11. FMEDA 简化实例
Element: 模块温度采样链(3× NTC + 1× module ts-pin + 双 ADC)
Total FIT = 25
Safety-related FIT = 22
| Fault group | FIT | SM | DC | residual FIT |
|---|---|---|---|---|
| NTC 断线/短路 | 4 | range check | 99% | 0.04 |
| NTC 阻值漂 | 5 | 多 NTC 偏差 + 热模型 | 95% | 0.25 |
| 热接触退化 | 3 | 跨 sensor 偏差 + 启动校 | 90% | 0.3 |
| ts-pin 失效 | 2 | NTC 双冗余 | 95% | 0.1 |
| ADC fault | 4 | ABIST + Vref | 90% | 0.4 |
| Frozen value | 2 | time-monitor | 95% | 0.1 |
| Common cause(冷却液漏) | 2 | 物理分散 + IMD 联合 | 80% | 0.4 |
够 ASIL C,差点到 D。提升办法:加 die 内 ts-pin(每颗 IGBT/SiC 都有自带温度测量)、用更精密 NTC(B 值漂 < 1%)、热模型升 ASIL B。
12. 安全反模式(5 个常见错)
| 反模式 | 表现 | 修法 |
|---|---|---|
| 只信单颗 NTC | NTC 漂 / 热接触松,无人发现 | ≥ 3 颗物理分散 + 跨 sensor 偏差 |
| Range 阈值只盖电气 | "ADC 读数在 0-5V 算 OK",忽略实际温度合理性 | range 必须在物理温度上做,且按工况切 |
| 热模型用错 Z_th | 用 module 整体 Z_th 当 die 模型,瞬态偏差大 | 必须用 die-junction 级 Z_th 网络 |
| Plausibility 不分工况 | 急加速时 NTC 滞后,误报 | 按 standstill / steady / transient 三套阈值 |
| 没做 cold start 校 | NTC offset 漂没补偿,运行时全偏 | 每次冷上电校 offset 存 EEPROM |
13. 与电流/电压/位置采样诊断的对比(四件套全)
| 维度 | 电流 | 电压 | 位置 | 温度 |
|---|---|---|---|---|
| Hazard 范围 | UT/LoT | UT/LoT + HV + 触电 | UT/LoT(quadrant flip 反向) | TR / 烧管 / 起火 |
| 物理冗余 | KCL 三相和 | 接触器/充放电曲线/BMS V_bat | sin²+cos² | 多 NTC 物理分散 |
| FTTI(最快) | 10-50 ms | 100 µs(OVP) | 1 PWM 周期(quadrant) | 100 ms(TR onset 100 µs) |
| 失效模式独特点 | 控制层瞬时 | 多层 hazard | 方向感丢失 | 持续累积 |
| 自检窗口 | 静止 Iph≈0 | pre-charge / discharge | 上电角度连续 | cold start 各 NTC 应一致 |
核心要点
- 温度链最大特点是"持续错才出灾难" —— FTTI 比电流宽 1-2 个数量级,但失效后果不可逆
- 三层冗余:NTC × N(物理分散)+ 模块 ts-pin(单 die 高精度)+ 软件热模型(Z_th 估算 die 温)
- Range check 必须在物理温度上做,不在 ADC raw count;且按工况切阈值
- 热模型双冗余是抓"NTC 没坏但不可信"的核心 SM —— 估算 Tj vs 实测 NTC offset 必须稳定
- 多颗 NTC 偏差是温度链的"KCL" —— 物理分散布点 + 跨 sensor 偏差,DFA 时算共因失效切断证据
- 电池 TR 是唯一 µs 级温度 fault —— 触发后必须立即切接触器 + Pyro,不可逆
- 5 反模式戒除:只信单 NTC / range 在 ADC count / 热模型 Z_th 用错 / plausibility 不分工况 / 没做 cold start 校