HV 电压采样的功能安全诊断(Voltage Sensing Diagnostics)
本质 电压链的核心矛盾和电流不一样——电流错会让控制器算错扭矩,电压错会让整车进入物理危险(HV 失控、电池过充/过放、ASC 误触发、放电没完成就开盖维修)。所以电压采样诊断不仅要保 control loop(modulation depth、过欠压保护)正确,还要兜住 HV 安全 + 维修人员触电 这一类 ASIL C/D Safety Goal。本页和 电流采样诊断 严格并列:因果链 → 26262 依据 → fault model → range / plausibility / time / ABIST / 通道冗余 / 启动自检 → FTTI 反应 → FMEDA → 反模式。
学习目标
读完本页后,你应该能够:
- 区分 Vdc / Vphase / Vaux 三类电压信号各自的 control 用途和 safety 用途
- 说出电压采样链失效如何穿透成 4 类 hazard:HV 过压、ASC 误触发、放电不完成、modulation 错→UT
- 把电压链 fault model 映射到对应 SM,并说出每种 SM 的 DC 区间
- 解释为什么电压链比电流链更需要"隔离侧 + 非隔离侧"双独立冗余
- 设计一条满足 ASIL D 的 Vdc 采样链(含 SM + FTTI + 与 HVIL/IMD/active discharge 协同)
- 区分 ADC plausibility 和系统级 plausibility(Vdc 与接触器状态、与充放电曲线、与 PWM × Vdc)
- 识别电压采样诊断 5 个反模式
1. 因果链——电压错为什么比电流错更可怕
电流错会让控制器算错扭矩,影响在驱动级;电压错会让整车的物理状态进入危险区,影响范围跨控制 + 高压 + 维修三个面。下表对比电流 vs 电压错误的下游影响——电压链的 Hazard 类型更多,所以诊断要求更全面。
| 错误源 | 直接后果 | Hazard | 典型 ASIL |
|---|---|---|---|
| Iq 错(电流采样错) | 错误扭矩输出 | UT / LoT | C ~ D |
| Vdc 实际过高未被检测 | DC 母线电容击穿、SiC over-Vds、电池过充 | HV 失控 / 起火 | C ~ D |
| Vdc 实际过低未被检测 | 中速 ASC 失效(短路电流不收敛)、欠压关栅失败 | HV 危害 + UT | C |
| Vdc 读数虚高(实际正常) | 误判过压触发 ASC,整车失去动力 | LoT 在高速 | B ~ C |
| Vdc 读数虚低(实际正常) | modulation depth 算高 → 过调制 → 电流尖峰 → 炸管 | UT / 起火 | C ~ D |
| Vdc 读数 frozen | 放电后控制器以为还在 HV → 误触发;或维修开盖时实际 HV 仍存在 | 触电 | C ~ D |
| Vphase 估算错(sensorless / dead-time comp) | FOC 闭环抖动、扭矩纹波 | 一般 QM ~ B | |
| Vaux 漂(12V / Vref) | ADC 全链增益错 | 间接 UT | 看场景 |
关键认知:Vdc 错既可能让 control 出问题,也可能让 HV 系统误判"安全"导致维修触电——所以 Vdc 诊断必须同时满足 control loop 时效(µs 级)和 HV 维修流程时效(s 级)两套需求。
2. ISO 26262 与 HV 法规依据
电压采样诊断的依据比电流多一层 —— 除 ISO 26262 外,还要满足 UN R100 / ISO 6469-3 对 HV 残压和绝缘的强制要求。两套依据要分清"管什么"。
| 标准位置 | 内容 | 用途 |
|---|---|---|
| ISO 26262-5 Annex D | range / plausibility / 比较 / BIST 等 SM 与 DC 表 | 同电流采样,FMEDA 套用 |
| ISO 26262-5 §8 + §9 | SPFM / LFM / PMHF | ASIL D ≥ 99% / ≥ 90% / < 10 FIT |
| ISO 26262-11 §5.3 (半导体) | ADC + 隔离器件诊断例 | 隔离运放 + ADC 自检 |
| UN R100 §5.1.4 / ISO 6469-3 | 维修人员触电防护 | 碰撞 / 上电 5 s 内残压 ≤ 60 V(直接电压判据) |
| ISO 6469-3 §6.2 | 绝缘监测、双重绝缘、HVIL | IMD / HVIL 配套要求 |
| UN R100 Annex 8 | 主动放电 + 手动放电流程 | Active discharge 时序+ Vdc 监测 |
电流采样诊断错了一般"只是" UT;电压采样诊断错了可能直接违反 UN R100 强制残压条款——这是不可豁免的法规罚则。
3. 失效模式 vs SM 覆盖矩阵
HV 电压采样链 = HV 分压电阻 → 隔离运放(iso-amp,如 AMC1300 / ACPL-C87B)→ 模拟滤波 → ADC → DSP。由于强制电气隔离,链路比电流采样更复杂,fault model 更多,至少 10 类。
| # | Fault model | 物理原因 | 主要 SM | DC 等级 |
|---|---|---|---|---|
| 1 | 分压电阻断 / 短 | 电阻烧毁、PCB 焊裂、机械振动 | Range check + 启动自检 | High |
| 2 | 隔离运放隔离层击穿 | 老化 / 过压 / 共模冲击 | 双独立 iso-amp 冗余 | High |
| 3 | iso-amp offset / gain 漂 | 温漂、CMTI 退化 | Plausibility + 启动自检 | Medium |
| 4 | iso-amp 输出 stuck | 内部失效、Vcc 失常 | Range + frozen 检测 | Medium |
| 5 | ADC stuck-at / drift | 同电流链 | Range + ADC ABIST | Medium |
| 6 | Vref 漂 | 老化 | Vref monitor + 双 ADC | Medium~High |
| 7 | Frozen value | DMA / trigger 卡 | Time-monitoring | Medium |
| 8 | 共模噪声(PWM 耦合) | iso-amp CMTI 不够 | 滤波 + plausibility | Low~Med |
| 9 | 极性 / 标定错 | 量产装错、EOL 校准漂 | 启动自检 + 接触器闭合时 jump 校验 | Medium |
| 10 | Common cause(一颗 die 全瘫) | iso-amp + ADC 共用 die / 电源 | 双独立通道 + DFA | High |
flowchart LR
HV["HV bus"]
D["divider"]
ISO["iso-amp"]
F["filter"]
ADC["ADC"]
REG["DSP register"]
HV -->|"f1 short/open"| D
D -->|"f2 isolation breakdown"| ISO
ISO -->|"f3 drift / f4 stuck / f8 CMTI"| F
F --> ADC
ADC -->|"f5/f6/f7 ADC fault"| REG
REG -->|"f10 common cause"| BAD["wrong Vdc"]("wrong Vdc".md)
D -.->|"f9 calibration"| BAD
4. Range Check(HV 过欠压门槛)
Range check 在 HV 链有多重门槛——不只是 ADC out-of-rail,还要按 HV 系统的 4 个工作区段切阈值。每个区段的反应也不同。
| 阈值 | 典型值(800 V 系统) | 反应 |
|---|---|---|
| HV out-of-rail(ADC ≈ 0 或 ≈ Vref) | < 5 V 或 > 1000 V | 立即 fail-safe,分压电阻或 iso-amp 断 |
| OVP hard trip | > 920 V | 立刻 ASC + 报 OV DTC |
| OVP warning | > 880 V | 限功率,连续 N 次报 DTC |
| UVP warning | < 600 V | 降功率 |
| UVP hard trip | < 500 V | freewheel + 报 UV DTC |
| Discharge target | < 60 V (UN R100) | 放电完成确认 |
4.1 阈值的依据
OVP 上限不是器件 datasheet 的 Vds_max,而要预留关栅瞬间的 di/dt × ESL 尖峰,所以 trip 通常 ≤ 0.85 × Vds_max。UVP 下限要保证 ASC 短路电流可以建立——低于一定 Vdc 后 ASC 进入"放电不收敛"状态,反而更危险。
4.2 阈值不能只看 ADC count
Range check 必须做在物理电压上(已乘分压比),不要在 ADC raw count 上设。原因:分压比标定漂移会让"raw count 在 range 内但实际电压超限",这个组合最危险。
5. 系统级 Plausibility——Vdc 必须和系统状态自洽
电压链最强的 SM 不是单点检查,而是 Vdc 与系统其它状态的联立约束——这是电压采样诊断比电流采样多出来的一层。
5.1 Vdc vs 接触器状态
接触器是 HV 上下电的物理开关,Vdc 必须跟接触器状态严格对应。任何不一致都是硬故障。
| 接触器状态 | 期望 Vdc | 异常组合 | 含义 |
|---|---|---|---|
| 关 + 已放电 | < 60 V | Vdc > 60 V | 放电失败 / Vdc 读数 frozen |
| 关 + 未放电(刚关) | 缓慢下降至 < 60 V | 不下降 | 放电电路失效或读数 frozen |
| 闭合(pre-charge 后) | ≈ V_battery ± 5% | 偏差大 | 分压标定漂 / iso-amp 增益错 |
| Pre-charge 中 | RC 充电曲线 | 不符曲线 | pre-charge 电阻烧 / Vdc 读数错 |
5.2 Vdc vs 充电 / 放电模型
工程上把"Vdc 与时间的关系"做成期望模型,实测值偏离模型超阈值就报 fault。这是 D.2.4 plausibility 在系统级的应用。
5.3 Vdc vs PWM × duty(重构 Vphase 反推)
在不直接装相电压传感器的设计里,可以用 PWM 占空比 × Vdc 反推三相平均相电压,再和电机方程算出来的反电动势对比——一致说明 Vdc 测得对,不一致说明 Vdc 漂或 PWM 链有问题。这是 ASIL D 主驱常用的"无相电压传感器"plausibility。
5.4 Vdc vs 电池 BMS 报上来的电压
整车 CAN 上 BMS 周期性广播 V_battery,逆变器把自己的 Vdc 和 BMS 的 V_bat 比较——一致说明读数都对,差异大说明至少一方在漂。这是跨 ECU 冗余,DC 很高,但要靠 CAN E2E 保护数据完整性(详见 安全机制目录 §6)。
6. 时间域诊断(Frozen Vdc 是触电直接原因)
Vdc frozen 是电压链最危险的 fault——放电完成后控制器以为还在 HV 不开放维修是浪费时间;反过来 HV 实际还在但读数显示已放电,直接通往维修触电事故。所以 Vdc frozen 检测必须做且 DC 要高。
6.1 三种 Frozen 检测策略
| 方法 | 实现 | 适用 |
|---|---|---|
| Sample counter | ADC 计数 + 慢任务校验 | 必有 |
| Variance window | Vdc 长时间方差 | 注意 standstill 时电池电压真的稳 → 用其它 SM 兜 |
| Active perturbation | 接触器关 + 放电期间 Vdc 必须下降 | 放电流程内置自检 |
| Cross-check 双独立通道 | 主 + 安全两路 ADC 读数偏差监控 | DC ≥ 99% |
6.2 放电流程是免费的 frozen 自检
每次下电触发主动放电,Vdc 必然按 RC 曲线下降到 < 60 V。如果实测不下降或下降曲线异常,说明分压链断、iso-amp 卡死或 ADC 卡死——这是天赐的 active perturbation 自检窗口,必用。
7. ADC 自检 + 隔离运放自检
7.1 ADC 侧
ADC 自检和电流链一致,参考 电流采样诊断 §8:启动 BIST、运行 BIST、Vref 监控、双独立 ADC 比较。FMEDA 直接引 MCU safety manual。
7.2 隔离运放(iso-amp)侧
iso-amp 是电压链特有的关键器件,自检手段:
| SM | 实现 | 覆盖 |
|---|---|---|
| 内置零点 / 满量程参考 | 高级 iso-amp(AMC1311-Q1)输出端有 self-test mode pin,注入已知信号 | 整链增益 / offset |
| CMTI 监控 | iso-amp 自带共模事件计数器 | CMTI 退化 |
| 断线检测 | 输入端弱上拉 / 下拉,断线时输出固定 | 一次侧分压断 |
| 双独立 iso-amp | 两颗不同 vendor / 不同隔离技术(电容 vs 磁) | Common cause 失效 |
7.3 双独立通道是 ASIL D 的硬要求
Vdc 在主驱和 BMS 都至少有两路独立测量是行业事实标准——control 通道 + safety 通道:
- Control 通道:高带宽(100+ kHz),用于 modulation 和过流保护协同
- Safety 通道:中带宽(1~10 kHz),用于 OV/UV 监控、放电完成判定,独立电源 + 独立 ADC + 独立 MCU pin
两路读数偏差超阈值(> 2%)报硬故障。这是 D.2.10.4 input comparison 的典型实施。
8. 启动 / 上下电时序中的诊断
电压链有很多只能在特定时序窗口做的诊断,不能在运行中做。下表把这些窗口整理出来。
| 时序窗口 | 自检项 | 期望 |
|---|---|---|
| 冷上电(接触器全关) | Vdc ≈ 0 ± offset | 分压链 + iso-amp offset 标定 |
| Pre-charge | Vdc 按 RC 曲线上升 | 分压链增益、pre-charge 电路 |
| 接触器主合闸 | Vdc 跳变到 V_battery | 分压标定准确性、跨 ECU 一致性 |
| 稳态运行 | Vdc 缓慢漂移 ≤ 5%/min | iso-amp 增益漂 |
| 接触器主断开 + active discharge | Vdc 按 RC 下降 < 60 V in T | 放电电路 + 分压链 frozen 自检 |
| 接触器全关 + 放电完成 | Vdc < 60 V 维持 | 维修通行证 |
每个窗口都是一次免费 SM——不利用这些窗口就是浪费 DC。
9. 与 HVIL / IMD / Active Discharge 的协同
电压采样不是孤岛——它是 HV 安全闭环里的"传感层",和 HVIL(互锁)、IMD(绝缘监测)、active discharge(主动放电)配合才完整。
| 系统 | 角色 | 与电压采样的关系 |
|---|---|---|
| HVIL | 监测高压连接器是否完整 | HVIL 断 → Vdc 必须立刻 < 60 V,否则触电;用电压采样验证 HVIL 触发后的放电 |
| IMD | 监测 HV+/HV- 对底盘绝缘 | IMD 异常时 Vdc 读数可能受漏电流污染 → plausibility 要联立 |
| Active discharge | 触发后必须 < 5 s 把 Vdc 降到 60 V 以下 | Vdc 是放电完成的唯一判据,没有 Vdc 就没有"安全"信号 |
| Pyro fuse | 物理切断,电池侧仍有电 | 切断后 inverter 侧 Vdc 必须看到下降 |
这层联立约束的本质就是 plausibility 在系统级的极致 —— 详见 HV 安全。
10. FTTI 反应链
电压链有两套不同时效的反应——control loop 内的反应(µs 级)和 HV 系统级反应(s 级)。
| 反应类型 | FTTI | 对应 fault | Safe state |
|---|---|---|---|
| OVP hard trip | < 100 µs(瞬时过压会击穿器件) | Vdc > OVP_trip | 立即关 PWM + ASC(看转速) |
| UVP(control 侧) | < 1 ms | Vdc < UVP_trip | freewheel |
| Vdc plausibility 失效 | < 50 ms | 读数不自洽 | 限功率 + 报 DTC,可能进 limp home |
| Discharge timeout | 5 s(UN R100 强制) | 放电后 Vdc 仍 > 60 V | 拒绝维修信号,报严重故障 |
| Frozen Vdc | < 100 ms | 长时间未更新 | 同 plausibility 失效 |
OVP 反应必须是纯硬件链——单独的 comparator 直接拉 STO,不经 MCU 软件路径,因为软件 ISR 不一定能在 100 µs 内完成。
11. FMEDA 简化实例
下面是一个 ASIL D 主驱 Vdc 采样链的 FMEDA 骨架,演示数字怎么落。
Element: HV Vdc 采样链(HV 分压 + 双 AMC1311 iso-amp + 双 ADC, 一控一保)
Total FIT = 40
其中 safety-related FIT = 38
| Fault group | FIT | SM | DC | residual FIT |
|---|---|---|---|---|
| 分压电阻 short / open | 6 | Range + 启动自检 + plausibility | 99% | 0.06 |
| iso-amp 隔离击穿 | 5 | 双独立 iso-amp + DFA | 99% | 0.05 |
| iso-amp 漂 / stuck | 8 | 双 ch 比较 + plausibility | 99% | 0.08 |
| ADC stuck / drift | 6 | Range + ABIST | 90% | 0.6 |
| Vref drift | 3 | Vref monitor | 95% | 0.15 |
| Frozen value | 4 | Time + 放电期间 active perturbation | 99% | 0.04 |
| 标定 / 极性 | 2 | 启动 + 接触器合闸时跳变校验 | 95% | 0.1 |
| Common cause | 4 | 双独立电源 / 时钟 / die + DFA | 99% | 0.04 |
差点到 ASIL D 99%。提升办法:
- ADC ABIST + 运行 BIST 升到 99%(用 datasheet 数字)
- 加 BMS CAN 上的 V_battery 跨 ECU 比较
- 用 ASIL decomposition (D = B(D)+B(D)),把要求摊到 control 通道和 safety 通道
12. 安全反模式(5 个常见错)
电压采样诊断最常踩的 5 个反模式——这些坑在量产 OBC / 主驱中反复出现,识别它们比堆 SM 更重要。
| 反模式 | 表现 | 修法 |
|---|---|---|
| 只在 ADC raw count 上做 range | 分压标定漂移导致"读数在 range 内但实际过压" | range check 必须在物理电压上做 |
| 双通道共用一颗 iso-amp | 隔离击穿是 common cause,"冗余"形同虚设 | 两颗不同 vendor / 不同技术(电容 + 磁) |
| 依赖单一 Vdc 判定放电完成 | Vdc 读数 frozen 时直接放维修信号 → 触电 | 必须双独立通道一致 + 时间窗口监控 |
| Plausibility 无接触器状态分支 | 接触器关时 Vdc < 60 V 报"UV 故障" | plausibility 要按系统状态机切阈值 |
| OVP 走纯软件路径 | ISR 抖动让 100 µs FTTI 兜不住 | OVP 必须独立硬件 comparator + STO 直拉 |
13. 电流 vs 电压采样诊断对比表
把两条诊断链并排放在一起看,规律就清楚了——电流抓控制层 fault,电压抓控制 + HV + 维修三层 fault。
| 维度 | 电流采样诊断 | 电压采样诊断 |
|---|---|---|
| Hazard 范围 | UT / LoT | UT / LoT + HV 失控 + 触电 |
| 物理冗余 SM | KCL sum-to-zero | 接触器状态 / 充放电曲线 / BMS V_bat 跨 ECU |
| 隔离要求 | 一般非隔离(共地 shunt) | 必须强制隔离 |
| 主要器件 | shunt + CSA + ADC | HV 分压 + iso-amp + ADC |
| 自带的免费 SM 窗口 | 静止时 Iph ≈ 0 校零 | 上电 + pre-charge + 放电三段曲线 |
| FTTI | 10 ~ 50 ms(traction) | 100 µs(OVP 硬反应)~ 5 s(放电完成) |
| 法规约束 | ISO 26262 | + UN R100 / ISO 6469-3 强制残压条款 |
核心要点
- 电压错的危险面比电流大 —— 控制 + HV + 维修三层 hazard,所以诊断更全面
- 依据:ISO 26262 同电流,外加 UN R100 §5.1.4 / ISO 6469-3 强制残压判据
- 系统级 plausibility 是电压链最强 SM —— Vdc 必须和接触器状态、充放电曲线、PWM × duty、BMS V_bat 全部自洽
- Frozen Vdc 是触电直接原因 —— 必须双独立通道 + 放电期间 active perturbation 自检
- 强制电气隔离让链路比电流更复杂,双独立 iso-amp(不同 vendor / 不同技术) 是 ASIL D 标配
- 三段免费 SM 窗口:冷上电 offset 校准、pre-charge 增益验证、active discharge frozen 自检——必用
- OVP 必须硬件路径:100 µs FTTI 软件 ISR 不可靠,独立 comparator + STO 直拉
- 与 HVIL / IMD / active discharge / pyro fuse 联立形成 HV 安全闭环,电压采样是其中"传感层"
- 5 反模式戒除:range 在 raw count 上 / 双通道共用 iso-amp / 单点判放电完成 / plausibility 不分系统状态 / OVP 走软件