3、冗余制动系统架构:线控制动与ASILD的硬核碰撞

各位工程师,咱们今天聊点硬的——冗余制动系统架构。说实话,线控制动(Brake-by-Wire)这个概念在业内已经炒了十几年了,但真正把它做到ASILD级别,并且能过认证的量产项目,一只手数得过来。我2018年参与过一个L3级自动驾驶项目,当时在制动冗余方案上踩了不少坑,今天把这些经验掰开揉碎了讲给你听。

3.1 线控制动系统原理:告别机械连杆

传统制动系统靠的是驾驶员踩踏板,通过真空助力器、制动主缸、液压管路,把力传到轮端。线控制动说白了,就是把中间的机械/液压连接砍掉,换成“电信号-执行器”的闭环。

一个典型的线控制动系统包含这几个核心部件:

  • 制动踏板位移传感器(通常冗余配置,2个或3个)
  • 制动控制单元(BCU)——大脑,处理踏板信号并计算目标制动力
  • 轮端电液执行器(EHA)或机电制动钳(EMB)——手脚,产生实际制动力
  • 电源与通信网络(CAN FD / FlexRay / 以太网)

工作流程很简单:你踩踏板 → 传感器采集位移 → BCU算出每个轮子需要多少制动力 → 通过总线发给执行器 → 执行器加压或夹紧。整个过程在10ms以内完成。

关键点:线控制动没有物理备份通道。一旦BCU挂了、总线断了、或者电源掉了,你连刹车都踩不动。这就是为什么必须做冗余——而且是ASILD级别的冗余。

3.2 ASILD对制动系统的要求:不是闹着玩的

ISO 26262把ASILD定义为最高安全等级,单点故障指标SPFM ≥ 99%,潜伏故障指标LFM ≥ 90%,PMHF < 10 FIT(每10^9小时失效次数)。

对于制动系统,ASILD意味着什么?我直接给你列几个硬性要求:

安全目标 ASILD要求 典型实现方式
非预期制动 避免误触发,单点故障不能导致制动 双通道互锁、信号合理性检查
制动失效 单点故障后仍能提供≥0.6g减速度 冗余通道、降级模式
通信中断 总线故障后制动功能不丢失 独立冗余总线、看门狗
电源丢失 单电源失效后制动可用 双电源、储能电容

嗯,这里要注意——ASILD不是说你做两个通道就完事了。你还要证明这两个通道之间没有共因失效(CCF),比如同一个晶圆出来的芯片、同一批次的电容、同一个PCB板上的走线间距不够……这些我在项目里都吃过亏。

避坑指南:我曾经在一个项目里,两个BCU用了同一家供应商的同一批次MCU。结果FMEA分析发现,如果这批MCU存在隐藏的时钟抖动问题,两个通道会同时失效。最后不得不换了一个不同架构的MCU做第二通道。共因失效的排查,一定要从物料清单开始。

3.3 2oo2架构:双通道同时干活,互相监督

2oo2(Two out of Two)架构,字面意思就是“两个通道都同意,才能执行”。两个BCU同时接收踏板信号,各自计算制动力,然后互相比较。如果结果一致,输出;如果不一致,系统进入安全状态。

我画了一张架构图,你看一眼就明白了:

2oo2冗余制动架构 2oo2 冗余制动架构 制动踏板传感器 BCU 通道A MCU + 电源 + 通信 BCU 通道B MCU + 电源 + 通信 交叉比较 2oo2 表决器 两通道一致才输出 轮端执行器 EHA / EMB 特点:高安全性(可检测单点故障),但任何单点故障都会导致系统降级或停机

2oo2的优点很明显——安全性高。任何一个通道的故障都能被对方检测到,不会出现“带病工作”的情况。但缺点也很致命:可用性低。只要一个通道报错,整个系统就歇菜了。对于制动系统来说,这意味着你踩刹车可能突然没反应(进入安全状态),这在高速上是要命的。

我的建议:2oo2架构更适合“故障可容忍短时间停机”的场景,比如工业机器人。用在制动系统上,必须配合快速故障恢复机制。我记得有个项目把2oo2的故障恢复时间做到了50ms以内,代价是硬件成本翻了一倍。

3.4 1oo2D架构:一个干活,一个盯着,还能自己修

1oo2D(One out of Two with Diagnostics)架构,是我个人比较推崇的方案。它跟2oo2最大的区别是:两个通道不是同时参与控制,而是一个主控、一个热备份。主通道干活,备份通道通过诊断持续监控主通道的健康状态。一旦主通道挂了,备份通道无缝接管。

看这张图,结构更清晰:

1oo2D冗余制动架构 1oo2D 冗余制动架构 制动踏板传感器 BCU 主通道 主动控制 + 自诊断 BCU 备份通道 热备份 + 诊断监控 诊断心跳 / 健康状态 故障切换开关 轮端执行器 EHA / EMB 特点: 1. 主通道故障时,备份通道在10ms内接管,制动不中断 2. 备份通道持续运行诊断,可检测90%以上的潜伏故障 3. 可用性远高于2oo2,适合制动这类“不能停”的系统

1oo2D的核心优势在于高可用性。主通道挂了,备份通道直接顶上,驾驶员几乎感觉不到。而且备份通道不是傻等着,它一直在跑诊断——比如定期给主通道发心跳包、检查主通道的供电电压、监控通信链路的CRC错误率。

你想想看,如果主通道的MCU因为某种原因卡死了,备份通道在5ms内检测不到心跳,立刻接管控制权。整个过程驾驶员可能只是觉得刹车踏板稍微硬了一点点,但制动功能完全不受影响。

3.5 2oo2 vs 1oo2D:一张表说清楚

我直接给你一个对比表,项目选型时对着看就行:

对比维度 2oo2 1oo2D
安全性(SPFM) 高(双通道互检,单点故障可检测) 高(诊断覆盖率高,可达99%以上)
可用性 低(单通道故障即停机) 高(单通道故障可继续运行)
故障恢复时间 需重启或人工干预 <10ms 自动切换
硬件成本 中(两个通道同时工作) 中高(需要诊断电路和切换逻辑)
软件复杂度 低(比较逻辑简单) 高(诊断、切换、同步逻辑复杂)
适用场景 工业安全、可停机系统 汽车制动、线控转向等不允许停机的系统

避坑指南:我曾经在一个项目里选了1oo2D架构,但忽略了“诊断覆盖率的验证”。备份通道虽然一直在跑诊断,但有些故障模式(比如主通道的ADC参考电压缓慢漂移)诊断不出来。结果在HIL测试中,主通道制动力输出偏差了15%,备份通道没检测到,直到实车测试才发现。后来我们在备份通道里增加了“模型参考对比”——备份通道用自己的模型算一个期望制动力,跟主通道的实际输出做比较,偏差超过阈值就报警。这个经验后来成了我们公司的设计规范。

3.6 我的选型建议

如果你现在要做一个ASILD级别的线控制动项目,我个人建议:

  • 优先选1oo2D架构。制动系统不能停,1oo2D的高可用性是刚需。2oo2在制动场景下风险太高——万一高速上单通道故障导致制动丢失,后果不堪设想。
  • 诊断覆盖率要做到99%以上。1oo2D的“D”就是诊断,诊断做不好,1oo2D就退化成1oo1,安全等级直接掉到ASILB。
  • 注意共因失效。两个通道的电源、时钟、通信总线必须物理隔离。我见过一个项目,两个BCU共用同一个12V电源入口,一个电源浪涌两个通道一起挂——这种低级错误在FMEA阶段就应该被干掉。
  • 故障切换时间要实测。不要只看仿真,实际硬件上的切换时间可能因为总线负载、中断优先级等因素变长。我要求我的团队在实车上测切换时间,至少测1000次,取最差情况。

嗯,冗余制动架构这个话题,说起来简单,做起来全是细节。2oo2和1oo2D没有绝对的好坏,关键看你的系统对“安全性”和“可用性”的权重分配。但记住一点——制动系统是安全件,任何时候都不能让驾驶员失去制动力。这是底线。